Skip to content

Instantly share code, notes, and snippets.

@akshayrajkumar
Created June 7, 2018 04:01
Show Gist options
  • Save akshayrajkumar/46a30aea330fbb5009452978ddd3dd72 to your computer and use it in GitHub Desktop.
Save akshayrajkumar/46a30aea330fbb5009452978ddd3dd72 to your computer and use it in GitHub Desktop.
SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-001.
PARAMETERS: operator TYPE c.
SELECTION-SCREEN END OF BLOCK a.
DATA: inta TYPE i, intb TYPE i,
counter TYPE i VALUE 1,
result TYPE i,
INDEX TYPE SY-INDEX.
AT SELECTION-SCREEN.
IF operator = '+' OR operator = '-' OR operator = '*' OR operator ='/'.
ELSE.
MESSAGE 'invalid operator' TYPE 'E'.
ENDIF.
START-OF-SELECTION.
WRITE : 11 operator, sy-vline.
IF OPERATOR = '+'.
DO 8 TIMES.
WRITE : sy-index.
ENDDO.
ULINE.
DO 8 TIMES.
WRITE : / sy-index.
WRITE sy-vline.
index = sy-index.
DO 8 TIMES.
result = index + counter.
WRITE result.
counter = counter + 1.
ENDDO.
CLEAR : result.
counter = 1.
ENDDO.
ELSEIF OPERATOR = '-'.
DO 8 TIMES.
WRITE : sy-index.
ENDDO.
ULINE.
DO 8 TIMES.
WRITE : / sy-index.
WRITE sy-vline.
index = sy-index.
DO 8 TIMES.
result = index - counter.
WRITE result.
counter = counter + 1.
ENDDO.
CLEAR : result.
counter = 1.
ENDDO.
ELSEIF OPERATOR = '*'.
DO 8 TIMES.
WRITE : sy-index.
ENDDO.
ULINE.
DO 8 TIMES.
WRITE : / sy-index.
WRITE sy-vline.
index = sy-index.
DO 8 TIMES.
result = index * counter.
WRITE result.
counter = counter + 1.
ENDDO.
CLEAR : result.
counter = 1.
ENDDO.
ELSEIF OPERATOR = '/'.
DO 8 TIMES.
WRITE : sy-index.
ENDDO.
ULINE.
DO 8 TIMES.
WRITE : / sy-index.
WRITE sy-vline.
index = sy-index.
DO 8 TIMES.
result = index / counter.
WRITE result.
counter = counter + 1.
ENDDO.
CLEAR : result.
counter = 1.
ENDDO.
ENDIF.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment