SAP /BDL/_TEST_GENER_INCLUDES Function Module for Test generation of logfunc includes
/BDL/_TEST_GENER_INCLUDES is a standard /bdl/ test gener includes SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Test generation of logfunc includes 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 /bdl/ test gener includes FM, simply by entering the name /BDL/_TEST_GENER_INCLUDES into the relevant SAP transaction such as SE37 or SE38.
Function Group: /BDL/BDL12
Program Name: /BDL/SAPLBDL12
Main Program: /BDL/SAPLBDL12
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function /BDL/_TEST_GENER_INCLUDES 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 '/BDL/_TEST_GENER_INCLUDES'"Test generation of logfunc includes.
EXPORTING
* OPTION = ' ' "Function name
* REPORT_NAME = '/1CAGTF/MTEST' "Function name
* REPORT_DEVCLASS = '$TMP' "Function name
* FILL_NAME_REL3 = '/BDL/SAFLL' "Function name
* FILL_NAME = '/BDL/SAFILL' "Function name
* TOPFILL_NAME_REL3 = '/BDL/SATOP' "Function name
* TOPFILL_NAME = '/BDL/SAFILLTOC' "Function name
* LOG_NAME = '/BDL/' "Function name
* NAME_' ' = '/1CAGTF/' "Function name
* EXCEPT = '%EXCEPTION' "Function name
* RUNTIME = '%RUNTIME' "Function name
* LOGFUNC = ' ' "Logical name
* DO_NOT_COPY_VAR = 'BDL_DO_NOT_COPY' "OBS
* DEST_MODE_VAR = 'BDL_DEST_MOD' "OBS
* SYNTAX_CHECK = ' ' "Status of object
* WHENS_PER_CASE = '10' "Internal table, current line index
* STRUCTURES_PER_FORM = '50' "Internal table, current line index
* INSERT_COPY_FLAG = 'X' "OBS
* INSERT_COPY_FORMS = 'X' "OBS
* COMPARE_TABLES = ' ' "Status of object
* COPY_BY_ASSIGN = ' ' "OBS
* COPY_INCLUDE = '/BDL/SCOPY' "OBS
* CLUST_ID = ' ' "RFC Download: Function module
* IGNORE_CONVERSION_ERRORS = 'X' "Catch system exception
* IF_SET = 'BDL' "Service Definition set
* IF_VERSION = "Version
* SESSION = "EWA key fields
* RELID = 'DL' "CHAR02 data element for SYST
* DEVCLASS = '/BDL/BDL3N' "Function name
* DATCOL_TAB = 'BDLDATCOL' "OBS
* DTOC_TAB = 'BDLDTOC' "OBS
* DTOC_FIELD = 'FUNCMOD' "OBS
EXCEPTIONS
SYNTAX_ERROR = 1 IF_DATA_MISSING = 10 SET_INVALID = 11 GENERATION_ERROR = 2 LOCK_FAILED = 3 NO_AUTHORITY = 4 WRONG_OPTION = 5 WRONG_LOGFUNC = 6 WRONG_CLUST_ID = 7 WRONG_RELEASE = 8 WRONG_ABAP_TYPE = 9
IMPORTING Parameters details for /BDL/_TEST_GENER_INCLUDES
OPTION - Function name
Data type: BDLFUVERS-FUNCNAMEDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
REPORT_NAME - Function name
Data type: BDLFUVERS-FUNCNAMEDefault: '/1CAGTF/MTEST'
Optional: Yes
Call by Reference: No ( called with pass by value option)
REPORT_DEVCLASS - Function name
Data type: BDLFUVERS-FUNCNAMEDefault: '$TMP'
Optional: Yes
Call by Reference: No ( called with pass by value option)
FILL_NAME_REL3 - Function name
Data type: BDLFUVERS-FUNCNAMEDefault: '/BDL/SAFLL'
Optional: Yes
Call by Reference: No ( called with pass by value option)
FILL_NAME - Function name
Data type: BDLFUVERS-FUNCNAMEDefault: '/BDL/SAFILL'
Optional: Yes
Call by Reference: No ( called with pass by value option)
TOPFILL_NAME_REL3 - Function name
Data type: BDLFUVERS-FUNCNAMEDefault: '/BDL/SATOP'
Optional: Yes
Call by Reference: No ( called with pass by value option)
TOPFILL_NAME - Function name
Data type: BDLFUVERS-FUNCNAMEDefault: '/BDL/SAFILLTOC'
Optional: Yes
Call by Reference: No ( called with pass by value option)
LOG_NAME - Function name
Data type: BDLFUVERS-FUNCNAMEDefault: '/BDL/'
Optional: Yes
Call by Reference: No ( called with pass by value option)
NAME_SPACE - Function name
Data type: BDLFUVERS-FUNCNAMEDefault: '/1CAGTF/'
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXCEPT - Function name
Data type: BDLFUVERS-FUNCNAMEDefault: '%EXCEPTION'
Optional: Yes
Call by Reference: No ( called with pass by value option)
RUNTIME - Function name
Data type: BDLFUVERS-FUNCNAMEDefault: '%RUNTIME'
Optional: Yes
Call by Reference: No ( called with pass by value option)
LOGFUNC - Logical name
Data type: BDLFUVERS-LOGFUNCDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
DO_NOT_COPY_VAR - OBS
Data type: BDLFUVERS-FUNCNAMEDefault: 'BDL_DO_NOT_COPY'
Optional: Yes
Call by Reference: No ( called with pass by value option)
DEST_MODE_VAR - OBS
Data type: BDLFUVERS-FUNCNAMEDefault: 'BDL_DEST_MOD'
Optional: Yes
Call by Reference: No ( called with pass by value option)
SYNTAX_CHECK - Status of object
Data type: BDLFUVERS-STATUSDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
WHENS_PER_CASE - Internal table, current line index
Data type: SY-TABIXDefault: '10'
Optional: Yes
Call by Reference: No ( called with pass by value option)
STRUCTURES_PER_FORM - Internal table, current line index
Data type: SY-TABIXDefault: '50'
Optional: Yes
Call by Reference: No ( called with pass by value option)
INSERT_COPY_FLAG - OBS
Data type: BDLFUVERS-STATUSDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
INSERT_COPY_FORMS - OBS
Data type: BDLFUVERS-STATUSDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
COMPARE_TABLES - Status of object
Data type: BDLFUVERS-STATUSDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
COPY_BY_ASSIGN - OBS
Data type: BDLFUVERS-STATUSDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
COPY_INCLUDE - OBS
Data type: BDLFUVERS-FUNCNAMEDefault: '/BDL/SCOPY'
Optional: Yes
Call by Reference: No ( called with pass by value option)
CLUST_ID - RFC Download: Function module
Data type: BDLFUVERS-CLUST_IDDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
IGNORE_CONVERSION_ERRORS - Catch system exception
Data type: BDLFUVERS-STATUSDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
IF_SET - Service Definition set
Data type: CHAR10Default: 'BDL'
Optional: Yes
Call by Reference: Yes
IF_VERSION - Version
Data type: /BDL/SD_VERSIONOptional: Yes
Call by Reference: Yes
SESSION - EWA key fields
Data type: /BDL/DATKEYOptional: Yes
Call by Reference: No ( called with pass by value option)
RELID - CHAR02 data element for SYST
Data type: BDLDATCOL-RELIDDefault: 'DL'
Optional: Yes
Call by Reference: No ( called with pass by value option)
DEVCLASS - Function name
Data type: BDLFUVERS-FUNCNAMEDefault: '/BDL/BDL3N'
Optional: Yes
Call by Reference: No ( called with pass by value option)
DATCOL_TAB - OBS
Data type: BDLFUVERS-FUNCNAMEDefault: 'BDLDATCOL'
Optional: Yes
Call by Reference: No ( called with pass by value option)
DTOC_TAB - OBS
Data type: BDLFUVERS-FUNCNAMEDefault: 'BDLDTOC'
Optional: Yes
Call by Reference: No ( called with pass by value option)
DTOC_FIELD - OBS
Data type: BDLFUVERS-FUNCNAMEDefault: 'FUNCMOD'
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
SYNTAX_ERROR - Syntax error detected.
Data type:Optional: No
Call by Reference: Yes
IF_DATA_MISSING - No interface data found.
Data type:Optional: No
Call by Reference: Yes
SET_INVALID - Set is invalid
Data type:Optional: No
Call by Reference: Yes
GENERATION_ERROR - Error occured during generation.
Data type:Optional: No
Call by Reference: Yes
LOCK_FAILED - Lock failed for service maintenance tables.
Data type:Optional: No
Call by Reference: Yes
NO_AUTHORITY - No authorisation to run function.
Data type:Optional: No
Call by Reference: Yes
WRONG_OPTION - Unkown or wrong option.
Data type:Optional: No
Call by Reference: Yes
WRONG_LOGFUNC - Logical function unknown.
Data type:Optional: No
Call by Reference: Yes
WRONG_CLUST_ID - Clust_id unknown.
Data type:Optional: No
Call by Reference: Yes
WRONG_RELEASE - Wrong R/3 release.
Data type:Optional: No
Call by Reference: Yes
WRONG_ABAP_TYPE - Wrong ABAP type found in table BDLSADATA.
Data type:Optional: No
Call by Reference: Yes
Copy and paste ABAP code example for /BDL/_TEST_GENER_INCLUDES 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_option | TYPE BDLFUVERS-FUNCNAME, " SPACE | |||
| lv_syntax_error | TYPE BDLFUVERS, " | |||
| lv_report_name | TYPE BDLFUVERS-FUNCNAME, " '/1CAGTF/MTEST' | |||
| lv_if_data_missing | TYPE BDLFUVERS, " | |||
| lv_set_invalid | TYPE BDLFUVERS, " | |||
| lv_report_devclass | TYPE BDLFUVERS-FUNCNAME, " '$TMP' | |||
| lv_fill_name_rel3 | TYPE BDLFUVERS-FUNCNAME, " '/BDL/SAFLL' | |||
| lv_fill_name | TYPE BDLFUVERS-FUNCNAME, " '/BDL/SAFILL' | |||
| lv_topfill_name_rel3 | TYPE BDLFUVERS-FUNCNAME, " '/BDL/SATOP' | |||
| lv_topfill_name | TYPE BDLFUVERS-FUNCNAME, " '/BDL/SAFILLTOC' | |||
| lv_log_name | TYPE BDLFUVERS-FUNCNAME, " '/BDL/' | |||
| lv_name_space | TYPE BDLFUVERS-FUNCNAME, " '/1CAGTF/' | |||
| lv_except | TYPE BDLFUVERS-FUNCNAME, " '%EXCEPTION' | |||
| lv_runtime | TYPE BDLFUVERS-FUNCNAME, " '%RUNTIME' | |||
| lv_logfunc | TYPE BDLFUVERS-LOGFUNC, " SPACE | |||
| lv_generation_error | TYPE BDLFUVERS, " | |||
| lv_do_not_copy_var | TYPE BDLFUVERS-FUNCNAME, " 'BDL_DO_NOT_COPY' | |||
| lv_dest_mode_var | TYPE BDLFUVERS-FUNCNAME, " 'BDL_DEST_MOD' | |||
| lv_syntax_check | TYPE BDLFUVERS-STATUS, " SPACE | |||
| lv_whens_per_case | TYPE SY-TABIX, " '10' | |||
| lv_structures_per_form | TYPE SY-TABIX, " '50' | |||
| lv_insert_copy_flag | TYPE BDLFUVERS-STATUS, " 'X' | |||
| lv_insert_copy_forms | TYPE BDLFUVERS-STATUS, " 'X' | |||
| lv_compare_tables | TYPE BDLFUVERS-STATUS, " SPACE | |||
| lv_copy_by_assign | TYPE BDLFUVERS-STATUS, " SPACE | |||
| lv_copy_include | TYPE BDLFUVERS-FUNCNAME, " '/BDL/SCOPY' | |||
| lv_clust_id | TYPE BDLFUVERS-CLUST_ID, " SPACE | |||
| lv_lock_failed | TYPE BDLFUVERS, " | |||
| lv_ignore_conversion_errors | TYPE BDLFUVERS-STATUS, " 'X' | |||
| lv_if_set | TYPE CHAR10, " 'BDL' | |||
| lv_if_version | TYPE /BDL/SD_VERSION, " | |||
| lv_session | TYPE /BDL/DATKEY, " | |||
| lv_no_authority | TYPE /BDL/DATKEY, " | |||
| lv_relid | TYPE BDLDATCOL-RELID, " 'DL' | |||
| lv_wrong_option | TYPE BDLDATCOL, " | |||
| lv_devclass | TYPE BDLFUVERS-FUNCNAME, " '/BDL/BDL3N' | |||
| lv_wrong_logfunc | TYPE BDLFUVERS, " | |||
| lv_datcol_tab | TYPE BDLFUVERS-FUNCNAME, " 'BDLDATCOL' | |||
| lv_wrong_clust_id | TYPE BDLFUVERS, " | |||
| lv_dtoc_tab | TYPE BDLFUVERS-FUNCNAME, " 'BDLDTOC' | |||
| lv_wrong_release | TYPE BDLFUVERS, " | |||
| lv_dtoc_field | TYPE BDLFUVERS-FUNCNAME, " 'FUNCMOD' | |||
| lv_wrong_abap_type | TYPE BDLFUVERS. " |
|   CALL FUNCTION '/BDL/_TEST_GENER_INCLUDES' "Test generation of logfunc includes |
| EXPORTING | ||
| OPTION | = lv_option | |
| REPORT_NAME | = lv_report_name | |
| REPORT_DEVCLASS | = lv_report_devclass | |
| FILL_NAME_REL3 | = lv_fill_name_rel3 | |
| FILL_NAME | = lv_fill_name | |
| TOPFILL_NAME_REL3 | = lv_topfill_name_rel3 | |
| TOPFILL_NAME | = lv_topfill_name | |
| LOG_NAME | = lv_log_name | |
| NAME_SPACE | = lv_name_space | |
| EXCEPT | = lv_except | |
| RUNTIME | = lv_runtime | |
| LOGFUNC | = lv_logfunc | |
| DO_NOT_COPY_VAR | = lv_do_not_copy_var | |
| DEST_MODE_VAR | = lv_dest_mode_var | |
| SYNTAX_CHECK | = lv_syntax_check | |
| WHENS_PER_CASE | = lv_whens_per_case | |
| STRUCTURES_PER_FORM | = lv_structures_per_form | |
| INSERT_COPY_FLAG | = lv_insert_copy_flag | |
| INSERT_COPY_FORMS | = lv_insert_copy_forms | |
| COMPARE_TABLES | = lv_compare_tables | |
| COPY_BY_ASSIGN | = lv_copy_by_assign | |
| COPY_INCLUDE | = lv_copy_include | |
| CLUST_ID | = lv_clust_id | |
| IGNORE_CONVERSION_ERRORS | = lv_ignore_conversion_errors | |
| IF_SET | = lv_if_set | |
| IF_VERSION | = lv_if_version | |
| SESSION | = lv_session | |
| RELID | = lv_relid | |
| DEVCLASS | = lv_devclass | |
| DATCOL_TAB | = lv_datcol_tab | |
| DTOC_TAB | = lv_dtoc_tab | |
| DTOC_FIELD | = lv_dtoc_field | |
| EXCEPTIONS | ||
| SYNTAX_ERROR = 1 | ||
| IF_DATA_MISSING = 10 | ||
| SET_INVALID = 11 | ||
| GENERATION_ERROR = 2 | ||
| LOCK_FAILED = 3 | ||
| NO_AUTHORITY = 4 | ||
| WRONG_OPTION = 5 | ||
| WRONG_LOGFUNC = 6 | ||
| WRONG_CLUST_ID = 7 | ||
| WRONG_RELEASE = 8 | ||
| WRONG_ABAP_TYPE = 9 | ||
| . " /BDL/_TEST_GENER_INCLUDES | ||
ABAP code using 7.40 inline data declarations to call FM /BDL/_TEST_GENER_INCLUDES
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 FUNCNAME FROM BDLFUVERS INTO @DATA(ld_option). | ||||
| DATA(ld_option) | = ' '. | |||
| "SELECT single FUNCNAME FROM BDLFUVERS INTO @DATA(ld_report_name). | ||||
| DATA(ld_report_name) | = '/1CAGTF/MTEST'. | |||
| "SELECT single FUNCNAME FROM BDLFUVERS INTO @DATA(ld_report_devclass). | ||||
| DATA(ld_report_devclass) | = '$TMP'. | |||
| "SELECT single FUNCNAME FROM BDLFUVERS INTO @DATA(ld_fill_name_rel3). | ||||
| DATA(ld_fill_name_rel3) | = '/BDL/SAFLL'. | |||
| "SELECT single FUNCNAME FROM BDLFUVERS INTO @DATA(ld_fill_name). | ||||
| DATA(ld_fill_name) | = '/BDL/SAFILL'. | |||
| "SELECT single FUNCNAME FROM BDLFUVERS INTO @DATA(ld_topfill_name_rel3). | ||||
| DATA(ld_topfill_name_rel3) | = '/BDL/SATOP'. | |||
| "SELECT single FUNCNAME FROM BDLFUVERS INTO @DATA(ld_topfill_name). | ||||
| DATA(ld_topfill_name) | = '/BDL/SAFILLTOC'. | |||
| "SELECT single FUNCNAME FROM BDLFUVERS INTO @DATA(ld_log_name). | ||||
| DATA(ld_log_name) | = '/BDL/'. | |||
| "SELECT single FUNCNAME FROM BDLFUVERS INTO @DATA(ld_name_space). | ||||
| DATA(ld_name_space) | = '/1CAGTF/'. | |||
| "SELECT single FUNCNAME FROM BDLFUVERS INTO @DATA(ld_except). | ||||
| DATA(ld_except) | = '%EXCEPTION'. | |||
| "SELECT single FUNCNAME FROM BDLFUVERS INTO @DATA(ld_runtime). | ||||
| DATA(ld_runtime) | = '%RUNTIME'. | |||
| "SELECT single LOGFUNC FROM BDLFUVERS INTO @DATA(ld_logfunc). | ||||
| DATA(ld_logfunc) | = ' '. | |||
| "SELECT single FUNCNAME FROM BDLFUVERS INTO @DATA(ld_do_not_copy_var). | ||||
| DATA(ld_do_not_copy_var) | = 'BDL_DO_NOT_COPY'. | |||
| "SELECT single FUNCNAME FROM BDLFUVERS INTO @DATA(ld_dest_mode_var). | ||||
| DATA(ld_dest_mode_var) | = 'BDL_DEST_MOD'. | |||
| "SELECT single STATUS FROM BDLFUVERS INTO @DATA(ld_syntax_check). | ||||
| DATA(ld_syntax_check) | = ' '. | |||
| "SELECT single TABIX FROM SY INTO @DATA(ld_whens_per_case). | ||||
| DATA(ld_whens_per_case) | = '10'. | |||
| "SELECT single TABIX FROM SY INTO @DATA(ld_structures_per_form). | ||||
| DATA(ld_structures_per_form) | = '50'. | |||
| "SELECT single STATUS FROM BDLFUVERS INTO @DATA(ld_insert_copy_flag). | ||||
| DATA(ld_insert_copy_flag) | = 'X'. | |||
| "SELECT single STATUS FROM BDLFUVERS INTO @DATA(ld_insert_copy_forms). | ||||
| DATA(ld_insert_copy_forms) | = 'X'. | |||
| "SELECT single STATUS FROM BDLFUVERS INTO @DATA(ld_compare_tables). | ||||
| DATA(ld_compare_tables) | = ' '. | |||
| "SELECT single STATUS FROM BDLFUVERS INTO @DATA(ld_copy_by_assign). | ||||
| DATA(ld_copy_by_assign) | = ' '. | |||
| "SELECT single FUNCNAME FROM BDLFUVERS INTO @DATA(ld_copy_include). | ||||
| DATA(ld_copy_include) | = '/BDL/SCOPY'. | |||
| "SELECT single CLUST_ID FROM BDLFUVERS INTO @DATA(ld_clust_id). | ||||
| DATA(ld_clust_id) | = ' '. | |||
| "SELECT single STATUS FROM BDLFUVERS INTO @DATA(ld_ignore_conversion_errors). | ||||
| DATA(ld_ignore_conversion_errors) | = 'X'. | |||
| DATA(ld_if_set) | = 'BDL'. | |||
| "SELECT single RELID FROM BDLDATCOL INTO @DATA(ld_relid). | ||||
| DATA(ld_relid) | = 'DL'. | |||
| "SELECT single FUNCNAME FROM BDLFUVERS INTO @DATA(ld_devclass). | ||||
| DATA(ld_devclass) | = '/BDL/BDL3N'. | |||
| "SELECT single FUNCNAME FROM BDLFUVERS INTO @DATA(ld_datcol_tab). | ||||
| DATA(ld_datcol_tab) | = 'BDLDATCOL'. | |||
| "SELECT single FUNCNAME FROM BDLFUVERS INTO @DATA(ld_dtoc_tab). | ||||
| DATA(ld_dtoc_tab) | = 'BDLDTOC'. | |||
| "SELECT single FUNCNAME FROM BDLFUVERS INTO @DATA(ld_dtoc_field). | ||||
| DATA(ld_dtoc_field) | = 'FUNCMOD'. | |||
Search for further information about these or an SAP related objects