Re:Goods Receipt Form

Hi All,
In the Goods Receipt System form i have added a button Called Copy from issue.Then i put a CFL for the button(Which list out all the pending issues - Goods Issues).If i select an entry and clicked choose it is adding the value to the matrix row.After adding the Value then i click ADD it is displaying an error like
"Data Cannot be empty in one of the tables Doc1,Doc3 and Doc10.[Goods Receipt - Document Number] [Message 131-158]"
This is my Code to add issue to the Row:
Private Sub GetPurchaseOrderData(ByVal oGetByKey As String)
        Dim oGoodsIssue As SAPbobsCOM.Documents
        Dim IntICount As Integer
        Dim oItemCode, oItemName, oQty, oUnitPrice, oWhse, oAccountCode, oRG23APartINo, oRG23CPartINo As SAPbouiCOM.EditText
        Try
            oGoodsIssue = Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInventoryGenExit)
            oGoodsIssue.GetByKey(oGetByKey)
            For IntICount = 0 To oGoodsIssue.Lines.Count - 1
                oGoodsIssue.Lines.SetCurrentLine(IntICount)
                oItemCode = oMatrix.Columns.Item("1").Cells.Item(IntICount + 1).Specific
                oItemName = oMatrix.Columns.Item("2").Cells.Item(IntICount + 1).Specific
                oQty = oMatrix.Columns.Item("9").Cells.Item(IntICount + 1).Specific
                oUnitPrice = oMatrix.Columns.Item("10").Cells.Item(IntICount + 1).Specific
                oWhse = oMatrix.Columns.Item("15").Cells.Item(IntICount + 1).Specific
                oAccountCode = oMatrix.Columns.Item("59").Cells.Item(IntICount + 1).Specific
                oRG23APartINo = oMatrix.Columns.Item("140000100").Cells.Item(IntICount + 1).Specific
                oRG23CPartINo = oMatrix.Columns.Item("140000096").Cells.Item(IntICount + 1).Specific
                Try
                    oItemCode.Value = oGoodsIssue.Lines.ItemCode
                Catch ex As Exception
                End Try
                Try
                    oItemName.Value = oGoodsIssue.Lines.ItemDescription
                Catch ex As Exception
                End Try
                Try
                    oQty.Value = oGoodsIssue.Lines.Quantity
                Catch ex As Exception
                End Try
                Try
                    oUnitPrice.Value = oGoodsIssue.Lines.Price
                Catch ex As Exception
                End Try
                Try
                    oWhse.Value = oGoodsIssue.Lines.WarehouseCode
                Catch ex As Exception
                End Try
                Try
                    oAccountCode.Value = oGoodsIssue.Lines.AccountCode
                Catch ex As Exception
                End Try
               oMatrix.AddRow(1, oMatrix.RowCount)
            Next
        Catch ex As Exception
            Throw ex
        End Try
    End Sub
I have called the above method inside the cFL event of Copyfrom button.How should i sove this problem.
Awaiting for the results.........:)
Thanx in advance
Mohana

Mohana,
In which line are u getting the error exactly..??
Vasu Natari.

