如何通过减少以下代码来提高过程性能?

时间:2018-12-09 07:24:09

标签: openedge progress-4gl

我已经使用Progress 4GL编写了一个程序。语法是正确的,但是不知道如何减少代码。我们是一家致力于座位和使用4gl进度的公司。我们有一张名为轮班维护的表,该表每隔一小时就有一次轮换时间。让我们举例说明。

=if(b3="",b2/B4,if(b2="",B3*b4,if(b4="",b2/b3,"Check")))
像这样,我需要为每个轮班时间编写一个查询并为21个轮班顺序分配两个变量,是否有可能减少这么多查询?(注意-我必须为各个变量分配开始时间和结束时间)

1 个答案:

答案 0 :(得分:1)

您可以使用数组变量处理移位时间,并在执行表/临时表中的循环时分配它:

DEFINE VARIABLE sSeq AS INTEGER EXTENT 21 NO-UNDO. /* start hour */
DEFINE VARIABLE eSeq AS INTEGER EXTENT 21 NO-UNDO. /* end hour */

FOR EACH shift WHERE shift.shiftsequence LE 21 NO-LOCK BY shift.shiftsequence:
    sSeq[shift.shiftsequence] = shift.starthour.
    eSeq[shift.shiftsequence] = shift.endhour.
    DISP sSeq[shift.shiftsequence] eSeq[shift.shiftsequence].
END.