REPORT z_demo_print_selections. *---------------------------------------------------------------------* * Print Selection Parameters - Function PRINT_SELECTIONS * *---------------------------------------------------------------------* * Author : Michel PIOUD * * Email : HomePage : http://www.oocities.org/mpioud * *---------------------------------------------------------------------* TABLES : vbak. " Sales Document: Header Data SELECT-OPTIONS : * Sold-to party s_kunnr FOR vbak-kunnr, * Sales Organization s_vkorg FOR vbak-vkorg DEFAULT '0100' TO '0200'. PARAMETERS : p_datum TYPE datum DEFAULT sy-datum. *---------------------------------------------------------------------* INITIALIZATION. * Fill S_KUNNR CLEAR s_kunnr. s_kunnr-sign = 'I'. s_kunnr-option = 'EQ'. s_kunnr-low = '1000'. APPEND s_kunnr. s_kunnr-low = '1010'. APPEND s_kunnr. s_kunnr-low = '1020'. APPEND s_kunnr. s_kunnr-sign = 'I'. s_kunnr-option = 'BT'. s_kunnr-low = '2000'. s_kunnr-high = '3000'. APPEND s_kunnr. s_kunnr-sign = 'E'. s_kunnr-option = 'BT'. s_kunnr-low = '2800'. s_kunnr-high = '2900'. APPEND s_kunnr. CLEAR s_kunnr. s_kunnr-sign = 'E'. s_kunnr-option = 'EQ'. s_kunnr-low = '2700'. APPEND s_kunnr. *---------------------------------------------------------------------* START-OF-SELECTION. * Print Selection Parameters PERFORM f_print_selections. *---------------------------------------------------------------------* * Form f_print_selections *---------------------------------------------------------------------* FORM f_print_selections . DATA: l_even TYPE p, l_offset TYPE i VALUE 0, BEGIN OF lt_info OCCURS 20, flag, olength TYPE x, line LIKE raldb-infoline, END OF lt_info. CALL FUNCTION 'PRINT_SELECTIONS' EXPORTING mode = 'TABLE' rname = sy-cprog rvariante = sy-slset TABLES infotab = lt_info. WRITE :/ '--- SELECTION PARAMETERS ---'(001). SKIP. LOOP AT lt_info FROM 6. IF lt_info-line+1(1) <> '-'. l_even = ( sy-tabix + l_offset ) MOD 2. IF l_even = 0 AND lt_info-line+5(4) <> 'or '(002) AND lt_info-line+5(4) <> 'and '(003). WRITE : / lt_info-line+2(30). ELSEIF lt_info-line+5(4) = 'or '(002) OR lt_info-line+5(4) = 'and '(003). l_offset = 1 - l_offset. WRITE : /21 lt_info-line+5(60). ELSE. WRITE : lt_info-line+16(49). ENDIF. ENDIF. ENDLOOP. ENDFORM. " f_print_selections ************** END OF PROGRAM Z_DEMO_PRINT_SELECTIONS *****************