안녕하세요..
나름대로 열심히 하고 있다고 하는 데, 열심히 하면 할 수록 SAP의 깊이가 너무 깊네요..
전에 BDC에 대해서 문의를 한번 드려서 문제를 해결했었는 데,
이번에 비슷한 문제가 발생하여서...
Sales Order 생성 BDC인데요..
BDC 데이타 만들어서 다음과 같이 실행하면 sy-subrc = 1001 음..
CALL TRANSACTION 'VA01' USING bdcdata
OPTIONS FROM ctu_params
MESSAGES INTO messtab.
왜 sy-subrc가 1001이 나오는 지는 실체 Display mode(Mode : A..)를 바꿔 화면을 보면서
돌려봐야 하는 지요?
당최..BDC는...
고맙습니다...
수고하십시요
댓글 7
-
EABAP
2007.05.01 01:17
-
e-abap
2007.05.01 01:29
messtab-msgtyp이 'E'인지 체크하는게 필요합니다.
BDC가 환경에 따라서 많이 다르기때문에..
꼭 집어서 말하기가 애매하네요.
-
김지성
2007.05.01 01:39
EABAP님, e-abap님 답변 고맙습니다.
일부 messtab의 내용을 발췌하면 다음과 같네요
Line T-CODE DYNAME DYNUMB MSGTYP MSGSPRA
1 VA01 SAPMV45A 4001 S E
2 VA01 SAPMV45A 4001 I E
3 VA01 SAPMV45A 4001 S E
4 VA01 SAPMV45A 5003 S E
5 VA01 SAPMV45A 4002 I E
6 VA01 SAPMV45A 4002 S E
잘 모르겟네요..휴~~
-
e-abap
2007.05.01 01:41
READ TABLE messtab WITH KEY msgtyp = 'S' msgnr = '311'.
IF sy-subrc EQ 0.
va01 같은 경우는 위 메세지가 성공 한겁니다.
-
김지성
2007.05.02 20:15
e-abap님 늦었습니다
답변 고맙습니다.
확인해 봐야겠네요..휴~~
-
박진서
2007.05.03 14:37
또 다른 방법입니다.
Sales order 처럼 internal number range를 가지는 Transaction은 Save가 정상적으로 작동했을 때 Parameter ID에 값을 받아옵니다.
따라서
data : fieldname type vbak-vbeln.
Set parameter id 'AUN' field '' " 이렇게 Parameter id를 초기화 시킨다음
CALL TRANSACTION 'VA01' USING bdcdata
OPTIONS FROM ctu_params
MESSAGES INTO messtab.
Get parameter id 'AUN' field fieldname. " 이렇게 실행시키면 Fieldname에 Sales Order number가 들어옵니다.
이게 들어온다면 정상적으로 작동이 끝난거지요.(나름 제가 사용하는 편법입니다.)
-
pcj
2008.03.30 20:38
감사합니다~
SY-SUBRC 값보다는
MESSATAB을 받아서 처리하는게 맞습니다...
메세지 유형이 에러인지 확인해야죠~