Bha*_*rat 1 progress-4gl openedge
我是 4GL 的新手。我总是使用下面的查询将临时表中的数据导出为 .csv 文件。为了给出标题标签,我进行了硬编码。是否可以从临时表字段本身获取标签?如果是,请帮助我修改查询。
DEFINE TEMP-TABLE ttdata NO-UNDO
FIELD cCustomerName LIKE Customer.NAME
FIELD cAddress LIKE Customer.Address
.
OUTPUT TO VALUE(SESSION:TEMP-DIRECTORY + "temp.csv").
PUT UNFORMATTED "customer Name,Customer Address" SKIP.
FOR EACH ttdata NO-LOCK:
EXPORT DELIMITER "," ttdata.
END.
OUTPUT CLOSE.
Run Code Online (Sandbox Code Playgroud)
您可以像这样迭代临时表的默认缓冲区的缓冲区字段:
DEFINE TEMP-TABLE ttdata NO-UNDO
FIELD cCustomerName LIKE Customer.NAME
FIELD cAddress LIKE Customer.Address
FIELD cMonthQuota LIKE Salesrep.MonthQuota
.
DEFINE VARIABLE i AS INTEGER NO-UNDO.
DEFINE VARIABLE j AS INTEGER NO-UNDO.
DEFINE VARIABLE iCount AS INTEGER NO-UNDO.
DEFINE VARIABLE iExtent AS INTEGER NO-UNDO.
OUTPUT TO VALUE(SESSION:TEMP-DIRECTORY + "temp.csv").
ASSIGN iCount = BUFFER ttData:NUM-FIELDS .
DO i = 1 TO iCount:
iExtent = BUFFER ttData:BUFFER-FIELD (i):EXTENT .
IF iExtent > 1 THEN
DO:
DO j = 1 TO iExtent:
PUT UNFORMATTED
(IF i > 1 OR j > 1 THEN "," ELSE "")
SUBSTITUTE ("&1[&2]",
BUFFER ttData:BUFFER-FIELD (i):LABEL,
j) .
END.
END.
ELSE
PUT UNFORMATTED
(IF i > 1 THEN "," ELSE "")
BUFFER ttData:BUFFER-FIELD (i):LABEL .
END.
PUT UNFORMATTED SKIP.
FOR EACH ttdata NO-LOCK:
EXPORT DELIMITER "," ttdata.
END.
OUTPUT CLOSE.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
531 次 |
| 最近记录: |