start_agent_info
AgentName = "AU_CAMPAIGN_COORDINATOR"
AgentDescr = "Campaign Coordinator"
PR_FNAME = ""
PR_TNAME = ""
end_agent_info
start_bpm_activity "Define Campaign Participants"
start_bpm_subactivity "Campaign Form"
rec = __params[1]
expr = strcat
(rec
,"=AU_MAILCAMP_MASS"
)
call OpenFormTop
("ptEdit"
,"
AU_MAILCAMP_MASS_E.FM"
,"WORK.AU_MAILCAMP_MASS"
,1
,expr
)
end_bpm_subactivity
start_bpm_subactivity "Define Participants"
call OpenFormTop
("ptBrowse"
,"
AU_SELLCONTACT_TO_MAIL_B.FM"
,"QRY.DATA"
)
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "New Campaign"
start_bpm_subactivity "Campaign Form"
rec = __params[1]
expr = strcat
(rec
,"=AU_MAILCAMP_MASS"
)
call OpenFormTop
("ptEdit"
,"
AU_MAILCAMP_MASS_E.FM"
,"WORK.AU_MAILCAMP_MASS"
,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 "Wait Answer"
start_bpm_subactivity "Contact Form"
rec = __params[1]
if (__contact_form_processing = 1
) then
html_form = __params[2]
__html_mail = __params[3]
__s
ending_email = __params[4]
__mail_subject = __params[5]
__receiving_email = __params[6]
__sched_date = __params[7]
__sched_hour = __params[8]
if (html_form <> ""
) then
col = dcol_start
("Basic Campaign"
,__au_contact
,__au_step
,__au_process
)
str = SelectFrom
("
SELECT DATCOL_LAB1
, DATCOL_LAB2
, DATCOL_LAB3
, DATCOL_LAB4
, DATCOL_LAB5
FROM AU_MAILCAMP_MASS
WHERE (AU_MAILCAMP_MASS="
,rec
,"
)"
)
lab[1] = GetSQLSelectItem
(str
,1
)
lab[2] = GetSQLSelectItem
(str
,2
)
lab[3] = GetSQLSelectItem
(str
,3
)
lab[4] = GetSQLSelectItem
(str
,4
)
lab[5] = GetSQLSelectItem
(str
,5
)
cname = __params[9]
call dcol_item
(col
,"Name"
,"AU_CONTACT"
,"DISP_NAME"
,cname
,__au_contact
,0
,1
,6
)
for i = 1
to 5
if (lab[i] <> ""
) then
call dcol_item
(col
,lab[i]
,""
,i
,""
,""
,0
,0
,6
)
endif
next
call html_processfile
(html_form
, col
, __au_step
, __postforward
)
endif
else
call OpenContactForm
()
endif
end_bpm_subactivity
start_bpm_validation
result = 1
end_bpm_validation
end_bpm_activity
start_bpm_activity "Inspect Drafts"
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 "Inspect Drafts"
start_bpm_subactivity "Campaign Activities"
end_bpm_subactivity
start_bpm_subactivity "Campaign Draft Mails"
end_bpm_subactivity
start_bpm_validation
result = 1
end_bpm_validation
end_bpm_activity
start_bpm_activity "Campaign Summary"
start_bpm_subactivity "Campaign Mails"
proc_id = __params[2]
call OpenFormTop
("ptBrowse"
,"
AU_CONTACT_MAIL_B.FM"
,"QRY.DATA"
,"PROCESS_MODE"
,proc_id
)
end_bpm_subactivity
start_bpm_subactivity "Activities
to Contacts"
proc_id = __params[2]
call OpenFormTop
("ptBrowse";"
AU_BPM_JOBS11.FM";"QRY.DATA"
,"CONTACT_PROCESS_MODE"
,proc_id
)
end_bpm_subactivity
start_bpm_subactivity "Collected Data"
proc_id = __params[2]
call OpenFormTop
("ptBrowse"
,"
AU_DATACOLLECT_CONT_B.FM"
,"QRY.DATA"
,"PROCESS_MODE"
,proc_id
)
end_bpm_subactivity
end_bpm_activity
start_bpm_activity "Create Mails"
start_bpm_subactivity "Campaign Form"
rec = __params[1]
expr = strcat
(rec
,"=AU_MAILCAMP_MASS"
)
call OpenFormTop
("ptEdit"
,"
AU_MAILCAMP_MASS_E.FM"
,"WORK.AU_MAILCAMP_MASS"
,1
,expr
)
end_bpm_subactivity
start_bpm_subactivity "Define Participants"
call OpenFormTop
("ptBrowse"
,"
AU_SELLCONTACT_TO_MAIL_B.FM"
,"QRY.DATA"
)
end_bpm_subactivity
end_bpm_activity
start_action
rec_id = __params[1]
str = SelectFrom
("
SELECT SMAIL
, AU_POS
, AU_USER
, MSUBJECT
, HTML_FILE
, HTML_MAIL
, SUBJECT
, SDATE
, SHOUR
FROM AU_MAILCAMP_MASS
WHERE (AU_MAILCAMP_MASS="
,rec_id
,"
)"
)
smail = GetSQLSelectItem
(str
,1
)
pos_id = GetSQLSelectItem
(str
,2
)
user_id = GetSQLSelectItem
(str
,3
)
msubj = GetSQLSelectItem
(str
,4
)
html_form = GetSQLSelectItem
(str
,5
)
html_mail = GetSQLSelectItem
(str
,6
)
comm = GetSQLSelectItem
(str
,7
)
sdate = GetSQLSelectItem
(str
,8
)
shour = GetSQLSelectItem
(str
,9
)
uname = LookUpId
("AU_USER"
,user_id
,"UNAME"
)
rname = LookUpId
("AU_POS"
,pos_id
,"POS_D"
)
call bpm_setprocedureowner
(uname
,rname
) {.....set the procedure owner}
call UpdateField
("AU_MAILCAMP_MASS"
,rec_id
,"AU_PROCESS"
,__au_process
,""
)
{......................................... New Campaign....................................}
call bpm_setstepcomment
(comm
)
callwait bpm_assign_job
( "New Campaign"
, uname
, rname
, 0
, rec_id
)
{.................................... Define Campaign Participants .........................}
call bpm_setstepcomment
(comm
)
callwait bpm_assign_job
("Define Campaign Participants"
, uname
, rname
, 0
, rec_id
)
{.................................Create participant records
for the campaign...............}
start_sql "*" "KOSMOS"
SELECT AU_MAILADDRESS.MADDRESS
, AU_CONTACT.DISP_NAME
, AU_CONTACT_MAILADDR.AU_BUSINESS
,
AU_CONTACT_MAILADDR.AU_CONTACT
, AU_CONTACT_MAILADDR.SEND_MAIL_FLAG
,
AU_CONTACT_MAILADDR.AU_CONTACT_MAILADDR
FROM AU_MAILADDRESS INNER
JOIN (AU_CONTACT INNER
JOIN AU_CONTACT_MAILADDR
ON AU_CONTACT.AU_CONTACT = AU_CONTACT_MAILADDR.AU_CONTACT
)
ON AU_MAILADDRESS.AU_MAILADDRESS = AU_CONTACT_MAILADDR.AU_MAILADDRESS
WHERE (SEND_MAIL_FLAG = '1'
)
end_sql
q0 = QueryByName
()
call TExecute
(q0
)
count = TRecordCount
(q0
)
call TFirst
(q0
)
for i = 1
to count
s
end_id = TGetFld
(q0
,"AU_CONTACT_MAILADDR"
)
id = InsertInto
( "AU_MAILCAMP_MASS_ITM"
, "AU_MAILCAMP_MASS"
, rec_id
, "AU_CONTACT_MAILADDR"
, s
end_id
, ""
)
{........blank again "SEND_MAIL_FLAG"...........}
call UpdateField
( "AU_CONTACT_MAILADDR"
, s
end_id
, "SEND_MAIL_FLAG"
, "0"
, ""
)
call TNext
(q0
)
next
call FreeEmbSQL
(q0
)
{...........................................................create mails
(after forward
)}
call bpm_setstepcomment
(comm
)
callwait bpm_assign_job
("Create Mails"
, uname
, rname
, 0
, rec_id
)
{..........................Create activities
for the paricipants............................}
start_sql "*" "KOSMOS"
SELECT AU_MAILADDRESS.MADDRESS
, AU_CONTACT.DISP_NAME
, AU_CONTACT_MAILADDR.AU_BUSINESS
,
AU_CONTACT_MAILADDR.AU_CONTACT
, AU_CONTACT_MAILADDR.SEND_MAIL_FLAG
, AU_CONTACT_MAILADDR.AU_CONTACT_MAILADDR
FROM (AU_MAILADDRESS INNER
JOIN (AU_CONTACT INNER
JOIN AU_CONTACT_MAILADDR
ON AU_CONTACT.AU_CONTACT = AU_CONTACT_MAILADDR.AU_CONTACT
)
ON AU_MAILADDRESS.AU_MAILADDRESS = AU_CONTACT_MAILADDR.AU_MAILADDRESS
)
INNER
JOIN AU_MAILCAMP_MASS_ITM
ON AU_CONTACT_MAILADDR.AU_CONTACT_MAILADDR = AU_MAILCAMP_MASS_ITM.AU_CONTACT_MAILADDR
WHERE (AU_MAILCAMP_MASS_ITM.AU_MAILCAMP_MASS = :R
)
end_sql
q0 = QueryByName
()
call TSetParam
(q0
,"R"
,rec_id
)
call TExecute
(q0
)
count = TRecordCount
(q0
)
call TFirst
(q0
)
for i = 1
to count
cont_id = TGetFld
(q0
,"AU_CONTACT"
)
bus_id = TGetFld
(q0
,"AU_BUSINESS"
)
cmail = TGetFld
(q0
,"MADDRESS"
)
cname = TGetFld
(q0
,"DISP_NAME"
)
s
end_id = TGetFld
(q0
,"AU_CONTACT_MAILADDR"
)
call bpm_setactivitycontact
(cont_id
)
call bpm_setactivitybusiness
(bus_id
)
call bpm_setsteppostforward
()
call bpm_setstepcomment
(comm
)
call bpm_assign_job
( "Wait Answer"
, uname
, rname
, 0
, rec_id
, html_form
, html_mail
, smail
, msubj
, cmail
, sdate
, shour
, cname
)
{........blank again "SEND_MAIL_FLAG"...........}
call UpdateField
( "AU_CONTACT_MAILADDR"
, s
end_id
, "SEND_MAIL_FLAG"
, "0"
, ""
)
call TNext
(q0
)
next
call FreeEmbSQL
(q0
)
{.........................................Campaign Summary................................}
call bpm_setstepcomment
(comm
)
callwait bpm_assign_job
( "Campaign Summary"
, uname
, rname
, 0
, rec_id
, __au_process
)
end_action