Purchasing document flow.

Hello friends,
Could anyone plz tell me the link & the document flow between RFQ, purchase requisition, outline agreement, contract, quotation, scheduling agreement, PIR, puchase order?
When Source determination is carried out, what is the priority in which the source is determined?
Thanks,
Cmehra.

Dear C Mehra,
PR >Release the PR>RFQ>Quotation>Quotation Comparison>PO>Release the PO>GR>Invoice Verification
MM Process flow:
Process Flow
The typical procurement cycle for a service or material consists of the following phases:
1. Determination of Requirements
Materials requirements are identified either in the user departments or via materials planning and control. (This can cover both MRP proper and the demand-based approach to inventory control. The regular checking of stock levels of materials defined by master records, use of the order-point method, and forecasting on the basis of past usage are important aspects of the latter.) You can enter purchase requisitions yourself, or they can be generated automatically by the materials planning and control system.
2. Source Determination
The Purchasing component helps you identify potential sources of supply based on past orders and existing longer-term purchase agreements. This speeds the process of creating requests for quotation (RFQs), which can be sent to vendors electronically via SAP EDI, if desired.
3. Vendor Selection and Comparison of Quotations
The system is capable of simulating pricing scenarios, allowing you to compare a number of different quotations. Rejection letters can be sent automatically.
4. Purchase Order Processing
The Purchasing system adopts information from the requisition and the quotation to help you create a purchase order. As with purchase requisitions, you can generate Pos yourself or have the system generate them automatically. Vendor scheduling agreements and contracts (in the SAP System, types of longer-term purchase agreement) are also supported.
5. Purchase Order Follow-Up
The system checks the reminder periods you have specified and - if necessary - automatically prints reminders or expediters at the predefined intervals. It also provides you with an up-to-date status of all purchase requisitions, quotations, and purchase orders.
6. Goods Receiving and Inventory Management
Goods Receiving personnel can confirm the receipt of goods simply by entering the Po number. By specifying permissible tolerances, buyers can limit over- and underdeliveries of ordered goods.
7. Invoice Verification
The system supports the checking and matching of invoices. The accounts payable clerk is notified of quantity and price variances because the system has access to PO and goods receipt data. This speeds the process of auditing and clearing invoices for payment.
Pur info record is nothing but a master data like thing which will be maintained for different materials to determine the prices etc.It Specifies the number that uniquely identifies a record.
For Example: an info record is based on Plant Vendor and Material
Based on these three the Material Prices will be calculated
for different combinations different values are taken into consideration.
During pricing it brings these values automatically based on this info record.
Use ME11 Tcode to create this record.
Common Tables used by SAP MM
Below are few important Common Tables used in Materials Management Modules:
EINA Purchasing Info Record- General Data
EINE Purchasing Info Record- Purchasing Organization Data
MAKT Material Descriptions
MARA General Material Data
MARC Plant Data for Material
MARD Storage Location Data for Material
MAST Material to BOM Link
MBEW Material Valuation
MKPF Header- Material Document
MSEG Document Segment- Material
MVER Material Consumption
MVKE Sales Data for materials
RKPF Document Header- Reservation
T023 Mat. groups
T024 Purchasing Groups
T156 Movement Type
T157H Help Texts for Movement Types
MOFF Lists what views have not been created
A501 Plant/Material
EBAN Purchase Requisition
EBKN Purchase Requisition Account Assignment
EKAB Release Documentation
EKBE History per Purchasing Document
EKET Scheduling Agreement Schedule Lines
EKKN Account Assignment in Purchasing Document
EKKO Purchasing Document Header
EKPO Purchasing Document Item
IKPF Header- Physical Inventory Document
ISEG Physical Inventory Document Items
LFA1 Vendor Master (General section)
LFB1 Vendor Master (Company Code)
NRIV Number range intervals
RESB Reservation/dependent requirements
T161T Texts for Purchasing Document Types
Tcodes:
InfoRecord - ME11
Source List - ME01
RFQ to Vendor - ME41
Sheduling Agreement - ME31L
Contract - ME31K
Raising Quotation - ME47
Comparison of Price - ME49
Creation of PO - ME21N
Goods Receipt - MIGO
Invoice (Bill PAssing) - MIRO
Goods Issue - MB1A
Physical Inventory - MI01( Create doc)
MI04 (Enter Count)
MI07 (Post)
Visit the following thread:
New to Materials Management / Warehouse Management?
http://www.sapgenie.com/abap/tables_mm.htm
http://www.sap-img.com/sap-download/sap-tables.zip
http://www.allsaplinks.com/material_management.html
http://www.training-classes.com/course_hierarchy/courses/2614_SAP_R_3_MM_Invoice_Verification_-_Rel_4_x.php
http://www.sapfriends.com/sapstuff.html
check this out
MM flow
MM flow
MM flow
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PSMAT/PSMAT.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CAARCMM/CAARCMM.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/MYSAP/SR_MM.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/LOMDMM/LOMDMM.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCBMTWFMMM/BCBMTWFMMM.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/MMIVMVAL/MMIVMVAL.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/MMWMLVS/MMWMLVS.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/MMISVE/MMISVE.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PSMAT/PSMAT.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CAARCMM/CAARCMM.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/MYSAP/SR_MM.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/MYSAP/SR_MM.pdf
http://www.sap-basis-abap.com/mm/sap-mm-certification-samples.htm
http://www.sap-img.com/mm015.htm
http://sap.ittoolbox.com/documents/popular-q-and-a/sap-mm-interview-questions-3586
Regards,
Naveen.

