Fonction SAP C1F5_SPECIFICATIONS_READ - EHS: Read Specification Data - New

Paramètre Reférence Type Long. Valeur par déf. Facultatif Description
I_ADDINF RCGADDINF u 27 Additional Information on Object
I_ASSESSMENT_LGK_STAB ESPRH_ASSESSMENT_LGK_TP 0 X Filter table with logical key values
I_CARRIAGE_LGK_STAB ESPRH_CARRIAGE_LGK_TP 0 X
I_CHARACT_DATA_LGK_STAB ESPRH_CHARACT_DATA_LGK_TP 0 X Filter table with logical key values
I_COMPOSITION_LGK_STAB ESPRH_COMPOSITION_LGK_TP 0 X Filter table with logical key values
I_FLG_DANG_GOOD_DATA ESP1_BOOLEAN 0 ESP1_FALSE Read with dangerous goods data
I_FLG_GET_NUM_VALS_FOR_LANGUS ESP1_BOOLEAN 0 ESP1_FALSE Fill table X_CHARACT_DATA_LANGU_TAB
I_FLG_KEY_DATE_SWITCH_ONLY ESP1_BOOLEAN 0 ESP1_FALSE Indicator: Change key date and change number only
I_FLG_NO_AUTH_CHECK ESP1_BOOLEAN 0 ESP1_FALSE No Authorization Check
I_FLG_READ_ALL_CHARACT ESP1_BOOLEAN 0 ESP1_FALSE
I_FLG_RETURN_WHOLE_INTERVAL ESP1_BOOLEAN 0 ESP1_FALSE Indicator: Read the entire time interval
I_FLG_SKIP_RH_CNTNT_CHECK ESP1_BOOLEAN 0 ESP1_FALSE
I_FLG_SORT_PROP_DATA ESP1_BOOLEAN 0 ESP1_FALSE Read value assignment data sorted
I_FLG_STATUS_CHECK ESP1_BOOLEAN 0 ESP1_FALSE
I_FLG_WITH_INH_DATA ESP1_BOOLEAN 0 ESP1_TRUE
I_FLG_WITH_INH_REC_PNTRS ESP1_BOOLEAN 0 ESP1_FALSE
I_FLG_WITH_REF_DATA ESP1_BOOLEAN 0 ESP1_TRUE
I_FLG_WITH_REF_DATA_OVRWR ESP1_BOOLEAN 0 ESP1_FALSE
I_IDENTIFIER_LGK_STAB ESPRH_IDENTIFIER_LGK_TP 0 X Filter table with logical key values
I_IDENTIFIER_USAGE_LGK_STAB ESPRH_IDENTIFIER_USAGE_LGK_TP 0 X Filter table with logical key values
I_IDENT_LONGTEXT_LGK_STAB ESPRH_IDENT_LONGTEXT_LGK_TP 0 X Filter table with logical key values
I_LSADM EHSBS_LSADM u 1 X Language support parameters
I_MATERIAL_LGK_STAB ESPRH_MATERIAL_LGK_TP 0 X Filter table with logical key values
I_PACKAGING_LGK_STAB ESPRH_PACKAGING_LGK_TP 0 X
I_PACK_CODE_APPR_LGK_STAB ESPRH_PACK_CODE_APPR_LGK_TP 0 X Filter table with logical key values
I_REFERENCE_LGK_STAB ESPRH_REFERENCE_LGK_TP 0 X Filter table with logical key values
I_REGULATORY_LIST_LGK_STAB ESPRH_REGULATORY_LIST_LGK_TP 0 X Filter table with logical key values
I_RELATION_LGK_STAB ESPRH_RELATION_LGK_TP 0 X Filter table with logical key values
I_RESTRICTION_LGK_STAB ESPRH_RESTRICTION_LGK_TP 0 X Filter table with logical key values
I_RISK_CLASS_LGK_STAB ESPRH_RISK_CLASS_LGK_TP 0 X Filter table with logical key values
I_SCENARIO ESPAP_NEW_SCENARIO_TYPE 0 Scenarion for reading specifications
I_SOURCE_LGK_STAB ESPRH_SOURCE_LGK_TP 0 X Filter table with logical key values
I_SPEC_PROV_PACK_LGK_STAB ESPRH_SPEC_PROV_PACK_LGK_TP 0 X
I_STATUS_LGK_STAB ESPRH_STATUS_LGK_TP 0 X Filter table with logical key values
I_TRANSPORT_APPR_LGK_STAB ESPRH_TRANSPORT_APPR_LGK_TP 0 X Filter table with logical key values
I_TRANSPORT_CLASS_LGK_STAB ESPRH_TRANSPORT_CLASS_LGK_TP 0 X Filter table with logical key values
I_USAGECHECK ESEUSGCCK C 1 '0' Selection for Usage Check
I_USER_DEF_TEXT_LGK_STAB ESPRH_USER_DEF_TEXT_LGK_TP 0 X Filter table with logical key values
I_USR_DEF_LONGTEXT_LGK_STAB ESPRH_USR_DEF_LONGTEXT_LGK_TP 0 X Filter table with logical key values
I_VALFR ESP5_SETTINGS_TYPE-VALFR 0 X
I_VALTO ESP5_SETTINGS_TYPE-VALTO 0 X Upper Time Interval Limit
I_VALUATION_HEAD_LGK_STAB ESPRH_VALUATION_HEAD_LGK_TP 0 X Filter table with logical key values
I_VALUATION_INST_LGK_STAB ESPRH_VALUATION_INST_LGK_TP 0 X Filter table with logical key values
I_VALUATION_USAGE_LGK_STAB ESPRH_VALUATION_USAGE_LGK_TP 0 X Filter table with logical key values

