Identifying data elements

In this step, you look at the operation flows and identify each of the data elements they require. You also determine whether you need to create any new elements. You must map each type of data listed in the data dictionary to its corresponding data type, if a suitable one exists within the toolkit. If one does not, you must extend the data element set to add the necessary elements.

As you will recall from the task Identifying host transactions and journal entries, some of the data fields for the Base Sample Application will be in messages sent to the host, and the host requires a field identifier for each field. You must therefore extend the DataField class with a new one that contains a new attribute to represent the host identifier. This message attribute will be used when building the host message format.

The following data fields are required for the Base Sample Application:
Table 1. Required data fields
Data fields Data type in the client Data type in the server
Date DataField HostField
AccountNumber DataField HostField
AccountBalance DataField DataField
MaxAmount DataField DataField
CustomerId DataField HostField
CustomerName DataField DataField
TrxId Constant Constant
Amount DataField HostField
BranchId DataField HostField
AccountList iColl iColl
Account kColl kColl
AccountNumber DataField DataField
Type DataField DataField
Name DataField DataField
Balance DataField DataField
accountStatement Details iColl iColl
OpnDate DataField DataField
OpnDescription DataField DataField
OpnAmount DataField DataField
OpnBalance DataField DataField
TID DataField DataField
UserId DataField DataField
TrxReplyCode DataField DataField
TrxErrorMessage DataField DataField
HostBuff DataField DataField

Some data contains information about the type of business objects it represents. This type-aware data also knows which business rules it should exhibit. This information is made available to the data element by its association with an object of the PropertyDescriptor class. A typed data element is an instance of a DataElement class in which the PropertyDescription property is not null. Each property descriptor is associated with a validator and a set of converters.

The following typed data elements are defined in the Base Sample Application:
Table 2. Typed data elements
Typed data name PropertyDescriptor
String StringPropertyDescriptor
Float FloatPropertyDescriptor
Date DatePropertyDescriptor
Double DoublePropertyDescriptor
Amount DoublePropertyDescriptor
Account KCollPropertyDescriptor
AccountList ICollPropertyDescriptor