Electrical Design Software | Elecdes Design Suite by Scada Systems Ltd

Multi-line reports customisation attributes

Introduction

The multi-line templates ( e.g. template_BOM_ML.dbf, template_BSUM_ML.dbf and template_BOMSA_ML.dbf ) contain a set of customisation attributes to configure the format for the multi-line materials reports. These attributes are listed in the column ML_ATTS ( multi-line attributes ), which is the first column of every template file. ML_ATTS is not reported in the generated multi-line reports.

Any row in the template that has nothing in the ML_ATTS column will be ignored; it will have no effect on the format or content of the generated report.

Data for the multi-line materials reports is obtained from the standard materials reports.

Customisation attributes

The following customisation attributes are available for formatting the multi-line reports:

#HEADER

The #HEADER attribute allows you to put a header on the top of each generated multi-line report file. If you put #HEADER in the ML_ATTS field, then the text appearing in all the columns next to ML_ATTS will appear in the first record of each of the multi-line reports. To stop the header from appearing in the reports, remove the record containing #HEADER from the template file.

#GROUPBY

The #GROUPBY attribute allows you to group the information appearing in the generated report, e.g. you can group by CATNO and PNLNO by putting those column names in the fields next to the #GROUPBY attribute ( as shown in figure below ) then all the components with same CATNO and PNLNO will be grouped and displayed in consecutive records in the generated report.

The #MAIN block will appear once for each group whereas one #SUB block will appear for each item within the group.

#MAIN

The #MAIN attribute allows you to fetch the data from the BOM that is common to all of the components in the group ( as defined by #GROUPBY ). The values are fetched from the first record ( of the appropriate standard materials report ) in the current group. You can choose to fetch any number of column values for the main block and arrange them into multiple lines. While generating multi-line reports Ebase will fetch the values of these columns and put them at their respective position. The figure below shows an example of #MAIN entry being used to fetch DESC_1, DESC_3 and DESC_4.

Ebase will fetch DESC_1, DESC_3 and DESC_4 from the BOM and put them in column 3 in the multi-line report.

The figure below shows the output ( note that in the example there are more than three DESC_n fields fetched ).

GROUP_SUBTOTAL

GROUP_SUBTOTAL is designed to work for BOM and BOMSA multi-line reports for calculating the total quantity of components belonging to a certain group. When you put GROUP_SUBTOTAL in your #MAIN attribute, Ebase puts the total quantity of #SUB components inside the #MAIN entry of your generated multi-line reports. For putting the GROUP_SUBTOTAL inside your multi-line reports, #GROUPBY must be enabled in your template files. Users should put the GROUP_SUBTOTAL tag in the QUANT column of the Multi-line report templates.

#SUB

The #SUB attribute allows you to fetch the data from BOM for each individual component belonging to the group ( as defined by #GROUPBY ). While generating multi-line reports, Ebase will fetch the values of these columns and put them at their respective position. The figure below shows an example of #SUB entry being used to fetch TAGNAME, VISDESC, PRICE and REFERENCE from the BOM report and put them in 2nd, 3rd, 6th and 7th column of the multi-line report respectively.

#FIRSTITEMINDEX

The #FIRSTITEMINDEX attribute allows you to choose the first item index to be used for the components appearing in generated multi-line reports, e.g. you can specify "001" or "A1" as your first record number. Ebase will start from the #FIRSTITEMINDEX and increment it alphanumerically for each reported component. If you omit #FIRSTITEMINDEX then the numbering will start at "1".

Displaying item number

The item number will appear in the ITEM column on each entry produced for a #MAIN or #SUB attribute. You can choose to display the item number in #MAIN or #SUB entries by putting the word ITEM in one of your of #MAIN or #SUB entries. The item number will not be displayed in the reports if the word ITEM is not specified in either of #MAIN or #SUB. See the figure below for the ITEM entry.

#LPP

