CONTENTS Title Page Copyright Page Preface 1 Introduction 1.1 What the Mapping Service Does 1.2 Summary of What You Must Do 1.3 Setting User Preferences 1.4 Case-sensitivity in Tables 2 Table Attributes 2.1 Direction 2.2 Test Mode 2.3 Application ID(s) 2.4 Table Notes 2.5 Audit Controls 2.6 Default Runtime Qualifiers 2.7 Initializations 2.7.1 Caching of Mapping Tables 3 Files 3.1 Get Record Layouts From CDD/Plus 3.2 Get Record Layouts from File 3.3 Enter/Edit Record Sequence 3.3.1 Parent to Child Relationships 3.3.2 Sibling Relationships 3.3.3 Variant Relationships 3.3.4 Combined Relationships 3.3.5 FB Record Types 3.3.6 Enter Record Attributes - Outgoing 3.3.7 Enter Record Attributes - Incoming 3.4 Enter/Edit Record Layouts 3.5 Specify FDL file 3.5.1 Application File Batching 4 DEC/EDI Document Data 4.1 Document Definitions and Data Labels 4.2 Import Document Definitions from DEC/EDI 4.3 Get DEC/EDI Document Definitions From File 4.3.1 Possible Extract Errors 4.4 Edit DEC/EDI Document Definitions 4.5 List DEC/EDI Document Definitions 5 Mapping 5.1 Create/Edit Mapping - Index of Mapping Sets 5.2 Index of Maps 5.3 Using the Map Screen 6 Supported Mapping Constructs 6.1 Application File, Records, and Tree Structure 6.2 Relationships Between Records 6.3 Definition of Mapping 6.4 Source and Destination 6.5 The Mapping Table 6.6 One-to-One Mapping 6.7 Splitting 6.7.1 Splitting Into Independent Segments/Records 6.7.2 Splitting into a Parent and Children 6.8 Combining 6.9 Skipping a Level 6.10 Avoiding Cross-Over Patterns 6.11 Set Context Line Must Be Used 6.12 Use of Explicit Qualification and Explicit Instances 6.12.1 Mapping Assignments 6.13 Children Are Created After Parents 6.14 Unused Records/Segments Permitted 7 Mathematical Expressions in Mappings 7.1 Expressions 7.2 Record Fields 7.3 Data Labels 7.4 Data Label Attributes 7.5 Numeric Constant 7.6 Quoted String 7.7 Special Constant 7.8 Global Variables 7.9 Numeric and String Values 7.10 An Expression Using Operators 7.10.1 Arithmetic Operators 7.10.2 String Operators 7.10.3 Relational Operators 7.10.3.1 Example 7.10.4 Logical Operators 7.11 A Conditional Statement Using the IF Expression 7.12 Operator Precedence 7.13 Math Precision 7.14 Functions 7.15 Expression Examples 8 Lookup Tables 8.1 Codes and Values 8.2 Create/Edit 9 Using Hooks to Customize the Mapper 9.1 Customization Routines 9.2 Edit/Create Customization Declaration 9.3 Customization Routine Declaration 9.3.1 Accessing SQL Databases from Hooks 9.4 Hook Point Declarations 9.5 Hook Example 9.5.1 Excerpts from Compile Listing 9.5.2 Sample C Customization Routine 9.5.3 Linking Instructions 9.5.4 Comments 9.5.5 Using the USER EVENT hook 10 Debugging Facilities 10.1 Mapper Test 10.2 Mapping Debug 10.3 File I/O Debug 10.3.1 Viewing Messages written to Standard Output 11 Tracking Facilities 11.1 Tracking Facilities 11.2 The Tracking Utility Main Menu Screen 11.2.1 Field Options in the Tracking Query Main Menu Screen 11.2.2 Keystroke Definitions in the Tracking Query Main Menu Screen 11.3 The Tracking Query Prompts Screen 11.3.1 Field Options in the Tracking Query Prompts Screen 11.3.2 Keystroke Definitions in the Tracking Query Prompts Screen 11.4 The Selected Tracking List Screen 11.4.1 Description of Selected Tracking List Screen 11.4.2 Keystroke Definitions in the Selected Tracking List Screen 11.5 Audit Operations 11.5.1 Creating the Database 11.5.2 Accessing the Audit Database 11.5.3 Audit Log 11.5.4 Runtime Audit Levels 11.5.5 Audit Database Fields 11.6 History Entries 11.6.1 History Points 11.6.2 Names of History files 11.6.3 Format of History Files for Hook Calls 12 Archive Procedure 12.1 Archive Procedure 12.1.1 Installed Databases 12.1.2 Audit Databases 12.2 Archive Functions 12.2.1 BACKUP 12.2.2 MIGRATE 12.2.3 RESTORE 12.2.4 SWITCH 12.2.5 DELETE 12.2.6 LIST 12.2.7 CHANGE 13 Making the Mapper Secure 13.1 FBR$SUPERVISOR 13.2 FBR$DEVELOPMENT 13.3 FBR$OPERATIONS A Using the Mapper DCL Commands FILEBRIDGE DEFINE FILEBRIDGE TRACKING B Error Messages B.1 Error Handling in the UI B.2 Error Handling in the Compiler B.3 Error Handling at Runtime B.4 Mapper Error Codes and Messages Glossary FIGURES 1-1 User Preferences Screen 3-1 Invoices 3-2 Invoice Tree Structure 3-3 Invoices With Sibling Records 3-4 Sibling Construct 3-5 Variant Construct 3-6 Combinations of Constructs 4-1 LIST DATA_LABELS Screen 4-2 Data Labels and Document Structure 5-1 Current Instance Path 5-2 Linked Records in a Tree 5-3 Notating Linked Records 5-4 Parent to Child Instance 5-5 Full and Shortened References 5-6 Explicit Instance Path 5-7 Mapping Two Simple Trees 5-8 Setting Context 5-9 Simple Repeat Pattern 5-10 Source Tree With Several Records 5-11 Tree and Map Fragment 11-1 The Tracking Query Screen 11-2 The Tracking Query Prompts Screen 11-3 The Selected Tracking List Screen TABLES 1-1 Case-sensitivity of Elements in a Table 2-1 Effect of Test Indicator on Outgoing Documents 2-2 Effect of Test Indicator on Incoming Documents 2-3 Default Runtime Qualifiers and Application Client Call Overrides 3-1 Mapper Supported Data Types 5-1 Combinations 7-1 Quotation Marks in Character String Literals 7-2 Unary Operators 7-3 Binary Operators 7-4 Functions 9-1 Fields On The Edit/Create Customization Declaration Screen 11-1 Keystroke Definitions in the Tracking Query Main Menu Screen 11-2 Keystroke Definitions in the Tracking Query Prompts Screen 11-3 Keystroke Definitions in the Selected Tracking List Screen