SAP ISH_READ_SERVICES_RANGES Function Module for IS-H: Services are read from DB by means of interface parameters
ISH_READ_SERVICES_RANGES is a standard ish read services ranges SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for IS-H: Services are read from DB by means of interface parameters 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 ish read services ranges FM, simply by entering the name ISH_READ_SERVICES_RANGES into the relevant SAP transaction such as SE37 or SE38.
Function Group: N013
Program Name: SAPLN013
Main Program: SAPLN013
Appliation area: N
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function ISH_READ_SERVICES_RANGES 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 'ISH_READ_SERVICES_RANGES'"IS-H: Services are read from DB by means of interface parameters.
EXPORTING
* ABRKZ = 'X' "Select billable services
* PLAN = 'X' "Select services with status 'Planned'
* READ_ALL = 'X' "All services for case are read and buffered ->
* STORN = ' ' "Select cancelled services
* ZEITP = 'X' "Select immediate services
* ZEITR = 'X' "Select extended services
EINRI = "Only select services of institution EINRI
FALNR = "Only select services of case FALNR
FALNR_EXIST = "Case exists on DB on/off
* IST = 'X' "Select services with status 'Actual'
* LNRLS = ' ' "Only select service of LNRLS
* NOT_ABRKZ = ' ' "Select non-billable services
* NOT_STORN = 'X' "Select non-cancelled services
PATNR_EXIST = "Patient aleady exists on DB on/off
TABLES
BEGDT = "Only select services as of BEGDT
ENDDT = "Only select services to ENDDT
E_NLEI = "Table contains all selected services
EXCEPTIONS
WRONG_FALNR = 1 WRONG_LNRLS = 2
IMPORTING Parameters details for ISH_READ_SERVICES_RANGES
ABRKZ - Select billable services
Data type: RNLE1-MARKDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
PLAN - Select services with status 'Planned'
Data type: RNLE1-MARKDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
READ_ALL - All services for case are read and buffered ->
Data type: RNLE1-MARKDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
STORN - Select cancelled services
Data type: RNLE1-MARKDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
ZEITP - Select immediate services
Data type: RNLE1-MARKDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
ZEITR - Select extended services
Data type: RNLE1-MARKDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
EINRI - Only select services of institution EINRI
Data type: TN01-EINRIOptional: No
Call by Reference: No ( called with pass by value option)
FALNR - Only select services of case FALNR
Data type: NFAL-FALNROptional: No
Call by Reference: No ( called with pass by value option)
FALNR_EXIST - Case exists on DB on/off
Data type: RNLE1-MARKOptional: No
Call by Reference: No ( called with pass by value option)
IST - Select services with status 'Actual'
Data type: RNLE1-MARKDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
LNRLS - Only select service of LNRLS
Data type: NLEI-LNRLSDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
NOT_ABRKZ - Select non-billable services
Data type: RNLE1-MARKDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
NOT_STORN - Select non-cancelled services
Data type: RNLE1-MARKDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
PATNR_EXIST - Patient aleady exists on DB on/off
Data type: RNLE1-MARKOptional: No
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for ISH_READ_SERVICES_RANGES
BEGDT - Only select services as of BEGDT
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
ENDDT - Only select services to ENDDT
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
E_NLEI - Table contains all selected services
Data type: NLEIOptional: No
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
WRONG_FALNR - Case number not found in NFAL
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
WRONG_LNRLS - Seq. no. service not found in NLEI
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for ISH_READ_SERVICES_RANGES 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: | ||||
| lv_abrkz | TYPE RNLE1-MARK, " 'X' | |||
| lt_begdt | TYPE STANDARD TABLE OF RNLE1, " | |||
| lv_wrong_falnr | TYPE RNLE1, " | |||
| lv_plan | TYPE RNLE1-MARK, " 'X' | |||
| lv_read_all | TYPE RNLE1-MARK, " 'X' | |||
| lv_storn | TYPE RNLE1-MARK, " SPACE | |||
| lv_zeitp | TYPE RNLE1-MARK, " 'X' | |||
| lv_zeitr | TYPE RNLE1-MARK, " 'X' | |||
| lv_einri | TYPE TN01-EINRI, " | |||
| lt_enddt | TYPE STANDARD TABLE OF TN01, " | |||
| lv_wrong_lnrls | TYPE TN01, " | |||
| lv_falnr | TYPE NFAL-FALNR, " | |||
| lt_e_nlei | TYPE STANDARD TABLE OF NLEI, " | |||
| lv_falnr_exist | TYPE RNLE1-MARK, " | |||
| lv_ist | TYPE RNLE1-MARK, " 'X' | |||
| lv_lnrls | TYPE NLEI-LNRLS, " SPACE | |||
| lv_not_abrkz | TYPE RNLE1-MARK, " SPACE | |||
| lv_not_storn | TYPE RNLE1-MARK, " 'X' | |||
| lv_patnr_exist | TYPE RNLE1-MARK. " |
|   CALL FUNCTION 'ISH_READ_SERVICES_RANGES' "IS-H: Services are read from DB by means of interface parameters |
| EXPORTING | ||
| ABRKZ | = lv_abrkz | |
| PLAN | = lv_plan | |
| READ_ALL | = lv_read_all | |
| STORN | = lv_storn | |
| ZEITP | = lv_zeitp | |
| ZEITR | = lv_zeitr | |
| EINRI | = lv_einri | |
| FALNR | = lv_falnr | |
| FALNR_EXIST | = lv_falnr_exist | |
| IST | = lv_ist | |
| LNRLS | = lv_lnrls | |
| NOT_ABRKZ | = lv_not_abrkz | |
| NOT_STORN | = lv_not_storn | |
| PATNR_EXIST | = lv_patnr_exist | |
| TABLES | ||
| BEGDT | = lt_begdt | |
| ENDDT | = lt_enddt | |
| E_NLEI | = lt_e_nlei | |
| EXCEPTIONS | ||
| WRONG_FALNR = 1 | ||
| WRONG_LNRLS = 2 | ||
| . " ISH_READ_SERVICES_RANGES | ||
ABAP code using 7.40 inline data declarations to call FM ISH_READ_SERVICES_RANGES
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.| "SELECT single MARK FROM RNLE1 INTO @DATA(ld_abrkz). | ||||
| DATA(ld_abrkz) | = 'X'. | |||
| "SELECT single MARK FROM RNLE1 INTO @DATA(ld_plan). | ||||
| DATA(ld_plan) | = 'X'. | |||
| "SELECT single MARK FROM RNLE1 INTO @DATA(ld_read_all). | ||||
| DATA(ld_read_all) | = 'X'. | |||
| "SELECT single MARK FROM RNLE1 INTO @DATA(ld_storn). | ||||
| DATA(ld_storn) | = ' '. | |||
| "SELECT single MARK FROM RNLE1 INTO @DATA(ld_zeitp). | ||||
| DATA(ld_zeitp) | = 'X'. | |||
| "SELECT single MARK FROM RNLE1 INTO @DATA(ld_zeitr). | ||||
| DATA(ld_zeitr) | = 'X'. | |||
| "SELECT single EINRI FROM TN01 INTO @DATA(ld_einri). | ||||
| "SELECT single FALNR FROM NFAL INTO @DATA(ld_falnr). | ||||
| "SELECT single MARK FROM RNLE1 INTO @DATA(ld_falnr_exist). | ||||
| "SELECT single MARK FROM RNLE1 INTO @DATA(ld_ist). | ||||
| DATA(ld_ist) | = 'X'. | |||
| "SELECT single LNRLS FROM NLEI INTO @DATA(ld_lnrls). | ||||
| DATA(ld_lnrls) | = ' '. | |||
| "SELECT single MARK FROM RNLE1 INTO @DATA(ld_not_abrkz). | ||||
| DATA(ld_not_abrkz) | = ' '. | |||
| "SELECT single MARK FROM RNLE1 INTO @DATA(ld_not_storn). | ||||
| DATA(ld_not_storn) | = 'X'. | |||
| "SELECT single MARK FROM RNLE1 INTO @DATA(ld_patnr_exist). | ||||
Search for further information about these or an SAP related objects