Example Usage
Code List Creation
Let’s assume we want to create a customized code list in AvantGard Trax, defining all of the possible delivery methods for cheque instructions that are supported by all of the different banks we are doing business with. Once the dynamic code list is created by the system user, any administrator with the Application Data security profile, can edit the code list items in the dynamic code list. The tag list will reflect 2 dimensions in this example:
ISO or proprietary: this dimension will denote if the code list item is an officially supported ISO code (in which case it is tagged with the ‘ISO’ tag) or a customer-specific code (in which case it is tagged with the ‘proprietary’ tag). For example: the ‘22’ code list item is a proprietary code list item, which is not supported in the ISO external code lists, so it is tagged with the ‘proprietary’ tag.
Bank dimension: this will reflect the bank(s) that support the specific code list item. For example: the ‘MLDB’ code list item is supported by Citi, SCB and Nordea, so it is tagged with these tags.
Code | Name | Description | Tag List |
---|---|---|---|
MLDB | Mail to customer | Cheque is to be sent through mail services to debtor. | ISO,Citi,SCB,Nordea |
MLCD | Mail to payee | Cheque is to be sent through mail services to creditor. | ISO,Citi,SCB,Nordea |
MLFA | Mail To Final Agent | Cheque is to be sent through mail services to creditor agent. | ISO |
CRDB | Courier to customer | Cheque is to be sent through courier services to debtor. | ISO,Citi,SCB |
CRCD | Courier to payee | Cheque is to be sent through courier services to creditor. | ISO,Citi,SCB |
CRFA | Courier to Beneficiary bank | Cheque is to be sent through courier services to creditor agent. | ISO,Citi |
PUDB | Pickup by customer | Cheque will be picked up by the debtor. | ISO,Citi |
PUCD | Pickup by payee | Cheque will be picked up by the creditor. | ISO,Citi |
PUFA | Pick Up By Final Agent | Cheque will be picked up by the creditor agent. | ISO |
RGDB | Registered mail to customer | Cheque is to be sent through registered mail services to debtor. | ISO,Citi |
RGCD | Registered mail to payee | Cheque is to be sent through registered mail services to creditor. | ISO,Citi |
RGFA | Registered Mail To Final Agent | Cheque is to be sent through registered mail services to creditor agent. | ISO |
22 | Courier 2 days to customer | Courier 2 days to customer | Proprietary,Citi |
23 | Courier 2 days to payee | Courier 2 days to payee | Proprietary,Citi |
40 | Print at location | Print at location | Proprietary,Citi,SCB,Nordea |
Table 184 Example dynamic code list: cheque delivery methods
Figure 183 Cheque delivery method code list in AvantGard Trax
Implementing Dynamic Code Lists in the GUI
Let’s assume now, that we want to create code list dropdown in the AvantGard GUI screens, using the previously created dynamic code list with cheque delivery methods, that can dynamically change the allowed code list items depending on the values selected in 2 other fields: ‘Filter by type’, which will determine if it is an ISO or proprietary code, and ‘Filter by bank’, which will determine the specific bank.
<xgl id="generated-Payment-Envelope">
<wgdialog>
<panel>
<columnLayout defaultWidth="1"/>
<panel label="Codelist">
<fieldPanel>
<comboBox label="Filter by type" id="type" onChange="eval(ctx.codelist.useTags=join(this.value,ctx.bank.value,',');ctx.codelist.value=null)">
<data>
<dataElement label="ISO" code="ISO"/>
<dataElement label="Proprietary" code="Proprietary"/>
</data>
</comboBox>
<comboBox label="Filter by bank" id="bank" onChange="eval(ctx.codelist.useTags=join(ctx.type.value,this.value,',');ctx.codelist.value=null)">
<data>
<dataElement label="Citi" code="Citi"/>
<dataElement label="Nordea" code="Nordea"/>
<dataElement label="SCB" code="SCB"/>
</data>
</comboBox>
<comboBox label="Codelist" id="codelist">
<codeListData list="DELIVERY"/>
</comboBox>
</fieldPanel>
</panel>
</panel>
</wgdialog>
</xgl>
Figure 184 Result of the XGL snippet above
Figure 185 Type dropdown containing the ‘ISO’ and ‘proprietary’ values
Figure 186 Bank dropdown containing the bank values
Figure 187 When no values are selected in the filter fields, the complete dynamic code is shown unfiltered
Figure 188 Only those code list items containing the tags ‘ISO’ and ‘SCB’ are shown in the dynamic ‘Codelist’ dropdown