Appending MARA (adding custom fields)
I started writing this blog (working title: „Appending tables in S/4HANA – easy! (or is it?)”) with the intention to shown (and try out) how under S/4HANA 1511 appending the tables MARA and MARC with customer fields show different levels of complexity. (Hint: MARA is the easy one!)
Then I noticed, that the first part of that (adding fields to MARA), might actually be worth a blog post on it’s own.
So while I have done the example under S/4HANA 1511 FPS02, I think it can be easily applied to Business Suite (on anyDB) as well.
I’m writing this in a “matter-of-fact”-style, but I’m actually hoping on some corrections, questioning of the reasons I take certain steps or criticism from the experts!
One last thing to note:
I chose not to over-simplify, imagining there is just SAP and the (End-)customer. Rather, I took the position of the IT of a large organization, rolling out it’s enhancements into different sub-organizations and therefore using their own Namespace (“/SOMETHING/”). Or a SAP-partner, who has similar things to consider (appends you create might have to be appended themselfs in another system/another organistaion, software logistics and so on).
So let’s start:
2. Appending MARA
We want some extra fields in MARA, so what we do is this:
SE11, MARA, Navigate to EMARA (the “Data Division” of MARA).
Click Append Structure and New Append.
- Create the append
- In that, create an include (it needs to have some field in it, that’s why you need a dummy field)
- Now, in that include you can add appends for the different products you have (don’t have different products yet? Well, maybe you will in the future?!).
- In those “2nd level”-Appends, finally add the fields you need.
- Set the enhancement category for all those appends/includes (I’m using the same one as EMARA has).
And this is how our MARA looks like now:
(Please note that I was sloppy with the two fields for this example: of course usually you would use data elements specifically created for this purpose.)
Seems like a lot of effort, just for adding 2 fields on a SAP-Standard table, but as it is ever so often: investing some time to do things right™ at the start might save time and hassle during the whole lifetime of the extension.
Things to note:
- Use the right namespace, not only for the appends and includes, but also for the filed names!
-> note how I did not call the filed SOME_FLAG but /MYNAMESPACE/SOME_FLAG; SOME_FLAG is in SAPs namespace, so they might ship a filed with that name in the future.
- Don’t append MARA directly, but append EMARA instead. Honestly I don’t have a real good explanation here: someone told me once this is the right thing to do, and it made sense to me. I think it hast to do with EMARA being part of [something] (BAPIS? IDOCS?…), where MARA is not, and we want our fields to be available in [that something] as well.
As stated initially, I’m hoping for some comments and criticism!
Tbh, i have never realised it that MARA contains only the key fields(MANDT, MATNR) the remaining fields are part of the data structure EMARA. Hence the suggestion to append EMARA. I think the same holds true for EMARC, EMARD et al.
Tbh, i don't see the difference between creating an APPEND structure in S/4 HANA and vanilla SAP installation. 😐
Thanks for your feedback Suhas.
I agree with you in the case of MARA and probably many other tables.
However, with MARC and other tables that have been equipped with proxy objects, additional steps are needed as laid out in SAP-Note 2242679.
Thanks Friend. nice blogs from you.