The Enterprise Output Manager wizard adds a report in the selected position in your project. The Enterprise Output Manager report contains the following objects:
Note: You can have multiple row fields in the footer, but not in the header frame. Multiple column fields used without multiple row fields, however, are not put in the detail frame.
Main method
This method contains the logic to loop over and select all attributes in the selected persistant object. Each attribute is printed using the Attributes read from the DFF.
If keys were selected in the wizard, a break is included in the loop logic to print the header and footer whenever the key changes.
If no persistent object is select a simple loop is added, to be modified manually.
Attribute for the selected persistent object
An attribute is created for the selected persistant object. The object inherits from the selected persistent object. The name of this object is <SelectedObjectName_instance>. If <NONE> was selected, this attribute is not created.
Control frame
This frame is used to supply report information to Enterprise Output Manager. It is printed at the start of a report.
Details frame
This frame is the central table area of the form file.
The detail area is defined by the first field that has more than one row. The Enterprise Output Manager wizard uses the first multiple row field on the page and adds all other fields with the same number of rows to make up a table.
All the fields above the table are put in the header frame and all fields below the table are put in the footer frame. However, if your report has more than one table, you need to enhance the report structure manually.
Header frame
This frame tells Enterprise Output Manager to start a new page, and what form file to use. It contains all the fields above the table contained in the Details frame.
The header frame is created even if there are no form file fields in it.
Footer frame
This frame contains those fields that come after the table contained in the details frame.
The footer frame is created even if there are no form file fields in it.
Labels on the Frames
For each field in the DFF, two labels are painted on a frame. The first is the name of the DFF field. On the same line is a label for the attribute to be displayed. If the Data Item Reference for the field matches an attribute in the model, the label references this attribute. If not, an attribute is created in the frame and the label references this attribute.
If the Attribute Reference is a qualified name, this is used to find the attribute in the model. If it is not qualified and an attribute of that name is in the Selected Persistent Object, the label refers to that attribute.
Attributes in frames
When Attribute Reference and Same.As Reference values are defined for a field in the form file, an attribute is created in the frame to which they belong in Developer if the Attribute Reference does not match an attribute in the model.
The attribute is created with the following properties:
Name – based on the entry in the Attribute Reference field.
Primitive – assigned String.
Length – calculated on the size of the field and the specified font.
Inherits – based on the entry in the SAME.AS Reference field.
All other properties for the attribute are set to their default settings.
The following rules apply to assigning attribute properties:
If the name of the attribute is the same as an existing type, it is used to define the attribute.
If the name of the attribute is qualified (for example, CUST.NAM where NAM is the attribute and CUST is the ispec it belongs to) and matches either an existing attribute in an ispec or an existing type, then all details except length are taken from the existing attrtibute. The length is calculated based on the size of the field and the specified font.
If a valid attribute is specified in the the SAME.AS Reference field, then details are taken from that attribute.
If a qualified name does not exist, or the field name is not a valid Developer name, an attribute is not created. A message is written to the logic method generated for the frame. This is a comment in the logic and indicates the problem with creating the attribute.