메뉴 건너뛰기

SAP 한국 커뮤니티

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

노름마치 2007.12.10 21:32 조회 수 : 15085 추천: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.

번호 제목 글쓴이 날짜 조회 수
547 ABAP TUNNING sapjoy 2012.03.12 234722
546 New function vs Old function(obsolete) sapjoy 2014.03.31 127551
545 테이블Active시 (Warnings Occurred During Activation) 안나오게하는방법 [6] 양키 2012.03.29 99696
544 자주 사용하는 String 조작 명령어 [7] 양키(이경환) 2015.01.13 34647
543 collect 구문 [4] sapjoy 2006.12.03 27029
542 사용자 패스워드 변경 함수, 창 [11] sapjoy 2009.12.21 25768
541 R/3 용어 정의 Definitions [4] sapjoy 2007.01.23 23898
540 BAPI_PR_CREATE 구매요청 생성시에 사용하세요 [2] 노름마치 2007.12.10 23697
539 SELECT statement D.Y.Kim 2007.07.20 23646
538 문자열에 있는 값이 숫자만으로 되어있는지 문자가 포함됐는지 체크하는 함수 [3] 꿀단지 2011.10.11 19881
537 LIKE와 TYPE의 차이 [13] sapjoy 2006.12.06 19704
536 숫자입력 체크(Numeric character check) [1] 양키(이경환) 2014.01.28 19584
535 SDN -> SCN 변경되면서 Contents별로 바뀐 LINK 모음 [13] Wise 멘토 2012.07.06 19045
534 ABAP 핵심정리 [23] SARA 2007.03.14 17332
533 ALV LIST 진행시 LAYOUT 속성값 [18] kwon09 2007.04.11 17306
532 ABAP 구문 총정리 [39] file Wise 멘토 2008.11.24 17152
531 인터널 테이블 라인수 lines [8] sapjoy 2014.01.20 17115
530 FOR ALL ENTRIES IN 구문 사용시 select 필드 선택시 주의사항. [7] 나침반친구 2007.03.13 16974
529 SYST 시스템 변수 정리 [5] 아밥뽀 2014.08.23 16927
528 프로그램 정보(프로그램 리스트, PROGRAM LIST, PROGRAM TABLE) [3] sapjoy 2007.02.23 16728