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_SALE_OFFER_COORDINATOR

AutoScript

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 "Send 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 "Send 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 ( "Send Offer and Wait" , __activation_user, "" , 0 , rec_id )

end_action