该功能在ASYRWRKCLASSIC库中。其定义如下:
Funprog WORKFLOW(ACTX,TYPEVT,CODEVT,OPERAT,CLEOBJ,REQUEST,MESSAGE)
Variable Instance ACTX Using =[V]CST_C_NAME_CLASS_CONTEXT : # Context where the errors messages are stored
Value Integer TYPEVT : # Workflow type event (local menu #988) : only 1,2,10 are possible
Value Char CODEVT : # Event code
Value Char OPERAT : # Operation (operation codes C=creation, M=modification, or a "button" code)
Value Char CLEOBJ : # Object key for object event
Variable Integer REQUEST : # Returns the ID for the batch request created
Variable Char MESSAGE : # Message returned by the workflow post
这个功能必须以与类或表示法相关的脚本调用才能执行工作流的调用。
例如,对于TABCOUNTRY类,如果你想要调用基于对象TCY(存储国家的V6对象)修改的所有工作流事件,那么在TABCOUNTRY_CSTD脚本中的'AUPDATE_AFTER'事件上,你就可以添加以下代码:
$AUPDATE_AFTER
Local Integer REQNUM,TYPEVT,STAT
Local Char CODEVT(30)
Local Char OPERAT(30)
Local Char MSG(250),CLEOBJ(250)
TYPEVT=2 : # Object based event
CODEVT="TCY" : # The object is TCY
OPERAT="M" : # Modification
CLEOBJ=this.CRY : # Current key
STAT = func ASYRWRKCLASSIC.WORKFLOW(this.ACTX,TYPEVT,CODEVT,OPERAT,CLEOBJ,REQNUM,MSG)
$AINSERT_AFTER
Local Integer REQNUM,TYPEVT,STAT
Local Char CODEVT(30)
Local Char OPERAT(30)
Local Char MSG(250),CLEOBJ(250)
TYPEVT=2 : # Object based event
CODEVT="TCY" : # The object is TCY
OPERAT="C" : # Creation
CLEOBJ=this.CRY : # Current key
STAT = func ASYRWRKCLASSIC.WORKFLOW(this.ACTX,TYPEVT,CODEVT,OPERAT,CLEOBJ,REQNUM,MSG)
Return
调用一个手动工作流事件
该功能在ASYRWRKCLASSIC库中。手动工作流的调用是简化的,所以要发送的参数少一些:
Funprog WORKMANUAL(ACTX,CODE,FILTER,SIMUL,REQUEST,MESSAGE)
Variable Instance ACTX Using =[V]CST_C_NAME_CLASS_CONTEXT : # Context where the errors messages are stored
Value Char CODE : # Event code
Value Char FILTER : # Filter
Variable Integer REQUEST : # Returns the ID of the batch request created
Variable Char MESSAGE : # Message returned by the workflow post