2017-12-21 2 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

정말로 인용되지 않은 파일 이름을 사용하면 안됩니다. 예, 작동하지만 버그가 발생하기를 기다리고 있습니다. 또한 FIRST 및 OF 절을 각각의 용도로 사용하여 불을 피우고 있습니다. –

답변

4

그냥 1728으로 나눌 경우, 수출 문에 그 권리를 수행 할 수 있습니다

wShipment.Volume/1728 

하지만 입방 피트를 찾고있는 것처럼 "1728"는 소리가

(12 X를 12 x 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를 얻게됩니다.