REPORT ZTMP.
DATA : BEGIN OF GT_CKMLHD OCCURS 0.
INCLUDE STRUCTURE CKMLHD.
DATA : SALK3 TYPE CKMLCR-SALK3, "자재원장 총액
LBKUM TYPE CKMLPP-LBKUM. "자재원장 수량
DATA : END OF GT_CKMLHD.
DATA : BEGIN OF GT_CKMLPP OCCURS 0.
INCLUDE STRUCTURE CKMLPP.
DATA : END OF GT_CKMLPP.
DATA : BEGIN OF GT_CKMLCR OCCURS 0.
INCLUDE STRUCTURE CKMLCR.
DATA : END OF GT_CKMLCR.
DATA : BEGIN OF GS_MBEW.
INCLUDE STRUCTURE MBEW.
DATA : END OF GS_MBEW.
SELECT *
INTO CORRESPONDING FIELDS OF TABLE GT_CKMLHD
FROM CKMLHD
WHERE BWKEY = 'P010' .
LOOP AT GT_CKMLHD.
REFRESH : GT_CKMLPP,GT_CKMLCR.
SELECT *
INTO CORRESPONDING FIELDS OF TABLE GT_CKMLCR
FROM CKMLCR
WHERE KALNR = GT_CKMLHD-KALNR
ORDER BY BDATJ DESCENDING
POPER DESCENDING.
READ TABLE GT_CKMLCR INDEX 1.
IF SY-SUBRC EQ 0.
GT_CKMLHD-SALK3 = GT_CKMLCR-SALK3.
ENDIF.
SELECT *
INTO CORRESPONDING FIELDS OF TABLE GT_CKMLPP "총액
FROM CKMLPP
WHERE KALNR = GT_CKMLHD-KALNR
ORDER BY BDATJ DESCENDING
POPER DESCENDING.
READ TABLE GT_CKMLPP INDEX 1.
IF SY-SUBRC EQ 0 .
GT_CKMLHD-LBKUM = GT_CKMLPP-LBKUM.
ENDIF.
SELECT SINGLE
MATNR
LBKUM
SALK3
INTO CORRESPONDING FIELDS OF GS_MBEW
FROM MBEW
WHERE MATNR = GT_CKMLHD-MATNR
AND BWKEY = GT_CKMLHD-BWKEY
AND LBKUM = GT_CKMLHD-LBKUM
AND SALK3 = GT_CKMLHD-SALK3.
IF SY-SUBRC NE 0.
* 자재원장과 값과 수량이 일치하지 않을 경우
UPDATE MBEW
SET LBKUM = GT_CKMLHD-LBKUM
SALK3 = GT_CKMLHD-SALK3
WHERE MATNR = GT_CKMLHD-MATNR
AND BWKEY = GT_CKMLHD-BWKEY.
ENDIF.
ENDLOOP.
'SAP > ABAP' 카테고리의 다른 글
newline 특수문자 제거하기 (0) | 2012.07.04 |
---|---|
데이터갱신 시 특수문자 제거 (0) | 2012.07.03 |
TABLE LINE COUNT (0) | 2012.02.06 |
TRIM,REPLACE (0) | 2011.12.23 |