Skip to Content

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.

Helpful Links:

https://open.sap.com/courses/s4h8

https://blogs.sap.com/2018/01/07/sap-s4hana-migration-cockpit-step-by-step-process/

https://blogs.sap.com/2017/02/28/getting-started-with-the-s4hana-migration-cockpit-onpremise/   The interactive Demo was helpfull

To report this post you need to login first.

4 Comments

You must be Logged on to comment or reply to a post.

  1. Dharshan A

    Hi Michelle,

    I am glad that you are trying out the S/4 Migration cockpit and sharing the experience with the SAP community.

    Regarding the “Stumbling Bumbling point 4” where you faced an ABAP dump, it is always better to use separate projects for different clients. So the better way should be :

    1. Create a new project in the data load client .
    2. In LTMOM, copy the object from project created in DEV client to the new project in data load client. This should be done in data load client

    You can delete the object if it does not pass the testing, work on development in DEV client and then repeat the above mentioned steps.

    Regarding the excel with only issue records, atleast standard objects provide a “Delta” file after “Import” step with records which were not uploaded to system successfully. so you can download the new file with only error prone records and work on it. Maybe worth trying in a higher version of S/4 Migration cockpit?!

    Thanks and Regards,

    Dharshan A

     

    (1) 
    1. Michelle Crapo Post author

      Learning, I am forever learning.   It makes sense to have a different project for different clients.  I guess I’m too used to working with ABAP that isn’t client dependent.   Great solution.

      Excel only issue records – it does provide a delta.  I haven’t found a way to download it.  I’ll have to really start looking for that.

      I’m using this tool on 1709.  There might be something better?  A note I missed.

      Thank you so much for your reply.

      Michelle

      (0) 
  2. Dharshan A

    Hi Michelle,

    The delta file creation ( new file based on only failed records ) should already be available in 1709 initial stack.  Try with standard objects for example to get a feeling of how it works. If you are still failing to see the functionality , then please raise a message if you have issues.

    Check the note 2596532.

    Thanks and Regards,

    Dharshan A

    (1) 

Leave a Reply