SAP_ABAP_FI
abap 문법/sql 본문
DATA: lv_string LIKE sflight-carrid.
SELECT *
  INTO TABLE @DATA(lt_data)"---> 선언 없이 동적 인터널 테이블 사용가능
  FROM sflight
  WHERE carrid = @lv_string.
*다양한 계산식
SELECT 'A' AS tt,
       id ,
       num1,
       num2,
       CAST( num1 AS FLTP ) / CAST( num2 AS FLTP ) AS ratio, " 형변환
       div( num1, num2 ) AS div, " 다양한 계산식
       mod( num1, num2 ) AS mid,  " 다양한 계산식
       char1 && char2 AS conc,
       CASE char1
          WHEN 'AAAA' THEN ( 'BBBBB' )
          WHEN 'XXXX' THEN ( 'AAAAA' )
       END AS text " CASE 문 상용
  FROM demo_expressions
  INTO TABLE @DATA(lt_result).
SELECT SINGLE
       char1 AS text1,
       char2 AS text2,
       concat(            char1,char2 )     AS concat,
       concat_with_space( char1,char2, 1 )  AS concat_with_space,
       instr(             char1,'12' )      AS instr,
       left(              char1,3 )         AS left,
       length(            char1 )           AS length,
       lower(             char2 )           AS lower,
       lpad(              char1,10,'x' )    AS lpad,
       ltrim(             char1,' ' )       AS ltrim,
       replace(           char1,'12','__' ) AS replace,
       right(             char1,3 )         AS right,
       rpad(              char1,10,'x' )    AS rpad,
       rtrim(             char1,'3' )       AS rtrim,
       substring(         char1,3,3 )       AS substring,
       upper(             char2 )           AS upper
       FROM demo_expressions
       INTO @DATA(result).
*---> DATA 선언
DATA(lv_str) = '2222'.
*---> ITAB
SELECT *
  FROM sbook
  INTO TABLE @DATA(lt_new).
*---> Loop
LOOP AT lt_new INTO DATA(ls_new).
ENDLOOP.
LOOP AT lt_new ASSIGNING FIELD-SYMBOL(<fs_line>).
ENDLOOP.
*Stru. 데이터 선언
DATA: BEGIN OF ls_tab,
        field1 TYPE char10,
        field2 TYPE char10,
        field3 TYPE char10,
        field4 TYPE char10,
      END   OF ls_tab,
      lt_tab LIKE TABLE OF ls_tab.
ls_tab = VALUE #(
                  field1 = '1'
                  field2 = '2'
                  field3 = '3'
                  field4 = '4'
                ).
"Table에 추가
lt_tab = VALUE #(
                  (
                    field1 = '1'
                    field2 = '2'
                    field3 = '3'
                    field4 = '4'
                  )
                  (
                    field1 = '1'
                    field2 = '2'
                    field3 = '3'
                    field4 = '4'
                  )
                  (
                    field1 = '1'
                    field2 = '2'
                    field3 = '3'
                    field4 = '4'
                  )
                 ).
CLEAR: lt_tab.
" 기존 tab에 추가
DO 5 TIMES.
  lt_tab = VALUE #(
                   BASE lt_tab
                     (
                      field1 = '1'
                      field2 = '2'
                      field3 = '3'
                      field4 = '4'
                     )
                  ).
ENDDO.
DATA(lv_char) = 'B'.
DATA lv_num2 TYPE int1.
lv_num2 = COND #( WHEN lv_char = 'A' THEN 1
                  WHEN lv_char = 'B' THEN 2
                  WHEN lv_char = 'C' THEN 3
                  WHEN lv_char = 'D' THEN 4 ).
DATA(lv_num3) = SWITCH #( lv_char
                          WHEN 'A' THEN 1
                          WHEN 'B' THEN 2
                          WHEN 'B' THEN 3
                          WHEN 'B' THEN 4 ).
'SAP_ABAP_Source' 카테고리의 다른 글
| SAP_다운로드 프로그램 (0) | 2021.12.05 | 
|---|---|
| ABAP SelectionScreen/Event/응용 (0) | 2021.10.10 | 
| ST04-Query Version2 (0) | 2021.09.27 | 
| ABAP_DOMAIN_FIELD값 가져오기 (0) | 2021.09.07 | 
| ST04-Query부분 발췌 (0) | 2021.09.07 | 

