This discussion is archived
6 Replies Latest reply: Nov 5, 2012 3:47 AM by SinfoMichele RSS

BI Publisher Integration

SinfoMichele Newbie
Currently Being Moderated
Hi, I have a problem with BI Publisher.
I'm using BI Publisher 10.1.3.4.1 version and PLM fo Process 6.1.0.1.
I have used a xml file to generate a template in BI Publisher (I clicked on the "Print" button in Trade Spec and I selected "xml" output).
I followed all the documentation (I set the config files, created a new template on BI Publisher using the xml here above as sample data).
When I clicked on "Print" button (in Trade Spec) and I selected the "BI Publisher" output the system generated the same pdf as the template.
Unfortunately no PLM data is shown.

Does someone have any idea?

Thanks.
  • 1. Re: BI Publisher Integration
    Ron M Pro
    Currently Being Moderated
    Hi,
    What does it mean the it generated the same pdf as the template? If you mean that the data in the pdf includes the same data as the xml provided originally to build the template, I think that you have to make sure you have defined the placeholders correctly in the BI Publisher template. Though BI Publisher might show the "Deafult" data (which came in your original XML) if it can't handle the input.

    However, part of the printing process on our side is a part that takes the XML and translforms it using XSL-FO. In the printSettings, this is the "StandardTransformation" print pipe within the PrintManager.
    Have you removed that step? Can you provide the PrintManager xml settings you are using?
  • 2. Re: BI Publisher Integration
    SinfoMichele Newbie
    Currently Being Moderated
    Hello,
    this is my configuration:
    ....
    <PrintManager id="BIPublisher10_1_3_4" outputExtension="pdf">
    <Pipes>
    <Pipe id="StandardXml" sequence="1" objectURL="Class:Xeno.Prodika.Printing.PrintPipes.XmlPrintPipeFactory,PrintService"/>
    <Pipe id="StandardTransformation" sequence="2" objectURL="Class:Xeno.Prodika.Printing.PrintPipes.XDocServiceTransformationPrintPipeFactory,PrintService"/>
    <Pipe id="BIPublisherFORender" sequence="2" objectURL="Class:Xeno.Prodika.Printing.PrintPipes.OracleBIPublisher.v10_1_3_4.BIPublisherFORenderPrintPipeFactory,PrintService">
    <add key="EndPoint" value="@@VAR:Prodika.Print.BIPublisherIntegration.EndPoint@@"/>                              
    <add key="ReportPath" value="/BIPublisher/test3/test3.xdo" comments="Overridable on the print template by specifying reportPath attribute"/>
    <add key="ReportTemplate" value="Template1" comments="Overridable on the print template by specifying reportTemplate attribute"/>
    <add key="ReportFormat" value="PDF" comments="Overridable on the print template by specifying reportFormat attribute"/>
    </Pipe>
    </Pipes>
    </PrintManager>
    ....
    <PrintConfigurations configChildKey="id">
    <PrintConfiguration configChildKey="id" id="2147" model="TradeSpecificationPrintObject" printconfigurl="Class:Xeno.Prodika.PrintObjects.GSMPrintCommon.TradeSpecPrintConfig,PrintObjects$PrintObjects/GSMPrintCommon|lblType">
    <PrintTemplate id="BIPublisherTest" library="XSL_FO_LIBRARY" sequence="1" report="GSM$xlate$.xsl" printmanager="BIPublisher10_1_3_4" reportPath="/BIPublisher/test3/test3.xdo" reportTemplate="Template1"/>
    <PrintTemplate id="Default" sequence="3" setting="basic" library="XSL_FO_LIBRARY" report="GSM$xlate$.xsl"/>
    <PrintTemplate id="Xml" sequence="4" setting="basic" library="XSL_FO_LIBRARY" report="GSM$xlate$.xsl" printmanager="XML" guardCondition="Class:Xeno.Prodika.Security.DummyGuardCondition,ProdikaLib$false"/>
    <PrintTemplate id="FO" sequence="5" setting="basic" library="XSL_FO_LIBRARY" report="GSM$xlate$.xsl" printmanager="FO" guardCondition="Class:Xeno.Prodika.Security.DummyGuardCondition,ProdikaLib$false"/>
    </PrintConfiguration>
    ....
    </PrintConfigurations>

    When I generate pdf directly from BI Publisher, the system shows the correct Document (template + data).
    When I generate pdf from PLM (I selected "BIPublisherTest" and I clicked on the Print button), the system shows a pdf with only template (without data).

    This is the first passage of my sample xml data:
    <Root>
    <ImplicitMasterSpecs />
    <CurrentSpecification>
    <Specification>
    <SpecSummary>
    <SpecType>2147</SpecType>
    <SpecTypeName>Trade Specification</SpecTypeName><SpecNum>5077539</SpecNum><IssueNum>001</IssueNum><SpecName>BBQ Beef and Vegetable Dinner - 11 oz</SpecName><SpecShortName>BBQ Beef and Vegetable Dinner - 11 oz</SpecShortName><pkid>2147a1182a75-71b3-4350-bc2a-9bc64e08fd4f</pkid><EffectiveDate>03-Oct-2004</EffectiveDate><OriginatorFirstName>Kenneth</OriginatorFirstName><OriginatorLastName>Crain</OriginatorLastName><ReasonForChange/><Supercedes>New Item</Supercedes><Status>Approved</Status><StatusInstructions>Approved - This specification has been approved.</StatusInstructions><LastEdit>19-Jan-2012</LastEdit>
    <IsTemplate>False</IsTemplate>
    <InactiveDate />
    <Category>Meat, Poultry and Game</Category>
    <SubCategory>Meat, Poultry and Game - Prepared and Processed</SubCategory>
    <Group>Meat, Poultry and Game - Prepared and Processed (Frozen)</Group>
    <ClassificationCode />
    </SpecSummary>
    <AvailableDate>02-Mar-2005</AvailableDate>
    <EndAvailableDate>11-Jan-2006</EndAvailableDate>
    ......

    Would you please let me know what I am missing?
    Thanks.
  • 3. Re: BI Publisher Integration
    Ron M Pro
    Currently Being Moderated
    Try removing the StandardTransformation print pipe from the printmanager, since that is transforming the XML to XSL-FO, which is used for PDFs, and which your template is not expecting.
    remove:

    <Pipe id="StandardTransformation" sequence="2" objectURL="Class:Xeno.Prodika.Printing.PrintPipes.XDocServiceTransformationPrintPipeFactory,PrintService"/>

    restart IIS, and try again
  • 4. Re: BI Publisher Integration
    SinfoMichele Newbie
    Currently Being Moderated
    Hi Ron,
    I removed the line and restarted iis but now I have this error when I clik on Print button:

    Stack Trace:

    [NullReferenceException: Object reference not set to an instance of an object.]
    Xeno.Prodika.Printing.PrintManagerBuilder.Create(String ManagerID) +190
    Xeno.Prodika.Printing.PrintService.GetPrintManager(IPrintTemplate printTemplate) +29
    Xeno.Web.UI.Printing.StandardPrintPage.Print(Object printObject, String configId, String templateId, IPrintOptions printOptions, String filename) +55
    prodika.frmPrintTradeSpec.Page_PreRender(Object sender, EventArgs e) +584
    System.EventHandler.Invoke(Object sender, EventArgs e) +0
    System.Web.UI.Control.OnPreRender(EventArgs e) +8679510
    Xeno.Web.UI.Printing.StandardPrintPage.OnPreRender(EventArgs e) +12
    System.Web.UI.Control.PreRenderRecursiveInternal() +80
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +842


    Thanks.
  • 5. Re: BI Publisher Integration
    Ron M Pro
    Currently Being Moderated
    OK, one alternate option to try is to revert that change, and then instead of using the xsl specified in your print template "report="GSM$xlate$.xsl", create a new, simple pass-through xsl file that just passes all the xml through, and reference that.

    For instance:
    create a file called XmlPassthrough.xsl:
    {code}
    <?xml version='1.0'?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
         <xsl:template match="/">
              <xsl:copy-of select="/" />
         </xsl:template>
    </xsl:stylesheet>
    {code}

    Put it in the Reports\FO folder
    Change the PrintTemplate attribute 'report' to use that new xsl file, like report="XmlPassthrough.xsl"

    See if that does it.
  • 6. Re: BI Publisher Integration
    SinfoMichele Newbie
    Currently Being Moderated
    Now it works correctly. Thanks.

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points