메뉴 건너뛰기

SAP 한국 커뮤니티

[요청]bdc 첨부파일로했네요 다시올려요~

CoolGuy 2008.06.30 13:21 조회 수 : 1444 추천:3

DATA: BEGIN OF bdc_tab OCCURS 0.
        INCLUDE STRUCTURE bdcdata.
DATA: END OF bdc_tab.


DATA : type LIKE rlgrap-filetype VALUE 'DAT',
       length(5),
       file LIKE rlgrap-filename VALUE 'D:TEMPWBS_GEN.TXT'.


DATA : BEGIN OF s_field,
         stufe(40),
         ident(40),
         post1(40),
         plakz(40),  " 계획요소
         fakkz(40),  " 원가(Acct)
         belkz(40),  " 청구(Billing)
       END OF s_field.


DATA : n_line(2)  TYPE n.


DATA : BEGIN OF it_data OCCURS 0,
          chk(1)         ,                " Flag
          pspid(24)      ,                " 현장 코드
          stufe(10)      ,                " 레벨
          wbs(40)        ,                " WBS코드
          post1(40)      ,                " WBS명
          accounting(10) ,                " 원가투입
          billing(10)    ,                " 대금청구
          planning(10)   ,                " 계획요소
       END OF it_data.


************************
*  Start-of-Selection  *
************************
START-OF-SELECTION.


  CALL FUNCTION 'UPLOAD'
    EXPORTING
      filename = file
      filetype = type
    IMPORTING
      filesize = length
    TABLES
      data_tab = it_data.


  DELETE it_data WHERE chk = '@'.
  DELETE it_data WHERE pspid IS INITIAL.


  LOOP AT it_data.
    AT NEW pspid.
      CLEAR bdc_tab.
      REFRESH bdc_tab.


      PERFORM dynpro_bdc_tab USING :
         'X'  'SAPLCJTR'          '0108',
         ' '  'BDC_OKCODE'        '/00',
         ' '  'PROJ-PSPID'        it_data-pspid,
         ' '  'PRPS-POSID'        ' ',


         'X'  'SAPLCJTR'          '0230',
         ' '  'BDC_OKCODE'        '=TBPG'.


      PERFORM dynpro_bdc_tab USING :
     'X'  'SAPLCJWB'          '0901',
     ' '  'BDC_OKCODE'        '=BU'.


      n_line = 0.
    ENDAT.


    n_line = n_line + 1.
    CONCATENATE 'PRPS-STUFE(' n_line ')'  INTO s_field-stufe.
    CONCATENATE 'RCWBS-IDENT(' n_line ')' INTO s_field-ident.
    CONCATENATE 'PRPS-POST1(' n_line ')'  INTO s_field-post1.
    CONCATENATE 'PRPS-PLAKZ(' n_line ')'  INTO s_field-plakz.
    CONCATENATE 'PRPS-FAKKZ(' n_line ')'  INTO s_field-fakkz.
    CONCATENATE 'PRPS-BELKZ(' n_line ')'  INTO s_field-belkz.


    PERFORM dynpro_bdc_tab USING :
       ' '  s_field-stufe       it_data-stufe,
       ' '  s_field-ident       it_data-wbs,
       ' '  s_field-post1       it_data-post1,
       ' '  s_field-plakz        it_data-planning,
       ' '  s_field-belkz       it_data-accounting,
       ' '  s_field-fakkz       it_data-billing.


    AT END OF pspid.


      CALL TRANSACTION 'CJ20'
           USING  bdc_tab
*           MODE   'A'
           MODE   'E'
           UPDATE 'S'.
    ENDAT.
  ENDLOOP.


*-- 정산규칙 설정...
  LOOP AT it_data.
    AT NEW pspid.
      CLEAR bdc_tab.
      REFRESH bdc_tab.


      PERFORM dynpro_bdc_tab USING :
         'X'  'SAPLCJTR'          '0108',
         ' '  'BDC_OKCODE'        '=STTR',
         ' '  'PROJ-PSPID'        it_data-pspid,
         ' '  'PRPS-POSID'        ' ',


         'X'  'SAPLCJTR'          '0230',
         ' '  'BDC_OKCODE'        '=TBPG',


         'X'  'SAPLCJWB'          '0901',
         ' '  'BDC_OKCODE'        '=MRKA',


         'X'  'SAPLCJWB'          '0901',
         ' '  'BDC_OKCODE'        '=ABRV'.


      n_line = 0.
    ENDAT.


    n_line = n_line + 1.


    PERFORM dynpro_bdc_tab USING :
       'X'  'SAPLKOBS'          '0130',
       ' '  'BDC_OKCODE'        '/00',
       ' '  'COBRB-KONTY(01)'   'PSG',


       'X'  'SAPLKEAK'          '0300',
       ' '  'BDC_OKCODE'        '=WEIT',


       'X'  'SAPLKOBS'          '0130',
       ' '  'BDC_OKCODE'        '=KOAP',
       ' '  'COBRB-PERBZ(01)'   'FUL',


       'X'  'SAPLSPO4'          '0300',
       ' '  'BDC_OKCODE'        '=FURT',
       ' '  'SVALD-VALUE(01)'   '10',


       'X'  'SAPLKOBS'          '0130',
       ' '  'BDC_OKCODE'        '/00',
       ' '  'COBRB-KONTY(01)'   'PSG',


       'X'  'SAPLKEAK'          '0300',
       ' '  'BDC_OKCODE'        '=WEIT',


       'X'  'SAPLKOBS'          '0130',
       ' '  'BDC_OKCODE'        '=KOAO',


       'X'  'SAPLKOBS'          '0130',
       ' '  'BDC_OKCODE'        '=NOBJ'.


    AT END OF pspid.


      PERFORM dynpro_bdc_tab USING :
         'X'  'SAPLCJWB'          '0901',
         ' '  'BDC_OKCODE'        '=BU'.


      CALL TRANSACTION 'CJ20'
           USING  bdc_tab
