Saturday, September 3, 2011

Offset


OFFSET

DATA CH(10) VALUE '1234567890'.
WRITE / CH+7. "FIRST 7 VALUE SUPPESTED
WRITE / CH+5(4). "REMAINING VALUE REPRESENTED

Multiple Line - Interactive List

TYPES: BEGIN OF STR,
GP,
PT TYPE INT2,
END OF STR.

DATA ITAB TYPE STANDARD TABLE OF STR.
DATA WA TYPE STR.

WA-GP = 'A'.WA-PT = 10.APPEND WA TO ITAB.
WA-GP = 'A'.WA-PT = 30.APPEND WA TO ITAB.
WA-GP = 'A'.WA-PT = 50.APPEND WA TO ITAB.
WA-GP = 'A'.WA-PT = 70.APPEND WA TO ITAB.
WA-GP = 'A'.WA-PT = 90.APPEND WA TO ITAB.

WA-GP = 'B'.WA-PT = 20.APPEND WA TO ITAB.
WA-GP = 'B'.WA-PT = 40.APPEND WA TO ITAB.
WA-GP = 'B'.WA-PT = 60.APPEND WA TO ITAB.
WA-GP = 'B'.WA-PT = 80.APPEND WA TO ITAB.
WA-GP = 'B'.WA-PT = 100.APPEND WA TO ITAB.

SORT ITAB BY GP.
DATA CB.
DATA: WAS_USED.
LOOP AT ITAB INTO WA.
WRITE: / CB AS CHECKBOX,WAS_USED,WA-GP,WA-PT.
HIDE: WA-GP,WA-PT.
ENDLOOP.



AT PF6.
DO.
CLEAR CB.
READ LINE SY-INDEX FIELD VALUE CB.
IF SY-SUBRC <> 0.
EXIT.
ELSE.
CHECK CB = 'X'.
MODIFY CURRENT LINE:
FIELD VALUE WAS_USED FROM '*' CB FROM SPACE
FIELD FORMAT CB INPUT OFF.
WRITE: / WA-GP, WA-PT.
ENDIF.
ENDDO.

Atline Selection

TYPES: BEGIN OF STR,
GP,
PT TYPE INT2,
END OF STR.

DATA ITAB TYPE STANDARD TABLE OF STR.
DATA WA TYPE STR.

WA-GP = 'A'.WA-PT = 10.APPEND WA TO ITAB.
WA-GP = 'A'.WA-PT = 30.APPEND WA TO ITAB.
WA-GP = 'A'.WA-PT = 50.APPEND WA TO ITAB.
WA-GP = 'A'.WA-PT = 70.APPEND WA TO ITAB.
WA-GP = 'A'.WA-PT = 90.APPEND WA TO ITAB.

WA-GP = 'B'.WA-PT = 20.APPEND WA TO ITAB.
WA-GP = 'B'.WA-PT = 40.APPEND WA TO ITAB.
WA-GP = 'B'.WA-PT = 60.APPEND WA TO ITAB.
WA-GP = 'B'.WA-PT = 80.APPEND WA TO ITAB.
WA-GP = 'B'.WA-PT = 100.APPEND WA TO ITAB.

SORT ITAB BY GP.
LOOP AT ITAB INTO WA.
WRITE: / WA-GP, WA-PT.
HIDE: WA-GP,WA-PT.
ENDLOOP.

AT LINE-SELECTION.
LOOP AT ITAB INTO WA WHERE PT = WA-PT.
WRITE: / WA-GP, WA-PT.
ENDLOOP.

Loop at Control


TYPES: BEGIN OF STR,
GP,
PT TYPE INT2,
END OF STR.

DATA ITAB TYPE STANDARD TABLE OF STR.
DATA WA TYPE STR.

WA-GP = 'A'.WA-PT = 10.APPEND WA TO ITAB.
WA-GP = 'A'.WA-PT = 30.APPEND WA TO ITAB.
WA-GP = 'A'.WA-PT = 50.APPEND WA TO ITAB.
WA-GP = 'A'.WA-PT = 70.APPEND WA TO ITAB.
WA-GP = 'A'.WA-PT = 90.APPEND WA TO ITAB.

WA-GP = 'B'.WA-PT = 20.APPEND WA TO ITAB.
WA-GP = 'B'.WA-PT = 40.APPEND WA TO ITAB.
WA-GP = 'B'.WA-PT = 60.APPEND WA TO ITAB.
WA-GP = 'B'.WA-PT = 80.APPEND WA TO ITAB.
WA-GP = 'B'.WA-PT = 100.APPEND WA TO ITAB.

SORT ITAB BY GP.
LOOP AT ITAB INTO WA.
AT FIRST.
ULINE (15).
WRITE: / 'GROUPS','POINTS'.
ENDAT.

AT NEW GP.
ULINE /(15).
WRITE: / 'GROUP', WA-GP.
ENDAT.

WRITE: / WA-GP, WA-PT.

AT END OF GP.
SUM.
ULINE /(15).
WRITE: / 'GROUP',WA-GP,'SUB-TOTAL', WA-PT.
ENDAT.

AT LAST.
SUM.
ULINE /(15).
WRITE: / 'TOTAL',WA-PT.
ULINE /(15).
ENDAT.
ENDLOOP.