Fonction SAP CBIH_LB13_FATYPE_FAID_CHECK - EHS: User Exit to Check IDs of Injury/Illness Log Entries

Paramètre Reférence Type Long. Valeur par déf. Facultatif Description
I_FAID_TO_CHK CCIHT_FAL-FAID C 20 Injury/illness log key to be checked
I_FATYPE CCIHT_FAL-FATYPE C 3 Injury/illness log entry category
I_FLG_WANT_KEY_FORMAT ESP1_BOOLEAN 0 ESP1_FALSE X
I_PLANT CCIHT_FAL-FAPLANT C 4 X

Paramètre Reférence Type Long. Description
E_ERROR_MESSAGE 0 Error message
E_FAID_CHKD_AND_FORMD CCIHT_FAL-FAID C 20 Checked (poss. changed) injury/illness log key
E_FLG_SYNTAX_OK ESP1_BOOLEAN 0 TRUE: Injury/illness log key (syntax) correct

Functionality
This function module is used as a template for check and formattingfunctions that you can define for injury/illness log entry keysdepending on the injury/illness log entry type.
The function module is also available as a reference function module fordefining the interface of the user exit category FAL_SCATCH.

Example
The following implementation example works with the following numberrange intervals:
00001000000000000000 to 00009999999999999999 (internal)
A to ZZZZZZZZZZZZZZZZZZZZ (external)
*"*"Local interface:
*" IMPORTING
*" VALUE(I_FAID_TO_CHK) LIKE CCIHT_FAL-FAID
*" VALUE(I_FATYPE) LIKE CCIHT_FAL-FATYPE
*" VALUE(I_PLANT) LIKE CCIHT_FAL-FAPLANT OPTIONAL
*" VALUE(I_FLG_WANT_KEY_FORMAT) TYPE ESP1_BOOLEAN
*" DEFAULT ESP1_FALSE
*" EXPORTING
*" VALUE(E_FAID_CHKD_AND_FORMD) LIKE CCIHT_FAL-FAID
*" VALUE(E_FLG_SYNTAX_OK) TYPE ESP1_BOOLEAN
*" VALUE(E_ERROR_MESSAGE)
*"----------------------------------------------------------------------
* ----------------------------------------------------------------------
* Local data
* ----------------------------------------------------------------------
* for example the length of the table field for FAL-ID is 20
* to insert 4 format characters input must have a max. length of 16
CONSTANTS: LC_MAX_EDIT_LENGTH TYPE I VALUE 16.
* var to store length of given FAL-ID
DATA: L_STR_LENGTH TYPE I VALUE 0.
* temporary FAL-ID
DATA: L_FAID_TEMP LIKE I_FAID_TO_CHK VALUE IS INITIAL.
* ----------------------------------------------------------------------
* Function body
* ----------------------------------------------------------------------
* init
E_FLG_SYNTAX_OK = TRUE.
E_FAID_CHKD_AND_FORMD = I_FAID_TO_CHK.
IF ( I_FLG_WANT_KEY_FORMAT = TRUE ).
SHIFT I_FAID_TO_CHK LEFT DELETING LEADING '0'.
L_STR_LENGTH = STRLEN( I_FAID_TO_CHK ).
IF ( L_STR_LENGTH LE LC_MAX_EDIT_LENGTH ).
CONCATENATE I_FATYPE I_FAID_TO_CHK INTO L_FAID_TEMP.
WRITE L_FAID_TEMP
USING EDIT MASK '___-________________'
TO E_FAID_CHKD_AND_FORMD.
ELSE.
* signal that check hasn't been successful
E_FLG_SYNTAX_OK = FALSE.
E_ERROR_MESSAGE
= 'Max. no. of 18 characters exceeded'. "#EC *
ENDIF.
ENDIF. " i_flg_want_key_format = true
ENDFUNCTION.

Notes
In Customizing for Occupational Health, you can assign a userexit name for every injury/illness log entry type in the IMG activitySpecify Injury/Illness Log Entry Types. Youmust have already created this user exit name in Customizing forBasic Data and Tools under Manage User Exits and assignedit to a function module.
In addition, under Specify Injury/Illness Log Entry Types you canassign an internal or external number range interval of the number rangeobject CBIHN_FAID for every injury/illness log entry type.
Note that when you use a formatting routine, it must be compatible withthe definition of the number range intervals.
If you write your own check function, its interface must match theinterface of the reference function module.