SELECT
makt~matnr
makt~maktx
mara~matkl
mara~prdha
mcha~werks
mcha~charg
mch1~vfdat
mch1~licha
mch1~qndat
mch1~hsdat
mchb~lgort
mchb~clabs
mchb~cinsm
mchb~cspem
mbew~verpr
t001~waers
mara~meins
(mchb~clabs+ mchb~cinsm+ mchb~cspem) as total
INTO CORRESPONDING FIELDS OF TABLE gt_data
FROM makt
INNER JOIN mara ON makt~matnr = mara~matnr
INNER JOIN mcha ON mara~matnr = mcha~matnr
INNER JOIN mch1 ON mcha~matnr = mch1~matnr
AND mcha~charg = mch1~charg
INNER JOIN mchb ON mcha~matnr = mchb~matnr
AND mcha~werks = mchb~werks
AND mcha~charg = mchb~charg
INNER JOIN mbew ON mchb~matnr = mbew~matnr
AND mchb~werks = mbew~bwkey
INNER JOIN t001k ON mbew~bwkey = t001k~bwkey
INNER JOIN t001 ON t001k~bukrs = t001~bukrs
WHERE mara~matkl IN ('YG10010','YG10020','YG10040')
ORDER BY makt~matnr mcha~charg.
위의 빨간 부분처럼 계산된 값을 ALV에 뿌리고 싶습니다.
이거 그냥 오라클 SQL처럼 하려니 안되네요....
댓글 3
-
rain shower
2010.05.26 23:21
-
ABAPer33
2010.05.27 05:50
아마도 다른거(레거시 프로그램이나 JAVA)하시다가 넘어오신것 같은데요.SAP에서는 native sql을 레코멘드하지 않고 있구요.open sql이라도 쿼리 한방으로 많은 조인과 키워드로 가져오는것을 추천하지 않습니다.internal table로 가져와서 조합하거나 걸르거나 구성하죠.속도면에서도 절대적이진 않지만 보통 더 빠르구요.가장 중요한건 저렇게 프로그램 짜다간 인수인계받거나 프로그램 수정해야하는사람한테 딱 욕들어먹습니다.ABAP은 ABAP답게 짜셔요.ABAP답게란게 뭔지 잘 모르시겠으면 standard source를 보셔요.
-
원니컴
2010.05.27 19:25
흐흐흐흐 ABAPer33 님이 말 잘 하시네요.
프로그램특성 이나 테이블 관계도도 열심히 공부해야 할 듯 하네요.
mara테이블이 중심인것 같은데 makt를 조인으로 우선 걸면 성능이 엄청 떨어지겠죠.
커리부터 바로 잡으세요.
?????????????????
exec sql....로 시작하는 Native sql을 쓰심이 맞을것 같구요...
위와 같은 문장으로 Open sql을 구현하면 오류가 날거에요...
오라클이던 인포믹스던...^^