In this blog, I would like to present some ways of comparing DME Trees, Validations / Substitutions / CO Templates (CPT3) etc. Normally before moving these kinds of changes to Production Client, a lot of precaution is required. Care should be taken to ensure that some existing values in Production Client are not overwritten by values from Development Client or Quality Client to avoid serious inconsistencies. At other times, we may also be required to compare the values between different Client’s for certain audit purposes. In addition, I shall touch upon the document relationship features in standard SAP.
A little more preamble would help understand the sensitivity behind the Client comparisons. Here we restrict the comparison to FI/CO/AA/PC Validations / Substitutions and DME Trees. As we know, the maintenance of landscape varies from Client to Client and so also the controls exercised could vary. In some cases, it is possible changes are allowed directly in Production Client through Firefighter ID or otherwise. (what is FIRE FIGHTER ID) | SAP Community). In other cases, it is possible that all changes are allowed only through Transports to Production. In some other cases owing to urgency both types could be followed. Net result is that the chances of Production Client not being in Sync with Quality or Development are possible thus resulting in overwriting of table values; at times this could be quite serious. Therefore, comparison of DME Tree values or the Validation / Substitution is very essential prior to moving the Transports across landscapes. As for the disclaimer part, this could help in some cases and not in all scenarios and the details shared here are just for knowledge sharing purposes only.
Now before moving into the specifics of above objects’ comparison, I would like to give a quick overview of some standard features available in SAP. We have two functionalities namely ‘Adjust’ and ‘Compare’. In the case of Compare, only the values between two clients are displayed along with the line items, as it is, irrespective of any differences or not. In the case of ‘Adjust’, it is also possible to sync two Clients by updating the Comparison Client with that of the login Client.
Below are some screen prints, especially for those who are not familiar with such functionality. This utility tool is available in quite a number of config screens and users can check out wherever this is available. Transaction OBBH has “Comparison” and OB52 has “Adjust” features available respectively.
Some of the screens that appear in this process are given and the features can be explored further by individual Users.
In the case of OBB8 for example, if you click on the ‘Compare’ option, the below window opens up to help connect to another Client. The comparison steps can be followed and we have a choice to even select the required fields.
Care should be taken that any test is only carried out in a sandbox or playground environment till one gets familiar. Transactions SCU0 and OY19 are also related to Client comparison. Giving a link to a blog that gives a very good insight. Blog Link1.
Our focus, however, will now be on items that do not have these type of standard comparison features like in the case of DME trees or Validations / Substitutions etc. Here we must find our own ways to compare the details between two client’s and we shall go through one by one.
In Transaction DMEE, select the required Tree and download as XML file (Path: Format Tree > Download XML file). In the pop up choose “Active” (or ‘Maintenance’ as the case may be) and in the next window give the download file path as shown in the sample screen. Repeat the same steps in other client (Quality/Production etc) and get the XML downloads from both Clients.
There are free tools available in the net where the comparison can be made with these two XML downloads. Based on the differences noticed in the comparison tool, necessary adjustments can be made to the tree prior to moving the Transport. The other way is to copy and paste XML file into Excel and compare the two downloads (say from Development and Quality or Production). Most Browsers help to copy XML structure as it is into Excel. A line by line comparison can be done using the ‘True/False’ statement (=A1=B1) or even a simple ‘VLOOKUP’ to find out the differences, if any, between the two trees. The below illustration is just a sample for reference.
In the case of Validation / Substitution, I found an interesting blog that also gives the required ABAP Code to generate a custom program and make a comparison between Clients. Blog Link 2.
While that is one option, I use another one similar to the DME comparison. Here, we need to download the required Validation or substitution (specific to one Validation at a time) as a text file from both the Clients. Normally each Company is assigned with one Validation or a group of companies have the same Validation or Substitution.
Double click on Validation to reach the next level.
After the following Print steps 1 and 2, as shown below, the file can be saved in an unconverted text form. You would notice in the overview all the steps are available making comparison easy.
After both the downloads are saved as text files, these can be copied into an Excel and comparison made either using the ‘True / False ’ or ‘VLOOKUP’ method as before. This would help highlight discrepancies if any. After copying the text file contents to Excel, the unwanted items like border etc., could be removed to make the contents look compact. In the Excel file , you can also shift the rows wherever required while comparing two tables.
CPT3 / CO templates:
This is also almost similar to Validation / Substitution and the data download navigation path is given below for ready reference. First, set the Controlling Area in OKKS and go to Transaction CPT3. Follow Path: Environment > Hierarchy in the pull down menu.
In the following screen open the Tree and navigate to the desired node and double click on the same to get the overview details for comparison. The output can be downloaded as a text file in unconverted format and same as in earlier case, can be copied to Excel for comparison.
The excel screen is just for illustration purpose.
This blog would be helpful in Transactions like DMEE, OB28, OBBH, OKC7,OKC9,0KEL, Asset Validation etc.
We know that in SAP FI Document display (FB03), we have an option to view all the linked Accounting documents using path: Environment > Document Environment> Accounting Documents to see all Accounting Documents like CO, PC, COPA , Special Ledger etc and Environment > Document Environment> Original Document to view SD Billing or MM Invoice etc. There is another option available which gives the relationship of a given FI Document to various Finance and Logistics related transactions. Also, it is possible to view those respective documents by double clicking on the same. From an FI Document, we can navigate to ‘n’ number of related documents for any analysis. If there are IDoc’s linked to an FI Document, even those will be displayed. By expanding each node, it is possible to view Sales documents, Purchase documents, IDoc’s et al.
Similarly, from a COPA document, we can see the related objects by clicking on the “Integration” button. Each radio button option, branches off to the respective master data or document.
By choosing the “Relationship Browser” radio button, once again all the follow-on documents are available in the display like in the case of FI. A very powerful feature; possible some may not be aware.
The SAP help link given here would enable get more details. The Document relationship info can also be obtained through program “RDRBFI00”. Help Link.
Lastly, I would like to mention about a BAPI that would help get the follow-on documents for a given FI Document. With “BAPI_ACC_DOCUMENTS_RECORD”, we can get these links. There are quite a few mention in this forum about this particular BAPI and am also giving a link to a blog. Blog Link 3.
Thanks to one of Ajay’s blog as per link provided, I started looking into this BAPI. The blog is very detailed and gives a step by step guide and easy to follow. Nevertheless, I am giving the values that I passed as inputs and obtained the results in the below screens. These are slightly different from what is mentioned in the referred blog. However, am not sure if there are more than one way to fetch the results. Users can also check it out in their respective systems and if required take Developer’s help. This is really useful and can come in handy, in customized reports.
For the first table, pass on the below values.
Upon execution, we get the results as shown in the next screen. We can click the ‘Result’ button to view line item details.
All screen prints provided here with certain details masked in some cases, are just for illustration. Trust you find this helpful and your valuable comments and feedback, would always help improve the quality.