SupplySlotsToIntra, SupplySlotsToIntra1to1

Description

This function returns a list of Supply slots of Supplies which represent internal flows (i.e. Transfer supplies) to given Accounts and which have the indicated ReleaseType and Destination.

Type

LIST {SLOT}

Arguments

 

1

LIST { LIST { OBJECT, STRING } }

Source List: A List of pairs (represented as Lists) containing an Object and an Account Name of an Account on that Object.

2

STRING

ReleaseType name or "NONE" or "ALL"

3

STRING

Destination name or "NONE" or "ALL"

Evaluation

A temporary list of Accounts is created from the Source List. For each of those Accounts, we examine the inflow Supplies which:

(1) link an Account on the SAME Object, and

(2) have the indicated ReleaseType, and

(3) have the indicated Destination

In the case of SupplySlotsToIntra, for each of these Accounts being considered, the Supply slots of all related Supplies matching the criteria are added to the returned List. In the case of SupplySlotsToIntra1to1, there should be one matching Supply:

(1) If there are no Supplies matching the criteria, or more than one, then an error is generated.

(2) If there is exactly ONE Supply matching the criteria, then the Supply slot of that Supply is added to the returned List.

In this way, the list returned by SupplySlotsToIntra1to1 is guaranteed to contain exactly one slot for each Account in the input list.

If the ReleaseType argument or the Destination argument is "NONE," then only Supplies having the default (unassigned) attribute of that type are considered. If the ReleaseType argument or the Destination argument is "ALL," then that Supply attribute is ignored.

 
SupplySlotsToIntra({{%"ResA","One"}, {%"ResA","Two"}}, "Account Fill", "Abiquiu")
 
SupplySlotsToIntra: {$"ResA One to ResA Two.Supply", $"ResA Three to ResA
Two.Supply"}