안녕하세요
한전표에 여러개인 line item인 buzei에 최대값만 끌어 올려고 하는데요
max와 그룹by 를 쓰려고 했으나 클러스터 라고 안되는데요
sort table를 만들어서 key값을 buzei로 해보았으나 영 잘 안되는데요
워낙 어떤 수가 최대값이 올지 모르니 ..
펑션 및 좋은 방법을 알고 계신분은 한수 부탁 드립니다....
댓글 4
-
테라스
2011.04.04 23:00
-
푸른물고기
2011.04.04 23:10
감사합니다 혹시 시간 되시면 예를 간단히 적어 주시면 더더욱 ㄳ 드립니다.
-
Aj
2011.04.05 01:30
대략 다음과 같이 하면 되지 않을까요?
<style type="text/css"> SPAN { font-family: "Fixedsys"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L0S33 { color: #4DA619; } .L0S52 { color: #0000FF; } .L0S55 { color: #800080; } .L0S70 { color: #808080; } </style> DATA GV_BUKRS TYPE BUKRS VALUE '1300'.
DATA GT_BSEG TYPE TABLE OF BSEG.
FIELD-SYMBOLS <LFS_BSEG> TYPE BSEG.
SELECT * FROM BSEG
INTO CORRESPONDING FIELDS OF TABLE GT_BSEG
WHERE BUKRS EQ GV_BUKRS
AND BELNR LIKE '01%'
AND GJAHR = '2011' .
SORT GT_BSEG BY BUKRS
BELNR
GJAHR
BUZEI DESCENDING.
DELETE ADJACENT DUPLICATES FROM GT_BSEG COMPARING BUKRS BELNR GJAHR.
LOOP AT GT_BSEG ASSIGNING <LFS_BSEG>.
WRITE : / <LFS_BSEG>-BUKRS, <LFS_BSEG>-BELNR, <LFS_BSEG>-GJAHR, <LFS_BSEG>-BUZEI.
ENDLOOP. -
달타냥83
2011.04.05 01:30
저두 초보지만 위엣분이 말씀하신게 이러거인거같아서요
LINE ITEM 의 키값이 KEY1, KEY2 라는 가정하에서요~
DATA: BEGIN OF LN_ITAB OCCURS 0,
KEY1(10) TYPE C,
KEY2(10) TYPE C,
BUZEI,
TEXT1,
TEXT2,
END OF LN_ITAB.
START-OF-SELECTION
SELECT * INTO CORRRESPONDING FILEDS OF TABLE LN_ITAB
FROM DB TABLE.
SORT LN_ITAB BY KEY1 KEY2 BUZEI DESCENDING.
LOOP AT HD_ITAB (헤더테이블).
MOVE-CORRESPONDING HD_ITAB TO LIST_ITAB.(결과테이블)
READ TABLE LN_ITAB(라인아이템 테이블) WITH KEY KEY1 = HD_ITAB-KEY1
KEY2 = HD_ITAB-KEY2.
IF SY-SUBRC = 0.
MOVE-CORRESPONDING LN_ITAB TO LIST_ITAB.(결과테이블)
APPEND LIST_ITAB.
ENDIF
CLEAR: HD_ITAB, LIST_ITAB.
ENDLOOP.
이런식으로 하시면 되실듯..
인터널 테이블을 만들때 일반 테이블로 만들고 데이터를 읽어와서 key 필드로 정렬하면서 buzei 는 descending으로 정렬하신다음
read table로 buzei를 제외한 키값들로만 조회하면 될듯 합니다.