"Start of Program" [shape="oval",label="Start of Program",fillcolor="cornflowerblue"]
"Get Current Order History" [shape="box",fillcolor="gold",label="Get Order History\nGet last successful execution date\nfor current order"]
"Get Predecessor Job Chains" [shape="box",fillcolor="gold",label="Loop Prececessors\nFor each predecessor job chain\nperform the following operations"]
"Predecessor Job Chain active?" [shape="diamond",fillcolor="limegreen",label="Predecessor Job Chain active?"]
"Predecessor Job Chain active" [shape="box",fillcolor="palegreen",label="Yes"]
"Predecessor Job Chain inactive" [shape="box",fillcolor="palegreen",label="No"]
"Get Predecessor Job Chain History" [shape="box",fillcolor="gold",label="Get Predecessor Order History\nGet execution history\nfor predecessor orders"]
"Predecessor Order successfully executed?" [shape="diamond",fillcolor="limegreen",label="Predecessor Order successfully\nexecuted or in synchronisation?"]
"Predecessor Order successfully executed" [shape="box",fillcolor="palegreen",label="Yes"]
"Predecessor Order unsuccessfully executed" [shape="box",fillcolor="palegreen",label="No"]
"Predecessor Order end time" [shape="diamond",fillcolor="limegreen",label="Predecessor Order End Time\nearlier than start time of last\nsuccessful execution date\nfor current order?"]
"Predecessor Order end time earlier" [shape="box",fillcolor="palegreen",label="Yes"]
"Predecessor Order end time not earlier" [shape="box",fillcolor="palegreen",label="No"]
"Predecessor Order end time in period?" [shape="diamond",fillcolor="limegreen",label="Predecessor Order End Time\nin period of current order?"]
"Predecessor Order end time in period" [shape="box",fillcolor="palegreen",label="Yes"]
"Predecessor Order end time not in period" [shape="box",fillcolor="palegreen",label="No"]
"Predecessor Job Chain has Running Orders?" [shape="diamond",fillcolor="limegreen",label="Predecessor Job Chain\nhas Running Orders?"]
"Predecessor Job Chain has Running Orders" [shape="box",fillcolor="palegreen",label="Yes"]
"Predecessor Job Chain has no Running Orders" [shape="box",fillcolor="palegreen",label="No"]
"Predecessor Order enqueued for period?" [shape="diamond",fillcolor="limegreen",label="Predecessor Order\nenqueued for start time\nperiod of current order?"]
"Predecessor Order enqueued for period" [shape="box",fillcolor="palegreen",label="Yes"]
"Predecessor Order not enqueued for period" [shape="box",fillcolor="palegreen",label="No"]
"Execute Order" [shape="oval",fillcolor="cornflowerblue",label="Execute Order\nProcess order starting with\nthe next job chain node"]
"Skip Order" [shape="ellipse",fillcolor="cornflowerblue",label="Skip Order\nMove order to the skip node\nstate of the job chain"]
"Start of Program" -> "Get Current Order History"
"Get Current Order History" -> "Get Predecessor Job Chains"
"Get Predecessor Job Chains" -> "Predecessor Job Chain active?"
"Predecessor Job Chain active?" -> "Predecessor Job Chain active"
"Predecessor Job Chain active?" -> "Predecessor Job Chain inactive"
"Predecessor Job Chain inactive" -> "Execute Order"
"Predecessor Job Chain active" -> "Get Predecessor Job Chain History"
"Get Predecessor Job Chain History" -> "Predecessor Order successfully executed?"
"Predecessor Order successfully executed?" -> "Predecessor Order successfully executed"
"Predecessor Order successfully executed?" -> "Predecessor Order unsuccessfully executed"
"Predecessor Order successfully executed" -> "Predecessor Order end time"
"Predecessor Order unsuccessfully executed" -> "Predecessor Job Chain has Running Orders?"
"Predecessor Order end time" -> "Predecessor Order end time earlier"
"Predecessor Order end time" -> "Predecessor Order end time not earlier"
"Predecessor Order end time earlier" -> "Skip Order"
"Predecessor Order end time not earlier" -> "Predecessor Order end time in period?"
"Predecessor Order end time in period?" -> "Predecessor Order end time in period"
"Predecessor Order end time in period?" -> "Predecessor Order end time not in period"
"Predecessor Order end time in period" -> "Predecessor Job Chain has Running Orders?"
"Predecessor Order end time not in period" -> "Skip Order"
"Predecessor Job Chain has Running Orders?" -> "Predecessor Job Chain has Running Orders"
"Predecessor Job Chain has Running Orders?" -> "Predecessor Job Chain has no Running Orders"
"Predecessor Job Chain has Running Orders" -> "Skip Order"
"Predecessor Job Chain has no Running Orders" -> "Predecessor Order enqueued for period?"
"Predecessor Order enqueued for period?" -> "Predecessor Order enqueued for period"
"Predecessor Order enqueued for period?" -> "Predecessor Order not enqueued for period"
"Predecessor Order enqueued for period" -> "Skip Order"
"Predecessor Order not enqueued for period" -> "Execute Order" |