메뉴 건너뛰기

SAP 한국 커뮤니티

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

CoolGuy 2008.06.30 22:21 조회 수 : 1472 추천: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

번호 제목 글쓴이 날짜 조회 수
1947 [요청]데이터 건수 조회하는거쩜,,,물어볼께요 [3] 냐옹이 2008.07.08 2275
1946 [요청]간단한로직같은데 모르겠네요~조언부탁드려요!! [7] CoolGuy 2008.07.08 1604
1945 <b>[완료]</b>넷위버 설치부분 고수님들께 공손히 문의드립니다. [3] SECRET 2008.07.08 1226
1944 <b>[완료]</b>alv 에서 질문있어요. 한 화면에서 조건에 따라 alv 설정방법 [1] unicrn 2008.07.08 1485
1943 [요청]po 생성(me21) 에서 item 하나만 입력할 수있게 하는 user-exit 있나요? [1] 헤미안 2008.07.08 1820
1942 [요청]CBO Table 변경 및 백업 관련 질문이요~ [3] Lee Hyun 2008.07.08 3024
1941 [요청]Smartforms 한페이지당 라인 수 고정 할 수 있나요? [6] 바위 2008.07.07 2095
1940 [요청]class사용시 'OUTPUTLEN'와 관련하여 필드폴 조정에 관해 문의드립니다. [3] 풍뎅이 2008.07.07 2486
1939 [요청]alv관련해서 몇가지 질문좀 드릴께요 [1] 혼자독학하는초보 2008.07.07 1927
1938 [요청]조회, 등록, 수정화면 관련하여 문의드립니다. [1] Diem 2008.07.05 1265
1937 [요청]BDC프로그램실행시 화면밑에 진행율 보여주는법.. [3] CoolGuy 2008.07.05 1546
1936 [요청]delete와 message에 대해 문의드립니다. [2] 풍뎅이 2008.07.05 1181
1935 <b>[완료]</b>Maintenance View에 관한 질문입니다.(질문 수정) [2] kms 2008.07.04 1905
1934 [요청]possible entry 에 관한 질문입니다. [2] file SAP아가씨 2008.07.04 1204
1933 [요청]case문 에서 조건에대해서 질문드립니다. [1] 고양이야옹 2008.07.04 1664
1932 <b>[완료]</b>FOR ALL ENTRIES IN 구문을 쓰려고 하는데 에러가 나서 문의를 좀 드려요~ [4] 행복을 파는 외계인 2008.07.04 2270
1931 <b>[완료]</b>죄성합니다.. 엑셀질문 하나만 올리겟습니다.. 답변 부탁드립니다.. [1] 아밥입문자 2008.07.04 1260
1930 <b>[완료]</b>table의 data를 select 하는 것에 대한 문의!!!! [3] 수갬 2008.07.03 1294
1929 [요청]CALL METHOD g_grid->check_changed_data 숫자 값에 대한 질문입니다. [4] file SAP아가씨 2008.07.03 1696
1928 <b>[완료]</b>외부에서 사이트의 sap 접속하려면.. [3] 도움이 2008.07.03 1898