美好的一天
我有两个问题。目前我有一个表列表,其数据需要导出到csv。我的代码在这里:
def temp table tt-table
field f1 as int
field f2 as char
field . . . .
output to value(session:temp-directory + "temp.csv").
put f1 at 1
"," f2. . .
output close.
有没有办法自动执行此操作或缩短此代码?每个表平均有30-40个字段,需要导出5个表。
第二部分:
如果我将它们导回到我们的系统,是否可以根据字段数量及其相应的变量类型动态创建变量?
答案 0 :(得分:4)
您可以使用IMPORT
和EXPORT
语句。要将临时表导出为CSV文件,请使用以下代码:
OUTPUT TO VALUE(SESSION:TEMP-DIRECTORY + "temp.csv").
FOR EACH tt-table NO-LOCK:
EXPORT tt-table.
END.
OUTPUT CLOSE.
我不知道从文件动态构建临时表的方法。但要将文件导入同一个表,请执行以下操作:
INPUT FROM VALUE(SESSION:TEMP-DIRECTORY + "temp.csv").
REPEAT:
CREATE tt-table.
IMPORT tt-table.
END.
INPUT CLOSE.