안녕하세요..
요즘들어 질문이 많아졌네요..그만큼 자주 들린다는 뜻..^^;
전 SD/MM을 담당하고 있답니다.
물론 초보구요...아직 용어자체도 생소하고, 그렇다고 ABAP 실력도 대단하지도 않고,
걍 열심히 하고 있는 중이랍니다.
그래서 한번 빡시게(강한 결심) 공부하여 서티를 볼까 하는 데,
(작년 9월에 ABAP 서티 68%로 한번 떨어짐)
모듈을 볼까, ABAP을 볼까 망설여지네요..
그건 그렇구...
제가 BDC를 Call Transaction을 이용하여 만들었습니다.
정상적으로 처리되었는 지 리턴값을 SY-SUBRC로 확인하고 있는 데,
저희 ABAP 개발자들이 여러명이 있는뎅, 어떤 분은 리턴값을 함수로 처리해야 한다하고,
어떤 분은 걍 SY-SUBRC로 해두 된다고 하고..당최..
어떤 것으로 리턴값을 해야 정확할까요?
두서없이 질문을 드려 죄송합니다..
[요약버전]
1. SAP 시험을 보려는 뎅, SD 모듈, MM 모듈, ABAP 어떤 것을 봐야 할까요?
2. BDC 리턴값을 체크할 때 로직은(함수, SY-SUBRC)?
고맙습니다.
댓글 6
-
e-abap
2007.04.17 18:51
-
이종원
2007.04.17 19:39
엥.. 리턴값(데이블) 로 처리한다는게 뭐죠...
저는 첨 들어보는데... .^^
-
e-abap
2007.04.17 22:40
CALL TRANSACTION 'QM01' USING gt_bdc
OPTIONS FROM gw_bdcparams
MESSAGES INTO messtab.
BDC 할때 이런식으로 쓰지 않나요?
-
김지성
2007.04.20 17:14
e-abap님, 이종원님 두 분 리플이 늦었습니다.
e-abap님 저의 BDC 소스를 보면 다음과 같이 되어 있네요
call transaction 'MM01' using bdcdata
options from ctu_params
messages into messtab.
그렇다면 messtab 구조체에서 어떤 필드를 가지고 BDC가 성공이라고 체크 할 수 있을까요?
-
ㄸㅡㄹㅏㄱ
2008.03.05 04:02
BDC를 타고 나면 return값으로 messtab이 돌아오고 sy-subrc에 BDC의 성공 여부가 리턴 됩니다.
sy-subrc가 0이면 성공적으로 transaction이 발생을 한것이고 0이 아닌 1001, 1005 이런식으로 번호가 오면 해당 transaction의 step중 에러 또는 경고가 발생을 했다는 이야기 입니다.
messtab의 구조를 보면.
TCODE C 20 FB01
DYNAME C 40 SAPMF05A
DYNUMB C 4 0301
MSGTYP C 1 E
MSGSPRA C 1 E
MSGID C 20 F5
MSGNR C 3 205
MSGV1 C 100
MSGV2 C 100
MSGV3 C 100
MSGV4 C 100
ENV C 4 CTU
FLDNAME C 132 BSEG-ZTERM
위와 같이 인터널 테이블로 구성이 되어있는데...
step별로 msgtyp에 E(에러), W(경고), S(성공)의 값이 들어가 있고 메세지는 T100 테이블에서 아래와 같이 가져오시면 내용을 확인하실수 있습니다.
SELECT SINGLE * FROM T100 WHERE SPRSL = MESSTAB-MSGSPRA
AND ARBGB = MESSTAB-MSGID
AND MSGNR = MESSTAB-MSGNR.
-
ㄸㅡㄹㅏㄱ
2008.03.05 04:03
이런 검색을 한 결과라서 아주 오래전 질문인것도 모르고... ^^:
리턴 값(테이블)으로 처리하는게 바람직합니다.
프로그램별로 에러 메세지 유형을 관리하기 때문에 어떠한 에러가 발생했는지 확인하기 위해서는 리턴값으로 처리하는게 좋습니다.