Creating New BI Publisher Invoices
The process of creating new invoice reports is dependant on how extensive the changes are. If only a change in format is required, and additional fields are not required, then you can modify the delivered templates, or you can make a copy of the delivered templates and make changes to the copied version. Alternatively, you can create a new template from scratch.
Page Name |
Definition Name |
Usage |
---|---|---|
PSXPDATASRC |
Define how the XML data is provided to PeopleTools. |
|
Report Definition - Definition |
PSXPRPTDEFN |
Associate the XML data source to the report template. |
Report Definition - Template |
PSXPRPTTMPL |
Associate the template to the report name. Multiple templates can be associated with one report. |
Report Definition - Output |
PSXPRPTOUT |
Select the format types that are presented when the user runs the report. |
Report Definition - Security |
PSXPRPTSEC |
Define the users who can view web-posted output in the Report Manager repository. |
Report Definition - Bursting |
PSXPRPTBURST |
Define report bursting parameters, which allows the report output to be split into separate files based on a field in the XML file. For example, if you want a separate output file created for each invoice, then you can burst by invoice number. PeopleSoft delivers the burst value (BURST_VAL) field already populated in the XML file that can be used for bursting by invoice. |
Use the Data Source page (PSXPDATASRC) to define how the XML data is provided to PeopleTools.
Navigation:
This example illustrates the fields and controls on the Data Source page.
![Data Source page](img/i-72fe8c86n-7df2.png)
Create a new data source if you want to use a different source for building your XML data file than the data source that is delivered. For example, if you want to generate your XML data by using a RowSet instead of an XML file. To do this will require customizations to the delivered batch programs.
See the product documentation for PeopleTools: BI Publisher for PeopleSoft
Create new templates, or modify the delivered templates, by using standard desktop applications such as Microsoft Word, Microsoft Excel, or Adobe Acrobat. Oracles BI Publisher Template Builder can be downloaded to assist you in creating and modifying templates. In addition, the delivered sample XML data file can be downloaded from the Data Source to assist in building and testing your templates. The template builder plug-in can be downloaded from within the PeopleSoft application by navigating to
After creating a new template, use the Report Definition component to upload the template. You can create a new report definition and upload your template, or you can use the delivered report definitions. If you use the delivered report definitions, use the Report Definition - Template page to indicate that the new template is the default template.
If you create a new report definition, then you must create a new Application Engine program to produce your invoices in batch. The Application Engine program must have the same name as the report definition.
If you use the delivered report definition, then there is no need to create a new Application Engine program.
Two file layouts are delivered: BI_EXTRCT and BI_EXTRCT_CONS. These file layouts determine what invoice data is included in the XML file. The file layouts are based on the Extract tables that are used for printing invoices. The Extract tables consist of many tables and many fields. The file layout includes a subset of these tables and fields. If the file layout does not include fields that needs to be printed on your invoice, then you can create a new file layout or modify a delivered file layout.
To modify a file layout:
Use Application Designer to view the file layout
Add or remove tables or fields.
To add additional records, they must be added in the appropriate hierarchical order, which is demonstrated in this table:
Adding Records in Hierarchical Order
When adding records to a file layout, they should be added in this hierarchical order.
For example, when adding records to BI_EXTRCT, they should be added in this order:
Level 0 |
Level 1 |
Level 2 |
Level 3 |
---|---|---|---|
BI_EXTRCT |
|||
BI_EXT_HRD_NOTE |
|||
BI_EXT_SHIP_TO |
|||
BI_EXT_INST_SEC |
|||
BI_EXT_INST_SUM |
|||
BI_EXTRCT_PAY |
|||
BI_EXT_SUM_GPHR |
|||
BI_EXT_SUM_NT |
|||
BI_EXT_SUM_IVC |
|||
BI_EXT_SUM_LNNT |
|||
BI_EXTRCT_LINE |
|||
BI_EXTRCT_PROJ |
|||
BI_EXTRCT_CONTR |
|||
BI_EXTRCT_UTL |
|||
BI_EXTRCT_TAX |
|||
BI_EXTRCT_TXDTL |
|||
BI_EXTRCT_VAT |
|||
BI_EXT_LIN_NOTE |
|||
BI_EXT_EXSDTL |
When adding records to BI_EXT_CONS, they should be added in this order:
Level 0 |
Level 1 |
Level 2 |
Level 3 |
Level 4 |
---|---|---|---|---|
BI_EXT_CONS_VW |
||||
BI_EXTRCT |
||||
BI_EXT_HRD_NOTE |
||||
BI_EXT_SHIP_TO |
||||
BI_EXT_INST_SEC |
||||
BI_EXT_INST_SUM |
||||
BI_EXTRCT_PAY |
||||
BI_EXT_SUM_GPHR |
||||
BI_EXT_SUM_NT |
||||
BI_EXT_SUM_IVC |
||||
BI_EXT_SUM_LNNT |
||||
BI_EXTRCT_LINE |
||||
BI_EXTRCT_PROJ |
||||
BI_EXTRCT_CONTR |
||||
BI_EXTRCT_UTL |
||||
BI_EXTRCT_TAX |
||||
BI_EXTRCT_TXDTL |
||||
BI_EXTRCT_VAT |
||||
BI_EXT_LIN_NOTE |
||||
BI_EXT_EXSDTL |
Creating a New File Layout
To create a new file layout, the file layout must be referenced in the Application Engine program:
Section BI_PRNXPN01.Init.InitVar.PeopleCode for non-consolidated
Section BI_PRNXPC01.Init.InitVar.PeopleCode for consolidated.
The code is similar to:
/* Initialize Variables for the Report */
BI_XMLP_AET.FLDDEFNNAME = "BI_EXTRCT";
/* File Layout Name */
BI_XMLP_AET.CONSOLIATED = "N";
/* Non-consolidated */
BI_XMLP_AET.REPORT_DEFN_ID = "BI_PRNXPN01";
/* XMLP Report Definition - must be same name as AE program*/
BI_XMLP_AET.TMPLDEFN_ID = " ";
/* Report Template - Blank means use default template */
Note: The first line of the code specifies the file layout to use.
If Date Type fields are added to the file layout, ensure that the format specified in the file layout is in canonical format (YYYY-MM-DD). This ensures that the date format is translatable for all locales.
Note: The information here must be changed to operate in your customized environment and on your particular database platform. You may also be required to amend these guidelines based on business rules and procedures in your organization. Ensure to thoroughly test these changes in your own test environment before using on your live data.
You should be able to use the delivered Application Engine programs, such as BI_PRNXPN01 or BI_PRNXPC01. However, if you created a new report definition, then you must create a new Application Engine program. This is necessary because both the report definition and the Application Engine program must have the same name.
To create a new Application Engine program.
Select one of the delivered Application Engine programs.
Select 'Save As', and enter the same name as the report definition that you created.
Modify only the initializations performed in the Init.InitVar.PeopleCode section.
The code is similar to:
/* Initialize Variables for the Report */
BI_XMLP_AET.FLDDEFNNAME = "BI_EXTRCT";
/* File Layout Name */
BI_XMLP_AET.CONSOLIATED = "N";
/* Non-consolidated */
BI_XMLP_AET.REPORT_DEFN_ID = "BI_PRNXPN01";
/* XMLP Report Definition - must be same name as AE program*/
BI_XMLP_AET.TMPLDEFN_ID = " ";
/* Report Template - Blank means use default template */
BI_XMLP_AET.ACCEPTGIRO_IND = "Y";
BI_XMLP_AET.SUM_IVC_PRINT_OPT = "SUM";
Note: The line of the code that specifies the name of the Report Definition is the line that needs to be changed to reference the new Report Definition.
Note: The information here must be changed to operate in your customized environment and on your particular database platform. You may also need to amend these guidelines based on business rules and procedures in your organization. Be sure to thoroughly test these changes in your own test environment before using on your live data.
A new Application Engine program must be defined in the PeopleTools, Process Scheduler, Processes component. It must be defined with a Process Type of BI Publisher, not Application Engine, and the Process name must be same name as the Application Engine program.
Note: The Billing Extract program (BI_IVCEXT) must run successfully before the BI Publisher invoice batch print programs run. Therefore, if you add the BI Publisher processes to a new or an existing job, you must include the BI_IVCEXT process in the job and sequence it before the BI Publisher Invoice program.
PeopleSoft Billing delivers Invoice Form ID XMLPUB, which is associated to Report Definitions: BI_PRNXPN01 and BI_PRNXPC01. Therefore, when an invoice specifies XMLPUB as the Invoice Form, the BI_PRNXPN01 (for non-consolidated) and BI_PRNXPC01 (for consolidated) programs pick up the invoice for printing using BI Publisher. The invoice is printed by using the default template that is defined for the Report Definition.
You can change the XMLPUB Invoice Form ID to specify a different Report Definition that you have created. Alternatively, you can create a new invoice form and associate it to a different Report Definition. Each invoice form is associated to one, and only one, Report Definition for non-consolidated invoices. Similarly, each invoice form can be associated to one, and only one, Report Definition for consolidated invoices.