Do not let any software impress you!

Only let it convince your intellect.
Slider img 1
Do not look for a business paradise!

It is a waste of time.
Slider img 2
Only yourself can push you uphill.

There is no easy road to prizes.
Slider img 3
Productivity is the name of the game.

And you have to conquer it.
Slider img 4
As long as you understand it,

you will start to build your know-how.
Slider img 5
We can help with that.

We have the tools and the method.
Slider img 6
Procedure : AU_DATACOLLECTOR_COORDINATOR

AutoScript

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