2017-12-21 6 views
2

以下のステートメントが実行されます。しかし、私はwShipment.Volumeを1728で割り、その結果をエクスポートします。進捗データベース4GL - エクスポートファイルの計算数

たとえば、wShipment.Volumeが3456の場合、結果2をレポートにエクスポートする必要があります。

OUTPUT TO \\tsclient\U\All_Orders_item.csv. 

FOR EACH r4_wms.wShipmentDet NO-LOCK, 

FIRST r4_wms.wShipment OF r4_wms.wShipmentDet NO-LOCK where wShipment.shipmentNO>6500 and wShipmentDet.Owner="MIDEAUS", 

FIRST r4_wms.wOrder OF r4_wms.wShipmentDet NO-LOCK, 

FIRST r4_wms.wOrderline OF r4_wms.wShipmentDet NO-LOCK 
BY wShipment.ShipmentNo DESC: 

EXPORT DELIMITER "," 

      wOrder.OrderNo 

      wShipment.Volume 

      wShipment.Weight SKIP. 

END. 

OUTPUT CLOSE. 
+0

本当に引用符で囲まれていないファイル名は使用しないでください。はい、動作しますが、発生するのを待っているバグです。あなたはまた、FOR EACHの最初と最後の句で火を放っています。 –

答えて

4

あなただけの1728で分割したい場合は、EXPORT文でその権利を行うことができます。

wShipment.Volume/1728 

しかし、あなたは立方フィートを探しているように「1728」が聞こえること(12× 12×12)。あなたがボリュームの立方フィートの最小全体の数が必要な場合は、このようにそれを計算することができます。

DEFINE VARIABLE RoundedVol AS INTEGER NO-UNDO. 

RoundedVol = TRUNCATE(wShipment.Volume/1728, 0). 
IF wShipment.Volume MOD 1728 > 0 THEN 
    RoundedVol = RoundedVol + 1. 

その後EXPORTステートメントにRoundedVolを追加します。それはあなたに立方フィートを任意の端数で切り上げます。したがって、1729のボリュームの場合、2になります。