LTMC issue: Missing data in uploaded files if the number of warning message exceeds certain limit
In this blog post, we are going to discuss on a critical problem with the transaction LTMC. If this is not solved or identified, you may end up loading incomplete data in the system. And, there is no change functionality in LTMC yet. Hence, if the master data is loaded with partial information, we will have to find out other ways to modify the records with the missing information. As LSMW is no more supported by SAP, this is a big pain for the consultants.
As per the customer requirement, we customized the standard SAP template for Vendor Master to incorporate some additional fields as a part of data load activity. We then populated the template with the data extract from business and loaded the file in LTMC. After successful completion of the data load run, we found that almost 11K records failed because of the missing Country which is a mandatory information for creating a Business Partner. After reviewing the source upload file, we noticed that out of 11K failed records only 2 records have missing Country. But, for all other records, we have Country populated in the data extract. So, the question is – Why did the system show error that Country is missing for such a big chunk of data?
You are lucky if you have some mandatory information missing. After the load run is completed, system returns you back the error log and stops those records from being loaded. On the other hand, if you do not have any mandatory information missing because of this LTMC issue, the data will be created in the system with incomplete information. And, there is no way you can identify immediately if anything went wrong. In our case, the mandatory field Country saved us. At least, data was not loaded with incomplete information.To find out the root cause, we debugged the LTMC program. Here is what we found out:
The load template has a column Search Term 1 ** (BUT000-BU_SORT1) that has a maximum length of 20 CHARS. If the upload file contains any record that has Search Term 1 length more than 20 CHAR, the program stops copying that record and the rest of the columns ( including BU_SORT1) are not copied from the load file to the local internal table in the run time. It logs a WARNING MESSAGE in the internal error log and then the program proceeds from the next record in the XML. That is the reason we have seen mismatch in the data loaded in LTMC and the data in the source file.
How SAP program behaves in such cases:
The load file contains the following row:
The program reads the data till the column Name. When it reads the next column Search Terms 1, because of the length mismatch, the program throws the following WARNING and stores the same in the table LT_ERROR_MSG.
Class name: CL_DMC_MD_INTERPRETR_EXCEL_XML
If there are more than 1000 messages in that table, the program skips reading the current record and continues it’s processing from the next one. This continues until the table LT_ERROR_MSG has 1000 records.
** This is true not only for Search Term 1 field, but for any other field in the template.
- In our case( Search Term 1), we had to make sure the data under this column has the maximum length of 20 CHARs so that the warning messages are not generated.
- Implement the following SAP note which removes the restriction on number of warning messages.
2675039 – S/4HANA 1709 FPS02 S/4HANA 1809 FPS00 – Migration – Corrections for missing data in uploaded file if the number of warning messages exceeds 1000
Pre-checks before implementing the above Note:
2692715 – Migration Cockpit: How to correctly fill data into XML template
2481235 – SAP S/4HANA Migration Cockpit (on premise) – restrictions and extensibility of pre-delivered migration objects