시대별 ABAP 코딩 스타일 비교~

당신은 어떤 스타일인가요? which is yours?

 

* 1990 년대

* 1990's
DATA BEGIN OF SFLIGHT OCCURS 0.
INCLUDE STRUCTURE SFLIGHT.
DATA   END OF SFLIGHT.
DATA LINE_COUNT LIKE SY-TFILL.
DATA LINE_COUNT_C(11).

SELECT *
INTO TABLE SFLIGHT
FROM SFLIGHT.

DESCRIBE TABLE SFLIGHT LINES LINE_COUNT.
LINE_COUNT_C = LINE_COUNT.
LINE_COUNT_C = CONDENSE( LINE_COUNT_C ).

WRITE :/ 'Total:', LINE_COUNT_C.
CLEAR: LINE_COUNT, LINE_COUNT_C.

LOOP AT SFLIGHT.
  IF SFLIGHT-CARRID EQ 'AA'.
    LINE_COUNT = LINE_COUNT + 1.
  ENDIF.
ENDLOOP.

LINE_COUNT_C = LINE_COUNT.
LINE_COUNT_C = CONDENSE( LINE_COUNT_C ).
WRITE :/ 'ID AA:', LINE_COUNT_C.

CLEAR: SFLIGHT, LINE_COUNT, LINE_COUNT_C.
REFRESH SFLIGHT.

 

 

* 2000 년대

* 2000's
DATA: it_sflight    TYPE TABLE OF sflight WITH HEADER LINE,
      l_line_count  TYPE          sy-tfill,
      l_line_string TYPE          string.

SELECT *
INTO TABLE it_sflight
FROM sflight.

l_line_count = lines( it_sflight ).
l_line_string = l_line_count.
CONCATENATE 'Total:' l_line_string INTO l_line_string SEPARATED BY space.

WRITE :/ l_line_string.

CLEAR: l_line_count, l_line_string.

LOOP AT it_sflight.
  IF it_sflight-carrid EQ 'AA'.
    l_line_count = l_line_count + 1.
  ENDIF.
ENDLOOP.

l_line_string = l_line_count.
CONCATENATE 'ID AA:' l_line_string INTO l_line_string SEPARATED BY space.

WRITE :/ l_line_string.
CLEAR: sflight[], sflight, l_line_count, l_line_string.

 

 

* 2010 년대

* 2010's
DATA: lt_sflight TYPE TABLE OF sflight,
      ls_sflight TYPE sflight,
      lv_line_count TYPE i,
      lv_line_string TYPE string.

CLEAR: lt_sflight.

SELECT *
INTO TABLE lt_sflight
FROM sflight.

lv_line_count = lines( lt_sflight ).
lv_line_string = |Total: { lv_line_count }|.

WRITE :/ lv_line_string.

CLEAR: lv_line_count.

LOOP AT lt_sflight INTO ls_sflight.
  IF ls_sflight-carrid EQ 'AA'.
    lv_line_count = lv_line_count + 1.
  ENDIF.
ENDLOOP.

lv_line_string = |ID AA: { lv_line_count }|.

WRITE :/ lv_line_string.

 

 

* 2020 년대

* 2020's
SELECT *
FROM sflight
INTO TABLE @DATA(lt_sflight).

WRITE :/ |Total: { lines( lt_sflight ) }|.

DATA(lv_line_count) = 0.
LOOP AT lt_sflight INTO DATA(ls_sflight).
  IF ls_sflight-carrid EQ 'AA'.
    lv_line_count = lv_line_count + 1.
  ENDIF.
ENDLOOP.

WRITE :/ |ID AA: { lv_line_count }|.

+ Recent posts