我使用进度4GL编写了一个程序 . 语法是正确的,但不知道如何减少代码 . 我们是公司工作的座位和使用进度4gl..we有一个称为班次维护的表,每个小时都有班次时间 . 让我们举一个例子说明 .
DEFINE VARIABLE FistshiftStartHour AS INTEGER NO-UNDO.
DEFINE VARIABLE FistShiftEnddHour AS INTEGER NO-UNDO.
DEFINE VARIABLE SecshiftStartHour AS INTEGER NO-UNDO.
DEFINE VARIABLE SecShiftEnddHour AS INTEGER NO-UNDO.
FIND FIRST shift WHERE shift.shiftsequence = 1 NO-LOCK NO-ERROR.
ASSIGN
FistshiftStartHour = shift.starthour
FistShiftEnddHour = shift.endhour.
FIND FIRST shift WHERE shift.shiftsequence = 2 NO-LOCK NO-ERROR.
ASSIGN
SecshiftStartHour = shift.starthour
SecShiftEnddHour = shift.endhour.
像这样我需要为每个班次编写一个查询并为21个班次序列分配两个变量 . 是否有机会减少这么多查询?(注意 - 我必须为各个变量分配开始和结束时间) .
1 回答
您可以使用数组变量处理转换时间,并在表/ temp-table中执行循环时分配它: