start_agent_info
AgentName = "AU_NEWPRODUCT_COORDINATOR"
AgentDescr = "New Product Coordinator"
PR_FNAME = "AU_NEWPRODUCT_E.FM"
PR_TNAME = "AU_NEWPRODUCT"
AgentLanguage = ""
__timer_interval = 0 {....define
(in seconds
) the timer interval
for the wake up}
__delete_on_termination = 0 {....1=the agent frees itself
when terminates its task}
end_agent_info
start_bpm_activity "New Product Request"
start_bpm_subactivity "Request Form"
rec = __params[1]
expr = strcat
(rec
,"=AU_NEWPRODUCT"
)
call OpenFormTop
("ptEdit"
,"
AU_NEWPRODUCT_E.FM"
,"WORK.AU_NEWPRODUCT"
,1
,expr
)
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "New Product Req Approval"
start_bpm_subactivity "Request Form"
rec = __params[1]
expr = strcat
(rec
,"=AU_NEWPRODUCT"
)
call OnOpenForm_DisableAllFields
()
call OnOpenForm_EnableField
("APPROVAL1_FLAG"
)
call OnOpenForm_EnableField
("REJECT_FLAG"
)
call OpenFormTop
("ptEdit"
,"
AU_NEWPRODUCT_E.FM"
,"WORK.AU_NEWPRODUCT"
,1
,expr
)
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "Recipe Creation"
start_bpm_subactivity "Request Form"
rec = __params[1]
expr = strcat
(rec
,"=AU_NEWPRODUCT"
)
call OnOpenForm_DisablePost
()
call OpenFormTop
("ptEdit"
,"
AU_NEWPRODUCT_E.FM"
,"WORK.AU_NEWPRODUCT"
,1
,expr
)
end_bpm_subactivity
start_bpm_subactivity "Product Form"
rec = __params[2]
expr = strcat
(rec
,"=AU_GOOD"
)
call OpenFormTop
("ptEdit";"
AU_GOOD_E.FM";"WORK.AU_GOOD";1;expr
)
end_bpm_subactivity
start_bpm_subactivity "Recipe Form"
rec = __params[3]
expr = strcat
(rec
,"=AU_PROD_FORM"
)
call OpenFormTop
("ptEdit";"
AU_PROD_FORM_E.FM";"WORK.AU_PROD_FORM";1;expr
)
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "Quality Approval"
start_bpm_subactivity "Request Form"
rec = __params[1]
expr = strcat
(rec
,"=AU_NEWPRODUCT"
)
call OnOpenForm_DisableAllFields
()
call OnOpenForm_EnableField
("QUALITY_FLAG"
)
call OpenFormTop
("ptEdit"
,"
AU_NEWPRODUCT_E.FM"
,"WORK.AU_NEWPRODUCT"
,1
,expr
)
end_bpm_subactivity
start_bpm_subactivity "Product Form"
rec = __params[2]
expr = strcat
(rec
,"=AU_GOOD"
)
call OpenFormTop
("ptEdit";"
AU_GOOD_E.FM";"WORK.AU_GOOD";1;expr
)
end_bpm_subactivity
start_bpm_subactivity "Recipe Form"
rec = __params[3]
expr = strcat
(rec
,"=AU_PROD_FORM"
)
call OpenFormTop
("ptEdit";"
AU_PROD_FORM_E.FM";"WORK.AU_PROD_FORM";1;expr
)
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "Recipe Costing"
start_bpm_subactivity "Request Form"
rec = __params[1]
expr = strcat
(rec
,"=AU_NEWPRODUCT"
)
call OnOpenForm_DisablePost
()
call OpenFormTop
("ptEdit"
,"
AU_NEWPRODUCT_E.FM"
,"WORK.AU_NEWPRODUCT"
,1
,expr
)
end_bpm_subactivity
start_bpm_subactivity "Product Form"
rec = __params[2]
expr = strcat
(rec
,"=AU_GOOD"
)
call OpenFormTop
("ptEdit";"
AU_GOOD_E.FM";"WORK.AU_GOOD";1;expr
)
end_bpm_subactivity
start_bpm_subactivity "Recipe Form"
rec = __params[3]
expr = strcat
(rec
,"=AU_PROD_FORM"
)
call OpenFormTop
("ptEdit";"
AU_PROD_FORM_E.FM";"WORK.AU_PROD_FORM";1;expr
)
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "Recipe Approval"
start_bpm_subactivity "Request Form"
rec = __params[1]
expr = strcat
(rec
,"=AU_NEWPRODUCT"
)
call OnOpenForm_DisableAllFields
()
call OnOpenForm_EnableField
("COSTAPPR_FLAG"
)
call OpenFormTop
("ptEdit"
,"
AU_NEWPRODUCT_E.FM"
,"WORK.AU_NEWPRODUCT"
,1
,expr
)
end_bpm_subactivity
start_bpm_subactivity "Product Form"
rec = __params[2]
expr = strcat
(rec
,"=AU_GOOD"
)
call OpenFormTop
("ptEdit";"
AU_GOOD_E.FM";"WORK.AU_GOOD";1;expr
)
end_bpm_subactivity
start_bpm_subactivity "Recipe Form"
rec = __params[3]
expr = strcat
(rec
,"=AU_PROD_FORM"
)
call OpenFormTop
("ptEdit";"
AU_PROD_FORM_E.FM";"WORK.AU_PROD_FORM";1;expr
)
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "Test Production"
start_bpm_subactivity "Request Form"
rec = __params[1]
expr = strcat
(rec
,"=AU_NEWPRODUCT"
)
call OnOpenForm_DisablePost
()
call OpenFormTop
("ptEdit"
,"
AU_NEWPRODUCT_E.FM"
,"WORK.AU_NEWPRODUCT"
,1
,expr
)
end_bpm_subactivity
start_bpm_subactivity "Recipe Form"
rec = __params[2]
expr = strcat
(rec
,"=AU_PROD_FORM"
)
call OpenFormTop
("ptEdit";"
AU_PROD_FORM_E.FM";"WORK.AU_PROD_FORM";1;expr
)
end_bpm_subactivity
start_bpm_subactivity "Production Order Form"
rec = __params[3]
expr = strcat
(rec
,"=AU_EVENT"
)
call OpenFormTop
("ptApp
end";"
AU_PROD_ORDER_E.FM";"WORK.AU_EVENT";1;expr
)
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "Prodction Quality Approval"
start_bpm_subactivity "Request Form"
rec = __params[1]
expr = strcat
(rec
,"=AU_NEWPRODUCT"
)
call OnOpenForm_DisableAllFields
()
call OnOpenForm_EnableField
("PRODAPPR_FLAG"
)
call OpenFormTop
("ptEdit"
,"
AU_NEWPRODUCT_E.FM"
,"WORK.AU_NEWPRODUCT"
,1
,expr
)
end_bpm_subactivity
start_bpm_subactivity "Recipe Form"
rec = __params[2]
expr = strcat
(rec
,"=AU_PROD_FORM"
)
call OpenFormTop
("ptEdit";"
AU_PROD_FORM_E.FM";"WORK.AU_PROD_FORM";1;expr
)
end_bpm_subactivity
start_bpm_subactivity "Production Order Form"
rec = __params[3]
expr = strcat
(rec
,"=AU_EVENT"
)
call OpenFormTop
("ptApp
end";"
AU_PROD_ORDER_E.FM";"WORK.AU_EVENT";1;expr
)
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "New Product Filling"
start_bpm_subactivity "Request Form"
rec = __params[1]
expr = strcat
(rec
,"=AU_NEWPRODUCT"
)
call OnOpenForm_DisablePost
()
call OpenFormTop
("ptEdit"
,"
AU_NEWPRODUCT_E.FM"
,"WORK.AU_NEWPRODUCT"
,1
,expr
)
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "New Product Reuest Filling"
start_bpm_subactivity "Process Form"
rec = __params[1]
expr = strcat
(rec
,"=AU_NEWPRODUCT"
)
call OpenFormTop
("ptEdit"
,"
AU_NEWPRODUCT_E.FM"
,"WORK.AU_NEWPRODUCT"
,1
,expr
)
end_bpm_subactivity
start_bpm_validation
result = 1
end_bpm_validation
end_bpm_activity
start_bpm_activity "New Product Request Filling"
start_bpm_subactivity "Request Form"
rec = __params[1]
expr = strcat
(rec
,"=AU_NEWPRODUCT"
)
call OnOpenForm_DisablePost
()
call OpenFormTop
("ptEdit"
,"
AU_NEWPRODUCT_E.FM"
,"WORK.AU_NEWPRODUCT"
,1
,expr
)
end_bpm_subactivity
end_bpm_activity
start_action
rec_id = __params[1]
comm = LookUpId
("AU_NEWPRODUCT"
,rec_id
,"SUBJECT"
)
call bpm_setprocedurecomment
(comm
)
call bpm_setprocedureowner
(__activation_user
)
call bpm_openatonce
()
{...........................................................set reuest
, check
for approval or rejection}
for i = 1
to 100
callwait bpm_assign_job
( "New Product Request"
, __activation_user
, ""
, 0
, rec_id
)
callwait bpm_assign_job
( "New Product Req Approval"
, ""
, "PRODUCT MANAGER DIRECTOR"
, 0
, rec_id
)
approval1 = LookUpId
("AU_NEWPRODUCT"
,rec_id
,"APPROVAL1_FLAG"
)
reject = LookUpId
("AU_NEWPRODUCT"
,rec_id
,"REJECT_FLAG"
)
if (approval1 = TRUE
) then
i = 100
endif
if (reject = TRUE
) then
i = 100
endif
next
{.........................................................request rejected. file it and close process}
if (reject = TRUE
) then
callwait bpm_assign_job
( "New Product Request Filling"
, __activation_user
, ""
, 0
, rec_id
)
endif
if (approval1 = TRUE
) then
{....................create new product AU_GOOD
, new recipe AU_PROD_FORM and new production order AU_EVENT}
prod_id = InsertInto
("AU_GOOD"
,"CODE"
,code
,"TITLE"
,descr
,"GTYPE"
,"Good"
,""
)
recipe_id = InsertInto
("AU_PROD_FORM"
,"AU_GOOD"
,prod_id
,"DESCR"
,"descr"
,""
)
event_id = InsertInto
("AU_EVENT"
,"AU_PROD_FORM"
,recipe_id
,""
,""
,""
,""
,""
)
call UpdateTable
( "AU_NEWPRODUCT"
, rec_id
, "AU_GOOD"
, good_id
, "AU_PROD_FORM"
, recipe_id
, "PORDER"
, event_id
, ""
)
{......................................recipe creation from the R+D. Approve quality fpr the product}
for i = 1
to 100
callwait bpm_assign_job
( "Recipe Creation"
, ""
, "RESEARCH
AND DEV"
, 0
, rec_id
, prod_id
, recipe_id
)
callwait bpm_assign_job
( "Quality Approval"
, ""
, "QUALITY LAB"
, 0
, rec_id
, prod_id
, recipe_id
)
qapproval = LookUpId
("AU_NEWPRODUCT"
,rec_id
,"QUALITY_FLAG"
)
if (qapproval = TRUE
) then
i = 100
endif
next
{..................................................................recipe costing. Approval of cost}
for i = 1
to 100
callwait bpm_assign_job
( "Recipe Costing"
, ""
, "FINANCE"
, 0
, rec_id
, prod_id
, recipe_id
)
callwait bpm_assign_job
( "Recipe Approval"
, ""
, "PRODUCT MANAGER DIRECTOR"
, 0
, rec_id
, prod_id
, recipe_id
)
capproval = LookUpId
("AU_NEWPRODUCT"
,rec_id
,"COSTAPPR_FLAG"
)
if (capproval = TRUE
) then
i = 100
endif
next
{...................................industrial production. Quality approval of the industialized product}
for i = 1
to 100
callwait bpm_assign_job
( "Test Production"
, ""
, "PRODUCTION"
, 0
, rec_id
, recipe_id
, event_id
)
callwait bpm_assign_job
( "Prodction Quality Approval"
, ""
, "QUALITY LAB"
, 0
, rec_id
, recipe_id
, event_id
)
papproval = LookUpId
("AU_NEWPRODUCT"
,rec_id
,"PRODAPPR_FLAG"
)
if (capproval = TRUE
) then
i = 100
endif
next
{........................................product completion. MSDN
, leaflets
, usage instructions etc}
callwait bpm_assign_job
( "New Product Filling"
, __activation_user
, ""
, 0
, rec_id
)
endif
end_action