I wanted to implement the pull mechanism COBACABANA in FlexSim. I have a problem with the query at the pre shop pool where all orders are sorted according to their latest release date and only the orders where the necessary production cards for all the workstations are available at all stations. The limit on amount of cards per workstation assigned to a specific production order is 1000. There are three different production lines which are constrained by space. For each line the different requirements are listed for the cards.
The query defined in the pool is as follow :
WHERE ((LineConstraint ==1) AND (CW_Cards + model().find("Tools/GlobalLists/CW_List>variables/fields/CW_Cards_1/total").value) <= 1000 AND (IP_Cards + model().find("Tools/GlobalLists/IP_List>variables/fields/IP_Cards_1/total").value) <= 1000 AND (ASS_Cards + model().find("Tools/GlobalLists/ASS_List>variables/fields/ASS_Cards_1/total").value) <= 1000 AND (ISOL_Cards + model().find("Tools/GlobalLists/ISOL_List>variables/fields/ISOL_Cards/total").value)<=1000 AND (EP_Cards + model().find("Tools/GlobalLists/EP_List>variables/fields/EP_Cards_1/total").value) <= 1000) OR ((LineConstraint ==2) AND (CW_Cards + model().find("Tools/GlobalLists/CW_List>variables/fields/CW_Cards_2/total").value) <= 1000 AND (IP_Cards + model().find("Tools/GlobalLists/IP_List>variables/fields/IP_Cards_2/total").value) <= 1000 AND (ASS_Cards + model().find("Tools/GlobalLists/ASS_List>variables/fields/ASS_Cards_2/total").value) <= 1000 AND (ISOL_Cards + model().find("Tools/GlobalLists/ISOL_List>variables/fields/ISOL_Cards/total").value)<=1000 AND (EP_Cards + model().find("Tools/GlobalLists/EP_List>variables/fields/EP_Cards_2/total").value) <= 1000) OR ((LineConstraint ==3) AND (CW_Cards + model().find("Tools/GlobalLists/CW_List>variables/fields/CW_Cards_3/total").value) <= 1000 AND (IP_Cards + model().find("Tools/GlobalLists/IP_List>variables/fields/IP_Cards_3/total").value) <= 1000 AND (ASS_Cards + model().find("Tools/GlobalLists/ASS_List>variables/fields/ASS_Cards_3/total").value) <= 1000 AND (ISOL_Cards + model().find("Tools/GlobalLists/ISOL_List>variables/fields/ISOL_Cards/total").value)<=1000 AND (EP_Cards + model().find("Tools/GlobalLists/EP_List>variables/fields/EP_Cards_3/total").value) <= 1000) ORDER BY CountdownToLatestRelease ASC
I think there is a problem with how I try to receive the actual amount of cards per workstation. The exception I get in FlexSim is:
exception: FlexScript exception: Property "value" accessed on invalid node.
I have created a global list for each workstation with three label fields for example workstation CW : CW_Cards_1 (for line 1) CW_Cards_2 (for line 2) CW_Cards_3 (for line 3). Do I have to set an expression field in the global list with total ?
Thank you already!