Page 1 of 1

Convert Each Record in Database File to Fixed-Width Text Fil

Posted: Tue Aug 27, 2013 10:28 am
by J Haskins
I need to create order confirmations to send to a website. All the information that needs to be sent is stored in database file, one record per confirmation.

I need to read through the database file and convert each record into a fixed-width text file, with the value of the key field as part of the file name. (For example if the value in the key field is 'ABCD' then the text file would be named 'conf-ABCD.txt.)

Once a record has been converted, it can be deleted from the database file. Once all the records are converted, they will be ftp-ed to the website.

The database file can contain zero or more records, depending on how many orders have been shipped since the last time the project was run.

What is the best way to handle this? Does anyone have an example project that does something similar that they'd be willing to share?

Thanks!

Janell Haskins
Senior Business Analyst & System Manager
Knit-Rite, Inc.

Re: Convert Each Record in Database File to Fixed-Width Text

Posted: Tue Aug 27, 2013 1:06 pm
by Support_Rick
Janell,

A pseudo-code option to this would be something like the following:
Code: Select all
CreateWorkSpace

SQL-Read Database to create Rowset (Data)

For-Each ${Data}
  SetVar ToFile = ${ Concat( 'Conf-', Data[x], '.txt') }
  WriteFixedWidth WorkSpace/${ToFile}
   (Data field definitions attached)
   SQL-Delete from Database where ConfCode = ${Data[x]}
EndFor

Create File List - WorkSpace/*.txt (MyFileList)

FTP Target Server
  Put-${MyFileList}

DeleteWorkSpace
Hope this helps!