我想从另一个窗口触发器部分编写一个用于调用窗口过程的程序。让我分享我尝试过的程序。
DO:
DEFINE VARIABLE cPartType AS CHARACTER NO-UNDO.
DEFINE VARIABLE cSubPartType AS CHARACTER NO-UNDO.
DEFINE VARIABLE cAttributeExp AS CHARACTER NO-UNDO.
DEFINE VARIABLE cOutputQty AS CHARACTER NO-UNDO.
DEFINE VARIABLE cOutputExp AS CHARACTER NO-UNDO.
DEFINE VARIABLE cResult AS CHARACTER NO-UNDO.
DEFINE VARIABLE cCheckCase AS CHARACTER NO-UNDO.
ASSIGN
cPartType = coCombo :SCREEN-VALUE IN FRAME {&FRAME-NAME}
cSubPartType = fiChar-2 :SCREEN-VALUE IN FRAME {&FRAME-NAME}
cAttributeExp = fiChar-3 :SCREEN-VALUE IN FRAME {&FRAME-NAME}
cOutputQty = fiChar-4 :SCREEN-VALUE IN FRAME {&FRAME-NAME}
cOutputExp = fiChar-5 :SCREEN-VALUE IN FRAME {&FRAME-NAME}.
{ launch.i &PLIP = "'ford/prc/Parts.p'"
&IProc = "'AddPart'"
&PList = "(INPUT cPartType,
INPUT cSubPartType,
INPUT cAttributeExp,
INPUT cOutputQty,
INPUT cOutputExp,
OUTPUT cResult,
OUTPUT cCheckCase)"
&AutoKill = YES
&OnApp = 'YES'
&PARTITION = 'ASS'
}
END.
在这里,我可以从plipp文件中调用该过程,但是我想从此触发器中调用另一个窗口过程。你能帮忙这个案子吗?
答案 0 :(得分:0)
如果过程在同一程序中,则只需
RUN addPart (INPUT cPartType,
INPUT cSubPartType,
INPUT cAttributeExp,
INPUT cOutputQty,
INPUT cOutputExp,
OUTPUT cResult,
OUTPUT cCheckCase).
现在,如果该过程在另一个程序中,则需要它的句柄才能运行。在这种情况下,请在定义中定义这样的处理变量
DEFINE VARIABLE myHandle AS HANDLE NO-UNDO.
然后在主块中添加此代码
RUN ford/prc/Parts.p PERSISTENT SET myHandle.
最后,在触发器中,执行
RUN addPart IN myHandle (INPUT cPartType,
INPUT cSubPartType,
INPUT cAttributeExp,
INPUT cOutputQty,
INPUT cOutputExp,
OUTPUT cResult,
OUTPUT cCheckCase).