help needed

Paul Mulroney pmulroney at
Tue Sep 15 20:43:11 EDT 2020

Hi Grant,

We do something similar in our system - we setup a list with all text columns and then merge the data into that list.  Here's some code that does that:

Create a list with character cols for each column in the original list:

> Begin reversible block
> 	Set current list plExportList
> End reversible block
> Calculate v as plExportList.$colcount()
> Do vlExport.$define()
> For v from 1 to plExportList.$colcount() step 1
> 	Do vlExport.$cols.$add(plExportList.$cols.[v].$name,kCharacter,kSimplechar)     
> End For

Copy the data into the newly created list:

> For each line in list from 1 to #LN step 1     ;; plExportList
> 	Do vlExport.$add()     
> 	For v from 1 to plExportList.$colcount() step 1
> 		Calculate vlExport.[vlExport.$linecount].C[v] as plExportList.[plExportList.$line].[v]
> 	End For
> End For

Add a line at the start of the list, and make it contain the name of the column as the heading:

> Calculate vlExport.$line as 1
> Do vlExport.$addbefore(1)
> For v from 1 to plExportList.$colcount() step 1
> 	Calculate vsName as plExportList.$cols.[v].$name
> 	Calculate vlExport(v,1) as vsName
> End For

Hope this helps!


> On 16 Sep 2020, at 5:10 am, Bookit Enterprises <bookit.grant at> wrote:
> I am doing some code to do a data dump from Studio, for one of my clients who is moving to another vendor.
> I have the following code, which works just fine, gathers all the data, puts it in a spreadsheet named after the file format it came from:
> Do $files.$makelist($ref.$name) Returns iFilesList     ;; gather existing slots
> Do iFilesList.$redefine(iFileName)
> Calculate iPath as sys(11)
> Calculate iPath as mid(iPath,1,pos('books',iPath)-1)     ;; path to my df storage folder
> Set current list iFilesList
> For each line in list from 1 to #LN step 1     ;; get all the data from each slot
> Load from list
> If iFileName='FGlobalVariables'|iFileName='#APPLICATION'|iFileName='#SLOTS’ ; FGlobalVariables  is memory only
> Else
> Set main file {[iFileName]}
> Set read/write files {[iFileName]}
> Clear main file
> Set current list iDataTransferList
> Define list {[iFileName]}
> Repeat
>    Add line to list
>   Next 
> Until flag false
> Set print or export file name {[con(iPath,iFileName)]}
> Prepare for export to file {Tab-delimited}
> Export data iDataTransferList
> Set current list iFilesList
> End If
> End For
> Close data file
> However, I would like to include the field names as the first line of the exported list, which is essentially the list definition.
> Because the list is defined by the field names, some of which are numeric, or boolean, so I think I need to export the field names first, then do the ‘Export data’ command.  But I can’t seem to wrap my old brain around how to do it.
> Any ideas you could help me with?
> Grant Thiessen
> _____________________________________________________________
> Manage your list subscriptions at
> Start a new message -> mailto:omnisdev-en at 

  <>	Paul W Mulroney
Logical Developments
Customised Software Solutions
Ph: 08 9458 3889
 	We Don't Do Simple Pty Ltd
trading as
Logical Developments
ACN 161 009 374
 	  <>   <>   <>   <>

More information about the omnisdev-en mailing list