Similar Messages

  • Goods Receipt form output

    Hello Dears,
    How can we see the output of GR form.
    How can we trigger this ouptut.
    I know the PO number but i donot know the procedure to see the output.
    Appriciate your guidence in this regard.
    Thanks in advance.

    Hi,
    Go to Nace --> Application and Description --> ME -->click on output types.There select an output type in the list of output types given and then click the Processing Routines where you will get the complete details.
    For goods Receipt you will find the output types here.
    Thanks,
    Abhijit

  • Output type settings for Goods receipt  slip form

    Hi gurus,
            I am new to SAP and i am trying to write a functional spec based on a Goods receipt slip template the company has given me.
    can anyone tell me the standard forms and programs associated with the Goods Receipt form.also i would appreciate if someone can help me do config settings for this.
    thanks and look for ward for suggestionas and help.
    Chris

    Dear Chris ,
    You can get all data needed into tcode NACU !
    Choose Application ME and messages WE01 until WE03. Inside this customizing you can see all details that you need.
    best regards,
    Carlos Moçatto

  • Copy data from a UDO form to Goods Receipt PO using UI API

    Hi, all
    I tried to copy data from a UDO form to Goods Receipt PO using UI API through following codes.
    It works fine while copying to a Item-type Goods Receipt PO.
    But when the doctype is set to service, I got errors.
    I use for-loop to copy two items, Description and LineTotal, into the matrix of Goods Receipt PO form, but both failed.
    any suggestion?
    Edited by: Chao-Yi Wu on Aug 25, 2009 5:50 AM

    Hi  Chao-Yi Wu ,
    SBO_Application.ActivateMenuItem("2306")
    Dim oFormGR As SAPbouiCOM.Form = SBO_Application.Forms.ActiveForm
    Dim omtxIQC, omtxGR As SAPbouiCOM.Matrix
    Dim oedIQC, oedGR, oed As SAPbouiCOM.EditText
    Dim ocbIQC, ocbGR As SAPbouiCOM.ComboBox
    oFormGR.Mode = SAPbouiCOM.BoFormMode.fm_ADD_MODE
    oedIQC = oFormIQC.Items.Item("13").Specific
    oedGR = oFormGR.Items.Item("4").Specific
    oedGR.Value = oedIQC.Value
    oedIQC = oFormIQC.Items.Item("21").Specific
    oedGR = oFormGR.Items.Item("24").Specific
    oedGR.Value = oedIQC.Value
    oedIQC = oFormIQC.Items.Item("edComments").Specific
    oedGR = oFormGR.Items.Item("16").Specific
    oed = oFormIQC.Items.Item("3").Specific
    oedGR.Value = oedIQC.Value + ", Goods Recript PO:" + oed.Value
    ocbIQC = oFormIQC.Items.Item("cbDocType").Specific
    ocbGR = oFormGR.Items.Item("3").Specific
    If ocbIQC.Selected.Value = "I" Then
         ocbGR.Select(0, SAPbouiCOM.BoSearchKey.psk_Index)
    Else
         ocbGR.Select(1, SAPbouiCOM.BoSearchKey.psk_Index)
    End If
    omtxIQC = oFormIQC.Items.Item("mtx_0").Specific
    For i As Integer = 1 To omtxIQC.RowCount
    omtxGR = oFormGR.Items.Item("38").Specific
           If ocbIQC.Selected.Value = "I" Then
                oedIQC = omtxIQC.Columns.Item("c_ItemCode").Cells.Item(i).Specific
                oedGR = omtxGR.Columns.Item("1").Cells.Item(i).Specific
                oedGR.String = oedIQC.String
                oedIQC = omtxIQC.Columns.Item("c_AQty").Cells.Item(i).Specific
                oedGR = omtxGR.Columns.Item("11").Cells.Item(i).Specific
                oedGR.String = oedIQC.String
                oedIQC = omtxIQC.Columns.Item("col_19").Cells.Item(i).Specific
                oedGR = omtxGR.Columns.Item("14").Cells.Item(i).Specific
                oedGR.String = oedIQC.String
       Else  
    omtxGR = oFormGR.Items.Item("39").Specific
               oedIQC = omtxIQC.Columns.Item("c_Descrp").Cells.Item(i).Specific
               oedGR = omtxGR.Columns.Item("1").Cells.Item(i).Specific
               oedGR.String = oedIQC.String
               oedIQC = omtxIQC.Columns.Item("col_16").Cells.Item(i).Specific
               oedGR = omtxGR.Columns.Item("12").Cells.Item(i).Specific
               oedGR.String = oedIQC.String
      End If
                Next
    for items the matrix is 38 and for service the matrix is 39
    Rgds
    Micheal

  • Goods receipt / issue form

    Hi :
       Is there any standard smartform for Goods receipt / Goods issue slip ?
    How to create a customizing form using smartforms when a material document is created and saved .
    Thx.
    Raghu

    goto NACE Transaction and click on application v2 and click on output types and name itself you will find out.
    Reward Points if it is helpful
    Thanks
    Seshu

  • Smart forms for Good Receipts

    Hi   Every body,
                   How to developed Smart Forms to print Goods Receipts and Purchase Orders.
    Pls tell me is there any standard smart form through which we can do it, or if we have to develop it how to do that?...
    Thanks,
    Ankita
    Edited by: Alvaro Tejada Galindo on Feb 22, 2008 3:44 PM

    CHeck this wiki.
    https://www.sdn.sap.com/irj/sdn/wiki?path=/pages/viewpage.action?pageId=37096

  • Automatic PO form goods receipt without reference Movement type 501

    Hi,
    My client receive sample material from the vendor that is without reference to PO, but upon approval of sample the vendor has to make the payment for which i do not have the reference document number.
    To arive at the solution i wanted to generate automatic PO for movement type 501, for which i have checked the movement type settings, 501- automatic PO, i ahve maintained the info record, and during GR for movement type 501 i enter the vendor even than system is not generating any PO in backend, I have centraalised purchase organization assigned to the plant.
    can anyone suggest me if i am missing any settings,
    Suggestions willbe worth appreciating..\
    Thanks
    Sarf

    Hi,
    You need to configure the following steps for creating automatic PO in MIGO transaction.
    1.Activate the auto PO in Material and Vendor Master.
    2. Maintain the Info record.
    3.Assign the Standard Purchase organisation for the plant you want to create auto Po.
       Path: ENTERPRISE STRUCTURE-ASSIGNMENT-MATERIALS MANAGEMENT-ASSIGN STANDARD PURCHASE ORG FOR PLANT.
    4. Activate create PO automatically for movement type (101,501).
    Path: MM-INVENTORY MANAGEMENT AND PHYSICAL INVENTORY-GOODS RECEIPT-CREATE PURCHASE ORDER AUTOMATICALLY - here you can activate for the mvt type you want.
    5.In MIGO screen, goto menu Settings and click default values , you will get a screen where you can check the mvt type 101,501... are maintained in mvt type column. if not you just enter the mvt type which you want. and click adopt tab.
    6. Now you do GR using 501 mvt type and give the material and vendor ..
    It will work.
    Regards,
    abi

  • PO Goods Receipt

    Hi All
    Please give me the solution for the following scenario
    I want to place the order for ToolBox, it contains 5 different size of spanners
    Tool Box has the created as semi finished item
    spanners are created as Raw materials
    I placed the order for ToolBox -   100 Nos
    When i do the good receipt against  the Purchase order, system should update the spanners  stock along with tool box stock.
    How to handle this in SAP
    can any one suggest?
    Thanks in Advance
    SUNIL

    Hi,
    Charlii is correct.
    Yes it updates twice the stock value.If do GR for both Semi finished material( tool box) and intern if you update raw material( Spanner) as per your scenario.
    This will lead to Finance discrepancy. Hence it is not available in standard as well as it is not advisable to go for Z development also.
    But there is way out,
    If you want to track the stock quantity of spanners based on order quantity of Tool Box.
    You can use Order qty and Order Qty SKU ( Stock Keeping unit field in Item overview - quantity and weight tab). There you can maintain the value for
    Order quantity 1(tool box) = SKU order unit 5 (Spanners).
    When you do GR for Order quantity 1. It updates 5 number for spanners.
    Keep in mind it updates only SKU.
    It won't update the Order quantity in the stock.(to Avoid double entry form FI point of view).
    But you can get the quantity of GR done for tool box (order unit via standard reports).
    Hope it will helps.
    Thanks
    Giri

  • G/L Accounts in Goods Receipt PO and AP Invoice

    Hi Experts
    I created purchase order and i want to receive the order based on the P.O but for a segmented account. i have picked the g/l account in the form settings window and the account has dropped into the goods receipt PO document. when i add the goods receipt po, the values of the goods in the goods receipt document hit the default account i have created for the item group in administration. But i want the values to hit the new account i have picked in the form settings which is showing on the goods receipt document.
    Any help?

    Hi,
    Only service type PO you may assign G/L Account. For item type, you have to change item G/L account determination. It cannot be done through document.
    Thanks,
    Gordon

  • Grn report(goods receipt notice)

    hi to all sdn people can u pls give coding for this if u give the answer i will be greatful to u and i will reward point to all of u
    my report is as follows
    a report for grn details which shows the all details of goods receipt movements based on the purcahse order.
    and pls tell what is the pupose of this report and tables used

    Hi
    Use the Tables
    EKKO,EKPO --PO tables and
    MKPF and MSEG Tables GRN related.
    This report is useful to track the qty of ggods/materials received with respect to the PO's placed.
    see the sample code and change the output as per your requirement.
    *& Report  ZMM_PO_REPORT
    REPORT  ZMM_PO_REPORT message-Id yb
           NO STANDARD PAGE HEADING
           LINE-COUNT 60(1)
           LINE-SIZE 230.
           D A T A B A S E  T A B L E S   D E C L A R A T I O N
    TABLES: lfa1,           " Vendor Master
            t161,           " PO Doc Types
            t024,           " Purchase Groups
            ekko.           " PO Header
                   T Y P E S  D E C L A R A T I O N S
    Purchase Orders Main Structure
    TYPES: BEGIN OF s_po,
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            bstyp TYPE bstyp,           " PO Category
            bukrs TYPE bukrs,           " Company Code
            bsart TYPE bbsrt,           " PO Type
            lifnr TYPE lifnr,           " Vendor No
            ekgrp TYPE bkgrp,           " Purchase Group
            waers TYPE waers,           " Currency
            bedat TYPE etbdt,           " PO Date
            txz01 TYPE txz01,           " Material Text
            werks TYPE ewerk,           " Plant
            lgort TYPE lgort_d,         " Storage Location
            matkl TYPE matkl,           " Material Group
            menge TYPE bamng,           " PR Quantity
            meins TYPE bamei,           " UOM
            bprme TYPE bbprm,           " Price Unit
            netpr TYPE netpr,           " Net price
            peinh TYPE peinh,           " Price Unit UOM
            pstyp TYPE pstyp,           " Item Category
            knttp TYPE knttp,           " Account Assignment Category
           END OF s_po.
    Purchase Orders History Structure
    TYPES: BEGIN OF s_account,
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            gjahr TYPE mjahr,           " Fiscal Year
            belnr TYPE mblnr,           " PO Invoice No
            menge TYPE menge_d,         " PR Quantity
            wrbtr TYPE wrbtr,           " Price in Local Currency
            dmbtr TYPE dmbtr,           " Price in Foreign Currency
            waers TYPE waers,           " Currency
            shkzg TYPE shkzg,           " Dr/Cr Indicator
           END OF s_account.
    Purchase Orders History Structure(Item Sum)
    TYPES: BEGIN OF s_inv_sum,
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            menge TYPE menge_d,         " PR Quantity
            wrbtr TYPE wrbtr,           " Price in Foreign Currency
            waers TYPE waers,           " Currency
           END OF s_inv_sum.
    Purchase Orders Main Structure
    TYPES: BEGIN OF s_rep,
            lifnr TYPE lifnr,           " Vendor No
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            bstyp TYPE bstyp,           " PO Category
            bsart TYPE bbsrt,           " PO Type
            ekgrp TYPE bkgrp,           " Purchase Group
            waers TYPE waers,           " Currency
            bedat TYPE etbdt,           " PO Date
            txz01 TYPE txz01,           " Material Text
            werks TYPE ewerk,           " Plant
            lgort TYPE lgort_d,         " Storage Location
            matkl TYPE matkl,           " Material Group
            menge TYPE bamng,           " PR Quantity
            meins TYPE bamei,           " UOM
            bprme TYPE bbprm,           " Price Unit
            netpr TYPE netpr,           " Net price
            peinh TYPE peinh,           " Price Unit UOM
            pstyp TYPE pstyp,           " Item Category
            knttp TYPE knttp,           " Account Assignment Category
            name1 TYPE name1,           " Plant
            orewr TYPE netpr,           " To be Invoiced Price
            curr  TYPE waers,           " Inv Doc Currency
           END OF s_rep.
               D A T A  D E C L A R A T I O N S
    DATA: gv_title1 TYPE sylisel,            " Report title
          gv_dial.                           " Color flag
                C O N S T A N T S  D E C L A R A T I O N S
    CONSTANTS: c_x                VALUE 'X',   " Flag X
               c_h                VALUE 'H',   " Debit
               c_vgabe TYPE vgabe VALUE '2'.   " Transaction Type
         I N T E R N A L  T A B L E S  D E C L A R A T I O N S
    DATA: i_po    TYPE STANDARD TABLE OF s_po WITH HEADER LINE,
                                 " Purchase Order
          i_inv   TYPE STANDARD TABLE OF s_inv_sum WITH HEADER LINE,
                                         " PO Invoice Values
          i_rep   TYPE STANDARD TABLE OF s_rep WITH HEADER LINE,
                                     " PO Invoice Values
          i_ekbe  TYPE STANDARD TABLE OF s_account WITH HEADER LINE.
                               " PO Invoice Values
                     S E L E C T I O N  S C R E E N                      *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_lifnr FOR lfa1-lifnr MATCHCODE OBJECT kred,
                    s_ebeln FOR ekko-ebeln MATCHCODE OBJECT mekk,
                    s_bsart FOR t161-bsart,
                    s_ekgrp FOR t024-ekgrp,
                    s_bedat FOR ekko-bedat.
    SELECTION-SCREEN END OF BLOCK b1.
                      I N I T I A L I Z A T I O N                        *
    INITIALIZATION.
                  A T  S E L E C T I O N - S C R E E N                   *
    AT SELECTION-SCREEN.
    Validate the screen fields
      PERFORM validate_screen.
                   S T A R T - O F - S E L E C T I O N                   *
    START-OF-SELECTION.
    Fetch main data
      PERFORM fetch_data.
                   T O P - O F - P A G E                                 *
    TOP-OF-PAGE.
    Header of the List
      PERFORM header.
                   E N D - O F - P A G E                                 *
    Footer
    END-OF-PAGE.
      ULINE.
                   E N D - O F - S E L E C T I O N                       *
    END-OF-SELECTION.
    Display the Report Output data
      PERFORM display_data.
    At Line-Selection
    AT LINE-SELECTION.
    When double clicked on EBELN display the details of Purchase Doc
      PERFORM line_sel.
    *&      Form  validate_screen
    Validation of Selection Screen fields
    FORM validate_screen .
    Validation of Vendor Number
      CLEAR lfa1-lifnr.
      IF NOT s_lifnr[] IS INITIAL.
        SELECT lifnr UP TO 1 ROWS
            INTO lfa1-lifnr
            FROM lfa1
            WHERE lifnr IN s_lifnr.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Vendor'(002).
        ENDIF.
      ENDIF.
    Validation of PO Number
      CLEAR ekko-ebeln.
      IF NOT s_ebeln[] IS INITIAL.
        SELECT ebeln UP TO 1 ROWS
            INTO ekko-ebeln
            FROM ekko
            WHERE ebeln IN s_ebeln.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Document Number'(003).
        ENDIF.
      ENDIF.
    Validation of PO Document Type
      CLEAR t161-bsart.
      IF NOT s_bsart[] IS INITIAL.
        SELECT bsart UP TO 1 ROWS
            INTO t161-bsart
            FROM t161
            WHERE bsart IN s_bsart.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Purchase Document Type'(004).
        ENDIF.
      ENDIF.
    Validation of Purchasing Group
      CLEAR t024-ekgrp.
      IF NOT s_ekgrp[] IS INITIAL.
        SELECT ekgrp UP TO 1 ROWS
            INTO t024-ekgrp
            FROM t024
            WHERE ekgrp IN s_ekgrp.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Purchasing Group'(005).
        ENDIF.
      ENDIF.
    ENDFORM.                    " validate_screen
    *&      Form  fetch_data
    Fetching the PO related data from Database Tables
    FORM fetch_data .
      CLEAR i_po.
      REFRESH i_po.
      SELECT a~ebeln            " PO No.
             b~ebelp            " PO Item
             a~bstyp            " PO Category
             a~bukrs            " Company Code
             a~bsart            " PO Type
             a~lifnr            " Vendor No
             a~ekgrp            " Purchase Group
             a~waers            " Currency
             a~bedat            " PO Date
             b~txz01            " Material Text
             b~werks            " Plant
             b~lgort            " Storage Location
             b~matkl            " Material Group
             b~menge            " PR Quantity
             b~meins            " UOM
             b~bprme            " Price Unit
             b~netpr            " Net price
             b~peinh            " Price Unit UOM
             b~pstyp            " Item Category
             b~knttp            " Account Assignment Category
        INTO TABLE i_po
        FROM ekko AS a JOIN ekpo AS b
        ON a~ebeln = b~ebeln
        WHERE a~ebeln IN s_ebeln AND
              a~lifnr IN s_lifnr AND
              a~ekgrp IN s_ekgrp AND
              a~bsart IN s_bsart AND
              a~bedat IN s_bedat.
      SORT i_po BY ebeln ebelp.
      break-point.
      IF NOT i_po[] IS INITIAL.
    Fetch the PO History/Invoice Details from EKBE Table
        CLEAR i_ekbe.
        REFRESH i_ekbe.
        SELECT ebeln           " PO No.
               ebelp           " PO Item
               gjahr           " Fiscal Year
               belnr           " PO Invoice No
               menge           " PR Quantity
               wrbtr           " Price in Local Currency
               dmbtr           " Price in Foreign Currency
               waers           " Currency
               shkzg           " Dr/Cr Indicator
         INTO TABLE i_ekbe
         FROM ekbe
         FOR ALL ENTRIES IN i_po
         WHERE ebeln = i_po-ebeln AND
               ebelp = i_po-ebelp AND
               vgabe = c_vgabe.
      break-point.
        IF sy-subrc = 0.
          SORT i_ekbe BY ebeln ebelp.
          LOOP AT i_ekbe.
            IF i_ekbe-shkzg = c_h.
              i_ekbe-wrbtr = i_ekbe-wrbtr * -1.
            ENDIF.
            MODIFY i_ekbe.
          ENDLOOP.
      break-point.
    Sum up the Item wise Invoice totals
          LOOP AT i_ekbe.
            AT END OF ebelp.
              READ TABLE i_ekbe INDEX sy-tabix.
              SUM.
              MOVE-CORRESPONDING i_ekbe TO i_inv.
              APPEND i_inv.
            ENDAT.
            CLEAR i_inv.
          ENDLOOP.
          SORT i_inv BY ebeln ebelp.
            break-point.
        ENDIF.
      ENDIF.
    Move the Vendor Name and Invoice Values to I_rep Internal Table
      LOOP AT i_po.
        MOVE-CORRESPONDING i_po TO i_rep.
        CLEAR i_inv.
        READ TABLE i_inv WITH KEY ebeln = i_po-ebeln
                                  ebelp = i_po-ebelp.
        IF sy-subrc = 0.
          i_rep-orewr = ( i_po-menge - i_inv-menge ) * i_po-netpr.
          i_rep-curr  = i_inv-waers.
        ELSE.
          i_rep-orewr = i_po-menge * i_po-netpr.
          i_rep-curr  = i_po-waers.
        ENDIF.
      break-point.
    Get the Vendor Name
        CLEAR lfa1-name1.
        SELECT SINGLE name1 FROM lfa1 INTO lfa1-name1
          WHERE lifnr = i_po-lifnr.
        IF sy-subrc = 0.
          i_rep-name1  = lfa1-name1.
        ENDIF.
        APPEND i_rep.
        CLEAR  i_rep.
          break-point.
      ENDLOOP.
      SORT i_rep BY lifnr ebeln ebelp.
      DELETE i_rep WHERE orewr LE 0.
      break-point.
    ENDFORM.                    " fetch_data
    *&      Form  display_data
    Display the Report Output data
    FORM display_data .
      DATA: lv_flag,               " New Flag
            lv_rec TYPE i.         " No of Records
      CLEAR lv_rec.
      IF i_rep[] IS INITIAL.
        MESSAGE e000 WITH 'No Data found'(022).
      ELSE.
        LOOP AT i_rep.
    Toggle Color
          PERFORM toggle_color.
          IF lv_flag <> space.
            NEW-LINE.
          ENDIF.
    At New Purchase Document
          AT NEW ebeln.
            WRITE:/1 sy-vline, 2(10) i_rep-ebeln INTENSIFIED OFF.
            lv_flag = c_x.
            lv_rec = lv_rec + 1.
          ENDAT.
          WRITE: 1 sy-vline,
                12 sy-vline,13(4)   i_rep-bsart,
                17 sy-vline,18(10)  i_rep-lifnr,
                28 sy-vline,29(35)  i_rep-name1,
                64 sy-vline,65(4)   i_rep-ekgrp,
                69 sy-vline,70(10)  i_rep-bedat,
                80 sy-vline,81(5)   i_rep-ebelp,
                86 sy-vline,87(40)  i_rep-txz01,
               127 sy-vline,128(9)  i_rep-matkl,
               137 sy-vline,138(1)  i_rep-pstyp,
               139 sy-vline,140(1)  i_rep-knttp,
               141 sy-vline,142(4)  i_rep-werks,
               146 sy-vline,147(4)  i_rep-lgort,
               151 sy-vline,152(13) i_rep-menge UNIT i_rep-meins,
               165 sy-vline,166(3)  i_rep-meins,
               169 sy-vline,170(15) i_rep-netpr CURRENCY i_rep-waers,
               185 sy-vline,186(4)  i_rep-waers,
               190 sy-vline,191(5)  i_rep-peinh,
               196 sy-vline,197(4)  i_rep-bprme,
               201 sy-vline,202(15) i_rep-orewr CURRENCY i_rep-curr,
               217 sy-vline,218(4)  i_rep-curr,
               222 sy-vline,223(7)  i_rep-bstyp centered,
               230 sy-vline.
          NEW-LINE.
          hide: i_rep-ebeln.
        ENDLOOP.
        ULINE.
        FORMAT COLOR OFF.
        WRITE : /2 'Total Number of Purchasing Documents:'(025) COLOR 3,
                    lv_rec COLOR 3.
      ENDIF.
    ENDFORM.                    " display_data
    *&      Form  header
    Write the Report Header
    FORM header .
      FORMAT RESET.
    header
      WRITE:/1(230) 'LIST OF PURCHASE DOCUMENTS PER VENDOR'(006) CENTERED.
      SKIP.
      FORMAT COLOR COL_HEADING.
      ULINE.
      WRITE:/1 sy-vline,2(10)   'Pur.Doc.No'(006) CENTERED,
            12 sy-vline,13(4)   'Type'(007),
            17 sy-vline,18(10)  'Vendor'(008) CENTERED,
            28 sy-vline,29(35)  'Name'(009) CENTERED,
            64 sy-vline,65(4)   'PGrp'(010) CENTERED,
            69 sy-vline,70(10)  'Doc.Date'(012) CENTERED,
            80 sy-vline,81(5)   'Item'(011),
            86 sy-vline,87(40)  'Material Short Text'(024) CENTERED,
           127 sy-vline,128(9)  'Mat.Group'(013),
           137 sy-vline,138(1)  'I',
           139 sy-vline,140(1)  'A',
           141 sy-vline,142(4)  'Plnt'(014),
           146 sy-vline,147(4)  'SLoc'(015),
           151 sy-vline,152(13) 'Quantity'(016) CENTERED,
           165 sy-vline,166(3)  'UoM'(017),
           169 sy-vline,170(15) 'Net Value'(018) CENTERED,
           185 sy-vline,186(4)  'Curr'(019),
           190 sy-vline,191(5)  'Per'(020),
           196 sy-vline,197(4)  'Unit'(021),
           201 sy-vline,202(15) 'To be Invoiced'(023) CENTERED,
           217 sy-vline,218(4)  'Curr'(019),
           222 sy-vline,223(7)  'Doc.Cat'(026),
           230 sy-vline.
      ULINE.
    ENDFORM.                    " header
    *&      Form  toggle_color
    This routine alters the color of the records in the list
    FORM toggle_color.
      IF gv_dial = space.
        FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
        gv_dial = c_x.
      ELSE.
        FORMAT COLOR 1 INTENSIFIED OFF.
        CLEAR gv_dial.
      ENDIF.
    ENDFORM.                    " toggle_color
    *&      Form  LINE_SEL
    *When double clicked on EBELN field display the details of Purchase Doc
    FORM line_sel.
      CASE sy-lsind.
        WHEN '1'.
          DATA: lv_field(20),
                lv_value(10),
                lv_bstyp like i_rep-bstyp.
          clear: lv_bstyp,lv_value, lv_field.
          GET CURSOR FIELD lv_field VALUE lv_value.
          IF lv_field = 'I_REP-EBELN'.
            IF NOT lv_value IS INITIAL.
              READ LINE sy-index FIELD VALUE i_rep-bstyp
                                       INTO  lv_bstyp.
             READ CURRENT LINE FIELD VALUE i_rep-bstyp INTO lv_bstyp.
              if lv_bstyp = 'F'.
                SET PARAMETER ID 'BES' FIELD lv_value.
                CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
              elseif ( lv_bstyp = 'K' or lv_bstyp = 'L' ).
                SET PARAMETER ID 'VRT' FIELD lv_value.
                CALL TRANSACTION 'ME33' AND SKIP FIRST SCREEN.
              elseif lv_bstyp = 'A'.
                SET PARAMETER ID 'ANF' FIELD lv_value.
                CALL TRANSACTION 'ME43' AND SKIP FIRST SCREEN.
              endif.
            ENDIF.
          ENDIF.
      ENDCASE.
    ENDFORM.                    " line_sel
    Reward points if useful
    Regards
    Anji

  • Exit or Badi to prevent MIGO Goods Receipt on PO with Inbound Delivery

    Hi,
    I am hoping that someone can provide me with some direction on how to prevent the use of MIGO for GR when the PO being received is (or should be) linked to an inbound delivery.
    For purchase orders with a confirmation control key an inbound delivery is to be created and the goods receipt needs to be done from the inbound delivery. This scenario also includes the case of stock transport orders whereby an inbound delivery is created form the outbound delivery. On the other hand for purchase orders without a confirmation control key no inbound delivery is created and the MIGO transaction is to be used to post the goods receipt.
    Since both processes are possible, I would like to prevent people from posting the GR using MIGO if certain conditions pre-exist.
    Can anyone suggest a means to accomplish this goal? Is there an exit or badi in MIGO that you would suggest using?
    Thanks,
    Paul

    Hi,
    The following user eixts and badis available for migo transaction:
    Enhancement/ Business Add-in            Description                                                                               
    Enhancement                                                                               
    MB_CF001                               
    Customer Function Exit in the Case of Updating a Art. Doc.     
    MBCF0011                               
    Read from RESB and RKPF for print list in  MB26                
    MBCF0010                               
    Customer exit: Create reservation BAPI_RESERVATION_CREATE1     
    MBCF0009                              
    Filling the storage location field                             
    MBCF0007                              
    Customer function exit: Updating a reservation                 
    MBCF0006                              
    Customer function for WBS element                              
    MBCF0005                              
    Article document item for goods receipt/issue slip             
    MBCF0002                               
    Customer function exit: Segment text in article doc. item                                                                               
    Business Add-in                                                                               
    MB_RESERVATION_BADI                    
    MB21/MB22: Check and Complete Dialog Data                      
    MB_QUAN_CHECK_BADI                    
    BAdI: Item Data at Time of Quantity Check                      
    MB_PHYSINV_INTERNAL                    
    Connection: Core Inventory and Retail AddOn                    
    MB_MIGO_ITEM_BADI                      
    BAdI in MIGO for Changing Item Data                            
    MB_MIGO_BADI                           
    BAdI in MIGO for External Detail Subscreens                    
    MB_DOC_BADI_INTERNAL                 
      BAdIs when Creating an Article Document (SAP Internal)         
    MB_DOCUMENT_UPDATE                    
    BADI when updating article document: MSEG and MKPF             
    MB_DOCUMENT_BADI                       
    BAdIs when Creating an Article Document                        
    MB_CIN_MM07MFB7_QTY                    
    Proposal of quantity from Excise invoice in GR                 
    MB_CIN_MM07MFB7                        
    BAdI for India Version exit in include MM07MFB7                
    MB_CIN_LMBMBU04                        
    posting of gr                                                  
    MB_CHECK_LINE_BADI                     
    BAdI: Check Line Before Copying to the Blocking Tables         
    ARC_MM_MATBEL_WRITE                   
    Check Add-On-Specific Data for MM_MATBEL                       
    ARC_MM_MATBEL_CHECK                    
    Check Add-On-Specific Criteria for MM_MATBEL     
    If it is helpful rewards points
    Regards
    Pratap.M

  • Goods Receipt

    Dear Expert,
    How to do automatically Goods Receipt that we no need to go to open screen Goods Receipt to processing. My concept is like we make sale order and system make automatically Purchase Order that we no need go to open that screen.
    I need to do like that, because now I have a project to do allocate on new form (Inventory Allocate) that I add-on into B1. So when I click on my button allocate, and then i need system make automatically Goods Receipt that no need open that screen.
    Now i want to explain for you about Customer Company Processing:
    New Quotation (if we have accepted to make new quotation) -> Sale Contract Instruction Form (In SCI have three decision 1. Short Position (if Short Position, System will prompt automatically Sale Contract (Sale Order) for processing), 2. Spot Position (If Spot Position, system will prompt automatically Purchase Contract Instruction form to processing & Sale Contract (Sale Order) for processing) & 3. Allocate from long (If AFL Position, system will prompt automatically sale contract for processing, after we add sale contract, system will prompt automatically Inventory Allocate form to processing Allocate and then on Inventory Allocate form we can search all purchase contract (purchase contract, we have data in PC after we have done PCI (in PCI have three Position like SCI)) to processing allocate with sale contract.
    What i want now is, How can i make Goods Receipt that no need to open GR screen it like we do sale order no need to go to PO screen. ( Ex : sale order screen -> logistics -> Tick on Purchase Orders)
    Thanks,
    Sivhour.

    Hello,
    You should program a PO by DI API, and GPRO by DI API based on Existing PO.
    The, problem is the following: in SAP B1 SDK you cannot create PO based on Sales Order.
    So you should use the sale order screen -> logistics -> Tick on Purchase Orders. Then When PO has been created, you can issue the GPRO via custom code.
    Regards,
    János

  • Unit price validation in Purchase Order, Goods Receipt PO and A/R Invoice

    Hello!
    I want to have validation of the Unit Price field in Purchase Order, Goods Receipt PO and A/R Invoice documents.
    This means that user has to get some kind of message if she/he do not enter the Unit price in above mentioned documents.
    I can not use the price lists for this, to get the field populated automatically, because I do not have all the prices...
    I am no longer newbie when it come to SAP, but this really puzzles me
    Thanks,
    Dejan

    Hello guys,
    I have tried to add this code to check if the field Unit Price was empty in the Purchase Order form (Object ID 22)
    But it gives me an error message - Error converting data type varchar to numeric (CINF)
    I am getting the same error message even if I have some value in the Unit Price field...
    I am really confused - what is wrong with it???
    Here is the code from the Transaction notification
    IF (@object_type = N'22' AND @transaction_type in (N'A', N'U') )
         BEGIN
              IF EXISTS (SELECT T1.DocEntry FROM OPOR T0 inner join POR1 T1 on T0.DocEntry = T1.DocEntry
              WHERE (T1.PriceBefDi IS NULL OR T1.PriceBefDi = ' ') AND T0.DocEntry = @list_of_cols_val_tab_del)
                   BEGIN
                        Set @error =1
                        set @error_message = 'Unit Price cannot be blank'
                   END
         END
    Thanks,
    Dejan

  • Changing the G/L Account while Posting the Goods Receipts in MIGO

    Hi All,
    I have requirement in which G/L Account needs to be changed based on some validation while Posting the Goods Receipt in MIGO.
    I have created exit in OBBH by copying the standard SAP Program RGGBS800 in view V_T80D.
    I changed following entry in view V_T80D:
    GBLS     ZGGBS800     Val/sub:Exits for substitution
    Now Inside program ZGGBS800, I have written the logic to change the BSEG-HKONT value with the new G/L Account which gets called inside the standard function module G_VSR_SUBSTITUTION_CALL.
    FORM U999.
       DATA : V_HKONT TYPE BSEG-HKONT.
       clear : V_HKONT.
       SELECT SINGLE SAKNR FROM ZMASH1 INTO V_HKONT WHERE MATNR = BSEG-MATNR AND WERKS = BSEG-WERKS.
         IF SY-SUBRC EQ 0.
           BSEG-HKONT = V_HKONT.
         ENDIF.
    ENDFORM.
    After the execution of the above code the value of BSEG-HKONT changes with new value of V_HKONT but after this when I go further in Standard SAP code of function module G_VSR_SUBSTITUTION_CALL, there is one subroutine FORM EXP_TAB_009_BSEG  being called which changes the value of BSEG-HKONT to initial value of HKONT also while moving the data from BSEG to TEMP_STRUCT it doesn't passes the HKONT value, which I want it be passed as I want the changed value to be passed finally to OUT_RESULT. Please look at the code below.
    Following is the SAP standard code of subroutione FORM EXP_TAB_009_BSEG :
    FORM EXP_TAB_009_BSEG
             USING
               IN_ORIG STRUCTURE        BSEG
            CHANGING
               OUT_RESULT STRUCTURE     BSEG
               B_RESULT.
      DATA:  ORIG LIKE BSEG.
      DATA:  BEGIN OF TEMP_STRUCT,
             ABPER                          LIKE   BSEG-ABPER,
             AUGGJ                          LIKE   BSEG-AUGGJ,
             DOCLN                          LIKE   BSEG-DOCLN,
             FIPOS                          LIKE   BSEG-FIPOS,
             FISTL                          LIKE   BSEG-FISTL,
             FKBER                          LIKE   BSEG-FKBER,
             FKBER_LONG                     LIKE   BSEG-FKBER_LONG,
             GEBER                          LIKE   BSEG-GEBER,
             GMVKZ                          LIKE   BSEG-GMVKZ,
             GRANT_NBR                      LIKE   BSEG-GRANT_NBR,
             HKTID                          LIKE   BSEG-HKTID,
             HZUON                          LIKE   BSEG-HZUON,
             INTRENO                        LIKE   BSEG-INTRENO,
             MEASURE                        LIKE   BSEG-MEASURE,
             PARGB                          LIKE   BSEG-PARGB,
             PPA_EX_IND                     LIKE   BSEG-PPA_EX_IND,
             PPRCT                          LIKE   BSEG-PPRCT,
             PRCTR                          LIKE   BSEG-PRCTR,
             PRODPER                        LIKE   BSEG-PRODPER,
             PRZNR                          LIKE   BSEG-PRZNR,
             PSEGMENT                       LIKE   BSEG-PSEGMENT,
             SAMNR                          LIKE   BSEG-SAMNR,
             SCTAX                          LIKE   BSEG-SCTAX,
             SEGMENT                        LIKE   BSEG-SEGMENT,
             SGTXT                          LIKE   BSEG-SGTXT,
             SRTYPE                         LIKE   BSEG-SRTYPE,
             UZAWE                          LIKE   BSEG-UZAWE,
             XREF1                          LIKE   BSEG-XREF1,
             XREF2                          LIKE   BSEG-XREF2,
             XREF3                          LIKE   BSEG-XREF3,
             ZUONR                          LIKE   BSEG-ZUONR,
             ZZBUSPARTN                     LIKE   BSEG-ZZBUSPARTN,
             ZZCHAN                         LIKE   BSEG-ZZCHAN,
             ZZLOB                          LIKE   BSEG-ZZLOB,
             ZZLOCA                         LIKE   BSEG-ZZLOCA,
             ZZPRODUCT                      LIKE   BSEG-ZZPRODUCT,
             ZZREGION                       LIKE   BSEG-ZZREGION,
             ZZSPREG                        LIKE   BSEG-ZZSPREG,
             ZZSTATE                        LIKE   BSEG-ZZSTATE,
             ZZUSERFLD1                     LIKE   BSEG-ZZUSERFLD1,
             ZZUSERFLD2                     LIKE   BSEG-ZZUSERFLD2,
             ZZUSERFLD3                     LIKE   BSEG-ZZUSERFLD3,
             END OF TEMP_STRUCT.
      IF IN_ORIG = BSEG .
        B_RESULT = B_FALSE.
        OUT_RESULT = IN_ORIG.
        EXIT.
      ENDIF.
      MOVE-CORRESPONDING BSEG TO TEMP_STRUCT.
      OUT_RESULT = IN_ORIG.
      MOVE-CORRESPONDING TEMP_STRUCT TO OUT_RESULT.
      IF IN_ORIG = OUT_RESULT .
        B_RESULT = B_FALSE.
      ELSE.
        B_RESULT = B_TRUE.
      ENDIF.
      BSEG = OUT_RESULT.
    ENDFORM.                               " EXP_TAB_009_BSEG
    I need the value of BSEG-HKONT should be passed to OUT_RESULT-HKONT.
    I am not able to find any userexit or BADI for this.
    Please guide me on this.
    Thanks,
    Chandravadan
    Edited by: Chandravadan Jaiswal on May 8, 2009 2:18 PM
    Edited by: Chandravadan Jaiswal on May 8, 2009 3:45 PM

    Hi
    I also need to change hkont while posting MIGO and MIRO transaction..
    Any suggestion for this?
    Here's my problem.. Substitution of account(HKONT) when posting in MIGO/MIRO

  • How to redirect Goods Receipt IM output to a specific printer by user

    We currently print a custom Goods Receipt pallet label that we defined as Output Type YE01.  The IM printer determintion utilizes the 'by Plant / Storage Location / User Group' option (transaction OMJ4, table TNAD9).
    When the receipt if for a particularly large number of pallets, the business would like the flexibility of redirecting the label output to a different, high volume printer.
    I'd like to kindly request feedback on how this might be accomplished.
    I have looked at the 9 User Exits for MIGO (MBCF002 etc...) but don't see anything suitable.
    One idea was to cause a small popup window to appear during the MIGO goods receipt asking the user for the desired printer, which could be selected from a dropdown.
    Thanks in advance for any ideas.

    Hi Michael,
    I remember issuing error messages in the form USEREXIT_KOMPBME_FILL in the pgm RVCOMFZ2, so you should be able to also show a pop-up there. But unfortunately, I don't have an idea how to make the output to go to the printer that the user chooses there.
    BR
    Raf

Maybe you are looking for

  • Read receipt issue in exchange 2013

    Hi All, In my environment ,we are having exchange 2013 sp1 ENT edition with outlook 2010 and 2013 as the email client for the exchange users having their default email delivery to pst file . In addition to that , if anyone of the sender send an email

  • On iPad Air how do I post a pic to Facebook if the pic is not in camera roll?

    The pic is in a collection synced w my iMac, so the pic is on the iPad Air but not in camera roll. How do I copy a pic to camera roll using only the iPad Air? Then post the pic on facebook?

  • Possible to send PO item info with PO cancellation?

    Hello! We are running "pseudo" standalone SRM 5.0. The "pseudo" is because we are using a legacy backend, emulating R/3. We need to send PO cancellation back to our legacy using XI/PI. The standard PROXY for this, "PurchaseOrderCancellationRequest_Ou

  • How to use complex types in a odata url filter

    Hello,    I am in the process of building a service that uses a complex data type as input in a query filter. I am not sure how the url will need to be generated and also how to retireve this complex type in the get_entity_set method. Example:    I h

  • Maximizing ram use

    Hi. I have a Mac Pro 5,1 quad core 2.8ghz mid 2010. I purchased 16 gb of ram from Macsales.com. I use Photoshop and other applications in Adobe Creative Suite CS 5 Professional, iphoto, imovie, Final Cut Express 4.0, and Roxio Toast Titanium (for bur