How to create a pipe (|) delimited text file?

Andrew2009

Well Known Member
Right now I have a UBE which creates a csv file and by default it's a comma delimited text file. I did not have to do anything to set it up so it will create the comma delimited text file. Now I want to change it to a pipe (|) delimited text file instead of comma. How do I change the existing UBE from a comma delimited text file into a pipe delimited text file please?


Right now I have UBE of type group and I just align each RV variable to the grid and populate those RV variables. I did not manually write to a text file or anything. I guess JDE does it automatically.


What's the proper way to generate text delimited file please?


Thanks


JDE 9.1
 
Last edited:
Is the file made via BSFNs or from the columns native in your UBE layout?
 
Columns native in my UBE John. I resolved it by following this article Doc ID 632031.1, question 8. But I can't change the jde.ini file since it's a global settings. I see the below note. I don't believe this bug is resolved yet. What other alternatives do I have please?

Settings in the JDE.INI is global and will cause all CSV outputs to have the extension .csv and use the semi-collon character as the list separator.
Enhancemnt Bug 20456795 ALLOW LIST SEPERATOR (DELIMITER) TO BE CHANGED AT THE REPORT LEVEL requests the ability to change the delimiter at the report level rather than via an jde.ini setting.

Thanks
 
Last edited:
Unfortunately, until Oracle provides the functionality at the report level, you are relegated to creating the output file yourself ... that is, without the built-in use of CSV output.

You can use the BSFN's in B34A01010 to perform the necessary tasks. Of course, you will have to manually build each line and the total length of each line cannot exceed 5000 characters (or you will need to create a new copy of the WriteOneLine function that allows for a greater string length).
 
What location should I pass in to the OpenFlatFile method please? I want it to be in the same place as when I use the built-in CSV output

Thanks

JDE 9.1
 
Last edited:
That is just a parameter to the call... meaning you can provide any value you like. If I may suggest something: I would make it flexible by having a processing option that supplies the full path and file name. That way you can designate it to go anywhere you like.

Now, there are a few things you may need to consider if you will be running on different OS's (forward or backward slashes). The iSeries presents another obstacle, but that is very easily overcome with the use of QNTC. If you need to deal with the iSeries, try searching this forum for the word 'QNTC'.

What you can NOT do with this technique, as far as I know, is to have the user view the output from the submitted jobs application. You do lose that capability.
 
To get the print queue address, wrap this API up GetPrintQueueDirectoryPathName I have the .c .h files if you want them.

Jobs in WSJ are labelled OBJ_VERS_JOBNBR_PDF but on the Print Queue they will be saved as follows on my unix Box.

CSV
/App/jedwards/e900/PrintQueue/R550002_GTS0001_1935821_PDF.csv
PDF
/App/jdedwards/e900/PrintQueue/R550002_GTS0001_1935821_PDF

Use BSFN Check For File to see if it's there and you're on the right track

As what I was going to say before was, let your job finish then use another UBE to read over F986110 on UBE VERS Date/Time to get the Job # and use C++ BSFNs to replace the files text , with |
Long winded but it will work
 
Back
Top