SAP ISM_SD_API_SELECT_RETURN Function Module for Select Return
ISM_SD_API_SELECT_RETURN is a standard ism sd api select return SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Select Return processing and below is the pattern details for this FM, showing its interface including any import and export parameters, exceptions etc. there is also a full "cut and paste" ABAP pattern code example, along with implementation ABAP coding, documentation and contribution comments specific to this or related objects.
See here to view full function module documentation and code listing for ism sd api select return FM, simply by entering the name ISM_SD_API_SELECT_RETURN into the relevant SAP transaction such as SE37 or SE38.
Function Group: JKSDRETURNAPI
Program Name: SAPLJKSDRETURNAPI
Main Program: SAPLJKSDRETURNAPI
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function ISM_SD_API_SELECT_RETURN pattern details
In-order to call this FM within your sap programs, simply using the below ABAP pattern details to trigger the function call...or see the full ABAP code listing at the end of this article. You can simply cut and paste this code into your ABAP progrom as it is, including variable declarations.CALL FUNCTION 'ISM_SD_API_SELECT_RETURN'"Select Return.
EXPORTING
* EVKSTART = "
* VBELN = "
* UNSOLDNUMBER = "
* RECALLNUMBER = "IS-M: Range Table for RECALLNUMBER
* UNSOLDTYPENEW = "
* UNSOLDDATE = "
* ERFUSER = "
* ERFDATE = "
* ERFTIME = "Range Table for ERFTIME
* AENUSER = "
* AENDATE = "
* EVKSTBEZ = "
* AENDTIME = "Range Table for AENTIME
* ORDERREASON = "Range Table for AUGRU
* WERKS = "Range Table for Plants
* ROUTE = "
* STATUS = "
* ISSUE = "
* PRODUCT = "Range Table for Media Products
* FAMILY = "
* COPYNUMBER = "
* PUBLDATE = "
* IUMSEINFL = "
* EAN11 = "Range Table for European Article Number
* PERRULE = "
* COLLECTDATE = "IS-M: Range Table for Recall Date
* UNSOLDDATEITEM = "Item Notification Date
* TIMESELECTION = "Return Selection Criteria Period
* READ_COMMENT = "
* READ_ALL_ITEMS = "
* VKORG = "
* VTWEG = "
* SPART = "
* VKBUR = "
* VKGRP = "
* GPNR = "
IMPORTING
ET_HEAD = "Header Data
ET_ITEM = "Item Data
ET_COMMENT = "Comment
TABLES
* RETURN = "Return Parameter(s)
* MSTAV = "IS-M: Range Type for Cross-Distribution Chain Status
* VMSTA = "IS-M: Range Type for Cross-Distribution Chain Status
* MSTAE = "IS-M: Range Type for Cross-Plant Status
* MMSTA = "IS-M: Range Type for Plant-Specific Status
EXCEPTIONS
NOT_FOUND = 1
IMPORTING Parameters details for ISM_SD_API_SELECT_RETURN
EVKSTART -
Data type: RJKSD_EVKSTART_RANGE_TABOptional: Yes
Call by Reference: Yes
VBELN -
Data type: RJKSD_VBELN_RANGE_TABOptional: Yes
Call by Reference: Yes
UNSOLDNUMBER -
Data type: RJKSD_UNSOLDNUMBER_RANGE_TABOptional: Yes
Call by Reference: Yes
RECALLNUMBER - IS-M: Range Table for RECALLNUMBER
Data type: RJKSD_RECALLNUMBER_RANGE_TABOptional: Yes
Call by Reference: Yes
UNSOLDTYPENEW -
Data type: RJKSD_UNSOLDTYPE_RANGE_TABOptional: Yes
Call by Reference: Yes
UNSOLDDATE -
Data type: RJKSD_UNSOLDDATE_RANGE_TABOptional: Yes
Call by Reference: Yes
ERFUSER -
Data type: RJKSD_ERFUSER_RANGE_TABOptional: Yes
Call by Reference: Yes
ERFDATE -
Data type: RJKSD_ERFDATE_RANGE_TABOptional: Yes
Call by Reference: Yes
ERFTIME - Range Table for ERFTIME
Data type: RJKSD_ERFTIME_RANGE_TABOptional: Yes
Call by Reference: Yes
AENUSER -
Data type: RJKSD_AENUSER_RANGE_TABOptional: Yes
Call by Reference: Yes
AENDATE -
Data type: RJKSD_AENDATE_RANGE_TABOptional: Yes
Call by Reference: Yes
EVKSTBEZ -
Data type: RJKSD_EVKSTBEZ_RANGE_TABOptional: Yes
Call by Reference: Yes
AENDTIME - Range Table for AENTIME
Data type: RJKSD_AENTIME_RANGE_TABOptional: Yes
Call by Reference: Yes
ORDERREASON - Range Table for AUGRU
Data type: RJKSD_AUGRU_RANGE_TABOptional: Yes
Call by Reference: Yes
WERKS - Range Table for Plants
Data type: RJKSD_WERKS_RANGE_TABOptional: Yes
Call by Reference: Yes
ROUTE -
Data type: RJKSD_ROUTE_RANGE_TABOptional: Yes
Call by Reference: Yes
STATUS -
Data type: RJKSD_RETURNSTATE_RANGE_TABOptional: Yes
Call by Reference: Yes
ISSUE -
Data type: RJKSD_ISSUE_RANGE_TABOptional: Yes
Call by Reference: Yes
PRODUCT - Range Table for Media Products
Data type: RJKSD_PRODUCT_RANGE_TABOptional: Yes
Call by Reference: Yes
FAMILY -
Data type: RJKSD_FAMILY_RANGE_TABOptional: Yes
Call by Reference: Yes
COPYNUMBER -
Data type: RJKSD_COPYNUMBER_RANGE_TABOptional: Yes
Call by Reference: Yes
PUBLDATE -
Data type: RJKSD_PUBLDATE_RANGE_TABOptional: Yes
Call by Reference: Yes
IUMSEINFL -
Data type: RJKSD_IUMSEINFL_RANGE_TABOptional: Yes
Call by Reference: Yes
EAN11 - Range Table for European Article Number
Data type: RJKSD_EAN11_RANGE_TABOptional: Yes
Call by Reference: Yes
PERRULE -
Data type: RJKSD_ISMPERREGEL_RANGE_TABOptional: Yes
Call by Reference: Yes
COLLECTDATE - IS-M: Range Table for Recall Date
Data type: RJKSD_COLLECTDATE_RANGE_TABOptional: Yes
Call by Reference: Yes
UNSOLDDATEITEM - Item Notification Date
Data type: RJKSD_UNSOLDDATE_RANGE_TABOptional: Yes
Call by Reference: Yes
TIMESELECTION - Return Selection Criteria Period
Data type: RJKSDRETURNTIMESEL2Optional: Yes
Call by Reference: Yes
READ_COMMENT -
Data type: XFELDOptional: Yes
Call by Reference: Yes
READ_ALL_ITEMS -
Data type: XFELDOptional: Yes
Call by Reference: Yes
VKORG -
Data type: RJKSD_VKORG_RANGE_TABOptional: Yes
Call by Reference: Yes
VTWEG -
Data type: RJKSD_VTWEG_RANGE_TABOptional: Yes
Call by Reference: Yes
SPART -
Data type: RJKSD_SPART_RANGE_TABOptional: Yes
Call by Reference: Yes
VKBUR -
Data type: RJKSD_VKBUR_RANGE_TABOptional: Yes
Call by Reference: Yes
VKGRP -
Data type: RJKSD_VKGRP_RANGE_TABOptional: Yes
Call by Reference: Yes
GPNR -
Data type: RJKSD_UNSOLDGPNR_RANGE_TABOptional: Yes
Call by Reference: Yes
EXPORTING Parameters details for ISM_SD_API_SELECT_RETURN
ET_HEAD - Header Data
Data type: JKSDUNSOLD_TABOptional: No
Call by Reference: Yes
ET_ITEM - Item Data
Data type: JKSDUNSOLDITEM_TABOptional: No
Call by Reference: Yes
ET_COMMENT - Comment
Data type: JKSDUNSOLDCOM_TABOptional: No
Call by Reference: Yes
TABLES Parameters details for ISM_SD_API_SELECT_RETURN
RETURN - Return Parameter(s)
Data type: BAPIRET2Optional: Yes
Call by Reference: Yes
MSTAV - IS-M: Range Type for Cross-Distribution Chain Status
Data type: RJKSD_MSTAV_RANGEOptional: Yes
Call by Reference: Yes
VMSTA - IS-M: Range Type for Cross-Distribution Chain Status
Data type: RJKSD_VMSTA_RANGEOptional: Yes
Call by Reference: Yes
MSTAE - IS-M: Range Type for Cross-Plant Status
Data type: RJKSD_MSTAE_RANGEOptional: Yes
Call by Reference: Yes
MMSTA - IS-M: Range Type for Plant-Specific Status
Data type: RJKSD_MMSTA_RANGEOptional: Yes
Call by Reference: Yes
EXCEPTIONS details
NOT_FOUND - No Data Found
Data type:Optional: No
Call by Reference: Yes
Copy and paste ABAP code example for ISM_SD_API_SELECT_RETURN Function Module
The ABAP code below is a full code listing to execute function module POPUP_TO_CONFIRM including all data declarations. The code uses the original data declarations rather than the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the newer method of declaring data variables on the fly. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8), which i why i have stuck to the origianl for this example.| DATA: | ||||
| lt_return | TYPE STANDARD TABLE OF BAPIRET2, " | |||
| lv_et_head | TYPE JKSDUNSOLD_TAB, " | |||
| lv_evkstart | TYPE RJKSD_EVKSTART_RANGE_TAB, " | |||
| lv_not_found | TYPE RJKSD_EVKSTART_RANGE_TAB, " | |||
| lv_vbeln | TYPE RJKSD_VBELN_RANGE_TAB, " | |||
| lv_unsoldnumber | TYPE RJKSD_UNSOLDNUMBER_RANGE_TAB, " | |||
| lv_recallnumber | TYPE RJKSD_RECALLNUMBER_RANGE_TAB, " | |||
| lv_unsoldtypenew | TYPE RJKSD_UNSOLDTYPE_RANGE_TAB, " | |||
| lv_unsolddate | TYPE RJKSD_UNSOLDDATE_RANGE_TAB, " | |||
| lv_erfuser | TYPE RJKSD_ERFUSER_RANGE_TAB, " | |||
| lv_erfdate | TYPE RJKSD_ERFDATE_RANGE_TAB, " | |||
| lv_erftime | TYPE RJKSD_ERFTIME_RANGE_TAB, " | |||
| lv_aenuser | TYPE RJKSD_AENUSER_RANGE_TAB, " | |||
| lv_aendate | TYPE RJKSD_AENDATE_RANGE_TAB, " | |||
| lt_mstav | TYPE STANDARD TABLE OF RJKSD_MSTAV_RANGE, " | |||
| lv_et_item | TYPE JKSDUNSOLDITEM_TAB, " | |||
| lv_evkstbez | TYPE RJKSD_EVKSTBEZ_RANGE_TAB, " | |||
| lv_aendtime | TYPE RJKSD_AENTIME_RANGE_TAB, " | |||
| lv_orderreason | TYPE RJKSD_AUGRU_RANGE_TAB, " | |||
| lv_werks | TYPE RJKSD_WERKS_RANGE_TAB, " | |||
| lv_route | TYPE RJKSD_ROUTE_RANGE_TAB, " | |||
| lv_status | TYPE RJKSD_RETURNSTATE_RANGE_TAB, " | |||
| lv_issue | TYPE RJKSD_ISSUE_RANGE_TAB, " | |||
| lv_product | TYPE RJKSD_PRODUCT_RANGE_TAB, " | |||
| lv_family | TYPE RJKSD_FAMILY_RANGE_TAB, " | |||
| lv_copynumber | TYPE RJKSD_COPYNUMBER_RANGE_TAB, " | |||
| lv_publdate | TYPE RJKSD_PUBLDATE_RANGE_TAB, " | |||
| lt_vmsta | TYPE STANDARD TABLE OF RJKSD_VMSTA_RANGE, " | |||
| lv_iumseinfl | TYPE RJKSD_IUMSEINFL_RANGE_TAB, " | |||
| lv_et_comment | TYPE JKSDUNSOLDCOM_TAB, " | |||
| lv_ean11 | TYPE RJKSD_EAN11_RANGE_TAB, " | |||
| lv_perrule | TYPE RJKSD_ISMPERREGEL_RANGE_TAB, " | |||
| lv_collectdate | TYPE RJKSD_COLLECTDATE_RANGE_TAB, " | |||
| lv_unsolddateitem | TYPE RJKSD_UNSOLDDATE_RANGE_TAB, " | |||
| lv_timeselection | TYPE RJKSDRETURNTIMESEL2, " | |||
| lv_read_comment | TYPE XFELD, " | |||
| lv_read_all_items | TYPE XFELD, " | |||
| lt_mstae | TYPE STANDARD TABLE OF RJKSD_MSTAE_RANGE, " | |||
| lv_vkorg | TYPE RJKSD_VKORG_RANGE_TAB, " | |||
| lt_mmsta | TYPE STANDARD TABLE OF RJKSD_MMSTA_RANGE, " | |||
| lv_vtweg | TYPE RJKSD_VTWEG_RANGE_TAB, " | |||
| lv_spart | TYPE RJKSD_SPART_RANGE_TAB, " | |||
| lv_vkbur | TYPE RJKSD_VKBUR_RANGE_TAB, " | |||
| lv_vkgrp | TYPE RJKSD_VKGRP_RANGE_TAB, " | |||
| lv_gpnr | TYPE RJKSD_UNSOLDGPNR_RANGE_TAB. " |
|   CALL FUNCTION 'ISM_SD_API_SELECT_RETURN' "Select Return |
| EXPORTING | ||
| EVKSTART | = lv_evkstart | |
| VBELN | = lv_vbeln | |
| UNSOLDNUMBER | = lv_unsoldnumber | |
| RECALLNUMBER | = lv_recallnumber | |
| UNSOLDTYPENEW | = lv_unsoldtypenew | |
| UNSOLDDATE | = lv_unsolddate | |
| ERFUSER | = lv_erfuser | |
| ERFDATE | = lv_erfdate | |
| ERFTIME | = lv_erftime | |
| AENUSER | = lv_aenuser | |
| AENDATE | = lv_aendate | |
| EVKSTBEZ | = lv_evkstbez | |
| AENDTIME | = lv_aendtime | |
| ORDERREASON | = lv_orderreason | |
| WERKS | = lv_werks | |
| ROUTE | = lv_route | |
| STATUS | = lv_status | |
| ISSUE | = lv_issue | |
| PRODUCT | = lv_product | |
| FAMILY | = lv_family | |
| COPYNUMBER | = lv_copynumber | |
| PUBLDATE | = lv_publdate | |
| IUMSEINFL | = lv_iumseinfl | |
| EAN11 | = lv_ean11 | |
| PERRULE | = lv_perrule | |
| COLLECTDATE | = lv_collectdate | |
| UNSOLDDATEITEM | = lv_unsolddateitem | |
| TIMESELECTION | = lv_timeselection | |
| READ_COMMENT | = lv_read_comment | |
| READ_ALL_ITEMS | = lv_read_all_items | |
| VKORG | = lv_vkorg | |
| VTWEG | = lv_vtweg | |
| SPART | = lv_spart | |
| VKBUR | = lv_vkbur | |
| VKGRP | = lv_vkgrp | |
| GPNR | = lv_gpnr | |
| IMPORTING | ||
| ET_HEAD | = lv_et_head | |
| ET_ITEM | = lv_et_item | |
| ET_COMMENT | = lv_et_comment | |
| TABLES | ||
| RETURN | = lt_return | |
| MSTAV | = lt_mstav | |
| VMSTA | = lt_vmsta | |
| MSTAE | = lt_mstae | |
| MMSTA | = lt_mmsta | |
| EXCEPTIONS | ||
| NOT_FOUND = 1 | ||
| . " ISM_SD_API_SELECT_RETURN | ||
ABAP code using 7.40 inline data declarations to call FM ISM_SD_API_SELECT_RETURN
The below ABAP code uses the newer in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. Please note some of the newer syntax below, such as the @DATA is not available until 4.70 EHP 8.Search for further information about these or an SAP related objects