MIRO user exist for invoicing party

Dear Experts ,
I have a requirement where in i need the system to automatically pick a different invoicing party ( as per pre defined  logic ) .
Please suggest me SPECIFIC exit / BAPI where in i can fit my logic so that the system suggest the invoicing party in MIRO transaction as per requirement .
Regards
Anis

Hello Wojciech,
Thanks for the prompt response .
I did locate the BADI - INVOICE_UPDATE, but , as per discussions with my technical team & note 1156325 , the data changed in the BAdI is not processed further in the standard program MIRO.
Further , as specified in note 1156325 there is only one relevant BADI for MIRO , that is MRM_TRANSACT_DEFAULT
, but it cannot change/default the invoicing party in MIRO.
My requirement is that I want to populate a different  invoicing party as per the documnet for which the invoice is being booked via tcode MIRO.
Please suggest how can this be done .
Regards
Anis

Similar Messages

  • User exit for Invoice verification

    Hi
    We want to findout user exit for invoice verification/MIRO .  Is there any user exits available for MIRO.

    The below are for MIRO
    LMR1M001 User exits in Logistics Invoice Verification
    LMR1M002 Account grouping for GR/IR account maint
    LMR1M003 Number assignment in Logistics Invoice Verification
    LMR1M004 Logistics Invoice Verification: item text for follow-on docs
    LMR1M005 Logistics Inv. Verification: Release Parked Doc. for Posting
    LMR1M006 Logistics Invoice Verification: Process XML Invoice
    MRMH0001 Logistics Invoice Verification: ERS procedure
    MRMH0002 Logistics Invoice Verification: EDI inbound
    MRMH0003 Logistics Invoice Verification: Revaluation/RAP
    regards
    Aravind
    Assign points if useful

  • Invoice Reduction: No separate document type exists for invoice reduction

    Hi,
    I am posting a document for Invoice Reduction and getting the following error message. I have seen the document types in OBA7 T-code. What is the document for Invoice reduction, is it same as Credit memo or different one?
    Can you Pls guide me to complete the transaction successfully.
    Error Message:
    No separate document type exists for invoice reduction
    Message no. M8507
    Diagnosis
    You want to post an invoice that has been reduced. This results in two FI documents being created. You require different document types to process both FI documents correctly.
    System response
    The invoice cannot be posted.
    Procedure
    Your system administrator must enter a separate document type for invoice reduction with transaction MIRO in Customizing for Logistics Invoice Verification.
    Regards
    Hari.

    Hi Hari,
    Procedure for posting the Invoice Reduction :
    (1) Enter the T.Code MIRO - Select the Transaction as Invoice only.
    (2) Give the reference number ( Example PO Number) for which you want to create an Invoice.
    (3) In the Display Variant, Select Invocie Reduction.
    (4) Maintain the required details and post the Invocie.
    Example: Invoice Reduction due to Quantity Variance:
    PO: 100 nos @ 10 EUR/No
    GR: 40 nos
    Invoice: 40 nos @ 12 EUR/No = 480 EUR
    When you enter Invoice,
    Order Qty            Order Amount         Invoiced Qty        Invocied Amt
    40                        400
    Select Reduce Invocie in the Display Variant.
    Enter the Quantity and Amount stated in the Invocie  in the fields Invoice quantity acc. vendor and Invoice amount acc. vendor.
    Order Qty            Order Amount         Invoiced Qty        Invocied Amt
    40                        400                          40                        480
    When you post the Invocie, Purchase order history will be updated as follows:
                               Quantity           Value
    Total Delivered    40                    400
    Total Invoiced     40                     400
    Accounting Documents:
    GR:
    Stock Account = 400
    GR/IR Clearing Account = 400(-)
    Invoice:
    Vendor Account = 480(-)
    GR/IR Clearing Account = 400(-)
    Invoice Reduction Clearing Account = 80(+)
    Automatic Credit Memo:
    Vendor Account = 80(+)
    Invoice Reduction Clearing Account = 80(-)
    Thanks
    Sunil.

  • User exists for ME22N

    Hi all,
    Is there any user exists for the ME22N tcode While Saving PO,  excluding  MM06E005 and M06E0004. These exists are M06E0004 inpacting on Release strategy and other MM06E005 is SAP stored the screens in $tmp because of this  impacting on other tcode me41 going to dump.so anybody can suggest any other  user exists.
    Thank u,
    sksk.

    MEVME001                                WE default quantity calc. and over/ underdelivery tolerance
    MM06E001                                User exits for EDI inbound and outbound purchasing documents
    MM06E003                                Number range and document number
    MM06E004                                Control import data screens in purchase order
    MM06E005                                Customer fields in purchasing document
    MM06E007                                Change document for requisitions upon conversion into PO
    MM06E008                                Monitoring of contr. target value in case of release orders
    MM06E009                                Relevant texts for "Texts exist" indicator
    MM06E010                                Field selection for vendor address
    MMAL0001                                ALE source list distribution: Outbound processing
    MMAL0002                                ALE source list distribution: Inbound processing
    MMAL0003                                ALE purcasing info record distribution: Outbound processing
    MMAL0004                                ALE purchasing info record distribution: Inbound processing
    MMDA0001                                Default delivery addresses
    MMFAB001                                User exit for generation of release order
    MRFLB001                                Control Items for Contract Release Order
    AMPL0001                                User subscreen for additional data on AMPL
    MEQUERY1                                Enhancement to Document Overview ME21N/ME51N
    LMEDR001                                Enhancements to print program
    LMELA002                                Adopt batch no. from shipping notification when posting a GR
    LMELA010                                Inbound shipping notification: Transfer item data from IDOC
    LMEQR001                                User exit for source determination
    LMEXF001                                Conditions in Purchasing Documents Without Invoice Receipt
    LWSUS001                                Customer-Specific Source Determination in Retail
    M06B0001                                Role determination for purchase requisition release
    M06B0002                                Changes to comm. structure for purchase requisition release
    M06B0003                                Number range and document number
    MELAB001                                Gen. forecast delivery schedules: Transfer schedule implem.
    MEFLD004                                Determine earliest delivery date f. check w. GR (only PO)
    MEETA001                                Define schedule line type (backlog, immed. req., preview)
    ME590001                                Grouping of requsitions for PO split in ME59
    M06E0005                                Role determination for release of purchasing documents
    M06E0004                                Changes to communication structure for release purch. doc.
    M06B0005                                Changes to comm. structure for overall release of requisn.
    M06B0004                                Number range and document number
    Regards,
    Madan

  • User Exist for MM - Purchase Order

    Hi ABAP expert,
    is there any user exist for Purchase order, actually i'm want to prevent the user from do the deletion on PO items, as per my understanding we can use user exit.
    can anyone help and how to do the process ?

    Hi,
    1. Just copy and paste this code and execute it.
    2. Give the Tcode "ME21" and you will see the lot of user exits.
    TABLES : tstc,     "SAP Transaction Codes
             tadir,    "Directory of Repository Objects
             modsapt,  "SAP Enhancements - Short Texts
             modact,   "Modifications
             trdir,    "System table TRDIR
             tfdir,    "Function Module
             enlfdir,  "Additional Attributes for Function Modules
             tstct.    "Transaction Code Texts
    *& Variables
    DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
    DATA : field1(30).
    DATA : v_devclass LIKE tadir-devclass.
    *& Selection Screen Parameters
    SELECTION-SCREEN BEGIN OF BLOCK a01 WITH FRAME TITLE text-001.
    SELECTION-SCREEN SKIP.
    PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN END OF BLOCK a01.
    *& Start of main program
    START-OF-SELECTION.
    * Validate Transaction Code
      SELECT SINGLE * FROM tstc
        WHERE tcode EQ p_tcode.
    * Find Repository Objects for transaction code
      IF sy-subrc EQ 0.
        SELECT SINGLE * FROM tadir
           WHERE pgmid    = 'R3TR'
             AND object   = 'PROG'
             AND obj_name = tstc-pgmna.
        MOVE : tadir-devclass TO v_devclass.
        IF sy-subrc NE 0.
          SELECT SINGLE * FROM trdir
             WHERE name = tstc-pgmna.
          IF trdir-subc EQ 'F'.
            SELECT SINGLE * FROM tfdir
              WHERE pname = tstc-pgmna.
            SELECT SINGLE * FROM enlfdir
              WHERE funcname = tfdir-funcname.
            SELECT SINGLE * FROM tadir
              WHERE pgmid    = 'R3TR'
                AND object   = 'FUGR'
                AND obj_name = enlfdir-area.
            MOVE : tadir-devclass TO v_devclass.
          ENDIF.
        ENDIF.
    * Find SAP Modifactions
        SELECT * FROM tadir
          INTO TABLE jtab
          WHERE pgmid    = 'R3TR'
            AND object   = 'SMOD'
            AND devclass = v_devclass.
        SELECT SINGLE * FROM tstct
          WHERE sprsl EQ sy-langu
            AND tcode EQ p_tcode.
        FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
        WRITE:/(19) 'Transaction Code - ',
        20(20) p_tcode,
        45(50) tstct-ttext.
        SKIP.
        IF NOT jtab[] IS INITIAL.
          WRITE:/(95) sy-uline.
          FORMAT COLOR COL_HEADING INTENSIFIED ON.
          WRITE:/1 sy-vline,
          2 'Exit Name',
          21 sy-vline ,
          22 'Description',
          95 sy-vline.
          WRITE:/(95) sy-uline.
          LOOP AT jtab.
            SELECT SINGLE * FROM modsapt
            WHERE sprsl = sy-langu AND
            name = jtab-obj_name.
            FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
            WRITE:/1 sy-vline,
            2 jtab-obj_name HOTSPOT ON,
            21 sy-vline ,
            22 modsapt-modtext,
            95 sy-vline.
          ENDLOOP.
          WRITE:/(95) sy-uline.
          DESCRIBE TABLE jtab.
          SKIP.
          FORMAT COLOR COL_TOTAL INTENSIFIED ON.
          WRITE:/ 'No of Exits:' , sy-tfill.
        ELSE.
          FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
          WRITE:/(95) 'No User Exit exists'.
        ENDIF.
      ELSE.
        FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
        WRITE:/(95) 'Transaction Code Does Not Exist'.
      ENDIF.
    * Take the user to SMOD for the Exit that was selected.
    AT LINE-SELECTION.
      GET CURSOR FIELD field1.
      CHECK field1(4) EQ 'JTAB'.
      SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).
    Thanks,
    Reward If Helpful.

  • Reg. User exist for G/L account change

    Dear Experts
    I want to create new contion or user exist for  change the G/L account from consumption account to
    stock account. 
    That is when I create purchase order with account assignment the stock account should be assigned instead of consuption account.
    Without any account assignment mean no problem,that accounts are posted  correctly.Stock account and GR/IR account.
    Thanks
    Rajakumar.k

    While create Purchase order.
    If    Acct assignment  E      -   Stock account - depending on the material type
         Acct assignment and item cat.  E  & L   WIP of material
    Like the above.
    while I create purchase order the consumption account is posted and after enter the sale order
    the G/L for consumption is changed to stock account. I can see the changes directly.
    Thanks
    Rajakumar.k

  • User exit for Invoice plan settlement

    Hi
    Can any tell me the user User exit for Invoice plan settlement to display PO# on the check?
    All your efforts are appreciated.
    Thanks

    ref link below
    http://www.easymarketplace.de/userexit.php
    http://www.planetsap.com/userexit_main_page.htm

  • IDoc message Document or line item does not exist for invoice reference

    Hello,
    We activated IDoc message type FIDCC2. When cancelling documents which were created before the activation date the cancellation documents aren't posted in the receiving system. Message 'Document or line item does not exist for invoice reference' appears. How can I process these items (the reference document can't exist in the receiving system so the only option is to remove it from the IDoc?)?
    Regards, Jan

    This is just a guide.  Adapt it to your situation.  I get this kind of error message where in the case, someone has marked for deletion a line item in the purchase order.  In this regard, the IDoc errors out because the line item number being referenced is marked for deletion.
    You can either delete the IDoc or have the deletion flag taken off the line item number in the PO or document number to enable you reprocess the IDoc number in question.
    Elias

  • BADI/User exists for versions(snapshots) CN71/CN72

    Hello friends!
    Is there a BADI/User exists for versions(snapshots) CN71/CN72?
    Please let me know the name and your experience using it.
    Best regards
    Jose Marin

    Hi,
    Try following user exit for both transaction codes, CN71 & CN72
    CNEX0010 (PS: Customer-defined hierarchy in LDB PSJ)
    sandeep

  • USER EXISTS FOR F110

    Dear friends,
    Can any body tell me that where we can see the related User Exists for F110 in SAP?
    Thanks,
    Raju

    Hello,
    Here is the list of user exists in F110
    FDTAX001 Enhancement to Transaction FDTA (event after the download)
    FEDI0002 Function exits for EDI DOCS in FI - Incoming pyt adv.notes
    FEDI0003 Function exits for EDI docs in FI - Save PEXR segments
    FEDI0004 Function exits for EDI docs in FI - particular events
    FEDI0006 Function Exits for EDI-docs in FI: Save IDCR Segments
    RFFOX003 Frame for user exit RFFOX003 (in program RFFOM100)
    RFFOX041 Framework for user exit RFFOX041 (in program RFFOBE_I)
    RFFOX042 Framework for user exit RFFOX042 (in program RFFOBE_E)
    RFFOX043 Framework for user exit RFFOX043 (in program RFFOBE_D)
    RFFOX061 Frame for user exit RFFOX061 (in program RFFOCH_P)
    RFFOX062 Frame for user exit RFFOX062 (in program RFFOCH_P)
    RFFOX063 Frame for user exit RFFOX063 (in program RFFOCH_P)
    RFFOX064 Frame for user exit RFFOX064 (in program RFFOCH_P)
    RFFOX065 Frame for user exit RFFOX065 (in program RFFOCH_P)
    RFFOX066 Frame for user exit RFFOX066 (in program RFFOCH_P)
    RFFOX071 Frame for user exit RFFOX071 (in program RFFOCH_U)
    RFFOX072 Frame for user exit RFFOX072 (in program RFFOCH_U)
    RFFOX073 Frame for user exit RFFOX073 (in program RFFOCH_U)
    RFFOX074 Frame for user exit RFFOX074 (in program RFFOCH_U)
    RFFOX075 Frame for user exit RFFOX075 (in program RFFOCH_U)
    RFFOX081 Frame for user exit RFFOX081 (in program RFFOF__T)
    RFFOX082 Frame for user exit RFFOX082 (in program RFFOF__T)
    RFFOX100 Frame for user exit RFFOX100 (in program RFFOUS_T)
    RFFOX101 Frame for user exit RFFOX101 (in program RFFOUS_T)
    RFFOX102 Frame for user exit RFFOX102 (in program RFFOUS_T)
    RFFOX103 Frame for user exit RFFOX103 (in program RFFOUS_T)
    RFFOX104 user exit
    RFFOX105 Frame for user exit RFFOX105 (in program RFFOUS_T)
    RFFOX200 Frame for user exit RFFOX200 (in program RFFONZ_T)
    RFFOX210 Frame for user exit RFFOX210 (in program RFFOAU_T)
    RFFOX211 Frame for user exit RFFOX211 (in program RFFONZ_T)
    RFFOX230 General program for user exit RFFOX230 (in program RFFOJP_L)
    RFFOX240 Enhancement for User Exit 240 (RFFOAT_P)
    RFFOX250 Enhancement for User Exit 250 (RFFODK_E)
    RFFOX901 Framework for user exit RFFOX901 (in program RFFOM100)
    RFFOX902 Framework for user exit RFFOX902 (in program RFFOM100)
    Hope this helps
    Rgds
    Rajendra
    Pls assign points if useful

  • User Exit for third party order processes.Missing in ECC 6.

    Hi All,
    There is a user exit EXIT_SAPLJ3AM_003 which exist in 4.6C version of SAP for AFS.
    This user exit is for Third Party order processes. This is called within the include LJ3AMFD1 of the main program SAPLJ3AM.
    But this User exit is missing in ECC version of SAP for AFS.
    Could anyone please let me know how I can resolve this issue as I need this User exit for my requirement. Has SAP provided any enhancement spots for this?
    I tried to search the enhancement spots and OSS notes but couldnu2019t get any useful information.
    Please advice.
    Thanks,
    Ameesha

    changed our requirement

  • Reg:User Exit For Invoice

    Hi All,
    I have an requirement that when during creation of invoice i have to update some data's to ztables and during deletion of invoice i have to update some data's. Is it possible?
    Is there any user exit for this scenario? Kindly give your idea's how to resolve this scenario.

    hi,
    these r the exits updated during invoice creation.
    Transaction Code - MIRO                     Enter Invoice
    Enhancement/ Business Add-in            Description
    Enhancement
    LMR1M001                                User exits in Logistics Invoice Verification
    LMR1M002                                Account grouping for GR/IR account maintenance
    LMR1M003                                Number assignment in Logistics Invoice Verification
    LMR1M004                                Logistics Invoice Verification: item text for follow-on docs
    LMR1M005                                Logistics Inv. Verification: Release Parked Doc. for Posting
    LMR1M006                                Logistics Invoice Verification: Process XML Invoice
    MRMH0001                                Logistics Invoice Verification: ERS procedure
    MRMH0002                                Logistics Invoice Verification: EDI inbound
    MRMH0003                                Logistics Invoice Verification: Revaluation/RAP
    MRMN0001                                Message output and creation: Logistics Invoice Verification
      Business Add-in
    INVOICE_UPDATE                          Business Add-In: Logistics Invoice Verification

  • User Exits for Invoice creation ,cancellation and sales return

    Hi Gurus,
    Pl help me it's very urgent.
    I did not find any user exit invoice creation so i wrote the following code in include program
    MV60AF0B_BELEG_SICHERN.
    This code is to update the Z*table while saving invoice ,cancellation and sales return.
    The code modification is like below
          FORM BELEG_SICHERN                                            *
          Buchen Fakturabelege                                          *
    FORM BELEG_SICHERN.
      READ TABLE XVBRK INDEX 1.
      IF SY-SUBRC NE 0.
        CALL FUNCTION 'DEQUEUE_ALL'.
        MESSAGE S032.
        EXIT.
      ENDIF.
      IF SAMH_MOD = ON.
        EXPORT XKOMFK TO MEMORY ID 'SDBILLDL'.
      ENDIF.
      DATA: CALC_TYPE.
      IF REBATE_DETERMINED = 'Y'.
        CALC_TYPE = 'A'.
      ELSE.
        CALC_TYPE = 'I'.
      ENDIF.
    *{   INSERT         RD1K903017                                        1
    Work Area*********************
    data : wa_xvbrk type VBRKVB.
    data : wa_xvbrp type vbrpvb.
    data : wa_zmigo type zmigo.
    data : wa_vbrp type vbrp.
    Internal table Creation*******
    DATA:  BEGIN OF tab_XVBRP OCCURS 100.
             INCLUDE STRUCTURE VBRPVB.
    DATA:  END OF tab_XVBRP.
    data : begin of tab_vbeln occurs 10,
           vbeln type vbrk-vbeln,
           knumv type vbrk-knumv,
           end of tab_vbeln.
    data : tab_zmigo type table of zmigo.
    data : tab_vbrp type table of vbrp.
    *****Data declaration*************
    data : v_no_of_inv type i.
    data : v_vbeln_no(10) type n.
    data : v_last_inv_no(10) type n.
    data : v_first_inv_no(10) type c.
    data : v_tot_qty type i.
    data : v_frbnr type mkpf-frbnr.
    *******Ranges*********************
    ranges : r_vbeln for vbrk-vbeln.
    *****Populating IT****************
    tab_xvbrp[] = xvbrp[].
    describe table xvbrk lines v_no_of_inv.
    *}   INSERT
      CALL FUNCTION 'RV_INVOICE_DOCUMENT_ADD'
           EXPORTING
                VBSK_I           = VBSK
                WITH_POSTING     = 'A'
                PREISFINDUNGSART = CALC_TYPE
           IMPORTING
                VBSK_E           = VBSK
           TABLES
                XKOMFK           = XKOMFK
                XTHEAD           = XTHEAD
                XVBFS            = XVBFS
                XVBSS            = XVBSS
                XVBRK            = XVBRK
                XVBRP            = XVBRP
                XVBPA            = XVBPA
                XKOMV            = XKOMV.
    *{   INSERT         RD1K903017                                        2
    data : v_count type i,v_fkimg type i .
    data : v_no_of_records(10) type n.
    wa_xvbrk = xvbrk.
    ********Selecting the last rec no from ZMIGO
          select max( sr_no ) from zmigo into v_no_of_records.
    *****If Distribution channel is not ZB*********
    if  wa_xvbrk-vtweg ne 'ZB' and ( wa_xvbrk-fkart = 'ZRIN' or wa_xvbrk-fkart = 'ZRTE' ).
    if v_no_of_inv = 1.              " Process only when there is one invoice
    loop at tab_xvbrp into wa_xvbrp  where (           matnr ne 'CDGSTP0001'       and
                                                       matnr ne 'CD-RW'            and
                                                       matnr ne 'CD-RW65OHS'       and
                                                       matnr ne 'CABLE'            and
                                                       matnr ne 'CD-R'             and
                                                       matnr ne 'CDQ80N4'          and
                                                       matnr ne 'GENERAL'          and
                                                       matnr ne 'NERO'             and
                                                       matnr ne 'OTHERS'           and
                                                       matnr ne 'SPARE PARTS'      and
                                                       matnr ne 'PROMO ITEM'       and
                                                       matnr ne 'PROMO-1'          and
                                                       matnr ne 'PROMO-2'          and
                                                       matnr ne 'PROMO-3'          and
                                                       matnr ne 'PROMO-4'          and
                                                       matnr ne 'PROMO-5'          and
                                                       matnr ne 'PROMO-6'          and
                                                       matnr ne 'PROMO-7'          and
                                                       matnr ne 'PROMO-8'          and
                                                       matnr ne 'PROMO-9'          and
                                                       matnr ne 'PROMO-10' ).
    v_fkimg = wa_xvbrp-fkimg .
    v_fkimg = v_fkimg / 1000.
                do v_fkimg times.
                  v_no_of_records = v_no_of_records + 1.
                  wa_zmigo-sr_no = v_no_of_records.
                  wa_zmigo-po_no = wa_xvbrk-vbeln.
                  wa_zmigo-item_no  = wa_xvbrp-posnr.
                 wa_zmigo-mblnr  = wa_xmkpf-mblnr.
                  wa_zmigo-doc_type = wa_xvbrk-fkart.
                  wa_zmigo-posting_date = wa_xvbrk-fkdat.
                  wa_zmigo-created_on = sy-datum.
                  wa_zmigo-created_time = sy-uzeit.
                 wa_zmigo-bill_lno = v_frbnr.
                  wa_zmigo-material = wa_xvbrp-matnr.
                 wa_zmigo-inv_no = wa_xvbrk-vbeln.
                 wa_zmigo-inv_item_no = wa_xvbrp-posnr.
                  wa_zmigo-plant = wa_xvbrp-werks.
                  wa_zmigo-inv_date = wa_xvbrk-fkdat.
                  wa_zmigo-customer = wa_xvbrk-kunag.
                  wa_zmigo-unit = 1.
                  wa_zmigo-mtype = '601'.
                  insert into zmigo values wa_zmigo.
                enddo.
                clear : wa_zmigo.
    endloop.
    clear : v_count,v_fkimg,wa_zmigo.
    refresh tab_zmigo[].
    clear v_no_of_inv.
    else.                              "When there are Split Invoices
    v_last_inv_no = wa_xvbrk-vbeln.
    v_vbeln_no = v_last_inv_no - v_no_of_inv + 1.
    v_first_inv_no = v_vbeln_no.
    sort tab_xvbrp by vbeln.
    loop at tab_xvbrp into wa_xvbrp  where (           matnr ne 'CDGSTP0001'       and
                                                       matnr ne 'CD-RW'            and
                                                       matnr ne 'CD-RW65OHS'       and
                                                       matnr ne 'CABLE'            and
                                                       matnr ne 'CD-R'             and
                                                       matnr ne 'CDQ80N4'          and
                                                       matnr ne 'GENERAL'          and
                                                       matnr ne 'NERO'             and
                                                       matnr ne 'OTHERS'           and
                                                       matnr ne 'SPARE PARTS'      and
                                                       matnr ne 'PROMO ITEM'       and
                                                       matnr ne 'PROMO-1'          and
                                                       matnr ne 'PROMO-2'          and
                                                       matnr ne 'PROMO-3'          and
                                                       matnr ne 'PROMO-4'          and
                                                       matnr ne 'PROMO-5'          and
                                                       matnr ne 'PROMO-6'          and
                                                       matnr ne 'PROMO-7'          and
                                                       matnr ne 'PROMO-8'          and
                                                       matnr ne 'PROMO-9'          and
                                                       matnr ne 'PROMO-10' ).
    v_fkimg = wa_xvbrp-fkimg .
    v_fkimg = v_fkimg / 1000.
                do v_fkimg times.
                  v_no_of_records = v_no_of_records + 1.
                  wa_zmigo-sr_no = v_no_of_records.
                  wa_zmigo-po_no = v_vbeln_no.                      "wa_vbrp-vbeln.
                  wa_zmigo-item_no  = wa_xvbrp-posnr.
                 wa_zmigo-mblnr  = wa_xmkpf-mblnr.
                  wa_zmigo-doc_type = wa_xvbrk-fkart.
                  wa_zmigo-posting_date = wa_xvbrk-fkdat.
                  wa_zmigo-created_on = sy-datum.
                  wa_zmigo-created_time = sy-uzeit.
                 wa_zmigo-bill_lno = v_frbnr.
                  wa_zmigo-material = wa_xvbrp-matnr.
                 wa_zmigo-inv_no = v_vbeln_no.
                 wa_zmigo-inv_item_no = wa_xvbrp-posnr.
                  wa_zmigo-plant = wa_xvbrp-werks.
                  wa_zmigo-inv_date = wa_xvbrk-fkdat.
                  wa_zmigo-customer = wa_xvbrk-kunag.
                  wa_zmigo-unit = 1.
                  wa_zmigo-mtype = '601'.
                  insert into zmigo values wa_zmigo.
                enddo.
                clear : wa_zmigo.
    at end of vbeln.
    v_vbeln_no = v_vbeln_no + 1.
    endat.
    clear : v_count,v_fkimg,wa_zmigo.
    refresh tab_zmigo[].
    endloop.
    endif.                             "End of first 2nd IF.
    clear : v_no_of_inv, v_vbeln_no.
    endif.
    ****************Sales return************************************
    if  wa_xvbrk-fkart = 'ZRRE' and wa_xvbrk-vtweg ne 'ZB'.
    loop at tab_xvbrp into wa_xvbrp where (            matnr ne 'CDGSTP0001'       and
                                                       matnr ne 'CD-RW'            and
                                                       matnr ne 'CD-RW65OHS'       and
                                                       matnr ne 'CABLE'            and
                                                       matnr ne 'CD-R'             and
                                                       matnr ne 'CDQ80N4'          and
                                                       matnr ne 'GENERAL'          and
                                                       matnr ne 'NERO'             and
                                                       matnr ne 'OTHERS'           and
                                                       matnr ne 'SPARE PARTS'      and
                                                       matnr ne 'PROMO ITEM'       and
                                                       matnr ne 'PROMO-1'          and
                                                       matnr ne 'PROMO-2'          and
                                                       matnr ne 'PROMO-3'          and
                                                       matnr ne 'PROMO-4'          and
                                                       matnr ne 'PROMO-5'          and
                                                       matnr ne 'PROMO-6'          and
                                                       matnr ne 'PROMO-7'          and
                                                       matnr ne 'PROMO-8'          and
                                                       matnr ne 'PROMO-9'          and
                                                       matnr ne 'PROMO-10' ).
             v_fkimg = wa_xvbrp-fkimg.
             v_fkimg = v_fkimg / 1000.
             v_tot_qty = v_tot_qty + v_fkimg.
              do v_fkimg times.
                v_no_of_records = v_no_of_records + 1.
                wa_zmigo-sr_no = v_no_of_records.
                wa_zmigo-po_no = wa_xvbrk-vbeln.
                wa_zmigo-item_no  = wa_xvbrp-posnr.
                wa_zmigo-doc_type = wa_xvbrk-fkart.
                wa_zmigo-posting_date = wa_xvbrk-fkdat.
                wa_zmigo-created_on = sy-datum.
                wa_zmigo-created_time = sy-uzeit.
                wa_zmigo-material = wa_xvbrp-matnr.
               wa_zmigo-inv_no = wa_xvbrk-vbeln.
               wa_zmigo-inv_item_no = wa_xvbrp-posnr.
                wa_zmigo-plant = wa_xvbrp-werks.
                wa_zmigo-inv_date = wa_xvbrk-fkdat.
                wa_zmigo-customer = wa_xvbrk-kunag.
                wa_zmigo-unit = 1.
                wa_zmigo-mtype = '651'.
                condense wa_xvbrk-xblnr.
                wa_zmigo-reference = wa_xvbrk-xblnr.
    ********Bill of lading no**
               select single bill_lno from zmigo_final into v_frbnr where inv_no = wa_xvbrk-xblnr and material = wa_xvbrp-matnr.
               if sy-subrc eq 0.
               wa_zmigo-bill_lno = v_frbnr.
               endif.
                insert into zmigo values wa_zmigo.
              enddo.
              clear : wa_zmigo,wa_xvbrp , v_fkimg, v_frbnr.
    endloop.
    endif.
    *******Invoice Cancellation*****************************
    if  wa_xvbrk-fkart = 'ZRS1' and wa_xvbrk-vtweg ne 'ZB'.
    delete tab_xvbrp[] where shkzg eq 'X'.
    loop at tab_xvbrp into wa_xvbrp where (            matnr ne 'CDGSTP0001'       and
                                                       matnr ne 'CD-RW'            and
                                                       matnr ne 'CD-RW65OHS'       and
                                                       matnr ne 'CABLE'            and
                                                       matnr ne 'CD-R'             and
                                                       matnr ne 'CDQ80N4'          and
                                                       matnr ne 'GENERAL'          and
                                                       matnr ne 'NERO'             and
                                                       matnr ne 'OTHERS'           and
                                                       matnr ne 'SPARE PARTS'      and
                                                       matnr ne 'PROMO ITEM'       and
                                                       matnr ne 'PROMO-1'          and
                                                       matnr ne 'PROMO-2'          and
                                                       matnr ne 'PROMO-3'          and
                                                       matnr ne 'PROMO-4'          and
                                                       matnr ne 'PROMO-5'          and
                                                       matnr ne 'PROMO-6'          and
                                                       matnr ne 'PROMO-7'          and
                                                       matnr ne 'PROMO-8'          and
                                                       matnr ne 'PROMO-9'          and
                                                       matnr ne 'PROMO-10' ).
             v_fkimg = wa_xvbrp-fkimg.
             v_fkimg = v_fkimg / 1000.
             v_tot_qty = v_tot_qty + v_fkimg.
              do v_fkimg times.
                v_no_of_records = v_no_of_records + 1.
                wa_zmigo-sr_no = v_no_of_records.
                wa_zmigo-po_no = wa_xvbrk-vbeln.
                wa_zmigo-item_no  = wa_xvbrp-posnr.
                wa_zmigo-doc_type = wa_xvbrk-fkart.
                wa_zmigo-posting_date = wa_xvbrk-fkdat.
                wa_zmigo-created_on = sy-datum.
                wa_zmigo-created_time = sy-uzeit.
                wa_zmigo-material = wa_xvbrp-matnr.
               wa_zmigo-inv_no = wa_xvbrk-vbeln.
               wa_zmigo-inv_item_no = wa_xvbrp-posnr.
                wa_zmigo-plant = wa_xvbrp-werks.
                wa_zmigo-inv_date = wa_xvbrk-fkdat.
                wa_zmigo-customer = wa_xvbrk-kunag.
                wa_zmigo-unit = 1.
                condense wa_xvbrk-zuonr.
                wa_zmigo-reference = wa_xvbrk-zuonr.
                wa_zmigo-mtype = '602'.
    ********Bill of lading no**
               select single bill_lno from zmigo_final into v_frbnr where inv_no = wa_xvbrk-xblnr and material = wa_xvbrp-matnr.
               if sy-subrc eq 0.
               wa_zmigo-bill_lno = v_frbnr.
               endif.
                insert into zmigo values wa_zmigo.
              enddo.
              clear : wa_zmigo,wa_xvbrp , v_fkimg.
    endloop.
    endif.
    clear : v_no_of_records.
    *}   INSERT
      CALL FUNCTION 'STACK_RESET'.
      R185D-DATALOSS = SPACE.
      FOLGEAUFRUF102 = SPACE.
      PERFORM SETPAR_INIT.
    *{   INSERT         RD1K903017                                        3
    *}   INSERT
      LEAVE.
    ENDFORM.
    This program is working fine for single user but in production where no of people are creating the invoices from different places the data is not getting updated in table ZMIGO.
    sometime populating with wrong data , partial data and sometimes no updation at all.
    I have used the table locking system enqueue and dequeue FM's before n after updation but still the same
    thing is happening.
    What could be the reason.
    Looking for help very urgent any other alternate option.

    Hi,
    Go thru these..
    Enhancement
    SDVFX009 Billing doc. processing KIDONO (payment reference numbe
    SDVFX010 User exit item table for the customer lines
    SDVFX011 Userexit for the komkcv- and kompcv-structures
    V05I0001 User exits for billing index
    V05N0001 User Exits for Printing Billing Docs. using POR Procedu
    V60A0001 Customer functions in the billing document
    V60P0001 Data provision for additional fields for display in lis
    V61A0001 Customer enhancement: Pricing
    SDVFX001 User exit header line in delivery to accounting
    SDVFX002 User exit for A/R line (transfer to accounting)
    SDVFX003 User exit: Cash clearing (transfer to accounting)
    SDVFX004 User exit: G/L line (transfer to accounting)
    SDVFX008 User exit: Processing of transfer structures SD-FI
    SDVFX007 User exit: Billing plan during transfer to Accounting
    SDVFX006 User exit: Tax line (transfer to accounting)
    SDVFX005 User exit: Reserves (transfer to accounting)
    Business Add-in
    SD_CIN_LV60AU02 BADI for billing
    If it is helpful rewards points
    Regards
    Pratap.M

  • User exists for changing the selection screen of the transaction CS11

    Hi,
    I want to change the selection screen of the transaction cs11 and modify the ALV output.
    I searched the old forums but not got satisfactry results.
    I want to change the plant and material from the parameter to the select option.
    i dont want to copy the transaction for the zcs11.
    any suggestion on this ?
    Regards,
    udupi

    one more requirement i have is that, i need to remove all the header fields such as material , plant etc and place that field in the item level. i can use the user exists PCSD0002 for the adding the customer field in the item. but how can i removed the header level field such as plant and material. whether we have any user exits for that?

  • User Exist for Sales Order

    Hi All,
    When the Route changes in the Sales Order, I want to add the Forwarding agent to the Partfner function atutomatically. So I written the code in the User-Exist "userexit_check_vbap" with the following logic.
    IF sales order is creating with VA01, Add an entry
    and Changing the Sales order with VA02, modifiy an exisiting entry as follow.
    But at the time of Creating with VA01, it is sucessfully adding an entry, but
    whenever you the change Route for sales order with va02, Modify statement is working fine and showing the correct Partner function in the Partner Tab.
    If you save the document and open it again then Changed Route is sucessfully saved but not the partner function. It always having the partner function which you given at the time of creation.
    Can we write the modify statement in the "Userexist_check_vbap"
    READ TABLE xvbpa WITH KEY parvw = 'ZR'
                                posnr = xvbap-posnr.
      IF sy-subrc NE 0.
        SELECT SINGLE * FROM lfa1 INTO CORRESPONDING FIELDS OF xvbpa
            WHERE lifnr = tdlnr.
        xvbpa-mandt  = xvbap-mandt.
        xvbpa-vbeln  = xvbap-vbeln.
        xvbpa-posnr  = xvbap-posnr.
        xvbpa-fehgr  = '08'.
        xvbpa-nrart  = 'LI'.
        xvbpa-lifnr  = tdlnr.
        xvbpa-updkz  = 'I'.
        CLEAR: xvbpa-kunnr, xvbpa-stceg.
        xvbpa-parvw  = 'ZR'.
        APPEND xvbpa.
      ELSE.
        xvbpa-lifnr  = tdlnr.
        MODIFY xvbpa TRANSPORTING lifnr WHERE parvw = 'ZR'
                                          AND posnr = xvbap-posnr.
      ENDIF.
    Please suggest me , how can i solve this problem.
    Thanks and Warm Regards,
    Vijay

    I solved the problem by pass the following value
    xvbpa-updkz  = 'U'.
    It solved my problem.

Maybe you are looking for

  • Firefox freezes during various operations (scrolling, filling form fields, clicking through the options menu, etc.)

    Almost any activity in Firefox is subject to brief freezing. The freeze lasts anywhere from (approx.) 1/2 second to 3 seconds. I searched online and I came across an article stating the freezes may be due to Anti-Virus software. The work-around prese

  • Stuck at 10.4 - Cannot upgrade - Volume does not meet requirements.

    I just installed a new hard drive in my 12" Powerbook G4. I did a clean install of Tiger - 10.4 - without any problems. I formatted the drive Mac OS Extended (Journaled) with one partition. After booting and going through the setup process, I looked

  • Oo alv tree in background

    can we schedule a oo alvtree report in background. if cl_gui_alv_grid=>offline( ) is initial. CREATE OBJECT g_container_object "cl_gui_docking_container EXPORTING repid = gv_repid dynnr = '100' extension = '1500' EXCEPTIONS cntl_error = 1 cntl_system

  • Distance between zipcodes

    Want to find distance between two zipcodes that have their latitude and longitude stored in a table. The table is as follows CREATE TABLE distance (zipcode VARCHAR2, LNG NUMBER, LAT NUMBER) I couldn't come up with a calculation or understand the math

  • Portal content is not displayed with Internet Explorer

    Hi colleagues, We configured our SAP portal for anonymous user access. The first time this anonymous user accesses the portal, the content of the first page in the navigation is displayed correctly in the content area. However, if after that the user