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.