Similar Messages

  • Sales Order -- Purchase Req -- Purchase Order ..... Sales Document flow??

    Hi Guys,
    We have a process where we proccure few parts externally. When a sales order is created in our system based on the item category config we are able to create a purchase requition automatically. This Preq is further used to create a PO based on which the purchasing group proccures the part from the vendor.
    We are trying to identify if there is a way to find out a way if we can relate the PO number created in the sales document flow? Currently we are not able to view the PO number in the sales document flow. We are trying to identify if this is possible and if yes what needs to ne configuered to enable PO number linking in sales document flow?
    Any pointers?
    Cheers
    VJ

    Hi Bikash,
    The PO field which u r referring to on the VA01 screen is the PO number against which a SO is created. This PO number is the customers PO number. My requirement is i need to store the Intercompany PO number which is the PO number created to procure the part externally from the vendor. So its the vendor PO number and not the customer PO number.
    Secondly if i try to misuse any other field to store this PO number it dosent make sense as it would not show up in the document flow screen so it would be of no use to us. We want to enable it the std way and i am sure SAP has provided some way to do it.
    I check the OSS notes and found some interesting tips working on that hopefully should be able to resolve it.
    Cheers
    VJ

  • Document flow in Purchase order

    Hi,
    How can check the document flow in purchase order(me22n).  Please help me on this issue..
    Thanks..

    HI
    There is no document flow like SD in MM
    Inorder to get the doc flow for a PO you can goto ME23N or ME22n and in item details click on PURCHASE ORDER HISTORY TAB here you will get the GR , IR etc.
    Alternatively you can goto table EKBE and enter the EBELN (PO number ) and execute you will get the doc flow
    regards
    Prashanth

  • Document flow of Inbound Delivery

    Dear Gurus,
    We have upgraded to support pack SAPKH60018 from SAPKH60010.
    Earlier the process for goods receipt was followed as described below
    1. Purchase order
    2. Inbound Delivery
    3. GR in to Blocked stock against Inbound Delivery (mvmt type 103)
    3. Release GR blocked stock (mvmt type 105)
    Now after upgrading the support pack when GR blocked stock is made against the Inbound Delivery system is not updating the Document number in the document flow and PGR button is not disabled though 103 mvmt type document is made through migo.
    System is also not allowing to make the Release GR block stock through MIGO and prompting to use Inbound Delivery Dialog instead.
    Request for immediate assitance in regard to this issue.
    Regards
    Danish Alam.

    With the support pack in case if material is serialized for such plant you can post goods receipt only in VL32N which would happen only during 105 mvt type and you cannot post goods receipt using MIGO.

  • Regarding invoice no. displaying in non-invoice no.list in document flow

    Hi All,
    I have 3 radio buttons. if i select 1st one only orders with invoice list should be displayed and for 2nd only orders without invoice list should be displayed and for the 3rd both should be displayed.
    but here the problem was when i select the 2nd radiobutton and see the output it was showing all the orders without invoice no. but when i see the document flow for the first order it was showing invoice no. in DOCUMENT FLOW. but it was not displaying in the output.
    So any one can help me in this issue, i am sending the select statements i have used,
      Get the invoice numbers and the corresponding order numbers for the
      date range specified on the selection screen.
        SELECT vbrkvbeln vbrpposnr vbrp~matnr
               vbrpaubel vbfaposnv
          INTO CORRESPONDING FIELDS OF TABLE i_invoice_items FROM vbrk
          INNER JOIN vbpa ON vbrkvbeln = vbpavbeln
          INNER JOIN vbrp ON vbrkvbeln = vbrpvbeln
          INNER JOIN vbfa ON vbrkvbeln = vbfavbeln  AND
                             vbrpposnr = vbfaposnn  AND
                             vbrpaubel = vbfavbelv
          WHERE vbrk~fkdat BETWEEN s_fkdat-low AND s_fkdat-high AND
                vbrk~bukrs  IN s_bukrs    AND
                vbpa~parvw   = 'WE'       AND
                vbpa~kunnr  IN s_kunnr    AND
                vbrk~vkorg  IN s_vkorg    AND
                vbrp~prodh  IN s_prdha    AND
                vbrp~werks  IN s_werks    AND
                vbfavbelv   = vbrpaubel AND
                vbfa~vbtyp_n = 'M'        AND
                vbfa~vbtyp_v = 'C'.
    get all open orders i.e. orders that have not been invoiced - Start.
      Step 1 - Get all invoiced orders.
        SELECT vbfavbelv vbfaposnv
          INTO CORRESPONDING FIELDS OF TABLE i_inv_ord_items
          FROM vbfa
          INNER JOIN vbpa ON vbfavbelv = vbpavbeln
          INNER JOIN vbak ON vbfavbelv = vbakvbeln
          INNER JOIN vbap ON vbfavbelv = vbapvbeln AND
                             vbfaposnv = vbapposnr
          WHERE vbtyp_n        = 'M'     AND
                vbtyp_v        = 'C'     AND
                vbpa~parvw     = 'WE'    AND
                vbpa~kunnr    IN s_kunnr AND
                vbak~vkorg    IN s_vkorg AND
                vbak~bukrs_vf IN s_bukrs AND
                vbap~abgru     = ' '     AND
                vbap~werks    IN s_werks AND
                vbap~prodh    IN s_prdha.
      STEP 2 - Get all orders that have not been invoiced.
      Step 2a) Get all orders that match the filters specified on the selection screen
        SELECT vbakvbeln vbapposnr matnr
          INTO CORRESPONDING FIELDS OF TABLE i_ord_items FROM vbak
          INNER JOIN vbap ON vbakvbeln = vbapvbeln
          INNER JOIN vbpa ON vbakvbeln = vbpavbeln
          WHERE vbpa~parvw     = 'WE'    AND
                vbpa~kunnr    IN s_kunnr AND
                vbak~vkorg    IN s_vkorg AND
                vbak~bukrs_vf IN s_bukrs AND
                prodh         IN s_prdha AND
                werks         IN s_werks AND
                vbap~abgru     = ' '.
        SORT i_ord_items BY vbeln posnr.
      Step 2b) Delete orders that have been invoiced by
               deleting records found in Step 1
        LOOP AT i_inv_ord_items INTO wa_inv_ord_items.
          READ TABLE i_ord_items
            INTO wa_ord_items
            WITH KEY vbeln = wa_inv_ord_items-vbelv
                     posnr = wa_inv_ord_items-posnv
            BINARY SEARCH.
          IF sy-subrc = 0.
            gv_index = sy-tabix.
            DELETE i_ord_items
              INDEX gv_index.
          ENDIF.
        ENDLOOP.
      Step 2c) Remove entries that exist in the invoiced orders internal table
      to avoid duplicate entries
        SORT i_ord_items BY vbeln posnr.
        LOOP AT i_invoice_items INTO wa_invoice_items.
          READ TABLE i_ord_items
            INTO wa_ord_items
            WITH KEY vbeln = wa_invoice_items-aubel
                     posnr = wa_invoice_items-posnv
            BINARY SEARCH.
          IF sy-subrc = 0.
            gv_index = sy-tabix.
            DELETE i_ord_items
              INDEX gv_index.
          ENDIF.
        ENDLOOP.
    get all open orders i.e. orders that have not been invoiced - End.
      Combine the open orders and invoiced orders into one internal table
    --Code added by CHHEDAM.SMS129705.Date- 03/28/2007--
      Clear 'invoiced' orders if open orders are opted.
        IF g_open EQ 'X'.
          CLEAR: i_invoice_items[].
        ENDIF.
    --End of code added by CHHEDAM.SMS129705.Date- 03/28/2007--
        IF g_open EQ 'X' OR g_both EQ 'X'.       
          LOOP AT i_ord_items INTO wa_ord_items.
            CLEAR wa_invoice_items.
            MOVE: wa_ord_items-vbeln TO wa_invoice_items-aubel,
                  wa_ord_items-posnr TO wa_invoice_items-posnv,
                  wa_ord_items-matnr TO wa_invoice_items-matnr.
            APPEND wa_invoice_items TO i_invoice_items.
          ENDLOOP.
        ENDIF.                                   
        SORT i_invoice_items BY vbeln.
        IF i_invoice_items[] IS NOT INITIAL.
          SELECT *
            FROM vbak
            INTO TABLE gt_vbak_table
            FOR ALL ENTRIES IN i_invoice_items
            WHERE vbeln = i_invoice_items-aubel.
          IF sy-subrc = 0.
            DELETE gt_vbak_table
              WHERE vkorg    NOT IN s_vkorg OR
                    bukrs_vf NOT IN s_bukrs OR
                    auart    NOT IN s_auart.
          ENDIF.
          SORT gt_vbak_table BY vbeln.
          IF gt_vbak_table[] IS NOT INITIAL.
            SELECT *
              FROM vbap
              INTO TABLE gt_vbap_table
              FOR ALL ENTRIES IN gt_vbak_table
              WHERE vbeln = gt_vbak_table-vbeln.
            IF sy-subrc = 0.
              DELETE gt_vbap_table
                WHERE werks NOT IN s_werks OR
                      prodh NOT IN s_prdha.
            ENDIF.
          ENDIF.
        ENDIF.
        SORT gt_vbak_table BY vbeln.
        SORT gt_vbap_table BY vbeln posnr.
    LOOP AT i_invoice_items INTO wa_invoice_items.
          READ TABLE gt_vbak_table
            INTO gt_vbak_table_line
            WITH KEY vbeln = wa_invoice_items-aubel
            BINARY SEARCH.
          IF sy-subrc = 0.
            display_table_line-aubel     = gt_vbak_table_line-vbeln.
            display_table_line-vkorg     = gt_vbak_table_line-vkorg.
            display_table_line-auart     = gt_vbak_table_line-auart.
            display_table_line-bukrs_vf  = gt_vbak_table_line-bukrs_vf.
            display_table_line-bill_to   = gt_vbak_table_line-kunnr.
            display_table_line-vdatu     = gt_vbak_table_line-vdatu.
            display_table_line-faksk     = gt_vbak_table_line-faksk.
            display_table_line-lifsk     = gt_vbak_table_line-lifsk.
          ENDIF.
          READ TABLE gt_vbap_table
            INTO gt_vbap_table_line
            WITH KEY vbeln = wa_invoice_items-aubel
                     posnr = wa_invoice_items-posnv
            BINARY SEARCH.
          IF sy-subrc = 0.
            display_table_line-posnr     = gt_vbap_table_line-posnr.
            display_table_line-matnr     = gt_vbap_table_line-matnr.
            display_table_line-kdmat     = gt_vbap_table_line-kdmat.
            display_table_line-maktx     = gt_vbap_table_line-arktx.
            display_table_line-werks     = gt_vbap_table_line-werks.
            display_table_line-prodh     = gt_vbap_table_line-prodh.
            display_table_line-kwmeng    = gt_vbap_table_line-kwmeng.
            display_table_line-vrkme     = gt_vbap_table_line-vrkme.
            display_table_line-waerk     = gt_vbap_table_line-waerk.
            display_table_line-net_price = gt_vbap_table_line-netwr.
            display_table_line-kzwi1     = gt_vbap_table_line-kzwi1.
            display_table_line-kzwi2     = gt_vbap_table_line-kzwi2.
            display_table_line-kzwi3     = gt_vbap_table_line-kzwi3.
            display_table_line-kzwi4     = gt_vbap_table_line-kzwi4.
            display_table_line-kzwi5     = gt_vbap_table_line-kzwi5.
            display_table_line-wavwr     = gt_vbap_table_line-wavwr.
            display_table_line-mwsbp     = gt_vbap_table_line-mwsbp.
          ENDIF.
          display_table_line-vbeln = wa_invoice_items-vbeln.
          APPEND display_table_line TO display_table_line.
          CLEAR wa_invoice_items.
          CLEAR display_table_line.
        ENDLOOP.
      Get the Purchase Order Number, Sales District and Desc
        IF display_table_line[] IS NOT INITIAL.
          CLEAR: gt_vbkd_table.
          CLEAR: gt_t171t_table.
          SELECT *
            FROM vbkd
            INTO TABLE gt_vbkd_table
            FOR ALL ENTRIES IN display_table_line
            WHERE vbeln = display_table_line-aubel.
          SORT gt_vbkd_table  BY vbeln.
          IF gt_vbkd_table[] IS NOT INITIAL.
            SELECT *
              FROM t171t
              INTO TABLE gt_t171t_table
              FOR ALL ENTRIES IN gt_vbkd_table
              WHERE bzirk = gt_vbkd_table-bzirk.
          ENDIF.
          SORT gt_t171t_table BY bzirk.
        ENDIF.
      Get Ship To Account
        IF display_table_line[] IS NOT INITIAL.
          CLEAR: gt_vbpa_table.
          SELECT *
            INTO TABLE gt_vbpa_table
            FROM vbpa
            FOR ALL ENTRIES IN display_table_line
            WHERE vbeln = display_table_line-aubel.
          IF sy-subrc = 0.
            DELETE gt_vbpa_table
              WHERE parvw <> 'WE'.
          ENDIF.
        ENDIF.
        SORT gt_vbpa_table BY vbeln parvw.
    Get Ship To Name and City
        IF gt_vbpa_table[] IS NOT INITIAL.
          CLEAR: gt_kna1_table.
          SELECT *
            INTO TABLE gt_kna1_table
            FROM kna1
            FOR ALL ENTRIES IN gt_vbpa_table
            WHERE kunnr = gt_vbpa_table-kunnr.
        ENDIF.
        SORT gt_kna1_table BY kunnr.
        IF display_table_line[] IS NOT INITIAL.
          CLEAR: gt_vbpa2_table.
          SELECT *
            INTO TABLE gt_vbpa2_table
            FROM vbpa
            FOR ALL ENTRIES IN display_table_line
            WHERE vbeln = display_table_line-aubel.
          IF sy-subrc = 0.
            DELETE gt_vbpa2_table
              WHERE parvw <> 'ZS' .
          ENDIF.
        ENDIF.
        SORT gt_vbpa2_table BY vbeln parvw.
        IF gt_vbpa2_table[] IS NOT INITIAL.
          CLEAR: gt_kna12_table.
          SELECT *
            INTO TABLE gt_kna12_table
            FROM kna1
            FOR ALL ENTRIES IN gt_vbpa2_table
            WHERE kunnr = gt_vbpa2_table-kunnr.
        ENDIF.
        SORT gt_kna12_table BY kunnr.
    Get Sales Group and Desc
        IF display_table_line[] IS NOT INITIAL.
          CLEAR: gt_knvv_table.
          SELECT *
            INTO TABLE gt_knvv_table
            FROM knvv
            FOR ALL ENTRIES IN display_table_line
            WHERE kunnr = display_table_line-bill_to  AND
                  vkorg = display_table_line-vkorg    AND
                  vtweg = '01'.
          SORT gt_knvv_table BY kunnr vkorg vtweg.
          IF gt_knvv_table[] IS NOT INITIAL.
            CLEAR: gt_tvgrt_table.
            SELECT *
              INTO TABLE gt_tvgrt_table
              FROM tvgrt
              FOR ALL ENTRIES IN gt_knvv_table
              WHERE vkgrp = gt_knvv_table-vkgrp AND
                    spras = sy-langu.
          ENDIF.
          SORT gt_tvgrt_table BY vkgrp spras.
        ENDIF.
    Get Order Status for the line items in the sales orders
        IF display_table_line[] IS NOT INITIAL.
          CLEAR: gt_vbup_table.
          SELECT *
            INTO TABLE gt_vbup_table
            FROM vbup
            FOR ALL ENTRIES IN display_table_line
            WHERE vbeln = display_table_line-aubel AND
                  posnr = display_table_line-posnr.
        ENDIF.
        SORT gt_vbup_table BY vbeln posnr.
        IF gt_vbup_table[] IS NOT INITIAL.
          CLEAR: gt_tvbst_table.
          SELECT *
            INTO TABLE gt_tvbst_table
            FROM tvbst
            FOR ALL ENTRIES IN gt_vbup_table
            WHERE spras = sy-langu AND
                  tbnam = 'VBUP'   AND
                  fdnam = 'GBSTA'  AND
                  statu = gt_vbup_table-gbsta.
        ENDIF.
        SORT gt_tvbst_table BY spras tbnam fdnam statu.
    Get Blocked Reason Text for Billing and Delivery Block
        IF display_table_line[] IS NOT INITIAL.
          CLEAR: gt_tvfst_table.
          SELECT *
            INTO TABLE gt_tvfst_table
            FROM tvfst
            FOR ALL ENTRIES IN display_table_line
            WHERE spras = sy-langu AND
                  faksp = display_table_line-faksk.
        ENDIF.
        SORT gt_tvfst_table BY spras faksp.
        IF display_table_line[] IS NOT INITIAL.
          CLEAR: gt_tvlst_table.
          SELECT *
            INTO TABLE gt_tvlst_table
            FROM tvlst
            FOR ALL ENTRIES IN display_table_line
            WHERE spras = sy-langu AND
                  lifsp = display_table_line-lifsk.
        ENDIF.
        SORT gt_tvlst_table BY spras lifsp.
        SORT display_table_line BY vbeln aubel posnr matnr.
        DELETE ADJACENT DUPLICATES
          FROM display_table_line
          COMPARING aubel posnr matnr .
        LOOP AT display_table_line INTO display_table_line.
          gv_index = sy-tabix.
      Get the Purchase Order Number, Sales District and Desc
          READ TABLE gt_vbkd_table
            INTO gt_vbkd_table_line
            WITH KEY vbeln = display_table_line-aubel
            BINARY SEARCH.
          IF sy-subrc = 0.
            display_table_line-bstkd = gt_vbkd_table_line-bstkd.
            display_table_line-bzirk = gt_vbkd_table_line-bzirk.
            READ TABLE gt_t171t_table
              INTO gt_t171t_table_line
              WITH KEY bzirk = gt_vbkd_table_line-bzirk
              BINARY SEARCH.
            IF sy-subrc = 0.
              display_table_line-bztxt = gt_t171t_table_line-bztxt.
            ENDIF.
          ENDIF.
      Get Ship To Account
          READ TABLE gt_vbpa_table
            INTO gt_vbpa_table_line
            WITH KEY vbeln = display_table_line-aubel
                     parvw = 'WE'
            BINARY SEARCH.
          IF sy-subrc = 0.
            display_table_line-ship_to = gt_vbpa_table_line-kunnr.
          ENDIF.
    Get Ship To Name and City
          READ TABLE gt_kna1_table
            INTO gt_kna1_table_line
            WITH KEY kunnr = display_table_line-ship_to
            BINARY SEARCH.
          IF sy-subrc = 0.
            display_table_line-ship_to_name = gt_kna1_table_line-name1.
            display_table_line-ship_to_city = gt_kna1_table_line-ort01.
          ENDIF.
    Get Ship To Salesman Number
          READ TABLE gt_vbpa2_table
            INTO gt_vbpa2_table_line
            WITH KEY vbeln = display_table_line-aubel
                     parvw = 'ZS'
            BINARY SEARCH.
          IF sy-subrc = 0.
            display_table_line-salesrep = gt_vbpa2_table_line-kunnr.
          ENDIF.
    Get Ship To Salesman
          READ TABLE gt_kna12_table
            INTO gt_kna12_table_line
            WITH KEY kunnr = display_table_line-salesrep
            BINARY SEARCH.
          IF sy-subrc = 0.
            display_table_line-ship_to_srep = gt_kna12_table_line-name1.
          ENDIF.
    Get Sales Group and Desc
          READ TABLE gt_knvv_table
            INTO gt_knvv_table_line
            WITH KEY kunnr = display_table_line-bill_to
                     vkorg = display_table_line-vkorg
                     vtweg = '01'
            BINARY SEARCH.
          IF sy-subrc = 0.
            display_table_line-vkgrp = gt_knvv_table_line-vkgrp.
            READ TABLE gt_tvgrt_table
              INTO gt_tvgrt_table_line
              WITH KEY vkgrp = gt_knvv_table_line-vkgrp
                       spras = sy-langu
              BINARY SEARCH.
            IF sy-subrc = 0.
              display_table_line-bezei = gt_tvgrt_table_line-bezei.
            ENDIF.
          ENDIF.
    Get Order Status for the line items in the sales orders
          READ TABLE gt_vbup_table
            INTO gt_vbup_table_line
            WITH KEY vbeln =  display_table_line-aubel
                     posnr =  display_table_line-posnr
            BINARY SEARCH.
          IF sy-subrc = 0.
            display_table_line-gbsta = gt_vbup_table_line-gbsta.
          ENDIF.
          READ TABLE gt_tvbst_table
            INTO gt_tvbst_table_line
            WITH KEY spras = sy-langu
                     tbnam = 'VBUP'
                     fdnam = 'GBSTA'
                     statu = display_table_line-gbsta
            BINARY SEARCH.
          IF sy-subrc = 0.
            display_table_line-status = gt_tvbst_table_line-bezei.
          ENDIF.
    Get Blocked Reason Text for Billing and Delivery Block
          READ TABLE gt_tvfst_table
            INTO gt_tvfst_table_line
            WITH KEY spras = sy-langu
                     faksp = display_table_line-faksk
            BINARY SEARCH.
          IF sy-subrc = 0.
            display_table_line-fakskt = gt_tvfst_table_line-vtext.
          ENDIF.
         SELECT SINGLE vtext INTO display_table_line-lifskt
          READ TABLE gt_tvlst_table
            INTO gt_tvlst_table_line
            WITH KEY spras = sy-langu
                     lifsp = display_table_line-lifsk
            BINARY SEARCH.
          IF sy-subrc = 0.
            display_table_line-lifskt = gt_tvlst_table_line-vtext.
          ENDIF.
    Get Total Net and Total Gross Invoice Amount
          display_table_line-brtwr = display_table_line-kzwi1 -
                                     display_table_line-kzwi2 -
                                     display_table_line-kzwi3 -
                                     display_table_line-kzwi4 -
                                     display_table_line-kzwi5.
    Calculate Discount
          display_table_line-disc = display_table_line-kzwi2 +
                                    display_table_line-kzwi4.
         Unit Price and cost.
          IF display_table_line-kwmeng NE 0.
            display_table_line-unit_price = display_table_line-brtwr /
                                            display_table_line-kwmeng.
            display_table_line-wavwr = display_table_line-wavwr /
                                       display_table_line-kwmeng.
          ELSE.
            display_table_line-wavwr = 0.
          ENDIF.
        Calculate the GPM percentage.
          IF display_table_line-unit_price NE 0.
            display_table_line-gpm_perc = ( ( display_table_line-unit_price -
                                              display_table_line-wavwr ) /
                                              display_table_line-unit_price ) * 100.
          ENDIF.
        Update the internal table.
          SHIFT display_table_line-matnr   LEFT DELETING LEADING '0'.
          SHIFT display_table_line-bill_to LEFT DELETING LEADING '0'.
          SHIFT display_table_line-ship_to LEFT DELETING LEADING '0'.
          SHIFT display_table_line-vbeln   LEFT DELETING LEADING '0'.
          SHIFT display_table_line-aubel   LEFT DELETING LEADING '0'.
          WRITE display_table_line-vdatu   TO   display_table_line-vdatu_char MM/DD/YYYY.
          MODIFY display_table_line
            INDEX gv_index
            FROM display_table_line
            TRANSPORTING vbeln      aubel        bzirk        bztxt
                         bill_to    ship_to      ship_to_name ship_to_city
                         salesrep   ship_to_srep vkgrp        bezei
                         bstkd      gbsta        status       fakskt
                         lifskt     matnr        vdatu        brtwr
                         disc       unit_price   wavwr        gpm_perc
                         vdatu_char.
          CLEAR: display_table_line, tvbst_wa.
        ENDLOOP.
        IF  s_vkgrp[] IS NOT INITIAL.
          DELETE display_table_line WHERE vkgrp NOT IN s_vkgrp.
        ENDIF.
        IF  s_bzirk[] IS NOT INITIAL.
          DELETE display_table_line WHERE bzirk NOT IN s_bzirk.
        ENDIF.
        IF s_srep[] IS NOT INITIAL.
          DELETE display_table_line WHERE salesrep NOT IN s_srep.
        ENDIF.
        SORT display_table_line BY vkorg vkgrp ship_to_srep bill_to.
        DELETE display_table_line WHERE aubel = ' '.
      ENDMETHOD.                    "read_main_data
      METHOD display_report.
        CALL METHOD alv_class->set_table_for_first_display
       EXPORTING
         I_BUFFER_ACTIVE               =
         I_BYPASSING_BUFFER            =
         I_CONSISTENCY_CHECK           =
         I_STRUCTURE_NAME              =
         IS_VARIANT                    =
         I_SAVE                        =
         I_DEFAULT                     = 'X'
         is_layout                     = gv_layout
         IS_PRINT                      =
         IT_SPECIAL_GROUPS             =
         IT_TOOLBAR_EXCLUDING          =
         IT_HYPERLINK                  =
         IT_ALV_GRAPHICS               =
         IT_EXCEPT_QINFO               =
         IR_SALV_ADAPTER               =
         CHANGING
           it_outtab                     = display_table_line[]
           it_fieldcatalog               = gt_field_cat
         IT_SORT                       =
         IT_FILTER                     =
        EXCEPTIONS
          invalid_parameter_combination = 1
          program_error                 = 2
          too_many_lines                = 3
          OTHERS                        = 4
        IF sy-subrc <> 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
      ENDMETHOD.                    "display_report
    Thanks in Advance,
    Ramana Prasad.T

    Hi Janakiraman,
    unfortunately we don't have an upload storage here in the SDN. At this point we have two options:
    a) you could upload the screenshots to a website that provides storage and then you can paste the url to the screenshots here
    b) we can route this through our support channel. You can send a message to our support team in the <a href="http://service.sap.com/smb/sbo/support">SAP Business One Support Center</a> in our <a href="http://service.sap.com/smb/sbo">SAP PartnerEdge Portal</a>.
    Please use the method that works best for you.
    Thanks,
    Torsten

  • Reclamations and returns DOCUMENT FLOW

    Hi,
    I ve to enhance the QM01/02/03 ,DOCUMENT FLOW when ever we press document flow push button,
    QM02-
    provide any QN number,
    in the menu
    extras -> document notifications->document flow->list
    rifht now it is showing only 2/3 documents in tree
    but it should be modified to
    The standard SAP Document Flow, but it must be modified, in order to show all the subsequent documents, and the user must be able to go directly to each subsequent documents.  
    The flow must follow this hierarchy: 
    For documents type ZS/ZV
    - Purchase Order
        - QM Notif.
            - Stock transfer or Scrapping
                 - Return Purchase Order
                       - Delivery
                           - Goods issue
                              - Goods receipt
                                 - Invoice
    For document Type: ZC.
    - Reference document
    - QM Notif.
    - Return Sales Order or Credit memo req. or Debit memo req.
                                              - Return invoice or Credit memo or Debit memo
    This document flows should be shown for each QN in the QM11 transaction.
    menu
    Notification -> Display Document flow
    It is a network flow that should  as is but all the documents it should show.
    it is internally calling Business objects
    1. Goto transaction "QM02",
    2. Provide some QN number
    Observe: LIST
                     GRAPHIC
    If u goto the sytem&#8594;status u ll find the program “SAPLIQS0”
    Find the Function code responsible for “DOCF”
    It will call a report program “RIBELF20”
    For other “GRAPHIC” shown in above picture
    U will find form exit “FORM fcode_docf2_f00”
    Where we can create new program like above and we can insert our own Z Program.
    But if u go to the program level and debug,
    There is one FM "DISPLAY_DOCUMENT_FLOW_ALV" that is responsible for such type of display,
    No issues,
    But internally before that he extracted all the business Objects responsible for that.
    How can I get all the business objects that are required to me to show the all the documents that I have already sent to u.
    Below are my findings about the document flow at QM11 level.
    When ever u press the Display document flow.
    The O/P is
    1. QM11 is the standard transaction using program “RQMELL10”.
        We can not modify the standard SAP transaction, and insert our code in this program.
         Alternative: we have to copy the program in Z namespace and attach the same to Z transaction code.
        Confirm the same whether the users are ready to use the “Z” transaction.
    2. Even though they accept for this:
        The function Module responsible for the Network type of display is “QM11_LESEN_BELEGDATEN_ALLG”.
        With the input parameters as (a) QN number (b) Business Object i.e.  BUS2078 (Quality notification number) (c) maximum number of steps
        The standard function module should be used in Z namespace program; the standard function module internally calls one more Function module 
        “NERL_GET_NEIGHBOURHOOD” that is responsible for the getting business objects of the corresponding number.
         But this function module gets the only three documents data but not the else that are mentioned in the FD.
    <b>Kindly provide any function module, which can meet such criteria, and the business objects of the related documents in the flow that is required.</b>

    Hi,
    Goto the T.Code "VOV7".
    Select your item category.
    Details.
    Maintain the Completion rule as "A(Item is completed with the first reference)".
    Save.
    If you do this after the follow on document is created,the item is completed and you cannot reject the item.
    For your second question,
    Goto the T.Code "VTLA".
    Select your valid combination.
    Click on item.Select your item category.Details.
    There is a check box called as "Update document flow".Tick that one.
    Save.
    Regards,
    Krishna.

  • BAPI_GOODSMVT_CREATE not updating document flow

    I created a function to create an inbound delivery against a PUrchase Order and then Post the goods receipt against that inbound delivery. The inbound delivery and the material document are created correctly in the DEV environment.
    The issue is that in our QA environment the document are created correctly but the document flow is not updated at all!! Any idea of where should I be looking at to see difference between these environments?
    I'm using BAPI BAPI_GOODSMVT_CREATE  to Post the Goods Receipt.
    Thanks.

    sort delivery by vbeln posnr.
    loop at delivery.
    Populate BAPI variables ready for call
      goodsmvt_header-pstng_date = sy-datlo.
      goodsmvt_header-doc_date = sy-datlo.
      goodsmvt_header-bill_of_lading = delivery-lifex.
      goodsmvt_header-ref_doc_no = delivery-lifex.
      goodsmvt_header-pr_uname = sy-uname.
      goodsmvt_header-header_txt = 'Auto GR of I/Bound Del'.
      goodsmvt_code-gm_code = con_move_code.
      goodsmvt_item-material = delivery-matnr.
      goodsmvt_item-plant = delivery-werks.
      goodsmvt_item-stge_loc = delivery-lgort.
      goodsmvt_item-move_type = con_move_type.
      goodsmvt_item-vendor = delivery-lifnr.
      goodsmvt_item-entry_qnt = delivery-lfimg.
      goodsmvt_item-entry_uom = delivery-meins.
      goodsmvt_item-mvt_ind = con_move_item.
      goodsmvt_item-deliv_numb_to_search = delivery-vbeln.
      goodsmvt_item-deliv_item_to_search = delivery-posnr.
      append goodsmvt_item.
      clear goodsmvt_item.
    endloop.
    *Call BAPI
    call function 'BAPI_GOODSMVT_CREATE'
      exporting
       goodsmvt_header       = goodsmvt_header
       goodsmvt_code        = goodsmvt_code
      TESTRUN           = ' '
      importing
       goodsmvt_headret      = goodsmvt_headret
       materialdocument      = materialdocument
       matdocumentyear       = matdocumentyear
      tables
       goodsmvt_item        = goodsmvt_item
      GOODSMVT_SERIALNUMBER    =
       return           = return.
    Check BAPI RETURN table to ensure call was successful
    loop at return where type = 'E'.
      exit.
    endloop.
    if sy-subrc eq 0.
      rollback work.
      message e999 with 'GR BAPI Failed, process delivery manually'.
    endif.

  • No document flow updated in Service Order regarding MM flow i.e. PR, PO, GR

    Hello,
    On creating a service order in CRM, the purchase requisition is created automatically in R/3 for the spare parts entered.
    But this PR information is not getting updated in the service order's document flow in CRM.
    I analysed the flow and found that PR gets successfully created and sends back the document flow data to CRM inbound queue.
    The BDoc type involved is CRM_SRV_XTN.
    In it's Extended part, there is a field called ORDERADM_H_GUID which is correctly filled in the BAPIMTCS structure in R/3 which is converted to probably XML format through macro MOVE_CASTING and sent to CRM inbound queue (function module BAPI_CRM_SAVE).
    However, on debugging the respective inbound queue in CRM, I noticed that the field ORDERADM_H_GUID value is not the same as filled in R/3 but some CONSTANT value like 00230023002300560023002300230023 in all the cases.
    Also, FYI, the fieldu2019s value in R3 after conversion looks like as following u2013
    #########################0000000000 ########䣴Ώ삷#耀諣뢮########     48F4038FC0B70093E10080008AE3B8AE
    While in CRM i.e. FM BAPI_CRM_SAVE it looks as follows u2013
    #########################0000000000 ########################     48F4038FC0B70093E10080008AE3B8AE
    So there I feel that the value what is sent from R/3 is not the same as recieved in CRM, on XML conversion.
    Please advise what could be the reason for this anomaly.
    Thanks and regards,
    Manish

    unfortunately document flow in PS is not like in SD
    only in ECP there is a limited possibility
    you can see the line item report and activate the relationship browser which will give the details of the documents related to that posting
    other than that nothing

  • FM to get document flow of Trading Contract

    Hi,
    In Trading contract display transaction WB23 we can see the document flow. For a processed Trading contract (Purchase side), in document flow we can see PO, Inbound delivery, Goods reciept, Nomination etc.
    Is there any FM to get all this document flow with full hierachy in a single shot? if not please suggest a combination of FMs to get this information.
    I found FM BAPI_TRADINGCONTRACT_GET_FLOW, which gives only the immediate follow-on document info like PO/SO details.
    Regards,
    Sudhakar.

    The FM MMPUR_EKBE_ARRAY_READ gives the Purchase order history only. It gives only the material document information but not the inbound delivery or nomination.
    I can use the FM BAPI_PO_GETDETAIL to get the confirmations, history and schedules of Purchase Order.

  • SRM purchasing document updated in enhancement only in Debug mode

    Hi everybody,
    I created an enhancement for a SRM include ( LBBP_SOCO_APPF0R -> Form CREATE_FOLLOW_ON_DOCUMENT) because existing BAdI are not called at necessary moment to update Shopping Cart (purchasing document) CUF items.
    ABAP code i added allows to get data from follow-on document, then i get details from parent document, i update this document with values for CUF fields, i save this document and finally i run function module BAPI_TRANSACTION_COMMIT (with or without export parameter 'WAIT').
    Nevertheless, those CUF fields are correctly updated but only when i am in debugging process flow with an external break-point.
    When i delete this debug point, CUF fields are not updated any more !
    Is anyone have an idea to solve this problem ?
    Regards.
    Laurent.

    The problem may come from the network system or something's wrong in the system Because I have run the tcode and It work properly.
    Thanks,
    Hung

  • "Document Flow cannot be updated" warning msg in GR for STO

    Hi All,
    I get a warning when I try to do GR for a STO (Oub Deliver created for this STO and PGI done...and stock is in Stock in Transit).
    What does this warning mean?
    Thanks in advance!
    Edited by: Duke Dukester on Oct 9, 2008 2:44 AM

    Hi,
    I think you are trying Goods Receipt in receiving plant w.r.t. Stock Transport Order instead of Outbound Delivery.
    As per SAP recommendation, GR in receiving plant should be done w.r.t. Outbound delivery not STPO so that it will update Sales Document Flow also along with PO History.
    In MIGO, try Goods Receipt --> Outbound Delivery instead of Purchase Order and then check.

  • PO document flow table

    Hi All,
    Can u please tell me which table is used to see PO document flow?
    Thanks & Regards
    Santhosh

    Hi
    There is no straight table in MM like in SD table VBFA which have all doc flow
    check the tables
    EBAN,EKKO,EKPO,EKET,EKBE,MKPF,MSEG,RBKP,RSEG etc
    for the flow
    MM Cycle:
    Purchase Requisition-> Staff in an orgn places Pur requisition for want of some goods/products - ME51
    Request for Quotation(RFQ)-> The Purchase dept in the orgn calls/requests for the quotation for the products against which PR was raised. - ME41
    Vendor Evaluation->After receving the RFQ's, after comparison a Vendor is finalised based on the terms and conditions.
    Purchase Order(PO)-> Pur order was issued to that vendor asking him to supply the goods/products -ME21N
    Goods Receipt Note(GRN)->Vendor supplies the material/Products to the orgn-
    MB01
    Goods Issue (GI)  -> People receives their respective itesm for which they have placed the Requisitions
    Invoice Verification-> ALong with the Material Vendor submits a Invoice for which the Company Pays the amount - .MIRO
    Data to FI -> data will be posted to FI as per the vendor invoices
    you better go through all these links u will get all the info what ever u need
    for mm
    http://www.sapgenie.com/abap/tables_mm.htm
    http://www.sap-img.com/sap-download/sap-tables.zip
    http://www.allsaplinks.com/material_management.html
    http://www.training-classes.com/course_hierarchy/courses/2614_SAP_R_3_MM_Invoice_Verification_-_Rel_4_x.php
    http://www.sapfriends.com/sapstuff.html
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PSMAT/PSMAT.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CAARCMM/CAARCMM.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/MYSAP/SR_MM.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/LOMDMM/LOMDMM.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCBMTWFMMM/BCBMTWFMMM.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/MMIVMVAL/MMIVMVAL.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/MMWMLVS/MMWMLVS.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/MMISVE/MMISVE.pdf
    Regards
    Anji
    Message was edited by:
            Anji Reddy Vangala

  • Table for Document flow

    Hi,
    I have a Sales Order. For this Sales Order i Created a Puchase Order.I made a Goods Reciept and an Account Document is created. Can any one tell the table where i can see the Document flow for this Order? I tried VBFA...but i can see only Purchase Order against the Sales Order.Thanks in Advance.
    Challa.

    VBFA is document flow for SD.
    To find receipt for purchase order, look at EKBE with key purchase order Nr and event type VGABE = '1' Goods receipt
    Then to find accounting document, you need to look to BKPF header table with keys AWTYP Reference procedure 'MKPF' and AWKEY Object key (Nr + year)
    Regards

  • SO document flow not updated with PR no created

    Hi All,
    A Purchase Requisitions is created from SO for a line item, i can see the PR generated in report ME5A but not in document flow. Is it a standard behavior or i'm missing something ??
    Regards
    Abhilash

    Purchase requisitions are not updated in the document flow, just use SE16 and look at document flow table VBFA. it has 2 fields for document category VBTYP_V and VBTYP_N . If you use F4 on this field then you can see that the PR is not among the possible documents.
    Use the status overview button instead and you can see the PR

  • Need  MM flow  and MM document Flow

    Hi all,
    can anybody tell me whats the mm fliow and also i need whats the document flow for each Order in MM,
    and also i need MM Document flow .
    please can any body help me,
    regards,
    dhanush

    hi..
    Integration
    The document flow includes notifications and orders for the application components Customer Service (CS), Plant Maintenance (PM) and Quality Management (QM).
    Within the logistics supply chain, the document flow is integrated with the application components
    Materials Management (MM)
    for example, via purchase requisitions or goods receipt documents, and
    Sales and Distribution (SD)
    for example, via invoices or credit memos.
    Features
    You can display the following objects in the document flow:
    Service contract
    Maintenance plan item
    Service notification
    Service order
    Paging object (for example, a document)
    Purchase requisition
    Purchase order
    Sales order
    Confirmation in time
    Debit memo request
    Debit memo
    Returns
    Returns delivery
    Credit memo request
    Invoice
    Invoice cancellation
    Credit memo
    Credit memo cancellation
    Delivery
    Goods movement
    Goods movement cancellation
    regards......... Sri

