โดยส่วนมาก ถ้า Report เป็นประเภท Report ALV จะต้องสามารถ ทำให้บันทึก Layout ของ ALV ได้ และเมื่อบันทึกได้ ก็ต้องสามารถสั่งเลือกได้ ผ่านทางหน้า Screen ก่อนรัน Report เพื่อความสะดวกและรวดเร็วในการใช้งาน Report
Step 0. กำหนดตัวแปรที่ต้องใช้งาน
DATA: gd_repid LIKE sy-repid, g_save TYPE c VALUE 'X', g_variant TYPE disvariant, gx_variant TYPE disvariant, g_exit TYPE c.
Step 1. ประกาศพารามิเตอร์ p_vari สำหรับ Display variant
PARAMETERS: p_vari TYPE disvariant-variant.
Step 2. ระบุ Code เริ่มต้นที่ INITIALIZATION.
gx_variant-report = sy-repid. CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET' EXPORTING i_save = g_save CHANGING cs_variant = gx_variant EXCEPTIONS not_found = 2. IF sy-subrc = 0. p_vari = gx_variant-variant.
Step 3. ระบุ Code ภายใต้ AT SELECTION-SCREEN.
** F4 Help for Varient AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari. **-- Display all existing variants g_variant-report = sy-repid. * Utilizing the name of the report, this function module will search for a list of * variants and will fetch the selected one into the parameter field for variants CALL FUNCTION 'REUSE_ALV_VARIANT_F4' EXPORTING is_variant = g_variant i_save = g_save IMPORTING e_exit = g_exit es_variant = gx_variant EXCEPTIONS not_found = 2. IF sy-subrc = 2. MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ELSE. IF g_exit = space. p_vari = gx_variant-variant. ENDIF. ENDIF.
Step 4. ระบุ Code ภายใต้ START-OF-SELECTION.
PERFORM check_variant. FORM check_variant . g_variant-variant = p_vari. g_variant-report = sy-repid. CALL FUNCTION 'LVC_VARIANT_EXISTENCE_CHECK' "Check for display variant EXPORTING i_save = space "Variants Can be Saved CHANGING cs_variant = g_variant "Variant information EXCEPTIONS wrong_input = 1 "Inconsistent input parameters not_found = 2 "Variant not found program_error = 3 "Program Errors . " LVC_VARIANT_EXISTENCE_CHECK IF sy-subrc = 2. MESSAGE 'Display Variant Not Found, Displaying Default Variant' TYPE 'S'. ENDIF. CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET' EXPORTING i_save = g_save CHANGING cs_variant = gx_variant EXCEPTIONS not_found = 2. IF sy-subrc = 0. p_vari = gx_variant-variant. ENDIF. ENDFORM. "CHECK_VARIANT
หลังจากระบุ Code เสร็จ จะได้หน้าตาการทำงานดังนี้








