Ⅰ. ERP/6. 에러해결

[SAP ABAP] MODIFY DB .. FROM TABLE ITAB 에서 같은 이름명 쓰면 안됨

초록활명수 2022. 12. 14. 15:49
728x90
IF BSEG[] IS NOT INITIAL.
    MODIFY BSEG  FROM TABLE @BSEG.
    IF SY-SUBRC = 0.
      COMMIT WORK AND WAIT.

      MESSAGE S102(FAA_SDM).
    ELSE.
      ROLLBACK WORK.
      MESSAGE S013(ISX_MD_COL).
    ENDIF.
  ENDIF.

* BSEG 는 단순 예시임 

 

2번째라인을

 

MODIFY BSEG  FROM TABLE BSEG.

이렇게 하면 ERROR MESSAGE 뜸

"ZDTV3T_AP_BELNR" cannot be converted to the row type of "ZDTV3T_AP_BELNR". The reverse is also not possible.

 

MODIFY BSEG  FROM TABLE @BSEG.

이렇게 @를 붙이면 또 ERROR MESSAGE 뜸

Line 446: Field "TABLE" is unknown.

 

도대체 왜인가 보니, DB랑 ITAB 의 이름이 같은 경우 구분을 못하는 듯; 

MODIFY BSEG  FROM TABLE @LT_BSEG.

이렇게 itab 변수를 바꿔주면 됨~~

 

 

 

 

참고) 

internal table modify  : MODIFY itab FROM itab.

DB table modify         :MODIFY db   FROM TABLE @itab.

728x90