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_NEWPRODUCT_COORDINATOR

AutoScript

start_agent_info
   AgentName = "AU_NEWPRODUCT_COORDINATOR"
   AgentDescr = "New Product Coordinator"
   PR_FNAME = "AU_NEWPRODUCT_E.FM"
   PR_TNAME = "AU_NEWPRODUCT"
   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 Product Request"
start_bpm_subactivity "Request Form"
    
    rec = __params[1]
    expr = strcat(rec,"=AU_NEWPRODUCT")
    call OpenFormTop("ptEdit","AU_NEWPRODUCT_E.FM","WORK.AU_NEWPRODUCT",1,expr)
    
end_bpm_subactivity
end_bpm_activity

start_bpm_activity "New Product Req Approval"
start_bpm_subactivity "Request Form"
    
    rec = __params[1]
    expr = strcat(rec,"=AU_NEWPRODUCT")
    
    call OnOpenForm_DisableAllFields()
    call OnOpenForm_EnableField("APPROVAL1_FLAG")
    call OnOpenForm_EnableField("REJECT_FLAG")
    
    call OpenFormTop("ptEdit","AU_NEWPRODUCT_E.FM","WORK.AU_NEWPRODUCT",1,expr)
    
end_bpm_subactivity
end_bpm_activity

start_bpm_activity "Recipe Creation"
start_bpm_subactivity "Request Form"
    
    rec = __params[1]
    expr = strcat(rec,"=AU_NEWPRODUCT")    
    call OnOpenForm_DisablePost()
    call OpenFormTop("ptEdit","AU_NEWPRODUCT_E.FM","WORK.AU_NEWPRODUCT",1,expr)
    
end_bpm_subactivity
start_bpm_subactivity "Product Form"
    
    rec = __params[2]
    expr = strcat(rec,"=AU_GOOD")    
    call OpenFormTop("ptEdit";"AU_GOOD_E.FM";"WORK.AU_GOOD";1;expr)
    
end_bpm_subactivity
start_bpm_subactivity "Recipe Form"
    
    rec = __params[3]
    expr = strcat(rec,"=AU_PROD_FORM")    
    call OpenFormTop("ptEdit";"AU_PROD_FORM_E.FM";"WORK.AU_PROD_FORM";1;expr)
    
end_bpm_subactivity
end_bpm_activity

start_bpm_activity "Quality Approval"
start_bpm_subactivity "Request Form"
    
    rec = __params[1]
    expr = strcat(rec,"=AU_NEWPRODUCT")    
    
    call OnOpenForm_DisableAllFields()
    call OnOpenForm_EnableField("QUALITY_FLAG")
    
    call OpenFormTop("ptEdit","AU_NEWPRODUCT_E.FM","WORK.AU_NEWPRODUCT",1,expr)
    
end_bpm_subactivity
start_bpm_subactivity "Product Form"
    
    rec = __params[2]
    expr = strcat(rec,"=AU_GOOD")    
    call OpenFormTop("ptEdit";"AU_GOOD_E.FM";"WORK.AU_GOOD";1;expr)
    
end_bpm_subactivity
start_bpm_subactivity "Recipe Form"
    
    rec = __params[3]
    expr = strcat(rec,"=AU_PROD_FORM")    
    call OpenFormTop("ptEdit";"AU_PROD_FORM_E.FM";"WORK.AU_PROD_FORM";1;expr)
    
end_bpm_subactivity
end_bpm_activity

start_bpm_activity "Recipe Costing"
start_bpm_subactivity "Request Form"
    
    rec = __params[1]
    expr = strcat(rec,"=AU_NEWPRODUCT")
    
    call OnOpenForm_DisablePost()
    
    call OpenFormTop("ptEdit","AU_NEWPRODUCT_E.FM","WORK.AU_NEWPRODUCT",1,expr)
    
end_bpm_subactivity
start_bpm_subactivity "Product Form"
    
    rec = __params[2]
    expr = strcat(rec,"=AU_GOOD")    
    call OpenFormTop("ptEdit";"AU_GOOD_E.FM";"WORK.AU_GOOD";1;expr)
    
end_bpm_subactivity
start_bpm_subactivity "Recipe Form"
    
    rec = __params[3]
    expr = strcat(rec,"=AU_PROD_FORM")    
    call OpenFormTop("ptEdit";"AU_PROD_FORM_E.FM";"WORK.AU_PROD_FORM";1;expr)
    
