'Z' objects in SAP R/3, HL7, J.D. Edwards
Among the ERPs our Java CAPS customers use are SAP and J.D.Edwards(JDE). So, I know for years that both ERPs have so called 'Z objects'. e.g.) Z table, Z events. Then, I recently learned that there's 'Z-segments' in HL7 standard as well, which our Java CAPS product is also good at handling.
So, today, I googled to know who started to use letter 'Z', whether SAP or JDE borrowed the idea from another...
I came to the understandings below what 'Z' means in each.
While I couldn't find the answer as to who started to use letter 'Z', I think this started in mainframe era where there was no liberty of creating directories and when files are only sorted on alphabetical order. I found a trace here.
Customizing the IMS Environment
So, today, I googled to know who started to use letter 'Z', whether SAP or JDE borrowed the idea from another...
I came to the understandings below what 'Z' means in each.
- SAP R/3
'Z' is a namespace for user-developed, as opposed to system(SAP R/3) provided, stuffs.
Yes, it is just 1 byte "Z". It is not necessary to follow it by a delimeter like '.' or '/', etc.
Although in real world, I saw SAP developers using '_' as a delimeter to name things,
e.g.) Z_BAPI_ACCOUNT_ADD .
There's even a company who decided to name themselves Z*. - J.D. Edwards
Unlike SAP, 'Z'* in JDE is system provided. And unlike SAP, 'Z' appears toward the end of object names, like 'F4311Z1'. "Z table" is kind of temporary area where data is loaded before they are batched into production table,
ala Oracle Application's open interface table.
Discussions abount Z-* on it.toolbox.com. - HL7
What Are Z Segments?it is the “catch all” for data that does not fit into the HL7 Standard message definitions
While I couldn't find the answer as to who started to use letter 'Z', I think this started in mainframe era where there was no liberty of creating directories and when files are only sorted on alphabetical order. I found a trace here.
Customizing the IMS Environment
These customization jobs copy the load modules that contain your exit routines from your load library to the CYN.SCYNAUT3 library, and rename them by replacing the first letter "D" with the letter "Z".