Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 10482

Re: How do you implement BAPI_PO_CREATE then BAPI_GOODSMVT_CREATE?

$
0
0

HI Ron,

First instead i have recommended you to use the BAPI_PO_CREATE1 and there is one paramater No price from PO. Mark that field to X because if you can't mark this field to X then automatic system create the material value from the last purchase material value.

 

 

Below the Code is the BAPI for the GR receipt using PO number. I have also BAPI of BAPI_PO_CReate1. But to multiple logic for that bapi describe in my Program it is difficult to  paste here.

 

  data GOODSMVT_HEADER type BAPI2017_GM_HEAD_01  .
   data GOODSMVT_CODE   type BAPI2017_GM_CODE .

*****         Table internal table
   data it_GOODSMVT_ITEM type table of BAPI2017_GM_ITEM_CREATE .
   data it_GOODSMVT_SERIALNUMBER type table of BAPI2017_GM_SERIALNUMBER .

****        Work area of that particular internal table ....
   data wa_GOODSMVT_ITEM         like line of it_GOODSMVT_ITEM .
   data wa_GOODSMVT_SERIALNUMBER like line of it_GOODSMVT_SERIALNUMBER .

DATA IT_RETURN TYPE TABLE OF BAPIRET2 WITH HEADER LINE .
   DATA P_MBLNR TYPE MBLNR .
   DATA P_GJAHR TYPE GJAHR .
   data gt_goodsmvt_headret LIKE bapi2017_gm_head_ret .

it_final1[] = it_final[] .
   delete adjacent duplicates from it_final1 comparing ebeln_bapi .
   LOOP AT it_final1 into wa_final1.
GOODSMVT_HEADER-PSTNG_DATE        = sy-datum  .
     GOODSMVT_HEADER-DOC_DATE          = sy-datum .
     GOODSMVT_HEADER-HEADER_TXT        = 'IT TEAM' .
     GOODSMVT_HEADER-REF_DOC_NO_LONG   = 'SAP TEAM' .

GOODSMVT_CODE = '01' . " FOR THE DOCUMENT CODE TYPE. 01 for pucrhcase order

* GMCODE Table T158G - 01 - MB01 - Goods Receipts for Purchase Order
*                      02 - MB31 - Goods Receipts for Prod Order
*                      03 - MB1A - Goods Issue
*                      04 - MB1B - Transfer Posting
*                      05 - MB1C - Enter Other Goods Receipt
*                      06 - MB11

**BREAK-POINT .
     LOOP AT it_final into wa_final where ebeln_bapi = wa_final1-ebeln_bapi.
       CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
         EXPORTING
           INPUT  = wa_final-matnr
         IMPORTING
           OUTPUT = wa_final-matnr.

WA_GOODSMVT_ITEM-MATERIAL = WA_FINAL-MATNR .
       WA_GOODSMVT_ITEM-PLANT    = lv_plant .
       WA_GOODSMVT_ITEM-STGE_LOC = 'CG01' . "WA_FINAL-LGORT' .
       WA_GOODSMVT_ITEM-MOVE_TYPE = '101' .
       WA_GOODSMVT_ITEM-STCK_TYPE  = 'Q' .
       WA_GOODSMVT_ITEM-VENDOR      = WA_FINAL-LIFNR .
       WA_GOODSMVT_ITEM-ENTRY_QNT  =  WA_FINAL-MENGE .
       WA_GOODSMVT_ITEM-PO_NUMBER  =  wa_final-ebeln_bapi .
       WA_GOODSMVT_ITEM-PO_ITEM    =  WA_FINAL-ebeln_line . " iT CAN BE CHANGE IT THE ITEM OF GRN NUMBER
       WA_GOODSMVT_ITEM-ITEM_TEXT  =  WA_FINAL-MAKTX .
       WA_GOODSMVT_ITEM-MVT_IND    = 'B' .

 

 

APPEND WA_GOODSMVT_ITEM TO IT_GOODSMVT_ITEM .

     ENDLOOP.
     CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
       EXPORTING
         GOODSMVT_HEADER       = GOODSMVT_HEADER
         GOODSMVT_CODE         = GOODSMVT_CODE
*       TESTRUN               = ' '
*       GOODSMVT_REF_EWM      =
       IMPORTING
         GOODSMVT_HEADRET      = gt_goodsmvt_headret
         MATERIALDOCUMENT      = P_MBLNR
         MATDOCUMENTYEAR       = P_GJAHR
       TABLES
         GOODSMVT_ITEM         = IT_GOODSMVT_ITEM
*       GOODSMVT_SERIALNUMBER =
         RETURN                = IT_RETURN.
*                       GOODSMVT_SERV_PART_DATA       =
*                       EXTENSIONIN                   =
     .
**BREAK-POINT .
     CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT          = 'X'
*                     IMPORTING
*                       RETURN        =
               .

 

Regards,

Nishant Bansal


Viewing all articles
Browse latest Browse all 10482

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>