Paramètre Reférence Type Long. Description
E_FLG_ERROR ESP1_BOOLEAN 0 Indicator for error reading a record
E_FLG_INTERNAL_ERROR ESP1_BOOLEAN 0 Indicator for internal error occurred
E_FLG_WARNING ESP1_BOOLEAN 0 Indicator for warning reading a record
E_SCENARIO ESPAP_NEW_SCENARIO_TYPE 0 Completed/corrected scenario

Paramètre Reférence Type Long. Valeur par déf. Facultatif Description
X_FURTHER_PARAMS ESPRH_FURTHER_PARAMS_TYPE 0 X

Paramètre Reférence Long. Facultatif Description
E_ERROR_TAB ESPAP_EXTERROR_TAB_TYPE 0 X Error Log Table
I_LANGU_TAB ESP5_LANGUTAB_TYPE 0 X Languages to fill X_CHARACT_DATA_LANGU_TAB
I_USAGE_TAB ESPRH_APIDU_TAB_TYPE 0 X
X_ASSESSMENT_TAB ESPRH_APIDR_TAB_TYPE 0 X
X_CARRIAGE_TAB ESPRH_APICARR_TAB_TYPE 0 X
X_CHARACT_DATA_LANGU_TAB ESPRH_APIPR_LANGU_TAB_TYPE 0 X
X_CHARACT_DATA_TAB ESPRH_APIPR_TAB_TYPE 0 X
X_COMPOSITION_TAB ESPRH_APIVP_TAB_TYPE 0 X
X_IDENTIFIER_TAB ESPRH_APIRI_TAB_TYPE 0 X
X_IDENTIFIER_USAGE_TAB ESPRH_APIDU_TAB_TYPE 0 X
X_IDENT_LONGTEXT_TAB ESPRH_APIIL_TAB_TYPE 0 X
X_MATERIAL_TAB ESPRH_APIMJ_TAB_TYPE 0 X
X_PACKAGING_TAB ESPRH_APIPACK_TAB_TYPE 0 X
X_PACK_CODE_APPR_TAB ESPRH_API0B_TAB_TYPE 0 X
X_REFERENCE_TAB ESPRH_APIRR_TAB_TYPE 0 X
X_REGULATORY_LIST_TAB ESPRH_APIRL_TAB_TYPE 0 X
X_RELATION_TAB ESPRH_APITPLREL_TAB_TYPE 0 X
X_RESTRICTION_TAB ESPRH_APIDU_TAB_TYPE 0 X
X_RISK_CLASS_TAB ESPRH_API0D_TAB_TYPE 0 X
X_SOURCE_TAB ESPRH_APIDS_TAB_TYPE 0 X
X_SPEC_HEAD_TAB ESPRH_APIRH_TAB_TYPE 0 Specification header data
X_SPEC_PROV_PACK_TAB ESPRH_APISP_TAB_TYPE 0 X
X_STATUS_TAB EHSAS_APIAS_TAB_TYPE 0 X
X_TRANSPORT_APPR_TAB ESPRH_API07_TAB_TYPE 0 X
X_TRANSPORT_CLASS_TAB ESPRH_API0F_TAB_TYPE 0 X
X_USER_DEF_TEXT_TAB ESPRH_APIDF_TAB_TYPE 0 X
X_USR_DEF_LONGTEXT_TAB ESPRH_APIFL_TAB_TYPE 0 X
X_VALUATION_HEAD_TAB ESPRH_APIVH_TAB_TYPE 0 X
X_VALUATION_INST_TAB ESPRH_APIVA_TAB_TYPE 0 X
X_VALUATION_USAGE_TAB ESPRH_APIDU_TAB_TYPE 0 X

Functionality

