FORM FILL_BDCDATA USING CHK_BEGIN FNAM FVAL.
IF CHK_BEGIN NE SPACE.
MOVE : CHK_BEGIN TO ZBDCDATA-DYNBEGIN,
FNAM TO ZBDCDATA-PROGRAM,
FVAL TO ZBDCDATA-DYNPRO.
ELSE.
MOVE : FNAM TO ZBDCDATA-FNAM,
FVAL TO ZBDCDATA-FVAL.
ENDIF.
APPEND ZBDCDATA.
CLEAR ZBDCDATA.
ENDFORM.
이 코딩이 뜻하는 의미가 무엇인지 궁금합니다.
참고로 bdc프로그램에 대한 것이구요..
이것을 쓰면 using을 사용하여 zbdcdata에 태울 수 있는 방법에 대해서도 상세히
설명 좀 부탁드리겠습니다.
댓글 4
-
현준탱
2009.03.20 18:20
-
Jaden
2009.03.20 18:21
음... 대략 이 서브루틴은 해당 BDC의 레코딩에 대한 데이터 맵핑용입니다.
최초 IF절에서 chk_begin은 스크린의 시작일때를 뜻하는 'X'를 뜻합니다.
'X'가 아니라는 녀석들은 모두 스크린에서 사용되는 필드 및 커서위치, 트랜잭션코드가 담긴다는 얘기입니다.
이녀석들을 zbdcdata에 담아 Call transaction시에 사용한다는 로직이 되겠습니다.
참고로..
DYNBEGIN = 'X' OR ' ' <-스크린의 시작점
PROGRAM = 해당프로그램
DYNPRO = 해당프로그램의 스크린
FNAM = 필드 및 커서위치, 트랜잭션코드 등
FVAL = FNAM에 따른 VALUE
-
은우야
2009.03.20 18:25
bdc를 실행하기위헤 bdc구조에 값을 넣는 과정이네요...
perform fill_bdcdata using 'X' 'SAPMF02K' '0215'.
perform fill_bdcdata using ' ' 'BDC_OKCODE' '=UPDA'.
이렇게 bdc를 구성하시고
나중에
call transaction p_trcode using ZBDCDATA
options from ctu_params
messages into it_msg.
이렇게 transaction을 실행하시면 bdc가 실행됩니다.
-
abap고수되기!
2009.09.15 04:14
좋은 정보 잘 보고 갑니다~
만약에 chk_begin 이 space ( ' ' ) 가 아니라면
chk_begin 의 값을 zbdcdata-dynbegin 에 넣고,
move a to b . a의 값을 b에 넣는거죠.
밑에 구문도 동일하겠죠~
만약에 chk_begin 이 space (' ') 라면
fnam 을 zbdcdata-fnam 에 넣으라는거죠 move 구문 똑같군요.
그리고 나서 그 값들을 zbdcdata 에 넣어라. 이런구문 이군요^^;
BDC를 하기 전에 데이터를 인터널 테이블에 넣어주는 작업인듯 합니다^^;
BDC하는 방법은 검색해 보시면 많을 것 같습니다.