SAP BSFC_DIALOG Function Module for Edit Questions for Dialog
BSFC_DIALOG is a standard bsfc dialog SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Edit Questions for Dialog 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 bsfc dialog FM, simply by entering the name BSFC_DIALOG into the relevant SAP transaction such as SE37 or SE38.
Function Group: BSFC
Program Name: SAPLBSFC
Main Program: SAPLBSFC
Appliation area: S
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function BSFC_DIALOG 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 'BSFC_DIALOG'"Edit Questions for Dialog.
EXPORTING
* I_DIALOG_POS_X = 0 "
* I_READ_ONLY = ' ' "
* I_QUICK_QUESTION = ' ' "Character Field of Length 1
* I_EXPAND = "
* I_DIALOG_POS_Y = 0 "
* I_TITLE = ' ' "Dialog Title
I_APPLICATION = "Application Key
I_QUESEQ = "Question Group
* I_EFFUTC = "UTC Time Stamp in Short Form (YYYYMMDDhhmmss)
* I_RESULT_INDEX = 0 "
* I_VARIANT = 0 "
* I_CURRENCY = ' ' "Local Currency
IMPORTING
E_STATUS = "
E_CHANGED = "
CHANGING
* C_VERSION = "Version Number
TABLES
CT_RESULT = "Results Table
* CT_RESULT_TEXT = "
EXCEPTIONS
START_QUESTION_NOT_FOUND = 1 QUESTION_NOT_FOUND = 2 ANSWERS_NOT_FOUND = 3 LANGUAGE_NOT_SUPPORTED = 4 APPLICATION_NOT_FOUND = 5 NO_DATA_FOR_VALID_DATE = 6 NO_VERSION_FOUND = 7
IMPORTING Parameters details for BSFC_DIALOG
I_DIALOG_POS_X -
Data type: SY-WINX1Optional: Yes
Call by Reference: No ( called with pass by value option)
I_READ_ONLY -
Data type: BOOLE-BOOLEDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_QUICK_QUESTION - Character Field of Length 1
Data type: CHAR01Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_EXPAND -
Data type: BOOLE-BOOLEOptional: Yes
Call by Reference: No ( called with pass by value option)
I_DIALOG_POS_Y -
Data type: SY-WINY1Optional: Yes
Call by Reference: No ( called with pass by value option)
I_TITLE - Dialog Title
Data type:Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_APPLICATION - Application Key
Data type: TBSFC003-APPLICATIONOptional: No
Call by Reference: No ( called with pass by value option)
I_QUESEQ - Question Group
Data type: TBSFC001-QUESEQOptional: No
Call by Reference: No ( called with pass by value option)
I_EFFUTC - UTC Time Stamp in Short Form (YYYYMMDDhhmmss)
Data type: TZNTSTMPSOptional: Yes
Call by Reference: No ( called with pass by value option)
I_RESULT_INDEX -
Data type: IOptional: Yes
Call by Reference: No ( called with pass by value option)
I_VARIANT -
Data type: TBSFC002-AVARIANTOptional: Yes
Call by Reference: No ( called with pass by value option)
I_CURRENCY - Local Currency
Data type: T005-WAERSDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for BSFC_DIALOG
E_STATUS -
Data type: ICL_SFCSTATUSOptional: No
Call by Reference: No ( called with pass by value option)
E_CHANGED -
Data type: BOOLE-BOOLEOptional: No
Call by Reference: No ( called with pass by value option)
CHANGING Parameters details for BSFC_DIALOG
C_VERSION - Version Number
Data type: TBSFC001-VERSIONOptional: Yes
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for BSFC_DIALOG
CT_RESULT - Results Table
Data type: BSFC_RESULTOptional: No
Call by Reference: No ( called with pass by value option)
CT_RESULT_TEXT -
Data type: BSFC_RESULT_TEXTOptional: Yes
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
START_QUESTION_NOT_FOUND -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
QUESTION_NOT_FOUND -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
ANSWERS_NOT_FOUND -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
LANGUAGE_NOT_SUPPORTED - Language not supported
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
APPLICATION_NOT_FOUND -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NO_DATA_FOR_VALID_DATE -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NO_VERSION_FOUND -
Data type:Optional: No
Call by Reference: Yes
Copy and paste ABAP code example for BSFC_DIALOG 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_e_status | TYPE ICL_SFCSTATUS, " | |||
| lt_ct_result | TYPE STANDARD TABLE OF BSFC_RESULT, " | |||
| lv_c_version | TYPE TBSFC001-VERSION, " | |||
| lv_i_dialog_pos_x | TYPE SY-WINX1, " 0 | |||
| lv_start_question_not_found | TYPE SY, " | |||
| lv_i_read_only | TYPE BOOLE-BOOLE, " SPACE | |||
| lv_i_quick_question | TYPE CHAR01, " SPACE | |||
| lv_i_expand | TYPE BOOLE-BOOLE, " | |||
| lv_e_changed | TYPE BOOLE-BOOLE, " | |||
| lt_ct_result_text | TYPE STANDARD TABLE OF BSFC_RESULT_TEXT, " | |||
| lv_i_dialog_pos_y | TYPE SY-WINY1, " 0 | |||
| lv_question_not_found | TYPE SY, " | |||
| lv_i_title | TYPE SY, " SPACE | |||
| lv_answers_not_found | TYPE SY, " | |||
| lv_i_application | TYPE TBSFC003-APPLICATION, " | |||
| lv_language_not_supported | TYPE TBSFC003, " | |||
| lv_i_queseq | TYPE TBSFC001-QUESEQ, " | |||
| lv_application_not_found | TYPE TBSFC001, " | |||
| lv_i_effutc | TYPE TZNTSTMPS, " | |||
| lv_no_data_for_valid_date | TYPE TZNTSTMPS, " | |||
| lv_i_result_index | TYPE I, " 0 | |||
| lv_no_version_found | TYPE I, " | |||
| lv_i_variant | TYPE TBSFC002-AVARIANT, " 0 | |||
| lv_i_currency | TYPE T005-WAERS. " SPACE |
|   CALL FUNCTION 'BSFC_DIALOG' "Edit Questions for Dialog |
| EXPORTING | ||
| I_DIALOG_POS_X | = lv_i_dialog_pos_x | |
| I_READ_ONLY | = lv_i_read_only | |
| I_QUICK_QUESTION | = lv_i_quick_question | |
| I_EXPAND | = lv_i_expand | |
| I_DIALOG_POS_Y | = lv_i_dialog_pos_y | |
| I_TITLE | = lv_i_title | |
| I_APPLICATION | = lv_i_application | |
| I_QUESEQ | = lv_i_queseq | |
| I_EFFUTC | = lv_i_effutc | |
| I_RESULT_INDEX | = lv_i_result_index | |
| I_VARIANT | = lv_i_variant | |
| I_CURRENCY | = lv_i_currency | |
| IMPORTING | ||
| E_STATUS | = lv_e_status | |
| E_CHANGED | = lv_e_changed | |
| CHANGING | ||
| C_VERSION | = lv_c_version | |
| TABLES | ||
| CT_RESULT | = lt_ct_result | |
| CT_RESULT_TEXT | = lt_ct_result_text | |
| EXCEPTIONS | ||
| START_QUESTION_NOT_FOUND = 1 | ||
| QUESTION_NOT_FOUND = 2 | ||
| ANSWERS_NOT_FOUND = 3 | ||
| LANGUAGE_NOT_SUPPORTED = 4 | ||
| APPLICATION_NOT_FOUND = 5 | ||
| NO_DATA_FOR_VALID_DATE = 6 | ||
| NO_VERSION_FOUND = 7 | ||
| . " BSFC_DIALOG | ||
ABAP code using 7.40 inline data declarations to call FM BSFC_DIALOG
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 VERSION FROM TBSFC001 INTO @DATA(ld_c_version). | ||||
| "SELECT single WINX1 FROM SY INTO @DATA(ld_i_dialog_pos_x). | ||||
| "SELECT single BOOLE FROM BOOLE INTO @DATA(ld_i_read_only). | ||||
| DATA(ld_i_read_only) | = ' '. | |||
| DATA(ld_i_quick_question) | = ' '. | |||
| "SELECT single BOOLE FROM BOOLE INTO @DATA(ld_i_expand). | ||||
| "SELECT single BOOLE FROM BOOLE INTO @DATA(ld_e_changed). | ||||
| "SELECT single WINY1 FROM SY INTO @DATA(ld_i_dialog_pos_y). | ||||
| DATA(ld_i_title) | = ' '. | |||
| "SELECT single APPLICATION FROM TBSFC003 INTO @DATA(ld_i_application). | ||||
| "SELECT single QUESEQ FROM TBSFC001 INTO @DATA(ld_i_queseq). | ||||
| "SELECT single AVARIANT FROM TBSFC002 INTO @DATA(ld_i_variant). | ||||
| "SELECT single WAERS FROM T005 INTO @DATA(ld_i_currency). | ||||
| DATA(ld_i_currency) | = ' '. | |||
Search for further information about these or an SAP related objects