안녕하세요?
제가 도저히 안 풀려서 이렇게 질문을 드립니다.
제가 T-CODE: SCDO에서 변경문서 오브젝트를 만들고 그것을 이용해서 해당 테이블(YH1330_CD)의 변경 이력을
만들려고 합니다.(어떤 싸이트에 있는 것을 따라서 해 보았습니다. ^^)
그런데 아래 그림에서 보시다 싶이 제가 만든 오브젝트 "YH1330"는 테이블 CDPOS에서 필드 VALUE_NEW,VALUE_OLD
에 값이 쌓여 있지 않습니다.
CDPOS테이블의 FNAME라는 필드에 값이 자꾸 "KEY"만 박혀 있네요~~~
감각으로 볼때 이것이 변경한 필드 이름 같은데.... 어디서 세팅해야 할지 잘 모르겠습니다.
소스와 사진을 함께 첨부하겠습니다. 혹시 제가 코딩한 부분이 어디가 문제 있는지 좀 알려 주십시요.
DATA: T_CD LIKE STANDARD TABLE OF YH1330_CD ,
FS_CD TYPE YYH1330_CD.
DATA: L_MARK.
FS_CD-WERKS = '1000'.
FS_CD-MATNR = 'GH93-000001'.
FS_CD-MAKTX = 'TEST' . "이 필드의 변경이력을 만들려고 합니다.
APPEND FS_CD TO T_CD .
SELECT SINGLE * FROM YH1330_CD WHERE WERKS = FS_CD-WERKS
AND MATNR = FS_CD-MATNR.
IF SY-SUBRC = 0.
L_MARK = 'U'.
FS_CD-KZ = L_MARK.
UPDATE YH1330_CD SET MAKTX = FS_CD-MAKTX
WHERE WERKS = FS_CD-WERKS
AND MATNR = FS_CD-MATNR.
ELSE.
L_MARK = 'I'.
FS_CD-KZ = L_MARK.
INSERT YH1330_CD FROM TABLE T_CD .
ENDIF.
APPEND FS_CD TO XYH1330_CD .
APPEND FS_CD TO YYH1330_CD .
TCODE = SY-TCODE .
CALL FUNCTION 'YH1330_WRITE_DOCUMENT'
EXPORTING
OBJECTID = 'YH1330'
TCODE = TCODE
UTIME = SY-UZEIT
UDATE = SY-DATUM
USERNAME = SY-UNAME
* PLANNED_CHANGE_NUMBER = ' '
OBJECT_CHANGE_INDICATOR = L_MARK
* PLANNED_OR_REAL_CHANGES = ' '
* NO_CHANGE_POINTERS = ' '
UPD_ICDTXT_YH1330 = 'I'
UPD_YH1330_CD = 'I'
TABLES
ICDTXT_YH1330 = ICDTXT_YH1330
XYH1330_CD = XYH1330_CD
YYH1330_CD = YYH1330_CD.
* e-abap님에 의해서 게시물 이동되었습니다 (2011-03-15 14:37)
* e-abap님에 의해서 게시물 이동되었습니다 (2011-03-15 14:37)