Maybe you are looking for

  • New update? Now I have to restore my 4th Gen IPod Touch?

    So i updated my ipod 4th gen today with the new update, and after it gets done. I see the charger end of a usb for the ipod with an arrow pointing to a itunes symbol, i go and plug my ipod in and it keeps asking me to restore my ipod. How do i fix th

  • I upgraded to 7.0.1 and now my library is gone. . . Please help

    I am using a PC, and updated to iTunes 7.0.1. My music and iTunes are stored on an external hard drive, but I think that the upgrade was written to my regular drive. I still have all the files and library files. Is there a way to restore this with ou

  • Stored Procedure Call from Bean Error - PLS-00201

              Hello all,           I am using the java stored procedure code in the examples dir of weblogic51/examples/jdbc/...           with one exception. I created the stored procedure as another user with more           permissions than           t

  • DataSource Connection Pooling in 903?

    We are having difficulty getting 9iAS DataSource Pooling to work. We are using 9iAS 9.0.3 (without Infrastructure) and, as per the J2EE Services Guide, have : 1) Added... Context ic = new InitialContext(); DataSource ds (DataSource) ic.lookup("jdbc/O

  • Can anyone explain what consume() actrually does?

    Can anyone explain what consume() actually does as it relates to a KeyEvent? I read about this but I just can't seem to to understand it. Thanks in advance.