BDC프로그램을 사용할때 N타입으로 실행하면
중간에 오류가 난 데이타는 무시, 다음 행부터 계속 진행되자나요
그럼 오류가 난 데이타에 대하여서 메시지가 저장될텐데,
그 메시지를 어떻게 불러오죠??
댓글 8
-
강스
2007.09.17 20:01
-
bd
2007.09.17 22:07
A TYPE 으로 실행 실행 하시면 됨니다. 만일 BDC에 에러가 나타난다면 더이상 BDC가 실행 되지 않고 중단이 되어 버리지요 ^^.
(제가 확인하는 방법 ^^)
-
강철구
2007.09.17 22:22
테스트로 돌릴때 A모드로 확인하시고 올리는게 안전합니다..
어디서 에러가 나는지 화면상에 보이니까요..
-
백혜정
2007.09.17 23:54
아래 sample처럼 코딩하면 'gt_messtab'에 BDC처리 내역에 대한 메시지가 return됩니다.
... 중략....
CALL TRANSACTION 'PA30'
USING gt_bdcdata
MODE gv_mode
UPDATE 'S'
MESSAGES INTO gt_messtab.
... 중략....
-
신종철™
2007.09.18 00:33
이런식으로 사용하시면 메세지를 뿌릴 수 있습니다.
CALL TRANSACTION 'VA01' USING bdcdata
MODE p_mode
UPDATE 'S'
MESSAGES INTO g_message_it.
IF sy-subrc EQ 0.
g_subrc1 = sy-subrc.
ENDIF.
LOOP AT g_message_it.
CLEAR : l_text.
CALL FUNCTION 'SX_MESSAGE_TEXT_BUILD'
EXPORTING
msgid = g_message_it-msgid
msgnr = g_message_it-msgnr
msgv1 = g_message_it-msgv1
msgv2 = g_message_it-msgv2
msgv3 = g_message_it-msgv3
msgv4 = g_message_it-msgv4
IMPORTING
message_text_output = l_text.
MOVE : g_display_it-kunnr TO g_log_it-kunnr,
l_text TO g_log_it-text.
APPEND g_log_it.
IF g_message_it-msgid = 'V1' AND g_message_it-msgnr = '311'.
g_vbeln = g_message_it-msgv2. "S/O 문서 번호 받기
ENDIF.
ENDLOOP.
-
無念군
2007.09.18 17:39
늦었네요 다른분들이 너무 잘 달아 주셔서 .뭐라.. 더 써드릴게 ㅋㅋ.
기왕이면 정상적인 경우는 ERROR 메세지를 삭제 하고 오류가 발생한 경우만..
임의의 테이블로 받아서 output(write,ALV) 로 출력 하시거나 .local file 로 받아서 처리 하시는게
깔끔 합니다 ^^*
백혜정님 "PA30"이면 인사쪽 관련 T-code 인데 인사쪽 담당 하시는지요 ...
왼지 익숙한 T-code 가 .....^^*
-
백혜정
2007.09.19 20:11
無念군님/ 주로 HR입니다만, 그냥 이것저것 조금씩 하고 있습니다. ^^;;
-
無念군
2007.09.19 21:32
혜정님../ 저두 주로 HR 관련 테이블 및 프로그램에 빠져서 ... 이거저거 ....
정식 사원 HR업무는 잘하진 않쥐만 관련된걸 하다 보니 ... 익숙해서 멘트 달아 드린건뎅..
처음에 다른 모듈에 비해 생소한게 많아서 고생을좀 -_-;; 자료도 거이 없어서 ....
요즘엔 그냥 대충 땜빵을 하하하.. *^^*
BDC Type :
A - All screens are displayed when an object is replaced
E - Display screens on which errors have been determined
N - Objects replaced in background, no screens displayed
BDC Type을 'A', 'E'로 변경해서 실행해보세요.