end_bpm_subactivity
end_bpm_activity

start_bpm_activity "Recipe Approval"
start_bpm_subactivity "Request Form"
    
    rec = __params[1]
    expr = strcat(rec,"=AU_NEWPRODUCT")

    call OnOpenForm_DisableAllFields()
    call OnOpenForm_EnableField("COSTAPPR_FLAG")

    call OpenFormTop("ptEdit","AU_NEWPRODUCT_E.FM","WORK.AU_NEWPRODUCT",1,expr)
    
end_bpm_subactivity
start_bpm_subactivity "Product Form"
    
    rec = __params[2]
    expr = strcat(rec,"=AU_GOOD")    
    call OpenFormTop("ptEdit";"AU_GOOD_E.FM";"WORK.AU_GOOD";1;expr)
    
end_bpm_subactivity
start_bpm_subactivity "Recipe Form"
    
    rec = __params[3]
    expr = strcat(rec,"=AU_PROD_FORM")    
    call OpenFormTop("ptEdit";"AU_PROD_FORM_E.FM";"WORK.AU_PROD_FORM";1;expr)
    
end_bpm_subactivity
end_bpm_activity

start_bpm_activity "Test Production"
start_bpm_subactivity "Request Form"
    
    rec = __params[1]
    expr = strcat(rec,"=AU_NEWPRODUCT")
    
    call OnOpenForm_DisablePost()
    
    call OpenFormTop("ptEdit","AU_NEWPRODUCT_E.FM","WORK.AU_NEWPRODUCT",1,expr)
    
end_bpm_subactivity
start_bpm_subactivity "Recipe Form"
    
    rec = __params[2]
    expr = strcat(rec,"=AU_PROD_FORM")    
    
    call OpenFormTop("ptEdit";"AU_PROD_FORM_E.FM";"WORK.AU_PROD_FORM";1;expr)
    
end_bpm_subactivity
start_bpm_subactivity "Production Order Form"
    
    rec = __params[3]
    expr = strcat(rec,"=AU_EVENT")    
    
    call OpenFormTop("ptAppend";"AU_PROD_ORDER_E.FM";"WORK.AU_EVENT";1;expr)
    
end_bpm_subactivity
end_bpm_activity

start_bpm_activity "Prodction Quality Approval"
start_bpm_subactivity "Request Form"
    
    rec = __params[1]
    expr = strcat(rec,"=AU_NEWPRODUCT")
    
    call OnOpenForm_DisableAllFields()
    call OnOpenForm_EnableField("PRODAPPR_FLAG")
    
    call OpenFormTop("ptEdit","AU_NEWPRODUCT_E.FM","WORK.AU_NEWPRODUCT",1,expr)
    
end_bpm_subactivity
start_bpm_subactivity "Recipe Form"
    
    rec = __params[2]
    expr = strcat(rec,"=AU_PROD_FORM")    
    
    call OpenFormTop("ptEdit";"AU_PROD_FORM_E.FM";"WORK.AU_PROD_FORM";1;expr)
    
end_bpm_subactivity
start_bpm_subactivity "Production Order Form"
    
    rec = __params[3]
    expr = strcat(rec,"=AU_EVENT")    
    
    call OpenFormTop("ptAppend";"AU_PROD_ORDER_E.FM";"WORK.AU_EVENT";1;expr)
    
end_bpm_subactivity
end_bpm_activity

start_bpm_activity "New Product Filling"
start_bpm_subactivity "Request Form"
    
    rec = __params[1]
    expr = strcat(rec,"=AU_NEWPRODUCT")
    
    call OnOpenForm_DisablePost()
    
    call OpenFormTop("ptEdit","AU_NEWPRODUCT_E.FM","WORK.AU_NEWPRODUCT",1,expr)
    
end_bpm_subactivity
end_bpm_activity

start_bpm_activity "New Product Reuest Filling"
start_bpm_subactivity "Process Form"
    
    rec = __params[1]
    expr = strcat(rec,"=AU_NEWPRODUCT")
    call OpenFormTop("ptEdit","AU_NEWPRODUCT_E.FM","WORK.AU_NEWPRODUCT",1,expr)
    
