PeopleSoft BI Publisher in depth

 

In RTF Template we need to write below tag of code for dynamic Image Field.

<fo:instream-foreign-object content-type=”image/jpg”>
<xsl:value-of select=”.//A.EMPLOYEE_PHOTO”/>
</fo:instream-foreign-object>



App packages used for generating BIP report using peoplecode.

import PSXP_RPTDEFNMANAGER:*;
import PSXP_XMLGEN:RowSetDS;

Import the application package and instantiate

import PSXP_RPTDEFNMANAGER:*;

&oXML = create PSXP_RPTDEFNMANAGER:ReportDefn("Report Definition name");

Set the data source

&oXML.SetRuntimeDataXMLfile(&XML_Filename_path);

Set the destination information

   /* set file path only for file output type - other types use default temporary location */

   If %OutDestType = 2 Then /* file */

      &oXML.BurstValueAsOutSubDir = False;

     

      &oXML.OutDestination = %FilePath;

   End-If;

Process the report

/* Process Report */

&oXML.ProcessReport("", "", %Date, "");

/* save to clear think time functions */

CommitWork();

 

&ReportFileName = &oXML.ID | "." | Lower(&oXML.GetOutDestFormatString(2));

&ReportFilePath = &oXML.OutDestination | &sDirSep | "RptInst" | &sDirSep | &ReportFileName;

Publish the report to the user’s preference

   /* publish */

   If %OutDestType = 6 Then /* Web */

      &oXML.Publish("", "", "", STATE_RCD_AET.PROCESS_INSTANCE);

   Else

      If %OutDestType = 3 Then /* Printer */

         &oXML.PrintOutput(%FilePath);

      Else

         If %OutDestType = 5 Then /* Email */

            &bResult = &oXML.EmailOutput(STATE_RCD_AET.PROCESS_INSTANCE);

         End-If;

      End-If;

   End-If;

*Note: In order for the PSXP_RPTDEFNMANAGER:ReportDefn.OutDestination class property to populate, the “psxp_usedefaultoutdestination” property on the report definition must be set to “True”



Bi Publisher Output

The delivered application package contains several options for presenting the report:

1. Send to the PeopleSoft Report Repository:

&XML_PUB_Object.Publish(&sServerName, &reportPath, &sFolderName, &processInstanceId);

2. Send the report to a printer:

&XML_PUB_Object.PrintOutput(&DestPrinter As string);

3. Send the report to a new popup window (shown above)

&XML_PUB_Object.DisplayOutput()

4. Mail the report

If running from the Process Scheduler (Batch) the EmailOutput() uses data from the Run Control parameters to email the report

&XML_PUB_Object.EmailOutput (ProcessInstanceID)

If Interactive on a page, the following code sends the resultant BI Publisher report to the email address or addresses contained the “&MAIL_TO” string.

 

No comments:

Post a Comment

PeopleCode to retrieve Google map between two addresses

  PeopleCode Example: /* Define constants for the API request */ Local string &origin = "123 Main St, Anytown, USA";   /* ...