Interface
Object Class Dependency
The interface for the Application Programming Interface (API) functionmodule to read specification data has a flat branched table for eachobject class, see Object Class Dependency.
Scenario Parameters
Using the scenario parameter I_SCENARIO, the caller specifies:

  • Which object class is to be read

  • For which type of editing (display with/without read lock, create,
  • change) the data is to be read
    The scenario parameter has a component of ABAP type C of length 1 foreach object class, to which one of the following values can be passedrespectively (there are constants to do this in the Include fileCBUI08):
    • ' ': Do not read

    • 'N': Read for information system (do not set lock)

    • 'S': Read for display (protect data with read locks)

    • 'X': Read for change (protect data with write locks)

    • Call of Subobjects
      As standard, the caller uses the API function module to read all directand indirect subobjects for a specific set of transferred objects.
      Example:
      If the caller wants to read the regulatory lists, the usages, and thelong texts for a specific set of identifiers, it must specify thefollowing:
      In the table X_IDENTIFIER_TAB the objects (that is, the identifiers)
      All direct and indirect higher-level parent objects of the objects, inthis case the specification headers of the identifiers in the tableX_SPEC_HEAD_TAB
      The subobjects of the identifiers are then placed in the followingtables according to the scenario components:
      X_REGULATORY_LIST_TAB
      X_IDENTIFIER_USAGE_TAB
      X_IDENT_LONGTEXT_TAB
      Filter Methods
      As standard there are the following filter methods with which the callercan restrict the set of subobjects to be read:
      • The caller can fill the RECN field for the subobject tables with values.
      • Then only those subobjects are output that match these RECN values.
        If the caller reads a whole time interval, all corresponding changestates for these RECN values are output.
        • For each object class there is another optional table with the name I_

        • _LOG_KEY_TAB. The caller can fill the logical keyattributes of the object classes with values here. Then only the objectsthat belong to this logical key are output by the API function module.
          Parameters
          • Parameters for specifying the time period for which the data is to be
          • read (see also Interval-Based Read andWrite of Data Records):
            I_ADDINF
            I_VALFR
            I_VALTO
            I_FLG_KEY_DATE_SWITCH_ONLY
            I_FLG_RETURN_WHOLE_INTERVAL
            • Parameters for language handling:

            • I_LSADM
              • Other parameters:

              • I_FLG_WITH_REF_DATA (Read with referenced value assignment headers)
                I_FLG_WITH_INH_DATA (Read with inherited identifiers and valueassignment instances)
                I_FLG_WITH_INH_REC_PNTRS (if I_FLG_WITH_INH_DATA = ' ' (indicator notset), read with inherited value assignment instance pointers)
                I_FLG_DANG_GOOD_DATA (Read with dangerous goods data. All identifiersand value assignment data are determined for the specified UN-listedsubstances and the total result added.)
                I_USAGECHECK (Comparison mode for usages (see data element ESEUSGCCK))
                I_USAGE_TAB (Usages to filter out identifiers and value assignmentinstances)
                I_FLG_SORT_PROP_DATA (Read value assignment data sorted)
                I_FLG_READ_ALL_CHARACT (Read characteristics without value)
                I_FLG_GET_NUM_VALS_FOR_LANGUS (Fill X_CHARACT_DATA_LANGU_TAB)
                X_CHARACT_DATA_LANGU_TAB (Numeric value assignments with units for thelanguages in the table I_LANGU_TAB)
                I_LANGU_TAB (Languages for filling X_CHARACT_DATA_LANGU_TAB)
                I_FLG_STATUS_CHECK (Check: status allows edit of identifier or valueassignment instance)
                I_FLG_NO_AUTH_CHECK (No authorization checks)
                This indicator makes it possible to deactivate the authorization checks
                when reading, as is necessary, for example, in the where-used list whendeleting. Note, however, that when the indicator is set, personsprocessing data can display data for which they are not authorized.
                • Parameters for notifying errors and warnings:

                • E_FLG_INTERNAL_ERROR
                  E_FLG_ERROR
                  E_FLG_WARNING
                  E_ERROR_TAB (of type ESPAP_EXTERROR_TAB_TYPE in type group ESPAP)

                  Logic
                  The API function module for reading specification data includes thefollowing functions:

                  • Call of read routine for root node specification header

                  • Prior check that transferred internal tables are sorted correctly

                  • Check and correction of passed scenario parameters for the individual
                  • object classes so that the higher-level parent objects are always readfor requested subobjects.
                    • Guarantee that the table for specification headers is filled by placing
                    • the RECNROOT values of the remaining transferred data records in thetable if necessary
                      • Guarantee that all checks are made. It is not possible to deactivate all
                      • checks.
                        • Read all transferred data records and lock if necessary.
                        • Notes
                          INCLUDE EHS_FU_PHRASE_AUTH_NOT_CHECK OBJECT DOKU ID TX

1564132Authorization error for class type 100 is issued only once
1520381BAdI messages missing in C1F5_SPECIFICATIONS_READ
1490665Reading specifications takes a long time
1247216Specification BAPI/API and inheritance: Important notes
1457612Meaningless status values displayed in scope of application
1403521Missing authorization for class type 100
1376074Specification read API, combination inheritance & reference
1335123Dialog error message when you submit a locked change number
1301213Existence check for change numbers
1283732Error in read/delete API when several data records entered
1270212Components of locked specification not read
990009System reads overwritten referenced value assignments
1092703Read BAPI incorrectly counts field ATSRT
1019218Read API delivers no data in lock conflicts
1064873Read BAPI does not read all specification headers
1064186Mess.: No values are available for the key specified
947829Characteristic values are lost with class types <> 100
1000251User-defined texts for UN-listed substance: Long txt missing
987402Usages are output twice
839195Identification of non-valuated properties with the BAPI
883189Transferring source data + target data simultaneously to API
696046Empty authorization group when reading with new API in C1F5