Stumbling through Data Migration with HANA Data Migration – LTMC and LTMOM
So there are way too many blogs about this. So I in my infinite wisdom decided to add one more. Crazy right?
This blog is covering some major stumbling points I had. Perhaps they are answered somewhere else. In fact I did eventually find some answers or I would’t be writing this blog.
Stumbling bumbling point 1:
The new Object
I created a new object for customer credit. Piece of cake right? First in case you didn’t know there is no longer “old” customer screens. Instead everything is together in one screen. Transaction BP or Create / Maintain / Display business partner. No big deal just a different layout. At this point I had no idea why SAP didn’t add customer credit to the customer object. Seems easy enough.
So I created a function module. It simply added the credit information. I used the SAP function module UKM_DB_UKMBP_CMS_EXECUTE. Yes it wasn’t released and it wasn’t remote enabled. I fixed it easy enough by wrapping a Z FM around it. I tested it. Success! It worked. Um. The Z function module worked.
Stumbling bumbling point 2:
Moving on LTMC
Tried it in LTMC – nope didn’t work there. Why? The customers didn’t have the “credit role”. I picked the wrong customer to test with. OK – so I added the BAPI, BAPI_BUPA_ROLE_EXIST_CHECK_2 and BAPI_BUPA_ROLE_ADD_2. This time I caught the issue while testing. The timing wasn’t working. I was running the execute function module before the role was finished creating. No big deal I created another new object for adding the role that would be ran first.
You guessed it, I tested everything in the function module. Yes! Everything worked.
Stumbling bumbling point 3:
Run in LTMC
So now to run it. Ran it in LTMC. Nothing worked. Not the role creation and then of course the credit object didn’t work. Why? Well after some work, debug does NOT work well with LTMC. I found out that the LTMC system did not automatically convert my numeric customers with the leading zeros.
Debug in the backgroud – to the very first time the new object is created.
Nice to know. So I fixed it. I ran it in LTMC and IT WORKED.
So my data was loading without issue. It was dependent on the customer load, and some other master data. But that was to be expected.
Stumbling Bumbling point 4
Instead of development client – on to the data load client
Now I moved to our data client. I successfully ran LTMC. YES! Again I thought I was done. But then I looked. No data there. Are you kidding me?
I finally after some searches, frustration and walking around trying to think of what could have happened, I looked at the short-dumps. There it was the program had short dumped. The error went something like this: “Function module xyz not found”.
What!? It worked fine in the different client. <Sigh>. Well after some more struggling, I figured out that I needed to generate the object in each different client I used. At a guess, the function module is not automatically generated. The LTMC object is generated. In other words, the object is still looking for the old function module. The generated function module is in the $TMP package.
So this note would probably have helped. We are too far along the process to delete data migrations. So we will just regenerate in each client. I did not use that note.
Stumbling Bumbling Done – I hope
Data has migrated from our spreadsheet.
A thing to note:
I could not find a way to download the error Excel file. So if it is an easy conversion fix, not a problem. If it is a configuration fix, not a problem. If there is something wrong with the Excel file on only certain records – that’s a problem. Also couldn’t find a way to delete all the records just loaded by the LTMC program. So I archived them. It took a bit to set up the archive object.
Also I was using this for “on-premise”.
Help to all of us if you’ve used this tool:
Please add anything else you had an issue with. Also if you solved some of the things in the “note” or something above. Please add that as well.
https://blogs.sap.com/2017/02/28/getting-started-with-the-s4hana-migration-cockpit-onpremise/ The interactive Demo was helpfull