반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 쿠키란
- optional
- spring
- BindingResult
- @Controller
- java.lang.AssertionError
- 필터의 정의
- abap value in field Data Class error
- 김영한
- SpringMVC
- spring MVC
- application-properties
- .orelseThrow
- 401오류
- 인터셉터의 정의
- jpa
- 세션vs쿠키
- 쿠키의 정의
- 세션의 정의
- controller
- n+1
- 구글 보안 api 활용
- 필터vs인터셉터
- Testcode
- filter vs interceptor
- 세션이란
- 유연한 컨트롤러1 - v5
- MVC
- springSecurityFilterChain 오류
- Validation
Archives
- Today
- Total
ABAP DUMP ERROR 24시
sap workbench 10 본문
반응형
data : lv_cnt(5) type p.
DO lv_cnt TIMES.
WRITE : 'a', /.
ENDDO.
****************************************
*lines 를 사용하면 data의 갯수를 확인해준다. .count()
*describe table x lines y x의 데이터 값을 y에 할당해주세요.
if sy-subrc eq 0.
lv_ct = lines(lt_data).
DESCRIBE TABLE lt_data lines lv_cnt.
ENDIF
****************************************
특정 index를 읽기 = > read table x into y index z
****************************************
DATA : ls_data TYPE scarr,
lt_data TYPE TABLE OF scarr.
CLEAR ls_data.
REFRESH lt_data.
SELECT carrid carrname
INTO CORRESPONDING FIELDS OF TABLE lt_data
FROM scarr
WHERE carrid in ( 'AA', 'AZ', 'DL' ).
if sy-subrc eq 0.
READ TABLE lt_data into ls_data INDEX 2.
write ls_data-carrname.
ENDIF.
****************************************
***************************************
DATA : ls_data TYPE scarr,
lt_data TYPE TABLE OF scarr,
lv_cnt(100) TYPE i.
CLEAR ls_data.
REFRESH lt_data.
SELECT carrid carrname
INTO CORRESPONDING FIELDS OF TABLE lt_data
FROM scarr
WHERE carrid IN ( 'AA', 'AZ', 'DL' ).
IF sy-subrc EQ 0.
lv_cnt = lines( lt_data ).
DO lv_cnt TIMES.
READ TABLE lt_data INTO ls_data INDEX sy-index.
IF sy-subrc = 0.
write : ls_data-carrname.
NEW-LINE.
ENDIF.
ENDDO.
ENDIF.
****************************************
loop 는 table 전용으로 사용
do는 일반 for문 처럼 사용.
sy-tabix => lt의 index값
sy-index => 특정 반복문에서의 index값.
****************************************
DATA: BEGIN OF ls_data,
carrid TYPE sflight-carrid,
connid TYPE sflight-connid,
fldate TYPE sflight-fldate,
currency TYPE sflight-currency,
planetype TYPE sflight-planetype,
seatsocc_b TYPE sflight-seatsocc_b,
END OF ls_data,
lv_ct(100) TYPE i,
lt_data LIKE TABLE OF ls_data.
CLEAR : ls_data.
REFRESH lt_data.
SELECT carrid connid fldate currency planetype seatsocc_b
INTO CORRESPONDING FIELDS OF TABLE lt_data
FROM sflight
WHERE currency = 'USD'
AND planetype = '747-400'.
IF sy-subrc EQ 0.
lv_ct = lines( lt_data ).
DO lv_ct TIMES.
*sy-index를 번호 별로 만들어서 lt_data에 집어넣어라.
READ TABLE lt_data INTO ls_data INDEX sy-index.
* sy-index 가 정말 잘 되있는지 확인하기.
IF sy-subrc EQ 0.
IF ls_data-carrid = 'UA'.
ls_data-seatsocc_b += 5.
MODIFY lt_data FROM ls_data INDEX sy-tabix
TRANSPORTING seatsocc_b.
ENDIF.
ENDIF.
ENDDO.
ELSE.
WRITE : 'Error'.
ENDIF.
******************************************************************
loop를 돌리는 방법 2가지
1) loop 안에 if문을 삽입하거나
2) loop 뒤에 where 조건을 주면 된다.
******************************************************************
IF sy-subrc EQ 0.
LOOP AT lt_data INTO ls_data.
IF ls_data-carrid = 'UA'.
ls_data-seatsocc_b += 5.
MODIFY it_data from is_data INDEX sy-tabix
TRANSPORTING seatsocc_b.
ENDIF.
ENDLOOP.
IF sy-subrc EQ 0.
LOOP AT lt_data INTO ls_data WHERE carrid eq 'UA'.
ls_data-seatsocc_b += 5.
MODIFY it_data from is_data INDEX sy-tabix
TRANSPORTING seatsocc_b.
ENDLOOP.
******************************************************************
******************************************************************
*
*DATA : ls_data TYPE sbuspart,
* lt_data TYPE TABLE OF sbuspart,
* lv_count(10) type i.
*
*CLEAR : ls_data.
*REFRESH :lt_data.
*lv_count = 0.
*
*
*SELECT BUSPARTNUM CONTACT CONTPHONO BUSPATYP
* INTO CORRESPONDING FIELDS OF TABLE lt_data
* FROM sbuspart
* WHERE contphono <> ''.
*
*
*LOOP AT lt_data INTO ls_data where contact = 'Meyer' or buspatyp = 'TA'.
*
* ls_data-contphono ='02-345-2034'.
* lv_count += 1.
*
* modify lt_data from ls_data INDEX sy-tabix
* TRANSPORTING contphono.
*
*ENDLOOP.
*
*write lv_count.
*
*cl_demo_output=>display( lt_data ).
*
******************************************************************
******************************************************************
data : ls_data TYPE ZC5V07002,
lt_data TYPE TABLE OF ZC5V07002.
clear : ls_data.
refresh : lt_data.
SELECT carrid planetype fldate
into CORRESPONDING FIELDS OF TABLE lt_data
from ZC5V07002
where carrid = 'UA'
and planetype in ( 'A380-800', '767-200' ).
LOOP AT lt_data INTO ls_data.
IF ls_data-fldate = '20210228'.
ls_data-planetype = '757F'.
MODIFY lt_data FROM ls_data INDEX sy-tabix
TRANSPORTING planetype.
ELSEIF ls_data-fldate = '20210328'.
ls_data-planetype = 'L-1011-100'.
MODIFY lt_data FROM ls_data INDEX sy-tabix
TRANSPORTING planetype.
ENDIF.
ENDLOOP.
cl_demo_output=>display( lt_data ).
******************************************************************
반응형
'[SAP]ABAP > ABAP 강의 SYNC' 카테고리의 다른 글
sap workbench 12 (0) | 2022.07.05 |
---|---|
sap workbench 11 (0) | 2022.07.04 |
sap workbench 9 (0) | 2022.06.30 |
sap workbench 8 (0) | 2022.06.29 |
SAP WORKBENCH 7 (0) | 2022.06.28 |
Comments