end_bpm_subactivity
start_bpm_validation
    
    result = 1
    
end_bpm_validation
end_bpm_activity

start_bpm_activity "New Product Request Filling"
start_bpm_subactivity "Request Form"
    
    rec = __params[1]
    expr = strcat(rec,"=AU_NEWPRODUCT")    
    
    call OnOpenForm_DisablePost()
    
    call OpenFormTop("ptEdit","AU_NEWPRODUCT_E.FM","WORK.AU_NEWPRODUCT",1,expr)
    
end_bpm_subactivity
end_bpm_activity

start_action
    
    rec_id = __params[1]
    comm = LookUpId("AU_NEWPRODUCT",rec_id,"SUBJECT")
    
    call bpm_setprocedurecomment(comm)
    call bpm_setprocedureowner(__activation_user)
    
    call bpm_openatonce()

    {...........................................................set reuest, check for approval or rejection}
    for i = 1 to 100

        callwait bpm_assign_job ( "New Product Request" , __activation_user , "" , 0 , rec_id )

        callwait bpm_assign_job ( "New Product Req Approval" , "" , "PRODUCT MANAGER DIRECTOR" , 0 , rec_id )

        approval1 = LookUpId("AU_NEWPRODUCT",rec_id,"APPROVAL1_FLAG")
        reject = LookUpId("AU_NEWPRODUCT",rec_id,"REJECT_FLAG")

        if (approval1 = TRUE) then
         i = 100
        endif
        if (reject = TRUE) then
         i = 100
        endif
    next

    {.........................................................request rejected. file it and close process}
    if (reject = TRUE) then

        callwait bpm_assign_job ( "New Product Request Filling" , __activation_user , "" , 0 , rec_id )

    endif

    if (approval1 = TRUE) then

        {....................create new product AU_GOOD, new recipe AU_PROD_FORM and new production order AU_EVENT}

        prod_id = InsertInto("AU_GOOD","CODE",code,"TITLE",descr,"GTYPE","Good","")
        recipe_id = InsertInto("AU_PROD_FORM","AU_GOOD",prod_id,"DESCR","descr","")
        event_id = InsertInto("AU_EVENT","AU_PROD_FORM",recipe_id,"","","","","")

        call UpdateTable ( "AU_NEWPRODUCT", rec_id, "AU_GOOD", good_id, "AU_PROD_FORM", recipe_id, "PORDER", event_id, "")

        {......................................recipe creation from the R+D. Approve quality fpr the product}
        for i = 1 to 100

         callwait bpm_assign_job ( "Recipe Creation" , "" , "RESEARCH AND DEV" , 0 , rec_id, prod_id, recipe_id )

         callwait bpm_assign_job ( "Quality Approval" , "" , "QUALITY LAB" , 0 , rec_id, prod_id, recipe_id )

         qapproval = LookUpId("AU_NEWPRODUCT",rec_id,"QUALITY_FLAG")
         if (qapproval = TRUE) then
                i = 100
         endif

        next

        {..................................................................recipe costing. Approval of cost}
        for i = 1 to 100

         callwait bpm_assign_job ( "Recipe Costing" , "" , "FINANCE" , 0 , rec_id, prod_id, recipe_id )

         callwait bpm_assign_job ( "Recipe Approval" , "" , "PRODUCT MANAGER DIRECTOR" , 0 , rec_id, prod_id, recipe_id )

         capproval = LookUpId("AU_NEWPRODUCT",rec_id,"COSTAPPR_FLAG")
         if (capproval = TRUE) then
                i = 100
         endif

        next

        {...................................industrial production. Quality approval of the industialized product}
        for i = 1 to 100

         callwait bpm_assign_job ( "Test Production" , "" , "PRODUCTION" , 0 , rec_id, recipe_id, event_id )

         callwait bpm_assign_job ( "Prodction Quality Approval" , "" , "QUALITY LAB" , 0 , rec_id, recipe_id, event_id )

         papproval = LookUpId("AU_NEWPRODUCT",rec_id,"PRODAPPR_FLAG")
         if (capproval = TRUE) then
                i = 100
         endif

        next

        {........................................product completion. MSDN, leaflets, usage instructions etc}
        callwait bpm_assign_job ( "New Product Filling" , __activation_user , "" , 0 , rec_id )

    endif

end_action