我想从另一个窗口触发器部分编写一个用于调用窗口过程的程序。让我分享我的程序我尝试过的。
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文件调用该过程,但我想从此触发器调用另一个窗口过程。你能帮这个案子吗?
如果程序在同一个程序中,那么就是
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).