进度数据库4GL - 显示结果问题

时间:2018-01-04 14:33:05

标签: openedge progress-4gl progress-db

我运行以下声明。但是,结果不会显示在一行中。它会自动将结果放入多行。这太难读了。

如何将结果放在一行?将结果导出到.csv文件时,我遇到同样的问题。

enter image description here

 FOR EACH r4_wms.wShipmentDet NO-LOCK,
      FIRST r4_wms.wShipment OF r4_wms.wShipmentDet NO-LOCK where wShipment.shipmentNO>5000,
      FIRST r4_wms.wOrder OF r4_wms.wShipmentDet NO-LOCK,
    FIRST r4_wms.wOrderline OF r4_wms.wShipmentDet NO-LOCK
    BY wShipment.ShipmentNo DESC:


     Display
         wOrder.OrderNo
         wOrder.OrderDate
         wShipment.ShippedDate
         wOrder.CustID
         wOrder.sourceDoc
         wOrder.srcPO
         wShipmentDet.ShipStatus
         wShipment.appointmentdate
         wShipment.Appointmentno
         wOrder.shiptoName
         wShipment.carrierID
        wShipmentDet.ItemID
        worderline.qtyorder
        worderline.QtyShipped
         wShipment.Volume
         wShipment.Weight SKIP
        wOrder.Remarks.

 END.

1 个答案:

答案 0 :(得分:3)

您真的想在一行中显示所有这些字段吗?这将是一个广泛的界限....

使用https://github.com/google/google-api-php-client语句Progress将假设一个80字符宽的老式终端。您可以使用DISPLAY或显示格式覆盖它。

例如:

FRAME

但也许最大宽度(320最大)不会帮助你。您可以尝试将其显示在一列中:

DISPLAY ... WITH FRAME frameName WIDTH 320.

等等......在这里阅读框架短语:https://documentation.progress.com/output/ua/OpenEdge_latest/index.html#page/dvref%2Fframe-phrase.html%23wwID0E2USW

导出到文件时,根本不应使用DISPLAY ... WITH FRAME frameName 1 COLUMN. 。然后你应该使用DISPLAY。这样你就不会得到文件中的显示格式而只得到数据:

EXPORT

如果您想使用自定义分隔符,您也可以这样做:

OUTPUT TO c:\temp\file.csv.
EXPORT tablename.
OUTPUT CLOSE.

您还可以导出特定字段:

EXPORT DELIMITER "|" tablename.