Help creating csv through BI publisher

sonal_m

Active Member
Hi All,

We have a requirement to use Bi-Publisher to generate CSV but unfortunately this output format is not supported by BIP. We need to use BIP only as the output has to be emailed to customers based on ship to address.

We also are looking into converting excel into csv before sending to customers but the problem is automatic formatting...

Never created etext so not sure if that will work. The main idea is that we need to send customers a file which they can modify and send us back... if that makes sense...

Does anybody have an ideas?

Thanks in advance...
 
BI publisher can produce output in excel format . The best way you can verify yourself is - open P95620 , open any RD or report definition , go to its output types and you will see the types available , it can be pdf , rtf , html excel , even xml .So try creating a rtf template with table and columns as we normally do while designing xml publisher object , then choose output type as excel and see how it works .

I dont know how bursting and data driven emailing will work but you gotta try that .
 
The other alternative could be to check in with certain developers who can parse pdf output and then convert into csv and send . So from BI it will burst and email and then there could be a script or some other parsing to read through pdf and convert to csv . I think this is possible too

Regarding formatting while converting excel to csv , what kind of issues are you facing ?
 
I have worked with excel but requirement is for csv as the customers need that format only...
 
Will explore alternatives... the problem converting from excel is auto formatting of data... which will be an issue.
 
My two cents worth: A while back, I solved a similar problem by using a UBE that directly created multiple flat files, one for each recipient (AN8). No need to use BI Publisher.
In your main section's Initialize Section event, create a manifest flat file.
In a level break header by recipient AN8, or in your case perhaps by ship to address, create a unique file name and open a flat file with that name.
In the Do Section event, create a line in CSV format and write it to the flat file.
In the recipient level break footer, close the flat file and write a line to a manifest file with at least the unique file name and the recipient's email address.
In the End Section event, close the manifest file. You can then call a conditional section that reads and loops through your manifest file, sending the detail CSV file as an attachment to the email.
Your process may differ if you need to encrypt the CSV payload.
 
Hello! I know it was a long time ago. Just happen to google for this subject and find this post.
I was able to find an alternative solution using the xslt schema transformation and object type TS in the BIP repository, very basic but helps. The only issue pending is about the file extension I couldn't sort it out to have as xx.csv
The schema transformation I am using is something like this sample:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:eek:utput method="text" encoding="utf-8"/>
<xsl:template match="/">
<AB>
<xsl:for-each select="R550101/ByAddressNumber">
<AddBook>
<Col1>
<xsl:value-of select="concat(AddressNumber_ID1,',')"/>
</Col1>
<Col2>
<xsl:value-of select="concat(AlphaName_ID2,',')"/>
</Col2>
<Col3>
<xsl:value-of select="concat(TaxID_ID3,',','&#xa;')"/>
</Col3>
</AddBook>
</xsl:for-each>
</AB>
</xsl:template>
</xsl:stylesheet>
Result as expected:
600,Customer A,123456
601,Customer B,1987654
602,Customer C,1654951

Has anyone explored any other solution?

Thanks & Regards,
Chris
 
Back
Top