是否可以从另一个 window 触发器部分调用 window 过程?
Is that possible to call window procedure from another window trigger section?
我想编写一个程序来从另一个 window 触发器调用 window 过程 section.Let 我分享我尝试过的程序。
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 文件调用过程,但我想从这个触发器调用另一个 window 过程。你能帮这个案子吗?
如果程序在同一个程序中,那么就
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).
我想编写一个程序来从另一个 window 触发器调用 window 过程 section.Let 我分享我尝试过的程序。
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 文件调用过程,但我想从这个触发器调用另一个 window 过程。你能帮这个案子吗?
如果程序在同一个程序中,那么就
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).