start_agent_info
AgentName = "AU_DATACOLLECTOR_COORDINATOR"
AgentDescr = "Data Collector"
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 "Data Collection"
start_bpm_subactivity "Fill in Data"
rec = __params[1]
auto = __params[2]
if (auto = 1
) then
command = LookUpId
("AU_DATACOLLECT"
,rec
,"OPN_COMMAND"
)
call OnOpenForm_DisableAllFields
()
call OnOpenForm_DataCollect
(rec
)
call Exec
(command
)
else
uname = __params[3]
rname = __params[4]
call OpenFormTop
("ptBrowse"
,"
AU_DATACOLLECT_B.FM"
,"QRY.DATA"
,"COLLECT_MODE"
,rec
,uname
,rname
)
endif
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "Data Collected"
start_bpm_subactivity "Subactivity Name To Change"
{.....a sample snipet of code is the following
(CHANGE IT!
)}
{.....you can add as many
(start_bpm_activity...
end_bpm_subactivity
) sections you want}
rec = __params[1] {...usualy the rec_id passed
to bpm_assign_job}
expr = strcat
(rec
,"=SOME_UNIQUE_FIELD_NAME"
)
call OpenFormTop
("ptEdit"
,"
THE_FORM_NAME_FOR_EDITING.FM"
,"WORK.THE_TABLE_NAME"
,1
,expr
)
end_bpm_subactivity
start_bpm_validation
{.....you can ommit this section
if result is always
(1
) i.e. valid!}
result = 1
end_bpm_validation
end_bpm_activity
start_bpm_activity "Data Checking"
start_bpm_subactivity "Collected Data"
rec = __params[1]
auto = __params[2]
if (auto = 1
) then
command = LookUpId
("AU_DATACOLLECT"
,rec
,"OPN_COMMAND"
)
call OnOpenForm_DisableAllFields
()
call OnOpenForm_DataCollect
(rec
)
call Exec
(command
)
else
call OpenFormTop
("ptBrowse"
,"
AU_DATACOLLECT_B.FM"
,"QRY.DATA"
,"INSPECT_MODE"
,rec
)
endif
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "New Data Collection"
start_bpm_subactivity "Collection Form"
rec = __params[2]
expr = strcat
(rec
,"=AU_DATACOLLECT"
)
call OpenFormTop
("ptEdit"
,"
AU_DATACOLLECT_E.FM"
,"WORK.AU_DATACOLLECT"
,1
,expr
)
end_bpm_subactivity
start_bpm_subactivity "Data
to Collect"
rec = __params[2]
call OpenFormTop
("ptBrowse"
,"
AU_DATACOLLECT_B.FM"
,"QRY.DATA"
,"INSPECT_MODE"
,rec
)
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "Contact Data Collection"
start_bpm_subactivity "Filled in Data"
rec = __params[1]
if (__contact_form_processing = 1
) then
call html_processfile
("AU_DATACOLLECT_EN_M.HTM"
, rec
, __au_step
, __postforward
)
else
call OpenContactForm
()
endif
end_bpm_subactivity
start_bpm_subactivity "Data Collected"
rec = __params[1]
command = LookUpId
("AU_DATACOLLECT"
,rec
,"OPN_COMMAND"
)
call OnOpenForm_DisableAllFields
()
call OnOpenForm_DataCollect
(rec
)
call Exec
(command
)
end_bpm_subactivity
end_bpm_activity
start_action
rec_id = __params[1]
auto = __params[2]
auto = val
(auto
)
comm = LookUpId
("AU_DATACOLLECT"
,rec_id
,"SUBJECT"
)
call bpm_setprocedurecomment
(comm
)
call bpm_setprocedureowner
(__activation_user
)
if (auto <> 1
) then
call bpm_openatonce
()
callwait bpm_assign_job
( "New Data Collection"
, __activation_user
, ""
, 0
, auto
, rec_id
)
endif
call UpdateTable
("AU_DATACOLLECT"
,rec_id
,"SELECT_STAGE_FLAG"
,"0"
,"AU_PROCESS"
,__au_process
,""
)
{......................form groups of collect data........}
start_sql "*" "KOSMOS"
SELECT AU_MAILADDRESS.MADDRESS
, AU_CONTACT.DISP_NAME
, AU_USER.UNAME
, AU_POS.POS_D
FROM (((AU_DATACOLLECT_ITM
LEFT JOIN AU_USER
ON AU_DATACOLLECT_ITM.AU_USER = AU_USER.AU_USER
)
LEFT
JOIN AU_POS
ON AU_DATACOLLECT_ITM.AU_POS = AU_POS.AU_POS
)
LEFT
JOIN AU_MAILADDRESS
ON AU_DATACOLLECT_ITM.AU_MAILADDRESS = AU_MAILADDRESS.AU_MAILADDRESS
)
LEFT
JOIN AU_CONTACT
ON AU_DATACOLLECT_ITM.AU_CONTACT = AU_CONTACT.AU_CONTACT
WHERE (((AU_DATACOLLECT_ITM.AU_DATACOLLECT
)=:D
))
GROUP BY AU_MAILADDRESS.MADDRESS
, AU_CONTACT.DISP_NAME
, AU_USER.UNAME
, AU_POS.POS_D
end_sql
q = QueryByName
()
call TSetParam
(q
,"D"
,rec_id
)
call TExecute
(q
)
count = TRecordCount
(q
)
call TFirst
(q
)
for i = 1
to count
uname[i] = TGetFld
(q
,"UNAME"
)
rname[i] = TGetFld
(q
,"POS_D"
)
cmail[i] = TGetFld
(q
,"MADDRESS"
)
str = SelectFrom
("
SELECT SUP_MAIL
, MAIL_SUBJECT
, AU_USER
, AU_POS
, AU_CONTACT
FROM AU_DATACOLLECT
WHERE (AU_DATACOLLECT="
,rec_id
,"
)"
)
smail[i] = GetSQLSelectItem
(str
,1
)
subject[i] = GetSQLSelectItem
(str
,2
)
user_id[i] = GetSQLSelectItem
(str
,3
)
pos_id[i] = GetSQLSelectItem
(str
,4
)
contact_id[i] = GetSQLSelectItem
(str
,5
)
call TNext
(q
)
next
call FreeEmbSQL
(q
)
{..............................get data..............................}
split_
for i = 1
to count
if (cmail[i] = ""
) then
callwait bpm_assign_job
( "Data Collection"
, uname[i]
, rname[i]
, 0
, rec_id
, auto
, uname[i]
, rname[i]
)
callwait bpm_assign_job
( "Data Checking"
, __activation_user
, ""
, 0
, rec_id
, auto
)
endif
if (cmail[i] <> ""
) then
call bpm_setactivitycontact
(contact_id[i]
)
callwait bpm_assign_job
( "Contact Data Collection"
, uname[i]
, rname[i]
, 0
, rec_id
)
endif
next_branch
end_action