Skip to content

Instantly share code, notes, and snippets.

@akshayrajkumar
Created June 12, 2018 07:00
Show Gist options
  • Save akshayrajkumar/2d94c0199121a60c6e7906391deda6d5 to your computer and use it in GitHub Desktop.
Save akshayrajkumar/2d94c0199121a60c6e7906391deda6d5 to your computer and use it in GitHub Desktop.
to add selected fields from internal table using RANGES
* prog 27
TABLES: kna1.
TYPES: BEGIN OF t_kna1,
v_name1 LIKE kna1-name1,
v_name2 LIKE kna1-name2,
v_land1 LIKE kna1-land1,
END OF t_kna1.
SKIP 2.
SELECTION-SCREEN BEGIN OF BLOCK one WITH FRAME TITLE text-002.
PARAMETERS: asc RADIOBUTTON GROUP rad USER-COMMAND radio,
des RADIOBUTTON GROUP rad.
PARAMETERS : de AS CHECKBOX default 'X',
gb AS CHECKBOX,
us AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK one.
DATA: int_table TYPE STANDARD TABLE OF t_kna1,
wa_table TYPE t_kna1.
RANGES rang FOR kna1-land1.
START-OF-SELECTION.
rang-sign = 'I'.
rang-option = 'EQ'.
* IF sy-subrc = 0.
IF de = 'X'.
rang-low = 'DE'.
APPEND rang.
ENDIF.
IF gb = 'X'.
rang-low = 'GB'.
APPEND rang.
ENDIF.
IF us = 'X'.
rang-low = 'US'.
APPEND rang.
ENDIF.
*
* ELSE.
* MESSAGE 'invalid check option' TYPE 'E'.
* ENDIF.
SELECT name1 name2 land1 FROM kna1 INTO TABLE int_table where land1 in rang.
* RADIOBUTTON CONDITION CHECK
IF asc = 'X'.
SORT int_table BY v_land1 ASCENDING.
ELSE.
SORT int_table BY v_land1 DESCENDING.
ENDIF.
LOOP AT int_table INTO wa_table.
WRITE:/ wa_table-v_name1 ,wa_table-v_name2 ,wa_table-v_land1.
ENDLOOP.
END-OF-SELECTION.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment