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

Activity Quantity Measure Scheduled Finished Scheduling Finishing Setup Cleanup Rate/Hr Θέση
CutSheet 10502 1000 500 0
100%
50%
Production Dept
CutSheet 101902 1000 1000 0
100%
0%
Production Dept
CutSheet 102002 1000 700 0
80%
70%
Production Dept
CutSheet 10102 3000 900 0
100%
30%
Production Dept
CutSheet 10202 2500 2500 0
70%
0%
Production Dept
CutSheet 10402 1000 1000 0
30%
0%
Production Dept
CutSheet 10602 1000 1000 0
90%
0%
Production Dept
CutSheet 10702 1000 1000 0
100%
0%
Production Dept
CutSheet 10802 1000 400 0
100%
40%
Production Dept
CutSheet 10902 1000 900 0
100%
90%
Production Dept
100:1-100

Title : : Records

Toolbars

call BrowseFilter()
call PrintGrid()
call CreateSheet()

Buttons

Fields


 ()
 ()
 ()
 ()
 ()
 ()
 ()
 ()
 ()
 ()
 ()
 (.COMM)
 (.QUANT0)
 (.QUANT_MEAS)
 (.QUANT_SCHED)
 (.QUANT_FIN)
 (.SCHED_PC)
 (.FIN_PC)
 (.SETUP_MIN)
 (.CLEANUP_MIN)
 (.RATE_HR)
 (.RNAME)
 (.COMM)
 (.QUANT0)
 (.QUANT_MEAS)
 (.QUANT_SCHED)
 (.QUANT_FIN)
 (.SCHED_PC)
 (.FIN_PC)
 (.SETUP_MIN)
 (.CLEANUP_MIN)
 (.RATE_HR)
 (.RNAME)


AutoScript

lib

{================================== Panels_Start ===================================}

proc Panels_Start()

     event_id = __params[4]
     process_id = __params[5]
     pos_d      = __params[6]
     date1      = __params[7]
     date2      = __params[8]

     descr1 = "Production Order"
     descr2 = "Setup Machine"

     if (newdate <> "") then
         start_sql "DATA" "KOSMOS"
         SELECT AU_STEP.*,
         AU_PROCESS.AGENT_NAME, AU_PROCESS.USER_OWNER, AU_PROCESS.AGENT_ID, AU_PROCESS.PARENT_AGENT_ID, AU_BUSINESS.TITLE
         FROM (AU_STEP LEFT JOIN AU_PROCESS ON AU_STEP.AU_PROCESS = AU_PROCESS.AU_PROCESS) LEFT JOIN AU_BUSINESS
         ON AU_STEP.AU_BUSINESS = AU_BUSINESS.AU_BUSINESS
         WHERE (AU_STEP.FINISHED=0)
         AND (AU_STEP.AU_PROCESS = :P)
         AND ((AU_STEP.STEP_DESCR = :SD1) OR (AU_STEP.STEP_DESCR = :SD2))
         AND (AU_STEP.ISTEP=0)
         end_sql
         q = QueryByName("DATA")
         call TSetParam(q,"P",process_id)
         call TSetParam(q,"SD1",descr1)
         call TSetParam(q,"SD2",descr2)
         call TPrepare(q)
     else
         start_sql "DATA" "KOSMOS"
         SELECT AU_STEP.*,
         AU_PROCESS.AGENT_NAME, AU_PROCESS.USER_OWNER, AU_PROCESS.AGENT_ID, AU_PROCESS.PARENT_AGENT_ID, AU_BUSINESS.TITLE
         FROM (AU_STEP LEFT JOIN AU_PROCESS ON AU_STEP.AU_PROCESS = AU_PROCESS.AU_PROCESS) LEFT JOIN AU_BUSINESS
         ON AU_STEP.AU_BUSINESS = AU_BUSINESS.AU_BUSINESS
         WHERE (AU_STEP.FINISHED=0)
         AND (AU_STEP.AU_PROCESS = :P)
         AND ((AU_STEP.STEP_DESCR = :SD1) OR (AU_STEP.STEP_DESCR = :SD2))
         AND (AU_STEP.ISTEP=0)
         end_sql
         q = QueryByName("DATA")
         call TSetParam(q,"P",process_id)
         call TSetParam(q,"SD1",descr1)
         call TSetParam(q,"SD2",descr2)
         call TPrepare(q)
     endif

     call SetFetchRowcount(q,500)

end

{===================================== Form_Start ==================================}

proc Form_Start(FORM)

     f = TopForm()

     call SetCaption(__params[4])

     call CollapseNavBar()

     call SetEditableFields(f,"SETUP_MIN","RATE_HR","QUANT0")

end

{==================================== Form_Prepared =================================== }

proc Form_Prepared()

     f = TopForm()
     call PopupClear(f)

     start_popupmenu "xxxxxxxx"
         Show Related Activities
         call show_related_items()
         Show All Activities
         call show_all_items()
         Show Activity Parameters
         call show_activity_parameters()
     end_popupmenu

     __step_descr = "Production"           { description of production activity to be created }
     __step_role     = __params[6]           { assigned role of production activity }
     __agent_name = ""                     { mass production agent name }
     __agent_id      = ""                     { mass production agent id }
     __mass_order_id = __params[4]           { mass order id }
     __warehouse_in_id = 1                    { warehouse id of raw matterials }
     __warehouse_out_id = 1                { warehouse of products }
     __process_id = __params[5]
     __date1      = __params[7]
     __date2      = __params[8]

     sch = GetControl("_SCHEDULER")
     p = PByName(f,"DATA")
     pos_id = SelectFrom("SELECT AU_POS FROM AU_POS WHERE (POS_D='",pos_d,"')")

     pltype = "TIMELINE"

     __data_panel = p
     __mode= "ACTIV_SCHED"
     __display_type = "TIMELINE"
     __pos_id = pos_id
     __start_date = date1

     call SetScheduler(sch)

{×ÑÇÓÇÌÏÐÏÉÇÓÅ ÔÁ ÃÉÁ ÍÁ ÐÁÑÅÉÓ ÔÁ HINT}
     _BUTTON1_HINT = "ÅÌÖÁÍÉÓÇ ÁÍÁËÕÔÉÊÙÍ ÄÅËÔÉÙÍ ÐÁÑÁÃÙÃÇÓ"
     _BUTTON2_HINT = "ÅÌÖÁÍÉÓÇ ×ÕÌÁ ÄÅËÔÉÏÕ ÐÁÑÁÃÙÃÇÓ"
     _BUTTON3_HINT = "ÍÅÏ ÄÅËÔÉÏ ÐÁÑÁÃÙÃÇÓ ×ÕÌÁ"
     _BUTTON4_HINT = "ÖÏÑÔÙÌÁ ÔÅËÅÕÔÁÉÙÍ ÔÉÌÙÍ (SETUP, CLEANUP, RATE, BATCH)"
     _BUTTON5_HINT = "ÄÉÁÃÑÁÖÇ ÅÐÉËÅÃÌÅÍÇÓ ÐÁÑÁÃÙÃÇÓ"


{ call SetTimer ( "RTIMER", 40 ) }
end

{======================================= Lst_DblClick ===============================}

proc Lst_DblClick()

     step_id = TGetFld(q,"AU_STEP")
     step_code = TGetFld(q,"STEP_CODE")
     call OpenBPMStep("assignee",step_id,step_code)
end

{=========================== ExtraButtonClick ================================}

