|
Detail tablesA detail table is a field in the Data Model that contains a record set instead of a single value. Detail tables contain transactional data. They are created when an Extract step is added within a Repeat step; see Extracting transactional data. In the most basic of transactional communications, a single detail table is sufficient. However, it is possible to create multiple detail tables, as well as nested tables. Detail tables and nested tables are displayed as separate levels in the Data Model (see The Data Model). Renaming a detail tableRenaming detail tables is especially useful when there are more detail tables in one record, or when a detail table contains another detail table. For this detail table, ‘products’ would be a better name.
Creating multiple detail tablesMultiple detail tables are useful when more than one type of transactional data is present in the source data, for example purchases (items with a set price, quantity, item number) and services (with a price, frequency, contract end date, etc). To create more than one detail table, simply extract transactional data in different Repeat steps (see Extracting transactional data). Nested detail tablesNested detail tables are used to extract transactional data that are relative to other data. They are created just like multiple detail tables, with two differences:
Using
nested detail tables in the Designer module requires scripting, as described in this How-to: Cloning your way through nested tables.
ExampleAn XML source file lists the services of a multi-service provider: Internet, Cable, Home Phone, Mobile. Each service in turn lists a number of "charges", being service prices and rebates, and a number of "details" such as movie rentals or long distance calls. The services can be extracted to a detail table called record.services. The "charges" and "details" can be extracted to two nested detail tables. The nested tables can be called record.services.charges and record.services.details. Now one "charges" table and one "details" table are created for each row in the "services" table. |
|