NOTICE: Our Community is moving. Get more information. Updated information on a New Login Process
How can an Assembler Macro be mapped to a call statement in Enterprise Analyzer using Legacy.xml?
Within Enterprise Analyzer (EA) by making changes to the legacy.xml file it is possible to map macros to standard program structures. The mappings that are supported in legacy.xml are:
Defining Program Entry Points
Loading the External Name
Using an External Name in Calls
In this wiki the ‘Using an External Name in Calls’ option is to be used. As with any modifications to the legacy.xml, it is recommended that the legacy.xml that is created, is placed in the workspace directory and that the system legacy.xml is left untouched. This means that changes required for a workspace are maintained, as applying any Hot Fixes to EA can result in the system legacy.xml being altered.
The legacy.xml that appears in the workspace directory can be a cut down of the original legacy.xml and will be loaded for the specific workspace after the system legacy.xml. This does mean that different workspaces can have different customisations to the legacy.xml.
The template to be used is the calling template within the assembler tag in the legacy.xml file. To map the macro ‘routine’ to act like a call statement, the legcy.xml entry becomes:
<!--- Add a macro called routine that acts like a call -->
<!-- Parameter is the first parameter of the macro -->
<Parameter number="1" type="String" meaning="Name"/>
Attached to this wiki is an example legacy.xml, showing how the mapping of routine fits into the legacy.xml file. Note: it is possible to combine this with other legacy.xml customisations by placing the whole of the assembler tag structure into another legacy.xml.
Incident # 2692079