SAP STC1_CREATE_HANDLE Function Module for
STC1_CREATE_HANDLE is a standard stc1 create handle SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used to perform a specific ABAP function and below is the pattern details, 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 stc1 create handle FM, simply by entering the name STC1_CREATE_HANDLE into the relevant SAP transaction such as SE37 or SE38.
Function Group: STC1
Program Name: SAPLSTC1
Main Program: SAPLSTC1
Appliation area: S
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function STC1_CREATE_HANDLE 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 'STC1_CREATE_HANDLE'".
EXPORTING
HEADER = "
* COPY_CHECK = "
* DELETE_CHECK = "
* MODIFY_DISP_FIELD = "
* EXPORT_MODULE = "
* PASTE_MODULE = "
* CUT_MODULE = "
* NO_INSERT = "
* NO_DELETE = "
* NO_MOVE = "
* NO_UNDO = "
TABNAME = "
* NO_BUTTON = "
* NO_PICK = 'X' "
* ADDITIONAL_BUTTON = "
* ADD_BUTTON_CALL = "
* ADD_BUTTON_POSITION = "Position of the field in the table
* ADD_BUTTON_HEADER = "
* MAXWIDTH = "
* UNIQUE_KEY = "
* NO_MARKER = "
* SINGLE_LINE_SELECT = "
* CALLBACK_HANDLE = "
* FIXED_DYNNR = "ABAP Program: Number of Current Screen
* DISPLAY_ONLY = "
* ENDLESS = "
* DISPLAY_TOGGLE = "
* SORT_FORBIDDEN = "
* MODIFY_CHECK = "
* INSERT_CHECK = "
IMPORTING
DYNPROREPORT = "
DYNPRONR = "
TABHANDLE = "
TABLES
* NAMETAB = "
* FIELDDIF = "
* BUTTON_LIST = "
* FIELD_LIST = "
EXCEPTIONS
NO_MORE_TABLES = 1 TOO_MANY_FIELDS = 2 NAMETAB_NOT_VALID = 3 HANDLE_NOT_VALID = 4 TABLE_ALREADY_USED = 5
IMPORTING Parameters details for STC1_CREATE_HANDLE
HEADER -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
COPY_CHECK -
Data type: FIELD_DIF-CHKROUTINEOptional: Yes
Call by Reference: No ( called with pass by value option)
DELETE_CHECK -
Data type: FIELD_DIF-CHKROUTINEOptional: Yes
Call by Reference: No ( called with pass by value option)
MODIFY_DISP_FIELD -
Data type: FIELD_DIF-CHKROUTINEOptional: Yes
Call by Reference: No ( called with pass by value option)
EXPORT_MODULE -
Data type: FIELD_DIF-CHKROUTINEOptional: Yes
Call by Reference: No ( called with pass by value option)
PASTE_MODULE -
Data type: FIELD_DIF-CHKROUTINEOptional: Yes
Call by Reference: No ( called with pass by value option)
CUT_MODULE -
Data type: FIELD_DIF-CHKROUTINEOptional: Yes
Call by Reference: No ( called with pass by value option)
NO_INSERT -
Data type:Optional: Yes
Call by Reference: No ( called with pass by value option)
NO_DELETE -
Data type:Optional: Yes
Call by Reference: No ( called with pass by value option)
NO_MOVE -
Data type:Optional: Yes
Call by Reference: No ( called with pass by value option)
NO_UNDO -
Data type:Optional: Yes
Call by Reference: No ( called with pass by value option)
TABNAME -
Data type: DD02L-TABNAMEOptional: No
Call by Reference: No ( called with pass by value option)
NO_BUTTON -
Data type:Optional: Yes
Call by Reference: No ( called with pass by value option)
NO_PICK -
Data type:Default: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
ADDITIONAL_BUTTON -
Data type: FIELD_DIF-DIFFTEXTOptional: Yes
Call by Reference: No ( called with pass by value option)
ADD_BUTTON_CALL -
Data type: FIELD_DIF-PUSH_CALLOptional: Yes
Call by Reference: No ( called with pass by value option)
ADD_BUTTON_POSITION - Position of the field in the table
Data type: DFIES-POSITIONOptional: Yes
Call by Reference: No ( called with pass by value option)
ADD_BUTTON_HEADER -
Data type: FIELD_DIF-DIFFTEXTOptional: Yes
Call by Reference: No ( called with pass by value option)
MAXWIDTH -
Data type:Optional: Yes
Call by Reference: No ( called with pass by value option)
UNIQUE_KEY -
Data type:Optional: Yes
Call by Reference: Yes
NO_MARKER -
Data type:Optional: Yes
Call by Reference: Yes
SINGLE_LINE_SELECT -
Data type:Optional: Yes
Call by Reference: Yes
CALLBACK_HANDLE -
Data type: TCDAT_CALLBACK_HANDLEOptional: Yes
Call by Reference: No ( called with pass by value option)
FIXED_DYNNR - ABAP Program: Number of Current Screen
Data type: SY-DYNNROptional: Yes
Call by Reference: Yes
DISPLAY_ONLY -
Data type:Optional: Yes
Call by Reference: No ( called with pass by value option)
ENDLESS -
Data type:Optional: Yes
Call by Reference: No ( called with pass by value option)
DISPLAY_TOGGLE -
Data type:Optional: Yes
Call by Reference: No ( called with pass by value option)
SORT_FORBIDDEN -
Data type:Optional: Yes
Call by Reference: No ( called with pass by value option)
MODIFY_CHECK -
Data type: FIELD_DIF-CHKROUTINEOptional: Yes
Call by Reference: No ( called with pass by value option)
INSERT_CHECK -
Data type: FIELD_DIF-CHKROUTINEOptional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for STC1_CREATE_HANDLE
DYNPROREPORT -
Data type: SY-CPROGOptional: No
Call by Reference: No ( called with pass by value option)
DYNPRONR -
Data type: SY-DYNNROptional: No
Call by Reference: No ( called with pass by value option)
TABHANDLE -
Data type: TCDAT_TAB_HANDLEOptional: No
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for STC1_CREATE_HANDLE
NAMETAB -
Data type: DFIESOptional: Yes
Call by Reference: No ( called with pass by value option)
FIELDDIF -
Data type: FIELD_DIFOptional: Yes
Call by Reference: No ( called with pass by value option)
BUTTON_LIST -
Data type: TCDAT_ACTIVE_BUTTON_LISTOptional: Yes
Call by Reference: No ( called with pass by value option)
FIELD_LIST -
Data type: TCDAT_FIELDS_TABOptional: Yes
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
NO_MORE_TABLES -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
TOO_MANY_FIELDS -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NAMETAB_NOT_VALID -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
HANDLE_NOT_VALID -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
TABLE_ALREADY_USED -
Data type:Optional: No
Call by Reference: Yes
Copy and paste ABAP code example for STC1_CREATE_HANDLE 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_header | TYPE STRING, " | |||
| lt_nametab | TYPE STANDARD TABLE OF DFIES, " | |||
| lv_dynproreport | TYPE SY-CPROG, " | |||
| lv_no_more_tables | TYPE SY, " | |||
| lv_copy_check | TYPE FIELD_DIF-CHKROUTINE, " | |||
| lv_delete_check | TYPE FIELD_DIF-CHKROUTINE, " | |||
| lv_modify_disp_field | TYPE FIELD_DIF-CHKROUTINE, " | |||
| lv_export_module | TYPE FIELD_DIF-CHKROUTINE, " | |||
| lv_paste_module | TYPE FIELD_DIF-CHKROUTINE, " | |||
| lv_cut_module | TYPE FIELD_DIF-CHKROUTINE, " | |||
| lv_no_insert | TYPE FIELD_DIF, " | |||
| lv_no_delete | TYPE FIELD_DIF, " | |||
| lv_no_move | TYPE FIELD_DIF, " | |||
| lv_no_undo | TYPE FIELD_DIF, " | |||
| lv_tabname | TYPE DD02L-TABNAME, " | |||
| lv_dynpronr | TYPE SY-DYNNR, " | |||
| lt_fielddif | TYPE STANDARD TABLE OF FIELD_DIF, " | |||
| lv_too_many_fields | TYPE FIELD_DIF, " | |||
| lv_no_button | TYPE FIELD_DIF, " | |||
| lv_no_pick | TYPE FIELD_DIF, " 'X' | |||
| lv_additional_button | TYPE FIELD_DIF-DIFFTEXT, " | |||
| lv_add_button_call | TYPE FIELD_DIF-PUSH_CALL, " | |||
| lv_add_button_position | TYPE DFIES-POSITION, " | |||
| lv_add_button_header | TYPE FIELD_DIF-DIFFTEXT, " | |||
| lv_maxwidth | TYPE FIELD_DIF, " | |||
| lv_unique_key | TYPE FIELD_DIF, " | |||
| lv_no_marker | TYPE FIELD_DIF, " | |||
| lv_single_line_select | TYPE FIELD_DIF, " | |||
| lv_tabhandle | TYPE TCDAT_TAB_HANDLE, " | |||
| lt_button_list | TYPE STANDARD TABLE OF TCDAT_ACTIVE_BUTTON_LIST, " | |||
| lv_callback_handle | TYPE TCDAT_CALLBACK_HANDLE, " | |||
| lv_nametab_not_valid | TYPE TCDAT_CALLBACK_HANDLE, " | |||
| lv_fixed_dynnr | TYPE SY-DYNNR, " | |||
| lt_field_list | TYPE STANDARD TABLE OF TCDAT_FIELDS_TAB, " | |||
| lv_display_only | TYPE TCDAT_FIELDS_TAB, " | |||
| lv_handle_not_valid | TYPE TCDAT_FIELDS_TAB, " | |||
| lv_endless | TYPE TCDAT_FIELDS_TAB, " | |||
| lv_table_already_used | TYPE TCDAT_FIELDS_TAB, " | |||
| lv_display_toggle | TYPE TCDAT_FIELDS_TAB, " | |||
| lv_sort_forbidden | TYPE TCDAT_FIELDS_TAB, " | |||
| lv_modify_check | TYPE FIELD_DIF-CHKROUTINE, " | |||
| lv_insert_check | TYPE FIELD_DIF-CHKROUTINE. " |
|   CALL FUNCTION 'STC1_CREATE_HANDLE' " |
| EXPORTING | ||
| HEADER | = lv_header | |
| COPY_CHECK | = lv_copy_check | |
| DELETE_CHECK | = lv_delete_check | |
| MODIFY_DISP_FIELD | = lv_modify_disp_field | |
| EXPORT_MODULE | = lv_export_module | |
| PASTE_MODULE | = lv_paste_module | |
| CUT_MODULE | = lv_cut_module | |
| NO_INSERT | = lv_no_insert | |
| NO_DELETE | = lv_no_delete | |
| NO_MOVE | = lv_no_move | |
| NO_UNDO | = lv_no_undo | |
| TABNAME | = lv_tabname | |
| NO_BUTTON | = lv_no_button | |
| NO_PICK | = lv_no_pick | |
| ADDITIONAL_BUTTON | = lv_additional_button | |
| ADD_BUTTON_CALL | = lv_add_button_call | |
| ADD_BUTTON_POSITION | = lv_add_button_position | |
| ADD_BUTTON_HEADER | = lv_add_button_header | |
| MAXWIDTH | = lv_maxwidth | |
| UNIQUE_KEY | = lv_unique_key | |
| NO_MARKER | = lv_no_marker | |
| SINGLE_LINE_SELECT | = lv_single_line_select | |
| CALLBACK_HANDLE | = lv_callback_handle | |
| FIXED_DYNNR | = lv_fixed_dynnr | |
| DISPLAY_ONLY | = lv_display_only | |
| ENDLESS | = lv_endless | |
| DISPLAY_TOGGLE | = lv_display_toggle | |
| SORT_FORBIDDEN | = lv_sort_forbidden | |
| MODIFY_CHECK | = lv_modify_check | |
| INSERT_CHECK | = lv_insert_check | |
| IMPORTING | ||
| DYNPROREPORT | = lv_dynproreport | |
| DYNPRONR | = lv_dynpronr | |
| TABHANDLE | = lv_tabhandle | |
| TABLES | ||
| NAMETAB | = lt_nametab | |
| FIELDDIF | = lt_fielddif | |
| BUTTON_LIST | = lt_button_list | |
| FIELD_LIST | = lt_field_list | |
| EXCEPTIONS | ||
| NO_MORE_TABLES = 1 | ||
| TOO_MANY_FIELDS = 2 | ||
| NAMETAB_NOT_VALID = 3 | ||
| HANDLE_NOT_VALID = 4 | ||
| TABLE_ALREADY_USED = 5 | ||
| . " STC1_CREATE_HANDLE | ||
ABAP code using 7.40 inline data declarations to call FM STC1_CREATE_HANDLE
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 CPROG FROM SY INTO @DATA(ld_dynproreport). | ||||
| "SELECT single CHKROUTINE FROM FIELD_DIF INTO @DATA(ld_copy_check). | ||||
| "SELECT single CHKROUTINE FROM FIELD_DIF INTO @DATA(ld_delete_check). | ||||
| "SELECT single CHKROUTINE FROM FIELD_DIF INTO @DATA(ld_modify_disp_field). | ||||
| "SELECT single CHKROUTINE FROM FIELD_DIF INTO @DATA(ld_export_module). | ||||
| "SELECT single CHKROUTINE FROM FIELD_DIF INTO @DATA(ld_paste_module). | ||||
| "SELECT single CHKROUTINE FROM FIELD_DIF INTO @DATA(ld_cut_module). | ||||
| "SELECT single TABNAME FROM DD02L INTO @DATA(ld_tabname). | ||||
| "SELECT single DYNNR FROM SY INTO @DATA(ld_dynpronr). | ||||
| DATA(ld_no_pick) | = 'X'. | |||
| "SELECT single DIFFTEXT FROM FIELD_DIF INTO @DATA(ld_additional_button). | ||||
| "SELECT single PUSH_CALL FROM FIELD_DIF INTO @DATA(ld_add_button_call). | ||||
| "SELECT single POSITION FROM DFIES INTO @DATA(ld_add_button_position). | ||||
| "SELECT single DIFFTEXT FROM FIELD_DIF INTO @DATA(ld_add_button_header). | ||||
| "SELECT single DYNNR FROM SY INTO @DATA(ld_fixed_dynnr). | ||||
| "SELECT single CHKROUTINE FROM FIELD_DIF INTO @DATA(ld_modify_check). | ||||
| "SELECT single CHKROUTINE FROM FIELD_DIF INTO @DATA(ld_insert_check). | ||||
Search for further information about these or an SAP related objects