JointlyGet
Resource-Related Operation Statement
The Jointly Get statement captures a specified number of Resources as they become available, as a group, and attaches them to an Entity. The Resources are not captured unless all requested Resources are available, when they are then captured as a group. The Resources are then considered "owned" by the Entity.
Syntax
Jointly Get {<quantity>} <resource>
{,<priority>}
{And or Or {<quantity>} <resource> {,<priority>}}
Syntax Examples
Jointly Get 3 Res1,5
Jointly Get 2 Res1 Or 3 Res2
Jointly Get Res1,3 And (Res2 Or Res3)
Jointly Get 2 Res(Attribute1)
Parameters
{<quantity>}
The number of Resource units to capture. If the quantity field is blank, ProModel assumes the quantity is 1. Note that if the Entity at the Location or Route where the Jointly Get statement is defined already owns the requested Resource type, the Entity looks for an additional amount equal to the quantity requested, which can cause problems if the number of Resource units is not high enough to satisfy the request.
<resource>
The Resource name to Jointly Get. Res() can be substituted for the Resource name.
{,<priority>}
An optional statement part that defines the Entity priority where the Jointly Get statement is defined in regards to how quickly it receives its requested Resources. This value should be a number between 1 and 999, and the Entities with a higher number in the priority field receive their Resources before Entities with a lower number. If the priority field is blank for all Entities, they receive their Resources on a first come, first served basis.
Parameter Examples
If the statement...
Jointly Get 3 Inspector
...is defined in the Logic of an inspection Location. The Entities that enter that Location request 3 Inspector Resources and remain at that Location until their request is fulfilled. No Inspectors are captured until a total of 3 Inspectors are available at the same time. Once 3 Inspector Resources are available, all three are captured at once and travel to the inspection Location (this is visible in the simulation if there is a Path Network defined for them). The Resources then become "owned" by the Entity and move with the Entity until they are freed.
Now, suppose you have two inspection Locations, InspecTable1 and InspecTable2, and you want InspecTable1 to have the higher priority when it comes to gathering the Inspector Resource. You need to define the statement...
Jointly Get 3 Inspector, 2
...in the InspecTable1's Logic, and the statement...
Jointly Get 3 Inspector, 1
...in the InspecTable2's Logic. The values in the priority field ensure that Inspector Resources always travel to InspecTable1 in cases where both Locations are requesting Inspector Resources.
If the Entities at the inspection Locations needed both an Inspector and a Supervisor Resource to be processed, use the following statement:
Jointly Get Inspector And Supervisor
Neither Resource is captured until both Resource types are available. If the Entities at the inspection Locations needed either 3 Inspector Resources or 2 Supervisor Resources to be processed, use the following statement:
Jointly Get 3 Inspector Or 2 Supervisor
No Resources is captured until either 3 Inspectors are available or 2 Supervisors are available, and whichever condition is met first ise used.
Remarks
If an Entity still owns a Resource when it leaves the system, the simulation stops with an error. For more information on how to free an owned Resource using the Free statement, see Free.
JointlyGet is valid in operation, downtime, move, and shift logic.