Exclusive Dependent Accounts

Exclusive dependent accounts are used to add values to accounts based on the decision of which destination the product is assigned. For example, if product is sent to a destination, we could also add the value of the product into a destination-specific value account.

Exclusive accounts are set up by first identifying the name of the exclusive account, and the name of the exclusive option that the decision applies to (the choice). The next step is to identify the related account values of interest (the source), and the account that the values should be added into (the sink). The account values from the source will be added to the sink when the exclusive account selects to send product to the choice.

This account can be created by adding a command to the PIN file using the following method:


control.addExclusiveDependent(String exclusive,  1
                              String choice,     2
                              String source,     3
                              String sink,       4
                              double factor)     5

	

1

The name of the previously defined exclusive account.

2

The choice of output account selected by the exclusive.

3

The source of the related account values to be added in this dependent operation.

4

The name of the account that the source values will be added to if the exclusive selection matches the name in the choice parameter. This account can exist already or will be created if it does not exist.

5

A scaling factor that can be applied when adding the source account values.

The following practical example will help to explain the concept of exclusive dependent accounts (see Figure 45, “Exclusive dependent account configuration”). Consider a situation where we would like to track the stumpage value of the product that is delivered to the destinations. Value is dependent on species and piece size, and we have age dependent attributes and accounts that describe these relationships. We only want to sum up the stumpage value for the product that actually reaches the mill. We should not include the stumpage values for surplus values that were not utilized. If the conifer exclusive account selects to send the product to MILL1, then the associated conifer stumpage values will be sent to the MILL1 value account. Otherwise if the conifer exclusive account selects to send the product to MILL2, then the conifer stumpage value will be added to the MILL2 value account. If the deciduous exclusive account selects to send the product to MILL1, the deciduous stumpage value will be added to the MILL1 value account. Otherwise, if the deciduous product is selected to be unutilized, no action is taken with the stumpage value.

Figure 45. Exclusive dependent account configuration

Exclusive dependent accounts are used to direct related account values to other named accounts.


/* Set up exclusive decisions for MILL1 and MILL2
control.addExclusiveAccount("product.Yield.managed.Conif", "destination.MILL1");
control.addExclusiveAccount("product.Yield.managed.Decid", "destination.MILL1");
control.addExclusiveAccount("product.Yield.managed.Conif", "destination.MILL2");
control.addExclusiveAccount("product.Yield.managed.Decid", "product.unutilized.Decid");

/* Direct conifer product value to value account - MILL2
control.addExclusiveDependent("product.Yield.managed.Conif",
                              "destination.MILL2",
                              "product.Value.managed.Conif",
                              "Mill2.value",1);

/* Direct conifer product value to value account - MILL1
control.addExclusiveDependent("product.Yield.managed.Conif",
                              "destination.MILL1",
                              "product.Value.managed.Conif",
                              "Mill1.value",1);

/* Direct deciduous product value to net value account - MILL1
control.addExclusiveDependent("product.Yield.managed.Decid",
                              "destination.MILL1",
                              "product.Value.managed.Decid",
                              "Mill1.value",1);
                              
	  
	

Exclusive dependent accounts direct related account values to other named accounts.