Understanding SQR Invoice Structure

The delivered SQR invoice programs can produce invoices using several different layouts in the same run. The process selects a group of qualifying bills, then processes each invoice according to its particular formatting requirements. As the process proceeds from one invoice to another, the layout may change, causing the process to apply different print routines to achieve the desired output.

Within the primary common routine BIIVCSQR, all references to printing activities use generalized procedure names. An additional member that is included in each printing program redirects the processing to the procedure that is appropriate to this layout.

For example, consider the printing of the invoice line. Within the common processing module BIIVCSQR, the program performs a procedure that is called WRITE-INVOICE-LINE. This routine performs another procedure that is called PRINT-LAYOUT-INVOICE-LINE. The PRINT-LAYOUT-INVOICE-LINE procedure is the generalized procedure reference in the previous paragraph.

Generalized procedures are located in a special member, the only purpose of which is to direct the program from the generalized function that is requested to the specific routine for this layout. The special members that are used for this purpose are BIEVALP for portrait invoices and BIEVALL for landscape invoices.

In the BIEVALP member, the PRINT-LAYOUT-INVOICE-LINE member contains an Evaluate statement that directs the program to run one of several routines based on the layout that is designated for the current invoice ($InvoiceLayout). If no matching condition is found, the program runs a default routine. This is useful if the layouts are similar but have varying conditions, such as the contents and arrangement of the line details.

The routines that are referenced in the Evaluate logic are contained in a collection of print routine members. The sample programs include a set of these members for each of the layouts that is supported.

The members for the miscellaneous and federal invoice formats from BIIVCPN, BIIVCLN and BISF108X are:

Term

Definition

BIFUL* members

Contain the procedures for printing full-size invoice headings and line headings.

BISUB* members

Contain the procedures for printing the common portion of the invoice heading that is used by invoice and summary pages.

BIABB* members

Contain the procedure for printing an abbreviated invoice heading on secondary pages.

BIPRT* members

Contain the procedures for printing detailed lines and totals.

BIPRS* members

Contain the procedures for printing the invoice summary page.

The members for the Grants invoice formats from BIGIVCPN are:

Term

Definition

BIGFL* members

Contain the procedures for printing full-size invoice headings and line headings.

BIGSB* members

Contain the procedures for printing the common portion of the invoice heading that the invoice and summary pages use.

BIGABB* members

Contain the procedure for printing an abbreviated invoice heading on secondary pages.

BIGPRT* members

Contain the procedures for printing detailed lines and totals.

BIGPRS* members

Contain the procedures for printing the invoice summary page.

Note: If you also use the PeopleSoft eBill Payment application, review the code in BI_SS_WRK.INVOICE_PB.FieldFormula after adding new invoice forms or invoice layouts to determine whether it needs modification to support the changes. The code in BI_SS_WRK.INVOICE_PB.FieldFormula supports functionality in PeopleSoft eBill Payment that enables your customers to request invoice copies to be sent to them by email.