"Register Fee" operation
Just like with Borrow Item
or Reserve Item
operations users will invoke the RegisterFee
operation from the form of a member. The member being viewed/edited identifies the member who is being charged.
When the user invokes the operation the system will let the user fill in the details of the fee – such as amount and description. Essentially the system will need to create the instance of the Fee object. In this particular case, however, we can’t just define the menu item of the “Create Object” type because the system will also need to initialize the Fee object with the reference to the member. This can only be done by the rule action, so we need to define the “Charge Fee” process, which requires the Member object as its input and contains the following action:
ENTER NEW Fee WITH Fee.Member = Member
This action will display the form of the Fee
object to the user (already initialized with the reference to the appropriate member). When the user submits the form the system will create the instance of the Fee
object.
Once we have defined this process Aware IM will have automatically created the operation that can be invoked from the form of the Member
object.
Unlike other operations involving a member we prefer this one to be in the system menu as well. When this operation is invoked from the system menu there is no “member” context and so the system needs to ask the user to identify the member that will be charged. Therefore we need to define another process called ChargeFee2
that does not require any input and has the following actions:
PICK FROM Member ChargeFee
The first action will display the results of the Member
query. The second action calls the ChargeFee
process that we have already defined.
note
Note that Aware IM will automatically use the member that the user picks at the previous step as input for theChargeFee
process1).We can now define the “Member” folder menu item in the visual perspective and underneath it define the new menu item called “Charge fee” of the “Start process” type that starts the “ChargeFee2” process.
ChargeFee
process we could just repeat the same action that the ChargeFee process executes as we did in the previous processes. Here, however, we want to demonstrate the action that calls other processes.