CSV specifications: separator and header

I’m impressed with how simple it is to read and write CSV files. Natural handles all the messy details, such as headers, delimiters, and quoted strings. All I need to do is provide a list of field names. For example, to read a CSV with values delimited with semi-colons and containing no header line (Natural’s defaults):

DEFINE DATA LOCAL
1 #CSV
  2 #FIELD1 (A5)
  2 #FIELD2 (N2)
  2 #FIELD3 (A8)
END-DEFINE
DEFINE WORK FILE 1 'c:\spreadsheet.csv' TYPE "CSV"
READ WORK 1 #CSV
  DISPLAY #CSV
END-WORK
END

But the only way I can see to change the delimiter and header specifications is via the Configuration Utility. In my client’s environment, changing Natparm files requires a mountain of paperwork, so I was hoping to find WORK subparameters that would allow me to specify these parms dynamically in a batch script. Even a User Exit would be acceptable.

Is there another way to do this?

Seems like USR2011N is not able to set params for header and separator…
DC for a workfile would be another helpful parameter.

By the way: I’m impressed, too. It’s even possible to use dynamics. But there are some traps…

define data local
1 #a10 (A10)  init <'A10'>
1 #a   (A) dynamic
end-define
define work file 30 '/tmp/test.csv' type 'CSV'
write work file 30 variable #a10 #a
#a := 'testtest'
write work file 30 variable #a10 #a
reset #a
write work file 30 variable #a10 #a
reduce dynamic  #a to 0
write work file 30 variable #a10 #a
close work file 30
end

output:

"A10       ";
"A10       ";testtest
"A10       ";"        "
"A10       ";