SAP C1F2_SUBSTANCES_READ Function Module for NOTRANSL: EHS: Lesen von Spezifikationsdaten (ohne Berücks. der Referenzie
C1F2_SUBSTANCES_READ is a standard c1f2 substances read SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for NOTRANSL: EHS: Lesen von Spezifikationsdaten (ohne Berücks. der Referenzie 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 c1f2 substances read FM, simply by entering the name C1F2_SUBSTANCES_READ into the relevant SAP transaction such as SE37 or SE38.
Function Group: C1F2
Program Name: SAPLC1F2
Main Program: SAPLC1F2
Appliation area: M
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:
Function C1F2_SUBSTANCES_READ 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 'C1F2_SUBSTANCES_READ'"NOTRANSL: EHS: Lesen von Spezifikationsdaten (ohne Berücks. der Referenzie.
EXPORTING
I_SCENARIO = "Lock scenario for reading specifications
* I_FLG_REFSUBS = ESP1_FALSE "Indicator: Read reference specifications
* I_FLG_IDENT = ESP1_FALSE "Indicator: Read identifiers
* I_FLG_IDENT_SUBLIST = ESP1_TRUE "Indicator (only for I_FLG_IDENT = 'X') Substance lists
* I_FLG_IDENT_LONGTEXT = ESP1_FALSE "Indicator: Read identifier long text
* I_FLG_IDENT_USAGE = ESP1_FALSE "Indicator: Read identifier usages
* I_FLG_MATJOIN = ESP1_FALSE "Indicator: Read material assignment
* I_FLG_STATUS_ALLOCS = ESP1_FALSE "Indicator: Read status assignments
* I_FLG_TPLREL = ESP1_FALSE "Indicator: Read inheritance relationships
* I_FLG_APPLSCP = ESP1_FALSE "
* I_FLG_PROPERTIES = ESP1_FALSE "Indicator: Read authorizations
I_ADDINF = "Additional information on object
* I_FLG_PROP_DATA = ESP1_FALSE "Indicator: Read all value assignment data
* I_FLG_PROP_CHAR_DATA = ESP1_FALSE "Indicator: Read characteristic values
* I_FLG_PROP_DETAILS = ESP1_FALSE "Indicator: Read all value assignment details
* I_FLG_PROP_COMP = ESP1_FALSE "Indicator: Read components
* I_FLG_PROP_USAGE = ESP1_FALSE "Indicator: Read usages
* I_FLG_PROP_REL = ESP1_FALSE "Indicator: Read assessments
* I_FLG_PROP_SOURCE = ESP1_FALSE "Indicator: Read sources
* I_FLG_PROP_FTEXT = ESP1_FALSE "Indicator: Read user-defined texts
* I_FLG_PROP_FTEXT_LONGTEXT = ESP1_FALSE "Indicator: Read value assignment long text
* I_FLG_PROP_TAB07 = ESP1_FALSE "Indicator: Read transport approvals
* I_VALFR = "Lower Time Interval Limit
* I_FLG_PROP_TAB0B = ESP1_FALSE "Indicator: Read packaging code approvals
* I_FLG_PROP_TAB0D = ESP1_FALSE "Indicator: Read risk classifications
* I_FLG_PROP_TAB0F = ESP1_FALSE "Indicator: Read transport classifications
* I_FLG_PROP_PACK = ESP1_FALSE "
* I_FLG_PROP_SPROV = ESP1_FALSE "
* I_FLG_PROP_CARR = ESP1_FALSE "
* I_FLG_SORT_PROP_DATA = ESP1_FALSE "Indicator: Read sorted value assignment data
* I_FLG_READ_ALL_CHARACT = ESP1_FALSE "Indicator: Return all characteristics (including empty ones)
* I_FLG_PROP_CHECK_AUTH_BY_USAGE = ESP1_FALSE "Indicator: Check authorization for value assignments
* I_FLG_USG_AND = ESP1_TRUE "Indicator: Usage search with 'and' or 'or'
* I_VALTO = "Upper Time Interval Limit
* I_FLG_NO_AUTH_CHECK = ESP1_FALSE "Indicator: Switch off authorization checks
* I_FLG_VAL_CHECK_BY_STATUS = ESP1_FALSE "Indicator check: status allows value assignment editing
* I_FLG_DANG_GOOD_DATA = ESP1_FALSE "Indicator: Read detail data for the UN listed substances
* I_FLG_SHOW_LOCAL_INH_REC = ESP1_FALSE "Indicator: Read local data for inheritance
* I_FLG_GET_NUM_VALS_FOR_LANGUS = ESP1_FALSE "
* I_USAGECHECK = ' ' "
* I_FLG_SKIP_AUTH_ERRORS = ESP1_FALSE "
* I_FLG_WITH_INH_DATA = ESP1_TRUE "
* I_SCENARIO_CALLBACK_FUNC = "
* I_FLG_KEY_DATE_SWITCH_ONLY = ESP1_FALSE "Indicator: Change key date and change number only
* I_FLG_RETURN_WHOLE_INTERVAL = ESP1_FALSE "Indicator: Read the entire time interval
* I_LSADM = "Language support parameters
* I_FLG_HEADER = ESP1_FALSE "Indicator: Read specification header
* I_FLG_HEADER_USAGE = ESP1_FALSE "Indicator: Read restrictions
IMPORTING
E_FLG_LOCKFAIL = "Lock on at least one record failed indicator
E_FLG_ERROR = "Error reading a record indicator
E_FLG_WARNING = "Warning reading a record indicator
CHANGING
* X_FURTHER_PARAMS = "
TABLES
X_API_HEADER_TAB = "Specification header data
* X_API_PROP_HEADER_TAB = "Data for the requested property headers
* X_API_PROP_TAB = "Data for the requested properties
* E_API_PROP_DATA_TAB = "Data for the requested properties (AUSP data)
* E_API_PROP_DATA_LANGU_TAB = "
* E_API_PROP_COMPONENT_TAB = "Data for the requested components
* X_API_PROP_USAGE_TAB = "Data for the requested usage
* E_API_PROP_RELIABILITY_TAB = "Data for the requested assessment
* E_API_PROP_SOURCE_TAB = "Data for the requested sources
* X_API_PROP_FTEXT_TAB = "Data for the requested user-defined texts
* E_API_PROP_FTEXT_LONGTEXT_TAB = "Data for the requested user-defined text long texts
* E_API_REFSUBS_TAB = "Data of Requested Reference Specifications
* E_API_PROP_TAB07_TAB = "Data for the requested transport approval (DG)
* E_API_PROP_TAB0B_TAB = "Data for the requested packaging code approval (DG)
* E_API_PROP_TAB0D_TAB = "Data for the requested risk classification (DG)
* E_API_PROP_TAB0F_TAB = "Data for the requested transport classification (DG)
* E_API_PROP_PACK_TAB = "
* E_API_PROP_SPROV_TAB = "
* E_API_PROP_CARR_TAB = "
* I_LANGU_TAB = "Language table
* X_API_IDENT_TAB = "Data of Requested Identifiers
* E_API_IDENT_LONGTEXT_TAB = "Data of Requested Identifier Long Texts
* E_API_IDENT_SUBLIST_TAB = "Data of Required Ident. Specification List Assignment
* E_API_MATJOIN_TAB = "Data of Requested Material Assignments
* E_API_STATUS_TAB = "Data for the requested status assignments
* E_API_TPLREL_TAB = "Data of Requested Inheritance Relationships
* E_API_APPLSCP_TAB = "Data of Requested Scopes of Application
EXCEPTIONS
NO_OBJECT_SPECIFIED = 1 PARAMETER_ERROR = 2 INTERNAL_ERROR = 3 CONVMODE_SET_FAILED = 4 KEYDATE_OR_CHANGENUMBER_ERROR = 5 INTERVAL_ACCESS_ERROR = 6
Customer Function user exits
Below is a list of CUSTOMER FUNCTION exit user exits that are available within this program and maybe relevant for this FM.EXIT_SAPLC1F2_001 EHS: Saving Additional Data in the Database
IMPORTING Parameters details for C1F2_SUBSTANCES_READ
I_SCENARIO - Lock scenario for reading specifications
Data type: ESPAP_SCENARIO_TYPEOptional: No
Call by Reference: No ( called with pass by value option)
I_FLG_REFSUBS - Indicator: Read reference specifications
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_IDENT - Indicator: Read identifiers
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_IDENT_SUBLIST - Indicator (only for I_FLG_IDENT = 'X') Substance lists
Data type: ESP1_BOOLEANDefault: ESP1_TRUE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_IDENT_LONGTEXT - Indicator: Read identifier long text
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_IDENT_USAGE - Indicator: Read identifier usages
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_MATJOIN - Indicator: Read material assignment
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_STATUS_ALLOCS - Indicator: Read status assignments
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_TPLREL - Indicator: Read inheritance relationships
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_APPLSCP -
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_PROPERTIES - Indicator: Read authorizations
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_ADDINF - Additional information on object
Data type: RCGADDINFOptional: No
Call by Reference: No ( called with pass by value option)
I_FLG_PROP_DATA - Indicator: Read all value assignment data
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_PROP_CHAR_DATA - Indicator: Read characteristic values
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_PROP_DETAILS - Indicator: Read all value assignment details
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_PROP_COMP - Indicator: Read components
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_PROP_USAGE - Indicator: Read usages
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_PROP_REL - Indicator: Read assessments
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_PROP_SOURCE - Indicator: Read sources
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_PROP_FTEXT - Indicator: Read user-defined texts
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_PROP_FTEXT_LONGTEXT - Indicator: Read value assignment long text
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_PROP_TAB07 - Indicator: Read transport approvals
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_VALFR - Lower Time Interval Limit
Data type: RCGADDINF-VALDATOptional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_PROP_TAB0B - Indicator: Read packaging code approvals
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_PROP_TAB0D - Indicator: Read risk classifications
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_PROP_TAB0F - Indicator: Read transport classifications
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_PROP_PACK -
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_PROP_SPROV -
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_PROP_CARR -
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_SORT_PROP_DATA - Indicator: Read sorted value assignment data
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_READ_ALL_CHARACT - Indicator: Return all characteristics (including empty ones)
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_PROP_CHECK_AUTH_BY_USAGE - Indicator: Check authorization for value assignments
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_USG_AND - Indicator: Usage search with 'and' or 'or'
Data type: ESP1_BOOLEANDefault: ESP1_TRUE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_VALTO - Upper Time Interval Limit
Data type: RCGADDINF-VALDATOptional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_NO_AUTH_CHECK - Indicator: Switch off authorization checks
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_VAL_CHECK_BY_STATUS - Indicator check: status allows value assignment editing
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_DANG_GOOD_DATA - Indicator: Read detail data for the UN listed substances
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_SHOW_LOCAL_INH_REC - Indicator: Read local data for inheritance
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_GET_NUM_VALS_FOR_LANGUS -
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_USAGECHECK -
Data type: ESTLP-USAGECHECKDefault: ' '
Optional: No
Call by Reference: No ( called with pass by value option)
I_FLG_SKIP_AUTH_ERRORS -
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: No
Call by Reference: No ( called with pass by value option)
I_FLG_WITH_INH_DATA -
Data type: ESP1_BOOLEANDefault: ESP1_TRUE
Optional: No
Call by Reference: No ( called with pass by value option)
I_SCENARIO_CALLBACK_FUNC -
Data type: RS38L-NAMEOptional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_KEY_DATE_SWITCH_ONLY - Indicator: Change key date and change number only
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_RETURN_WHOLE_INTERVAL - Indicator: Read the entire time interval
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_LSADM - Language support parameters
Data type: EHSBS_LSADMOptional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_HEADER - Indicator: Read specification header
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FLG_HEADER_USAGE - Indicator: Read restrictions
Data type: ESP1_BOOLEANDefault: ESP1_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for C1F2_SUBSTANCES_READ
E_FLG_LOCKFAIL - Lock on at least one record failed indicator
Data type: ESP1_BOOLEANOptional: No
Call by Reference: No ( called with pass by value option)
E_FLG_ERROR - Error reading a record indicator
Data type: ESP1_BOOLEANOptional: No
Call by Reference: No ( called with pass by value option)
E_FLG_WARNING - Warning reading a record indicator
Data type: ESP1_BOOLEANOptional: No
Call by Reference: No ( called with pass by value option)
CHANGING Parameters details for C1F2_SUBSTANCES_READ
X_FURTHER_PARAMS -
Data type: ESPRH_FURTHER_PARAMS_TYPEOptional: Yes
Call by Reference: Yes
TABLES Parameters details for C1F2_SUBSTANCES_READ
X_API_HEADER_TAB - Specification header data
Data type: ESPRH_APIRH_TAB_TYPEOptional: No
Call by Reference: No ( called with pass by value option)
X_API_PROP_HEADER_TAB - Data for the requested property headers
Data type: ESPRH_APIVH_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
X_API_PROP_TAB - Data for the requested properties
Data type: ESPRH_APIVA_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
E_API_PROP_DATA_TAB - Data for the requested properties (AUSP data)
Data type: ESPRH_APIPR_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
E_API_PROP_DATA_LANGU_TAB -
Data type: ESPRH_APIPR_LANGU_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
E_API_PROP_COMPONENT_TAB - Data for the requested components
Data type: ESPRH_APIVP_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
X_API_PROP_USAGE_TAB - Data for the requested usage
Data type: ESPRH_APIDU_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
E_API_PROP_RELIABILITY_TAB - Data for the requested assessment
Data type: ESPRH_APIDR_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
E_API_PROP_SOURCE_TAB - Data for the requested sources
Data type: ESPRH_APIDS_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
X_API_PROP_FTEXT_TAB - Data for the requested user-defined texts
Data type: ESPRH_APIDF_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
E_API_PROP_FTEXT_LONGTEXT_TAB - Data for the requested user-defined text long texts
Data type: ESPRH_APIFL_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
E_API_REFSUBS_TAB - Data of Requested Reference Specifications
Data type: ESPRH_APIRR_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
E_API_PROP_TAB07_TAB - Data for the requested transport approval (DG)
Data type: ESPRH_API07_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
E_API_PROP_TAB0B_TAB - Data for the requested packaging code approval (DG)
Data type: ESPRH_API0B_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
E_API_PROP_TAB0D_TAB - Data for the requested risk classification (DG)
Data type: ESPRH_API0D_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
E_API_PROP_TAB0F_TAB - Data for the requested transport classification (DG)
Data type: ESPRH_API0F_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
E_API_PROP_PACK_TAB -
Data type: ESPRH_APIPACK_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
E_API_PROP_SPROV_TAB -
Data type: ESPRH_APISP_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
E_API_PROP_CARR_TAB -
Data type: ESPRH_APICARR_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
I_LANGU_TAB - Language table
Data type: ESP5_LANGUTAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
X_API_IDENT_TAB - Data of Requested Identifiers
Data type: ESPRH_APIRI_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
E_API_IDENT_LONGTEXT_TAB - Data of Requested Identifier Long Texts
Data type: ESPRH_APIIL_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
E_API_IDENT_SUBLIST_TAB - Data of Required Ident. Specification List Assignment
Data type: ESPRH_APIRL_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
E_API_MATJOIN_TAB - Data of Requested Material Assignments
Data type: ESPRH_APIMJ_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
E_API_STATUS_TAB - Data for the requested status assignments
Data type: ESPRH_APIST_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
E_API_TPLREL_TAB - Data of Requested Inheritance Relationships
Data type: ESPRH_APITPLREL_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
E_API_APPLSCP_TAB - Data of Requested Scopes of Application
Data type: EHSAS_APIAS_TAB_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
NO_OBJECT_SPECIFIED - No object to be read has been specified
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
PARAMETER_ERROR - Indicator set but relevant table missing
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
INTERNAL_ERROR - Internal program error
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
CONVMODE_SET_FAILED - Error setting conversion mode
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
KEYDATE_OR_CHANGENUMBER_ERROR - Key date and/or change number incorrect
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
INTERVAL_ACCESS_ERROR - Access to time intervals failed
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for C1F2_SUBSTANCES_READ 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_i_scenario | TYPE ESPAP_SCENARIO_TYPE, " | |||
lv_e_flg_lockfail | TYPE ESP1_BOOLEAN, " | |||
lt_x_api_header_tab | TYPE STANDARD TABLE OF ESPRH_APIRH_TAB_TYPE, " | |||
lv_x_further_params | TYPE ESPRH_FURTHER_PARAMS_TYPE, " | |||
lv_no_object_specified | TYPE ESPRH_FURTHER_PARAMS_TYPE, " | |||
lv_i_flg_refsubs | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lt_x_api_prop_header_tab | TYPE STANDARD TABLE OF ESPRH_APIVH_TAB_TYPE, " | |||
lv_i_flg_ident | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lt_x_api_prop_tab | TYPE STANDARD TABLE OF ESPRH_APIVA_TAB_TYPE, " | |||
lt_e_api_prop_data_tab | TYPE STANDARD TABLE OF ESPRH_APIPR_TAB_TYPE, " | |||
lv_i_flg_ident_sublist | TYPE ESP1_BOOLEAN, " ESP1_TRUE | |||
lv_i_flg_ident_longtext | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lt_e_api_prop_data_langu_tab | TYPE STANDARD TABLE OF ESPRH_APIPR_LANGU_TAB_TYPE, " | |||
lv_i_flg_ident_usage | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lt_e_api_prop_component_tab | TYPE STANDARD TABLE OF ESPRH_APIVP_TAB_TYPE, " | |||
lv_i_flg_matjoin | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lt_x_api_prop_usage_tab | TYPE STANDARD TABLE OF ESPRH_APIDU_TAB_TYPE, " | |||
lv_i_flg_status_allocs | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lt_e_api_prop_reliability_tab | TYPE STANDARD TABLE OF ESPRH_APIDR_TAB_TYPE, " | |||
lv_i_flg_tplrel | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lt_e_api_prop_source_tab | TYPE STANDARD TABLE OF ESPRH_APIDS_TAB_TYPE, " | |||
lv_i_flg_applscp | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lt_x_api_prop_ftext_tab | TYPE STANDARD TABLE OF ESPRH_APIDF_TAB_TYPE, " | |||
lv_i_flg_properties | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lt_e_api_prop_ftext_longtext_tab | TYPE STANDARD TABLE OF ESPRH_APIFL_TAB_TYPE, " | |||
lv_i_addinf | TYPE RCGADDINF, " | |||
lv_e_flg_error | TYPE ESP1_BOOLEAN, " | |||
lv_parameter_error | TYPE ESP1_BOOLEAN, " | |||
lt_e_api_refsubs_tab | TYPE STANDARD TABLE OF ESPRH_APIRR_TAB_TYPE, " | |||
lv_i_flg_prop_data | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lt_e_api_prop_tab07_tab | TYPE STANDARD TABLE OF ESPRH_API07_TAB_TYPE, " | |||
lt_e_api_prop_tab0b_tab | TYPE STANDARD TABLE OF ESPRH_API0B_TAB_TYPE, " | |||
lv_i_flg_prop_char_data | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_i_flg_prop_details | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lt_e_api_prop_tab0d_tab | TYPE STANDARD TABLE OF ESPRH_API0D_TAB_TYPE, " | |||
lv_i_flg_prop_comp | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lt_e_api_prop_tab0f_tab | TYPE STANDARD TABLE OF ESPRH_API0F_TAB_TYPE, " | |||
lv_i_flg_prop_usage | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lt_e_api_prop_pack_tab | TYPE STANDARD TABLE OF ESPRH_APIPACK_TAB_TYPE, " | |||
lv_i_flg_prop_rel | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lt_e_api_prop_sprov_tab | TYPE STANDARD TABLE OF ESPRH_APISP_TAB_TYPE, " | |||
lv_i_flg_prop_source | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lt_e_api_prop_carr_tab | TYPE STANDARD TABLE OF ESPRH_APICARR_TAB_TYPE, " | |||
lt_i_langu_tab | TYPE STANDARD TABLE OF ESP5_LANGUTAB_TYPE, " | |||
lv_i_flg_prop_ftext | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_i_flg_prop_ftext_longtext | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_i_flg_prop_tab07 | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_i_valfr | TYPE RCGADDINF-VALDAT, " | |||
lv_e_flg_warning | TYPE ESP1_BOOLEAN, " | |||
lv_internal_error | TYPE ESP1_BOOLEAN, " | |||
lt_x_api_ident_tab | TYPE STANDARD TABLE OF ESPRH_APIRI_TAB_TYPE, " | |||
lv_i_flg_prop_tab0b | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_i_flg_prop_tab0d | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_i_flg_prop_tab0f | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_i_flg_prop_pack | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_i_flg_prop_sprov | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_i_flg_prop_carr | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_i_flg_sort_prop_data | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_i_flg_read_all_charact | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_i_flg_prop_check_auth_by_usage | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_i_flg_usg_and | TYPE ESP1_BOOLEAN, " ESP1_TRUE | |||
lv_i_valto | TYPE RCGADDINF-VALDAT, " | |||
lv_convmode_set_failed | TYPE RCGADDINF, " | |||
lt_e_api_ident_longtext_tab | TYPE STANDARD TABLE OF ESPRH_APIIL_TAB_TYPE, " | |||
lv_i_flg_no_auth_check | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_i_flg_val_check_by_status | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_i_flg_dang_good_data | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_i_flg_show_local_inh_rec | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_i_flg_get_num_vals_for_langus | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_i_usagecheck | TYPE ESTLP-USAGECHECK, " ' ' | |||
lv_i_flg_skip_auth_errors | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_i_flg_with_inh_data | TYPE ESP1_BOOLEAN, " ESP1_TRUE | |||
lv_i_scenario_callback_func | TYPE RS38L-NAME, " | |||
lt_e_api_ident_sublist_tab | TYPE STANDARD TABLE OF ESPRH_APIRL_TAB_TYPE, " | |||
lv_i_flg_key_date_switch_only | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_keydate_or_changenumber_error | TYPE ESP1_BOOLEAN, " | |||
lt_e_api_matjoin_tab | TYPE STANDARD TABLE OF ESPRH_APIMJ_TAB_TYPE, " | |||
lv_interval_access_error | TYPE ESPRH_APIMJ_TAB_TYPE, " | |||
lv_i_flg_return_whole_interval | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lv_i_lsadm | TYPE EHSBS_LSADM, " | |||
lt_e_api_status_tab | TYPE STANDARD TABLE OF ESPRH_APIST_TAB_TYPE, " | |||
lv_i_flg_header | TYPE ESP1_BOOLEAN, " ESP1_FALSE | |||
lt_e_api_tplrel_tab | TYPE STANDARD TABLE OF ESPRH_APITPLREL_TAB_TYPE, " | |||
lt_e_api_applscp_tab | TYPE STANDARD TABLE OF EHSAS_APIAS_TAB_TYPE, " | |||
lv_i_flg_header_usage | TYPE ESP1_BOOLEAN. " ESP1_FALSE |
  CALL FUNCTION 'C1F2_SUBSTANCES_READ' "NOTRANSL: EHS: Lesen von Spezifikationsdaten (ohne Berücks. der Referenzie |
EXPORTING | ||
I_SCENARIO | = lv_i_scenario | |
I_FLG_REFSUBS | = lv_i_flg_refsubs | |
I_FLG_IDENT | = lv_i_flg_ident | |
I_FLG_IDENT_SUBLIST | = lv_i_flg_ident_sublist | |
I_FLG_IDENT_LONGTEXT | = lv_i_flg_ident_longtext | |
I_FLG_IDENT_USAGE | = lv_i_flg_ident_usage | |
I_FLG_MATJOIN | = lv_i_flg_matjoin | |
I_FLG_STATUS_ALLOCS | = lv_i_flg_status_allocs | |
I_FLG_TPLREL | = lv_i_flg_tplrel | |
I_FLG_APPLSCP | = lv_i_flg_applscp | |
I_FLG_PROPERTIES | = lv_i_flg_properties | |
I_ADDINF | = lv_i_addinf | |
I_FLG_PROP_DATA | = lv_i_flg_prop_data | |
I_FLG_PROP_CHAR_DATA | = lv_i_flg_prop_char_data | |
I_FLG_PROP_DETAILS | = lv_i_flg_prop_details | |
I_FLG_PROP_COMP | = lv_i_flg_prop_comp | |
I_FLG_PROP_USAGE | = lv_i_flg_prop_usage | |
I_FLG_PROP_REL | = lv_i_flg_prop_rel | |
I_FLG_PROP_SOURCE | = lv_i_flg_prop_source | |
I_FLG_PROP_FTEXT | = lv_i_flg_prop_ftext | |
I_FLG_PROP_FTEXT_LONGTEXT | = lv_i_flg_prop_ftext_longtext | |
I_FLG_PROP_TAB07 | = lv_i_flg_prop_tab07 | |
I_VALFR | = lv_i_valfr | |
I_FLG_PROP_TAB0B | = lv_i_flg_prop_tab0b | |
I_FLG_PROP_TAB0D | = lv_i_flg_prop_tab0d | |
I_FLG_PROP_TAB0F | = lv_i_flg_prop_tab0f | |
I_FLG_PROP_PACK | = lv_i_flg_prop_pack | |
I_FLG_PROP_SPROV | = lv_i_flg_prop_sprov | |
I_FLG_PROP_CARR | = lv_i_flg_prop_carr | |
I_FLG_SORT_PROP_DATA | = lv_i_flg_sort_prop_data | |
I_FLG_READ_ALL_CHARACT | = lv_i_flg_read_all_charact | |
I_FLG_PROP_CHECK_AUTH_BY_USAGE | = lv_i_flg_prop_check_auth_by_usage | |
I_FLG_USG_AND | = lv_i_flg_usg_and | |
I_VALTO | = lv_i_valto | |
I_FLG_NO_AUTH_CHECK | = lv_i_flg_no_auth_check | |
I_FLG_VAL_CHECK_BY_STATUS | = lv_i_flg_val_check_by_status | |
I_FLG_DANG_GOOD_DATA | = lv_i_flg_dang_good_data | |
I_FLG_SHOW_LOCAL_INH_REC | = lv_i_flg_show_local_inh_rec | |
I_FLG_GET_NUM_VALS_FOR_LANGUS | = lv_i_flg_get_num_vals_for_langus | |
I_USAGECHECK | = lv_i_usagecheck | |
I_FLG_SKIP_AUTH_ERRORS | = lv_i_flg_skip_auth_errors | |
I_FLG_WITH_INH_DATA | = lv_i_flg_with_inh_data | |
I_SCENARIO_CALLBACK_FUNC | = lv_i_scenario_callback_func | |
I_FLG_KEY_DATE_SWITCH_ONLY | = lv_i_flg_key_date_switch_only | |
I_FLG_RETURN_WHOLE_INTERVAL | = lv_i_flg_return_whole_interval | |
I_LSADM | = lv_i_lsadm | |
I_FLG_HEADER | = lv_i_flg_header | |
I_FLG_HEADER_USAGE | = lv_i_flg_header_usage | |
IMPORTING | ||
E_FLG_LOCKFAIL | = lv_e_flg_lockfail | |
E_FLG_ERROR | = lv_e_flg_error | |
E_FLG_WARNING | = lv_e_flg_warning | |
CHANGING | ||
X_FURTHER_PARAMS | = lv_x_further_params | |
TABLES | ||
X_API_HEADER_TAB | = lt_x_api_header_tab | |
X_API_PROP_HEADER_TAB | = lt_x_api_prop_header_tab | |
X_API_PROP_TAB | = lt_x_api_prop_tab | |
E_API_PROP_DATA_TAB | = lt_e_api_prop_data_tab | |
E_API_PROP_DATA_LANGU_TAB | = lt_e_api_prop_data_langu_tab | |
E_API_PROP_COMPONENT_TAB | = lt_e_api_prop_component_tab | |
X_API_PROP_USAGE_TAB | = lt_x_api_prop_usage_tab | |
E_API_PROP_RELIABILITY_TAB | = lt_e_api_prop_reliability_tab | |
E_API_PROP_SOURCE_TAB | = lt_e_api_prop_source_tab | |
X_API_PROP_FTEXT_TAB | = lt_x_api_prop_ftext_tab | |
E_API_PROP_FTEXT_LONGTEXT_TAB | = lt_e_api_prop_ftext_longtext_tab | |
E_API_REFSUBS_TAB | = lt_e_api_refsubs_tab | |
E_API_PROP_TAB07_TAB | = lt_e_api_prop_tab07_tab | |
E_API_PROP_TAB0B_TAB | = lt_e_api_prop_tab0b_tab | |
E_API_PROP_TAB0D_TAB | = lt_e_api_prop_tab0d_tab | |
E_API_PROP_TAB0F_TAB | = lt_e_api_prop_tab0f_tab | |
E_API_PROP_PACK_TAB | = lt_e_api_prop_pack_tab | |
E_API_PROP_SPROV_TAB | = lt_e_api_prop_sprov_tab | |
E_API_PROP_CARR_TAB | = lt_e_api_prop_carr_tab | |
I_LANGU_TAB | = lt_i_langu_tab | |
X_API_IDENT_TAB | = lt_x_api_ident_tab | |
E_API_IDENT_LONGTEXT_TAB | = lt_e_api_ident_longtext_tab | |
E_API_IDENT_SUBLIST_TAB | = lt_e_api_ident_sublist_tab | |
E_API_MATJOIN_TAB | = lt_e_api_matjoin_tab | |
E_API_STATUS_TAB | = lt_e_api_status_tab | |
E_API_TPLREL_TAB | = lt_e_api_tplrel_tab | |
E_API_APPLSCP_TAB | = lt_e_api_applscp_tab | |
EXCEPTIONS | ||
NO_OBJECT_SPECIFIED = 1 | ||
PARAMETER_ERROR = 2 | ||
INTERNAL_ERROR = 3 | ||
CONVMODE_SET_FAILED = 4 | ||
KEYDATE_OR_CHANGENUMBER_ERROR = 5 | ||
INTERVAL_ACCESS_ERROR = 6 | ||
. " C1F2_SUBSTANCES_READ |
ABAP code using 7.40 inline data declarations to call FM C1F2_SUBSTANCES_READ
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.DATA(ld_i_flg_refsubs) | = ESP1_FALSE. | |||
DATA(ld_i_flg_ident) | = ESP1_FALSE. | |||
DATA(ld_i_flg_ident_sublist) | = ESP1_TRUE. | |||
DATA(ld_i_flg_ident_longtext) | = ESP1_FALSE. | |||
DATA(ld_i_flg_ident_usage) | = ESP1_FALSE. | |||
DATA(ld_i_flg_matjoin) | = ESP1_FALSE. | |||
DATA(ld_i_flg_status_allocs) | = ESP1_FALSE. | |||
DATA(ld_i_flg_tplrel) | = ESP1_FALSE. | |||
DATA(ld_i_flg_applscp) | = ESP1_FALSE. | |||
DATA(ld_i_flg_properties) | = ESP1_FALSE. | |||
DATA(ld_i_flg_prop_data) | = ESP1_FALSE. | |||
DATA(ld_i_flg_prop_char_data) | = ESP1_FALSE. | |||
DATA(ld_i_flg_prop_details) | = ESP1_FALSE. | |||
DATA(ld_i_flg_prop_comp) | = ESP1_FALSE. | |||
DATA(ld_i_flg_prop_usage) | = ESP1_FALSE. | |||
DATA(ld_i_flg_prop_rel) | = ESP1_FALSE. | |||
DATA(ld_i_flg_prop_source) | = ESP1_FALSE. | |||
DATA(ld_i_flg_prop_ftext) | = ESP1_FALSE. | |||
DATA(ld_i_flg_prop_ftext_longtext) | = ESP1_FALSE. | |||
DATA(ld_i_flg_prop_tab07) | = ESP1_FALSE. | |||
"SELECT single VALDAT FROM RCGADDINF INTO @DATA(ld_i_valfr). | ||||
DATA(ld_i_flg_prop_tab0b) | = ESP1_FALSE. | |||
DATA(ld_i_flg_prop_tab0d) | = ESP1_FALSE. | |||
DATA(ld_i_flg_prop_tab0f) | = ESP1_FALSE. | |||
DATA(ld_i_flg_prop_pack) | = ESP1_FALSE. | |||
DATA(ld_i_flg_prop_sprov) | = ESP1_FALSE. | |||
DATA(ld_i_flg_prop_carr) | = ESP1_FALSE. | |||
DATA(ld_i_flg_sort_prop_data) | = ESP1_FALSE. | |||
DATA(ld_i_flg_read_all_charact) | = ESP1_FALSE. | |||
DATA(ld_i_flg_prop_check_auth_by_usage) | = ESP1_FALSE. | |||
DATA(ld_i_flg_usg_and) | = ESP1_TRUE. | |||
"SELECT single VALDAT FROM RCGADDINF INTO @DATA(ld_i_valto). | ||||
DATA(ld_i_flg_no_auth_check) | = ESP1_FALSE. | |||
DATA(ld_i_flg_val_check_by_status) | = ESP1_FALSE. | |||
DATA(ld_i_flg_dang_good_data) | = ESP1_FALSE. | |||
DATA(ld_i_flg_show_local_inh_rec) | = ESP1_FALSE. | |||
DATA(ld_i_flg_get_num_vals_for_langus) | = ESP1_FALSE. | |||
"SELECT single USAGECHECK FROM ESTLP INTO @DATA(ld_i_usagecheck). | ||||
DATA(ld_i_usagecheck) | = ' '. | |||
DATA(ld_i_flg_skip_auth_errors) | = ESP1_FALSE. | |||
DATA(ld_i_flg_with_inh_data) | = ESP1_TRUE. | |||
"SELECT single NAME FROM RS38L INTO @DATA(ld_i_scenario_callback_func). | ||||
DATA(ld_i_flg_key_date_switch_only) | = ESP1_FALSE. | |||
DATA(ld_i_flg_return_whole_interval) | = ESP1_FALSE. | |||
DATA(ld_i_flg_header) | = ESP1_FALSE. | |||
DATA(ld_i_flg_header_usage) | = ESP1_FALSE. | |||
Search for further information about these or an SAP related objects