proc ExtraButtonClick ( button )

     sched_id = GetControlProp(sch,"SCHEDID")
     step_id = SelectFrom("SELECT AU_STEP FROM AU_STEP_SCHED WHERE (AU_STEP_SCHED=",sched_id,")")

     if (button = 1) then

        if (step_id > 0) then
         call emf_deltpar ( step_id )
        endif

     elseif (button = 2) then

        if (step_id > 0) then
         call emf_deltpar0 ( step_id )
        endif

     elseif (button = 3) then

        call nea_ergasia()

     elseif (button = 4) then

        if (step_id > 0) then
         call load_parameters()
        endif

     elseif (button = 5) then

        if (step_id > 0) then
         call delete_order(step_id)
        endif

     endif
end

{============================= emf_deltpar =====================}

proc emf_deltpar ()

end

proc delete_order ()


end

'==================================== emf_deltpar0 =================================='

proc emf_deltpar0 ()

end

'====================================== nea_ergasia ================================'

proc nea_ergasia ()


end

{============================== Sched_AfterCreateActivity ==============================}

proc Sched_AfterCreateActivity ( date, step_id, sched_id, quant1, pos_id, rgroup_id )

     uname = GetUserName()
     kon_flag = 1

     sched_id_max = SelectFrom("SELECT MAX(AU_STEP_SCHED) FROM AU_STEP_SCHED")

     flag = 1

     {.......Ýëåã÷ïò åðÜñêåéáò õëéêþí óõóêåõáóßáò..........}


end

{============================== Sched_AfterSizeActivity ==============================}

proc Sched_AfterSizeActivity ( date, step_id, sched_id, quant1, pos_id, rgroup_id )

end

{============================ Sched_AfterDeleteActivity ===========================}

proc Sched_AfterDeleteActivity ( sched_id )

end

{============================== Sched_AfterMoveActivity ==============================}

proc Sched_AfterMoveActivity ( sched_id )

end


{============================== Sched_ViewApplForms ==============================}

proc Sched_ViewApplForms ( sched_id )

     event_id = SelectFrom("SELECT AU_EVENT FROM AU_EVENT WHERE (TBL_REC=",sched_id,") AND (TBL_NAME='AU_STEP_SCHED')")
     event_id = val(event_id)
     if (event_id > 0) then
        expr = strcat(event_id,"=AU_EVENT")
        call OpenFormTop("ptEdit","AU_PROD_ORDER_E.FM","WORK.AU_EVENT",1,expr)
     endif
end

{=========================== show_related_items ============================}

proc show_related_items()

     step_id = TGetFld(q,"AU_STEP")
     call SchedShowRelatedItems ( sch, step_id )

end

{============================ show_all_items ===============================}

proc show_all_items()

     call SchedShowAllItems ( sch )

end

{============================== show_activity_parameters ===================}

proc show_activity_parameters()

     step_id = TGetFld(q,"AU_STEP")
     expr = strcat(step_id,"=AU_STEP")
     call OpenFormTop("ptEdit","AU_STEP_RATE_E.FM","WORK.AU_STEP",1,expr)

end

{================================== prod_expert ============================}

proc prod_expert()

     ag = agent_askexpert("PRODUCTION_SCHEDULING_EXPERT","SCHEDULE")

     res = agent_getvar(ag,"result",0)
     check = agent_getvar(ag,"check",0)
     if (check <> "") then
        call message(check)
     else
        call LoadActivitiesExecutor()
     endif

end

{================================== del_expert ============================}

proc del_expert()

     ag = agent_askexpert("PRODUCTION_SCHEDULING_EXPERT","UNSCHEDULE")

     res = agent_getvar(ag,"result",0)
     check = agent_getvar(ag,"check",0)
     if (check <> "") then
        call message(check)
     else
        call LoadActivitiesExecutor()
     endif

end

{============================ Sched_DateChanged ===========================}

proc Sched_DateChanged ( newdate )

     call FreeEmbSQL(q0)
     call Panels_Start()
     call Refresh(f)

end

proc Form_On_RTIMER_Timer()

     call LoadActivitiesScheduler(sch)

end