Enterprise Resource Planning Blogs by Members
Gain new perspectives and knowledge about enterprise resource planning in blog posts from community members. Share your own comments and ERP insights today!
Showing results for 
Search instead for 
Did you mean: 
Active Contributor

Problem statement

Logistics invoice verification transactions like MIRO or MIR7 don't cover the entire functionality of their FI counterparts like FB60 or FB01. That is confirmed by note 904652 - MIRO: Different from FB60 that reads:
MIRO is an independent Materials Management (MM) transaction that does not claim to be the same as the accounting transactions (such as FB60 or FB01). [...]

For example, the following fields from the accounting document are not available in transaction MIRO (this list is not complete): [...]

  • Reference key (BSEG-XREF1, -XREF2, -XREF3)

The most annoying shortcoming is lack of reference keys in MIRO i.e. XREF1, XREF2, XREF3 fields.

The issue has been widely discussed on SAP Community pages and various blogs e.g.

Several solutions have been proposed. However none of them felt right to me, easy to implement and addressing the problem fully. So I've developed my own.

The ultimate solution

The solution consists of a simple ABAP enhancement that exhibits the fields on MIRO / MIR7 screen and couple of data dictionary enhancements to save the fields in a logistics invoice document and pass them to accounting documents.

Make the XREF1, XREF2, XREF3 editable in MIRO / MIR7

The following implicit enhancement at the end of MODIFY_FI_SCREEN form routine in LMR1MF6Q exhibits the fields on MIRO / MIR7 "Details" tab:
ENHANCEMENT 1  Z_MIRO_XREF3.    "active version
PERFORM modify_fi_subscreen TABLES t_acscr USING 'XREF3' 'ACTIVE' '1'.
PERFORM modify_fi_subscreen TABLES t_acscr USING 'XREF2' 'ACTIVE' '1'.
PERFORM modify_fi_subscreen TABLES t_acscr USING 'XREF1' 'ACTIVE' '1'.


My code looks as follows in the actual implementation:

Of course you don't need to include all XREF* fields if you don't need them. Adjust the enhancement to your needs.

The ABAP code enhancement gives you the access to the fields. However you'll notice that only XREF3 will be saved to the logistics invoice document and then transferred to the accounting documents. Changes to XREF1 and XREF2 are not saved yet.

If you are only concerned about XREF3 field, you should skip the "Data dictionary enhancements" section and go directly to the "Summary".

Data dictionary enhancements

To take over changes of XREF1 and XREF2, we need couple data dictionary enhancements. All of them are implemented with append structure technique.

Notice that you will get a warning during append structures activation as we are adding the fields without ZZ prefix. That is done on purpose!

Table RBKP enhancement

Create append structure to RBKP table with XREF1 and XREF2 fields:


Your RBKP table should look like this:


Structure ACMM_VENDOR_COMP enhancement

Create append structure to ACMM_VENDOR_COMP structure with XREF1 and XREF2 fields:


Your ACMM_VENDOR_COMP structure should look like this:


View RBKP_V enhancement

Create append structure to RBKP_V view with XREF1 and XREF2 fields:


Your RBKP_V view should look like this:



With the enhancements implemented XREF1, XREF2, XREF3 fields are editable in MIRO and MIR7 transactions:


The fields' values are saved with the logistics invoice document when its hold, parked or saved and they are transferred to the accounting documents:


Be aware that XREF3 is used in several SAP standard functions. Therefore be cautious before making XREF3 directly editable and consider relevant SAP support notes.
Active Participant
Thank you for sharing the this brief but very descriptive solution to adding extra fields to the MIRO transaction.


Dan Goodhart
Active Contributor
Thanks for sharing its very useful content...
Active Participant
Hi Dominik, thank you for a very good and useful blog! I loved your blogs. I think that SAP should implement your solution as a standard e.g. within the SAP customer influence project. Good job! I must share your solution to the SAP support team in my company:)

Thank you!
such a nice blog and so much information I got through your blog, thanks for sharing!!!
0 Kudos
Hi Dominik,

I have a scenario where in T/Code MIR7, before the user click on Stimulate option system has to validated Ref. key 3 should not be initial.

I see the REF KEY3 field is available in RKBP table and the ref when I check from MIR7 using F1 is INVFO-XREF3.

Please suggest on where to implement this validation..
0 Kudos
Hi Dominik,

In MIR7 transaction XREF1 & XREF2 fields are invisible after when i given the po number in line item and click on enter.

please suggest the solution for this problem.
Active Contributor
0 Kudos
Have you implemented all the enhancement described in the blog article above?
0 Kudos
Yes all Enhancements are implemented. please refer to the screen shot.

Active Contributor
0 Kudos
The XREF1, XREF2, XREF3 fields are made visible and editable on the "Details" tab by the following enhancement:

Is it implemented in your system?
0 Kudos
Implemented as blog content.

0 Kudos
yes implemented in my system please refer attachment.

0 Kudos

In case the XREF fields disapear, check Field variant customizing T004F. It will overwrite the visibility for certain status groups eg. after entering a PO-number.  



Labels in this area