The #LPP attribute allows you to specify how many lines a page should contain. Ebase will automatically create a new page ( i.e. a file with the next page as a part of the file name ) if the number of records exceeds the lines per page.

If you omit the #LPP attribute then you will get one file per panel, if you use #PANELFILTER. If you omit both #PANELFILTER and #LPP, then the entire multi-line report will be contained in one file.

#FILTER

The #FILTER attribute allows you to enable filtering of the records based on the criteria specified in #FILTER, e.g. if you want to omit components that have MFG of GENERAL in the report, then put MFG <> GENERAL ( i.e. MFG, a space, the operator, a space, then GENERAL ). Ebase will check each record's MFG value and will report only those records where manufacturer is not GENERAL.

You can move multiple filter criteria either by entering the filters in across the columns of the one #FILTER record, or you can add more than one record with the #FILTER attribute.

The following operators can be used for filtering the records:

OperatorOperation
<Less than
>Greater than
<=Less than and equal to
>=Greater than and equal to
<>Not equal to
=Equal to

#PANELFILTER

The #PANELFILTER attribute allows you to create a separate file for each panel by specifying #PANELFILTER anywhere in the template file. If #PANELFILTER is specified then separate multi-line report files will be the generated for each panel in your project. Each report file will have the panel number as a part of its name and all of the records in that report file will belong to that panel.

If you do not specify the #PANELFILTER in the template file then the report file will contain records from any panel and the file name will no longer contain the name of the panel. If you omit both #PANELFILTER and #LPP, then the entire mutli-line report will be contained in one file.

#SORTASC

The #SORTASC attribute allows you to specify the columns to be used for sorting the generated report file in ascending order. Sort ascending can be enabled by putting the names of the BOM columns you wish to sort in the columns next to #SORTASC attribute in the template file.

#SORTDESC

The #SORTDESC attribute allows you to specify the columns to be used for sorting the generated report file in descending order. Sort descending can be enabled by putting the names of the BOM columns you wish to sort in the columns next to #SORTDESC attribute in the template file.

#FOOTER

The #FOOTER attribute allows you to put a footer at the end of each generated multi-line report file. If you put #FOOTER in the ML_ATTS field, then the text appearing in all the columns next to ML_ATTS will appear at the end of generated multi-line reports. Ebase will put the values appearing in the fields following the #FOOTER attribute in the last row of each multi-line report file. To show a page number in the footer of each page, you can put PAGE, a space, then #, a space, then PAGENUM. To stop the footer  from appearing in the reports, remove the record containing #FOOTER from the template file.

#ELIMINATETOPBLANKLINES

The #ELIMINATETOPBLANKLINES attribute allows you to remove the blank lines from the top of each generated multi-line report file. If you put #ELIMINATETOPBLANKLINES in the ML_ATTS field, then the new entries on newly created page will start from the first available record (i.e. after the header record).

Adding blank lines to your reports

Multi-line templates contain a set of customisation attributes for adding blank lines to specific position in the report. You can change the default values of these attributes for modifying the generated multi-line reports e.g. setting the #BLANKLINESBEFOREMAIN value to 2 will add 2 lines before each main component.

AttributeFunctionDefault value
#BLANKLINESBEFOREHEADERNumber of lines you want to add before header of each report.0
#BLANKLINESAFTERHEADERNumber of lines you want to add after header of each report.0
#BLANKLINESBEFOREMAINNumber of lines you want to add before every main block appearing in the report.1
#BLANKLINESAFTERMAINNumber of lines you want to add after every main block appearing in the report.0
#BLANKLINESBEFORESUBNumber of lines you want to add before every sub block appearing in the report.0
#BLANKLINESAFTERSUBNumber of lines you want to add before every sub block appearing in the report.1
#BLANKLINESBEFOREFOOTERNumber of lines you want to add before footer of each report.1
#BLANKLINESAFTERFOOTERNumber of lines you want to add before footer of each report.0