메뉴 건너뛰기

SAP 한국 커뮤니티

<img src=2.gif>메시지 받아오는 법 좀 부탁드립니다.

SAMBATIME 2009.11.28 04:11 조회 수 : 1522


 


빨간 네모 친 부분의 메시지를 가져오고 싶습니다.


 


이 메시지는 펑션에서 rseinb00 이라는 프로그램(tcode:PU12_IDOC_CREATE)을 실행 한 후,


idoc이 생성되었을 때 나오는 메시지 입니다.


 


idoc 번호를 얻으려면 이 메시지를 가져와야 하는데 도저히 방법을 모르겠습니다.


 


디버깅을 걸어보아도 sy-msgid, sy-msgty, sy-msgno,sy-msgv1, sy-msgv2, sy-msgv3, sy-msgv4 에는


어떤 값도 들어있지 않습니다. 


 


메시지를 어떻게 가져와야 하는 것일까요?


 


 


혹시 답변하시는데 도움이 될까 하여 아래에 소스 올립니다.


감사합니다.


 


FUNCTION zrfc_sd_customer_stock_mov.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     VALUE(I_VBELN) LIKE  VBAK-VBELN
*"     VALUE(I_GI_DATE) LIKE  LIKP-WADAT_IST
*"     VALUE(I_GUBUN) TYPE  CHAR1
*"  EXPORTING
*"     VALUE(E_RETURN) TYPE  CHAR1
*"     VALUE(E_MESSAGE) TYPE  CHAR40
*"----------------------------------------------------------------------
  TABLES :  
          e2mbxyh,
          e2mbxyi.


    
  DATA: BEGIN OF idoc_control.
          INCLUDE STRUCTURE edi_dc.
  DATA: END OF idoc_control.
    
  DATA: BEGIN OF int_edidd.
          INCLUDE STRUCTURE edi_dd.
  DATA: END OF int_edidd.


  DATA: gv_clint LIKE idoc_control-rcvprn.


  DATA: it_vbap LIKE vbap OCCURS 0 WITH HEADER LINE. 
  DATA: it_vbak LIKE vbak OCCURS 0 WITH HEADER LINE.
  DATA: g_message_fields LIKE edimessage.
   


  DATA: gt_vbfa LIKE vbfa OCCURS 0 WITH HEADER LINE.


  DATA: l_sgtxt LIKE e2mbxyi-sgtxt.
  DATA: l_scode TYPE n,
        l_fcode TYPE n.


  DATA: l_auart LIKE vbak-auart.


 


*  DATA: outfile LIKE EDI_PATH-PTHNAM
*                  VALUE '/usr/sap/GCD/SYS/global/'.
    




  CONCATENATE sy-sysid 'CLNT' sy-mandt INTO gv_clint.


*// Order type check.
  SELECT SINGLE auart
    INTO l_auart
    FROM vbak
   WHERE vbeln = i_vbeln.


  IF l_auart = 'YOCO'.
      
    OPEN DATASET outfile FOR OUTPUT IN TEXT MODE ENCODING UTF-8. "NON-UNICODE. 


    IF sy-subrc NE 0.
      e_message = 'Error openning outfile'.
      e_return = 'F'.
      EXIT.
    ENDIF.
    CLEAR: idoc_control, int_edidd, l_fcode.


*
    idoc_control-tabnam  = 'EDI_DC'    .
    idoc_control-mandt   = sy-mandt    . 
    idoc_control-docrel  = sy-saprl    .
    idoc_control-doctyp  = 'WMMBID02'  .
    idoc_control-direct  = '2'         . "Inbound
    idoc_control-rcvpor  = 'SAPGCD'    .
    idoc_control-rcvprt  = 'LS'        .
    idoc_control-rcvprn  = gv_clint    .
    idoc_control-sndpor  = 'SAPGCD'    .
    idoc_control-sndprt  = 'LS'        .
    idoc_control-sndprn  = gv_clint    .
    idoc_control-sndpfc  = space       .
    idoc_control-mestyp  = 'WMMBXY'    .
    idoc_control-idoctyp = 'WMMBID02'  .


    TRANSFER idoc_control TO outfile.


    IF sy-subrc NE 0.
      e_message = 'ERROR EDIDC 1'.
      e_return = 'F'.
    ELSE.


 


*//Sales Order Header Data
      CLEAR: int_edidd, l_sgtxt.


      int_edidd-tabnam      = 'EDI_DD'.
      int_edidd-segnam     = 'E2MBXYH'.


      CLEAR: e2mbxyh.
        
      e2mbxyh-bldat   = i_gi_date.
      e2mbxyh-budat   = i_gi_date.
      e2mbxyh-bktxt   = i_vbeln.
      e2mbxyh-tcode   = 'MB11'.


      int_edidd-sdata  = e2mbxyh.


      TRANSFER int_edidd TO outfile.


      IF sy-subrc NE 0.
        e_message = 'Error writing EDIDD 1'.
        ADD 1 TO l_fcode.
      ENDIF.



*//Sales Order Item Data
      CLEAR int_edidd.


      int_edidd-tabnam     = 'EDI_DD'.
      int_edidd-segnam    = 'E2MBXYI'. 
        
      SELECT *  
        INTO CORRESPONDING FIELDS OF TABLE it_vbap
        FROM vbap
       WHERE vbeln = i_vbeln.


      IF sy-subrc = 0.


        LOOP AT it_vbap.
          CLEAR: e2mbxyi, l_sgtxt.
            
              CONCATENATE it_vbap-vbeln it_vbap-posnr INTO l_sgtxt SEPARATED BY space.
            
