如何使用进度4gl计算昨天记录和今天记录?

时间:2019-05-08 06:58:02

标签: openedge progress-4gl

我已经编写了一个程序,我需要使用今天的记录来计算昨天的记录(从12:00 AM到05:00 AM)

for each womf_worder of sfcf_au_ship where 
         womf_worder.word_production_status EQ "B"                      and 
         womf_worder.word_build_date        EQ today - 1                and 
         womf_worder.word_build_time        GE tt_shift.shft_start_hour and
         womf_worder.word_build_time        LE tt_shift.shft_stop_hour  
         no-lock: 

    assign i = i + 1.
end.

但是问题是我只需要在上述记录的时间(从12:00 AM到05:00 AM)使用今天的记录计算订单。你能帮忙这个案子吗?

2 个答案:

答案 0 :(得分:1)

如果您知道数据中没有“未来”日期,则可以使用以下方式:

for each womf_worder of sfcf_au_ship where 
         womf_worder.word_production_status EQ "B"                      and 
         womf_worder.word_build_date        GE today - 1                and 
         womf_worder.word_build_time        GE tt_shift.shft_start_hour and
         womf_worder.word_build_time        LE tt_shift.shft_stop_hour  
         no-lock: 

  assign i = i + 1.
end.

如果您不熟悉正在使用的数据,或者希望它们更具可移植性:

for each womf_worder of sfcf_au_ship where 
         womf_worder.word_production_status EQ "B"                      and 
         womf_worder.word_build_time        GE tt_shift.shft_start_hour and
         womf_worder.word_build_time        LE tt_shift.shft_stop_hour  and
         ( womf_worder.word_build_date      eq today - 1                or
           womf_worder.word_build_date      eq today                       )
         no-lock: 

  assign i = i + 1.
end.

答案 1 :(得分:0)

据我了解,您需要使用方括号和“或”运算符, 所以您需要这样的东西:

pointer() in DynamoDbSlicer clashes with pointer() in Slicer; attempting to use incompatible return type

希望这会有所帮助。