반응형
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
- controller
- 쿠키란
- .orelseThrow
- 세션vs쿠키
- Testcode
- n+1
- Validation
- 필터vs인터셉터
- 401오류
- 구글 보안 api 활용
- 유연한 컨트롤러1 - v5
- optional
- jpa
- 김영한
- spring
- springSecurityFilterChain 오류
- 쿠키의 정의
- SpringMVC
- filter vs interceptor
- MVC
- 인터셉터의 정의
- BindingResult
- 필터의 정의
- abap value in field Data Class error
- 세션의 정의
- spring MVC
- 세션이란
- java.lang.AssertionError
- application-properties
- @Controller
Archives
- Today
- Total
ABAP DUMP ERROR 24시
sap workbench 14 본문
반응형
1> binary search를 하기 위해서는 sort가 꼭 되야한다.
sort 의 carrid carrname 의 순서와 with key 다음의 carrid carrname의 순서는 일치해야 한다.
* 꼭 binary search를 해야한다면 sort를 꼭 하자.
*sort lt_data by carrid carrname.
*
*
*read table lt_data with key carrid =''
* carrnaem = ''
* binary search.
**********************************************************************
2> 정렬 sorted table 과 hashed table 이 존재한다.
**********************************************************************
data : lt_sflight TYPE TABLE OF sflight,
ls_sflight like LINE OF lt_sflight,
lt_temp like TABLE OF ls_sflight,
ls_temp like line of lt_temp.
clear : ls_sflight.
refresh : lt_sflight, lt_temp.
SELECT carrid connid fldate price currency
into CORRESPONDING FIELDS OF TABLE lt_sflight
FROM sflight
where carrid = 'AA'.
LOOP AT lt_sflight into ls_sflight.
* ls_temp-carrid = ls_temp-carrid.
* ls_temp-connid = ls_temp-connid.
* ls_temp-currency = ls_temp-cuurency.
* ls_temp-fldate = ls_temp-fldate.
* ls_temp-price = ls_temp-price.
MOVE-CORRESPONDING ls_sflight to ls_temp.
append ls_temp to lt_temp.
clear ls_temp.
ENDLOOP.
sort lt_temp by carrid connid.
"lt_temp 에 존재한는 all field 를 써서 중복을ㅇ 제거해 주세요. + 무조건 전처리로 sort 해주기!!!"
DELETE ADJACENT DUPLICATES FROM lt_temp COMPARING ALL FIELDS.
2 > sort by delete adjacent duplicates from 활용 sample code
TABLES : sflight, sbook.
SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE TEXT-t01.
PARAMETERS : pa_carid TYPE sflight-carrid OBLIGATORY.
SELECT-OPTIONS : co_conid FOR sflight-connid OBLIGATORY.
PARAMETERS : pa_ptype TYPE sflight-planetype AS LISTBOX VISIBLE LENGTH 10.
SELECT-OPTIONS : so_bokid FOR sbook-bookid.
SELECTION-SCREEN END OF BLOCK bl1.
**********************************************************************
DATA : BEGIN OF ls_data_1,
carrid TYPE sflight-carrid,
connid TYPE sflight-connid,
fldate TYPE sflight-fldate,
planetype TYPE sflight-planetype,
currency TYPE sflight-currency,
bookid TYPE sbook-bookid,
customid TYPE sbook-customid,
custtype TYPE sbook-custtype,
class TYPE sbook-class,
agencynum TYPE sbook-agencynum,
END OF ls_data_1,
lt_data_1 like TABLE of ls_data_1.
clear : ls_data_1.
refresh : lt_data_1.
DATA : BEGIN OF ls_data_2,
carrid TYPE sflight-carrid,
connid TYPE sflight-connid,
fldate TYPE sflight-fldate,
bookid TYPE sbook-bookid,
customid TYPE sbook-customid,
custtype TYPE sbook-custtype,
agencynum TYPE sbook-agencynum,
END OF ls_data_2,
lt_data_2 like TABLE of ls_data_2.
clear : ls_data_2.
refresh : lt_data_2.
select sflight~carrid
sflight~connid
sflight~fldate
sflight~planetype
sflight~currency
sbook~bookid
sbook~customid
sbook~custtype
sbook~class
sbook~agencynum
INTO CORRESPONDING FIELDS OF TABLE lt_data_1
FROM sflight as sflight INNER JOIN sbook as sbook
on sflight~carrid = sbook~carrid
and sflight~connid = sbook~connid
and sflight~fldate = sbook~fldate
where sflight~carrid = pa_carid
and sflight~connid in co_conid
and sflight~planetype = pa_ptype
and sbook~bookid in so_bokid.
LOOP AT lt_data_1 INTO ls_data_1.
IF ls_data_1-custtype eq 'B'.
MOVE-CORRESPONDING ls_data_1 to ls_data_2.
append ls_data_2 to lt_data_2.
clear : ls_data_2.
ENDIF.
ENDLOOP.
sort lt_data_2 by carrid connid fldate.
DELETE ADJACENT DUPLICATES FROM lt_data_2
COMPARING carrid connid fldate.
if sy-subrc eq 0.
cl_demo_output=>display( lt_data_2 ).
endif.
list-box에 obligatory를 사용하려면 default 값을 설정해 주는 것이 옳다.
why ?
단지 obligatory 를 사용하면 공백이 default 값으로 잡히므로, 혹여 db에 공백값으로 가지고 있을 수 있으니까.
사전에 미리 방지하기 위해 default 값을 주자!.
반응형
'[SAP]ABAP > ABAP 강의 SYNC' 카테고리의 다른 글
sap (ALV Call-Screen) (0) | 2022.07.14 |
---|---|
sap (TOP include 만들기, ) (0) | 2022.07.08 |
sap workbench 13 (0) | 2022.07.06 |
sap workbench 12 (0) | 2022.07.05 |
sap workbench 11 (0) | 2022.07.04 |
Comments