* GET CUSTOMER NO.  
            SELECT SINGLE kunnr
              INTO it_vbak-kunnr
              FROM vbak
             WHERE vbeln = i_vbeln.
           


          e2mbxyi-matnr = it_vbap-matnr .
          e2mbxyi-werks = it_vbap-werks .
          e2mbxyi-lgort = '3110'        .


          IF i_gubun = 'F'.  "Consignment fill-up
            e2mbxyi-bwart = '631'         .
          ELSEIF i_gubun = 'B'. "Consignment pick-up
* Check Doc. Flow.
            SELECT *
              INTO CORRESPONDING FIELDS OF TABLE gt_vbfa
              FROM vbfa
             WHERE vbeln = i_vbeln.


            IF gt_vbfa[] IS INITIAL.
              e2mbxyi-bwart = '632'       .
            ELSE.
              e_return  = 'F'.
              e_message = 'Subsequent doc. exists!'.


              EXIT.
            ENDIF.
          ENDIF.
          e2mbxyi-kunnr = it_vbak-kunnr .
          e2mbxyi-bwtar = it_vbap-bwtar .
          e2mbxyi-erfmg = it_vbap-kwmeng.
          e2mbxyi-erfme = it_vbap-vrkme .
          e2mbxyi-sgtxt = l_sgtxt       .
          e2mbxyi-umwrk = it_vbap-werks .


          int_edidd-sdata  = e2mbxyi.
          TRANSFER int_edidd TO outfile.


          IF sy-subrc NE 0.
            e_message = 'ERROR EDIDD 2'. 
            e_return = 'F'.


          ENDIF.
            
            ENDLOOP.


        ENDIF.
      ENDIF.


 


*//Make idoc
      SUBMIT  rseinb00  WITH p_file  =  outfile
                        WITH p_port  =  'NSA'
                        AND RETURN.


 


*    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
*      WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.



*                        VIA SELECTION-SCREEN.


 


.
*
    ELSE.
      e_return = 'F'.
      e_message = 'Invalid order type'.
    ENDIF.
  ENDFUNCTION.  

번호 제목 글쓴이 날짜 조회 수
4252 <img src=3.gif>ALV에서 클릭시 다른 테이블 필드값을 가져오려는데요. [2] 나도sap 2009.12.02 1254
4251 <img src=3.gif>CBO테이블에 사진 올리고 받을수 있나요?? [10] 귤탱 2009.12.02 2281
4250 <img src=3.gif>sap변수 타입중 varchar char을 대표하는 타입있나요? [3] 아밥돌이 2009.12.01 2410
4249 <img src=1.gif>BDC 이용 전표생성시 환율 및 지정 필드 값 매칭 관련 문의 드립니다. mapsi 2009.12.01 1590
4248 <img src=2.gif>SET UPDATE TASK LOCAL <- 관해 문의드립니다. [2] 맹꽁이 2009.12.01 4659
4247 <img src=3.gif>테이블 키값 변경 관련 질문입니다. [2] 초밥 2009.12.01 1475
4246 <img src=2.gif>parameter로 특정 directory를 지정하는 펑션 문의 [2] 찬호사랑 2009.11.30 1140
4245 <img src=3.gif>자료여부를 체크하는 로직 확인부탁드립니다. [1] 라면킬러 2009.11.30 1347
» <img src=2.gif>메시지 받아오는 법 좀 부탁드립니다. [3] SAMBATIME 2009.11.28 1522
4243 <img src=2.gif>인터널 테이블, ALV 관련 질문입니다. [1] 마늘맛쿨피스 2009.11.27 1716
4242 <img src=3.gif>GUI Status KO-EN 언어 변환이 안되요. [4] 부산갈매기 2009.11.27 1567
4241 <img src=1.gif>외부 SQL Server의 ODBC연결 방법 찬호사랑 2009.11.27 1401
4240 <img src=3.gif>엑셀을 인터널테이블 업로드할때 필드의 자리수가 100자 이상 올릴수 있는 펑션이 있나요? [4] Norton 2009.11.27 2306
4239 <img src=3.gif>call method cl_gui_cfw=>dispatch. 의 의미를 알고 싶은데요...ㅠ.ㅠ [2] 예슬짱 2009.11.27 1731
4238 <img src=2.gif>field exit에서 debugging 방법 문의 ?? [1] 찬호사랑 2009.11.27 1680
4237 <img src=2.gif>[급] 스마트폼 세로 쓰기 질문입니다~ㅠ.ㅠ [1] 얌얌 2009.11.27 2080
4236 <img src=2.gif>서버의 디렉토리에 있는 이미지를 screen에 보여주는 방법 아시는 분 [1] SkyDream 2009.11.26 1075
4235 <img src=2.gif>ABAP 편집기중 보조자(Assistant) 기능은 무엇인가요? [2] file 준서기 2009.11.26 2854
4234 <img src=3.gif>스마트폼 중국어 적용 질문드립니다. [4] redlemon14 2009.11.26 2114
4233 <img src=3.gif>긴급....아시는 분 도와주세요~ ..ALV report print 출력시 여백을 어떻게 조절하는가요 ? [3] grace 2009.11.26 1988