BDC Templete

SAP abap | 2010/02/05 22:42 | 게으른개발자세지군

누가 알려달라 해서 심심 풀이 삼아 코딩해본 BDC Templete 입니다..

*.. internal table bdc_tab
data : LT_BDCDATA type BDCDATA occurs 0 with header line.
*.. BDC option
data : LS_OPTION  type CTU_PARAMS.

*..
perform SET_BDCDATA tables LT_BDCDATA using 'X' 'SAPMF02K'  '0105'.

*..
perform SET_BDCDATA tables LT_BDCDATA using ''  'BDC_CURSOR'  'RF02K-LIFNR'.
perform SET_BDCDATA tables LT_BDCDATA using ''  'BDC_OKCODE'  '/00'.
perform SET_BDCDATA tables LT_BDCDATA using ''  'RF02K-LIFNR' 'Z00002'.
perform SET_BDCDATA tables LT_BDCDATA using ''  'RF02K-BUKRS' '1000'.
perform SET_BDCDATA tables LT_BDCDATA using ''  'RF02K-KTOKK' 'CPD'.

call transaction 'FK01' using LT_BDCDATA options from LS_OPTION.

*&---------------------------------------------------------------------*
*&      Form  SET_BDCDATA
*&---------------------------------------------------------------------*
*       BDC setting
*----------------------------------------------------------------------*
*      -->P_BDCTAB   : Batch 입력: 신규테이블 필드구조
*      -->P_VAL1     : BDC 화면시작
*      -->P_VAL2     : BDC 모듈 풀  / 필드이름
*      -->P_VAL3     : BDC 화면번호 / BDC 필드값
*----------------------------------------------------------------------*
form SET_BDCDATA tables P_BDCTAB structure BDCDATA
                 using  P_VAL1 P_VAL2 P_VAL3.
  if not ( P_VAL1 is initial or P_VAL1 eq '' ).
    P_BDCTAB-PROGRAM  = P_VAL2.
    P_BDCTAB-DYNPRO   = P_VAL3.
    P_BDCTAB-DYNBEGIN = P_VAL1.
  else.
    P_BDCTAB-FNAM     = P_VAL2.
    P_BDCTAB-FVAL     = P_VAL3.
  endif.
  append P_BDCTAB.

endform.                    "SET_BDCDATA


적당히 쓰시면 되겠습니다~

태그 : abap,BDC,SAP
최근 업무 때문에 RFC Server를 만드는 중입니다.
SAP JCO Server 프로그래밍 예제를 보면서 이것저것 하다 겨우 하나 만들었었는데,
이게 문제가 발생하네요


위 그림처럼 function 이름이 깨져서 가더군요..의아해 하던 중 뇌리를 스치고 지나가는 한가지..

바로 Unicode 였습니다.

혹시나 하는 마음에 SM59에서 RFC destination 설정을 아래와 같이 해줬습니다.


그리고 JCO Server Daemon 쪽에 아래의 코드를 추가했습니다.

public Server(String gwhost, String gwserv, String progid, boolean isUnicode, IRepository repository)
  {
super(gwhost,gwserv,progid,repository);
// UNICODE Property
this.setProperty("jco.server.unicode", isUnicode?"1":"0");
}

public void startServers()
{
JCO.Server srv = new Server("host","sapgw00","JCO_DECODE",true,repository);
........
........
}

그랬더니 한방에 해결이 되더군요...

덧붙여서 getImportParameterList 로 해서 받은 importing value 값이 안들어오더니 이거 한방으로 끝나더군요..
불행하게도....이것 떄문에 몇일을 헛짓거리 했는데...


이전 1 2 3 4 5 ... 31 다음