start_agent_info
AgentName = "AU_SALE_OFFER_COORDINATOR"
AgentDescr = "Sale Offer Coordinator"
PR_FNAME = "AU_EVENT_SALE_OFFER_E.FM"
PR_TNAME = "AU_EVENT"
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 Offer"
start_bpm_subactivity "Offer"
rec = __params[1]
expr = strcat
(rec
,"=AU_EVENT"
)
call OpenFormTop
("ptEdit"
,"
AU_EVENT_SALE_OFFER_E.FM"
,"WORK.AU_EVENT"
,1
,expr
)
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "BOM Creation"
start_bpm_subactivity "Offer"
rec = __params[1]
expr = strcat
(rec
,"=AU_EVENT"
)
call OnOpenForm_DisablePost
()
call OpenFormTop
("ptEdit"
,"
AU_EVENT_SALE_OFFER_E.FM"
,"WORK.AU_EVENT"
,1
,expr
)
end_bpm_subactivity
start_bpm_subactivity "BOM"
rec = __params[2]
expr = strcat
(rec
,"=AU_PROD_FORM"
)
call OpenFormTop
("ptEdit";"
AU_PROD_FORM_E.FM";"WORK.AU_PROD_FORM";1
,expr
,__params[1]
)
end_bpm_subactivity
start_bpm_subactivity "BOM Expanded"
rec = __params[2]
call OpenFormTop
("ptBrowse"
,"
AU_PROD_FORM_GOOD_B.FM"
,"QRY.DATA"
,"BOM_MODE"
,rec
)
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "BOM in Laboratory"
start_bpm_subactivity "BOM"
rec = __params[2]
expr = strcat
(rec
,"=AU_PROD_FORM"
)
call OpenFormTop
("ptEdit";"
AU_PROD_FORM_E.FM";"WORK.AU_PROD_FORM";1;expr
,__params[1]
)
end_bpm_subactivity
start_bpm_subactivity "BOM Expanded"
rec = __params[2]
call OpenFormTop
("ptBrowse"
,"
AU_PROD_FORM_GOOD_B.FM"
,"QRY.DATA"
,"BOM_MODE"
,rec
)
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "BOM Approval"
start_bpm_subactivity "BOM"
rec = __params[2]
expr = strcat
(rec
,"=AU_PROD_FORM"
)
call OpenFormTop
("ptEdit";"
AU_PROD_FORM_E.FM";"WORK.AU_PROD_FORM";1;expr
,__params[1]
)
end_bpm_subactivity
start_bpm_subactivity "BOM Expanded"
rec = __params[2]
call OpenFormTop
("ptBrowse"
,"
AU_PROD_FORM_GOOD_B.FM"
,"QRY.DATA"
,"BOM_MODE"
,rec
)
end_bpm_subactivity
start_bpm_subactivity "Standard Cost"
rec = __params[1]
call OpenFormTop
("ptBrowse";"
AU_STANDARDCOST_B.FM";"QRY.DATA"
,"EVENT_MODE"
,rec
)
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "S
end Speciments and Wait"
start_bpm_subactivity "Offer"
rec = __params[1]
expr = strcat
(rec
,"=AU_EVENT"
)
call OpenFormTop
("ptEdit"
,"
AU_EVENT_SALE_OFFER_E.FM"
,"WORK.AU_EVENT"
,1
,expr
)
end_bpm_subactivity
start_bpm_subactivity "BOMs"
rec = __params[1]
call OpenFormTop
("ptBrowse";"
AU_PROD_RECIPIE_B.FM";"QRY.DATA"
,"SOFFER_MODE"
,rec
)
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "Offer Costing"
start_bpm_subactivity "Offer"
rec = __params[1]
expr = strcat
(rec
,"=AU_EVENT"
)
call OpenFormTop
("ptEdit"
,"
AU_EVENT_SALE_OFFER_E.FM"
,"WORK.AU_EVENT"
,1
,expr
)
end_bpm_subactivity
start_bpm_subactivity "BOMs"
rec = __params[1]
call OpenFormTop
("ptBrowse";"
AU_PROD_RECIPIE_B.FM";"QRY.DATA"
,"SOFFER_MODE"
,rec
)
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "S
end Offer and Wait"
start_bpm_subactivity "Offer"
rec = __params[1]
expr = strcat
(rec
,"=AU_EVENT"
)
call OpenFormTop
("ptEdit"
,"
AU_EVENT_SALE_OFFER_E.FM"
,"WORK.AU_EVENT"
,1
,expr
)
end_bpm_subactivity
start_bpm_subactivity "BOMs"
rec = __params[1]
call OpenFormTop
("ptBrowse";"
AU_PROD_RECIPIE_B.FM";"QRY.DATA"
,"SOFFER_MODE"
,rec
)
end_bpm_subactivity
start_bpm_subactivity "Standard Cost"
rec = __params[1]
call OpenFormTop
("ptBrowse";"
AU_STANDARDCOST_B.FM";"QRY.DATA"
,"EVENT_MODE"
,rec
)
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "BOM Costing"
start_bpm_subactivity "BOM"
rec = __params[2]
expr = strcat
(rec
,"=AU_PROD_FORM"
)
call OpenFormTop
("ptEdit";"
AU_PROD_FORM_E.FM";"WORK.AU_PROD_FORM";1;expr
,__params[1]
)
end_bpm_subactivity
start_bpm_subactivity "BOM Expanded"
rec = __params[2]
call OpenFormTop
("ptBrowse"
,"
AU_PROD_FORM_GOOD_B.FM"
,"QRY.DATA"
,"BOM_MODE"
,rec
)
end_bpm_subactivity
start_bpm_subactivity "Standard Cost"
rec = __params[1]
call OpenFormTop
("ptBrowse";"
AU_STANDARDCOST_B.FM";"QRY.DATA"
,"EVENT_MODE"
,rec
)
end_bpm_subactivity
end_bpm_activity
start_action
rec_id = __params[1] {....get input parameter
(usualy the record id of starting form
)}
comm = SelectFrom
("
SELECT SUBJECT
FROM AU_EVENT
WHERE (AU_EVENT="
,rec_id
,"
)"
)
cust_id = SelectFrom
("
SELECT BUSINESS_TO
FROM AU_EVENT
WHERE (AU_EVENT="
,rec_id
,"
)"
)
call bpm_setprocedurecomment
(comm
) {.....set the procedures comment}
call bpm_setprocedureowner
(__activation_user
) {.....set the procedure owner}
call bpm_setprocedurebusiness
(cust_id
)
call bpm_statusenroll
( rec_id
, "AU_EVENT"
)
call bpm_openatonce
(1
)
callwait bpm_assign_job
( "New Offer"
, __activation_user
, ""
, 0
, rec_id
)
{................................we take every product from the specimens }
start_sql "*" "KOSMOS"
SELECT AU_KE_GOOD.AU_EVENT
, AU_GOOD.TITLE
, AU_GOOD.CODE
,
AU_GOOD.AU_GOOD
, AU_KE_GOOD
, AU_KE_GOOD
FROM (AU_EVENT INNER
JOIN AU_KE_GOOD
ON AU_EVENT.AU_EVENT = AU_KE_GOOD.AU_EVENT
)
INNER
JOIN AU_GOOD
ON AU_KE_GOOD.AU_GOOD = AU_GOOD.AU_GOOD
WHERE ((AU_KE_GOOD.AU_EVENT=:EV
))
end_sql
q = QueryByName
()
call TSetParam
(q
,"EV"
,rec_id
)
call TExecute
(q
)
count = TRecordCount
(q
)
call TFirst
(q
)
for i = 1
to count
kegood_id[i] = TGetFld
(q
,"KE_AU_GOOD"
)
good_id[i] = TGetFld
(q
,"AU_GOOD"
)
title[i] = TGetFld
(q
,"TITLE"
)
{..............
for each product we create a new BOM}
start_sql "*" "KOSMOS"
INSERT INTO AU_PROD_FORM
end_sql
q1 = QueryByName
()
call TSetFld
(q1
,"KE_AU_GOOD"
,"Float"
,kegood_id[i]
)
call TSetFld
(q1
,"AU_GOOD"
,"Float"
,good_id[i]
)
call TSetFld
(q1
,"DESCR"
,"String"
,title[i]
)
call TSetFld
(q1
,"AU_EVENT"
,"Float"
,rec_id
)
call TExecute
(q1
)
call FreeEmbSQL
(q1
)
form_id[i] = SelectLastId
("AU_PROD_FORM"
)
call TNext
(q
)
next
call FreeEmbSQL
(q
)
split_
for i = 1
to count
call bpm_setstepcomment
(title[i]
)
callwait bpm_assign_job
( "BOM Creation"
, ""
, "RESEARCH
AND DEVELOPMENT"
, 0
, rec_id
, form_id[i]
)
for j = 1
to 100
call bpm_setstepcomment
(title[i]
)
callwait bpm_assign_job
( "BOM in Laboratory"
, ""
, "LABORATORY"
, 0
, rec_id
, form_id[i]
)
call bpm_setstepcomment
(title[i]
)
callwait bpm_assign_job
( "BOM Costing"
, ""
, "FINANCE"
, 0
, rec_id
, form_id[i]
)
call bpm_setstepcomment
(title[i]
)
callwait bpm_assign_job
( "BOM Approval"
, ""
, "RESEARCH
AND DEVELOPMENT"
, 0
, rec_id
, form_id[i]
)
check[i] = SelectFrom
("
SELECT AU_PROD_FORM.IS_VALID
FROM AU_PROD_FORM
WHERE (AU_PROD_FORM="
,form_id[i]
,"
)"
)
check[i] = val
(check[i]
)
if (check[i] = 1
) then
j = 100
endif
next
j = 0
next_branch
callwait bpm_assign_job
( "S
end Offer and Wait"
, __activation_user
, ""
, 0
, rec_id
)
end_action