메뉴 건너뛰기

SAP 한국 커뮤니티

BAPI_GOODSMVT_CREATE 입고/출고/재고이동시에 사용하세요.

노름마치 2007.12.10 21:32 조회 수 : 15087 추천:2

*----------------------------------------------------------------
* goodsmvt_header-pstng_date:    전표전기일
* goodsmvt_header-doc_date:      전표 내 증빙일
*----------------------------------------------------------------
* 자재이동코드는 해당 비지니스플로우별로 다음과 같습니다.
* 01: Goods receipt for purchase order
* 02: Goods receipt for production order
* 03: Goods issue
* 04: Transfer posting
* 05: Other goods receipts
* 06: Reversal of goods movements
* Goodsmvt_code:                 자재이동코드
* ----------------------------------------------------------------
* Goodsmvt_item-material:        자재번호
* Goodsmvt_item-plant:           플랜트
* Goodsmvt_item-stge_loc:        저장위치
* Goodsmvt_item-move_type:       '311' 등...
* Goodsmvt_item-entry_Qnt:       이동수량
* Goodsmvt_item-move_stloc:      이동저장위치
----------------------------------------------------------------


 


DATA : st_goodsmvt_header   LIKE  bapi2017_gm_head_01,
       st_goodsmvt_code     LIKE  bapi2017_gm_code,
       st_goodsmvt_headret  LIKE  bapi2017_gm_head_ret,


       g_goodsmvt_doc       LIKE  bapi2017_gm_head_ret-mat_doc,
       g_materialdocument   TYPE  bapi2017_gm_head_ret-mat_doc,
       g_matdocumentyear    TYPE  bapi2017_gm_head_ret-doc_year,
       it_goodsmvt_item     LIKE  bapi2017_gm_item_create 
                                  OCCURS  0 WITH  HEADER  LINE,
       it_goodsmvt_serialnumber   LIKE bapi2017_gm_serialnumber
                                  OCCURS  0 WITH  HEADER  LINE,
       it_return            LIKE  bapiret2 OCCURS  0 WITH  HEADER  LINE.


*================================================================================
  DATA l_tabix LIKE sy-tabix.


  CLEAR    st_goodsmvt_header.
  REFRESH: it_goodsmvt_item, it_goodsmvt_serialnumber, it_return.
  CLEAR:   it_goodsmvt_item, it_goodsmvt_serialnumber, it_return.


  LOOP AT gt_display.
    l_tabix = sy-tabix.


    CLEAR st_goodsmvt_header.
    st_goodsmvt_header-pstng_date   = sy-datum. " 기표일자
    st_goodsmvt_header-doc_date     = sy-datum. " 증빙일자
    st_goodsmvt_code-gm_code        = '04'.     " 재고이동


    REFRESH: it_goodsmvt_item, it_goodsmvt_serialnumber, it_return.
    CLEAR:   it_goodsmvt_item, it_goodsmvt_serialnumber, it_return.


    it_goodsmvt_item-move_type  = '309'.


    it_goodsmvt_item-material   = gt_display-fr_matnr.
    it_goodsmvt_item-plant      = gt_display-fr_werks.
    it_goodsmvt_item-stge_loc   = gt_display-fr_lgort.
    it_goodsmvt_item-batch      = gt_display-fr_charg.


    it_goodsmvt_item-move_mat   = gt_display-to_matnr.
    it_goodsmvt_item-move_plant = gt_display-to_werks.
    it_goodsmvt_item-move_stloc = gt_display-to_lgort.
    it_goodsmvt_item-move_batch = gt_display-to_charg.


    it_goodsmvt_item-entry_qnt  = gt_display-fr_labst.
    it_goodsmvt_item-entry_uom  = gt_display-fr_meins.
    APPEND it_goodsmvt_item.


    CLEAR : g_materialdocument, g_matdocumentyear.
    CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
      EXPORTING
        goodsmvt_header  = st_goodsmvt_header
        goodsmvt_code    = st_goodsmvt_code
      IMPORTING
        goodsmvt_headret = st_goodsmvt_headret
        materialdocument = g_materialdocument
        matdocumentyear  = g_matdocumentyear
      TABLES
        goodsmvt_item    = it_goodsmvt_item
        return           = it_return.


    CLEAR g_goodsmvt_doc.
    IF NOT st_goodsmvt_headret IS INITIAL.
      g_goodsmvt_doc = st_goodsmvt_headret-mat_doc.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
          wait = 'X'.
      gt_display-msgty  = 'S'.
      gt_display-msglin =  g_goodsmvt_doc.
      MODIFY gt_display INDEX l_tabix TRANSPORTING msgty msglin.
    ELSE.
      READ TABLE it_return  INDEX 1.
      gt_display-msgty  = 'E'.
      gt_display-msglin = it_return-message.
      MODIFY gt_display INDEX l_tabix TRANSPORTING msgty msglin.
    ENDIF.
  ENDLOOP.

번호 제목 글쓴이 날짜 조회 수
367 READ_TEXT 관련 [14] file 노름마치 2007.11.15 5177
366 Background Processing sapjoy 2007.11.20 3436
365 SUBQUERY 사용예 입니다. [1] 노름마치 2007.11.20 9536
364 SAP Tips. [7] file 박성민 2007.11.22 5484
363 스크린에서 리스트 박스의 값을 동적으로 생성하는 tip [1] sapjoy 2007.11.30 4799
362 문자열 자를 때 자르는 위치에 2BYTE문자가 있는지를 체크하는 방법입니다. [8] 꿈하루 2007.12.01 7059
361 abap refresh 함수 [2] 꿈하루 2007.12.03 6129
360 BAPI LIST 입니다. 참고하세요. [24] file 노름마치 2007.12.10 4964
» BAPI_GOODSMVT_CREATE 입고/출고/재고이동시에 사용하세요. [5] 노름마치 2007.12.10 15087
358 BAPI_INCOMINGINVOICE_CREAE 송장처리시에 사용하세요. [1] 노름마치 2007.12.10 4535
357 BAPI_MATERIAL_AVAILABILITY 가용성체크시에 사용하세요. [1] 노름마치 2007.12.10 6295
356 BAPI_MATERIAL_SAVEDATA 자재마스터 생성시에 사용하세요. [1] 노름마치 2007.12.10 9238
355 BAPI_MESSAGE_GETDETAIL 작업결과에 대한 메세지는 이렇게도 보여줄수 있겠군요 [1] 노름마치 2007.12.10 4815
354 BAPI_PO_CHANGE 구매오더 변경시에 사용하세요 [7] 노름마치 2007.12.10 5557
353 BAPI_PO_CREATE1 구매오더 생성시에 사용하세요 [8] 노름마치 2007.12.10 9700
352 BAPI_PR_CREATE 구매요청 생성시에 사용하세요 [2] 노름마치 2007.12.10 23697
351 BAPI_PR_CREATE 구매요청 생성시에 사용하세요. 이렇게도 쓸 수 있군요. [1] 노름마치 2007.12.10 6674
350 BAPI_RESERVATION_CREATE1 MB21의 예약생성시 사용하세요. [2] 노름마치 2007.12.10 7602
349 BAPI_SALESDOCU_CREATEFROMDATA1 판매오더를 이렇게 생성해도 되는군요. [4] 노름마치 2007.12.10 5504
348 ABAP TIP 정리(영문 60페이지) [31] file sapjoy 2008.01.04 4478