BAPI_GOODSMVT_CREATE to generate Goods Receipts

Hello Experts,
Can some one help me with a sample abap program making use of the BAPI function BAPI_GOODSMVT_CREATE to generate Goods Receipts for Purchase Order for relevant data stored in an internal table .
what are the fields of the internal table i will need to populate and from which tables am i to fetch the relavent data.
Awaiting some help .
Thanks,

Hi,
  Please take a look at this links for sample coding of BAPI_GOODSMVT_CREATE.
http://www.sap-img.com/abap/bapi-goodsmvt-create-to-post-goods-movement.htm
http://www.4ap.de/abap/bapi_goodsmvt_create.php
Regards
Kiran Sure

Similar Messages

  • Generate Goods Receipt from PO IDoc

    Hi Gurus
    Please find my following requirement:
    1. Legacy system generates data. Using PORDCR idoc we create Purchase orders in SAP.
    2. After creating this PO, we need to generate Goods Receipts based on the data in the created IDoc.
    To create PO we have IDOC PORDCR. This IDOC just creates the PO but please tell me how to generate GRs from this PO.
    Do I need to enhance this IDOC function Module? Or, is there any IDOC already available to create GRs as well?
    Please throw some light on this.
    Please help.
    Thanks in advance.
    Skysen.

    Hi
    Did you try to delete the user ? Did you get any error message?
    Note 1148837 - SRM user cannot be deleted
    When trying to delete an SRM user the system will check if there are still
    related SRM documents in the system. If there are active documents in the
    system the deletion is not possible. This is the correct system behaviour.
    But even if all related SRM documents are archived the deletion is
    sometimes not possible, because there are residual entries in table
    CRMD_PARTNER linked to this user.
    More Terms
    User crmd_partner residual entries deletion active document
    Cause and Prerequisites
    Solution
    The attached report PARTNER_SET_DELETE will display in simulation mode all
    residual entries in table crmd_partner with invalid item or header links
    and in non simulation mode it will delete the corresponding crmd_partner
    entries.
    Header Data
    Release Status: Released for Customer
    Released on: 10.03.2008 11:54:37
    Priority: Correction with low priority
    Category: Help for error analysis
    Main Component SRM-EBP-PD Procurement Document Methods
    Additional Components:
    SRM-EBP-ADM-USR SRM User Administration
    Valid Releases
    Software Component Release From
    Release
    To Release and Following
    SRM_SERVER 500 500 500
    SRM_SERVER 550 550 550
    Support Packages
    Support Packages Release Package Name
    SRM_SERVER 500 SAPKIBKS14
    SRM_SERVER 550 SAPKIBKT12
    Correction Instructions
    Ref note 550071 too..
    regards
    Muthu

  • How to generate goods receipt / goods issue (gr/gi) slip no. ?

    Hi all SAP experts,
       i did following steps
    1) by using omc1 assigned gr/gi slip number for our plant.
    2) created internal number range for no. range group code.
    3) intervals are created for gr/ir slip in 2009 by using omj6 t-code.
    4) assigned no. range group code to plant and movement type 101.
           When i create Purchase order and taking goods receipt w.r.t. p.o. still gr/ir slip no. not generated internally . I checked it for MB51 t-code still gr/gi slip column is empty i.e. no number generated.
    So how can i do gr/gi slip no. generated internally ? and what is the transaction for printout of gr/gi slip no. or related configuration ?
    regards,
    Nitin Nerkar

    Dear,
    Make this field RM07M-XABLN as mandatory in OMJX transaction and check it in OMC1.
    Regards,
    R.Brahmankar

  • BAPI_GOODSMVT_CREATE: Want to Goods Receipt onto an Existing P.O.

    Trying to Post MB01/101 using the BAPI and PO num. Adding additional qtys of maynr/batch. Having issue.
    Has anyone done this with the BAPI?
    Thanks

    Probably many people have done it, but what shall they answer?
    do you just expect a yes we have done it or no, we havent ?
    Or do you want help for you specific problem? then you should have given more input to enable the readers to help you.
    A question that has already a reply will reduce the numbers of possible readers.
    First find out if you problem is related to the BAPI or to the PO. The easist way is to try the GR manually. IF you receive already here an error, then it is not a problem in the BAPI.

  • Goods Receipts for Purchase Order using BAPI_GOODSMVT_CREAT

    Hi experts,
    I am working on the a program where am generating Goods Receipts for Purchase Order. the BAPI_GOODSMVT_CREAT returns an error saying "Material 6003022 not maintained in plant 1001"
    Can any one assist? is there a field I may be missing?
    Here is a sample code.
    DATA: gm_header TYPE bapi2017_gm_head_01.
    DATA: gm_code TYPE bapi2017_gm_code.
    DATA: gm_headret TYPE bapi2017_gm_head_ret.
    DATA: gm_item TYPE TABLE OF bapi2017_gm_item_create WITH HEADER LINE.
    DATA: gm_return TYPE bapiret2 OCCURS 0 WITH HEADER LINE.
    DATA: gm_retmtd TYPE bapi2017_gm_head_ret-mat_doc.
    CLEAR: gm_return, gm_retmtd.
    REFRESH gm_return.
    Setup BAPI header
    "data
    gm_header-pstng_date = sy-datum.
    gm_header-doc_date = sy-datum.
    gm_code-gm_code = '02'.
    " MB1A * Write 971 movement to table CLEAR GM_ITEM.
    MOVE '101' TO gm_item-move_type .
    " MOVE 'Q' TO GM_ITEM-SPEC_STOCK.
    MOVE '6003022' TO gm_item-material.
    MOVE '10' TO gm_item-entry_qnt.
    MOVE 'EA' TO gm_item-entry_uom.
    MOVE '1001' TO gm_item-plant.
    MOVE '' TO gm_item-stge_loc.
    MOVE '0901' TO gm_item-move_reas.
    "  MOVE '4500006877' TO GM_ITEM-WBS_ELEM.
    "  MOVE '0020' TO GM_ITEM-VAL_WBS_ELEM.
    MOVE '0020' TO gm_item-deliv_numb.
    MOVE '4500006881' TO gm_item-po_number.
    MOVE '0010' TO gm_item-po_item.
    APPEND gm_item.
    Call goods movement BAPI
    CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
      EXPORTING
        goodsmvt_header  = gm_header
        goodsmvt_code    = gm_code
      IMPORTING
        goodsmvt_headret = gm_headret
        materialdocument = gm_retmtd
      TABLES
        goodsmvt_item    = gm_item
        return           = gm_return.
    IF NOT gm_retmtd IS INITIAL.
      COMMIT WORK AND WAIT.
      CALL FUNCTION 'DEQUEUE_ALL'.
    ELSE.
      COMMIT WORK AND WAIT.
      CALL FUNCTION 'DEQUEUE_ALL'.
    ENDIF.

    >
    Spark842 wrote:
    > Hi experts,
    > I am working on the a program where am generating Goods Receipts for Purchase Order. the BAPI_GOODSMVT_CREAT returns an error saying "Material 6003022 not maintained in plant 1001"
    >  Can any one assist? is there a field I may be missing?
    >
    > Here is a sample code.
    >
    > DATA: gm_header TYPE bapi2017_gm_head_01.
    > DATA: gm_code TYPE bapi2017_gm_code.
    > DATA: gm_headret TYPE bapi2017_gm_head_ret.
    > DATA: gm_item TYPE TABLE OF bapi2017_gm_item_create WITH HEADER LINE.
    > DATA: gm_return TYPE bapiret2 OCCURS 0 WITH HEADER LINE.
    > DATA: gm_retmtd TYPE bapi2017_gm_head_ret-mat_doc.
    > CLEAR: gm_return, gm_retmtd.
    > REFRESH gm_return.
    > * Setup BAPI header
    > "data
    > gm_header-pstng_date = sy-datum.
    > gm_header-doc_date = sy-datum.
    > gm_code-gm_code = '02'.
    >
    >
    > " MB1A * Write 971 movement to table CLEAR GM_ITEM.
    > MOVE '101' TO gm_item-move_type .
    > " MOVE 'Q' TO GM_ITEM-SPEC_STOCK.
    > MOVE '6003022' TO gm_item-material.
    > MOVE '10' TO gm_item-entry_qnt.
    > MOVE 'EA' TO gm_item-entry_uom.
    > MOVE '1001' TO gm_item-plant.
    > MOVE '' TO gm_item-stge_loc.
    > MOVE '0901' TO gm_item-move_reas.
    > "  MOVE '4500006877' TO GM_ITEM-WBS_ELEM.
    > "  MOVE '0020' TO GM_ITEM-VAL_WBS_ELEM.
    > MOVE '0020' TO gm_item-deliv_numb.
    > MOVE '4500006881' TO gm_item-po_number.
    > MOVE '0010' TO gm_item-po_item.
    > APPEND gm_item.
    >
    > * Call goods movement BAPI
    >
    > CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
    >   EXPORTING
    >     goodsmvt_header  = gm_header
    >     goodsmvt_code    = gm_code
    >   IMPORTING
    >     goodsmvt_headret = gm_headret
    >     materialdocument = gm_retmtd
    >   TABLES
    >     goodsmvt_item    = gm_item
    >     return           = gm_return.
    >
    > IF NOT gm_retmtd IS INITIAL.
    >
    >   COMMIT WORK AND WAIT.
    >   CALL FUNCTION 'DEQUEUE_ALL'.
    > ELSE.
    >   COMMIT WORK AND WAIT.
    >
    >   CALL FUNCTION 'DEQUEUE_ALL'.
    > ENDIF.
    My guess, is that this material is not really maintained in the Plant '1001', to be on the safer side, get the exact values from EKPO itself, also check if this material exists in the table MARC for the plant and storage location.
    MOVE '1001' TO gm_item-plant.   "<< Hard coded
    MOVE '' TO gm_item-stge_loc.
    Replace the above hardcodes to something like this to get the actual value from EKPO.
    select werks lgort into (gm_item-plant, gm_item-stge_loc) from ekpo
       where ebeln = gm_item-po_number
            and ebelp = gm_item-po_item.

  • Goods receipt for subcontracting order! BAPI_GOODSMVT_CREATE

    I wanna use BAPI "BAPI_GOODSMVT_CREATE"  to create goods receipt for subcontracting order.
    But it says that this combination is not possible.  Combination of my movement type and this BAPI.
    What can i do to solve it?
    thanks in advance.

    >
    Julia Nikiforva wrote:
    > I wanna use BAPI "BAPI_GOODSMVT_CREATE"  to create goods receipt for subcontracting order.
    > But it says that this combination is not possible.  Combination of my movement type and this BAPI.
    >
    > What can i do to solve it?
    >
    > thanks in advance.
    Might work
    report zbapi_goodsmovement.
    parameters: p-file like rlgrap-filename default
    'c:\sapdata\TEST.txt'.
    parameters: e-file like rlgrap-filename default
    'c:\sapdata\gdsmvterror.txt'.
    parameters: xpost like sy-datum default sy-datum.
    data: begin of gmhead.
    include structure bapi2017_gm_head_01.
    data: end of gmhead.
    data: begin of gmcode.
    include structure bapi2017_gm_code.
    data: end of gmcode.
    data: begin of mthead.
    include structure bapi2017_gm_head_ret.
    data: end of mthead.
    data: begin of itab occurs 100.
    include structure bapi2017_gm_item_create.
    data: end of itab.
    data: begin of errmsg occurs 10.
    include structure bapiret2.
    data: end of errmsg.
    data: wmenge like iseg-menge,
    errflag.
    data: begin of pcitab occurs 100,
    ext_doc(10), "External Document Number
    mvt_type(3), "Movement Type
    doc_date(8), "Document Date
    post_date(8), "Posting Date
    plant(4), "Plant
    material(18), "Material Number
    qty(13), "Quantity
    recv_loc(4), "Receiving Location
    issue_loc(4), "Issuing Location
    pur_doc(10), "Purchase Document No
    po_item(3), "Purchase Document Item No
    del_no(10), "Delivery Purchase Order Number
    del_item(3), "Delivery Item
    prod_doc(10), "Production Document No
    scrap_reason(10), "Scrap Reason
    upd_sta(1), "Update Status
    end of pcitab.
    call function 'WS_UPLOAD'
    exporting
    filename = p-file
    filetype = 'DAT'
    IMPORTING
    FILELENGTH =
    tables
    data_tab = pcitab
    EXCEPTIONS
    FILE_OPEN_ERROR = 1
    FILE_READ_ERROR = 2
    NO_BATCH = 3
    GUI_REFUSE_FILETRANSFER = 4
    INVALID_TYPE = 5
    OTHERS = 6
    if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    exit.
    endif.
    gmhead-pstng_date = sy-datum.
    gmhead-doc_date = sy-datum.
    gmhead-pr_uname = sy-uname.
    gmcode-gm_code = '01'. "01 - MB01 - Goods Receipts for Purchase Order
    loop at pcitab.
    itab-move_type = pcitab-mvt_type.
    itab-mvt_ind = 'B'.
    itab-plant = pcitab-plant.
    itab-material = pcitab-material.
    itab-entry_qnt = pcitab-qty.
    itab-move_stloc = pcitab-recv_loc.
    itab-stge_loc = pcitab-issue_loc.
    itab-po_number = pcitab-pur_doc.
    itab-po_item = pcitab-po_item.
    concatenate pcitab-del_no pcitab-del_item into itab-item_text.
    itab-move_reas = pcitab-scrap_reason.
    append itab.
    endloop.
    loop at itab.
    write:/ itab-material, itab-plant, itab-stge_loc,
    itab-move_type, itab-entry_qnt, itab-entry_uom,
    itab-entry_uom_iso, itab-po_number, itab-po_item,
    pcitab-ext_doc.
    endloop.
    call function 'BAPI_GOODSMVT_CREATE'
    exporting
    goodsmvt_header = gmhead
    goodsmvt_code = gmcode
    TESTRUN = ' '
    IMPORTING
    goodsmvt_headret = mthead
    MATERIALDOCUMENT =
    MATDOCUMENTYEAR =
    tables
    goodsmvt_item = itab
    GOODSMVT_SERIALNUMBER =
    return = errmsg
    clear errflag.
    loop at errmsg.
    if errmsg-type eq 'E'.
    write:/'Error in function', errmsg-message.
    errflag = 'X'.
    else.
    write:/ errmsg-message.
    endif.
    endloop.
    if errflag is initial.
    commit work and wait.
    if sy-subrc ne 0.
    write:/ 'Error in updating'.
    exit.
    else.
    write:/ mthead-mat_doc, mthead-doc_year.
    perform upd_sta.
    endif.
    endif.
    FORM UPD_STA *
    form upd_sta.
    loop at pcitab.
    pcitab-upd_sta = 'X'.
    modify pcitab.
    endloop.
    call function 'WS_DOWNLOAD'
    exporting
    filename = p-file
    filetype = 'DAT'
    IMPORTING
    FILELENGTH =
    tables
    data_tab = pcitab
    EXCEPTIONS
    FILE_OPEN_ERROR = 1
    FILE_READ_ERROR = 2
    NO_BATCH = 3
    GUI_REFUSE_FILETRANSFER = 4
    INVALID_TYPE = 5
    OTHERS = 6
    endform.

  • Error while trying to raise a Goods Receipt PO in SAP B1 v 9.0

    Hi Experts,
    while trying to raise a Goods Receipt PO in SAP B1 v 9.0 the following error is been generated:
    You should use existing Serial/batch number for this document type [21-59 ]
    Note:We are able  to generate Goods Receipt PO for an item which is not serialized.
    Thanks
    Regards,
    Satish.

    Hi Edy,
    Dim oPDN As SAPbobsCOM.Documents
    oPDN = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseDeliveryNotes)
                    oPDN.CardCode = "C232323"
                    oPDN.Lines.ItemCode = "A00004"
                    'oGR.Lines.LineNum = 0
                    oPDN.Lines.BaseLine = 1
                    oPDN.Lines.BaseEntry = 202
                    'oGR.Lines.BaseRef = 203
                    oPDN.Lines.BaseType = 20
                    oPDN.Lines.Quantity = 1
                    oPDN.Lines.UnitPrice = 2
                    oPDN.Lines.WarehouseCode = '01'
                        oPDN.Lines.SerialNumbers.InternalSerialNumber = 3
                        oPDN.Lines.SerialNumbers.SystemSerialNumber = "Sh01"
                        oPDN.Lines.SerialNumbers.ManufacturerSerialNumber = "Mf01"
                        oPDN.Lines.SerialNumbers.SetCurrentLine(iRowNo)
                        oPDN.Lines.SerialNumbers.Add()
                    End If
                Next
                oPDN.Lines.Add()
                lRetCode = oPDN.Add
    Thanks,
    Satish.

  • No goods receipt possible for purchase order 'PO#" "Lineitem"

    Hi gurus,
    Please help on below error.
    While doing return to vendor transaction using BAPI 'BAPI_GOODSMVT_CREATE' error 'No goods receipt possible for purchase order 'PO#" "Lineitem"' was encountered. As checked, all data are correct including the plant, sloc, PO#, stocks, batch.
    Please kindly advice on how to resolve the issue.
    Thank you in advance.

    Hi,
    Few things which immediately comes to my mind.
    1. Check if the PO is released?
    2. Check if the confirmation control is properly set in Confirmations tab of item details of a PO.
    3. Check if the Goods Receipt indicator is ticked at item level of PO.
    I hope these helps.
    Kind Regards,
    Prakash

  • Error in goods receipt with PO

    Hi experts,
      I am getting the following error,when trying goods receipt with Purchase Order using BAPI_GOODSMVT_CREATE.
    "No goods receipt possible for pruchase order XXXXXX".
    What may be the reason for this,its urgent please help.
    Thanks & Regards
    Karthik

    I just got the error message in the email.  Here is a sample code for movement type 122.  Replace all the XXXX values with values from your system.
    Also as a sanity check make sure that the PO/Item you are testing with can be returned back to the vendor - use MB01 to make sure this movement type is successful for your PO/Item.
    DATA: w_goodsmvt_header LIKE bapi2017_gm_head_01,
          w_goodsmvt_code LIKE bapi2017_gm_code,
          i_return LIKE bapiret2 OCCURS 0.
    DATA: BEGIN OF i_goodsmvt_item OCCURS 0.
            INCLUDE STRUCTURE bapi2017_gm_item_create.
    DATA: END OF i_goodsmvt_item.
    DATA: w_extnumber TYPE bal_s_log-extnumber.
    DATA: w_goodsmvt_headret  LIKE bapi2017_gm_head_ret,
          w_materialdocument  LIKE bapi2017_gm_head_ret-mat_doc,
          w_matdocumentyear   LIKE bapi2017_gm_head_ret-doc_year.
    CLEAR: w_goodsmvt_header,
           i_goodsmvt_item,
           i_goodsmvt_item[],
           i_return[].
    MOVE sy-datum TO w_goodsmvt_header-pstng_date.
    w_goodsmvt_code = '01'.                                     "MB01
    i_goodsmvt_item-material = 'XXXXXX'. "material number
    i_goodsmvt_item-plant = 'XXXX'.  "Plant that originally recieve this PO
    i_goodsmvt_item-stge_loc = 'XXXX'.  "Storage loc
    i_goodsmvt_item-entry_qnt = 1.
    i_goodsmvt_item-entry_uom = 'XXX'.
    i_goodsmvt_item-entry_uom_iso = 'XXX'.
    i_goodsmvt_item-po_number = 'XXXXXXXXXX'.
    i_goodsmvt_item-po_item = 'XXXXX'.
    i_goodsmvt_item-move_type = '122'.
    i_goodsmvt_item-mvt_ind = 'B'.
    i_goodsmvt_item-move_reas = '1'.  "or whatever reason allowed for 122
    APPEND i_goodsmvt_item.
    CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
      EXPORTING
        goodsmvt_header             = w_goodsmvt_header
        goodsmvt_code               = w_goodsmvt_code
        testrun                     = 'X'  "turn this off once I_RETURN comes back empty
    IMPORTING
        goodsmvt_headret            = w_goodsmvt_headret
        materialdocument            = w_materialdocument
        matdocumentyear             = w_matdocumentyear
      TABLES
        goodsmvt_item               = i_goodsmvt_item
        return                      = i_return.
    BREAK-POINT.

  • Sending mail when  Goods Receipt created

    Hi ,
    I am new to Workflow,
    I have the following requirement
    When ever Goods Receipt  created system automatically generate Goods Receipt output(smartform) and send a mail to user who has created Goods Receipt with PDF doc (goods receipt ) .
    Please tell me how to Proceed.
    Thanks,
    Santosh.

    Hi,
    Check this [artcile|http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/60ff6ad3-729b-2b10-6582-fedc82680a29] a step by step detailed information is mentioned .
    Regards
    Pavan

  • Error while using BAPI  to create Goods Receipt Document

    Hello All,
        While using the bapi BAPI_GOODSMVT_CREATE to create  Goods receipt document ,the following error is encountered:-
    Error Message:FOR OBJECT XABBELEGNR,NUMBER RANGE INTERVAL DOES NOT EXIST OM36.
    Do we need to create a number range object ??If yes,how and where to create ?
    Thanks,
    Deepti.

    Hi Deepti!
    There is only a valid interval missing, not the whole object.
    Maintenance can be done via transaction SNRO, enter your object XABBELEGNR in entry screen. (Alternatively use transaction OMJ6).
    Push button 'Number Ranges' and 'Change Intervals'. Here you can define an interval.
    Regards,
    Christian

  • Creating goods receipt with refernce to PO number using BAPI_GOODSMVT_CREAT

    Hi Gurus,
    I have a requirment where in, I need to create a goods receipt with reference to a PO number which has been created by BAPI_PO_CREATE1, using another BAPI BAPI_GOODSMVT_CREATE.  How can I do this? what are all the values that I need to fill in GOODSMVT Create BAPI.
    Please help its very urgent... Need to submit by EOD.
    Thanks,
    Suma

    hi
    hope this code will help you,.
    Reward if help.
    REPORT ZRICH_0001 .
    Structures for BAPI
    DATA: GM_HEADER  TYPE BAPI2017_GM_HEAD_01.
    DATA: GM_CODE    TYPE BAPI2017_GM_CODE.
    DATA: GM_HEADRET TYPE BAPI2017_GM_HEAD_RET.
    DATA: GM_ITEM    TYPE TABLE OF
                     BAPI2017_GM_ITEM_CREATE WITH HEADER LINE.
    DATA: GM_RETURN  TYPE BAPIRET2 OCCURS 0 WITH HEADER LINE.
    DATA: GM_RETMTD  TYPE BAPI2017_GM_HEAD_RET-MAT_DOC.
    CLEAR: GM_RETURN, GM_RETMTD. REFRESH GM_RETURN.
    Setup BAPI header data.
    GM_HEADER-PSTNG_DATE = SY-DATUM.
    GM_HEADER-DOC_DATE   = SY-DATUM.
    GM_CODE-GM_CODE      = '04'.                                " MB1A
    Write 971 movement to table
    CLEAR GM_ITEM.
    MOVE '412'                 TO GM_ITEM-MOVE_TYPE     .
    MOVE 'Q'                 TO GM_ITEM-SPEC_STOCK.
    MOVE '3800533484'  TO GM_ITEM-MATERIAL.
    MOVE '1'     TO GM_ITEM-ENTRY_QNT.
    *MOVE 'PC'    TO GM_ITEM-ENTRY_UOM.
    MOVE '1060'  TO GM_ITEM-PLANT.
    MOVE '0007'  TO GM_ITEM-STGE_LOC.
    *MOVE '0901'   TO GM_ITEM-MOVE_REAS.
    MOVE 'P203601001' TO GM_ITEM-WBS_ELEM.
    MOVE 'P203601001' TO GM_ITEM-VAL_WBS_ELEM.
    APPEND GM_ITEM.
    Call goods movement BAPI
    CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
         EXPORTING
              GOODSMVT_HEADER  = GM_HEADER
              GOODSMVT_CODE    = GM_CODE
         IMPORTING
              GOODSMVT_HEADRET = GM_HEADRET
              MATERIALDOCUMENT = GM_RETMTD
         TABLES
              GOODSMVT_ITEM    = GM_ITEM
              RETURN           = GM_RETURN.
    IF NOT GM_RETMTD IS INITIAL.
      COMMIT WORK AND WAIT.
      CALL FUNCTION 'DEQUEUE_ALL'.
    ELSE.
      COMMIT WORK AND WAIT.
      CALL FUNCTION 'DEQUEUE_ALL'.
    ENDIF.
    WRITE:/ GM_RETMTD.
    LOOP AT GM_RETURN.
      WRITE:/ GM_RETURN.
    ENDLOOP.
    check the BAPI_GOODSMVT_CREATE.
    Functionality
    You can use this method to create a material document for a goods movement.
    You can only create one material document each time you call up the method.
    You can use a simulation function before posting the goods movement to check how the data is updated in the database. The standard system is configured so that the goods movement is posted immediately without simulating beforehand.
    Ensure that you transfer the data in the same way as it is run in the database, for example,
    Material number 18-figure with leading zeros
    Batches with uppercase letters
    Note that for all transactions/events listed below, the posting date is entered in the header data of the material document. In the BAPI2017_GM_HEAD_01 interface, fill the PSTNG_DATE (import structure GOODSMVT_HEADER) field.
    Notes
    Authorization check check
    In the MM Inventory Management component, the method does not execute any authorization checks.
    Note that during a posting of a goods movement, depending on the business transaction of the system, authorization objects of other applications can also be checked.
    Transfer
    The following information about the material document that is to be created is transferred to the method:
    a structure with header data
    a structure with the code for the movement
    a table with the item data
    a table with the serial numbers
    The posting is carried out in the SAP R/3 via the MB_CREATE_GOODS_MOVEMENT function module.
    Confirmations
    Messages are returned in the Return parameter. The parameter documentation shows the return codes and their meanings.
    Further Information
    The method can only carry out your function if no error messages were generated in the Return table. This is the case if the header data and all the items were processed successfully.
    Transaction control is not implemented. The calling program therefore has to execute the Commit Work itself after this method has been successfully called (in other words, if no errors were reported in the Return parameter).
    Which fields have to be filled during the various transactions/ events?
    The following sample scenarios demonstrate which fields have to be filled for which business transactions/events (code).
    There are the following types of transactions/events:
    1. GM_Code 01: Goods receipt for purchase order
    2. GM_Code 02: Goods receipt for production order
    3. GM_Code 03: Goods issue
    4. GM_Code 04: Transfer posting
    5. GM_Code 05: Other goods receipts
    6. GM_Code 06: Reversal of goods movements
    7. GM_Code 07: Subsequent adjustment to a subcontract order
    Entering the movement indicator
    Depending on the transaction, you must enter the following in the movement indicator:
    GM_Code 01 (Goods receipt for purchase order): B
    GM_Code 02 (Goods receipt for production order): F
    For all other transactions, you leave the field blank.
    For 1: GM_Code 01: Goods receipt for purchase order
    Purchase order known
    The following fields have to be filled:
    Purchase order
    Purchase order item
    Movement type
    Movement indicator
    Quantity in unit of entry
    ISO code unit of measurement for unit of entry or
    quantity proposal
    The following fields may have to be filled in some cases (incomplete listing):
    Shelf life expiration date (if it has been configured like this in the system)
    Reason for movement (if it has been configured like this in the system)
    Batch (if the material is handled in batches and batch numbers are not assigned automatically)
    Storage location (if a storage location has not been specified in the purchase order item)
    The following fields can be filled (incomplete listing):
    Stock type
    Item text
    Unloading point
    Delivery completed indicator
    You cannot fill the following fields (incomplete listing):
    Account assignment fields (account assignment is adopted from the purchase order)
    Reservation
    Receiving/issuing material
    Receiving/issuing plant
    Receiving/issuing storage location
    In the case of a purchase order item with the "subcontracting" item category, only the GR item in the interface is to be transferred. The system automatically determines GI items.
    Purchase order unknown: Shipping notification known
    The following fields have to be filled:
    Delivery
    Delivery item
    Movement type
    Other fields, such as those under "Purchase order known". The system determines the relevant purchase order item via the delivery/delivery item.
    Purchase order unknown: Purchase order should be created automatically
    The following fields have to be filled:
    Material number
    Plant
    Storage location
    Vendor
    Movement type
    Movement indicator
    Quantity in unit of entry
    ISO code unit of measurement for unit of entry
    The following fields may have to be filled in some cases (incomplete listing):
    Shelf life expiration date (if it has been configured like this in the system)
    Reason for movement (if it has been configured like this in the system)
    Batch (if the material is handled in batches and batches are not assigned automatically)
    The following fields can be filled (incomplete listing):
    Stock type
    Item text
    Unloading point
    You cannot fill the following fields (incomplete listing):
    Account assignment fields (automatic creation of purchase order items with account assignment is not supported)
    Reservation
    Receiving/issuing material
    Receiving/issuing plant
    Receiving/issuing storage location
    Purchase order unknown: A purchase order should not be created
    The following fields have to be filled:
    Material number
    Plant
    Storage location
    Vendor
    Movement type
    Movement indicator
    Quantity in unit of entry
    ISO code unit of measurement for unit of entry
    The following fields may have to be filled in some cases (incomplete listing):
    Shelf life expiration date (if it has been configured like this)
    Reason for movement (if it has been configured like this)
    Batch (if the material is handled in batches and automatic assignment of batch numbers is not set)
    The following fields can be filled (incomplete listing):
    Special stock indicator
    Item text
    Unloading point
    Goods recipient
    The following fields cannot be filled (incomplete listing):
    Account assignment fields (automatic creation of purchase order items with account assignment is not supported)
    Reservation
    Receiving/issuing material
    Receiving/issuing plant
    Receiving/issuing storage location
    Receiving/issuing batch
    The input combinations listed above for the GM_CODE 01 can be combined within an input table so that they can be posted in a material document. Items can also be posted for different purchase orders, provided that all the purchase orders refer to the same vendor.
    Transfer of subcontracting components
    During the posting of the ordered material of a subcontract order with movement type 101, for the transfer of the subcontracting components, the filled unique identification of the document line (LINE_ID) is also required.
    More information on LINE_ID and PARENT_ID
    The following fields have to be filled for the components:
    Unique identification of the document line
    Identification of the immediately superior line
    Material number
    Plant
    Storage location
    Quantity in unit of entry
    The following fields can be filled for the components:
    All other fields in the method that are included in this list.
    The following fields cannot be filled for the components:
    All fields that are not included in the list above. The movement indicator must be initial.
    Additional fields in goods-receipt-based invoice verification
    When you post a goods receipt to purchase order with movement type 102, an issue with reference to a previously posted goods issue, the following fields must also be transferred:
    REF_DOC_IT (LFPOS): Item of a reference document
    REF_DOC (LFBNR): Document number of a reference document
    REF_DOC_YR (LFBJA): Fiscal year of a reference document
    Only when you transfer these fields is it guaranteed that the reference to the original goods movement stay the same.
    For 2 GM_Code 02: Goods receipt for production order
    The following fields have to be filled:
    Order
    Movement type
    Movement indicator
    Quantity in unit of entry
    ISO code unit of measurement for unit of entry or
    quantity proposal
    The following fields may have to be filled in some cases (incomplete listing):
    Shelf life expiration date (if the system has been configured like this)
    Reason for movement (if the system has been configured like this)
    Batch (if the material is handled in batches and automatic batch number assignment is not set)
    Storage location (if storage location has not been specified in the order)
    The following fields can be filled (incomplete listing):
    Order item (co-product)
    Stock type
    Item text
    Unloading point
    "Delivery completed" indicator
    The following fields cannot be filled (incomplete listing):
    Account assignment fields (the account assignments are adopted from the purchase order)
    Reservation
    Receiving/issuing material
    Receiving/issuing plant
    Receiving/issuing storage location
    Receiving/issuing batch
    For 3 GM_Code 03: Goods issue
    Goods issue without reference to a reservation
    The following fields have to be filled:
    Material number
    Plant
    Storage location
    Movement type
    Movement indicator
    Quantity in unit of entry
    ISO code unit of measurement for unit of entry
    The following fields may have to be filled in some cases (incomplete listing):
    Special stock (e.g. sales order, project, vendor etc.)
    Shelf life expiration date (if the system is configured like this)
    Reason for movement (if the system has been configured like this)
    Batch (if the material is handled in batches and automatic batch number assignment is not set)
    Account assignment fields
    The following fields can be filled (incomplete listing):
    Special stock indicator
    Item text
    Unloading point
    Goods recipient
    The following fields cannot be filled (incomplete listing):
    Reservation
    Receiving/issuing material
    Receiving/issuing plant
    Receiving/issuing storage location
    Receiving/issuing batch
    Goods issue with reference to a reservation
    The following fields have to be filled:
    Reservation number
    Reservation item
    Record type of the reservation
    Movement indicator
    Quantity in unit of entry
    ISO code unit of measurement for unit of entry
    The following fields may have to be filled in some cases (incomplete listing):
    Shelf life expiration date (if this has been configured in the system)
    Reason for movement (if this has been configured in the system)
    Batch (if the material is handled in batches and automatic batch number assignment is not set)
    Storage location (if not planned in the reservation)
    The following fields can be filled (incomplete listing):
    Special stock indicator
    Item text
    Unloading point
    Goods recipient
    The following fields cannot be filled (incomplete listing):
    Movement type
    Material
    Plant
    Account assignment fields
    For 4 GM_Code 04: Transfer posting
    Transfer posting without reference to a reservation
    The following fields have to be filled:
    Material number
    Plant
    Storage location
    Movement type
    Movement indicator
    Quantity in unit of entry
    ISO code unit of measurement for unit of entry
    The following fields may have to be filled in some cases (incomplete listing):
    Receiving material
    Receiving plant
    Receiving storage location
    Receiving batch (if material is handled in batches and you want to change batches)
    Receiving/issuing special stock (e.g. sales order, project, vendor etc.)
    Shelf life expiration date (if this has been configured in the system)
    Reason for movement (if this has been configured in the system)
    Batch (if the material is handled in batches and automatic batch number assignment is not set)
    The following fields can be filled (incomplete listing):
    Special stock indicator
    Item text
    Account assignment fields (for automatic posting lines: Expense/income from stock transfer)
    The following fields cannot be filled (incomplete listing):
    Reservation
    Transfer posting with reference to a reservation
    See goods issue with reference to a reservation
    For 5 GM_Code 05: Other goods receipts
    Other goods receipt without reference to a reservation
    See goods issue without reference to a reservation
    Other goods receipt with reference to a reservation
    See goods issue with reference to a reservation
    For 6 GM_Code 06: Reversal of goods movements
    You can use the Cancel method to reverse goods movements. But you may also want to cancel a goods movement without referring to a material document (see the Cancel method).
    If you want to work without referring to the document, you have to fill the field BAPI_GM_ITEM_CREATE-XSTOB in the interface (import table GOODSMVT_ITEM). In this case, the system converts the movement type assigned in the interface to the reversal movement type. Alternatively, you can set the reversal movement type in the interface. In this case, the BAPI_GM_ITEM_CREATE_XSTOB field must be transferred blank.
    If you want to cancel a goods movement with reference to a reservation (without using the Cancel method) you can only transfer the field BAPI_GM_ITEM_CREATE_XSTOB if it is filled. Movement types are not transferred when you post with reference to a reservation, as the movement type is contained in the reservation item.
    For 7. GM_Code 07: Subsequent adjustment to a subcontract order
    Ordered material of subcontract order
    The following fields have to be filled:
    Unique identification of document line (can be assigned to anything)
    Posting date in document header
    Document number of purchasing document
    Item number of purchasing document
    Material number check
    Plant check
    Movement type (select movement type 121)
    Movement indicator (must be O)
    Further entries are not allowed. The entry quantity for the ordered material of a subcontract order must be zero.
    Components
    The following fields have to be filled:
    Unique identification of document line (can be assigned to anything)
    Identification of the immediately superior line
    Plant
    Material number check
    Quantity in unit of entry; can also be negative
    The following fields can be filled:
    Storage location
    All other fields in the method that are included in this list.
    The following fields may not be filled:
    All fields that are not in the list above. The movement indicator must be blank.
    More information on LINE_ID and PARENT_ID
    Additional fields in goods-receipt-based invoice verification
    When you post a subsequent adjustment, the following fields must also be transferred:
    REF_DOC_IT (LFPOS): Item of a reference document
    REF_DOC (LFBNR): Document number of a reference document
    REF_DOC_YR (LFBJA): Fiscal year of a reference document
    Only when you transfer these fields is it guaranteed that the reference to the original goods movement stays the same.

  • Creation of Goods receipt - MB_CREATE_GOODS_MOVEMENT/BAPI_GOODSMVT_CREATE

    Hi Friends,
    I need to create a goods receipt for an inbound delivery.
    Iam planning to use either MB_CREATE_GOODS_MOVEMENT or BAPI_GOODSMVT_CREATE.
    But every time iam getting the error saying that the 101 movement type cant be used.
    In my case i need to use both the movement types 101 and 543.
    Basically i need to populate both the main item and component material information.
    If any one has done this, Can you please give me the sample code.
    Regards
    Sasi

    Hi,
    Iam usig the gm_code as 05.
    I am paasing the movement indicator ,in that particular field.
        lw_goodsmvt_item-material = lw_imseg-matnr.
        lw_goodsmvt_item-plant = lw_imseg-werks.
        lw_goodsmvt_item-batch = lw_imseg-charg.
      IF lw_imseg-sgtxt = 'F'.
        lw_goodsmvt_item-move_type = '101'.
        lw_goodsmvt_item-mvt_ind = 'B'.
        lw_goodsmvt_item-NO_MORE_GR = 1.
        lw_goodsmvt_item-stge_loc = lw_imseg-lgort.
        ELSEIF lw_imseg-sgtxt = 'C'.
        lw_goodsmvt_item-move_type = '543'.
        endif.
        lw_goodsmvt_item-entry_qnt = lw_imseg-erfmg.
        lw_goodsmvt_item-entry_uom = lw_imseg-erfme.
        lw_goodsmvt_item-expirydate = lw_imseg-mhdat.
        lw_goodsmvt_item-DELIV_NUMB =
        lw_goodsmvt_item-DELIV_ITEM =
    am i doing something wrong here.
    iam gettign the following error message
    Goods movement not possible with mvmt type 101
    Goods movement not possible with mvmt type 543

  • Goods Receipt Report With 101 movement type using bapi_goodsmvt_create

    Dear Abapers,
            i am getting some problem, i got requirement like Goods Receipt Report with 101 movement type using
    bapi_goodsmvt_create and data should upload through excel sheet.
    still facing problems, i have searched sdn forum n sdn code also, but relevant answer i could not find.
    What are all the inputs i need to take and please give some valuable inputs to me.
    please do help ..... thanks for advance..
    Thanks & regards,
    Vinay.
    Moderator message : Spec dumping is not allowed, show the work you have already done. Thead locked.
    Edited by: Vinod Kumar on Sep 27, 2011 10:58 AM

    Dear Abapers,
            i am getting some problem, i got requirement like Goods Receipt Report with 101 movement type using
    bapi_goodsmvt_create and data should upload through excel sheet.
    still facing problems, i have searched sdn forum n sdn code also, but relevant answer i could not find.
    What are all the inputs i need to take and please give some valuable inputs to me.
    please do help ..... thanks for advance..
    Thanks & regards,
    Vinay.
    Moderator message : Spec dumping is not allowed, show the work you have already done. Thead locked.
    Edited by: Vinod Kumar on Sep 27, 2011 10:58 AM

  • Generating Accruals from Service type Goods Receipt PO's

    I have identified that Service type Goods Receipt PO's do not write to the G/L, but a.) I don't understand why they don't and b.) how does one create system generated accruals if not by Goods Receipt PO?  I am sure this question has been asked before, but I couldn't find the thread.
    Thanks in advance,
    Donald

    Invoices create an actual expense.  Accrual expenses are normally captured as a result of work performed or items received but not invoiced.  Once again, I understand what SAP Business One does in this scenario.  I am being asked why and for that I don't have an answer.  It doesn't seem to be in conflict with GAAP, so I am not sure why they don't allow G/L Account determination for Service Documents to Accrual accounts.  It is a similar problem on the AR side, SAP B1 doesn't support money received, but not recognized to the liabilites bucket without manual intervention.
    Thanks again,
    Donald

Maybe you are looking for

  • VISA Read function Read buffer problem in serial communication

    Hi,  I use VISA write and read function in serial communication app, the device continuously sends 0x00 if it is not receive a request from Labview program running on PC. And the request sent by labview is programmable. I met a weird problem, each ti

  • Ios 7 wont show it says 6.1.3 is up to date

    Help my ipad mini says software up to date 6.1.3 help

  • Regarding Removal of Excise

    Dear all,                            I have booked an A/R Invoice for a party....and all the excise has been booked .Now i have to do the A/R credir memo.........But it is crediting only the Temporary excise account . 1) What is the actual process to

  • How to install Type 1 fonts into JRE?

    I am trying to generate Type 1 font postscript file by java. And I have successfully installed Type 1 fonts in both Windows and Linux operation system. But when I use following Java code to display the available system fonts, there are no Type 1 font

  • Order line status is 'Awaiting Invoice Interface - Incomplete Data'.

    Hi Can anyone help me with the error message i am getting "Order line status is 'Awaiting Invoice Interface - Incomplete Data" and the order type is Internal Order for the sales order. When i am trying to progress the Sales order,I am getting the mes