你走在正确的轨道上! OUTPUT TO VALUE(variable) 是什么可以帮助你。您也应该使用命名流。
OUTPUT TO VALUE(variable)
我不清楚x和y应该做什么参数,所以我只是将它们作为下面的假人插入。
注意: 您正在评论使用<>而不是通用电气。这可能在逻辑上有效,但可能(将)通过强制数据库扫描entires表而不是使用索引来影响性能。
像这样的东西:
DEFINE INPUT PARAMETER pcX AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER piY AS INTEGER NO-UNDO. DEFINE INPUT PARAMETER pcFile AS CHARACTER NO-UNDO. /* Bogus temp-table to make the program run... */ /* Remove this unless just testing without database ...*/ DEFINE TEMP-TABLE Invoice NO-UNDO FIELD Ship-Charge AS DECIMAL FIELD Total-Paid AS DECIMAL FIELD Invoice-Date AS DATE FIELD Invoice-Num AS INTEGER FIELD Amount AS INTEGER FIELD Cust-Num AS INTEGER. DEFINE STREAM str. DEFINE VARIABLE Profit AS DECIMAL FORMAT "->>,>>9.99":U INITIAL 0 NO-UNDO. OUTPUT STREAM str TO VALUE(pcFile). EXPORT STREAM str DELIMITER "," "Amount" "Customer Number" "Invoice Date" "Invoice Number" "Total_Paid" "Profit". FOR EACH Invoice WHERE Invoice.Ship-charge > 5.00 AND Invoice.Total-Paid > 0.01 AND Invoice.Invoice-Date GE 01/31/93 /* this is between also can use < >*/ AND Invoice.Invoice-Date LE TODAY NO-LOCK: Profit = (Invoice.Invoice-Num / Invoice.Total-Paid) * 100. EXPORT STREAM str DELIMITER "," Amount Cust-Num Invoice-Date Invoice-Num Total-Paid Profit. END. OUTPUT STREAM str CLOSE.
现在你可以运行这个程序,假设它被命名为“program.p”:
RUN program.p("1", 5, "c:\temp\file.txt").
要么
RUN program.p(INPUT "1", INPUT 5, INPUT "c:\temp\file.txt").
(INPUT是参数的默认方向)。
编辑: 运行示例+将第一个输入更改为CHARACTER而不是整数