*           MODE   'A'
           MODE   'E'
           UPDATE 'S'.
    ENDAT.
  ENDLOOP.


END-OF-SELECTION.


*&---------------------------------------------------------------------*
*&      Form  dynpro_bdc_tab
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_0010   text
*      -->P_0011   text
*      -->P_0012   text
*----------------------------------------------------------------------*
FORM dynpro_bdc_tab  USING  dynbegin
                           name
                           value.
  IF dynbegin = 'X'.
    CLEAR bdc_tab.
    MOVE:   dynbegin      TO      bdc_tab-dynbegin,
            name          TO      bdc_tab-program,
            value         TO      bdc_tab-dynpro.
    APPEND  bdc_tab.
  ELSE.
    CLEAR bdc_tab.
    MOVE:   name          TO      bdc_tab-fnam,
            value         TO      bdc_tab-fval.
    APPEND  bdc_tab.
  ENDIF.


ENDFORM.                    " dynpro_bdc_tab

번호 제목 글쓴이 날짜 조회 수
1925 <b>[완료]</b>[re] 쌩뚱맞지만여~ 엑셀잘하시는분 여기좀 답글좀 남겨주세요 .. [2] file 행복을 파는 외계인 2008.07.02 1028
1924 [요청]ALV프로그램에서 CALL METHOD를 사용했는데,,화면이 안 보입니다.. [3] 무한반복 2008.07.02 1283
1923 <b>[완료]</b>change and transport system을 구성하지 않았습니다. [3] unicrn 2008.07.02 1005
1922 [요청]input/output field 에 글을 적을때 **게 나오도록 설정하려고 합니다. [3] 냐옹이 2008.07.02 1219
1921 [요청] 변경된 내용이 없는데도 CHECK_CHANGED_DATA 메소드가 'X'을 내어서 계속 팝업메시지가 뜹니다. [3] 하오 2008.07.02 9580
1920 [요청]ALV에서 버튼을 누르면 빈칸을 빈줄을 넣는 방법 좀 알려주세요 [1] 나도될까 2008.07.02 1292
1919 <b>[완료]</b>alv 에 보이는 리스트를 다운로드하여 저장하고 싶습니다 방법을 알려주세요 [1] 배불뚝이용 2008.07.02 1237
1918 [요청]case문과 IF문의 차이점에 대해 궁금합니다. [4] 2008.07.02 2053
1917 <b>[완료]</b>data type 자료 가지고 계신분..^^ 태사성 2008.07.02 1185
1916 [re] [요청]data type 자료 가지고 계신분..^^ [2] file sapjoy 2008.07.02 1108
1915 <b>[완료]</b>sap netweaver license key 업데이트에 관한 질문입니다. [1] 은근 2008.07.02 1266
1914 <b>[완료]</b>프로그램 수정 버튼 클릭하면 뜨는 팝업창 문의 [2] file 행복을 파는 외계인 2008.07.02 1194
1913 [요청]스마트폼 템플릿에서 점선 그리는 방법은? [4] 조는스나 2008.07.02 1979
1912 [요청]bdc레코딩시 라인 추가요...도움좀 부탁드려요 [2] CoolGuy 2008.07.02 1919
1911 <b>[완료]</b>selectio-screen 에서 checkbox 질문입니다. [2] 영민이마눌 2008.07.01 1085
1910 <b>[완료]</b>ALV 함수를 이용한 데이터 처리 시간 [1] 준서기 2008.07.01 1166
1909 <b>[완료]</b>Class ALV에서요....TOP-OF-PAGE할려면요?? [4] 복만돌이 2008.07.01 7330
1908 [요청]서브루틴 관련해서 문의드립니다. [3] 원니컴 2008.07.01 1502
1907 <b>[완료]</b>SAP Script를 이메일로 보내기 질문 드립니다. [3] mean 2008.07.01 1585
1906 <b>[완료]</b>bsp 공부할 수 있는 사이트나 자료 추천 부탁드립니다. [3] hogun 2008.07.01 1232