Senario
STPO 의 BOM Items 를 활용해 Level 별로 count 하는 Cursor 를 만들어 BOM Item 을 Level 별로 구분 짓는데 구분자로 사용해서 Item 들을 Level 별로 구분지어 출력 하는 예제
1. CURSOR (1) : BOM ITEM 을 레벨 별로 COUNT
OPEN SURCOR @DATA(dbcur1) FOR
SELECT stlnr, zstufe, COUNT(*) AS count
FROM stpo
WHERE stlnr = '00402270'
GROUP BY stlnr, zstufe
ORDER BY stlnr, zstufe .
2. CURSOR (2) : BOM Item 전체 Select
OPEN SURCOR @DATA(dbcur2) FOR
SELECT *
FROM stpo
WHERE stlnr = '00402270'
ORDER BY stlnr .
3. Structure & Internal Table
DATA : BEGIN OF ls_stpo,
stlnr type stpo-stlnr,
zstufe type stpo-zstufe,
count type i,
END OF ls_stpo.
DATA : stpo_tab TYPE TABLE OF stpo.
4. CURSOR (1) 를 활용해 Level 별 Item List 만들기
DO.
FETCH NEXT CURSOR @dbcur1 INTO @ls_stpo.
IF sy-subrc <> 0 . " INTO 가 안되면 EXIT
EXIT.
ENDIF.
cl_demo_output=>next_seection( | { ls_stpo-stlrn }, { ls_stpo-zstufe }, { ls_stpo-count } | )
FETCH NEXT CURSOR @dbcur2 INTO TABLE @stpo_tab PACKAGE SIZE @ls_stpo-count " 쪼개 담을 단위를 위에 dbcur1 에서 받은값으로 활용
cl_demo_output=>write( stpo_tab ).
ENDDO.
5. CURSOR 끝내기
CLOSE CURSOR : @dbcur1, @dbcur2.
6. 리스트 출력
cl_demo_output => display( ).
'ABAP' 카테고리의 다른 글
SAP ABAP | Corresponding (0) | 2024.02.21 |
---|---|
[ SAP ABAP ] 관계 연산자 정리 (0) | 2023.04.26 |
[ SAP ABAP ] SQL SELECT 결과에 숫자, 문자 넣기 (0) | 2023.02.22 |
SAP ABAP TIME STAMP 만들기 (0) | 2023.01.10 |
(SAP ABAP) 1. 실습에 필요한 데이터를 만들기 (0) | 2019.06.15 |