Está en la página 1de 165

Retail Pro 8 Series

RDA2 Programmers Guide

Retail Pro 3252 Holiday Court La Jolla, CA 92037 USA USA 1-800-738-2457 International +1-858-550-3355 www.retailpro.com

Retail Pro 8 RDA2 Programmers Guide

About this Guide


This document is intended to be a guide to help Software Developers use the Retail Pro APIs to create extensions and customizations to the Retail Pro software. If you believe the information presented here is incomplete or inaccurate, we encourage you to contact us at emanuals@retailpro.com. The software described herein is furnished under a license agreement. Retail Pro 3252 Holiday Court La Jolla, CA 92037 USA USA 1-800-738-2457) International +1-858-550-3355 www.retailpro.com

Copyright Copyright 2008 Intuit, Inc. All rights reserved. Redistributed by Retail Pro under license. Retail Pro 3252 Holiday Court La Jolla, CA 92037 U.S.A. Trademarks Retail Pro and the Retail Pro logo are registered trademarks and/or registered service marks in the United States and other countries. Oracle and Oracle 9i are registered trademarks and/or registered service marks of Oracle Corporation. All rights reserved. Other parties trademarks or service marks are the property of their respective owners and should be treated as such.

Copyright 2008 Retail Pro. All rights reserved ii

Retail Pro 8 RDA2 Programmers Guide

Table of Contents
About this Guide ............................................................................................................................. ii Introduction ......................................................................................................................................1 Revision History ........................................................................................................................1 The RDA2 Object Model .................................................................................................................2 RDA2 and the Retail Pro Database............................................................................................2 RDA2 Basics..............................................................................................................................2 Tables...................................................................................................................................... 2 Documents .............................................................................................................................. 2 Nested Documents .....................................................................................................................3 Fields..........................................................................................................................................3 RDA2 Server Interface (IRdaDB) ....................................................................................................4 RDA2 Server Interface (IRdaDB) ....................................................................................................5 Properties and Methods..............................................................................................................5 All TableNames Property ....................................................................................................... 5 Connected Property................................................................................................................. 6 Preferences Property ............................................................................................................... 6 Connect Method...................................................................................................................... 6 CreateTableByID Method....................................................................................................... 7 CreateTableByName Method ................................................................................................. 7 Disconnect Method ................................................................................................................. 7 UpdatePreferences Method..................................................................................................... 7 IRDATable Interface ........................................................................................................................8 Properties and Methods..............................................................................................................9 Active Property ..................................................................................................................... 10 ActiveIndexID Property........................................................................................................ 10 ActiveIndexName Property .................................................................................................. 10 AllIndexNames Property ...................................................................................................... 11 Bof Property.......................................................................................................................... 11 Bookmark Property............................................................................................................... 11 CustomInterface Property ..................................................................................................... 12 DataPath Property ................................................................................................................. 12 DirectAccess Property .......................................................................................................... 12 Empty Property ..................................................................................................................... 12 Eof Property.......................................................................................................................... 12 FileName Property................................................................................................................ 13 History Property.................................................................................................................... 13 IndexCount Property............................................................................................................. 13 IsRecordDeleted Property..................................................................................................... 13 Copyright 2008 Retail Pro. All rights reserved iii

Retail Pro 8 RDA2 Programmers Guide Name Property ...................................................................................................................... 14 NoSequences Property.......................................................................................................... 14 UseBlockReadWrite Property............................................................................................... 14 Close Method........................................................................................................................ 14 Document Method ................................................................................................................ 14 EraseRecord Method............................................................................................................. 15 Find Method.......................................................................................................................... 15 First Method.......................................................................................................................... 15 Last Method .......................................................................................................................... 16 NewRecord Method.............................................................................................................. 16 Next Method ......................................................................................................................... 16 Open Method ........................................................................................................................ 16 PostRecord Method............................................................................................................... 17 Prior Method ......................................................................................................................... 17 IRdaHistory Interface...............................................................................................................18 Properties and Methods............................................................................................................18 Month Property ..................................................................................................................... 18 Year Property........................................................................................................................ 18 SetMonthYear Method ......................................................................................................... 19 IRdaDirectAccess Interface............................................................................................................20 Properties and Methods............................................................................................................20 RecordCount Property .......................................................................................................... 20 RecordNumber Property ....................................................................................................... 20 GoToRecord Method ............................................................................................................ 21 IRdaDocument Interface ................................................................................................................22 Properties and Methods............................................................................................................22 Add2XMLNode Method....................................................................................................... 23 AllFieldNames Property ....................................................................................................... 24 AllNestedDocNames Property.............................................................................................. 24 Count Property...................................................................................................................... 24 CustomInterface Property ..................................................................................................... 24 DescriptiveInfo Property....................................................................................................... 25 DeSyncDetected Method ...................................................................................................... 25 EditMode Property................................................................................................................ 25 FieldByID Method................................................................................................................ 26 FieldByName Method........................................................................................................... 26 GetBoolean Method.............................................................................................................. 27 GetDateTimeMethod ............................................................................................................ 27 GetDouble Method ............................................................................................................... 27 GetInteger Method................................................................................................................ 28 Copyright 2008 Retail Pro. All rights reserved iv

Retail Pro 8 RDA2 Programmers Guide GetString Method ................................................................................................................. 28 GetSubDouble Method ......................................................................................................... 28 LoadFromStream Method..................................................................................................... 29 Name Property ...................................................................................................................... 29 NestedDocByID Property ..................................................................................................... 29 NestedDocByName Property................................................................................................ 30 NoInventoryLookups Property ............................................................................................. 30 RefreshDocument Method .................................................................................................... 30 RefreshProvider Method....................................................................................................... 31 ReSyncPosition Method ....................................................................................................... 31 ReSyncToLastSetPosition Method ....................................................................................... 31 SaveToStream Method ......................................................................................................... 32 SetBoolean Method............................................................................................................... 32 SetDate/Time Method........................................................................................................... 32 SetDouble Method ................................................................................................................ 33 SetInteger Method................................................................................................................. 33 SetPosition Method............................................................................................................... 33 SetString Method .................................................................................................................. 34 SetSubDouble Method.......................................................................................................... 34 XMLDOMDocument Method .............................................................................................. 34 XMLSchema2Dir Method .................................................................................................... 35 IRdaField Interface.........................................................................................................................36 Properties and Methods............................................................................................................36 Caption Property ................................................................................................................... 36 Description Property ............................................................................................................. 36 FieldType Property ............................................................................................................... 37 ID Property ........................................................................................................................... 37 LookupList Property ............................................................................................................. 37 Name Property ...................................................................................................................... 37 Size Property......................................................................................................................... 38 Value Property ...................................................................................................................... 38 Text Method.......................................................................................................................... 38 IRdaInventory Interface..................................................................................................................39 Properties and Methods............................................................................................................39 UseInTransit Property........................................................................................................... 39 UseMinMax Property ........................................................................................................... 40 UseMulti Property................................................................................................................. 40 UsePrice Property ................................................................................................................. 40 UseProm Property................................................................................................................. 41 UseSroQ Property ................................................................................................................. 41 Copyright 2008 Retail Pro. All rights reserved v

Retail Pro 8 RDA2 Programmers Guide ConnectItemToStyle Method................................................................................................ 41 DisconnectItemFromStyle Method....................................................................................... 41 StyleItems Method................................................................................................................ 42 IRdaSO Interface ............................................................................................................................43 Properties and Methods............................................................................................................43 AddDeposit Method.............................................................................................................. 43 IRdaVouTerms Interface ................................................................................................................44 Percent/Day Pairs.....................................................................................................................44 Properties and Methods............................................................................................................45 Date Property ........................................................................................................................ 45 Kind Property........................................................................................................................ 45 Split Property ........................................................................................................................ 46 SplitTotal Property................................................................................................................ 46 Get_PercentDays Method ..................................................................................................... 46 Set_PercentDays Method...................................................................................................... 47 IRdaTender Interface......................................................................................................................48 Properties and Methods............................................................................................................48 AddItem Method................................................................................................................... 49 CreditCardIsRounded Property............................................................................................. 49 DeleteItem Method ............................................................................................................... 49 RoundedUndefined Property ................................................................................................ 50 Sum Property ........................................................................................................................ 50 TenderItems Property ........................................................................................................... 50 Undefined Property............................................................................................................... 50 XML Property....................................................................................................................... 51 IRdaTenderItem Interface ..............................................................................................................52 Associated Data Types.............................................................................................................52 Tender Type.......................................................................................................................... 52 Properties and Methods............................................................................................................52 Amount Property................................................................................................................... 53 Desc Property........................................................................................................................ 53 Info Property ......................................................................................................................... 53 TenderType Property ............................................................................................................ 53 IRdaStoreCredit Interface...............................................................................................................54 Properties and Methods............................................................................................................54 InitStoreCreditID Method..................................................................................................... 54 StoreCreditID Interface......................................................................................................... 54 IRdaFC Interface ............................................................................................................................55 Properties and Methods............................................................................................................55 FCName Property ................................................................................................................. 55 Copyright 2008 Retail Pro. All rights reserved vi

Retail Pro 8 RDA2 Programmers Guide FCAmount Property.............................................................................................................. 55 IRdaCheck Interface.......................................................................................................................56 Properties and Methods............................................................................................................56 BankNumber Property .......................................................................................................... 56 CheckNumber Property ........................................................................................................ 56 CustomerName Property....................................................................................................... 56 DateofBirth Property............................................................................................................. 57 DriverLicenseNumber Property............................................................................................ 57 StateCode Property ............................................................................................................... 57 IRdaCreditCard Interface ...............................................................................................................58 Properties and Methods............................................................................................................58 AuthorizationNum Property ................................................................................................. 58 CardNumber Property........................................................................................................... 58 CardType Property................................................................................................................ 59 ControlNum Property ........................................................................................................... 59 ExpMonth Property............................................................................................................... 59 ExpYear Property ................................................................................................................. 59 ReferenceNum ...................................................................................................................... 59 IRdaCharge Interface .....................................................................................................................60 Properties and Methods............................................................................................................60 DiscountDays Property ......................................................................................................... 60 DiscountPercent Property ..................................................................................................... 60 NetDays Property.................................................................................................................. 61 IRdaPayments Interface..................................................................................................................62 Properties and Methods............................................................................................................62 NumofPayments Property..................................................................................................... 62 PaymentAmount Property..................................................................................................... 62 StartingDate Property ........................................................................................................... 62 IRdaGift Interface...........................................................................................................................63 Properties and Methods............................................................................................................63 GiftNumber Property ............................................................................................................ 63 InitGiftNumber Method........................................................................................................ 63 IRdaCollection Interface ................................................................................................................64 Properties and Methods............................................................................................................64 Item Method.......................................................................................................................... 64 Length Property .................................................................................................................... 64 RDA2 Table Information ...............................................................................................................65 Table ID Numbers and Names.................................................................................................65 Table Indexes ...........................................................................................................................65 Departments .......................................................................................................................... 66 Copyright 2008 Retail Pro. All rights reserved vii

Retail Pro 8 RDA2 Programmers Guide Customers ............................................................................................................................. 66 Vendors................................................................................................................................. 67 Items ..................................................................................................................................... 67 Invoices................................................................................................................................. 68 POs........................................................................................................................................ 68 SOs........................................................................................................................................ 69 Former Vouchers .................................................................................................................. 69 Pending Vouchers ................................................................................................................. 70 ASN Vouchers ...................................................................................................................... 70 Memos .................................................................................................................................. 71 Slips ...................................................................................................................................... 71 SubLocDefs .......................................................................................................................... 71 SubLocQtys .......................................................................................................................... 72 MovNotes ............................................................................................................................. 72 MovOrders ............................................................................................................................ 73 TOs ....................................................................................................................................... 73 Nested Document Names and ID Numbers .............................................................................74 Table Schemas .........................................................................................................................75 Departments .......................................................................................................................... 75 Customers ............................................................................................................................. 76 Vendors................................................................................................................................. 78 Items ..................................................................................................................................... 79 Invoices................................................................................................................................. 83 ReceiptItem (Nested Table) .................................................................................................. 88 POs........................................................................................................................................ 91 POItem (Nested Table) ......................................................................................................... 94 SO ......................................................................................................................................... 97 SOItem (Nested Table) ....................................................................................................... 102 SODeposit (Nested Table) .................................................................................................. 106 SOHistory (Nested Table) .................................................................................................. 106 Former Vouchers ................................................................................................................ 107 Pending Vouchers ............................................................................................................... 111 ASN Vouchers .................................................................................................................... 115 VoucherItem (Nested Table) .............................................................................................. 119 Memos ................................................................................................................................ 122 MemoItem(Nested Table)................................................................................................... 124 Slips .................................................................................................................................... 126 SlipItem (Nested Table)...................................................................................................... 129 SubLocDefs ........................................................................................................................ 131 SubLocQtys ........................................................................................................................ 131 Copyright 2008 Retail Pro. All rights reserved viii

Retail Pro 8 RDA2 Programmers Guide MovNotes ........................................................................................................................... 132 MovNoteItem (Nested Table) ............................................................................................. 134 MOs .................................................................................................................................... 136 MOItem (Nested Table)...................................................................................................... 138 TOs ..................................................................................................................................... 140 TOItem (Nested Table)....................................................................................................... 141 XML Preferences .........................................................................................................................144 Updating Preferences .............................................................................................................144 Sample Preference Document............................................................................................. 145 Programming with RDA2.............................................................................................................146 Tips and Tricks ......................................................................................................................146 Converting SID Types ........................................................................................................ 146 Setting Fee and Shipping Amounts..................................................................................... 146 Using COM Objects in a Delphi Console Application ....................................................... 147 RDA2 and .NET A Word of Warning ............................................................................. 148 Visual Basic Examples ..........................................................................................................149 Connecting to the Database ................................................................................................ 149 Adding Table Names to a Combo Box ............................................................................... 149 Opening a Table and Setting the Active Index ................................................................... 149 Add a Department............................................................................................................... 149 Add an Item to a Purchase Order........................................................................................ 150 Use a Field with a Lookup List to Populate a Combo Box................................................. 151 Create an IrdaInventory Object........................................................................................... 151 Create an IRdaSO Object.................................................................................................... 151 Create IRdaTender Objects....................................................................................................152 To create an IRdaTender Object for the Invoices Table..................................................... 152 To create an IRdaTender Object for SO deposits ............................................................... 152 Get the Terms of a Purchase Order..................................................................................... 152 Get the Tender Information for a Receipt........................................................................... 154

Copyright 2008 Retail Pro. All rights reserved ix

Retail Pro 8 RDA2 Programmers Guide

Introduction
This document is intended to be a guide to help Software Developers use the Retail Pro APIs to create extensions and customizations to the Retail Pro software. The RDA2.dll is used for standalone applications to read and write information to the Retail Pro database, but the interfaces used in RDA2 are also used to pass data in the Retail Pro plugins API. It is necessary to understand the RDA2 object model i order to create functional Retail Pro plugins.

Revision History
Revision 2 In RDA2 versions dated 12/5/01 and later the IRdaTenderXML object has been renamed IRdaTender. The Programmers Guide now refers only to IRdaTender. Revision 3 Updated Documentation to include IRdaTenderItem and the specific tender interfaces. Added new properties and methods to the IRdaDocument Interface

Copyright 2008 Retail Pro. All rights reserved 1

Retail Pro 8 RDA2 Programmers Guide

The RDA2 Object Model


RDA2 and the Retail Pro Database
The Retail Pro Version 8 and earlier is built on B-Tree Filer. As such, data is not stored in a traditional table format. RDA2 uses the underlying structure of the Retail Pro database and presents the data in a more traditional table oriented format; therefore, the table schema exposed by RDA2 do not reflect the physical (and in some cases, logical) structure of Retail Pro itself.

RDA2 Basics
The major classes found in the RDA2 library are the IRdaTable, IRdaDocument and IRdaField classes.

Tables
IRdaTables represent tables. All other RDA2 objects are created from IRdaTable. IRdaTable itself does not directly expose individual fields and values but does control the current record position of a table as well as other table parameters.

Documents
IRdaDocuments are created from IRdaTable objects or existing IRdaDocument objects. Internally, IRdaDocuments use XML documents and can present data in the XML format. IRdaDocument objects directly expose the individual fields and values of a table. There are two types of IRdaDocuments: standard and nested. Standard documents are linked to IRdaTables and created from IRdaTable objects.

Copyright 2008 Retail Pro. All rights reserved 2

Retail Pro 8 RDA2 Programmers Guide

Nested Documents
Nested documents are used in places where multiple records of information can exist for a single record in a table. Nested documents are always attached to standard documents (that is, they are created from IRdaDocument objects that are standard documents). Nested documents do not exist for every table in the Rda2 model. For example, the Invoices table consists of what would normally be thought of as Invoice header records. An IRdaTable object is created for the Invoices table. There is an IRdaDoucment object automatically connected to the IRdaTable object. In this case, the IRdaDocument object could be used to manipulate the invoice header records, add a new invoice, delete an invoice, etc. The Invoice items (i.e. the items connected to the Invoice header records) would be accessed using a nested document. In this case, it would be the ReceiptItems nested document. (Nested documents are sometimes referred to as nested tables). The nested document is an IRdaDocument object created using the methods of IRdaDocument itself. In this case, the ReceiptItems nested document exposes the fields and values of the invoice items. For a complete list of nested documents and the standard documents they are attached to, see Nested Document Names and ID Numbers.

Fields
Most of the data in the Retail Pro database is presented by RDA2 using a table model with fields as the table columns and rows representing each record of data. The fields themselves are manipulated using the IRdaDocument object or IRdaField object. There are two ways to specify a particular field in RDA2: Field ID numbers and Field names. Every field in an RDA2 table is assigned a field ID number. Almost every field ID number is assigned to a constant enumerated in the RDA2 object model. Field ID constants start with the FID prefix (F-I-D). For example, the constant fidTaxAmt when used with the Receipts table refers to the field that contains the total amount of tax for the receipt. Fields are also assigned Field names. Field names are not enumerated in the RDA2 library. Field names are only used with the IRdaField object. Field names start with FLD. Note: since FID and FLD can appear very similar in lower case depending on type font (fid and fld), field ID number constant names have sometimes been confused with field names.

Copyright 2008 Retail Pro. All rights reserved 3

Retail Pro 8 RDA2 Programmers Guide

RDA2Server (IRdaDB) IRdaTable IRdaInventory

IRdaHistory

IRdaSO

IRdaDirectAccess

IRdaDocument

IRdaVouTerms

IRdaDocument (Nested) IRdaField

IRdaTender

IRdaTenderItem

DOMDocument IRdaStoreCredit IRdaField

IRdaFC

DOMDocument

IRdaCheck

IRdaCreditCard IRdaCollection IRdaCharge

IRdaPayments

IRdaGift

Copyright 2008 Retail Pro. All rights reserved 4

Retail Pro 8 RDA2 Programmers Guide

RDA2 Server Interface (IRdaDB)


The Rda2Server object is used to connect to a specific Retail Pro database. All other objects in the RDA2 object model are created from the Rda2Server object. Use the Connect method of Rda2Server to connect to an Retail Pro database. Once connected, use the CreateTableByID or CreateTableByName methods to create IRdaTable objects that enable access to the Retail Pro data. Use the Disconnect method to close the connection to the database. You only need to explicitly disconnect from the Retail Pro database if you want to reuse the same object to connect to a different database; otherwise, when your program releases the RDA2Server object it will automatically close any open tables and disconnect. The Preferences property returns an XML document containing the system preferences. The UpdatePreferences method allows you to set currency rates.

Properties and Methods


AllTableNames Property Returns all available table names. Connected Property Indicates state of connection to database. Preferences Property Returns the Retail Pro preferences. Connect Method Connects to the database. CreateTableByID Creates an IRdaTable object. CreateTableByName Creates an IRdaTable object. Disconnect Method Disconnects from the database. UpdatePreferences Method Updates the Retail Pro Preferences.

All TableNames Property


AllTableNames returns a list of available tables as an IRdaCollection object. Syntax:
IRdaCollection := Rda2Server.AllTableNames;

Remarks: The tables exposed by the Rda2Server object may vary with different versions of Retail Pro. The AllTableNames property returns the names of all the tables available in the current Retail Pro database.

Copyright 2008 Retail Pro. All rights reserved 5

Retail Pro 8 RDA2 Programmers Guide

Connected Property
Returns a boolean value indicating whether or not the Rda2Server object is currently connected to the database. Read only. Syntax:
blnDBConnected := Rda2Server.Connected;

Preferences Property
Returns a DOMDocument object that contains a subset of the Retail Pro preferences. Read only. (See the documentation on the XML Preferences Document.) Syntax:
DOMDocument := Rda2Server.Preferences;

Connect Method
Establishes a connection to an RPro database. Example. Syntax:
Rda2Server.Connect(DataPath, Workstation, UserName, Password)

Parameters: DataPath a string value containing the path to Retail Pro. Example: 'c:\Retail' Workstation a long integer indicating the workstation number. UserName Not implemented, leave blank. Password Not implemented, leave blank. Remarks: If you set the Workstation parameter to zero, Retail Pro will use the value of the environment variable RPROWS to determine the workstation number. Using zero without this variable set will lead to various error conditions. There is no provision for an error return or error value using the Connect method. Use the Connected property to determine whether or not the connection was successful. The workstation parameter will affect data such as preferences and sequence numbers that are workstation dependent. If there is no workstation directory for the workstation specified in the Connect method, a new workstation directory will be created.

Copyright 2008 Retail Pro. All rights reserved 6

Retail Pro 8 RDA2 Programmers Guide

CreateTableByID Method
Creates and returns an IRdaTable object based on a table ID. This method does not actually create a new table structure. Rather, it creates an IRdaTable object based on table structures that are predefined by Rda2. Syntax:
Set IRdaTable = Rda2Server.CreateTableByID(TableID)

Parameters: TableID a long integer. Must be a valid table ID number. (See the RDA2 Table Schema Document).

CreateTableByName Method
Creates and returns an IRdaTable object based on a table name. Syntax:
Set IRdaTable = Rda2Server.CreateTableByName(TableName)

Parameters: TableName a string containing a valid table name. The parameter is case sensitive.

Disconnect Method
Disconnects the Rda2Server object from the Retail Pro database. In most cases, it is not necessary to use the Disconnect method. Syntax:
Rda2Server.Disconnect

UpdatePreferences Method
Used to update the currency rate preferences. This method will only change the currency rates for currencies that are already in the system. (See the VB RDA2ObjectModel project for an example.) Syntax:
Rda2Server.UpdatePreferences(Preference)

Parameters: Preference an IXMLDOMElement corresponding to the CURRENCY node in the XML Preferences document.

Copyright 2008 Retail Pro. All rights reserved 7

Retail Pro 8 RDA2 Programmers Guide

IRDATable Interface
The IRdaTable object presents data from the Retail Pro database in a table like format. The properties and methods of the IRdaTable interface are used to manipulate the data on a rowby-row basis. Individual fields are not accessible from the IRdaTable object. Use the IRdaDocument and IRdaField interfaces to manipulate individual fields. IRdaTable objects are instantiated using the CreateTableByID and CreateTableByName methods of an Rda2Server object. The RDA2 object model contains a predefined table schema. (See the RDA2 Table Schema Documentation). New table structures cannot be defined or opened using RDA2. IRdaTables do not reflect a true relational model for the Retail Pro database. Data is represented in a row/column format where the columns of the table are fields in the Retail Pro database. Once a table is opened, RDA2 maintains a current record position within the table. Row order within an open table is determined by the current active index of the table. The current index can be changed using the ActiveIndexName and ActiveIndexID properties. Use the Open and Close method or the Active property of IRdaTable to open and close the table. Use the First, Last, Next, Prior, Find methods, or the Bookmark property to change the current record position. The Bof and Eof properties indicate whether the current position is at the beginning or the end of the table. Use the NewRecord method to add a new record to the table and the PostRecord method to save a new record or update the current record. IRdaDocument, IrdaDirectAccess, and IrdaHistory objects are created using the Document method and DirectAccess and History properties of IRdaTable respectively.

Copyright 2008 Retail Pro. All rights reserved 8

Retail Pro 8 RDA2 Programmers Guide

Properties and Methods


Active Property Indicates whether a table is active (open) or not. ActiveIndexID Property Sets the active index for a table. ActiveIndexName Property Sets the active index for a table. AllIndexNames Property Returns the names of all available indexes. Bof Property Indicates that the current table is at the first record. Bookmark Property Gets or sets the current record. CustomInterface Property Creates an IRdaInventory or IRdaSO object. DataPath Property Not used. DirectAccess Property Allows direct access to table positioning. Empty Property Indicates that a table is empty. Eof Property Indicates that the current position is the last record in the table. FileName Property Returns the name of the current data file. History Property Creates an IRdaHistory object. IndexCount Property Returns the number of available indexes. IsRecordDeleted Property Indicates that a record has been deleted. Name Property Not used. NoSequences Property Indicates the state for sequence numbers. UseBlockReadWrite Property Allows block reading and writing. Close Method Closes the table. Document Method Creates an IRdaDocument object. EraseRecord Method Deletes a record. Find Method Finds an index key value. First Method Sets the current record position to the first record. Last Method Sets the current record position to the last record. NewRecord Method Inserts a new record. Next Method Moves the current record position to the next record. Open Method Opens a table. PostRecord Method Saves the current record to the database. Prior Method Moves the current record position to the prior record.

Copyright 2008 Retail Pro. All rights reserved 9

Retail Pro 8 RDA2 Programmers Guide

Active Property
Returns a true/false value indicating whether a table is active (open) or not. Can also be used to set the Active property for a table. Syntax:
blnTableActive := IrdaTable.Active;

or
IrdaTable.Active := True | False;

Remarks: Setting this property can force a table to open or close. If the Active property is False and is set to True, the table will be opened. If the Active property is True and is set to False, the table will be closed.

ActiveIndexID Property
Returns or sets active index of a table using the index ID number (long integer). Example. Syntax:
lngIndexID := IrdaTable.ActiveIndexID;

or
IRdaTable.ActiveIndexID := lngIndexID;

Remarks: Setting the Active index of a table changes the record order within the table. For example, if the active index of the Departments table is DCS then the table is ordered by the DCS field. If the active index is changed to DCS Name, the table is ordered by DCS Name. Setting the Active index of a table affects the behavior of the Find method. Note: Each table has a default index that is active when the table is opened. See the list of Table Indexes.

ActiveIndexName Property
Returns or sets the active index of a table using the index name (string). Syntax:
strIndexName := IrdaTable.ActiveIndexName;

or
IRdaTable.ActiveIndexName := strIndexName;

See the remarks under ActiveIndexByID property.

Copyright 2008 Retail Pro. All rights reserved 10

Retail Pro 8 RDA2 Programmers Guide

AllIndexNames Property
Returns a list of all index names available for the table. The index names are returned as an IRdaCollection object. This property is read only. Syntax:
IndexNames := IrdaTable.AllIndexNames;

Bof Property
Returns a Boolean value that indicates if the current record is the first record in the table. Syntax:
blnBOF := IrdaTable.Bof;

Bookmark Property
Use the Bookmark property to get or set the current record position in the IRdaTable object. Bookmarks are returned as integers expressed as a variant data type. Syntax:
vntBMark := IRdaTable.Bookmark;

or
IRdaTable.Bookmark := vntBMark;

Remarks: Bookmarks makes for a quick way of revisiting a known record in an IRdaTable. If you need to do a lot of searching through a table that does not have a suitable index you can create a hash table based on your search criteria and store the bookmarks in it. It takes some time to initially go through the entire table and generate hash values and read bookmark values, but it pays if you have to to many reoccurring searches on the same table. In the Items table, the Bookmark is synonymous to Item ID so if you know the item ID you can quickly locate that item using the Bookmark property.

Copyright 2008 Retail Pro. All rights reserved 11

Retail Pro 8 RDA2 Programmers Guide

CustomInterface Property
Returns an RDA2 object. The returned object depends on the IRdaTable that has been opened. Read only. Syntax:
Object := IRdaTable.CustomInterface;

Remarks: CustomInterface returns the following objects based on the IRdaTable that has been opened:
Table Inventory SOs Invoices SODeposit IRdaInventory IRdaSO IRdaTender IRdaTender CustomInterface Object

DataPath Property
The DataPath property has been superceded by the DataPath parameter of the Connect method. The IRdaTable DataPath property is no longer used.

DirectAccess Property
Returns an IRdaDirectAccess object for the IRdaTable object. Read only. Syntax:
IRdaDirectAccess := IrdaTable.DirectAccess;

See the documentation on IrdaDirectAccess.

Empty Property
Returns a Boolean value indicating whether the table is empty. Read only. Syntax:
blnTableEmpty := IrdaTable.Empty;

Eof Property
Returns a Boolean value indicating whether the current record is the last record in the table. Read only. Syntax:
blnEof := IRdaTable.Eof;

Copyright 2008 Retail Pro. All rights reserved 12

Retail Pro 8 RDA2 Programmers Guide

FileName Property
Returns or sets the name of the file used by IRdaTable table directly. This property can sometimes be used to access a file that is not normally exposed by RDA2. Syntax:
IRdaRTable.FileName := strFileName;

or
strFileName := IrdaRTable.FileName;

strFileName is a string variable. CAUTION: When using this property to set the file name, the file itself must match the schema of the currently open table. Setting the FileName property incorrectly can have catastrophic and/or unpredictable results.

History Property
Returns an IRdaHistory object for the table. Read only. (See IRdaHistory). Syntax:
IRdaHistory := IRdaTable.History;

Remarks: Not every table supports the IRdaHistory object. IRdaHistory objects can only be created for the Invoices, Former Vouchers, Pending Vouchers, ASN Vouchers, Memos and Slips tables.

IndexCount Property
Returns the number of indexes for a table as a long integer. Read only. Syntax:
lngIndexCount := IRdaRTable.IndexCount;

IsRecordDeleted Property
Returns a Boolean value indicating whether or not a record in the table is marked for deletion. Read only. Applies only to tables that are using Default Order as the active index. (See ActiveIndexID and ActiveIndexName properties.) Syntax:
blnRecordDeleted := IRdaTable.IsRecordDeleted;

Remarks: When using the Default Order as the active index for a table, all records from the database are included in the table. Due to the way the Retail Pro database operates, records that are marked for deletion, but not yet actually deleted, could be included in the table. IsRecordDeleted will be true for records that are marked for deletion but not yet deleted. Copyright 2008 Retail Pro. All rights reserved 13

Retail Pro 8 RDA2 Programmers Guide

Name Property
No longer used in RDA2.

NoSequences Property
Indicates whether RetailPro is using sequenced numbers for receipts, sales orders, etc. Returns a boolean value. Read only. Syntax:
blnNoSeq := IRdaTable.NoSequences;

Remarks: If sequence numbers are not being used, NoSequences returns True. If sequence numbers are being used, NoSequences returns False.

UseBlockReadWrite Property
Returns or sets the block read/write flag. Syntax:
IRdaTable.UseBlockReadWrite := True | False;

or
blnUseBlock := IRdaTable.UseBlockReadWrite;

Remarks: Setting UseBlockReadWrite to True can result in faster read and write times when reading an entire table using IRdaDirectAccess. In general, UseBlockReadWrite should be set to False.

Close Method
Closes a table. Setting the Active property to False will also close the table. Syntax:
IRdaTable.Close

Document Method
Returns the IRdaDocument object for the table. (See IRdaDocument). Syntax:
IRdaDocument = IRdaTable.Document;

Remarks: The table must be open before calling this method.

Copyright 2008 Retail Pro. All rights reserved 14

Retail Pro 8 RDA2 Programmers Guide

EraseRecord Method
Deletes the current record of the IRdaTable. Syntax:
IRdaTable.EraseRecord;

Remarks: Although the record is erased, the current position in the IRdaTable object does not change as a result of invoking EraseRecord. In other words, the Bookmark value remains the same after the EraseRecord method is invoked and the field values are available until the current record position in the table is changed.

Find Method
Searches the current active index for a key value and returns a boolean value indicating whether the record was found or not. Example. Syntax:
blnFound := IRdaTable.Find(FindValue, ExactMatch);

Parameters: FindValue a string expression containing the key value to find. ExactMatch boolean Setting ExactMatch to True causes RDA2 to locate the key that matches FindValue exactly. See remarks. Remarks: If the key value is found, Find returns True and the current record is positioned to the found record. If the index value is not found, Find returns false and the current record is unchanged. Find does not operate as a filter on the RDA table. Find attempts to find the first record that matches the FindValue. Find will not operate on indexes that do not have unique values. In general, ExactMatch should be set to False when using this method. The actual structure of the RPro index keys makes it difficult to construct a FindValue that will exactly match an RPro key.

First Method
Positions the current record at the first record of the table based on the active index. Syntax:
IRdaTable.First;

Remarks: Invoking the First method will also set the Bof property to true.

Copyright 2008 Retail Pro. All rights reserved 15

Retail Pro 8 RDA2 Programmers Guide

Last Method
Positions the current record at the last record of the table based on the active index. Syntax:
IRdaTable.Last;

Remarks: Invoking the Last method will also set the Eof property to true.

NewRecord Method
Creates a new record in the table. Example. Syntax:
IRdaTable.NewRecord;

Remarks: NewRecord is used only to create a new row in the table represented by the IRdaTable object. NewRecord does not update the data file itself. The PostRecord method is used to update the data file. Immediately after NewRecord is called, the tables Bookmark property will be 0. The Bookmark property will contain the Bookmark of the new record after the PostRecord method is called. If PostRecord is never called, the table is not updated. If the current position of the table is changed after the NewRecord method is called but before PostRecord is called, the results are unpredictable and the table (and data file) may be corrupted. The recommended procedure is to call NewRecord, set all necessary fields and call PostRecord.

Next Method
Positions the current record to the next record of the table based on the active index. Syntax:
IRdaTable.Next;

Remarks: Invoking the Next method when the Eof property is true has no effect.

Open Method
Opens the table and positions the current record to the first record based on the default index for the table. (See Table Indexes). Syntax:
IRdaTable.Open;

Copyright 2008 Retail Pro. All rights reserved 16

Retail Pro 8 RDA2 Programmers Guide

PostRecord Method
Updates the current row of the table in the database. If the NewRecord method is called and the current row is a new row for the table, then PostRecord inserts the new row into the database. Example. Syntax:
IRdaTable.PostRecord;

Remarks: The current active row of the table (and the Bookmark property) do not change as a result of calling PostRecord. PostRecord causes all fields of the table to be updated. In some instances, the record position after calling PostRecord may be lost. This can lead to problems if you are, for example: iterating through a table and making changes to several records in a row. If you run into this problem a way of solving it is to save the Bookmark property immediately before calling PostRecord and resetting it to the saved value immediately afterwards.

Prior Method
Positions the current record to the prior record of the table based on the active index. Syntax:
IRdaTable.Prior;

Remarks: Invoking the Prior method when the Bof property is true has no effect.

Copyright 2008 Retail Pro. All rights reserved 17

Retail Pro 8 RDA2 Programmers Guide

IRdaHistory Interface
IRdaHistory objects are created using the History property of IRdaTable. Data in the RPro database is stored on a month/year basis. When opened, an IRdaTable points to the most current month/year in the RPro database. The IRdaHistory object is used to manipulate the month/year setting so that history data can be accessed by the IRdaTable object. Use the IRdaHistory Month and Year properties to determine the month/year currently set for the IRdaTable object. Use the SetMonthYear method to change the month/year for the IRdaTable object. Not every table supports the IRdaHistory object. IRdaHistory objects can only be created for the Invoices, Former Vouchers, Pending Vouchers, ASN Vouchers, Memos and Slips tables.

Properties and Methods


Month Property Returns the current month setting. Year Property Returns the current year setting. SetMonthYear Method Sets a new month/year.

Month Property
Returns the history month as a long integer. For a table that is opened on the current RPro database, the Month property will contain the current month. Read only. Syntax:
lngMonth := IRdaHistory.Month;

Year Property
Returns the history year as a long integer. For a table that is opened on the current RPro database, the Year property will contain the current year. Read only. Syntax:
lngYear := IRdaHistory.Year;

Copyright 2008 Retail Pro. All rights reserved 18

Retail Pro 8 RDA2 Programmers Guide

SetMonthYear Method
Sets the IRdaTable to a history month and year. The table MUST be closed before using this method. Syntax:
IRdaHistory.SetMonthYear(Month, Year);

Parameters: Month the month number (1 to 12) as a long integer. Year the Year number (ex. 2000) as a long integer. Remarks: Setting the history month and year to a month and year that dont exist does NOT generate an error condition. Errors are not generated until an attempt is made to read the table data. You can use the IRdaTable.FileName property to verify whether the selected data file actually exist before trying to open the table.

Copyright 2008 Retail Pro. All rights reserved 19

Retail Pro 8 RDA2 Programmers Guide

IRdaDirectAccess Interface
Provides a means of directly accessing the record count and number of an IRdaTable and changing the active record of an IRdaTable. (See IRdaTable DirectAccess Property).

Properties and Methods


RecordCount Property Returns the number of records in a table. RecordNumber Property Returns the current record number (bookmark). GoToRecord Method Sets the current record of the table.

RecordCount Property
Returns the number of records in a table as a long integer. Read only. Syntax:
lngRecCount := IRdaDirectAccess.RecordCount;

Remarks: RecordCount is only valid for tables that have Default Order as an index and only when Default Order is the active index on the table. Otherwise, RecordCount will return a 1. (See the ActiveIndexID property and the section on Table Indexes).

RecordNumber Property
Returns the current record number of the table as a long integer. Read only. Syntax:
lngRecNumber := IRdaDirectAccess.RecordNumber;

Remarks: The value returned by RecordNumber will be affected by using any of the table positioning methods (First, Last, Next or Prior). The record number returned is identical to the IRdaTable Bookmark property.

Copyright 2008 Retail Pro. All rights reserved 20

Retail Pro 8 RDA2 Programmers Guide

GoToRecord Method
Sets the current record of the IRdaTable and returns a boolean value indicating whether the current record was set or not. Syntax:
blnGoTo := IRdaDirectAccess.GoTo(lngRecNumber);

Parameters: lngRecNumber the record number expressed as a long integer. (Identical to the Bookmark value of the IRdaTable object). Remarks: The GoToRecord method can only be used with tables that have Default Order as an index and only when Default Order is the active index. Otherwise, GoToRecord will always return false and the current record of the table will not be changed. (See the ActiveIndexID property and the section on Table Indexes).

Copyright 2008 Retail Pro. All rights reserved 21

Retail Pro 8 RDA2 Programmers Guide

IRdaDocument Interface
The IRdaDocument object can be used to manipulate the fields in an IRdaTable. IRdaDocument objects are created using the Document method of IRdaTable and are linked to the IRdaTable object. IRdaField objects are instantiated using the FieldByID and FieldByName methods of IRdaDocument. Nested documents (see Nested Documents) are created using the NestedDocByID and NestedDocByName properties of IRdaDocument. Some methods of the IRdaDocument (DesyncDetected, ResyncPosition, ResyncToLastSetPosition, RefreshDocument, and RefreshProvider) are only functional when called from inside a Retail Pro plugin.

Properties and Methods


Add2XMLNode Method Adds a node to an XML document. AllFieldNames Property Returns a list of all field names in the current document. AllNestedDocNames Property Returns a list of all nested document names in the current document. Count Property Returns the number of records in a nested document. CustomInterface Property Creates an IRdaTender or IRdaVouTerms object. DescriptiveInfo Property Returns an XML document containing field descriptions. DesyncDetectedMethod IRdaField and IRdaDocument (nested) data providers are desynchronized. EditMode Property Reads or sets whether Retail Pro has the current document in editable mode or not. FieldByID Method Creates an IRdaField object. FieldByName Method Creates an IRdaField object. GetBoolean Method Returns the value of a field with datatype boolean. GetDateTime Method Returns the value of a field with datatype date. GetDouble Method Returns the value of a field with datatype double. GetInteger Method Returns the value of a field with datatype integer. GetString Method Returns the value of a field with datatype string. GetSubDouble Method Returns the value of a double datatype field that can have multiple values. LoadFromStream Method Implments a method of pasting an IRdaDocument. Name Property Returns the name of an IRdaDocument as a string. NestedDocByID Property Creates an IRdaDoucment object for a nested document. Copyright 2008 Retail Pro. All rights reserved 22

Retail Pro 8 RDA2 Programmers Guide NestedDocByName Property Creates an IRdaDoucment object for a nested document. NoInventoryLookups Property Disables lookup of extended item information on nested item documents. RefreshDocument Method Refreshes the values in the UI with data from the IRdaDocument data provider. RefreshProvider Method Forces the IRdaDocument to update its values with the data currently in the UI. ResyncPosition Method Forces the IRdaDocument (nested) position to be the same as the UI position. ResyncToLastSetPosition Method Forces UI position to be set to current IRdaDocument (nested) position. SaveToStream Method Implements a method of copying an IRdaDocument. SetBoolean Method Sets the value of a field with datatype boolean. SetDateTime Method Sets the value of a field with datatype date. SetDouble Method Sets the value of a field with datatype double. SetInteger Method Sets the value of a field with datatype integer. SetPosition Method Sets the current record of a nested document. SetString Method Sets the value of a field with datatype string. SetSubDouble Method Sets the value of a double datatype field that can have multiple values. XMLDOMDocument Method Returns an XML document representing the current record. XMLSchema2Dir Method Saves the XML schema of a document to a file.

Add2XMLNode Method
Adds a node to an XML document. The method is not used to write any information to the RPro database. This method could be used to add nodes to an existing XML document to include additional information prior to exporting the document to another system. Syntax:
IRdaDocument.Add2XMLNode(XMLNode, IncludeSchemaTag);

Parameters: XMLNode IXMLDOMNode object the XML node to be added to the XML document. IncludeSchemaTag boolean If true, the schema tag is added along with the node. If false, no schema tag is added.

Copyright 2008 Retail Pro. All rights reserved 23

Retail Pro 8 RDA2 Programmers Guide

AllFieldNames Property
Returns a list of all the field names contained in the IRdaTable. The list is returned as an IRdaCollection object. Read only. Syntax:
Set FieldList = IRdaDocument.AllFieldNames

AllNestedDocNames Property
Returns a list of all the IRdaDocuments nested within the current IRdaDocument. The list is returned as an IRdaCollection object. Read only. Syntax:
NestedDocumentNames := IRdaDocument.AllNestedDocNames;

Count Property
Returns or sets the number of records in a nested document. (See Nested Documents.) Example. Syntax:
lngNestCount := IRdaDocument.Count;

or
IRdaDocument.Count := lngRecCount;

CustomInterface Property
Returns an IRdaTender or IRdaVouTerms object. The returned object depends on the table that was used to create the IRdaDocument object. Read only. Syntax:
Object := IRdaDocument.CustomInterface;

Remarks: CustomInterface applies to IRdaDoucment objects created from IRdaTable objects and IRdaDocuments created as nested documents from existing IRdaDocuments. If the IRdaDocument was created from an IRdaTable for the Invoices table or is a SODeposit nested document of the SOs table, CustomInterface returns an IRdaTender object. If the IRdaDocument was created from an IRdaTable object for the POs table, CustomInterface returns an IRdaVouTerms object. Example. If the IRdaDocument was created as the SODeposit nested document from an IRdaTable object for the SOs table, then CustomInterface returns an IRdaTender object.

Copyright 2008 Retail Pro. All rights reserved 24

Retail Pro 8 RDA2 Programmers Guide

DescriptiveInfo Property
Returns a DOMDocument object (XML) that contains descriptions for the fields in the IRdaTable. Read only. Syntax:
xmlDescripInfo := IRdaDocument.DescriptiveInfo;

Remarks: The DOMDocument returned by DescriptiveInfo is not a complete table schema. The XML document returned by DescriptiveInfo consists of a FIELDS node with a child FIELD node for every field in the table. The FIELDS node has a COUNT attribute with the number of fields in the table. Each child FIELD node has the CAPTION, ID and TYPE attributes. (See Sample Descriptive Info Document.) Note: DOMDocument is a class of MSXML.dll.

DeSyncDetected Method
Sometimes when accessing nested documents from within a plugin you will end up with a state where the IRdaDocument data provider and the IRdaField data provider are pointing to different records in the nested table. DesyncDetected returns True if this is the case. Syntax:
blnProvidersOutOfSync := IRdaDocument.DesyncDetected;

Remarks: This method is only meaningful when called from within a plugin, and then only if the current document is a nested document. Use this method before calling ResyncPosition or ResyncToLastSetPosition to avoid uneccessary resynchronization calls.

EditMode Property
Sets or returns whether Retail Pro has the current document in editable mode or not. This is useful for example to enable a side button plugin only if current document is in edit mode. Syntax:
blnDocEditable := IRdaDocument.EditMode;

or
IRdaDocument.EditMode := True | False;

Remarks: This method is only meaningful when called from within a plugin.

Copyright 2008 Retail Pro. All rights reserved 25

Retail Pro 8 RDA2 Programmers Guide

FieldByID Method
Returns an IRdaField object for a table field specified by the field ID number. Syntax:
IRdaField := IRdaDocument.FieldByID(ID);

Parameters: ID long - the field ID number. Remarks: The field ID must be for a field that is part of the IRdaTable. You cannot create an IRdaField object for fields that are not in the IRdaTable object linked to the IRdaDocument. FieldByID cannot be used for fields in nested documents. Do not use field names with the FieldByID method. Field ID numbers are enumerated in the RDA2 library - see Field ID Constants.

FieldByName Method
Returns an IRdaField object for a table field specified by the field name. Example. Syntax:
IRdaField := IRdaDocument.FieldByName(Name);

Parameters: Name string - the field name. Case-sensitive. Remarks: The field name must be a field that is in the IRdaTable. You cannot reference fields that are not in the IRdaTable. FieldByName cannot be used for fields in a nested document. The name parameter is case sensitive and must match the field name in the RDA2 table schema. See the RDA2 Table Schema for the list of field names in each table. Field names can also be obtained by using the AllFieldNames property of IRdaDocument. Do not use field ID constants with the FieldByName method.

Copyright 2008 Retail Pro. All rights reserved 26

Retail Pro 8 RDA2 Programmers Guide

GetBoolean Method
Returns the value of an IRdaDocument field with type boolean as a boolean. Syntax:
Boolean := IRdaDocument.GetBoolean(FieldID, IsNull);

Parameters: FieldID - long integer - the field ID number. IsNull boolean - True if the value is null, otherwise False. Remarks: This method can be used with regular and nested IRdaDocument objects. For nested IRdaDocument objects, this method is the only way to access the value of fields with type boolean.

GetDateTimeMethod
Returns the value of an IRdaDocument field with type datetime as a datetime. Syntax:
DateTime := IRdaDocument.GetDateTime(FieldID, IsNull);

Parameters: FieldID - long integer - the field ID number. IsNull boolean - True if the value is null, otherwise False. Remarks: This method can be used with regular and nested IRdaDocument objects. For nested IRdaDocument objects, this method is the only way to access the value of fields with type datetime.

GetDouble Method
Returns the value of an IRdaDocument field with type double as a double. Syntax:
Double := IRdaDocument.GetDouble(FieldID, IsNull);

Parameters: FieldID - long integer - the field ID number. IsNull boolean - True if the value is null, otherwise False. Remarks: This method can be used with regular and nested IRdaDocument objects. For nested IRdaDocument objects, this method is the only way to access the value of fields with type double.

Copyright 2008 Retail Pro. All rights reserved 27

Retail Pro 8 RDA2 Programmers Guide

GetInteger Method
Returns the value of an IRdaDocument field with type integer as an integer. Syntax:
Integer := IRdaDocument.GetInteger(FieldID, IsNull);

Parameters: FieldID - long integer - the field ID number. IsNull boolean - True if the value is null, otherwise False. Remarks: This method can be used with regular and nested IRdaDocument objects. For nested IRdaDocument objects, this method is the only way to access the value of fields with type integer.

GetString Method
Returns the value of an IRdaDocument field with type string as a string. Syntax:
String := IRdaDocument.GetString(FieldID, IsNull);

Parameters: FieldID - long integer - the field ID number. IsNull boolean - True if the value is null, otherwise False. Remarks: This method can be used with regular and nested IRdaDocument objects. For nested IRdaDocument objects, this method is the only way to access the value of fields with type string.

GetSubDouble Method
Some fields in the Retail Pro database can contain multiple values (i.e. fields that have different values by stores number or price level). GetSubDouble allows you to designate which one of the available values is returned. For example, for installations with multiple stores, inventory quantities will be stored by store number. The GetDouble method would return the quantity for the store running the application using RDA2. GetSubDouble can return the value for any of the stores. Values are returned as data type double. Syntax:
Double = IRdaDocument.GetSubDouble(FieldID, SubID, IsNull);

Parameters: FieldID long integer the ID number of the field. SubID long integer value indicating which one of the multiple values to return. IsNull boolean - True if the value is null, otherwise False.

Copyright 2008 Retail Pro. All rights reserved 28

Retail Pro 8 RDA2 Programmers Guide

LoadFromStream Method
Loads a previously saved stream (variant). Equivalent to pasting a new document object into the IRdaDocument. Syntax:
IrdaDocument.LoadFromStream(Stream);

Parameters: Stream a variant created using the SaveToStream method of IRdaDocument.

Name Property
Returns the name of the IRdaDocument object as a string. Read only. Syntax:
Name := IRdaDocument.Name;

NestedDocByID Property
Returns the IRdaDocument object for a nested document using the nested documents ID number. Read only. Syntax:
NestedIRdaDocument := IRdaDocument.NestedDocByID(ID);

Parameters: ID a long integer representing the ID number of the nested document. Remarks: Not all IRdaDocument objects will return nested documents. Whether or not an IRdaDocument object will return nested documents depends on the IRdaTable to which it is attached. Nested documents exist in IRdaDocument objects linked to the Invoices, POs, SOs, Former Vouchers, Pending Vouchers, ASN Vouchers, Memos or Slips tables. (See Nested Document Names and ID Numbers).

Copyright 2008 Retail Pro. All rights reserved 29

Retail Pro 8 RDA2 Programmers Guide

NestedDocByName Property
Returns the IRdaDocument object for a nested document using the nested documents name. Read only. Example. Syntax:
NestedIRdaDocument := IRdaDocument.NestedDocByName(NestedDocName);

Parameters: NestedDocName string the name of the nested document. See the Remarks in the NestedDocByID Property section above. (See NestedDocByNames and NestedDocByID properties).

NoInventoryLookups Property
Prevents nested items documents (ReceiptItems, SOItems, etc.) from looking up the extended item information from inventory when loading. This means that only basic item information will be available however it will result in a significant performance increase if iterating through many nested item documents. Syntax:
blnNoInventoryLookups := IRdaDocument.NoInventoryLookups;

or
IRdaDocument.NoInventoryLookups := True | False;

Remarks: See the RDA2 Table Schema Documentation for information regarding which fields are basic vs. extended item information.

RefreshDocument Method
The RefreshDocument method allows a plugin to force the Retail Pro UI to update its values based on the data currently in the IRdaDocument data provider. This is useful when a plugin has written information to the current IRdaDocument but it does not trigger Retail Pro to update its UI automatically. Syntax:
IRdaDocument.RefreshDocument;

Remarks: This method is only useful in plugins.

Copyright 2008 Retail Pro. All rights reserved 30

Retail Pro 8 RDA2 Programmers Guide

RefreshProvider Method
This method is the opposite of RefreshDocument, it will force the values in the Retail Pro UI to be saved to the IRdaDocument data provider. Syntax:
IRdaDocument.RefreshProvider;

Remarks: This method is only useful in plugins. Be careful with calling this method since it can force an update of the current document. This can lead to unexpected results, especially when the current document is new and unfinished.

ReSyncPosition Method
The ResyncPosition method allows a plugin to resynchronize the positions of the IRdaField (UI) and IRdaDocument on a nested document. This method will force the IRdaDocument position to move to the IRdaField (UI) position. Syntax:
IRdaDocument.ResyncPosition;

Remarks: This method is only useful in plugins. This method can be time consuming, make sure to use DesyncDetected to verify that it is really necessary to resynchronize first. Example:
if IRdaDocument.DesyncDetected then IRdaDocument.ResyncPosition;

ReSyncToLastSetPosition Method
The ResyncToLastSetPosition method allows a plugin to resynchronize the positions of the IRdaField (UI) and IRdaDocument on a nested document. This method will force the IRdaField and the highlighted position in the Retail Pro UI to move to the position selected in the last call to SetPosition. Syntax:
IRdaDocument.ResyncToLastSetPosition;

Remarks: This method is only useful in plugins. This method can be time consuming, make sure to use DesyncDetected to verify that it is really necessary to resynchronize first. Example:
if IRdaDocument.DesyncDetected then IRdaDocument.ResyncToLastSetPosition;

Copyright 2008 Retail Pro. All rights reserved 31

Retail Pro 8 RDA2 Programmers Guide

SaveToStream Method
Returns the current document in IRdaDocument as a variant. Syntax:
Variant = IrdaDEocument.SaveToStream();

Remarks: The SaveToStream and LoadFromStream methods provide a means of copying and pasting a document from and to the IRdaDocument object. The variant returned by SaveToStream should not be used for any other purpose.

SetBoolean Method
Sets the value of an IRdaDocument field with type boolean. Syntax:
IRdaDocument.SetBoolean(Value, FieldID);

Parameters: Value boolean New value for the field. FieldID long integer - the field ID number. Remarks: This method can be used with regular and nested IRdaDocument objects. For nested IRdaDocument objects, this method is the only way to set the value of fields with type boolean.

SetDate/Time Method
Sets the value of an IRdaDocument field with type date. Syntax:
IRdaDocument.SetDate(Value, FieldID);

Parameters: Value date New value for the field. FieldID long integer - the field ID number. Remarks: This method can be used with regular and nested IRdaDocument objects. For nested IRdaDocument objects, this method is the only way to set the value of fields with type date.

Copyright 2008 Retail Pro. All rights reserved 32

Retail Pro 8 RDA2 Programmers Guide

SetDouble Method
Sets the value of an IRdaDocument field with type double. Example. Syntax:
IRdaDocument.SetDouble(Value, FieldID);

Parameters: Value double New value for the field. FieldID long integer - the field ID number. Remarks: This method can be used with regular and nested IRdaDocument objects. For nested IRdaDocument objects, this method is the only way to set the value of fields with type double.

SetInteger Method
Sets the value of an IRdaDocument field with type integer. Syntax:
IRdaDocument.SetBoolean(Value, FieldID);

Parameters: Value integer New value for the field. FieldID long integer - the field ID number. Remarks: This method can be used with regular and nested IRdaDocument objects. For nested IRdaDocument objects, this method is the only way to set the value of fields with type integer.

SetPosition Method
Sets the current record position of an IRdaDocument object. Example. Syntax:
IrdaDocument.SetPosition(RecNum);

Parameters: RecNum long integer record number. Remarks: The RecNum value cannot exceed the value of the Count property minus 1.

Copyright 2008 Retail Pro. All rights reserved 33

Retail Pro 8 RDA2 Programmers Guide

SetString Method
Sets the value of an IRdaDocument field with type string. Example. Syntax:
IRdaDocument.SetBoolean(Value, FieldID);

Parameters: Value string New value for the field. FieldID long integer - the field ID number. Remarks: This method can be used with regular and nested IRdaDocument objects. For nested IRdaDocument objects, this method is the only way to set the value of fields with type integer.

SetSubDouble Method
Some fields in the RPro database can contain multiple values (for example, fields that have different values by stores number or price level). SetSubDouble allows you to designate which of the multiple values is being set. See GetSubDouble for additional information. Syntax:
IRdaDocument.SetSubDouble(Value, FieldID, SubID);

Parameters: Value double the new field value. FieldID long the ID number of the field. SubID long an integer value indicating which one of the multiple values to return. SubID is zero based.

XMLDOMDocument Method
Returns an XML document representing the current record of the IRdaDocument object. Syntax:
xmlDoc := IrdaDocument.XMLDOMDocument(IncludeSchemaTag);

Parameters: IncludeSchemaTag boolean If True, the schema tag is included in the XML document. If False, the tag is not included. Remarks: xmlDoc is an DOMDocument object (member of the MSXML class). The XML document returned by this method contains a single element node whose attribute values are the values of the fields in the IRdaDocument object. Valid for regular and nested IRdaDocuments.

Copyright 2008 Retail Pro. All rights reserved 34

Retail Pro 8 RDA2 Programmers Guide

XMLSchema2Dir Method
Writes the schema for a table or nested document to an XML Document file and returns the name of the output file. Syntax: OutputFileName := IRdaDocument.XMLSchema2Dir(DirName, FullData); Parameters: DirName a string expression containing the directory name for the output. FullData a boolean value that determines the scope of the output. If FullData is set to False, only the XML field name and data type are included in the schema. If FullData is set to True, the schema includes the XML field name, data type, label (equivalent to caption of the IRdaField object), description and length.

Copyright 2008 Retail Pro. All rights reserved 35

Retail Pro 8 RDA2 Programmers Guide

IRdaField Interface
IRdaField objects are created using the FieldByID and FieldByName methods of the IRdaDocument object. An IRdaField object can be created for each field of the IRdaDocument.

Properties and Methods


Caption Property Returns the field caption. Description Property Returns the description of a field. FieldType Property Returns the datatype of the field. ID Property Returns the field ID number of a field. LookupList Property Returns the list of available values for fields with preset values. Name Property Returns the name of a field as a string. Size Property Returns the size of a field in bytes. Value Property Returns or sets the value of a field. Text Method Returns the value of a field as a string representation.

Caption Property
Returns the caption used for the field as a string value. (The caption is the short description for the field and is used in Retail Pro as column headings in grids). Read only. Syntax:
Caption := IrdaField.Caption;

Description Property
Returns the description used for the field as a string value. Read only. Syntax:
Description := IRdaField.Description;

Copyright 2008 Retail Pro. All rights reserved 36

Retail Pro 8 RDA2 Programmers Guide

FieldType Property
Returns a long integer value representing the data type of the field. Read only. Syntax:
DataType := IRdaField.FieldType;

Remarks: Field data types are enumerated in RDA2 as follows:


Constant ftpstring ftpinteger ftpdouble ftpdate ftpboolean ftpenum Value 1 2 3 4 5 6 Data Type String Integer Double Date Boolean Enumeration

ID Property
Returns the field ID number as a long integer. Read only. Syntax:
ID := IRdaField.ID;

Remarks: Field ID numbers are also enumerated as a set of constants in RDA2.

LookupList Property
The LookupList property applies only to database fields that have pre-defined values that appear in drop down lists or combo boxes in RetailPro. LookupList returns an IRdaCollection containing the list of available items. Read only. Example. Syntax:
List := IRdaField.LookupList;

Remarks: Some fields in RetailPro allow the user to enter a value as well as select a value from a drop down list. LookupList will return an IRdaCollection object for these fields.

Name Property
Returns the name of the field as a string. Read only. Syntax:
Name := IRdaField.Name;

Copyright 2008 Retail Pro. All rights reserved 37

Retail Pro 8 RDA2 Programmers Guide

Size Property
Returns the size of the field in bytes (as a long integer) for fields with data type string. Otherwise, returns 0. Read only. Syntax:
Size := IRdaField.Size;

Value Property
Returns or sets the value of the field as a variant. Example. Syntax:
FieldValue := IRdaField.Value;

or
IRdaField.Value := NewValue;

Remarks: The Value property is not enabled for the fields of a nested IRdaDocument. Use the Get and Set methods for various data types to get or set the values for fields in nested documents.

Text Method
Returns the value of the field as a string. Syntax:
TextValue := IRdaField.Text;

Copyright 2008 Retail Pro. All rights reserved 38

Retail Pro 8 RDA2 Programmers Guide

IRdaInventory Interface
The IRdaInventory object is used to manipulate inventory items and connect or disconnect individual items to or from styles. IRdaInventory objects are instantiated using the CustomInterface property of IRdaTable but only when the IRdaTable has been created for the Items (inventory) table. (See the CustomInterface property of IRdaTable). IMPORTANT NOTE: An IRdaInventory object should only be created after the IRdaTable has been opened. IRdaInventory objects should be explicitly destroyed before the IRdaTable is closed. In Visual Basic, closing the IRdaTable or destroying an IRdaTable object with an IRdaInventory object still created will result in a catastrophic fatal error. (See the code extract and the RDA2 Visual Basic example project.)

Properties and Methods


UseInTransit Property Returns or sets the use of In Transit quantities in inventory. UseMinMax Property Returns or sets the use of min/max quantities in inventory. UseMulti Property Returns or sets the use of quantities by store in inventory. UsePrice Property Returns or sets the use of price levels in inventory. UseProm Property Returns or sets the use of promotional pricing for inventory. UseSroQ Property Returns or sets the use of sold, received, order quantities for inventory. ConnectItemToStyle Method Adds an inventory item to a style. DisconnectItemFromStyle Method Removes an inventory item from a style. StyleItems Method Returns a list of all inventory item numbers in a style.

UseInTransit Property
Returns or sets the use of in transit quantities in the RPro inventory. Boolean. Syntax:
Boolean := IRdaInventory.UseIntransit;

or
IRdaInventory.UseInTransit := True | False;

Remarks: Fields in the inventory table used for in transit quantities will return null values if UseInTransit is set to false.

Copyright 2008 Retail Pro. All rights reserved 39

Retail Pro 8 RDA2 Programmers Guide

UseMinMax Property
Returns or sets the use of min and max quantities in the RPro inventory. Boolean. Syntax:
Boolean := IRdaInventory.UseMinMax;

or
IRdaInventory.UseMinMax := True | False;

Remarks: Fields in the inventory table used for min and max quantities will return null values if UseMinMax is set to false.

UseMulti Property
Returns or sets the use of quantity by store in the RPro inventory. Boolean. Syntax:
Boolean := IRdaInventory.UseMulti;

or
IRdaInventory.UseMulti := True | False;

Remarks: Fields in the inventory table used for store level quantities will return null values if UseMulti is set to false.

UsePrice Property
Returns or sets the use of price levels in the RPro inventory. Boolean. Syntax:
Boolean := IRdaInventory.UsePrice;

or
IRdaInventory.UsePrice := True | False;

Remarks: Fields in the inventory table used for prices by price level will return null values if UsePrice is set to false.

Copyright 2008 Retail Pro. All rights reserved 40

Retail Pro 8 RDA2 Programmers Guide

UseProm Property
Returns or sets the use of promotional pricing in the RPro inventory. Boolean. Syntax:
Boolean := IRdaInventory.UseProm;

or
IRdaInventory.UseProm := True | False;

Remarks: Fields in the inventory table used for promotional prices will return null values if UseProm is set to false.

UseSroQ Property
Returns or sets the use of sold, received and on order quantities in the RPro inventory. Boolean. Syntax:
Boolean := IRdaInventory.UseSroQ;

or
IRdaInventory.UseSroQ := True | False;

Remarks: Fields in the inventory table used for sold, received and on order quantities will return null values if UseSroQ is set to false.

ConnectItemToStyle Method
Connects an inventory item to the same style as another inventory item. Syntax:
IRdaInventory.ConnectItemToStyle(ItemID, StyleItemID);

Parameters: ItemID long the item number of the item to be connected to an existing items style. StyleItemID long the item number of an existing item.

DisconnectItemFromStyle Method
Disconnects an item from its assigned style. Syntax:
IRdaInventory.DisconnectItemFromStyle(ItemID);

Parameters: ItemID long the item number of the item to be disconnected from a style.

Copyright 2008 Retail Pro. All rights reserved 41

Retail Pro 8 RDA2 Programmers Guide

StyleItems Method
The StyleItems method accepts an inventory item number as a parameters and returns a one dimensional variant array containing the item numbers of all inventory items assigned to the same style. Syntax:
vntItems := IRdaInventory.StyleItems(ItemNum);

Parameter: ItemNum long integer the item number of the inventory item. Remarks: The item number passed as a parameter is included in the returned array. If there are no other items assigned to the same style, only the passed item number is returned in the array. The returned array is one-based (i.e. the first subscript will be 1).

Copyright 2008 Retail Pro. All rights reserved 42

Retail Pro 8 RDA2 Programmers Guide

IRdaSO Interface
The IRdaSO object is used to add a deposit to a sales order. IRdaSO objects are created using the CustomInterface proprerty of an IRdaTable object created for the SOs table. Example.

Properties and Methods


AddDeposit Method Adds a deposit to a sales order.

AddDeposit Method
AddDeposit is the only method of IRdaSO. Call this method to add a deposit to a sales order. Syntax:
IRdaSO.AddDeposit()

Remarks: There are no parameters for the AddDeposit method. AddDeposit adds a deposit to the sales order represented by the current record of the IRdaTable object to which the IRdaSO object is attached. It also creates a deposit receipt and automatically sets the receipt number and document date. This method assumes that an SO deposit has been set up and is ready to be added to the sales order. Setting up a sales order deposit requires the use of the SODeposit nested document and the IRdaTender object as follows: Create an IRdaTable object for the SOs table and open the table. Create an IRdaSO object using the CustomInterface property of the IRdaTable object. Set the current record of the IRdaTable object to the sales order to which the deposit should be added (or create a new sales order using the properties and methods of the IRdaTable object). Create an IRdaDocument object for the SODeposit nested document using the NestedDocByName or NestedDocByID methods of the IRdaDocument for the IRdaTable SOs table object. Create an IRdaTender object using the CustomInterface property of the IRdaDocument object for the SODeposit nested document. Increment the Count property of the IRdaDocument for the SODeposit nested document and use the SetPositon method to set the current record of the SODeposit nested document to the Count property minus 1. The SODeposit nested document has 6 fields: fldInvcNum, fldDocDate, fldCashier, fldAmount, fldTender and fldSODepoCancelled. Use the SetPosition methods (i.e. SetDouble, SetString, etc.) of the SODeposit nested document to set field values. Do NOT set the fldInvcNum (this will be the number of the receipt for the deposit). The SO deposit requires tender information, i.e. a description of how the amount of the deposit is tendered. Create an XML string for an IRdaTender object using one of the tender types. Create an XML DOMDoucment and load the tender XML string into this document. Set the IRdaTender.XML to the tender XML document. Call the AddDeposit method of the IRdaSO object.

Copyright 2008 Retail Pro. All rights reserved 43

Retail Pro 8 RDA2 Programmers Guide

IRdaVouTerms Interface
The IRdaVouTerms object contains the description of the terms on purchase orders and vouchers or default terms for a vendor. IRdaVouTerms objects are created using the CustomInterface property of an IRdaDocument object that is linked to the Vendors, POs, Fromer Vouchers, Pending Vouchers or ASN Vouchers table (IRdaTable object). Terms are described by combinations of date and/or percentages for a specific number of days (percent/day pairs). The Kind property is used to set or get the general type of terms (i.e. COD, EOM, etc.). The Date property is used to set or get a specific date.

Percent/Day Pairs
Some types of terms are described using a percentage and a number of days. These are referred to as percent/day pairs. For example, a purchase order could have terms of 2% 10 days and net 30 days. There can be multiple percent/days pairs for a single IRdaVouTerms object. The pairs are accessed as an indexed list using the Get_PercentDays and Set_PercentDays methods of IRdaVouTerms. The list index is 1-based and the list consists of a Percent value and a Days value. There is no way of directly determining how many pairs are in the list. However, if percent/days pairs are used for the description, there will always be a percent/day pair with a Days value of 0. This list entry indicates that there are no more percent/days pairs on the list. Percent values are entered as the percentage itself as if the percent sign were appended. For example, 2% is entered as 2. Percent values of 0 indicate NET. Examples
Index 1 2 Index 1 2 3 Percent 0 0 Percent 2 0 0 Days 15 0 Days 10 30 0 Notes First entry, indicates NET 15 Days Days = 0 indicates no more pairs in the list Notes 2 % for the first 10 days Net due in 30 days No more pairs in list

Also see Get the Terms of a Purchase Order and the RDA2ObjectModel VB project.

Copyright 2008 Retail Pro. All rights reserved 44

Retail Pro 8 RDA2 Programmers Guide

Properties and Methods


Date Property Returns or sets the date for terms. Kind Property Returns or sets the type of terms. Split Property Returns or sets the amount for one type of term for split terms on a voucher. SplitTotal Property Returns the total amount for all split terms on a voucher. Get_PercentDays Method Gets the values of a percent/day pair. Set_PercentDays Method Sets the value of a percent/day pair.

Date Property
Sets or gets the terms date (as a date datatype) when the Kind property is vpPrePaid or vpDue. Example. Syntax:
IRdaVouTerms.Date := TermsDate;

or
TermsDate := IRdaVouTerms.Date;

Kind Property
Sets or gets the kind of terms (i.e. COD, EOM, PrePaid, etc.). Example. Syntax:
TermsKind : IRdaVouTerms.Kind;

or
IRdaVouTerms.Kind := VouPaidID;

Remarks: VouPaidID is an enumerated constant list in RDA2 and indicates the kind of terms the IRdaVouTerms object describes. The Kind property determines if the Date property and the methods of IRdaVouTerms are active and valid or not as follows:
VouPaidID vpDays vpCOD vpCredit vpReplace vpPrePaid vpDue vpPays vpEOM vpSplit Value 0 1 2 3 4 5 6 7 8 Date Property Unused Unused Unused Unused Active Active Unused Unused Unused Percent Day/Pairs Active Unused Unused Unused Unused Unused Active Active Unused

Copyright 2008 Retail Pro. All rights reserved 45

Retail Pro 8 RDA2 Programmers Guide

Split Property
The Split property applies only to Vouchers and only when the Kind property is vpSplit. The Split property gets or sets the amounts that have been allocated to the different types of split terms. Amounts can be split between COD, Credit, Replacement, Prepaid and Due. The Split property is data type double. Syntax:
Amount := IRdaVouTerms.Split (Kind);

or
IRdaVouTerms.Split (Kind) := Amount;

Parameters: Kind enumerated list the vpPaidID for the Kind of terms within the split. In the case of the Split property, Kind must be one of vpCOD, vpCredit, vpReplace, vpPrePaid or vpDue. Splits returns the amount allocated to the Kind.

SplitTotal Property
SplitTotal applies only to Vouchers and only when the Kind property is vpSplit. SplitTotal returns the total amount for all types of terms within the split. SplitTotal is datatype double and is read only. Syntax:
TotalAmount := IRdaVouTerms.SplitTotal;

Get_PercentDays Method
The Get_PercentDays method returns the percentage/day pairs when the Kind property is set to vpDays, vpPays or vpEOM. Example. Syntax:
IRdaVouTerms.Get_Percent(Index, Percent, Days);

Parameters: Index long integer Index number for the percent/days pair returned by the method. Percent double the percentage. Days long integer number of days. Remarks: See additional information on percent/days pairs above.

Copyright 2008 Retail Pro. All rights reserved 46

Retail Pro 8 RDA2 Programmers Guide

Set_PercentDays Method
The Set_PercentDays method sets a percentage/day pair when the Kind property is set to vpDays, vpPays or vpEOM. Syntax:
IRdaVouTerms.Set_Percent(Index, Percent, Days);

Parameters: Index long integer Index number for the percent/days pair to be set. Percent double the percentage. Days long integer number of days. Remarks: To change the value of an existing percent/day pair, set Index to the pair to be changed. To add a new percent/day pair: If there are no exsiting pairs, use Set_PercentDays with Index = 1 for the first pair. If there are existing pairs, find the Index number with Days=0. Use Set_PercentDays with this Index number for the first pair to be added. After all new pairs have been added, use Set_PercentDays with Index equal to the highest Index already set plus 1 and Days = 0. See additional information on Percent/Days pairs above.

Copyright 2008 Retail Pro. All rights reserved 47

Retail Pro 8 RDA2 Programmers Guide

IRdaTender Interface
IRdaTender is used to set or get tender information for transactions involving currency. IRdaTender objects apply to invoices and sales order deposits. IRdaTender objects for invoices are created using the CustomInterface property of an IRdaDocument object created from an IRdaTable object for the Invoices table. These IRdaTender objects can be used to get tender information for an existing receipt or set new tender information for a receipt. IRdaTender objects for sales order deposits are created using the CustomInterface property of an IRdaDocument object that represents the SODeposit nested document. Each entry (row) in the tender is accessible as a IRdaTenderItem object, depending of the type of tender this IRdaTenderItem object may be type casted into a more specific tender type object (IRdaStoreCredit, IRdaFC, IRdaCheck, IRdaCreditCard, IRdaCharge, IRdaPayments, or IrdaGift). Add new tender entries with AddItem and delete entries with DeleteItem.

Properties and Methods


AddItem Method Adds a new tender item (tender row) to the tenders. CreditCardIsRounded Property True if credit card is a rounded tender in Retail Pro preferences. DeleteItem Method Removes a tender item (row) from the tenders. RoundedUndefined Property Same as Undefined but rounded based on rounding rules in Preferences. Sum Property Sum of all the tender items. TenderItems Property An IRdaCollection containing all tender items in current tender. Undefined Property Discrepancy amount between tender sum and receipt total. XML Property Sets or returns an XML document that contains the tender information.

Copyright 2008 Retail Pro. All rights reserved 48

Retail Pro 8 RDA2 Programmers Guide

AddItem Method
Adds a new tender item (row) to the current document. The AType parameter determines what kind of tender is created. Syntax:
newTender := IrdaTender.AddItem (AType);

Parameters: AType Integer (TenderType) the type of tender to add. Remarks: The new tender item is returned as a Variant, receive it in a variable of type IUnknown and then typecast it to the correct Interface. By default, the amount of the new tender item created is set equal to the Undefined amount to create a balanced tender. If you want to create a tender item with a different amount you have to explicitly set the IrdaTenderITem.Amount after you add it. Example:
var newTender := IUnknown; newCCTender := IrdaCreditCard; begin newTender := rdaTender.AddItem (ttCreditCard); newCCTender := newTender as IrdaCreditCard; newCCTender.CardNumber := 1234567891011121; newCCTender.ExpMonth := 12; newCCTender.ExpYear := 2006; end;

CreditCardIsRounded Property
Returns true if credit card is set as a rounded tender in Retail Pro preferences. Syntax:
blnRoundedCC := IRdaTender.CreditCardIsRounded;

DeleteItem Method
Removes a tender item (row) from the tenders. Syntax:
IrdaTender.DeleteItem(Index);

Parameters: Index Integer The index (row) of the tender item to remove.

Copyright 2008 Retail Pro. All rights reserved 49

Retail Pro 8 RDA2 Programmers Guide

RoundedUndefined Property
Same value is the Undefined property except it is rounded according to the rules set in Retail Pro preferences. Syntax:
dblRoundedUndefinedAmount := IRdaTender.RoundedUndefined;

Sum Property
The total sum of all the tender items. Syntax:
dblSum := IRdaTender.Sum;

TenderItems Property
Returns an IRdaCollection object of all tender items in the current tender. Syntax:
rcollTenderItems := IRdaTender.TenderItems;

Remarks: Typecast the tender item to an IRdaTenderItem interface, then check its TenderType property and possibly typecast it to a more specialized tender interface. Example:
var rcollTenderItems: IRdaCollection; intTenderITerator: Integer; tmpTenderItem: IUnknown; tenderItem: IRdaTenderItem; tenderPayments: IRdaPayments; begin rcollTenderItems := IRdaTender.TenderItems; for intTenderIterator := 0 to rcollTenderItems.length 1 do begin tmpTenderItem := rcollTenderItems.item(intTenderIterator); tenderItem := tmpTenderItem as IRdaTenderItem; if tenderItem.TenderType = ttPayments then tenderPayments := tenderItem as IRdaPayments; end; end;

Undefined Property
The un-tendered amount. Difference between the Sum property and the receipt total. This is how much you need to tender in order to make a balanced tender. Syntax:
dblUndefined := IRdaTender.Undefined;

Copyright 2008 Retail Pro. All rights reserved 50

Retail Pro 8 RDA2 Programmers Guide

XML Property
Sets or returns a DOMDocument object containing the tender information. Example. Syntax:
IRdaTender.XML := xmlDoc;

or
xmlDoc := IRdaTender.XML;

Remarks: Do not use the tender XML to add or edit tender information, it is not reliable. Instead use the AddItem, DeleteItem methods and the TenderItemsProperty together with the other tender interfaces.

Copyright 2008 Retail Pro. All rights reserved 51

Retail Pro 8 RDA2 Programmers Guide

IRdaTenderItem Interface
The IRdaTenderItem interface is used to get information about each tender item (row) in the tender. IRdaTender describes the tender as a whole, that can include one or more tender items for example for split tenders or change tenders etc.

Associated Data Types


Tender Type
TenderType is an enumerated constant list in RDA2 and indicates the type of tender of a certain tender item. Since the tender as a whole can consist of several tenders (split tender) there is no tender type associated directly with the IRdaTender object. Note that TenderType is not the same value as the fidTender field of a receipt.
TenderTypeID ttCash ttCOD ttDeposit ttStoreCredit ttFC ttCheck ttCreditCard ttCharge ttPayments ttGift ttGiftCard ttDebitCard 1 2 3 4 5 6 7 8 9 10 11 12 Value Associated Tender Item Interface None None None IRdaStoreCredit IRdaFC IRdaCheck IRdaCreditCard IRdaCharge IRdaPayments IRdaGift IRdaCreditCard IRdaCreditCard

Properties and Methods


Amount Property Gets or sets the amount of the tender item. Desc Property Tender item description (first column in Retail Pro tender screen). Info Property Tender item information (second column in Retail Pro tender screen). TenderType Returns the type of the tender item.

Copyright 2008 Retail Pro. All rights reserved 52

Retail Pro 8 RDA2 Programmers Guide

Amount Property
The amount of the tender item. Syntax:
dblAmount := IRdaTenderItem.Amount;

or
IRdaTenderItem.Amount := dblAmount;

Remarks: When a new tender item is created, Amount is by default set to the IRdaTender.Undefined amount to create a balanced tender.

Desc Property
This property gives you the same information about the tender item (row) that Retail Pro lists in the first column of the tender screen. Syntax:
strTenderDescription := IRdaTenderITem.Desc;

Info Property
This property gives you the same information about the tender item (row) that Retail Pro lists in the second column of the tender screen. Syntax:
strTenderInformation := IRdaTenderITem.Info;

TenderType Property
Returns the tender type of the tender item. Syntax:
ttTenderType := IRdaTenderItem.TenderType;

Remarks: Use this information to typecast the tender item to the correct tender interface if you need to get more information from it.

Copyright 2008 Retail Pro. All rights reserved 53

Retail Pro 8 RDA2 Programmers Guide

IRdaStoreCredit Interface
Interface for store credit tender items. Type cast an IRdaTenderItem object of TenderType ttStoreCredit to this interface to access specific store credit information.

Properties and Methods


InitStoreCreditID Method Asks Retail Pro to generate a new store credit ID. StoreCreditID Property Gets or sets the store credit ID.

InitStoreCreditID Method
Asks Retail Pro to generate a new store credit ID based on the system preferences. Syntax:
IRdaStoreCredit.InitStoreCreditID (blnIncrement);

Parameters: Increment boolean If set to true Retail Pro will take not the next available ID but increment it first.

StoreCreditID Interface
Get or set the store credit ID. Syntax:
IRdaStoreCredit.StoreCreditID := strStoreCreditID;

or
strStoreCreditID := IRdaStoreCredit.StoreCreditID;

Remarks: You must set the store credit ID of a new tender item unless you call InitStoreCreditID to do that for you.

Copyright 2008 Retail Pro. All rights reserved 54

Retail Pro 8 RDA2 Programmers Guide

IRdaFC Interface
Interface for foreign currency tender items. Type cast an IRdaTenderItem object of TenderType ttFC to this interface to access foreign currency specific tender information.

Properties and Methods


FCName Property The name of the foreign currency. FCAmount Property Tender item amount in the foreign currency.

FCName Property
The name of the foreign currency. Must match a currency name defined in system properties. Syntax:
IRdaFC.FCName := strCurrencyName;

or
strCurrencyName := IRdaFC.FCName;

FCAmount Property
The tender item amount in the foreign currency. Syntax:
IRdaFC.FCAmount := dblCurrencyAmount;

or
dblCurrencyAmount := IRdaFC.FCAmount;

Remarks: IRdaTenderItem.Amount is always the amount in the base currency.

Copyright 2008 Retail Pro. All rights reserved 55

Retail Pro 8 RDA2 Programmers Guide

IRdaCheck Interface
Interface for check tender items. Type cast an IRdaTenderItem object of TenderType ttCheck to this interface to access check specific tender information.

Properties and Methods


BankNumber Property Not used. CheckNumber Property The check number. CustomerName Property Name of customer on check. DateofBirth Property D.O.B. of customer on check. DriverLicenseNumber Property Drivers license number. StateCode Property Drivers license issue state.

BankNumber Property
Not used.

CheckNumber Property
The number of the check being used. This is the sequence number on the check, not the account or routing numbers. Syntax:
IRdaCheck.CheckNumber := strCheckNo;

or
strCheckNo := IRdaCheck.CheckNumber;

CustomerName Property
The customer name on the check. Syntax:
IRdaCheck.CustomerName := strCustomerName; or strCustomerName := IRdaCheck.CustomerName;

Copyright 2008 Retail Pro. All rights reserved 56

Retail Pro 8 RDA2 Programmers Guide

DateofBirth Property
Date of Birth of the customer on the check. Syntax:
IRdaCheck.DateOfBirth := dtCustDOB;

or
dtCustDOB := IRdaCheck.DateOfBirth;

DriverLicenseNumber Property
The drivers license number of the customer on the check. Syntax:
IRdaCheck.DriverLicenseNumber := strDriverLicenseNumber;

or
strDriverLicenseNumber := IRdaCheck.DriverLicenseNumber;

StateCode Property
The state code of the state where the customers drivers license was issued. Syntax:
IRdaCheck.StateCode := strStateCode;

or
strStateCode := IrdaCheck.StateCode;

Copyright 2008 Retail Pro. All rights reserved 57

Retail Pro 8 RDA2 Programmers Guide

IRdaCreditCard Interface
Interface for credit card tender items. Type cast an IRdaTenderItem object of TenderType ttCreditCard to this interface to access credit card specific tender information.

Properties and Methods


AuthorizationNum Property An authorization number returned by the card processor. CardNumber Property The credit card account number. CardType Property The credit card type. ControlNum Property A control number returned by the card processor. ExpMonth Property Month portion of the card expiration date. ExpYear Property Year portion of the card expiration date. ReferenceNum Property A reference number returned by the card processor.

AuthorizationNum Property
An authorization number usually returned by the credit card processor after transaction has been approved. Syntax:
IRdaCreditCard.AuthorizationNum := 1234567890;

or
strAuthNo := IRdaCreditCard.AuthorizationNum;

CardNumber Property
The credit card account number. Syntax:
IRdaCreditCard.CardNumber := 1111222233334444;

or
strCardNo := IRdaCreditCard.CardNumber;

Copyright 2008 Retail Pro. All rights reserved 58

Retail Pro 8 RDA2 Programmers Guide

CardType Property
The credit card type i.e. VISA, Master Card, etc. Syntax:
IRdaCreditCard.CardType := VISA;

or
strCardType := IrdaCreditCard.CardType;

Remarks: The credit card type is often set automatically by the card processor when the transaction is sent for approval.

ControlNum Property
A control number usually returned by the credit card processor after transaction has been approved. Syntax:
IRdaCreditCard.ControlNum := 12345;

or
strCtrlNo := IRdaCreditCard.ControlNum;

ExpMonth Property
Syntax:
IRdaCreditCard.ExpMonth := 12;

or
intExpMonth := IRdaCreditCard.ExpMonth;

ExpYear Property
Syntax:
IRdaCreditCard.ExpYear := 2006;

or
intExpYear := IRdaCreditCard.ExpYear;

ReferenceNum
A reference number usually returned by the credit card processor after transaction has been approved. Syntax:
IRdaCreditCard.ReferenceNum := 123456789;

or
strRefNo := IrdaCreditCard.ReferenceNum;

Copyright 2008 Retail Pro. All rights reserved 59

Retail Pro 8 RDA2 Programmers Guide

IRdaCharge Interface
Interface for charge tender items. Type cast an IRdaTenderItem object of TenderType ttCharge to this interface to access charge specific tender information. Often with a charge account the customer receives a small discount if the full balance is paid within a certain number of days.

Properties and Methods


DiscountDays Property The number of days during which the customer can receive a discount. DiscountPercent Property The discount percentage available for the above number of days. NetDays Property The number of days until full balance is due.

DiscountDays Property
If the customer pays the balance in full within this number of days, the customer will receive the discount specified in the DiscountPercent Property. Syntax:
IRdaCharge.DiscountDays := 30;

or
intDiscountDays := IrdaCharge.DiscountDays;

Remarks: Can be zero when no discount will be given.

DiscountPercent Property
The percentage of discount that will be given to the customer if he/she pays the balance in full within DiscountDays days. Syntax:
IRdaCharge.DiscountPercent := 10;

or
intDiscountPercent := IrdaCharge.DiscountPercent;

Remarks: Can be zero when no discount will be given.

Copyright 2008 Retail Pro. All rights reserved 60

Retail Pro 8 RDA2 Programmers Guide

NetDays Property
The number of days that the customer has to pay the balance in full. Syntax:
IRdaCharge.NetDays := 90;

or
intNetDays := IrdaCharge.NetDays;

Copyright 2008 Retail Pro. All rights reserved 61

Retail Pro 8 RDA2 Programmers Guide

IRdaPayments Interface
Interface for payments tender items. Type cast an IRdaTenderItem object of TenderType ttPayments to this interface to access payments specific tender information.

Properties and Methods


NumOfPayments Property The number of payments to be made. PaymentAmount Property The amount of each payment. StartingDate Property The starting date of the payment schedule.

NumofPayments Property
The number of payments that needs to be made to pay the balance in full. Syntax:
IRdaPayments.NumOfPayments := 10;

or
intNumOfPayments := IRdaPayments.NumOfPayments;

PaymentAmount Property
The amount of each payment to be made. Syntax:
IRdaPayments.PaymentAmount := 39.95;

or
dblPaymentAmt := IRdaPayments.PaymentAmount;

StartingDate Property
The date on which the first payment is due. Syntax:
IRdaPayments.StartingDate := Now + 10; //Sets starting date to 10 days from now.

or
dtPaymentStartDate := IrdaPayments.StartingDate;

Copyright 2008 Retail Pro. All rights reserved 62

Retail Pro 8 RDA2 Programmers Guide

IRdaGift Interface
Interface for gift tender items. Type cast an IRdaTenderItem object of TenderType ttGift to this interface to access gift specific tender information.

Properties and Methods


GiftNumber Property The gift certificate number. InitGiftNumber Method Asks Retail Pro to generate a new store credit ID.

GiftNumber Property
Get or set the gift certificate number. Syntax:
IRdaGift.GiftNumber := 1234567890;

or
strGiftNum := IRdaGift.GiftNumber ;

Remarks: You must set the gift certificate number of a new tender item unless you call InitGiftNumber to do that for you.

InitGiftNumber Method
Asks Retail Pro to generate a new gift certificate number based on the system preferences. Syntax:
IRdaGift.InitGiftNumber (blnIncrement);

Parameters: Increment boolean If set to true Retail Pro will take not the next available number but increment it first.

Copyright 2008 Retail Pro. All rights reserved 63

Retail Pro 8 RDA2 Programmers Guide

IRdaCollection Interface
IRdaCollection is an object containing an array of variants. It is used in the RDA2 object model to contain various types of lists.

Properties and Methods


Item Method Gets or sets the value of an item in the collection. Length Property Returns the number of items in the collection.

Item Method
Returns the number of items in the collection as a long integer. Read only. Syntax:
intItems := IRdaCollection.Length;

Length Property
Returns the value of an item in the IRdaCollection object. The value is a variant data type. Syntax:
varIndex := IRdaCollection.Item(Index);

Parameters: Index - long integer the index of the item. (Index is 0 based).

Copyright 2008 Retail Pro. All rights reserved 64

Retail Pro 8 RDA2 Programmers Guide

RDA2 Table Information


Table ID Numbers and Names
ID 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Table Name Departments Customers Vendors Items Invoices POs SOs Former Vouchers Pending Vouchers ASN Vouchers Memos Slips SubLocDefs SubLocsQtys MovNotes MovOrders TOs TDBTables tblDepartmetns tblCustomers tblVendors tblItems tblInvoices tblPOs tblSOs tblFrmrVouchers tblPendVouchers tblASNVouchers tblMemos tblSlips tblSubLocDefs tblSubLocs tblMovNotes tblMovOrders tblTOs

*TDBTables is an enumerated list of constants in RDA2. The TDBTables constants can be used in the CreateTableByID method of IRdaTable.

Table Indexes
Indexes marked with * are the default indexes that are active when a table is opened. Default Order is an index that uses the Bookmark order of the table as an index. (See Bookmark property of the IRdaTable object). This information applies to ActiveIndexName and ActiveIndexID properties of the IRdaTable object.

Copyright 2008 Retail Pro. All rights reserved 65

Retail Pro 8 RDA2 Programmers Guide

Departments
Index ID 1 2 Index Name DCS* DCS Name RDA2 Constant idxDeptsDC idxDeptsName

Customers
Index ID 1 2 4 6 7 8 9 10 11 12 13 14 15 16 17 Index Name Last* Customer SID Phone Cust ID Company Info Mark UDF 1 UDF 2 UDF 3 UDF 4 UDF 5 UDF 6 UDF 7 UDF 8 idxCustUDF0 idxCustUDF1 idxCustUDF2 idxCustUDF3 idxCustUDF4 idxCustUDF5 idxCustUDF6 idxCustUDF7 RDA2 Constant idxCustLName idxCustSID idxCustPhone idxCustID idxCustCompany idxCustInfo

Copyright 2008 Retail Pro. All rights reserved 66

Retail Pro 8 RDA2 Programmers Guide

Vendors
Index ID 1 2 3 4 5 6 7 8 9 10 11 12 13 Index Name Vend Code* Company Last Phone Info UDF 1 UDF 2 UDF 3 UDF 4 UDF 5 UDF 6 UDF 7 UDF 8 RDA2 Constant idxVndrCode idxVndrCompany idxVndrLName idxVndrPhone idxVndrInfo idxVndrUDF0 idxVndrUDF1 idxVndrUDF2 idxVndrUDF3 idxVndrUDF4 idxVndrUDF5 idxVndrUDF6 idxVndrUDF7

Items
Index ID -1 1 2 3 4 5 7 Index Name Item #* UPC DCS/Vend Code/Desc 1 ALU -User Defined Index-User Defined IndexStyle SID RDA2 Constant idxItemsRecNo idxItemsUPC idxItemsDC idxItemsALU idxItemsUDI0 idxItemsUDI1

Copyright 2008 Retail Pro. All rights reserved 67

Retail Pro 8 RDA2 Programmers Guide

Invoices
Index ID -1 1 2 3 5 6 7 11 12 Index Name Default Order Receipt # Cust.(Company Priority) Bill To Cust # SO Number St/Sta/Cashier St/Sta/Ws/Date Bill To Cust. SID Cust.(Name priority) RDA2 Constant

POs
Index ID 1 2 3 5 6 7 8 9 Index Name PO# SO Number Vend Code Associate Ord Date Ship Cancel Last Act. D. RDA2 Constant idxPOrdNumber

Copyright 2008 Retail Pro. All rights reserved 68

Retail Pro 8 RDA2 Programmers Guide

SOs
Index ID 1 7 3 4 5 9 10 11 13 14 15 Index Name Store/SO Number SO Number Cust PO# Bill To L.Name Ship To L.Name Associate Bill To Company Ship To Company Cancel Date Ordered Date Ship Date idxSOrdNumber RDA2 Constant

Former Vouchers
Index ID -1 1 2 3 4 6 7 9 10 Index Name Default Order Voucher # Vend Code PO # Date Associate Post Date Package # Invoice # RDA2 Constant

Copyright 2008 Retail Pro. All rights reserved 69

Retail Pro 8 RDA2 Programmers Guide

Pending Vouchers
Index ID -1 1 2 3 4 6 7 9 10 Index Name Default Order Voucher # Vend Code PO # Date Associate Post Date Package # Invoice # RDA2 Constant

ASN Vouchers
Index ID -1 1 2 3 4 6 7 9 10 Index Name Default Order Voucher # Vend Code PO # Date Associate Post Date Package # Invoice # RDA2 Constant

Copyright 2008 Retail Pro. All rights reserved 70

Retail Pro 8 RDA2 Programmers Guide

Memos
Index ID -1 1 2 3 4 5 6 Index Name Default Order Memo # Associate Date Source Prc Lvl Type RDA2 Constant

Slips
Index ID -1 1 2 3 4 5 6 Index Name Default Order Memo # Associate Date Source Prc Lvl Type RDA2 Constant

SubLocDefs
Index ID 1 2 3 Index Name Sub-Loc ID Store Sub-Loc Name RDA2 Constant

Copyright 2008 Retail Pro. All rights reserved 71

Retail Pro 8 RDA2 Programmers Guide

SubLocQtys
Index ID 1 2 3 4 5 Index Name Item SID Item # Sub-Loc ID Sub-Loc Name Last Rcvd RDA2 Constant

MovNotes
Index ID -1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Index Name Default Order Number Date Store Associate SID Ref Doc # UDF1 UDF2 UDF3 UDF4 Shipment Number Carton Number Type Note Source RDA2 Constant

Copyright 2008 Retail Pro. All rights reserved 72

Retail Pro 8 RDA2 Programmers Guide

MovOrders
Index ID 1 2 3 4 5 6 7 8 9 10 11 12 13 Index Name MO Number Date Store Associate SID UDF1 UDF2 UDF3 UDF4 Shipment Number Carton Number Movement Date Priority RDA2 Constant

TOs
Index ID 1 2 3 Index Name TO # PO # Associate RDA2 Constant idxTOrdNumber

Copyright 2008 Retail Pro. All rights reserved 73

Retail Pro 8 RDA2 Programmers Guide

Nested Document Names and ID Numbers


(Applies to the NestedDocByID and NestedDocByName properties of the IRdaDocument object).
Nested Document ID Nested Document Name 100 101 102 103 104 105 POItem ReceiptItem SOItem SODeposit SOHistory VoucherItem TDBNestedTables Enum* Parent IRdaTable Name ntblPOItems ntblInvoiceItems ntblSOItems ntblSODeposits ntblSOHistory ntblVoucherItems POs Invoices SOs SOs SOs Former Vouchers Pending Vouchers ASN Vouchers Memos Slips MovNotes MovOrders TOs

106 107 108 109 110

MemoItem SlipItem MoveNoteItem MoveOrderItem TOItem

ntblMemoItems ntblSlipItems ntblMovNoteItems ntblMovOrdItems ntblTOItems

*TDBNestedTables is an enumerated constant list in RDA2. TDBNestedTable constants may be used in the NestedDocByID property of IRdaDocument.

Copyright 2008 Retail Pro. All rights reserved 74

Retail Pro 8 RDA2 Programmers Guide

Table Schemas
(Applies to FieldByID and FieldByName methods of the IRdaDocument object.)

Departments
RDA2 Constant fidDC1 fidClass fidSubClass fidDC fidTax fidCoeff fidQuantityDecimals fidAllocPttrn fidDeptName fidMrgP fidMupP fidDeptPicture fidDeptName10 fidClassName10 fidSubClassName10 fidPureDCS ID# Name 50 fldDept 51 fldClass 52 fldSubClass 2 fldDCS 49 fldTaxCd 115 fldCoeff 200 fldDecimals 201 fldAllocPttrn 3 fldDCSName 13 fldDefMgnPrc 104 fldDefMkUpPrc 209 fldDeptPicture 29 fldDeptName 30 fldClassName Type String String String String Enumerate d Double Boolean String String Integer Integer String String String Size Caption 1 Dept 1 Class 1 Subclass 9 DCS 0 Tax 0 Coef 0 Qty Decimals 20 Alloc Pattern 30 DCS Name 0 Mrg% 0 MkUp% Description Department Class Subclass Full Department Code Tax Code Coefficient Quantity Decimals Allocation Pattern Full Department Name Default Margin % Default Mark Up %

20 Department Image Department Image 10 Dept Name 10 Class Name 10 Sub-class Name Department Name Class Name Sub-class Name

31 fldSubClassName String 7222 fldPureDCS String

9 Internal DCS code Internal unformatted DCS code

Copyright 2008 Retail Pro. All rights reserved 75

Retail Pro 8 RDA2 Programmers Guide

Customers
RDA2 Constant fidCustID fidCustCompany fidCustTitle fidCustFName fidCustLName fidCustAddr1 fidCustAddr2 fidCustAddr3 fidCustZIP fidCustPhone1 fidCustPhone2 fidCustInfo1 fidCustInfo2 fidCustShare fidCustAR fidCustAcptChks fidCustStoreCr fidCustCredLim fidCustCredUsed fidCustLastSale fidCustUDF0 -None-None-None-None-None-NonefidCustUDF7 fidCustSearchPhone fidCustSearchInfo fidTaxArea fidCustomerPicture ID# Name Type Integer String String String String String String String String String String String String Enumerated Enumerated Boolean Double Double Double Date Date Date String String String String String String String String String Size Caption 0 Cust ID 25 Company 15 Title 30 First 30 Last 31 Address 1 31 Address 2 31 Address 3 10 ZIP 15 Phone 1 15 Phone 2 20 Info 1 20 Info 2 0 Share 0 AR 0 Checks 0 Store Credit 0 Chrg Limit 0 Chrg Bal 0 Last Sale 0 UDF 1 0 UDF 2 20 UDF 3 20 UDF 4 20 UDF 5 20 UDF 6 20 UDF 7 20 UDF 8 15 Phone 20 Info 11 Tax Area 20 Customer Image Description Customer ID Company Name Title First Name Last Name Address 1 Address 2 Address 3 ZIP Code Telephone 1 Telephone 2 Information 1 Information 2 Sharing Status Accounts Receivable Accept Checks Store Credit Charge Limit Charge Balance Last Sale Date User-Defined Field 1 User-Defined Field 2 User-Defined Field 3 User-Defined Field 4 User-Defined Field 5 User-Defined Field 6 User-Defined Field 7 User-Defined Field 8 Telephone Information Tax Area Customer Image 236 fldCustID 210 fldCompany 211 fldTitle 212 fldFName 213 fldLName 214 fldAddr1 215 fldAddr2 216 fldAddr3 217 fldZIP 218 fldPhone1 219 fldPhone2 221 fldInfo1 222 fldInfo2 238 fldShare 239 fldCliAR 240 fldAccChk 241 fldStCred 242 fldCredLim 243 fldCredUsed 244 fldLastSale 224 fldCntUDF0 225 fldCntUDF1 226 fldCntUDF2 227 fldCntUDF3 228 fldCntUDF4 229 fldCntUDF5 230 fldCntUDF6 231 fldCntUDF7 220 fldSrchPhone 223 fldSrchInfo 54 fldTaxArea 247

fldCustomerPict String ure

Copyright 2008 Retail Pro. All rights reserved 76

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidCustSID fidStoreStation fidPrcLvl fidCustMark1 fidCustMark2 fidCustSrchMark fidCustDetax fidFullName fidCustInactive fidCustAux0 -None-None-None-None-None-None-None-None-None-NonefidCustAux11 fidCustDiscPercentAlw d fidCustSysDate fidCustNotes fidEMail fidTaxArea2 fidCustMarkedForDele tion ID# Name Type Int64 String Enumerated String String Size Caption 0 Customer SID 4 Str/Sta 0 Prc Lvl 4 Mark 1 4 Mark 2 4 Mark 0 Export 0 Full Name 0 Inactive 0 Aux 1 0 Aux 2 0 Aux 3 0 Aux 4 0 Aux 5 0 Aux 6 0 Aux 7 0 Aux 8 0 Aux 9 0 Aux 10 0 Aux 11 0 Aux 12 0 Customer Disc % 0 Customer System Date 245 Cust.Notes 60 E-Mail 11 Tax Area 2 0 Marked For Deletion Description Customer System ID Store and Station Price Level Mark 1 Mark 2 Mark Export Full Name Inactive Auxiliary field 1 Auxiliary field 2 Auxiliary field 3 Auxiliary field 4 Auxiliary field 5 Auxiliary field 6 Auxiliary field 7 Auxiliary field 8 Auxiliary field 9 Auxiliary field 10 Auxiliary field 11 Auxiliary field 12 Customer discount percent Customer System Date Cust.Notes E-Mail address Tax Area 2 Marked For Deletion

245 fldCustSID 563 fldStoreStatn 107 fldPrcLvl 248 fldCustMark1 249 fldCustMark2

250 fldCustSrchMark String 251 fldCustDetax 235 fldFullName 270 fldCustInactive 280 fldCustAux0 281 fldCustAux1 282 fldCustAux2 283 fldCustAux3 284 fldCustAux4 285 fldCustAux5 286 fldCustAux6 287 fldCustAux7 288 fldCustAux8 289 fldCustAux9 290 fldCustAux10 291 fldCustAux11 292 Boolean String Boolean Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated

fldCustDiscPerce Double ntAlwd Date String String String

293 fldCustSysDate 232 fldCustNotes 237 fldEMail 7005 fldTaxArea2

fldCustMarkedF 294 Boolean orDeletion

Copyright 2008 Retail Pro. All rights reserved 77

Retail Pro 8 RDA2 Programmers Guide

Vendors
RDA2 Constant fidVndrCompany fidVndrTitle fidVndrFName fidVndrLName fidVndrAddr1 fidVndrAddr2 fidVndrAddr3 fidVndrZIP fidVndrPhone1 fidVndrPhone2 fidVndrInfo1 fidVndrInfo2 fidVndrNotes fidVndrAccNum fidVndrAP fidVndrUDF0 -None-None-None-None-None-NonefidVndrUDF7 fidVndrSearchPhone fidVndrSearchInfo fidVC fidVouPaid fidVndrPicture fidTradeDiscPercent fidEMail ID# Name 210 fldCompany 211 fldTitle 212 fldFName 213 fldLName 214 fldAddr1 215 fldAddr2 216 fldAddr3 217 fldZIP 218 fldPhone1 219 fldPhone2 221 fldInfo1 222 fldInfo2 232 fldNotes 233 fldAccNum 234 fldVndAP 224 fldCntUDF0 225 fldCntUDF1 226 fldCntUDF2 227 fldCntUDF3 228 fldCntUDF4 229 fldCntUDF5 230 fldCntUDF6 231 fldCntUDF7 220 fldSrchPhone 223 fldSrchInfo 4 fldVendorCode 516 fldVouTerms 246 fldVendorPicture 194 fldTradeDiscPercent 237 fldEMail Type String String String String String String String String String String String String String String Enumerated Date Date String String String String String String String String String String String Double String Size Caption 25 Company 15 Title 30 First 30 Last 31 Address 1 31 Address 2 31 Address 3 10 ZIP 15 Phone 1 15 Phone 2 20 Info 1 20 Info 2 245 Vendor Notes 10 Acct # 0 AP 0 UDF 1 0 UDF 2 20 UDF 3 20 UDF 4 20 UDF 5 20 UDF 6 20 UDF 7 20 UDF 8 15 Phone 20 Info 3 Vend Code 0 Terms 20 Vendor Image 0 Trade Discount % 60 E-Mail Description Company Name Title First Name Last Name Address 1 Address 2 Address 3 ZIP Code Telephone 1 Telephone 2 Information 1 Information 2 Vendor Notes Account Number Accounts Payable User-Defined Field 1 User-Defined Field 2 User-Defined Field 3 User-Defined Field 4 User-Defined Field 5 User-Defined Field 6 User-Defined Field 7 User-Defined Field 8 Telephone Information Vendor Code Payment Terms Vendor Image Trade Discount % E-Mail address

Copyright 2008 Retail Pro. All rights reserved 78

Retail Pro 8 RDA2 Programmers Guide

Items
RDA2 Constant fidDC fidVC fidDesc1 fidDesc2 fidAttr fidSIZE fidUPC fidALU fidUsrCd0 fidUsrCd1 fidUsrCd2 fidUsrCd3 fidCommCod fidSPIF fidTax fidInvenFlag fidEDIStatus fidPromoPrc fidDateRcvd fidDateSold fidFDateRcvd fidDateMarked fidDateDiscon fidInvnPrc fidInvnCost fidMrgD fidMrgP fidCoeff fidTaxP fidTaxAmt fidQTY fidLastCost ID# Name 2 fldDCS 4 fldVendorCode 5 fldDesc1 8 fldDesc2 6 fldAttr 7 fldSize 9 fldUPC 166 fldALU 146 fldUDF0 163 fldUDF1 164 fldUDF2 165 fldUDF3 181 fldCommCod 182 fldSPIF 49 fldTaxCd 127 fldFlag 109 fldEDI 145 fldPlnPrc 14 fldLRecvD 15 fldLSoldD 66 fldFRecvD 173 fldLMrkDnD 176 fldDiscD 11 fldPrice 12 fldCost 69 fldMgn 13 fldMgnPrc 115 fldCoeff 118 fldTaxPrc 119 fldTax 10 fldQty 16 fldOrdCost Type String String String String String String String String Enumerated Enumerated Enumerated Enumerated Integer Double Enumerated Enumerated Enumerated Boolean Date Date Date Date Date Double Double Double Integer Double Double Double Double Double Size Caption 9 DCS 3 Vend Code 16 Desc 1 17 Desc 2 4 Attr 4 Size 13 UPC 20 ALU 0 UDF 1 0 UDF 2 0 UDF 3 0 UDF 4 0 Comm Code 0 SPIF 0 Tax 0 Flag 0 EDI 0 Plan Price 0 Last Rcvd 0 Last Sold 0 First Rcvd 0 Last MkDn 0 Discont Date 0 Inven P$ 0 Cost 0 Margin $ 0 Mrg% 0 Coef 0 Tax % 0 Tax $ 0 Qty 0 Ord C$ Description Full Department Code Vendor Code Description 1 Description 2 Attribute Size UPC Alternate Look Up User-Defined Field 1 User-Defined Field 2 User-Defined Field 3 User-Defined Field 4 Commission Code Sales Person Incentive Fee Tax Code Inventory Flag EDI Status Planned Price Flag Last Received Date Last Sold Date First Received Date Last Markdown Date Discontinue Date Inventory Price Cost Margin Amount Margin % Coefficient Tax % Tax Amount Quantity Order Cost

Copyright 2008 Retail Pro. All rights reserved 79

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidFrmrPrc fidMin fidMax fidInvnPWT fidMrgT fidFrmrPWT fidUnitsPerCase fidQtyCas fidNumberOfDecima ls fidPrtTag fidDeptName fidMupP fidTotO_H fidTotO_O fidTotRcvd fidTotSold fidStrOrd fidStrRcvd fidStrSold fidStyleSid fidStylePicture fidItemNo fidItemSID fidItemPicture fidFC1Prc fidFC1PWT fidFC1TaxAmt fidItemScale fidSchedNo fidDC1 fidClass fidSubClass fidCmpMin ID# Name 17 fldFrmrPrc 55 fldMin 56 fldMax 116 fldPrcWTx 70 fldMrgWTx 128 fldFrmrPrcWTx 135 fldUnitsCase 136 fldCaseQty 202 fldNDecimals 184 fldPrintTags 3 fldDCSName 104 fldMkUpPrc 18 fldTotOnHnd 19 fldTotOnOrder 20 fldTotRcvd 21 fldTotSold 101 fldStrOnOrder 102 fldStrRcvd 100 fldStrSold 207 fldStyleSID 204 fldStylePicture 1 fldItemNum 208 fldItemSID 199 fldItemPicture 177 fldFC1Prc 178 fldFC1PrcWTx 179 fldFC1Tx 205 fldItemScale 175 fldDscSch 50 fldDept 51 fldClass 52 fldSubClass 57 fldCmpMin Type Double Double Double Double Double Double Integer Double Integer Boolean String Integer Double Double Double Double Double Double Double Int64 String Integer Int64 String Double Double Double Enumerated Integer String String String Double Size Caption 0 Frmr P$ 0 Min 0 Max 0 Inven P$T$ 0 M$T$ 0 Frmr P$T$ 0 Units/Case 0 Case Qty 0 Qty Decimals 0 Tags 30 DCS Name 0 MkUp% 0 Cmp Qty 0 Cmp On Ordr 0 Cmp Rcvd 0 Cmp Sold 0 Str On Ordr 0 Str Rcvd 0 Str Sold 0 Style SID 20 Style Image 0 Item # 0 Item SID 20 Item Image 0 FC1 P$ 0 FC1 P$T$ 0 FC1 T$ 0 Scale 0 Promo # 1 Dept 1 Class 1 Subclass 0 Cmp Min Description Former Price Minimum Maximum Inventory Price with Tax Margin with Tax Former Price with Tax Units/Case Case Quantity Number of Decimals Print Tags Full Department Name Mark Up % Company Quantity Company On Order Company Received Company Sold Store On Order Store Received Store Sold Style SID Style Image Item Number Item SID Item Image Foreign Currency 1 Price Foreign Currency 1 Price with Tax Foreign Currency 1 Tax Amount Item Scale Promotional Pricing Number Department Class Subclass Company Minimum

Copyright 2008 Retail Pro. All rights reserved 80

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidCmpMax fidDesc3 fidDesc4 fidInvnUDFStr fidInvnAux0 -None-None-None-None-None-NonefidInvnAux7 fidInvnUDFDate fidInvnFrstPrc fidInvnFrstPWT fidInvnSerialFlg fidFCC fidFCCType fidMaxDisc1 fidMaxDisc2 fidVndrListCst fidTradeDiscPercent fidInvnCostCode fidLastRcvdCode fidKitItemType fidNonInventory fidCommitted fidDocLastEdit fidSaleDiscPercent fidSaleDisc fidTotalTaxAmt fidTax2Prc fidTax2Amt ID# Name 58 fldCmpMax 197 fldDesc3 198 fldDesc4 75 fldInvnUDFStr 78 fldInvnAUX0 79 fldInvnAUX1 80 fldInvnAUX2 81 fldInvnAUX3 82 fldInvnAUX4 83 fldInvnAUX5 84 fldInvnAUX6 85 fldInvnAUX7 87 fldInvnUDFDate 195 fldInvnFrstPrc 196 fldInvnFrstPWT 88 fldInvnSerialFlg 89 fldFCC 90 fldFCCType 97 fldMaxDisc1 98 fldMaxDisc2 193 fldVndrListCst 194 fldTradeDiscPercent 36 fldCostCode 37 fldLRcvdCode 96 fldKitItemType 109 fldNonInventory 9 109 fldCommitted 7 569 fldDocLastEdit 112 fldSaleDiscPercent 3 112 fldSaleDisc 4 700 fldTotalTax 3 700 fldTax2Prc 0 700 fldTax2 1 Type Double String String String Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Date Double Double Enumerated Double Enumerated Double Double Double Double String String Enumerated Boolean Boolean Date Double Double Double Double Double Size Caption 0 Cmp Max 11 Desc 3 11 Desc 4 20 UDF Name 0 Aux 1 0 Aux 2 0 Aux 3 0 Aux 4 0 Aux 5 0 Aux 6 0 Aux 7 0 Aux 8 0 UDF Date 0 First P$ 0 First P$T$ 0 Serial 0 FOC$ 0 FOC$ Type 0 Max Discount Percentage 1 0 Max Discount Percentage 2 0 Vendor List Cost 0 Trade Discount % 0 Cost Code 0 Last Rcvd Code 0 Kit Item Type 0 Non-Inventory 0 Committed 0 Last Edit 0 Sale Disc % 0 Sale Disc $ 0 Total Tax $ 0 Tax 2 % 0 Tax 2 $ Description Company Maximum Description 3 Description 4 User-Defined Name Auxiliary Field 1 Auxiliary Field 2 Auxiliary Field 3 Auxiliary Field 4 Auxiliary Field 5 Auxiliary Field 6 Auxiliary Field 7 Auxiliary Field 8 User-Defined Date First Price First Price with Tax Serial Item Flag Foreign Order Cost Foreign Order Cost Type Max Discount Percentage 1 Max Discount Percentage 2 Vendor List Cost Trade Discount % Cost Code Last Received Code Kit Item Type Non-Inventory Committed Last Edit Sale Disc % Sale Disc $ Total Tax Amount Tax 2 Percent Tax 2 Amount

Copyright 2008 Retail Pro. All rights reserved 81

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidAltTax2 fidAltTax1 ID# Name 700 fldTax2Cd 4 700 fldTax1Cd 2 Type String String Size Caption 0 Tax Code 2 0 Tax Code Description Tax Code 2 Tax Code

Copyright 2008 Retail Pro. All rights reserved 82

Retail Pro 8 RDA2 Programmers Guide

Invoices
RDA2 Constant fidInvcHdrNotes fidStoreStation fidTaxAmt fidTaxP fidDiscPercent fidDisc fidShipping fidFee fidInvcComment1 fidInvcComment2 fidTaxArea fidShippingPercent fidFeeType fidFeeTaxPercent fidTaxOnFeeShip fidTaxRebatePercent fidTaxRebate fidInvcRoundAmt fidInvcTotalRoundAmt fidItemsCount fidInvcTotalOfLineDisc fidInvcHdrRcptStatus fidInvcHdrRcptType fidCashier fidDocDate fidInvcNum fidClerk fidBillToCustID fidBillToCustComp fidBillToCustFName fidBillToCustLName fidBillToCustTitle ID# Name Type String String Double Double Double Double Double Double String String String Double String Double Double Double Double Double Double Integer Double Enumerated Enumerated String Date Integer String String String String String String Size Caption 7 Notes 4 Str/Sta 0 Tax $ 0 Tax % 0 Disc % 0 Disc $ 0 Shipping 0 Fee 25 Comment 1 25 Comment 2 11 Tax Area 0 Shipping % 6 Fee Type 0 Fee Tax % 0 Tax On Fee/Ship Description Receipt Header Notes Store and Station Tax Amount Tax % Discount % Discount Amount Shipping Fee Amount Receipt Comment 1 Receipt Comment 2 Tax Area Shipping % Fee Type Fee Tax % Tax On Fee/Ship Tax Rebate % Tax Rebate Amount Receipt Round Amount Receipt Total Plus Round Amount Items Count Receipt Total of Line Discount Receipt Status Receipt Type Cashier Document Date Receipt Number Associate Bill To Customer Number 350 fldInvcHdrNotes 563 fldStoreStatn 119 fldTax 118 fldTaxPrc 500 fldDiscPrc 34 fldDiscount 505 fldShipping 508 fldFee 371 fldInvcComment1 372 fldInvcComment2 54 fldTaxArea 504 fldShippingPrc 506 fldFeeType 507 fldFeeTaxPrc 509 fldTaxOnFeeShip 510 fldTaxRebatePrc 511 fldTaxRebate 375 fldInvcRoundAmt 376 fldInvcTotalRoundAmt 512 fldItemsCount 377 fldInvcTotalOfLineDisc 378 fldInvcHdrRcptStatus 379 fldInvcHdrRcptType 517 fldCashier 518 fldDocDate 560 fldInvcNum 65 fldClerk 520 fldBillToCustNumber 521 fldBillToCustCompany 523 fldBillToFName 522 fldBillToLName 524 fldBillToTitle

0 Tax Rebate % 0 Tax Rebate 0 Round $ 0 Total+Round $ 0 No of Items 0 Total of Line Disc

0 Receipt Status 0 Receipt Type 8 Cashier 0 Date 0 Receipt # 8 Associate 0 Bill To Cust #

25 Bill To Company Bill To Company 30 Bill To F.Name 30 Bill To L.Name 15 Bill To Title Bill To First Name Bill To Last Name Bill To Title

Copyright 2008 Retail Pro. All rights reserved 83

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidBillToAddr1 fidBillToAddr2 fidBillToAddr3 fidBillToZip fidBillToInfo1 fidBillToInfo2 fidShipToCustID fidShipToCustComp fidShipToCustFName fidShipToCustLName fidShipToCustTitle fidShipToAddr1 fidShipToAddr2 fidShipToAddr3 fidShipToZip fidShipToInfo1 fidShipToInfo2 fidBillToCustSID fidShipToCustSID fidSubTotal fidTotal fidBillToFullName fidShipToFullName fidWorkstation fidDocTime fidBillToSC fidBillToChks fidSONum fidSOType fidBillToPicture fidShipToPicture fidItemPicture fidFlag1 ID# Name Type String String String String String String String Size 31 31 31 Caption Bill To Address 1 Bill To Address 2 Bill To Address 3 Description Bill To Address 1 Bill To Address 2 Bill To Address 3 Bill To ZIP Bill To Info 1 Bill To Info 2 Ship To Customer Number Ship To Company

525 fldBillToAddr1 526 fldBillToAddr2 527 fldBillToAddr3 528 fldBillToZip 531 fldBillToInfo1 532 fldBillToInfo2 540 fldShipToCustNumber

10 Bill To ZIP 20 Bill To Info 1 20 Bill To Info 2 0 Ship To Cust # 25 Ship To Company

541 fldShipToCustCompany String 543 fldShipToFName 542 fldShipToLName 544 fldShipToTitle 545 fldShipToAddr1 546 fldShipToAddr2 547 fldShipToAddr3 548 fldShipToZip 551 fldShipToInfo1 552 fldShipToInfo2 533 fldBillToCustSID 553 fldShipToCustSID 564 fldSubtotal 565 fldTotal 536 fldBillToFullName 556 fldShipToFullName 501 fldWorkstation 502 fldDocTime 537 fldBillToSC 538 fldBillToChks 600 fldSONumber 609 fldSOType 557 fldBillToPicture 558 fldShipToPicture 199 fldItemPicture 575 fldFlag1 String String String String String String String String String Int64 Int64 Double Double String String Integer Date Double Boolean String Enumerated String String String Enumerated

30 Ship To F.Name Ship To First Name 30 Ship To L.Name Ship To Last Name 15 Ship To Title Ship To Title

Ship To Address 31 Ship To Address 1 1 31 31 Ship To Address Ship To Address 2 2 Ship To Address Ship To Address 3 3 Ship To ZIP Ship To Info 1 Ship To Info 2

10 Ship To ZIP 20 Ship To Info 1 20 Ship To Info 2

16 Bill To Cust. SID Bill To Customer SID 16 Ship To Cust. SID Ship To Customer SID SubTotal Total Bill To Full Name Ship To Full Name Workstation Document Time Bill To Store Credit Bill To Checks SO Number SO Type Bill To Image Ship To Image Item Image Flag 1

0 SubTotal 0 Total 0 0 Bill To Full Name Ship To Full Name

0 Wks 0 Time 0 St. Credit 0 Checks 14 SO Number 0 SO Type 20 Bill To Image 20 Ship To Image 20 Item Image 0 Flag 1

Copyright 2008 Retail Pro. All rights reserved 84

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidFlag2 fidFlag3 fidGL fidAR1 fidPR fidInvcIdx2 fidInvcIdx12 fidBillToPhone1 fidBillToPhone2 fidShipToPhone1 fidShipToPhone2 fidBusCon fidCustPONumber fidStoreHeading1 fidStoreHeading2 fidStoreHeading3 fidInvcIdx7 fidTender fidInvcIdx6 fidStore fidStation fidDocLastEdit fidTransmitted fidStylePicture fidDocPostDate fidTrackingNum fidCustCredLim fidRefDocNum fidRefDocPostDt fidTotalQty fidCustCredUsed fidFC1Total fidStoreHeading4 ID# Name Type Enumerated Enumerated Boolean Boolean Boolean String String String String String String Enumerated String String String String String Enumerated String String String Date Boolean String Date String Double String Date Double Double Double String Size Caption 0 Flag 2 0 Flag 3 0 GL 0 AR 0 PR 53 53 Description Flag 2 Flag 3 General Ledger Accounts Receivable Payroll

576 fldFlag2 577 fldFlag3 578 fldGL 579 fldAR1 582 fldPR 381 fldInvcIdx2 382 fldInvcIdx12 529 fldBillToPhone1 530 fldBillToPhone2 549 fldShipToPhone1 550 fldShipToPhone2 591 fldBusCon 601 fldSOCustPONumber 585 fldStoreHeading1 586 fldStoreHeading2 587 fldStoreHeading3 383 fldInvcIdx7 519 fldTender 384 fldInvcIdx6 53 fldStore 48 fldStation 569 fldDocLastEdit 823 fldTransmitted 204 fldStylePicture 568 fldDocPostDate 652 fldTrackingNum 242 fldCredLim 300 fldRefDocNum 301 fldRefDocPostDt 597 fldInvcTotalQty 243 fldCredUsed 1110 fldTotalFC1 1585 fldStoreHeading4

Cust.(Company Customer (Company priority) priority) Cust.(Name priority) Customer (Name priority) Bill To Phone 1 Bill To Phone 2

15 Bill To Phone 1 15 Bill To Phone 2

15 Ship To Phone 1 Ship To Phone 1 15 Ship To Phone 2 Ship To Phone 2 0 Business/Consu Business/Consumer mer Customer Purchase Order Number

10 Cust PO #

40 Store Heading 1 Store Heading 1 40 Store Heading 2 Store Heading 2 40 Store Heading 3 Store Heading 3 0 St/Sta/Ws/Date Store/Station/Workstation/Date 0 Tender 0 St/Sta/Cashier 3 Store 1 Station 0 Last Edit 0 Transmitted 20 Style Image 0 Post Date 24 Tracking # 0 Chrg Limit 0 Reference Doc # Tender Store/Station/Cashier Store Station Last Edit Transmitted Style Image Post Date Tracking Number Charge Limit Reference Doc Number Reference Post Date Total Quantity Sold Charge Balance Foreign Currency 1 Total

Reference Post 0 Date 0 Total Qty Sold 0 Chrg Bal 0 FC1 Total

40 Store Heading 4 Store Heading 4

Copyright 2008 Retail Pro. All rights reserved 85

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidStoreHeading5 fidStoreHeading6 fidPrcLvl fidExtOrigPrice fidOrigStoreStation fidAudited fidTaxArea2 fidTotalTaxAmt fidTax2Amt fidTax2Prc fidDefSubLoc fidMovNoteShipNum fidWSSeqNo fidDataOrigin fidChargeDueDate fidSubTotalWithoutTax fidShipToAux11 -None-None-None-None-None-None-None-None-None-NonefidShipToAux0 fidBillToAux11 -None-None-None-NoneID# Name Type String String Enumerated Double String Boolean String Double Double Double String String Integer Enumerated Date Double Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Size Caption Description

1586 fldStoreHeading5 1587 fldStoreHeading6 107 fldPrcLvl 61 fldExtOrigPrc 1121 fldOrigStoreStatn 1122 fldAudited 7005 fldTaxArea2 7003 fldTotalTax 7001 fldTax2 7000 fldTax2Prc 1127 fldDefSubLoc 1128 fldMovNoteShipNum 1129 fldSeqWSNo 1131 fldDataOrigin 1132 fldChargeDueDate 562 fldSubTotalWithoutTax 7211 fldShipToAux12 7210 fldShipToAux11 7209 fldShipToAux10 7208 fldShipToAux9 7207 fldShipToAux8 7206 fldShipToAux7 7205 fldShipToAux6 7204 fldShipToAux5 7203 fldShipToAux4 7202 fldShipToAux3 7201 fldShipToAux2 7200 fldShipToAux1 7111 fldBillToAux12 7110 fldBillToAux11 7109 fldBillToAux10 7108 fldBillToAux9 7107 fldBillToAux8

40 Store Heading 5 Store Heading 5 40 Store Heading 6 Store Heading 6 0 Prc Lvl 0 Ext. Orig. Price 4 Orig. Str/Sta 0 Audited 11 Tax Area 2 0 Total Tax $ 0 Tax 2 $ 0 Tax 2 % 12 Default SubLocation Price Level Extened Original Price Originating Store and Station Audited Tax Area 2 Total Tax Amount Tax 2 Amount Tax 2 Percent Default sub-location

Movement Note 9 Movement note shipment number Shipment# 0 WS Seq # 0 Data Origin 0 0 Charge Due Date Subtotal w/o Tax WS Seq # Data Origin Charge Due Date Subtotal w/o Tax

0 Ship To Aux 12 Auxiliary field 12 0 Ship To Aux 11 Auxiliary field 11 0 Ship To Aux 10 Auxiliary field 10 0 Ship To Aux 9 0 Ship To Aux 8 0 Ship To Aux 7 0 Ship To Aux 6 0 Ship To Aux 5 0 Ship To Aux 4 0 Ship To Aux 3 0 Ship To Aux 2 0 Ship To Aux 1 0 Bill To Aux 12 0 Bill To Aux 11 0 Bill To Aux 10 0 Bill To Aux 9 0 Bill To Aux 8 Auxiliary field 9 Auxiliary field 8 Auxiliary field 7 Auxiliary field 6 Auxiliary field 5 Auxiliary field 4 Auxiliary field 3 Auxiliary field 2 Auxiliary field 1 Auxiliary field 12 Auxiliary field 11 Auxiliary field 10 Auxiliary field 9 Auxiliary field 8

Copyright 2008 Retail Pro. All rights reserved 86

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant -None-None-None-None-None-NonefidBillToAux0 fidBillToUDF7 -None-None-None-None-None-NonefidShipToUDF7 -None-None-None-None-None-NonefidBillToUDF0 fidShipToUDF0 fidBillToEMail fidShipToEMail fidDocVAT fidRefDocSID fidDocSID ID# Name Type Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated String String String String String String Date String String String String String String Date Date Date String String Boolean Int64 Int64 Size Caption 0 Bill To Aux 7 0 Bill To Aux 6 0 Bill To Aux 5 0 Bill To Aux 4 0 Bill To Aux 3 0 Bill To Aux 2 0 Bill To Aux 1 20 Bill To UDF 8 20 Bill To UDF 7 20 Bill To UDF 6 20 Bill To UDF 5 20 Bill To UDF 4 20 Bill To UDF 3 0 Bill To UDF 2 20 Ship To UDF 8 20 Ship To UDF 7 20 Ship To UDF 6 20 Ship To UDF 5 20 Ship To UDF 4 20 Ship To UDF 3 0 Ship To UDF 2 0 Bill To UDF 1 0 Ship To UDF 1 60 Bill To E-Mail 60 Ship To E-Mail 0 VAT 0 Ref Doc SID 0 SID Description Auxiliary field 7 Auxiliary field 6 Auxiliary field 5 Auxiliary field 4 Auxiliary field 3 Auxiliary field 2 Auxiliary field 1 User-Defined Field 8 User-Defined Field 7 User-Defined Field 6 User-Defined Field 5 User-Defined Field 4 User-Defined Field 3 User-Defined Field 2 User-Defined Field 8 User-Defined Field 7 User-Defined Field 6 User-Defined Field 5 User-Defined Field 4 User-Defined Field 3 User-Defined Field 2 User-Defined Field 1 User-Defined Field 1 Bill To E-Mail address Ship To E-Mail address Document VAT flag Ref document SID Document SID

7106 fldBillToAux7 7105 fldBillToAux6 7104 fldBillToAux5 7103 fldBillToAux4 7102 fldBillToAux3 7101 fldBillToAux2 7100 fldBillToAux1 7120 fldBillToUDF8 7119 fldBillToUDF7 7118 fldBillToUDF6 7117 fldBillToUDF5 7116 fldBillToUDF4 7115 fldBillToUDF3 7114 fldBillToUDF2 7220 fldShipToUDF8 7219 fldShipToUDF7 7218 fldShipToUDF6 7217 fldShipToUDF5 7216 fldShipToUDF4 7215 fldShipToUDF3 7214 fldShipToUDF2 7113 fldBillToUDF1 7213 fldShipToUDF1 534 fldBillToEMail 554 fldShipToEMail 7227 fldDocVAT 299 fldRefDocSID 595 fldDocSID

Copyright 2008 Retail Pro. All rights reserved 87

Retail Pro 8 RDA2 Programmers Guide

ReceiptItem (Nested Table)


RDA2 Constant fidDC fidVC fidDesc1 fidDesc2 fidAttr fidSIZE fidUPC fidALU fidUsrCd0 fidUsrCd1 fidUsrCd2 fidUsrCd3 fidCommCod fidSPIF fidCommAmt fidTax fidEDIStatus fidMrgD fidMrgP fidCoeff fidTaxP fidTaxAmt fidQTY fidQtyO_H fidMrgT fidUnitsPerCase fidQtyCas fidNumberOfDecimals fidDocItmPrc fidDocItmPWT fidDocItmCost fidDiscPercent ID# Name 2 fldDCS 4 fldVendorCode 5 fldDesc1 8 fldDesc2 6 fldAttr 7 fldSize 9 fldUPC 166 fldALU 146 fldUDF0 163 fldUDF1 164 fldUDF2 165 fldUDF3 181 fldCommCod 182 fldSPIF 183 fldCommAmt 49 fldTaxCd 109 fldEDI 69 fldMgn 13 fldMgnPrc 115 fldCoeff 118 fldTaxPrc 119 fldTax 10 fldQty 26 fldStrQty 70 fldMrgWTx 135 fldUnitsCase 136 fldCaseQty 202 fldNDecimals 41 fldInvcItemPrc 132 fldInvcItemPWT 44 fldInvcItemCost 500 fldDocItemDisc Type String String String String String String String String Enumerated Enumerated Enumerated Enumerated Integer Double Double Enumerated Enumerated Double Integer Double Double Double Double Double Double Integer Double Integer Double Double Double Double Size Caption 9 DCS 3 Vend Code 16 Desc 1 17 Desc 2 4 Attr 4 Size 13 UPC 20 ALU 0 UDF 1 0 UDF 2 0 UDF 3 0 UDF 4 0 Comm Code 0 SPIF 0 Comm $ 0 Tax 0 EDI 0 Margin $ 0 Mrg% 0 Coef 0 Tax % 0 Tax $ 0 Qty 0 Str Qty 0 M$T$ 0 Units/Case 0 Case Qty 0 Qty Decimals 0 Rcpt P$ 0 Rcpt P$T$ 0 Rcpt C$ 0 Disc % Description Full Department Code Vendor Code Description 1 Description 2 Attribute Size UPC Alternate Look Up User-Defined Field 1 User-Defined Field 2 User-Defined Field 3 User-Defined Field 4 Commission Code Sales Person Incentive Fee Commission Amount Tax Code EDI Status Margin Amount Margin % Coefficient Tax % Tax Amount Quantity Store Quantity Margin with Tax Units/Case Case Quantity Number of Decimals Receipt Price Receipt Price with Tax Receipt Cost Item Discount %

Copyright 2008 Retail Pro. All rights reserved 88

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidDeptName fidMupP fidTotO_H fidExtPrc fidExtCost fidExtPwt fidDiscLvl fidQtyO_HCas fidOrigPrc fidOrigTax fidClerk fidItemLookup fidPrcLvl fidSchedNo fidItemModified fidOrigPWT fidItemSID fidDisc -NonefidFC1Prc fidFC1PWT fidStyleSid fidDesc3 fidDesc4 fidInvnAux0 -None-None-None-None-None-NonefidInvnAux7 fidInvnUDFStr ID# Name 3 fldDCSName 104 fldMkUpPrc 18 fldTotOnHnd 33 fldExtPrc 38 fldExtCost 117 fldExtPWT Type String Integer Double Double Double Double Size Caption 30 DCS Name 0 MkUp% 0 Cmp Qty 0 Ext P$ 0 Ext C$ 0 Ext P$T$ 0 Disc Type 0 Str Case Qty 0 Orig P$ 0 Orig T$ 8 Associate 20 Item # 0 Prc Lvl 0 Promo # 0 MOD 0 Orig P$T$ 0 Item SID 0 Disc $ 0 Rec # 0 FC1 P$ 0 FC1 P$T$ 0 Style SID 11 Desc 3 11 Desc 4 0 Aux 1 0 Aux 2 0 Aux 3 0 Aux 4 0 Aux 5 0 Aux 6 0 Aux 7 0 Aux 8 20 UDF Name Description Full Department Name Mark Up % Company Quantity Extended Price Extended Cost Extended Price with Tax Discount Type Store Quantity in Cases Original Price Original Tax Amount Associate Item Lookup Price Level Promotional Pricing Number Modified Original Price with Tax Item SID Item Discount Record Number Foreign Currency 1 Price Foreign Currency 1 Price with Tax Style SID Description 3 Description 4 Auxiliary Field 1 Auxiliary Field 2 Auxiliary Field 3 Auxiliary Field 4 Auxiliary Field 5 Auxiliary Field 6 Auxiliary Field 7 Auxiliary Field 8 User-Defined Name

106 fldDocItemDiscLvl Enumerated 138 fldCaseStrQty Double

32 fldDocItemOrigPrc Double 162 fldDocItemOrigTa Double x String String Enumerated Integer Boolean

65 fldClerk 567 fldItemLookup 107 fldPrcLvl 175 fldDscSch 590 fldItemModified 123

fldDocItemOrigPW Double T Int64

208 fldItemSID

fldDocItemDiscAm 34 Double t 2003 fldRecNo 177 fldFC1Prc 178 fldFC1PrcWTx 207 fldStyleSID 197 fldDesc3 198 fldDesc4 78 fldInvnAUX0 79 fldInvnAUX1 80 fldInvnAUX2 81 fldInvnAUX3 82 fldInvnAUX4 83 fldInvnAUX5 84 fldInvnAUX6 85 fldInvnAUX7 75 fldInvnUDFStr Integer Double Double Int64 String String Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated String

Copyright 2008 Retail Pro. All rights reserved 89

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidInvnUDFDate fidInvnFrstPrc fidInvnFrstPWT fidInvnSerialFlg fidSerialNum fidInvnCostCode fidDocCostCode fidDocItmKitFlg fidDocItmPkgItmNo fidKitComponent fidNonInventory fidCommitted fidRoundDiscPrc fidExtOrigPrice fidTotalTaxAmt fidTax2Prc fidTax2Amt fidAltTax2 fidAltTax1 fidTaxArea2 fidDefSubLoc fidItemScale fidSeqNum fidExtTax fidExtTax2 fidExtTotalTax fidUsrDscPrc fidItemPicture fidItemDetaxFlag fidItemDetaxTaxP fidItemDetaxTaxA fidItemDetaxPWT ID# Name 87 fldInvnUDFDate 195 fldInvnFrstPrc 196 fldInvnFrstPWT 88 fldInvnSerialFlg 651 fldSerialNum 36 fldCostCode Type Date Double Double Enumerated String String Size Caption 0 UDF Date 0 First P$ 0 First P$T$ 0 Serial 25 Serial # 0 Cost Code Description User-Defined Date First Price First Price with Tax Serial Item Flag Serial Number Cost Code

fldInvcItemCostCo 559 String de 310 fldDocItmKitFlg 311 Enumerated

0 Rcpt Cost Code Rcpt Cost Code 0 KIT 0 PIN 30 Component 0 Non-Inventory 0 Committed 0 Round Disc % 0 Ext. Orig. Price 0 Total Tax $ 0 Tax 2 % 0 Tax 2 $ 0 Tax Code 2 0 Tax Code 11 Tax Area 2 Default Sub12 Location 0 Scale 0 Seq # 0 Ext T$ 0 Ext Tax 2 $ 0 Ext Total Tax $ 0 Doc Disc % 20 Item Image 0 Item Detax 0 Item Tax% Ovrd Kit Item Type Package Item Number Component Non-Inventory Committed Discount % rounded Extened Original Price Total Tax Amount Tax 2 Percent Tax 2 Amount Tax Code 2 Tax Code Tax Area 2 Default sub-location Item Scale Sequence number Extended Tax Extended Tax 2 Amount Extended Total Tax Amount Doc Disc % Item Image Item detax flag Item detax tax% override Item detax T$ override

fldDocItmPkgItmN Integer o String Boolean Boolean

305 fldKitComponent 1099 fldNonInventory 1097 fldCommitted

fldDocItemRndDis 1120 Double c 61 fldExtOrigPrc 7003 fldTotalTax 7000 fldTax2Prc 7001 fldTax2 7004 fldTax2Cd 7002 fldTax1Cd 7005 fldTaxArea2 1127 fldDefSubLoc 205 fldItemScale 1130 fldSeqNum 121 fldExtTax 7006 fldExtTax2 7007 fldExtTotalTax Double Double Double Double String String String String Enumerated Integer Double Double Double

1126 fldDocItmUsrDisc Double 199 fldItemPicture 7223 fldItemDetaxFlag String Boolean

7224 fldItemDetaxTaxP Double 7225 fldItemDetaxTaxA Double 7226 fldItemDetaxPWT Double

0 Item T$ Ovrd

0 Item PWT Ovrd Item detax PWT override

Copyright 2008 Retail Pro. All rights reserved 90

Retail Pro 8 RDA2 Programmers Guide

POs
RDA2 Constant fidPONumber fidPODate fidPOStartShipDate fidPOCancelDate fidVC fidDisc fidPOEDIDate fidPOLastActivityDate fidFee fidPOTotalPrice fidPOTotalQty fidItemsCount fidVouPaid fidTotal fidItemPicture fidVndrPicture fidPOInstruction1 fidPOInstruction2 fidPOInstruction3 fidPOInstruction4 fidPOInstruction5 fidUnfilledPrc fidSubTotal fidPOType fidVndrCompany fidVndrAddr1 fidVndrAddr2 fidVndrAddr3 fidVndrZIP fidVndrAccNum fidPOBillTo fidPOBillToHeading1 ID# Name 400 fldPONumber 404 fldPODate 405 fldPOStartShipDate 406 fldPOCancelDate 4 fldVendorCode 34 fldDiscount 409 fldEDIDate 417 fldLastActivityDate 508 fldFee 420 fldPOTotalPrice 421 fldPOTotalQty 512 fldItemsCount 516 fldVouTerms 565 fldTotal 199 fldItemPicture 246 fldVendorPicture 422 fldPOInstruction1 423 fldPOInstruction2 424 fldPOInstruction3 425 fldPOInstruction4 426 fldPOInstruction5 584 fldUnfilledPrc 564 fldSubtotal 401 fldPOType 210 fldCompany 214 fldAddr1 215 fldAddr2 216 fldAddr3 217 fldZIP 233 fldAccNum 429 fldPOBillTo 436 fldPOBillToHeading1 Type String Date Date Date String Double Date Date Double Double Double Integer String Double String String String String String String String Double Double Enumerat ed String String String String String String String String Size Caption 20 PO # 0 Ord Date 0 Ship 0 Cancel 3 Vend Code 0 Disc $ 0 EDI Date 0 Last Act. D. 0 Fee 0 Price 0 Qty Ordered 0 No of Items 0 Terms 0 Total 20 Item Image 20 Vendor Image 60 Instruction 1 60 Instruction 2 60 Instruction 3 60 Instruction 4 60 Instruction 5 0 Unfilled % 0 SubTotal 0 PO Type 25 Company 31 Address 1 31 Address 2 31 Address 3 10 ZIP 10 Acct # 3 Bill To # Bill To Heading 40 1 Description PO Number PO Date PO Ship Date PO Cancel Date Vendor Code Discount Amount EDI Date Last Activity Date Fee Amount Price Qty Ordered Items Count Payment Terms Total Item Image Vendor Image Instruction 1 Instruction 2 Instruction 3 Instruction 4 Instruction 5 Unfilled % SubTotal PO Type Company Name Address 1 Address 2 Address 3 ZIP Code Account Number Bill To Number Bill To Heading 1

Copyright 2008 Retail Pro. All rights reserved 91

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidPOShipTo fidPOShipToHeading1 fidPOMarkedFor fidPOMarkedForHeadi ng1 fidPOEDIStatus fidStoreStation fidFeeType fidDiscPercent fidPOTotalQtyRcvd fidPOTotalQtyDue fidClerk fidPOBillToHeading2 fidPOBillToHeading3 fidPOBillToHeading4 fidPOBillToHeading5 fidPOBillToHeading6 fidPOShipToHeading2 fidPOShipToHeading3 fidPOShipToHeading4 fidPOShipToHeading5 fidPOShipToHeading6 fidPOMarkedForHeadi ng2 fidPOMarkedForHeadi ng3 fidPOMarkedForHeadi ng4 fidPOMarkedForHeadi ng5 fidPOMarkedForHeadi ng6 fidArchived fidPOFromSONum fidVndrTitle fidVndrFName fidVndrLName fidVndrPhone1 ID# Name 427 fldPOShipTo Type String Size Caption 3 Ship To # Description Ship To Number

439 fldPOShipToHeading1 String 431 fldPOMarkedFor 442 String

Ship To Heading 40 Ship To Heading 1 1 3 Marked For # 40 Marked For Heading 1 Marked For Number Marked For Heading 1 EDI Status Store and Station Fee Type Discount % Qty Received Qty Due Associate Bill To Heading 2 Bill To Heading 3 Bill To Heading 4 Bill To Heading 5 Bill To Heading 6

fldPOMarkedForHeadi String ng1 Enumerat ed String String Double Double Double String String String String String String

433 fldPOEDIStatus 563 fldStoreStatn 506 fldFeeType 500 fldDiscPrc 434 fldPOTotalQtyRcvd 435 fldPOTotalQtyDue 65 fldClerk 437 fldPOBillToHeading2 438 fldPOBillToHeading3 1436 fldPOBillToHeading4 1437 fldPOBillToHeading5 1438 fldPOBillToHeading6

0 EDI 4 Str/Sta 6 Fee Type 0 Disc % 0 Qty Received 0 Qty Due 8 Associate 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 Bill To Heading 2 Bill To Heading 3 Bill To Heading 4 Bill To Heading 5 Bill To Heading 6

440 fldPOShipToHeading2 String 441 fldPOShipToHeading3 String 1439 fldPOShipToHeading4 String 1440 fldPOShipToHeading5 String 1441 fldPOShipToHeading6 String 443 444 1442 1443 1444 fldPOMarkedForHeadi String ng2 fldPOMarkedForHeadi String ng3 fldPOMarkedForHeadi String ng4 fldPOMarkedForHeadi String ng5 fldPOMarkedForHeadi String ng6 Boolean String String String String String

Ship To Heading Ship To Heading 2 2 Ship To Heading Ship To Heading 3 3 Ship To Heading Ship To Heading 4 4 Ship To Heading Ship To Heading 5 5 Ship To Heading Ship To Heading 6 6 Marked For Heading 2 Marked For Heading 3 Marked For Heading 4 Marked For Heading 5 Marked For Heading 6 Marked For Heading 2 Marked For Heading 3 Marked For Heading 4 Marked For Heading 5 Marked For Heading 6 Archived From SO Number Title First Name Last Name Telephone 1

588 fldArchived 445 fldPOFromSONum 211 fldTitle 212 fldFName 213 fldLName 218 fldPhone1

0 Archived 14 From SO # 15 Title 30 First 30 Last 15 Phone 1

Copyright 2008 Retail Pro. All rights reserved 92

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidVndrPhone2 fidVndrInfo1 fidVndrInfo2 fidDocLocked fidStylePicture fidSNQty fidMarked fidTransmitted fidDocHeld fidDocLastEdit fidPOFromSOFlag fidPOTotalPrcTax ID# Name 219 fldPhone2 221 fldInfo1 222 fldInfo2 618 fldDocLocked 204 fldStylePicture 446 fldSNQty 592 fldMarked 823 fldTransmitted 617 fldSOHeld 569 fldDocLastEdit 447 fldPOFromSOFlag 448 fldPOTotalPrcTax Type String String String Boolean String Double Boolean Boolean Boolean Date Boolean Double Size Caption 15 Phone 2 20 Info 1 20 Info 2 0 Locked 20 Style Image 0 ASN Quantity 0 Marked 0 Transmitted 0 Held 0 Last Edit 0 Created from SO Description Telephone 2 Information 1 Information 2 Locked Style Image ASN Voucher Quantity Marked Transmitted Held Last Edit Createf from SO indicator P$T$

0 P$T$

Copyright 2008 Retail Pro. All rights reserved 93

Retail Pro 8 RDA2 Programmers Guide

POItem (Nested Table)


RDA2 Constant fidQTY fidDocItmCost fidDC fidDeptName fidVC fidDesc1 fidDesc2 fidAttr fidSIZE fidUPC fidALU fidUsrCd0 fidUsrCd1 fidUsrCd2 fidUsrCd3 fidFDateRcvd fidInvnPrc fidInvnCost fidMrgD fidMrgP fidMupP fidCoeff fidTotO_H fidStrOrd fidStrRcvd fidDocItmPrc fidLastCost fidFrmrPrc fidExtPrc fidExtCost fidInvnPWT fidMrgT ID# Name Type Double Double String String String String String String String String String Enumerated Enumerated Enumerated Enumerated Date Double Double Double Integer Integer Double Double Double Double Double Double Double Double Double Double Double Size Caption 0 Qty 0 PO C$ 9 DCS 30 DCS Name 3 Vend Code 16 Desc 1 17 Desc 2 4 Attr 4 Size 13 UPC 20 ALU 0 UDF 1 0 UDF 2 0 UDF 3 0 UDF 4 0 First Rcvd 0 Inven P$ 0 Cost 0 Margin $ 0 Mrg% 0 MkUp% 0 Coef 0 Cmp Qty 0 Str On Ordr 0 Str Rcvd 0 PO P$ 0 Ord C$ 0 Frmr P$ 0 Ext P$ 0 Ext C$ 0 Inven P$T$ 0 M$T$ Description Quantity PO Cost Full Department Code Full Department Name Vendor Code Description 1 Description 2 Attribute Size UPC Alternate Look Up User-Defined Field 1 User-Defined Field 2 User-Defined Field 3 User-Defined Field 4 First Received Date Inventory Price Cost Margin Amount Margin % Mark Up % Coefficient Company Quantity Store On Order Store Received PO Price Order Cost Former Price Extended Price Extended Cost Inventory Price with Tax Margin with Tax 10 fldQty 44 fldPOItmCost 2 fldDCS 3 fldDCSName 4 fldVendorCode 5 fldDesc1 8 fldDesc2 6 fldAttr 7 fldSize 9 fldUPC 166 fldALU 146 fldUDF0 163 fldUDF1 164 fldUDF2 165 fldUDF3 66 fldFRecvD 11 fldPrice 12 fldCost 69 fldMgn 13 fldMgnPrc 104 fldMkUpPrc 115 fldCoeff 18 fldTotOnHnd 101 fldStrOnOrder 102 fldStrRcvd 41 fldPOItmPrice 16 fldOrdCost 17 fldFrmrPrc 33 fldExtPrc 38 fldExtCost 116 fldPrcWTx 70 fldMrgWTx

Copyright 2008 Retail Pro. All rights reserved 94

Retail Pro 8 RDA2 Programmers Guide


fidFrmrPWT fidDocItmPWT fidExtPwt fidQtyOrdCas fidQtyRcvdCas fidPrtTag fidQtyO_H fidPOItmDue fidQtyDueCas fidQtyRcvd fidItemLookup fidNumberOfDecimals fidItemSID fidDiscPercent fidSelQty -NonefidTax fidTaxAmt fidTaxP fidDisc fidStyleSid fidDesc3 fidDesc4 fidInvnAux0 -None-None-None-None-None-NonefidInvnAux7 fidInvnUDFStr fidInvnUDFDate fidInvnFrstPrc 128 fldFrmrPrcWTx 132 fldPOPrcWTx 117 fldExtPWT 139 fldCaseQtyOrd 140 fldCaseQtyRcvd 184 fldPrintTags 26 fldStrQty 414 fldPOItmQtyDue 142 fldCaseQtyDue 28 fldItmRcvd 567 fldItemLookup 202 fldNDecimals 208 fldItemSID 500 fldDocItemDisc 22 fldSelQty 2003 fldRecNo 49 fldTaxCd 119 fldTax 118 fldTaxPrc Double Double Double Double Double Boolean Double Double Double Double String Integer Int64 Double Double Integer Enumerated Double Double 0 Frmr P$T$ 0 PO P$T$ 0 Ext P$T$ 0 Case Ord 0 Case Rcvd 0 Tags 0 Str Qty 0 PO Qty Due 0 Case Due 0 Qty Rcvd 20 Item # 0 Qty Decimals 0 Item SID 0 Disc % 0 Doc.Qty 0 Rec # 0 Tax 0 Tax $ 0 Tax % 0 Disc $ 0 Style SID 11 Desc 3 11 Desc 4 0 Aux 1 0 Aux 2 0 Aux 3 0 Aux 4 0 Aux 5 0 Aux 6 0 Aux 7 0 Aux 8 20 UDF Name 0 UDF Date 0 First P$ Former Price with Tax PO Price with Tax Extended Price with Tax Case Quantity Ordered Case Quantity Received Print Tags Store Quantity PO Quantity Due Case Quantity Due Quantity Received Item Lookup Number of Decimals Item SID Item Discount % Document Quantity Record Number Tax Code Tax Amount Tax % Item Discount Style SID Description 3 Description 4 Auxiliary Field 1 Auxiliary Field 2 Auxiliary Field 3 Auxiliary Field 4 Auxiliary Field 5 Auxiliary Field 6 Auxiliary Field 7 Auxiliary Field 8 User-Defined Name User-Defined Date First Price

34 fldDocItemDiscAmt Double 207 fldStyleSID 197 fldDesc3 198 fldDesc4 78 fldInvnAUX0 79 fldInvnAUX1 80 fldInvnAUX2 81 fldInvnAUX3 82 fldInvnAUX4 83 fldInvnAUX5 84 fldInvnAUX6 85 fldInvnAUX7 75 fldInvnUDFStr 87 fldInvnUDFDate 195 fldInvnFrstPrc Int64 String String Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated String Date Double

Copyright 2008 Retail Pro. All rights reserved 95

Retail Pro 8 RDA2 Programmers Guide


fidInvnFrstPWT fidInvnSerialFlg fidFCC fidFCCType fidVndrListCst fidTradeDiscPercent fidInvnCostCode fidDocCostCode fidSNQty fidCommitted fidSelQtyCas fidSaleDiscPercent fidSaleDisc fidTotalTaxAmt fidTax2Prc fidTax2Amt fidAltTax2 fidAltTax1 fidItemScale fidSeqNum fidUnitsPerCase 196 fldInvnFrstPWT 88 fldInvnSerialFlg 89 fldFCC 90 fldFCCType 193 fldVndrListCst Double Enumerated Double Enumerated Double 0 First P$T$ 0 Serial 0 FOC$ 0 FOC$ Type 0 Vendor List Cost First Price with Tax Serial Item Flag Foreign Order Cost Foreign Order Cost Type Vendor List Cost

194 fldTradeDiscPercent Double 36 fldCostCode 559 fldPOCostCode 446 fldSNQty 1097 fldCommitted 137 fldSelQtyCas 1123 fldSaleDiscPercent 1124 fldSaleDisc 7003 fldTotalTax 7000 fldTax2Prc 7001 fldTax2 7004 fldTax2Cd 7002 fldTax1Cd 205 fldItemScale 1130 fldSeqNum 135 fldUnitsCase String String Double Boolean Double Double Double Double Double Double String String Enumerated Integer Integer

0 Trade Discount % Trade Discount % 0 Cost Code 0 PO Cost Code 0 ASN Quantity 0 Committed 0 Doc.Case Qty 0 Sale Disc % 0 Sale Disc $ 0 Total Tax $ 0 Tax 2 % 0 Tax 2 $ 0 Tax Code 2 0 Tax Code 0 Scale 0 Seq # 0 Units/Case Cost Code PO Cost Code ASN Voucher Quantity Committed Document Case Quantity Sale Disc % Sale Disc $ Total Tax Amount Tax 2 Percent Tax 2 Amount Tax Code 2 Tax Code Item Scale Sequence number Units/Case

Copyright 2008 Retail Pro. All rights reserved 96

Retail Pro 8 RDA2 Programmers Guide

SO
RDA2 Constant fidSONum fidCustPONumber fidBillToCustID fidShipToCustID fidSOTargetStore fidSOShipFromStore fidSOPriority fidSOShipPartial fidShipMethod fidHowPaid fidSOOrderedDate fidSOShippedDate fidSOCancelDate fidClerk fidSOType fidItemPicture fidTaxP fidTaxAmt fidShipping fidShippingPercent fidFeeType fidFee fidFeeTaxPercent fidDisc fidDiscPercent fidTaxArea fidFlag1 fidFlag2 fidFlag3 fidSOComment fidSOInstruction1 fidSOInstruction2 ID# Name 600 fldSONumber 601 fldSOCustPONumber 520 fldBillToCustNumber 540 fldShipToCustNumber 602 fldSOTargetStore 603 fldSOShipFromStore 604 fldSOPriority 605 fldSOShipPartial 514 fldShipMethod 515 fldSOTerms 606 fldSOOrderedDate 607 fldSOShippedDate 608 fldSOCancelDate 65 fldClerk 609 fldSOType 199 fldItemPicture 118 fldTaxPrc 119 fldTax 505 fldShipping 504 fldShippingPrc 506 fldFeeType 508 fldFee 507 fldFeeTaxPrc 34 fldDiscount 500 fldDiscPrc 54 fldTaxArea 575 fldFlag1 576 fldFlag2 577 fldFlag3 610 fldSOComment 611 fldSOInstruction1 612 fldSOInstruction2 Type String String String String String String Enumerated Boolean String Enumerated Date Date Date String Enumerated String Double Double Double Double String Double Double Double Double String Enumerated Enumerated Enumerated String String String Size Caption 14 SO Number 10 Cust PO # 0 Bill To Cust # 0 Ship To Cust # 4 Process At 3 Sell From 0 Priority 0 Ship Partial 10 Ship Method 0 Terms 0 Ordered Date 0 Ship Date 0 Cancel Date 8 Associate 0 SO Type 20 Item Image 0 Tax % 0 Tax $ 0 Shipping 0 Shipping % 6 Fee Type 0 Fee 0 Fee Tax % 0 Disc $ 0 Disc % 11 Tax Area 0 Flag 1 0 Flag 2 0 Flag 3 20 Comment 50 Instruction 1 50 Instruction 2 Description SO Number Customer Purchase Order Number Bill To Customer Number Ship To Customer Number Process At Sell From Priority Ship Partial Ship Method Payment Terms SO Ordered Date SO Shipped Date SO Cancel Date Associate SO Type Item Image Tax % Tax Amount Shipping Shipping % Fee Type Fee Amount Fee Tax % Discount Amount Discount % Tax Area Flag 1 Flag 2 Flag 3 Comment Instruction 1 Instruction 2

Copyright 2008 Retail Pro. All rights reserved 97

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidSOInstruction3 fidSOInstruction4 fidSOInstruction5 fidSONote fidDocHeld fidDocLocked fidTotal fidSODue fidBillToCustComp fidBillToCustFName fidBillToCustLName fidBillToCustTitle fidBillToFullName fidBillToAddr1 fidBillToAddr2 fidBillToAddr3 fidBillToZip fidBillToPhone1 fidBillToPhone2 fidBillToInfo1 fidBillToInfo2 fidShipToCustComp fidShipToCustFName fidShipToCustLName fidShipToCustTitle fidShipToFullName fidShipToAddr1 fidShipToAddr2 fidShipToAddr3 fidShipToZip fidShipToPhone1 fidShipToPhone2 fidShipToInfo1 ID# Name 613 fldSOInstruction3 614 fldSOInstruction4 615 fldSOInstruction5 616 fldSONote 617 fldSOHeld 618 fldDocLocked 565 fldTotal 619 fldSODue 521 fldBillToCustCompany 523 fldBillToFName 522 fldBillToLName 524 fldBillToTitle 536 fldBillToFullName 525 fldBillToAddr1 526 fldBillToAddr2 527 fldBillToAddr3 528 fldBillToZip 529 fldBillToPhone1 530 fldBillToPhone2 531 fldBillToInfo1 532 fldBillToInfo2 Type String String String String Boolean Boolean Double Double String String String String String String String String String String String String String Size Caption 50 Instruction 3 50 Instruction 4 50 Instruction 5 10 Note 0 Held 0 Locked 0 Total 0 Balance Due 25 Bill To Company 30 Bill To F.Name 30 Bill To L.Name 15 Bill To Title 0 Bill To Full Name 31 Bill To Address 1 31 Bill To Address 2 31 Bill To Address 3 10 Bill To ZIP 15 Bill To Phone 1 15 Bill To Phone 2 20 Bill To Info 1 20 Bill To Info 2 Description Instruction 3 Instruction 4 Instruction 5 Note Held Locked Total Balance Due Bill To Company Bill To First Name Bill To Last Name Bill To Title Bill To Full Name Bill To Address 1 Bill To Address 2 Bill To Address 3 Bill To ZIP Bill To Phone 1 Bill To Phone 2 Bill To Info 1 Bill To Info 2

541 fldShipToCustCompany String 543 fldShipToFName 542 fldShipToLName 544 fldShipToTitle 556 fldShipToFullName 545 fldShipToAddr1 546 fldShipToAddr2 547 fldShipToAddr3 548 fldShipToZip 549 fldShipToPhone1 550 fldShipToPhone2 551 fldShipToInfo1 String String String String String String String String String String String

25 Ship To Company Ship To Company 30 Ship To F.Name 30 Ship To L.Name 15 Ship To Title Ship To First Name Ship To Last Name Ship To Title

0 Ship To Full Name Ship To Full Name 31 Ship To Address 1 Ship To Address 1 31 Ship To Address 2 Ship To Address 2 31 Ship To Address 3 Ship To Address 3 10 Ship To ZIP 15 Ship To Phone 1 15 Ship To Phone 2 20 Ship To Info 1 Ship To ZIP Ship To Phone 1 Ship To Phone 2 Ship To Info 1

Copyright 2008 Retail Pro. All rights reserved 98

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidShipToInfo2 fidQTY fidSOItmSent fidSOItmDue fidSelQty fidQtyDueCas fidUnfilledPrc fidSORecorded fidBusCon fidSubTotal fidSOPmtDueDate fidSOTotDueDate fidItemsCount fidSOTermsDetail fidSODepoBalance fidSubtotalWTax fidStoreStation fidStoreHeading1 fidStoreHeading2 fidStoreHeading3 fidSOTargetStoreHeading1 fidSOTargetStoreHeading2 fidSOTargetStoreHeading3 fidSOShipFromStoreHeadin g1 fidSOShipFromStoreHeadin g2 fidSOShipFromStoreHeadin g3 fidArchived fidSOStNum fidBillToCustSID fidShipToCustSID fidStylePicture fidRefSONum ID# Name 552 fldShipToInfo2 10 fldQty 632 fldSOQtySent 633 fldSOQtyDue 22 fldSelQty 142 fldCaseQtyDue 584 fldUnfilledPrc 620 fldSORecorded 591 fldBusCon 564 fldSubtotal 621 fldSOPmtDueDate 622 fldSOTotDueDate 512 fldItemsCount 593 fldSOTermsDetail 623 fldSODepoBalance 566 fldSubTotalWTax 563 fldOrigStore 585 fldOrigStoreHeading1 586 fldOrigStoreHeading2 587 fldOrigStoreHeading3 624 625 626 627 628 629 Type String Double Double Double Double Double Double Boolean Enumerated Double Date Date Integer String Double Double String String String String Size Caption 20 Ship To Info 2 0 Qty 0 Qty Sent 0 Qty Due 0 Doc.Qty 0 Case Due 0 Unfilled % 0 Recorded Description Ship To Info 2 Quantity SO Quantity Sent SO Quantity Due Document Quantity Case Quantity Due Unfilled % Recorded

Business/Consum 0 Business/Consumer er 0 SubTotal 0 Payment Due 0 Total Due By 0 No of Items 0 Terms Detail 0 Deposit Balance 0 Subtotal w/tax 4 Orig.Store 40 40 40 40 40 40 40 40 40 Orig.Store Heading 1 Orig.Store Heading 2 Orig.Store Heading 3 Process At Heading 1 Process At Heading 2 Process At Heading 3 SubTotal Payment Due Total Due By Items Count Terms Detail Deposit Balance Subtotal With Tax Originating Store Originating Store Heading 1 Originating Store Heading 2 Originating Store Heading 3 Process At Heading 1 Process At Heading 2 Process At Heading 3

fldSOTargetStoreHeadin String g1 fldSOTargetStoreHeadin String g2 fldSOTargetStoreHeadin String g3 fldSOShipFromStoreHea String ding1 fldSOShipFromStoreHea String ding2 fldSOShipFromStoreHea String ding3 Boolean String Int64 Int64 String String

Sell From Heading Sell From Heading 1 1 Sell From Heading Sell From Heading 2 2 Sell From Heading Sell From Heading 3 3 Archived

588 fldArchived 630 fldSOStNum 533 fldBillToCustSID 553 fldShipToCustSID 204 fldStylePicture 631 fldRefSONumber

0 Archived

14 Store/SO Number Store/SO Number 16 Bill To Cust. SID Bill To Customer SID

16 Ship To Cust. SID Ship To Customer SID 20 Style Image 14 Ref SO# Style Image Referenced by SO

Copyright 2008 Retail Pro. All rights reserved 99

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidStoreHeading4 fidStoreHeading5 fidStoreHeading6 fidSOTargetStoreHeading4 fidSOTargetStoreHeading5 fidSOTargetStoreHeading6 fidSOShipFromStoreHeadin g4 fidSOShipFromStoreHeadin g5 fidSOShipFromStoreHeadin g6 fidDocLastEdit fidTaxArea2 fidTotalTaxAmt fidTax2Amt fidTax2Prc fidBillToAux0 -None-None-None-None-None-None-None-None-None-NonefidBillToAux11 fidShipToAux0 -None-None-None-None-None-NoneID# Name Type String String String Size 40 40 40 Caption Orig.Store Heading 4 Orig.Store Heading 5 Orig.Store Heading 6 Description Originating Store Heading 4 Originating Store Heading 5 Originating Store Heading 6 Process At Heading 4 Process At Heading 5 Process At Heading 6

1585 fldOrigStoreHeading4 1586 fldOrigStoreHeading5 1587 fldOrigStoreHeading6

fldSOTargetStoreHeadin 1624 String g4 fldSOTargetStoreHeadin 1625 String g5 1626 1627 1628 1629 fldSOTargetStoreHeadin String g6 fldSOShipFromStoreHea String ding4 fldSOShipFromStoreHea String ding5 fldSOShipFromStoreHea String ding6 Date String Double Double Double Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated

Process At 40 Heading 4 Process At 40 Heading 5 40 40 40 40 Process At Heading 6

Sell From Heading Sell From Heading 4 4 Sell From Heading Sell From Heading 5 5 Sell From Heading Sell From Heading 6 6 Last Edit Tax Area 2 Total Tax Amount Tax 2 Amount Tax 2 Percent Auxiliary field 1 Auxiliary field 2 Auxiliary field 3 Auxiliary field 4 Auxiliary field 5 Auxiliary field 6 Auxiliary field 7 Auxiliary field 8 Auxiliary field 9 Auxiliary field 10 Auxiliary field 11 Auxiliary field 12 Auxiliary field 1 Auxiliary field 2 Auxiliary field 3 Auxiliary field 4 Auxiliary field 5 Auxiliary field 6 Auxiliary field 7

569 fldDocLastEdit 7005 fldTaxArea2 7003 fldTotalTax 7001 fldTax2 7000 fldTax2Prc 7100 fldBillToAux1 7101 fldBillToAux2 7102 fldBillToAux3 7103 fldBillToAux4 7104 fldBillToAux5 7105 fldBillToAux6 7106 fldBillToAux7 7107 fldBillToAux8 7108 fldBillToAux9 7109 fldBillToAux10 7110 fldBillToAux11 7111 fldBillToAux12 7200 fldShipToAux1 7201 fldShipToAux2 7202 fldShipToAux3 7203 fldShipToAux4 7204 fldShipToAux5 7205 fldShipToAux6 7206 fldShipToAux7

0 Last Edit 11 Tax Area 2 0 Total Tax $ 0 Tax 2 $ 0 Tax 2 % 0 Bill To Aux 1 0 Bill To Aux 2 0 Bill To Aux 3 0 Bill To Aux 4 0 Bill To Aux 5 0 Bill To Aux 6 0 Bill To Aux 7 0 Bill To Aux 8 0 Bill To Aux 9 0 Bill To Aux 10 0 Bill To Aux 11 0 Bill To Aux 12 0 Ship To Aux 1 0 Ship To Aux 2 0 Ship To Aux 3 0 Ship To Aux 4 0 Ship To Aux 5 0 Ship To Aux 6 0 Ship To Aux 7

Copyright 2008 Retail Pro. All rights reserved 100

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant -None-None-None-NonefidShipToAux11 fidBillToUDF0 -None-None-None-None-None-NonefidBillToUDF7 fidShipToUDF0 -None-None-None-None-None-NonefidShipToUDF7 fidBillToSC fidExtOrigPrice fidPrcLvl fidSubTotalWithoutTax fidBillToEMail fidShipToEMail fidDocVAT ID# Name Type Enumerated Enumerated Enumerated Enumerated Enumerated Date Date String String String String String String Date Date String String String String String String Double Double Enumerated Double String String Boolean Size Caption 0 Ship To Aux 8 0 Ship To Aux 9 0 Ship To Aux 10 0 Ship To Aux 11 0 Ship To Aux 12 0 Bill To UDF 1 0 Bill To UDF 2 20 Bill To UDF 3 20 Bill To UDF 4 20 Bill To UDF 5 20 Bill To UDF 6 20 Bill To UDF 7 20 Bill To UDF 8 0 Ship To UDF 1 0 Ship To UDF 2 20 Ship To UDF 3 20 Ship To UDF 4 20 Ship To UDF 5 20 Ship To UDF 6 20 Ship To UDF 7 20 Ship To UDF 8 0 St. Credit 0 Ext. Orig. Price 0 Prc Lvl 0 Subtotal w/o Tax 60 Bill To E-Mail 60 Ship To E-Mail 0 VAT Description Auxiliary field 8 Auxiliary field 9 Auxiliary field 10 Auxiliary field 11 Auxiliary field 12 User-Defined Field 1 User-Defined Field 2 User-Defined Field 3 User-Defined Field 4 User-Defined Field 5 User-Defined Field 6 User-Defined Field 7 User-Defined Field 8 User-Defined Field 1 User-Defined Field 2 User-Defined Field 3 User-Defined Field 4 User-Defined Field 5 User-Defined Field 6 User-Defined Field 7 User-Defined Field 8 Bill To Store Credit Extened Original Price Price Level Subtotal w/o Tax Bill To E-Mail address Ship To E-Mail address Document VAT flag

7207 fldShipToAux8 7208 fldShipToAux9 7209 fldShipToAux10 7210 fldShipToAux11 7211 fldShipToAux12 7113 fldBillToUDF1 7114 fldBillToUDF2 7115 fldBillToUDF3 7116 fldBillToUDF4 7117 fldBillToUDF5 7118 fldBillToUDF6 7119 fldBillToUDF7 7120 fldBillToUDF8 7213 fldShipToUDF1 7214 fldShipToUDF2 7215 fldShipToUDF3 7216 fldShipToUDF4 7217 fldShipToUDF5 7218 fldShipToUDF6 7219 fldShipToUDF7 7220 fldShipToUDF8 537 fldBillToSC 61 fldExtOrigPrc 107 fldPrcLvl 562 fldSubTotalWithoutTax 534 fldBillToEMail 554 fldShipToEMail 7227 fldDocVAT

Copyright 2008 Retail Pro. All rights reserved 101

Retail Pro 8 RDA2 Programmers Guide

SOItem (Nested Table)


RDA2 Constant fidDeptName fidDC fidVC fidDesc1 fidDesc2 fidAttr fidSIZE fidUPC fidALU fidUsrCd0 fidUsrCd1 fidUsrCd2 fidUsrCd3 fidTax fidInvnPrc fidInvnCost fidMrgD fidMrgP fidMupP fidCoeff fidTaxP fidTaxAmt fidQtyO_H fidStrOrd fidTotO_H fidDocItmPrc fidDocItmCost fidSOItmSent fidSOItmDue fidExtPrc fidExtCost fidDiscPercent ID# Name 3 fldDCSName 2 fldDCS 4 fldVendorCode 5 fldDesc1 8 fldDesc2 6 fldAttr 7 fldSize 9 fldUPC 166 fldALU 146 fldUDF0 163 fldUDF1 164 fldUDF2 165 fldUDF3 49 fldTaxCd 11 fldPrice 12 fldCost 69 fldMgn 13 fldMgnPrc 104 fldMkUpPrc 115 fldCoeff 118 fldTaxPrc 119 fldTax 26 fldStrQty 101 fldStrOnOrder 18 fldTotOnHnd 41 fldSOItmPrice 44 fldSOItmCost 632 fldSOQtySent 633 fldSOQtyDue 33 fldExtPrc 38 fldExtCost 500 fldDocItemDisc Type String String String String String String String String String Enumerated Enumerated Enumerated Enumerated Enumerated Double Double Double Integer Integer Double Double Double Double Double Double Double Double Double Double Double Double Double Size Caption 30 DCS Name 9 DCS 3 Vend Code 16 Desc 1 17 Desc 2 4 Attr 4 Size 13 UPC 20 ALU 0 UDF 1 0 UDF 2 0 UDF 3 0 UDF 4 0 Tax 0 Inven P$ 0 Cost 0 Margin $ 0 Mrg% 0 MkUp% 0 Coef 0 Tax % 0 Tax $ 0 Str Qty 0 Str On Ordr 0 Cmp Qty 0 SO P$ 0 SO C$ 0 Qty Sent 0 Qty Due 0 Ext P$ 0 Ext C$ 0 Disc % Description Full Department Name Full Department Code Vendor Code Description 1 Description 2 Attribute Size UPC Alternate Look Up User-Defined Field 1 User-Defined Field 2 User-Defined Field 3 User-Defined Field 4 Tax Code Inventory Price Cost Margin Amount Margin % Mark Up % Coefficient Tax % Tax Amount Store Quantity Store On Order Company Quantity SO Price SO Cost SO Quantity Sent SO Quantity Due Extended Price Extended Cost Item Discount %

Copyright 2008 Retail Pro. All rights reserved 102

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidDiscLvl fidQTY fidInvnPWT fidMrgT fidDocItmPWT fidExtPwt fidQtyOrdCas fidQtyDueCas fidQtySentCas fidQtyO_HCas fidOrigPrc fidOrigTax fidClerk fidItemLookup fidPrcLvl fidSchedNo fidItemModified fidUnitsPerCase fidNumberOfDecimals fidOrigPWT fidSelQty fidItemSID fidDisc -NonefidStyleSid fidDesc3 fidDesc4 fidInvnAux0 -None-None-None-None-NoneID# Name 106 fldDocItemDiscLvl 10 fldQty 116 fldPrcWTx 70 fldMrgWTx 132 fldSOItmPrcTax 117 fldExtPWT 139 fldCaseQtyOrd 142 fldCaseQtyDue 141 fldCaseQtySent 138 fldCaseStrQty 32 fldDocItemOrigPrc 162 fldDocItemOrigTax 65 fldClerk 567 fldItemLookup 107 fldPrcLvl 175 fldDscSch 590 fldItemModified 135 fldUnitsCase 202 fldNDecimals 123 fldDocItemOrigPWT 22 fldSelQty 208 fldItemSID 34 fldDocItemDiscAmt 2003 fldRecNo 207 fldStyleSID 197 fldDesc3 198 fldDesc4 78 fldInvnAUX0 79 fldInvnAUX1 80 fldInvnAUX2 81 fldInvnAUX3 82 fldInvnAUX4 83 fldInvnAUX5 Type Enumerated Double Double Double Double Double Double Double Double Double Double Double String String Enumerated Integer Boolean Integer Integer Double Double Int64 Double Integer Int64 String String Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Size Caption 0 Disc Type 0 Qty 0 Inven P$T$ 0 M$T$ 0 SO P$T$ 0 Ext P$T$ 0 Case Ord 0 Case Due 0 Case Sent 0 Str Case Qty 0 Orig P$ 0 Orig T$ 8 Associate 20 Item # 0 Prc Lvl 0 Promo # 0 MOD 0 Units/Case 0 Qty Decimals 0 Orig P$T$ 0 Doc.Qty 0 Item SID 0 Disc $ 0 Rec # 0 Style SID 11 Desc 3 11 Desc 4 0 Aux 1 0 Aux 2 0 Aux 3 0 Aux 4 0 Aux 5 0 Aux 6 Description Discount Type Quantity Inventory Price with Tax Margin with Tax SO Price with Tax Extended Price with Tax Case Quantity Ordered Case Quantity Due Case Quantity Sent Store Quantity in Cases Original Price Original Tax Amount Associate Item Lookup Price Level Promotional Pricing Number Modified Units/Case Number of Decimals Original Price with Tax Document Quantity Item SID Item Discount Record Number Style SID Description 3 Description 4 Auxiliary Field 1 Auxiliary Field 2 Auxiliary Field 3 Auxiliary Field 4 Auxiliary Field 5 Auxiliary Field 6

Copyright 2008 Retail Pro. All rights reserved 103

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant -NonefidInvnAux7 fidInvnUDFStr fidInvnUDFDate fidInvnFrstPrc fidInvnFrstPWT fidInvnSerialFlg fidSerialNum fidInvnCostCode fidDocCostCode fidDocItmKitFlg fidDocItmPkgItmNo fidKitComponent fidNonInventory fidCommitted fidCmpMax fidCmpMin fidMin fidMax fidRoundDiscPrc fidTotalTaxAmt fidTax2Prc fidTax2Amt fidAltTax2 fidAltTax1 fidTaxArea2 fidItemScale fidSeqNum fidExtTax fidExtTax2 fidExtTotalTax fidExtOrigPrice fidSPIF ID# Name 84 fldInvnAUX6 85 fldInvnAUX7 75 fldInvnUDFStr 87 fldInvnUDFDate 195 fldInvnFrstPrc 196 fldInvnFrstPWT 88 fldInvnSerialFlg 651 fldSerialNum 36 fldCostCode 559 fldSOItmCostCode 310 fldDocItmKitFlg 311 fldDocItmPkgItmNo 305 fldKitComponent 1099 fldNonInventory 1097 fldCommitted 58 fldCmpMax 57 fldCmpMin 55 fldMin 56 fldMax 1120 fldDocItemRndDisc 7003 fldTotalTax 7000 fldTax2Prc 7001 fldTax2 7004 fldTax2Cd 7002 fldTax1Cd 7005 fldTaxArea2 205 fldItemScale 1130 fldSeqNum 121 fldExtTax 7006 fldExtTax2 7007 fldExtTotalTax 61 fldExtOrigPrc 182 fldSPIF Type Enumerated Enumerated String Date Double Double Enumerated String String String Enumerated Integer String Boolean Boolean Double Double Double Double Double Double Double Double String String String Enumerated Integer Double Double Double Double Double Size Caption 0 Aux 7 0 Aux 8 20 UDF Name 0 UDF Date 0 First P$ 0 First P$T$ 0 Serial 25 Serial # 0 Cost Code 0 SO Cost Code 0 KIT 0 PIN 30 Component 0 Non-Inventory 0 Committed 0 Cmp Max 0 Cmp Min 0 Min 0 Max 0 Round Disc % 0 Total Tax $ 0 Tax 2 % 0 Tax 2 $ 0 Tax Code 2 0 Tax Code 11 Tax Area 2 0 Scale 0 Seq # 0 Ext T$ 0 Ext Tax 2 $ 0 Ext Total Tax $ 0 Ext. Orig. Price 0 SPIF Description Auxiliary Field 7 Auxiliary Field 8 User-Defined Name User-Defined Date First Price First Price with Tax Serial Item Flag Serial Number Cost Code SO Cost Code Kit Item Type Package Item Number Component Non-Inventory Committed Company Maximum Company Minimum Minimum Maximum Discount % rounded Total Tax Amount Tax 2 Percent Tax 2 Amount Tax Code 2 Tax Code Tax Area 2 Item Scale Sequence number Extended Tax Extended Tax 2 Amount Extended Total Tax Amount Extened Original Price Sales Person Incentive Fee

Copyright 2008 Retail Pro. All rights reserved 104

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidUsrDscPrc fidItemDetaxFlag fidItemDetaxTaxP fidItemDetaxTaxA fidItemDetaxPWT ID# Name Type Double Boolean Double Double Double Size Caption 0 Doc Disc % 0 Item Detax 0 Item Tax% Ovrd Description Doc Disc % Item detax flag Item detax tax% override Item detax T$ override

1126 fldDocItmUsrDisc 7223 fldItemDetaxFlag 7224 fldItemDetaxTaxP 7225 fldItemDetaxTaxA 7226 fldItemDetaxPWT

0 Item T$ Ovrd

0 Item PWT Ovrd Item detax PWT override

Copyright 2008 Retail Pro. All rights reserved 105

Retail Pro 8 RDA2 Programmers Guide

SODeposit (Nested Table)


RDA2 Constant fidCashier fidDocDate fidTender fidAmount fidSODepoCancelled fidInvcNum fidSODepoRvrsFlg ID# Name 517 fldCashier 518 fldDocDate 519 fldTender 561 fldAmount 835 fldSODepoCancelled 560 fldSODepInvcNum 834 fldSODepoRvrsFlg Type String Date Enumerated Double Boolean Integer Enumerated Size Caption 8 Cashier 0 Date 0 Tender 0 Amount 0 Cancelled 0 SO Dep Receipt # 0 Reverse Description Cashier Document Date Tender Amount Cancelled Receipt # Reverse

SOHistory (Nested Table)


RDA2 Constant fidDocDate fidStoreStation fidInvcNum fidSOHistDocType ID# Name 518 fldDocDate 563 fldStoreStatn 560 fldSOHistDocNum 635 fldSOHistDocType Type Date String String Enumerated Size Caption 0 Date 4 Str/Sta 14 Document # 0 Doc Type Description Document Date Store and Station Document Number Document Type

Copyright 2008 Retail Pro. All rights reserved 106

Retail Pro 8 RDA2 Programmers Guide

Former Vouchers
RDA2 Constant fidPONumber fidVC fidVndrCompany fidVndrAccNum fidVouNumber fidClerk fidStoreStation fidDocDate fidVouPaid fidSubTotal fidTotal fidDiscPercent fidDisc fidFee fidVouArrivalDate fidVouPayeeCode fidVouPayeeName fidVouInvoiceNumber fidVouFreight fidVouTaxIncPrc fidVouTaxIncAmt fidVouTaxExcPrc fidVouTaxExcAmt fidVouInvoiceDate fidVouType fidVouStatus fidItemPicture fidVouCostMethod fidGL fidAP fidPC fidFeeType ID# Name 400 fldPONumber 4 fldVendorCode 210 fldCompany 233 fldAccNum 700 fldVouNumber 65 fldClerk 563 fldStoreStatn 518 fldDocDate 516 fldVouTerms 564 fldSubtotal 565 fldTotal 500 fldDiscPrc 34 fldDiscount 508 fldFee 701 fldVouArrivalDate 702 fldVouPayeeCode 703 fldVouPayeeName 704 fldVouInvcNumber 706 fldVouFreight 707 fldVouTaxIncPrc 708 fldVouTaxIncAmt 709 fldVouTaxExcPrc 710 fldVouTaxExcAmt 711 fldVouInvcDate 712 fldVouType 713 fldVouStatus 199 fldItemPicture 714 fldVouCostMethod 578 fldGL 581 fldAP 583 fldPC 506 fldFeeType Type String String String String Integer String String Date String Double Double Double Double Double Date String String String Double Double Double Double Double Date Enumerated Enumerated String Enumerated Boolean Boolean Boolean String Size Caption 20 PO # 3 Vend Code 25 Company 10 Acct # 0 Voucher # 8 Associate 4 Str/Sta 0 Date 0 Terms 0 SubTotal 0 Total 0 Disc % 0 Disc $ 0 Fee 0 Arriv. Date 6 Payee 26 Payee Name 15 Invoice # 0 Freight 0 Tax Incl % 0 Tax Incl $ 0 Tax Excl % 0 Tax Excl $ 0 Invoice Date 0 Type 0 Status 20 Item Image 0 Cost Method 0 GL 0 AP 0 PC 6 Fee Type Description PO Number Vendor Code Company Name Account Number Voucher Number Associate Store and Station Document Date Payment Terms SubTotal Total Discount % Discount Amount Fee Amount Arrival Date Payee Code Payee Name Invoice Number Freight Tax Included % Tax Included Amount Tax Excluded % Tax Excluded Amount Invoice Date Voucher Type Voucher Status Item Image Cost Method General Ledger Accounts Payable Purchase Clearing Fee Type

Copyright 2008 Retail Pro. All rights reserved 107

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidDocLastEdit fidDocPostDate fidDocTime fidVndrAddr1 fidVndrAddr2 fidVndrAddr3 fidVndrZIP fidWorkstation fidItemsCount fidMarked fidVouPackageNumber fidVouComm1 -None-None-None-None-None-None-None-NonefidVouComm10 fidVouPayeeAddr1 fidVouPayeeAddr2 fidVouPayeeAddr3 fidVouPayeeZip fidVouPayeeAcctNum fidTONumber fidStoreHeading1 fidStoreHeading2 fidStoreHeading3 fidVndrTitle fidVndrFName fidVndrLName ID# Name 569 fldDocLastEdit 568 fldDocPostDate 502 fldDocTime 214 fldAddr1 215 fldAddr2 216 fldAddr3 217 fldZIP 501 fldWorkstation 512 fldItemsCount 592 fldMarked 715 Type Date Date Date String String String String Integer Integer Boolean Size Caption 0 Last Edit 0 Post Date 0 Time 31 Address 1 31 Address 2 31 Address 3 10 ZIP 0 Wks 0 No of Items 0 Marked 20 Package # 60 Comment 1 60 Comment 2 60 Comment 3 60 Comment 4 60 Comment 5 60 Comment 6 60 Comment 7 60 Comment 8 60 Comment 9 60 Comment 10 31 Payee Address 1 31 Payee Address 2 31 Payee Address 3 10 Payee ZIP 10 Payee Acct # 8 TO # 40 Store Heading 1 40 Store Heading 2 40 Store Heading 3 15 Title 30 First 30 Last Description Last Edit Post Date Document Time Address 1 Address 2 Address 3 ZIP Code Workstation Items Count Marked Package Number Voucher Comment 1 Voucher Comment 2 Voucher Comment 3 Voucher Comment 4 Voucher Comment 5 Voucher Comment 6 Voucher Comment 7 Voucher Comment 8 Voucher Comment 9 Voucher Comment 10 Payee Address 1 Payee Address 2 Payee Address 3 Payee ZIP Code Payee Account Number TO Number Store Heading 1 Store Heading 2 Store Heading 3 Title First Name Last Name

fldVouPackageNumbe String r String String String String String String String String String String String String String String

716 fldVouComm1 717 fldVouComm2 718 fldVouComm3 719 fldVouComm4 720 fldVouComm5 721 fldVouComm6 722 fldVouComm7 723 fldVouComm8 724 fldVouComm9 725 fldVouComm10 726 fldVouPayeeAddr1 727 fldVouPayeeAddr2 728 fldVouPayeeAddr3 729 fldVouPayeeZip

730 fldVouPayeeAcctNum String 950 fldTONumber 585 fldStoreHeading1 586 fldStoreHeading2 587 fldStoreHeading3 211 fldTitle 212 fldFName 213 fldLName String String String String String String String

Copyright 2008 Retail Pro. All rights reserved 108

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidVndrPhone1 fidVndrPhone2 fidVndrInfo1 fidVndrInfo2 fidVouPayeeTitle fidVouPayeeFName fidVouPayeeLName fidVouPayeePhone1 fidVouPayeePhone2 fidVouPayeeInfo1 fidVouPayeeInfo2 fidStore fidStation fidTransmitted fidStylePicture fidShipmentNum fidRefDocNum fidRefDocPostDt fidTotalQty fidStoreHeading4 fidStoreHeading5 fidStoreHeading6 fidOrigStoreStation fidAudited fidDefSubLoc fidMovNoteShipNum fidWSSeqNo fidDataOrigin fidVndrInvcTotal fidReviewedBy fidReviewedDT fidApprovedBy fidApprovedDT ID# Name 218 fldPhone1 219 fldPhone2 221 fldInfo1 222 fldInfo2 731 fldVouPayeeTitle 732 fldVouPayeeFName 735 fldVouPayeeLName 736 fldVouPayeePhone1 737 fldVouPayeePhone2 738 fldVouPayeeInfo1 739 fldVouPayeeInfo2 53 fldStore 48 fldStation 823 fldTransmitted 204 fldStylePicture 1079 fldShipmentNumber 300 fldRefDocNum 301 fldRefDocPostDt 597 fldVchrTotalQty 1585 fldStoreHeading4 1586 fldStoreHeading5 1587 fldStoreHeading6 1121 fldOrigStoreStatn 1122 fldAudited 1127 fldDefSubLoc 1128 fldMovNoteShipNum 1129 fldSeqWSNo 1131 fldDataOrigin 1135 fldVndrInvcTotal 1137 fldReviewedBy 1138 fldReviewedDT 1139 fldApprovedBy 1140 fldApprovedDT Type String String String String String String String String String String String String String Boolean String String String Date Double String String String String Boolean String String Integer Enumerated Double String Date String Date Size Caption 15 Phone 1 15 Phone 2 20 Info 1 20 Info 2 15 Payee Title 30 Payee First 30 Payee Last 15 Payee Phone 1 15 Payee Phone 2 20 Payee Info 1 20 Payee Info 2 3 Store 1 Station 0 Transmitted 20 Style Image Description Telephone 1 Telephone 2 Information 1 Information 2 Payee Title Payee First Name Payee Last Name Payee Telephone 1 Payee Telephone 2 Payee Information 1 Payee Information 2 Store Station Transmitted Style Image

16 Shipment Number Shipment Number 0 Reference Doc # 0 0 Reference Post Date Total Qty Received Reference Doc Number Reference Post Date Total Quantity Received Store Heading 4 Store Heading 5 Store Heading 6 Originating Store and Station Audited Default sub-location Movement note shipment number WS Seq # Data Origin Vendor Invoice Total Reviewed By Reviewed Date/Time Approved By Approved Date/Time

40 Store Heading 4 40 Store Heading 5 40 Store Heading 6 4 Orig. Str/Sta 0 Audited Default Sub12 Location Movement Note 9 Shipment# 0 WS Seq # 0 Data Origin Vendor Invoice 0 Total 8 Reviewed By 0 Reviewed Date/Time

8 Approved By 0 Approved Date/Time

Copyright 2008 Retail Pro. All rights reserved 109

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidRefDocSID fidDocSID fidVouTotalPrice fidVouTotalPrcTax ID# Name 299 fldRefDocSID 595 fldDocSID 449 fldVouTotalPrice 450 fldVouTotalPrcTax Type Int64 Int64 Double Double Size Caption 0 Ref Doc SID 0 SID 0 Price 0 P$T$ Description Ref document SID Document SID Price P$T$

Copyright 2008 Retail Pro. All rights reserved 110

Retail Pro 8 RDA2 Programmers Guide

Pending Vouchers
RDA2 Constant fidPONumber fidVC fidVndrCompany fidVndrAccNum fidVouNumber fidClerk fidStoreStation fidDocDate fidVouPaid fidSubTotal fidTotal fidDiscPercent fidDisc fidFee fidVouArrivalDate fidVouPayeeCode fidVouPayeeName fidVouInvoiceNumber fidVouFreight fidVouTaxIncPrc fidVouTaxIncAmt fidVouTaxExcPrc fidVouTaxExcAmt fidVouInvoiceDate fidVouType fidVouStatus fidItemPicture fidVouCostMethod fidGL fidAP fidPC fidFeeType ID# Name 400 fldPONumber 4 fldVendorCode 210 fldCompany 233 fldAccNum 700 fldVouNumber 65 fldClerk 563 fldStoreStatn 518 fldDocDate 516 fldVouTerms 564 fldSubtotal 565 fldTotal 500 fldDiscPrc 34 fldDiscount 508 fldFee Type String String String String Integer String String Date String Double Double Double Double Double Size Caption 20 PO # 3 Vend Code 25 Company 10 Acct # 0 Voucher # 8 Associate 4 Str/Sta 0 Date 0 Terms 0 SubTotal 0 Total 0 Disc % 0 Disc $ 0 Fee 0 Arriv. Date 6 Payee 26 Payee Name 15 Invoice # 0 Freight 0 Tax Incl % 0 Tax Incl $ 0 Tax Excl % 0 Tax Excl $ 0 Invoice Date 0 Type 0 Status 20 Item Image 0 Cost Method 0 GL 0 AP 0 PC 6 Fee Type Description PO Number Vendor Code Company Name Account Number Voucher Number Associate Store and Station Document Date Payment Terms SubTotal Total Discount % Discount Amount Fee Amount Arrival Date Payee Code Payee Name Invoice Number Freight Tax Included % Tax Included Amount Tax Excluded % Tax Excluded Amount Invoice Date Voucher Type Voucher Status Item Image Cost Method General Ledger Accounts Payable Purchase Clearing Fee Type

701 fldVouArrivalDate Date 702 fldVouPayeeCode String 703 fldVouPayeeName String 704 fldVouInvcNumbe String r Double Double

706 fldVouFreight 707 fldVouTaxIncPrc

708 fldVouTaxIncAmt Double 709 fldVouTaxExcPrc Double

710 fldVouTaxExcAmt Double 711 fldVouInvcDate 712 fldVouType 713 fldVouStatus 199 fldItemPicture Date Enumerated Enumerated String

714 fldVouCostMethod Enumerated 578 fldGL 581 fldAP 583 fldPC 506 fldFeeType Boolean Boolean Boolean String

Copyright 2008 Retail Pro. All rights reserved 111

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidDocLastEdit fidDocPostDate fidDocTime fidVndrAddr1 fidVndrAddr2 fidVndrAddr3 fidVndrZIP fidWorkstation fidItemsCount fidMarked fidVouPackageNumber fidVouComm1 -None-None-None-None-None-None-None-NonefidVouComm10 fidVouPayeeAddr1 fidVouPayeeAddr2 fidVouPayeeAddr3 fidVouPayeeZip fidVouPayeeAcctNum fidTONumber fidStoreHeading1 fidStoreHeading2 fidStoreHeading3 fidVndrTitle fidVndrFName fidVndrLName ID# Name 569 fldDocLastEdit 568 fldDocPostDate 502 fldDocTime 214 fldAddr1 215 fldAddr2 216 fldAddr3 217 fldZIP 501 fldWorkstation 512 fldItemsCount 592 fldMarked 715 Type Date Date Date String String String String Integer Integer Boolean Size Caption 0 Last Edit 0 Post Date 0 Time 31 Address 1 31 Address 2 31 Address 3 10 ZIP 0 Wks 0 No of Items 0 Marked 20 Package # 60 Comment 1 60 Comment 2 60 Comment 3 60 Comment 4 60 Comment 5 60 Comment 6 60 Comment 7 60 Comment 8 60 Comment 9 60 Comment 10 Description Last Edit Post Date Document Time Address 1 Address 2 Address 3 ZIP Code Workstation Items Count Marked Package Number Voucher Comment 1 Voucher Comment 2 Voucher Comment 3 Voucher Comment 4 Voucher Comment 5 Voucher Comment 6 Voucher Comment 7 Voucher Comment 8 Voucher Comment 9 Voucher Comment 10

fldVouPackageNu String mber String String String String String String String String String String

716 fldVouComm1 717 fldVouComm2 718 fldVouComm3 719 fldVouComm4 720 fldVouComm5 721 fldVouComm6 722 fldVouComm7 723 fldVouComm8 724 fldVouComm9 725 fldVouComm10

726 fldVouPayeeAddr1 String 727 fldVouPayeeAddr2 String 728 fldVouPayeeAddr3 String 729 fldVouPayeeZip 730 String

31 Payee Address 1 Payee Address 1 31 Payee Address 2 Payee Address 2 31 Payee Address 3 Payee Address 3 10 Payee ZIP 10 Payee Acct # 8 TO # Payee ZIP Code Payee Account Number TO Number

fldVouPayeeAcctN String um String

950 fldTONumber

585 fldStoreHeading1 String 586 fldStoreHeading2 String 587 fldStoreHeading3 String 211 fldTitle 212 fldFName 213 fldLName String String String

40 Store Heading 1 Store Heading 1 40 Store Heading 2 Store Heading 2 40 Store Heading 3 Store Heading 3 15 Title 30 First 30 Last Title First Name Last Name

Copyright 2008 Retail Pro. All rights reserved 112

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidVndrPhone1 fidVndrPhone2 fidVndrInfo1 fidVndrInfo2 fidVouPayeeTitle fidVouPayeeFName fidVouPayeeLName fidVouPayeePhone1 fidVouPayeePhone2 fidVouPayeeInfo1 fidVouPayeeInfo2 fidStore fidStation fidTransmitted fidStylePicture fidShipmentNum fidRefDocNum fidRefDocPostDt fidTotalQty fidStoreHeading4 fidStoreHeading5 fidStoreHeading6 fidOrigStoreStation fidAudited fidDefSubLoc fidMovNoteShipNum fidWSSeqNo fidDataOrigin fidVndrInvcTotal fidReviewedBy fidReviewedDT fidApprovedBy ID# Name 218 fldPhone1 219 fldPhone2 221 fldInfo1 222 fldInfo2 731 fldVouPayeeTitle 732 735 Type String String String String String Size Caption 15 Phone 1 15 Phone 2 20 Info 1 20 Info 2 15 Payee Title 30 Payee First 30 Payee Last 15 Payee Phone 1 15 Payee Phone 2 20 Payee Info 1 20 Payee Info 2 3 Store 1 Station 0 Transmitted 20 Style Image 16 0 0 0 Shipment Number Reference Doc # Reference Post Date Total Qty Received Description Telephone 1 Telephone 2 Information 1 Information 2 Payee Title Payee First Name Payee Last Name Payee Telephone 1 Payee Telephone 2 Payee Information 1 Payee Information 2 Store Station Transmitted Style Image Shipment Number Reference Doc Number Reference Post Date Total Quantity Received

fldVouPayeeFNam String e fldVouPayeeLNam String e

fldVouPayeePhone 736 String 1 fldVouPayeePhone 737 String 2 738 fldVouPayeeInfo1 String 739 fldVouPayeeInfo2 String 53 fldStore 48 fldStation 823 fldTransmitted 204 fldStylePicture 1079 String String Boolean String

fldShipmentNumb String er String Date Double

300 fldRefDocNum 301 fldRefDocPostDt 597 fldVchrTotalQty

1585 fldStoreHeading4 String 1586 fldStoreHeading5 String 1587 fldStoreHeading6 String 1121 fldOrigStoreStatn String 1122 fldAudited 1127 fldDefSubLoc Boolean String

40 Store Heading 4 Store Heading 4 40 Store Heading 5 Store Heading 5 40 Store Heading 6 Store Heading 6 4 Orig. Str/Sta 0 Audited Default Sub12 Location Originating Store and Station Audited Default sub-location

fldMovNoteShipNu 1128 String m 1129 fldSeqWSNo 1131 fldDataOrigin 1135 fldVndrInvcTotal 1137 fldReviewedBy 1138 fldReviewedDT 1139 fldApprovedBy Integer Enumerated Double String Date String

Movement Note 9 Movement note shipment number Shipment# 0 WS Seq # 0 Data Origin 0 Vendor Invoice Total WS Seq # Data Origin Vendor Invoice Total Reviewed By Reviewed Date/Time Approved By

8 Reviewed By 0 Reviewed Date/Time

8 Approved By

Copyright 2008 Retail Pro. All rights reserved 113

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidApprovedDT fidRefDocSID fidDocSID fidVouTotalPrice fidVouTotalPrcTax ID# Name Type Date Int64 Int64 Double Size 0 Caption Approved Date/Time Description Approved Date/Time Ref document SID Document SID Price P$T$

1140 fldApprovedDT 299 fldRefDocSID 595 fldDocSID 449 fldVouTotalPrice

0 Ref Doc SID 0 SID 0 Price 0 P$T$

450 fldVouTotalPrcTax Double

Copyright 2008 Retail Pro. All rights reserved 114

Retail Pro 8 RDA2 Programmers Guide

ASN Vouchers
RDA2 Constant fidPONumber fidVC fidVndrCompany fidVndrAccNum fidVouNumber fidClerk fidStoreStation fidDocDate fidVouPaid fidSubTotal fidTotal fidDiscPercent fidDisc fidFee fidVouArrivalDate fidVouPayeeCode fidVouPayeeName fidVouInvoiceNumber fidVouFreight fidVouTaxIncPrc fidVouTaxIncAmt fidVouTaxExcPrc fidVouTaxExcAmt fidVouInvoiceDate fidVouType fidVouStatus fidItemPicture fidVouCostMethod fidGL fidAP fidPC fidFeeType ID# Name 400 fldPONumber 4 fldVendorCode 210 fldCompany 233 fldAccNum 700 fldVouNumber 65 fldClerk 563 fldStoreStatn 518 fldDocDate 516 fldVouTerms 564 fldSubtotal 565 fldTotal 500 fldDiscPrc 34 fldDiscount 508 fldFee 701 fldVouArrivalDate 702 fldVouPayeeCode 703 fldVouPayeeName 704 fldVouInvcNumber 706 fldVouFreight 707 fldVouTaxIncPrc 708 fldVouTaxIncAmt 709 fldVouTaxExcPrc 710 fldVouTaxExcAmt 711 fldVouInvcDate 712 fldVouType 713 fldVouStatus 199 fldItemPicture 714 fldVouCostMethod 578 fldGL 581 fldAP 583 fldPC 506 fldFeeType Type String String String String Integer String String Date String Double Double Double Double Double Date String String String Double Double Double Double Double Date Enumerated Enumerated String Enumerated Boolean Boolean Boolean String Size Caption 20 PO # 3 Vend Code 25 Company 10 Acct # 0 Voucher # 8 Associate 4 Str/Sta 0 Date 0 Terms 0 SubTotal 0 Total 0 Disc % 0 Disc $ 0 Fee 0 Arriv. Date 6 Payee 26 Payee Name 15 Invoice # 0 Freight 0 Tax Incl % 0 Tax Incl $ 0 Tax Excl % 0 Tax Excl $ 0 Invoice Date 0 Type 0 Status 20 Item Image 0 Cost Method 0 GL 0 AP 0 PC 6 Fee Type Description PO Number Vendor Code Company Name Account Number Voucher Number Associate Store and Station Document Date Payment Terms SubTotal Total Discount % Discount Amount Fee Amount Arrival Date Payee Code Payee Name Invoice Number Freight Tax Included % Tax Included Amount Tax Excluded % Tax Excluded Amount Invoice Date Voucher Type Voucher Status Item Image Cost Method General Ledger Accounts Payable Purchase Clearing Fee Type

Copyright 2008 Retail Pro. All rights reserved 115

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidDocLastEdit fidDocPostDate fidDocTime fidVndrAddr1 fidVndrAddr2 fidVndrAddr3 fidVndrZIP fidWorkstation fidItemsCount fidMarked fidVouPackageNumber fidVouComm1 -None-None-None-None-None-None-None-NonefidVouComm10 fidVouPayeeAddr1 fidVouPayeeAddr2 fidVouPayeeAddr3 fidVouPayeeZip fidVouPayeeAcctNum fidTONumber fidStoreHeading1 fidStoreHeading2 fidStoreHeading3 fidVndrTitle fidVndrFName fidVndrLName ID# Name 569 fldDocLastEdit 568 fldDocPostDate 502 fldDocTime 214 fldAddr1 215 fldAddr2 216 fldAddr3 217 fldZIP 501 fldWorkstation 512 fldItemsCount 592 fldMarked 715 Type Date Date Date String String String String Integer Integer Boolean Size Caption 0 Last Edit 0 Post Date 0 Time 31 Address 1 31 Address 2 31 Address 3 10 ZIP 0 Wks 0 No of Items 0 Marked 20 Package # 60 Comment 1 60 Comment 2 60 Comment 3 60 Comment 4 60 Comment 5 60 Comment 6 60 Comment 7 60 Comment 8 60 Comment 9 60 Comment 10 Description Last Edit Post Date Document Time Address 1 Address 2 Address 3 ZIP Code Workstation Items Count Marked Package Number Voucher Comment 1 Voucher Comment 2 Voucher Comment 3 Voucher Comment 4 Voucher Comment 5 Voucher Comment 6 Voucher Comment 7 Voucher Comment 8 Voucher Comment 9 Voucher Comment 10

fldVouPackageNum String ber String String String String String String String String String String String String String String

716 fldVouComm1 717 fldVouComm2 718 fldVouComm3 719 fldVouComm4 720 fldVouComm5 721 fldVouComm6 722 fldVouComm7 723 fldVouComm8 724 fldVouComm9 725 fldVouComm10 726 fldVouPayeeAddr1 727 fldVouPayeeAddr2 728 fldVouPayeeAddr3 729 fldVouPayeeZip 730

31 Payee Address 1 Payee Address 1 31 Payee Address 2 Payee Address 2 31 Payee Address 3 Payee Address 3 10 Payee ZIP 10 Payee Acct # 8 TO # Payee ZIP Code Payee Account Number TO Number

fldVouPayeeAcctNu String m String String String String String String String

950 fldTONumber 585 fldStoreHeading1 586 fldStoreHeading2 587 fldStoreHeading3 211 fldTitle 212 fldFName 213 fldLName

40 Store Heading 1 Store Heading 1 40 Store Heading 2 Store Heading 2 40 Store Heading 3 Store Heading 3 15 Title 30 First 30 Last Title First Name Last Name

Copyright 2008 Retail Pro. All rights reserved 116

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidVndrPhone1 fidVndrPhone2 fidVndrInfo1 fidVndrInfo2 fidVouPayeeTitle fidVouPayeeFName fidVouPayeeLName fidVouPayeePhone1 fidVouPayeePhone2 fidVouPayeeInfo1 fidVouPayeeInfo2 fidStore fidStation fidTransmitted fidStylePicture fidShipmentNum fidRefDocNum fidRefDocPostDt fidTotalQty fidStoreHeading4 fidStoreHeading5 fidStoreHeading6 fidOrigStoreStation fidAudited fidDefSubLoc fidMovNoteShipNum fidWSSeqNo fidDataOrigin fidVndrInvcTotal fidReviewedBy fidReviewedDT fidApprovedBy fidApprovedDT ID# Name 218 fldPhone1 219 fldPhone2 221 fldInfo1 222 fldInfo2 731 fldVouPayeeTitle Type String String String String String Size Caption 15 Phone 1 15 Phone 2 20 Info 1 20 Info 2 15 Payee Title 30 Payee First 30 Payee Last 15 Payee Phone 1 15 Payee Phone 2 20 Payee Info 1 20 Payee Info 2 3 Store 1 Station 0 Transmitted 20 Style Image Shipment 16 Number Reference Doc 0 # 0 0 Reference Post Date Total Qty Received Description Telephone 1 Telephone 2 Information 1 Information 2 Payee Title Payee First Name Payee Last Name Payee Telephone 1 Payee Telephone 2 Payee Information 1 Payee Information 2 Store Station Transmitted Style Image Shipment Number Reference Doc Number Reference Post Date Total Quantity Received

732 fldVouPayeeFName String 735 fldVouPayeeLName String 736 fldVouPayeePhone1 String 737 fldVouPayeePhone2 String 738 fldVouPayeeInfo1 739 fldVouPayeeInfo2 53 fldStore 48 fldStation 823 fldTransmitted 204 fldStylePicture String String String String Boolean String

1079 fldShipmentNumber String 300 fldRefDocNum 301 fldRefDocPostDt 597 fldVchrTotalQty 1585 fldStoreHeading4 1586 fldStoreHeading5 1587 fldStoreHeading6 1121 fldOrigStoreStatn 1122 fldAudited 1127 fldDefSubLoc String Date Double String String String String Boolean String

40 Store Heading 4 Store Heading 4 40 Store Heading 5 Store Heading 5 40 Store Heading 6 Store Heading 6 4 Orig. Str/Sta 0 Audited 12 9 Default SubLocation Originating Store and Station Audited Default sub-location

1128 fldMovNoteShipNum String 1129 fldSeqWSNo 1131 fldDataOrigin 1135 fldVndrInvcTotal 1137 fldReviewedBy 1138 fldReviewedDT 1139 fldApprovedBy 1140 fldApprovedDT Integer Enumerated Double String Date String Date

Movement Note Movement note shipment number Shipment# WS Seq # Data Origin Vendor Invoice Total Reviewed By Reviewed Date/Time Approved By Approved Date/Time

0 WS Seq # 0 Data Origin 0 Vendor Invoice Total

8 Reviewed By 0 Reviewed Date/Time

8 Approved By 0 Approved Date/Time

Copyright 2008 Retail Pro. All rights reserved 117

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidRefDocSID fidDocSID fidVouTotalPrice fidVouTotalPrcTax ID# Name 299 fldRefDocSID 595 fldDocSID 449 fldVouTotalPrice 450 fldVouTotalPrcTax Type Int64 Int64 Double Double Size Caption 0 Ref Doc SID 0 SID 0 Price 0 P$T$ Description Ref document SID Document SID Price P$T$

Copyright 2008 Retail Pro. All rights reserved 118

Retail Pro 8 RDA2 Programmers Guide

VoucherItem (Nested Table)


RDA2 Constant fidDC fidDeptName fidVC fidDesc1 fidDesc2 fidAttr fidSIZE fidUPC fidALU fidUsrCd0 fidUsrCd1 fidUsrCd2 fidUsrCd3 fidFDateRcvd fidInvnPrc fidInvnCost fidMrgD fidMrgP fidMupP fidCoeff fidTaxAmt fidQtyRcvd fidExtPrc fidExtCost fidInvnPWT fidMrgT fidExtPwt fidQtyRcvdCas fidPrtTag fidDiscPercent fidDocItmCost fidDocItmPWT ID# Name 2 fldDCS 3 fldDCSName 4 fldVendorCode 5 fldDesc1 8 fldDesc2 6 fldAttr 7 fldSize 9 fldUPC 166 fldALU 146 fldUDF0 163 fldUDF1 164 fldUDF2 165 fldUDF3 66 fldFRecvD 11 fldPrice 12 fldCost 69 fldMgn 13 fldMgnPrc 104 fldMkUpPrc 115 fldCoeff 119 fldTax 28 fldItmRcvd 33 fldExtPrc 38 fldExtCost 116 fldPrcWTx 70 fldMrgWTx 117 fldExtPWT 140 fldCaseQtyRcvd 184 fldPrintTags 500 fldDocItemDisc 44 fldVouItmCost 132 fldVouItmPWTx Type String String String String String String String String String Enumerated Enumerated Enumerated Enumerated Date Double Double Double Integer Integer Double Double Double Double Double Double Double Double Double Boolean Double Double Double Size Caption 9 DCS 30 DCS Name 3 Vend Code 16 Desc 1 17 Desc 2 4 Attr 4 Size 13 UPC 20 ALU 0 UDF 1 0 UDF 2 0 UDF 3 0 UDF 4 0 First Rcvd 0 Inven P$ 0 Cost 0 Margin $ 0 Mrg% 0 MkUp% 0 Coef 0 Tax $ 0 Qty Rcvd 0 Ext P$ 0 Ext C$ 0 Inven P$T$ 0 M$T$ 0 Ext P$T$ 0 Case Rcvd 0 Tags 0 Disc % 0 Voucher C$ 0 Voucher P$T$ Description Full Department Code Full Department Name Vendor Code Description 1 Description 2 Attribute Size UPC Alternate Look Up User-Defined Field 1 User-Defined Field 2 User-Defined Field 3 User-Defined Field 4 First Received Date Inventory Price Cost Margin Amount Margin % Mark Up % Coefficient Tax Amount Quantity Received Extended Price Extended Cost Inventory Price with Tax Margin with Tax Extended Price with Tax Case Quantity Received Print Tags Item Discount % Voucher Cost Voucher Price with Tax

Copyright 2008 Retail Pro. All rights reserved 119

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidDocItmPrc fidVouItmCartonID fidItemLookup fidVouItmOrigQty fidNumberOfDecimals fidTotO_H fidQtyO_H fidItemSID fidTax fidTaxP fidExtTax -NonefidFC1Prc fidFC1PWT fidLastCost fidStyleSid fidDesc3 fidDesc4 fidInvnAux0 -None-None-None-None-None-NonefidInvnAux7 fidInvnUDFStr fidInvnUDFDate fidInvnFrstPrc fidInvnFrstPWT fidInvnSerialFlg fidFCC fidFCCType ID# Name 41 fldVouItmPrc 733 fldCartonID 567 fldItemLookup 734 fldVouItmOrigQty 202 fldNDecimals 18 fldTotOnHnd 26 fldStrQty 208 fldItemSID 49 fldTaxCd 118 fldTaxPrc 121 fldExtTax 2003 fldRecNo 177 fldFC1Prc 178 fldFC1PrcWTx 16 fldOrdCost 207 fldStyleSID 197 fldDesc3 198 fldDesc4 78 fldInvnAUX0 79 fldInvnAUX1 80 fldInvnAUX2 81 fldInvnAUX3 82 fldInvnAUX4 83 fldInvnAUX5 84 fldInvnAUX6 85 fldInvnAUX7 75 fldInvnUDFStr 87 fldInvnUDFDate 195 fldInvnFrstPrc 196 fldInvnFrstPWT 88 fldInvnSerialFlg 89 fldFCC 90 fldFCCType Type Double Integer String Double Integer Double Double Int64 Enumerated Double Double Integer Double Double Double Int64 String String Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated String Date Double Double Enumerated Double Enumerated Size Caption 0 Voucher P$ 0 Carton ID 20 Item # 0 Ship Qty 0 Qty Decimals 0 Cmp Qty 0 Str Qty 0 Item SID 0 Tax 0 Tax % 0 Ext T$ 0 Rec # 0 FC1 P$ 0 FC1 P$T$ 0 Ord C$ 0 Style SID 11 Desc 3 11 Desc 4 0 Aux 1 0 Aux 2 0 Aux 3 0 Aux 4 0 Aux 5 0 Aux 6 0 Aux 7 0 Aux 8 20 UDF Name 0 UDF Date 0 First P$ 0 First P$T$ 0 Serial 0 FOC$ 0 FOC$ Type Description Voucher Price Carton ID Item Lookup Ship Quantity Number of Decimals Company Quantity Store Quantity Item SID Tax Code Tax % Extended Tax Record Number Foreign Currency 1 Price Foreign Currency 1 Price with Tax Order Cost Style SID Description 3 Description 4 Auxiliary Field 1 Auxiliary Field 2 Auxiliary Field 3 Auxiliary Field 4 Auxiliary Field 5 Auxiliary Field 6 Auxiliary Field 7 Auxiliary Field 8 User-Defined Name User-Defined Date First Price First Price with Tax Serial Item Flag Foreign Order Cost Foreign Order Cost Type

Copyright 2008 Retail Pro. All rights reserved 120

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidSerialNum -NonefidInvnCostCode fidDocCostCode fidCommitted fidQtyO_HCas fidSaleDiscPercent fidSaleDisc fidTotalTaxAmt fidTax2Prc fidTax2Amt fidAltTax2 fidAltTax1 fidDefSubLoc fidItemScale fidSeqNum ID# Name 651 fldSerialNum 740 fldAssociatePO 36 fldCostCode 559 fldVouItmCostCode 1097 fldCommitted 138 fldCaseStrQty 1123 fldSaleDiscPercent 1124 fldSaleDisc 7003 fldTotalTax 7000 fldTax2Prc 7001 fldTax2 7004 fldTax2Cd 7002 fldTax1Cd 1127 fldDefSubLoc 205 fldItemScale 1130 fldSeqNum Type String String String String Boolean Double Double Double Double Double Double String String String Enumerated Integer Size Caption 25 Serial # 20 Associate PO 0 Cost Code Voucher Cost 0 Code 0 Committed 0 Str Case Qty 0 Sale Disc % 0 Sale Disc $ 0 Total Tax $ 0 Tax 2 % 0 Tax 2 $ 0 Tax Code 2 0 Tax Code 12 Default SubLocation Description Serial Number Associate PO Cost Code Voucher Cost Code Committed Store Quantity in Cases Sale Disc % Sale Disc $ Total Tax Amount Tax 2 Percent Tax 2 Amount Tax Code 2 Tax Code Default sub-location Item Scale Sequence number

0 Scale 0 Seq #

Copyright 2008 Retail Pro. All rights reserved 121

Retail Pro 8 RDA2 Programmers Guide

Memos
RDA2 Constant fidPrcLvl fidDocDate fidDocTime fidClerk fidMemoSource fidMemoCreatingDocNum fidMemoType fidMemoReason fidMemoNum fidStore fidMemoOldStrQty fidMemoOldCmpQty fidMemoAdjStrQty fidMemoAdjCmpQty fidMemoOldPrcPWT fidMemoAdjPrcPWT fidMemoOldCost fidMemoAdjCost fidMemoDifQty fidMemoDifPrcPWT fidMemoDifCost fidDocPostDate fidDocLastEdit fidItemPicture fidGL fidMemoReversed fidMemoCopyed fidMemoODBCancelled fidItemsCount fidWorkstation fidStoreHeading1 fidStoreHeading2 ID# Name Type Enumerated Date Date String Enumerated Integer Enumerated String Integer String Double Double Double Double Double Double Double Double Double Double Double Date Date String Boolean Enumerated Boolean Boolean Integer Integer String String Size Caption 0 Prc Lvl 0 Date 0 Time 8 Associate 0 Source 0 Creating Doc # 0 Type 8 Reason 0 Memo # 3 Store 0 Old Str Qty 0 Old Cmp Qty 0 Adj Str Qty 0 Adj Cmp Qty 0 Old Prc 0 Adj Prc 0 Old C$ 0 Adj C$ 0 Dif Qty 0 Dif Prc 0 Dif C$ 0 Post Date 0 Last Edit 20 Item Image 0 GL 0 Status 0 Copied 0 RDW Cancelled 0 No of Items 0 Wks 40 Store Heading 1 40 Store Heading 2 Description Price Level Document Date Document Time Associate Memo Source Creating Doc Number Memo Type Memo Reason Memo Number Store Old Store Quantity Old Company Quantity Adjusted Store Quantity Adjusted Company Quantity Old Price Adjusted Price Old Cost Adjusted Cost Difference in Quantity Difference in Price Difference in Cost Post Date Last Edit Item Image General Ledger Memo Status Copied RDW Cancelled Items Count Workstation Store Heading 1 Store Heading 2 107 fldPrcLvl 518 fldDocDate 502 fldDocTime 65 fldClerk 800 fldMemoSource 801 fldMemoCreatingDocNum 802 fldMemoType 803 fldMemoReason 804 fldMemoNum 53 fldStore 807 fldMemoOldStrQty 808 fldMemoOldCmpQty 809 fldMemoAdjStrQty 810 fldMemoAdjCmpQty 812 fldMemoOldPrcPWT 813 fldMemoAdjPrcPWT 815 fldMemoOldCost 816 fldMemoAdjCost 811 fldMemoDifQty 814 fldMemoDifPrcPWT 817 fldMemoDifCost 568 fldDocPostDate 569 fldDocLastEdit 199 fldItemPicture 578 fldGL 821 fldMemoReversed 822 fldMemoCopyed 825 fldMemoODBCancelled 512 fldItemsCount 501 fldWorkstation 585 fldStoreHeading1 586 fldStoreHeading2

Copyright 2008 Retail Pro. All rights reserved 122

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidStoreHeading3 fidMemoComm1 -None-None-None-None-None-None-None-NonefidMemoComm10 fidTransmitted fidStylePicture fidODSExported fidStoreHeading4 fidStoreHeading5 fidStoreHeading6 fidOrigStoreStation fidAudited fidDefSubLoc fidMovNoteShipNum fidWSSeqNo fidDataOrigin fidDocSID ID# Name Type String String String String String String String String String String String Boolean String Boolean String String String String Boolean String String Integer Enumerated Int64 Size Caption 40 Store Heading 3 60 Comment 1 60 Comment 2 60 Comment 3 60 Comment 4 60 Comment 5 60 Comment 6 60 Comment 7 60 Comment 8 60 Comment 9 60 Comment 10 0 Transmitted 20 Style Image 0 ODS Exported 40 Store Heading 4 40 Store Heading 5 40 Store Heading 6 4 Orig. Str/Sta 0 Audited 12 9 Default SubLocation Movement Note Shipment# Description Store Heading 3 Memo Comment 1 Memo Comment 2 Memo Comment 3 Memo Comment 4 Memo Comment 5 Memo Comment 6 Memo Comment 7 Memo Comment 8 Memo Comment 9 Memo Comment 10 Transmitted Style Image ODS Exported Store Heading 4 Store Heading 5 Store Heading 6 Originating Store and Station Audited Default sub-location Movement note shipment number WS Seq # Data Origin Document SID

587 fldStoreHeading3 836 fldMemoComm1 837 fldMemoComm2 838 fldMemoComm3 839 fldMemoComm4 840 fldMemoComm5 841 fldMemoComm6 842 fldMemoComm7 843 fldMemoComm8 844 fldMemoComm9 845 fldMemoComm10 823 fldTransmitted 204 fldStylePicture 1066 fldODSExported 1585 fldStoreHeading4 1586 fldStoreHeading5 1587 fldStoreHeading6 1121 fldOrigStoreStatn 1122 fldAudited 1127 fldDefSubLoc 1128 fldMovNoteShipNum 1129 fldSeqWSNo 1131 fldDataOrigin 595 fldDocSID

0 WS Seq # 0 Data Origin 0 SID

Copyright 2008 Retail Pro. All rights reserved 123

Retail Pro 8 RDA2 Programmers Guide

MemoItem(Nested Table)
RDA2 Constant fidVC fidDesc1 fidDesc2 fidAttr fidSIZE fidUPC fidALU fidMemoOldCmpQty fidMemoOldStrQty fidMemoAdjStrQty fidMemoOldCost fidMemoAdjCost fidItemLookup fidMemoOldPrcPWT fidMemoAdjPrcPWT fidDC fidMemoQtyDiff fidNumberOfDecimals fidItemSID -NonefidStyleSid fidDesc3 fidDesc4 fidInvnSerialFlg fidSerialNum fidNonInventory fidCommitted fidMemoDifCost fidMemoDifPrcPWT fidSaleDiscPercent fidSaleDisc fidDefSubLoc ID# Name 4 fldVendorCode 5 fldDesc1 8 fldDesc2 6 fldAttr 7 fldSize 9 fldUPC 166 fldALU 808 fldMemoOldCmpQty 807 fldMemoOldStrQty 809 fldMemoAdjStrQty 815 fldMemoOldCost 816 fldMemoAdjCost 567 fldItemLookup 812 fldMemoOldPrcPWT 813 fldMemoAdjPrcPWT 2 fldDCS 826 fldMemoQtyDiff 202 fldNDecimals 208 fldItemSID 2003 fldRecNo 207 fldStyleSID 197 fldDesc3 198 fldDesc4 88 fldInvnSerialFlg 651 fldSerialNum 1099 fldNonInventory 1097 fldCommitted 817 fldMemoDifCost 814 fldMemoDifPrcPWT 1123 fldSaleDiscPercent 1124 fldSaleDisc 1127 fldDefSubLoc Type String String String String String String String Double Double Double Double Double String Double Double String Double Integer Int64 Integer Int64 String String Enumerat ed String Boolean Boolean Double Double Double Double String Size Caption 3 Vend Code 16 Desc 1 17 Desc 2 4 Attr 4 Size 13 UPC 20 ALU 0 Old Cmp Qty 0 Old Str Qty 0 Adj Str Qty 0 Old C$ 0 Adj C$ 20 Item # 0 Old Prc 0 Adj Prc 9 DCS 0 Qty Diff 0 Qty Decimals 0 Item SID 0 Rec # 0 Style SID 11 Desc 3 11 Desc 4 0 Serial 25 Serial # 0 Non-Inventory 0 Committed 0 Dif C$ 0 Dif Prc 0 Sale Disc % 0 Sale Disc $ Default Sub12 Location Description Vendor Code Description 1 Description 2 Attribute Size UPC Alternate Look Up Old Company Quantity Old Store Quantity Adjusted Store Quantity Old Cost Adjusted Cost Item Lookup Old Price Adjusted Price Full Department Code Quantity Difference Number of Decimals Item SID Record Number Style SID Description 3 Description 4 Serial Item Flag Serial Number Non-Inventory Committed Difference in Cost Difference in Price Sale Disc % Sale Disc $ Default sub-location

Copyright 2008 Retail Pro. All rights reserved 124

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidItemScale fidSeqNum fidInvnAux0 -None-None-None-None-None-NonefidInvnAux7 ID# Name 205 fldItemScale 1130 fldSeqNum 78 fldInvnAUX0 79 fldInvnAUX1 80 fldInvnAUX2 81 fldInvnAUX3 82 fldInvnAUX4 83 fldInvnAUX5 84 fldInvnAUX6 85 fldInvnAUX7 Type Enumerat ed Integer Enumerat ed Enumerat ed Enumerat ed Enumerat ed Enumerat ed Enumerat ed Enumerat ed Enumerat ed Size Caption 0 Scale 0 Seq # 0 Aux 1 0 Aux 2 0 Aux 3 0 Aux 4 0 Aux 5 0 Aux 6 0 Aux 7 0 Aux 8 Description Item Scale Sequence number Auxiliary Field 1 Auxiliary Field 2 Auxiliary Field 3 Auxiliary Field 4 Auxiliary Field 5 Auxiliary Field 6 Auxiliary Field 7 Auxiliary Field 8

Copyright 2008 Retail Pro. All rights reserved 125

Retail Pro 8 RDA2 Programmers Guide

Slips
RDA2 Constant fidStoreStation fidClerk fidDocDate fidDocTime fidSlipFromStore fidSlipToStore fidSlipConfirmation fidSlipCarrier fidSlipETA fidSlipTONum fidSlipNum fidOutSlipNum fidItemsCount fidSlipPrice fidSlipCost fidSlipFreight fidDocPostDate fidDocLastEdit fidSlipStatus fidItemPicture fidGL fidStoreHeading1 fidStoreHeading2 fidStoreHeading3 fidSlipComm1 -None-None-None-None-None-None-NoneID# Name 563 fldStoreStatn 65 fldClerk 518 fldDocDate 502 fldDocTime 900 fldSlipFromStore 901 fldSlipToStore 902 fldSlipConfirmation 903 fldSlipCarrier 904 fldSlipETA 905 fldSlipTONum 906 fldSlipNum 907 fldOutSlipNum 512 fldItemsCount 45 fldSlipPrice 46 fldSlipCost 910 fldSlipFreight 568 fldDocPostDate 569 fldDocLastEdit 912 fldSlipStatus 199 fldItemPicture 578 fldGL 585 fldStoreHeading1 586 fldStoreHeading2 587 fldStoreHeading3 922 fldSlipComm1 923 fldSlipComm2 924 fldSlipComm3 925 fldSlipComm4 926 fldSlipComm5 927 fldSlipComm6 928 fldSlipComm7 929 fldSlipComm8 Type String String Date Date String String Enumerated String Date String Integer Integer Integer Double Double Double Date Date Enumerated String Boolean String String String String String String String String String String String Size Caption 4 Str/Sta 8 Associate 0 Date 0 Time 3 From Store 3 To Store 0 Confirmation 15 Carrier 0 ETA 8 TO # 0 Slip # 0 Out Slip # 0 No of Items 0 Total Price 0 Total Cost 0 Freight 0 Post Date 0 Last Edit 0 Status 20 Item Image 0 GL 40 40 40 Description Store and Station Associate Document Date Document Time From Store To Store Confirmation Carrier ETA TO Number Slip Number Out Slip Number Items Count Total Price Total Cost Freight Post Date Last Edit Slip Status Item Image General Ledger

Store Heading Store Heading 1 1 Store Heading Store Heading 2 2 Store Heading Store Heading 3 3 Slip Comment 1 Slip Comment 2 Slip Comment 3 Slip Comment 4 Slip Comment 5 Slip Comment 6 Slip Comment 7 Slip Comment 8

60 Comment 1 60 Comment 2 60 Comment 3 60 Comment 4 60 Comment 5 60 Comment 6 60 Comment 7 60 Comment 8

Copyright 2008 Retail Pro. All rights reserved 126

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant -NonefidSlipComm10 fidSlipToStoreHeading1 fidSlipToStoreHeading2 fidSlipToStoreHeading3 fidMarked fidSlipCopied fidSlipODBCancelled fidStore fidStation fidSlipType fidTransmitted fidStylePicture fidODSExported fidSlipCompStore fidSlipCompStoreDesc fidRefDocNum fidRefDocPostDt fidTotalQty fidStoreHeading4 fidStoreHeading5 fidStoreHeading6 fidSlipToStoreHeading4 fidSlipToStoreHeading5 fidSlipToStoreHeading6 fidOrigStoreStation fidSlipDaysInTransit fidSlipTargetUpdated fidAudited fidSlipTransferComplete d fidSlipResolvedBy fidSlipResolutionMethod ID# Name 930 fldSlipComm9 931 fldSlipComm10 932 933 934 Type String String Size Caption 60 Comment 9 60 Comment 10 40 40 40 To Store Heading 1 To Store Heading 2 To Store Heading 3 Description Slip Comment 9 Slip Comment 10 To Store Heading 1 To Store Heading 2 To Store Heading 3 Marked Copied RDW Cancelled Store Station Slip Type Transmitted Style Image

fldSlipToStoreHeading String 1 fldSlipToStoreHeading String 2 fldSlipToStoreHeading String 3 Boolean Boolean Boolean String String Enumerated Boolean String Boolean String

592 fldMarked 936 fldSlipCopied 938 fldSlipODBCancelled 53 fldStore 48 fldStation 939 fldSlipType 823 fldTransmitted 204 fldStylePicture 1066 fldODSExported 940 fldSlipCompStore

0 Marked 0 Copied 0 RDW Cancelled

3 Store 1 Station 0 Slip Type 0 Transmitted 20 Style Image

0 ODS Exported ODS Exported 6 0 0 0 0 40 40 40 40 40 40 Out To Comp/Store Comp/Store Description Out To Comp/Store Comp/Store Description

941 fldSlipCompStoreDesc String 300 fldRefDocNum 301 fldRefDocPostDt 597 fldSlipTotalQty 1585 fldStoreHeading4 1586 fldStoreHeading5 1587 fldStoreHeading6 1932 1933 1934 String Date Double String String String

Reference Doc Reference Doc Number # Reference Post Date Total Qty Transferred Reference Post Date Total Quantity Transferred

Store Heading Store Heading 4 4 Store Heading Store Heading 5 5 Store Heading Store Heading 6 6 To Store Heading 4 To Store Heading 5 To Store Heading 6 To Store Heading 4 To Store Heading 5 To Store Heading 6 Originating Store and Station Days In-Transit Target Updated Audited Transfer Complete Resolved By Resolution Method

fldSlipToStoreHeading String 4 fldSlipToStoreHeading String 5 fldSlipToStoreHeading String 6 String Integer Boolean Boolean

1121 fldOrigStoreStatn 942 fldSlipDaysInTransit 943 fldSlipTargetUpdated 1122 fldAudited

4 Orig. Str/Sta 0 0 Days InTransit Target Updated

0 Audited Transfer 0 Complete 8 Resolved By 0 Resolution Method

fldSlipTransferComple 944 Date te 945 fldSlipResolvedBy 946 String

fldSlipResolutionMeth Enumerated od

Copyright 2008 Retail Pro. All rights reserved 127

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidSlipResolutionTime fidDefSubLoc fidMovNoteShipNum fidWSSeqNo fidDataOrigin fidWorkstation fidSlipPackageNum fidRefDocSID fidDocSID ID# Name Type Size 0 12 Caption Resolution Date/Time Default SubLocation Description Resolution Date/Time Default sub-location Movement note shipment number WS Seq # Data Origin Workstation Slip Package # Ref document SID Document SID

947 fldSlipResolutionTime Date 1127 fldDefSubLoc 1128 fldMovNoteShipNum 1129 fldSeqWSNo 1131 fldDataOrigin 501 fldWorkstation 4000 fldSlipPackageNum 299 fldRefDocSID 595 fldDocSID String String Integer Enumerated Integer String Int64 Int64

Movement 9 Note Shipment# 0 WS Seq # 0 Data Origin 0 Wks 15 Package # 0 Ref Doc SID 0 SID

Copyright 2008 Retail Pro. All rights reserved 128

Retail Pro 8 RDA2 Programmers Guide

SlipItem (Nested Table)


RDA2 Constant ID# fidDC fidDeptName fidVC fidDesc1 fidDesc2 fidAttr fidSIZE fidUPC fidALU fidUsrCd0 fidUsrCd1 fidUsrCd2 fidUsrCd3 fidEDIStatus fidMrgD fidMrgP fidMupP fidCoeff fidTaxAmt fidQTY fidExtPrc fidExtCost fidMrgT fidExtPwt fidQtyCas fidDocItmPWT fidItemLookup fidNumberOfDeci mals fidItemSID -NonefidDiscPercent fidDocItmPrc Name 2 fldDCS 3 fldDCSName 4 fldVendorCode 5 fldDesc1 8 fldDesc2 6 fldAttr 7 fldSize 9 fldUPC 166 fldALU 146 fldUDF0 163 fldUDF1 164 fldUDF2 165 fldUDF3 109 fldEDI 69 fldMgn 13 fldMgnPrc 104 fldMkUpPrc 115 fldCoeff 119 fldTax 10 fldQty 33 fldExtPrc 38 fldExtCost 70 fldMrgWTx 117 fldExtPWT 136 fldCaseQty 132 fldSlpPWT 567 fldItemLookup 202 fldNDecimals 208 fldItemSID 2003 fldRecNo 500 fldDocItemDisc 41 fldSlipItmPrice Type String String String String String String String String String Enumerated Enumerated Enumerated Enumerated Enumerated Double Integer Integer Double Double Double Double Double Double Double Double Double String Integer Int64 Integer Double Double Size Caption 9 DCS 30 DCS Name 3 Vend Code 16 Desc 1 17 Desc 2 4 Attr 4 Size 13 UPC 20 ALU 0 UDF 1 0 UDF 2 0 UDF 3 0 UDF 4 0 EDI 0 Margin $ 0 Mrg% 0 MkUp% 0 Coef 0 Tax $ 0 Qty 0 Ext P$ 0 Ext C$ 0 M$T$ 0 Ext P$T$ 0 Case Qty 0 Slip P$T$ 20 Item # 0 Qty Decimals 0 Item SID 0 Rec # 0 Disc % 0 Slip P$ Description Full Department Code Full Department Name Vendor Code Description 1 Description 2 Attribute Size UPC Alternate Look Up User-Defined Field 1 User-Defined Field 2 User-Defined Field 3 User-Defined Field 4 EDI Status Margin Amount Margin % Mark Up % Coefficient Tax Amount Quantity Extended Price Extended Cost Margin with Tax Extended Price with Tax Case Quantity Slip Price with Tax Item Lookup Number of Decimals Item SID Record Number Item Discount % Slip Price

Copyright 2008 Retail Pro. All rights reserved 129

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant ID# fidDocItmCost fidStyleSid fidDesc3 fidDesc4 fidInvnAux0 -None-None-None-None-None-NonefidInvnAux7 fidInvnUDFStr fidInvnUDFDate fidInvnFrstPrc fidInvnFrstPWT fidInvnSerialFlg fidSerialNum fidInvnCostCode fidDocCostCode fidCommitted fidQtyO_HCas fidQtyO_H fidSaleDiscPercent fidSaleDisc fidTotalTaxAmt fidTax2Amt fidDefSubLoc fidItemScale fidSeqNum Name 44 fldSlipItmCost 207 fldStyleSID 197 fldDesc3 198 fldDesc4 78 fldInvnAUX0 79 fldInvnAUX1 80 fldInvnAUX2 81 fldInvnAUX3 82 fldInvnAUX4 83 fldInvnAUX5 84 fldInvnAUX6 85 fldInvnAUX7 75 fldInvnUDFStr 87 fldInvnUDFDate 195 fldInvnFrstPrc 196 fldInvnFrstPWT 88 fldInvnSerialFlg 651 fldSerialNum 36 fldCostCode 559 fldSlipCostCode 1097 fldCommitted 138 fldCaseStrQty 26 fldStrQty Type Double Int64 String String Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated Enumerated String Date Double Double Enumerated String String String Boolean Double Double Size Caption 0 Slip C$ 0 Style SID 11 Desc 3 11 Desc 4 0 Aux 1 0 Aux 2 0 Aux 3 0 Aux 4 0 Aux 5 0 Aux 6 0 Aux 7 0 Aux 8 20 UDF Name 0 UDF Date 0 First P$ 0 First P$T$ 0 Serial 25 Serial # 0 Cost Code Description Slip Cost Style SID Description 3 Description 4 Auxiliary Field 1 Auxiliary Field 2 Auxiliary Field 3 Auxiliary Field 4 Auxiliary Field 5 Auxiliary Field 6 Auxiliary Field 7 Auxiliary Field 8 User-Defined Name User-Defined Date First Price First Price with Tax Serial Item Flag Serial Number Cost Code

0 Slip Cost Code Slip Cost Code 0 Committed 0 Str Case Qty 0 Str Qty 0 Sale Disc % 0 Sale Disc $ 0 Total Tax $ 0 Tax 2 $ 12 Default SubLocation Committed Store Quantity in Cases Store Quantity Sale Disc % Sale Disc $ Total Tax Amount Tax 2 Amount Default sub-location Item Scale Sequence number

1123 fldSaleDiscPercent Double 1124 fldSaleDisc 7003 fldTotalTax 7001 fldTax2 1127 fldDefSubLoc 205 fldItemScale 1130 fldSeqNum Double Double Double String Enumerated Integer

0 Scale 0 Seq #

Copyright 2008 Retail Pro. All rights reserved 130

Retail Pro 8 RDA2 Programmers Guide

SubLocDefs
RDA2 Constant fidSubLocID fidSubLocName fidStore fidSecLvl fidSubLocSID fidSubLocSuspended fidSubLocAssStore fidSubLocAssDCS fidSubLocDefault fidSubLocDefType fidSubLocSeg1 fidSubLocSeg2 fidSubLocSeg3 fidSubLocSingleItem fidCommitted ID# Name Type String String String Enumerated Int64 Boolean String String Boolean Enumerated String String String Boolean Boolean Size Caption 12 Sub-Loc ID 20 Sub-Loc Name 3 Store 0 Security Level 0 Sub-Location SID 0 Suspended 3 Associated Store 9 Associated DCS 0 Default 0 Type 1 Sub-Loc Seg. 1 1 Sub-Loc Seg 2 1 Sub-Loc Seg 3 0 Single Item 0 Committed Description Sub-Location ID Sub-Location Name Store Security Level Sub-Location SID Suspended Associated Store Associated DCS Default Sub-Location Sub-Location Type Sub-Loc Seg. 1 Sub-Loc Seg 2 Sub-Loc Seg 3 Restrict Sub-Location to single item Committed 1050 fldSubLocID 1051 fldSubLocName 53 fldStore 594 fldSecLvl 1076 fldSubLocSID 1052 fldSubLocSuspended 1074 fldSubLocAssStore 1075 fldSubLocAssDCS 1089 fldSubLocDefault 1090 fldSubLocType 1091 fldSubLocSeg1 1092 fldSubLocSeg2 1093 fldSubLocSeg3 1094 fldSubLocSingleItem 1097 fldCommitted

SubLocQtys
RDA2 Constant fidStore fidSubLocID fidSubLocName fidExtPrc fidExtCost fidExtPwt fidSubLocQty fidTotalQty ID# Name 53 fldStore 1050 fldSubLocID 1051 fldSubLocName 33 fldExtPrc 38 fldExtCost 117 fldExtPWT 1085 fldSubLocQty 597 fldTotalQty Type String String String Double Double Double Double Double Size Caption 3 Store 12 Sub-Loc ID 20 Sub-Loc Name 0 Ext P$ 0 Ext C$ 0 Ext P$T$ 0 Sub-Loc Qty 0 Total Qty Description Store Sub-Location ID Sub-Location Name Extended Price Extended Cost Extended Price with Tax Sub-Loc Quantity Total Quantity

Copyright 2008 Retail Pro. All rights reserved 131

Retail Pro 8 RDA2 Programmers Guide

MovNotes
RDA2 Constant fidWorkstation fidMovNoteNumber fidMovNoteRefDoc fidMovNoteRefDocDate fidMovNoteRefDocType fidMovDocComment fidMovNoteReversed fidDocDate fidDocTime fidClerk fidStoreStation fidStoreHeading1 fidStoreHeading2 fidStoreHeading3 fidStore fidMovDocUDF1 -None-NonefidMovDocUDF4 fidMovDocUDFDate fidMovNoteType fidMovNoteAcknowledged fidDocLastEdit fidMovDocCartonNum fidMovNoteAckClerk fidMovNoteAckDateTime fidMONumber fidCustSID fidFullName fidVndrAddr1 fidVndrAddr2 ID# Name 501 fldWorkstation 1057 fldMovNoteNumber 1059 fldMovNoteRefDoc 1060 fldMovNoteRefDocDate 1061 fldMovNoteRefDocType 1063 fldMovDocComment 1065 fldMovNoteReversed 518 fldDocDate 502 fldDocTime 65 fldClerk 563 fldOrigStore 585 fldOrigStoreHeading1 586 fldOrigStoreHeading2 587 fldOrigStoreHeading3 53 fldStore 1069 fldMovDocUDF1 1070 fldMovDocUDF2 1071 fldMovDocUDF3 1072 fldMovDocUDF4 1073 fldMovDocUDFDate 1078 fldMovNoteType Type Integer Integer String Date Enumerated String Boolean Date Date String String String String String String String String String String Date Enumerated Size Caption 0 Wks 0 Number 16 Ref Doc # 0 Ref Doc Date 0 Ref Doc Type 238 Comment 0 Reversed 0 Date 0 Time 8 Associate 4 Orig.Store 40 Orig.Store Heading 1 40 Orig.Store Heading 2 40 Orig.Store Heading 3 3 Store 15 UDF1 15 UDF2 15 UDF3 15 UDF4 0 UDF Date 0 Type 0 Acknowledged 0 Last Edit 16 Carton Number 8 Ack Clerk 0 Ack Date/Time 14 MO Number 0 Customer SID 0 Full Name 31 Address 1 31 Address 2 Description Workstation Movement Note Number Creating Doc Number Date for Referencing Doc Type of the document that created note Movement Document Comment Movement Note Reversed Document Date Document Time Associate Originating Store Originating Store Heading 1 Originating Store Heading 2 Originating Store Heading 3 Store Movement Document User Defined Field 1 Movement Document User Defined Field 2 Movement Document User Defined Field 3 Movement Document User Defined Field 4 Movement Document User Defined Date Movement Note Type Movement Note Acknowledged Last Edit Carton Number Ack Clerk Ack Date/Time Movement Order Number Customer System ID Full Name Address 1 Address 2

1077 fldMovNoteAcknowledged Boolean 569 fldDocLastEdit 1080 fldMovDocCartonNum 1087 fldMovNoteAckClerk 1088 fldMovNoteAckDateTime 1081 fldMONumber 245 fldCustSID 235 fldFullName 214 fldAddr1 215 fldAddr2 Date String String Date String Int64 String String String

Copyright 2008 Retail Pro. All rights reserved 132

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidVndrAddr3 fidVndrZIP fidVndrCompany fidCustID fidMovNoteCrtSeqNum fidMovNoteCrtSeqCnt fidSubLocFrom fidSubLocTo fidTransmitted fidShipmentNum fidMovNoteSource fidTotalQty fidSubLocFromName fidSubLocToName fidBridgeExported fidCMSExported fidODSExported fidStoreHeading4 fidStoreHeading5 fidStoreHeading6 ID# Name 216 fldAddr3 217 fldZIP 210 fldCompany 236 fldCustIDLookup 1095 fldMovNoteCrtSeqNum 1096 fldMovNoteCrtSeqCnt 1053 fldMovDocDefLocFrom 1054 fldMovDocDefLocTo 823 fldTransmitted 1079 fldShipmentNumber 1098 fldMovNoteSource 597 fldTotalQty 1055 Type String String String String Integer Integer String String Boolean String Enumerated Double Size Caption Description Address 3 ZIP Code Company Name Customer ID Carton Sequence Number Carton Sequence Count Default From Sub-Location Default To Sub-Location Transmitted Shipment Number Note Source Total Quantity Def From Sub-Loc Name

31 Address 3 10 ZIP 25 Company 0 CustID 0 Carton Seq. Num. 0 Carton Seq. Cnt. 12 Def From Sub-Loc 12 Def To Sub-Loc 0 Transmitted 16 Shipment Number 0 Note Source 0 Total Qty 20 Def From Sub-Loc Name

fldMovDocDefLocFromNa String me

1056 fldMovDocDefLocToName String 1067 fldBridgeExported 1068 fldCMSExported 1066 fldODSExported 1585 fldOrigStoreHeading4 1586 fldOrigStoreHeading5 1587 fldOrigStoreHeading6 Boolean Boolean Boolean String String String

20 Def To Sub-Loc Name Def To Sub-Loc Name 0 Bridge Exported 0 CMS Exported 0 ODS Exported 40 Orig.Store Heading 4 40 Orig.Store Heading 5 40 Orig.Store Heading 6 Bridge Exported CMS Exported ODS Exported Originating Store Heading 4 Originating Store Heading 5 Originating Store Heading 6

Copyright 2008 Retail Pro. All rights reserved 133

Retail Pro 8 RDA2 Programmers Guide

MovNoteItem (Nested Table)


RDA2 Constant fidSubLocFrom fidSubLocTo fidSubLocFromName fidSubLocToName fidMovDocItmRefNote fidQTY fidItemSID -NonefidItemLookup fidDC fidVC fidDesc1 fidDesc2 fidAttr fidSIZE fidUPC fidALU fidUsrCd0 fidUsrCd1 fidUsrCd2 fidUsrCd3 fidMovDocItmAckQty fidInvnCost fidDesc3 fidDesc4 fidInvnAux0 -None-None-None-NoneID# Name Type String String String String Integer Double Int64 Integer String String String String String String String String String Enumerat ed Enumerat ed Enumerat ed Enumerat ed Size Caption 12 From Sub-Loc 12 To Sub-Loc 20 From Sub-Loc Name 20 To Sub-Loc Name 0 Mov Note Ref # 0 Qty 0 Item SID 0 Rec # 20 Item # 9 DCS 3 Vend Code 16 Desc 1 17 Desc 2 4 Attr 4 Size 13 UPC 20 ALU 0 UDF 1 0 UDF 2 0 UDF 3 0 UDF 4 0 Acknowledged Qty 0 Cost 11 Desc 3 11 Desc 4 0 Aux 1 0 Aux 2 0 Aux 3 0 Aux 4 0 Aux 5 Description From Sub-Loc To Sub-Loc From Sub-Loc Name To Sub-Loc Name Document number of Movement Note that previously moved item/qty Quantity Item SID Record Number Item Lookup Full Department Code Vendor Code Description 1 Description 2 Attribute Size UPC Alternate Look Up User-Defined Field 1 User-Defined Field 2 User-Defined Field 3 User-Defined Field 4 Acknowledged Qty Cost Description 3 Description 4 Auxiliary Field 1 Auxiliary Field 2 Auxiliary Field 3 Auxiliary Field 4 Auxiliary Field 5 1053 fldSubLocFrom 1054 fldSubLocTo 1055 fldSubLocFromName 1056 fldSubLocToName 1058 fldRefMovNote 10 fldQty 208 fldItemSID 2003 fldRecNo 567 fldItemLookup 2 fldDCS 4 fldVendorCode 5 fldDesc1 8 fldDesc2 6 fldAttr 7 fldSize 9 fldUPC 166 fldALU 146 fldUDF0 163 fldUDF1 164 fldUDF2 165 fldUDF3

1086 fldMovNoteItmAckQty Double 12 fldCost 197 fldDesc3 198 fldDesc4 78 fldInvnAUX0 79 fldInvnAUX1 80 fldInvnAUX2 81 fldInvnAUX3 82 fldInvnAUX4 Double String String Enumerat ed Enumerat ed Enumerat ed Enumerat ed Enumerat ed

Copyright 2008 Retail Pro. All rights reserved 134

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant -None-NonefidInvnAux7 fidInvnUDFStr fidInvnUDFDate ID# Name 83 fldInvnAUX5 84 fldInvnAUX6 85 fldInvnAUX7 75 fldInvnUDFStr 87 fldInvnUDFDate Type Enumerat ed Enumerat ed Enumerat ed String Date Size Caption 0 Aux 6 0 Aux 7 0 Aux 8 20 UDF Name 0 UDF Date Description Auxiliary Field 6 Auxiliary Field 7 Auxiliary Field 8 User-Defined Name User-Defined Date

Copyright 2008 Retail Pro. All rights reserved 135

Retail Pro 8 RDA2 Programmers Guide

MOs
RDA2 Constant fidWorkstation fidMovNoteNumber fidMovNoteRefDoc fidMovNoteRefDocDate fidMovNoteRefDocType fidMovDocComment fidMovNoteReversed fidDocDate fidDocTime fidClerk fidStoreStation fidStoreHeading1 fidStoreHeading2 fidStoreHeading3 fidStore fidMovDocUDF1 -None-NonefidMovDocUDF4 fidMovDocUDFDate fidMovNoteType fidMovNoteAcknowledged fidDocLastEdit fidMovDocCartonNum fidMovNoteAckClerk fidMovNoteAckDateTime fidMONumber fidCustSID fidFullName fidVndrAddr1 fidVndrAddr2 ID# Name 501 fldWorkstation 1057 fldMovNoteNumber 1059 fldMovNoteRefDoc 1060 fldMovNoteRefDocDate 1061 fldMovNoteRefDocType 1063 fldMovDocComment 1065 fldMovNoteReversed 518 fldDocDate 502 fldDocTime 65 fldClerk 563 fldOrigStore 585 fldOrigStoreHeading1 586 fldOrigStoreHeading2 587 fldOrigStoreHeading3 53 fldStore 1069 fldMovDocUDF1 1070 fldMovDocUDF2 1071 fldMovDocUDF3 1072 fldMovDocUDF4 1073 fldMovDocUDFDate 1078 fldMovNoteType Type Integer Integer String Date Enumerated String Boolean Date Date String String String String String String String String String String Date Enumerated Size Caption 0 Wks 0 Number 16 Ref Doc # 0 Ref Doc Date 0 Ref Doc Type 238 Comment 0 Reversed 0 Date 0 Time 8 Associate 4 Orig.Store 40 Orig.Store Heading 1 Description Workstation Movement Note Number Creating Doc Number Date for Referencing Doc Type of the document that created note Movement Document Comment Movement Note Reversed Document Date Document Time Associate Originating Store Originating Store Heading 1 Originating Store Heading 2 Originating Store Heading 3 Store Movement Document User Defined Field 1 Movement Document User Defined Field 2 Movement Document User Defined Field 3 Movement Document User Defined Field 4 Movement Document User Defined Date Movement Note Type Movement Note Acknowledged Last Edit

Orig.Store 40 Heading 2 40 Orig.Store Heading 3

3 Store 15 UDF1 15 UDF2 15 UDF3 15 UDF4 0 UDF Date 0 Type 0 Acknowledged 0 Last Edit

1077 fldMovNoteAcknowledged Boolean 569 fldDocLastEdit 1080 fldMovDocCartonNum 1087 fldMovNoteAckClerk 1088 fldMovNoteAckDateTime 1081 fldMONumber 245 fldCustSID 235 fldFullName 214 fldAddr1 215 fldAddr2 Date String String Date String Int64 String String String

16 Carton Number Carton Number 8 Ack Clerk 0 Ack Date/Time 14 MO Number 0 Customer SID 0 Full Name 31 Address 1 31 Address 2 Ack Clerk Ack Date/Time Movement Order Number Customer System ID Full Name Address 1 Address 2

Copyright 2008 Retail Pro. All rights reserved 136

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidVndrAddr3 fidVndrZIP fidVndrCompany fidCustID fidMovNoteCrtSeqNum fidMovNoteCrtSeqCnt fidSubLocFrom fidSubLocTo fidTransmitted fidShipmentNum fidMovNoteSource fidTotalQty fidSubLocFromName fidSubLocToName fidBridgeExported fidCMSExported fidODSExported fidStoreHeading4 fidStoreHeading5 fidStoreHeading6 ID# Name 216 fldAddr3 217 fldZIP 210 fldCompany 236 fldCustIDLookup 1095 fldMovNoteCrtSeqNum 1096 fldMovNoteCrtSeqCnt 1053 fldMovDocDefLocFrom 1054 fldMovDocDefLocTo 823 fldTransmitted 1079 fldShipmentNumber 1098 fldMovNoteSource 597 fldTotalQty 1055 Type String String String String Integer Integer String String Boolean String Enumerated Double Size Caption Description Address 3 ZIP Code Company Name Customer ID Carton Sequence Number

31 Address 3 10 ZIP 25 Company 0 CustID 0 Carton Seq. Num.

0 Carton Seq. Cnt. Carton Sequence Count 12 Def From SubLoc Default From Sub-Location

12 Def To Sub-Loc Default To Sub-Location 0 Transmitted 16 Shipment Number Transmitted Shipment Number Note Source Total Quantity Def From Sub-Loc Name

0 Note Source 0 Total Qty 20 20 Def From SubLoc Name

fldMovDocDefLocFromNa String me

1056 fldMovDocDefLocToName String 1067 fldBridgeExported 1068 fldCMSExported 1066 fldODSExported 1585 fldOrigStoreHeading4 1586 fldOrigStoreHeading5 1587 fldOrigStoreHeading6 Boolean Boolean Boolean String String String

Def To Sub-Loc Def To Sub-Loc Name Name

0 Bridge Exported Bridge Exported 0 CMS Exported 0 ODS Exported Orig.Store 40 Heading 4 40 40 Orig.Store Heading 5 Orig.Store Heading 6 CMS Exported ODS Exported Originating Store Heading 4 Originating Store Heading 5 Originating Store Heading 6

Copyright 2008 Retail Pro. All rights reserved 137

Retail Pro 8 RDA2 Programmers Guide

MOItem (Nested Table)


RDA2 Constant fidSubLocFrom fidSubLocTo fidSubLocFromName fidSubLocToName fidMovDocItmRefNote fidQTY fidItemSID -NonefidItemLookup fidDC fidVC fidDesc1 fidDesc2 fidAttr fidSIZE fidUPC fidALU fidUsrCd0 fidUsrCd1 fidUsrCd2 fidUsrCd3 fidMovDocItmAckQty fidInvnCost fidDesc3 fidDesc4 fidInvnAux0 -None-None-None-NoneID# Name Type String String String String Integer Double Int64 Integer String String String String String String String String String Enumerat ed Enumerat ed Enumerat ed Enumerat ed Double Double String String Enumerat ed Enumerat ed Enumerat ed Enumerat ed Enumerat ed Size Caption Description From Sub-Loc To Sub-Loc From Sub-Loc Name To Sub-Loc Name Document number of Movement Note that previously moved item/qty Quantity Item SID Record Number Item Lookup Full Department Code Vendor Code Description 1 Description 2 Attribute Size UPC Alternate Look Up User-Defined Field 1 User-Defined Field 2 User-Defined Field 3 User-Defined Field 4 Acknowledged Qty Cost Description 3 Description 4 Auxiliary Field 1 Auxiliary Field 2 Auxiliary Field 3 Auxiliary Field 4 Auxiliary Field 5 1053 fldSubLocFrom 1054 fldSubLocTo 1055 fldSubLocFromName 1056 fldSubLocToName 1058 fldRefMovNote 10 fldQty 208 fldItemSID 2003 fldRecNo 567 fldItemLookup 2 fldDCS 4 fldVendorCode 5 fldDesc1 8 fldDesc2 6 fldAttr 7 fldSize 9 fldUPC 166 fldALU 146 fldUDF0 163 fldUDF1 164 fldUDF2 165 fldUDF3 1086 fldMovNoteItmAckQty 12 fldCost 197 fldDesc3 198 fldDesc4 78 fldInvnAUX0 79 fldInvnAUX1 80 fldInvnAUX2 81 fldInvnAUX3 82 fldInvnAUX4 12 From Sub-Loc 12 To Sub-Loc 20 From Sub-Loc Name 20 To Sub-Loc Name 0 Mov Note Ref # 0 Qty 0 Item SID 0 Rec # 20 Item # 9 DCS 3 Vend Code 16 Desc 1 17 Desc 2 4 Attr 4 Size 13 UPC 20 ALU 0 UDF 1 0 UDF 2 0 UDF 3 0 UDF 4 0 Acknowledged Qty 0 Cost 11 Desc 3 11 Desc 4 0 Aux 1 0 Aux 2 0 Aux 3 0 Aux 4 0 Aux 5

Copyright 2008 Retail Pro. All rights reserved 138

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant -None-NonefidInvnAux7 fidInvnUDFStr fidInvnUDFDate ID# Name 83 fldInvnAUX5 84 fldInvnAUX6 85 fldInvnAUX7 75 fldInvnUDFStr 87 fldInvnUDFDate Type Enumerat ed Enumerat ed Enumerat ed String Date Size Caption 0 Aux 6 0 Aux 7 0 Aux 8 20 UDF Name 0 UDF Date Description Auxiliary Field 6 Auxiliary Field 7 Auxiliary Field 8 User-Defined Name User-Defined Date

Copyright 2008 Retail Pro. All rights reserved 139

Retail Pro 8 RDA2 Programmers Guide

TOs
RDA2 Constant fidTONumber fidClerk fidPONumber fidVouNumber fidTOTransferFrom fidTOFromHeading1 fidTOFromHeading2 fidTOFromHeading3 fidTONotes1 fidTONotes2 fidTODate fidTOActivateOn fidTOLastActivity fidTOIncomplete fidTOAssigned fidTODone fidTORemaining fidTOFromHeading4 fidTOFromHeading5 fidTOFromHeading6 fidDocLastEdit fidItemsCount ID# Name Type String String String Integer String String String String String String Date Date Date Double Double Double Double String String String Date Integer Size Caption 8 TO # 8 Associate 20 PO # 0 Voucher # 3 Transfer From 40 From Header 1 40 From Header 2 40 From Header 3 30 Notes 1 30 Notes 2 0 Order Date 0 Activate On 0 Last Activity 0 Incomplete 0 Total Assigned 0 Total Sent 0 Total Due 40 From Header 4 40 From Header 5 40 From Header 6 0 Last Edit 0 No of Items Description TO Number Associate PO Number Voucher Number Transfer From From Header 1 From Header 2 From Header 3 Notes 1 Notes 2 Order Date Activate On Last Activity Incomplete Total Assigned Total Sent Total Due From Header 4 From Header 5 From Header 6 Last Edit Items Count 950 fldTONumber 65 fldClerk 400 fldPONumber 700 fldVouNumber 951 fldTOTransferFrom 952 fldTOFromHeading1 953 fldTOFromHeading2 954 fldTOFromHeading3 955 fldTONotes1 956 fldTONotes2 957 fldTODate 958 fldTOActivateOn 959 fldTOLastActivity 960 fldTOIncomplete 961 fldTOAssigned 962 fldTODone 963 fldTORemaining 1952 fldTOFromHeading4 1953 fldTOFromHeading5 1954 fldTOFromHeading6 569 fldDocLastEdit 512 fldItemsCount

Copyright 2008 Retail Pro. All rights reserved 140

Retail Pro 8 RDA2 Programmers Guide

TOItem (Nested Table)


RDA2 Constant -NonefidStyleSid fidItemSID fidItemLookup fidSelQty fidDeptName fidDC fidDesc1 fidDesc2 fidDesc3 fidDesc4 fidAttr fidSIZE fidUPC fidALU fidUsrCd0 fidUsrCd1 fidUsrCd2 fidUsrCd3 fidInvnUDFStr fidInvnUDFDate fidInvnAux0 -None-None-None-None-None-NonefidInvnAux7 fidTax fidFDateRcvd ID# Name Type Integer Int64 Int64 String Double String String String String String String String String String String Enumerat ed Enumerat ed Enumerat ed Enumerat ed String Date Enumerat ed Enumerat ed Enumerat ed Enumerat ed Enumerat ed Enumerat ed Enumerat ed Enumerat ed Enumerat ed Date Size Caption 0 Rec # 0 Style SID 0 Item SID 20 Item # 0 Doc.Qty 30 DCS Name 9 DCS 16 Desc 1 17 Desc 2 11 Desc 3 11 Desc 4 4 Attr 4 Size 13 UPC 20 ALU 0 UDF 1 0 UDF 2 0 UDF 3 0 UDF 4 20 UDF Name 0 UDF Date 0 Aux 1 0 Aux 2 0 Aux 3 0 Aux 4 0 Aux 5 0 Aux 6 0 Aux 7 0 Aux 8 0 Tax 0 First Rcvd Description Record Number Style SID Item SID Item Lookup Document Quantity Full Department Name Full Department Code Description 1 Description 2 Description 3 Description 4 Attribute Size UPC Alternate Look Up User-Defined Field 1 User-Defined Field 2 User-Defined Field 3 User-Defined Field 4 User-Defined Name User-Defined Date Auxiliary Field 1 Auxiliary Field 2 Auxiliary Field 3 Auxiliary Field 4 Auxiliary Field 5 Auxiliary Field 6 Auxiliary Field 7 Auxiliary Field 8 Tax Code First Received Date 2003 fldRecNo 207 fldStyleSID 208 fldItemSID 567 fldItemLookup 22 fldSelQty 3 fldDCSName 2 fldDCS 5 fldDesc1 8 fldDesc2 197 fldDesc3 198 fldDesc4 6 fldAttr 7 fldSize 9 fldUPC 166 fldALU 146 fldUDF0 163 fldUDF1 164 fldUDF2 165 fldUDF3 75 fldInvnUDFStr 87 fldInvnUDFDate 78 fldInvnAUX0 79 fldInvnAUX1 80 fldInvnAUX2 81 fldInvnAUX3 82 fldInvnAUX4 83 fldInvnAUX5 84 fldInvnAUX6 85 fldInvnAUX7 49 fldTaxCd 66 fldFRecvD

Copyright 2008 Retail Pro. All rights reserved 141

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidInvnPrc fidInvnCost fidInvnCostCode fidMrgD fidMrgP fidMupP fidCoeff fidTaxP fidTaxAmt fidQTY fidTotO_H fidQtyO_H fidInvnPWT fidMrgT fidNumberOfDecimals fidInvnSerialFlg fidExtPrc fidExtPwt fidExtCost fidVC fidQtyOrdCas fidQtyO_HCas fidPOItmDue fidQtyDueCas fidTOItmTotalQty fidTOItmTotalQtySent fidTOItmTotalQtyDue fidCommitted fidSaleDiscPercent fidSaleDisc fidTotalTaxAmt fidTax2Prc fidTax2Amt ID# Name 11 fldPrice 12 fldCost 36 fldCostCode 69 fldMgn 13 fldMgnPrc 104 fldMkUpPrc 115 fldCoeff 118 fldTaxPrc 119 fldTax 10 fldQty 18 fldTotOnHnd 26 fldStrQty 116 fldPrcWTx 70 fldMrgWTx 202 fldNDecimals 88 fldInvnSerialFlg 33 fldExtPrc 117 fldExtPWT 38 fldExtCost 4 fldVendorCode 139 fldCaseQtyOrd 138 fldCaseStrQty 414 fldPOItmQtyDue 142 Type Double Double String Double Integer Integer Double Double Double Double Double Double Double Double Integer Enumerat ed Double Double Double String Double Double Double Size Caption 0 Inven P$ 0 Cost 0 Cost Code 0 Margin $ 0 Mrg% 0 MkUp% 0 Coef 0 Tax % 0 Tax $ 0 Qty 0 Cmp Qty 0 Str Qty 0 Inven P$T$ 0 M$T$ 0 Qty Decimals 0 Serial 0 Ext P$ 0 Ext P$T$ 0 Ext C$ 3 Vend Code 0 Case Ord 0 Str Case Qty 0 PO Qty Due 0 PO Case Due 0 Qty Assigned 0 Qty Sent 0 Qty Due 0 Committed 0 Sale Disc % 0 Sale Disc $ 0 Total Tax $ 0 Tax 2 % 0 Tax 2 $ Description Inventory Price Cost Cost Code Margin Amount Margin % Mark Up % Coefficient Tax % Tax Amount Quantity Company Quantity Store Quantity Inventory Price with Tax Margin with Tax Number of Decimals Serial Item Flag Extended Price Extended Price with Tax Extended Cost Vendor Code Case Quantity Ordered Store Quantity in Cases PO Quantity Due PO Case Due Qty Assigned Qty Sent Qty Due Committed Sale Disc % Sale Disc $ Total Tax Amount Tax 2 Percent Tax 2 Amount

fldTOItmPoQtyDu Double e

970 fldTOItmTotalQty Double 971 972 fldTOItmTotalQty Double Sent fldTOItmTotalQty Double Due Boolean

1097 fldCommitted

1123 fldSaleDiscPercent Double 1124 fldSaleDisc 7003 fldTotalTax 7000 fldTax2Prc 7001 fldTax2 Double Double Double Double

Copyright 2008 Retail Pro. All rights reserved 142

Retail Pro 8 RDA2 Programmers Guide


RDA2 Constant fidAltTax2 fidAltTax1 fidItemScale fidSeqNum ID# Name Type String String Enumerat ed Integer Size Caption 0 Tax Code 2 0 Tax Code 0 Scale 0 Seq # Description Tax Code 2 Tax Code Item Scale Sequence number

7004 fldTax2Cd 7002 fldTax1Cd 205 fldItemScale 1130 fldSeqNum

Copyright 2008 Retail Pro. All rights reserved 143

Retail Pro 8 RDA2 Programmers Guide

XML Preferences
The RPro preference settings are retrieved from the database using the Preferences property of the Rda2Server object. This property returns a DOMDocument object (DOMDocument is a class of MSMXL. Explanation of XML documents and the XML document object model are beyond the scope of this document. See the Microsoft XML SDK for more information). Preferences are exposed in the returned xml document as a series of nodes. Most of these nodes are element-type nodes with attributes containing name/value pairs for specifc preferences. (See the Sample Preferences Document below.)

Updating Preferences
Only currency exchange information can be updated in the current version of RDA2. Currency exchange information is located in RATE nodes. There will be a RATE node for each foreign currency in the system. Each RATE node is an element-type node with NAME, GIVE and TAKE as attributes. The attribute values contain the name of the currency and the give/take exchange rates. The RATE nodes are child nodes of the CURRENCY node. The CURRENCY node is a child of the INTERNATIONAL node, which is a child of a COMPANY node. (COMPANY nodes are child nodes of the xml document root). New RATE nodes cannot be added to the preferences. Only existing RATE nodes can be updated. The UpdatePreferences method accepts an XMLDOMElement object as a parameter. This XMLDOMElement object MUST be the CURRENCY node of the XML Preferences document and MUST have the RATE nodes as children. To update the currency name or exchange rates, locate the CURRENCY node and set an XMLDOMElement to this node. Locate the child RATE node and change the appropriate attribute value of the RATE node. Pass the XMLDOMElement object for the CURRENCY node to Rda2Server using the Update Preferences method.

Copyright 2008 Retail Pro. All rights reserved 144

Retail Pro 8 RDA2 Programmers Guide

Sample Preference Document


Following is a text listing of a sample XML document containing RPro preferences:
<?xml version="1.0"?> <RPRO_SETTINGS> <COMPANY> <INVENTORY NO_OF_PRICES="2" PRICE_COST_DECIMALS="2" PRICE_DECIMALS="2" COST_DECIMALS="2" TAX_DECIMALS="5"> <INVENTORY_SCALES/> </INVENTORY> <POINT_OF_SALE> <POS_FEE_TYPES_AND_SHIPPING> <SHIPPING NAME="Shipping" TAX_PERCENT="0" TAX_INCLUDED="0" CLASS="0" REQ.CUST="0" INCL_TAX_TO_COMPUTE="0" USE_DEFAULT_PERCENT="0" DEFAULT_PERCENT="0"/> </POS_FEE_TYPES_AND_SHIPPING> <TAX USE_VAT="0" USE_ICM="0" ROUND_EXT_TAX_UP="0" TAX_CODE_SUBTOTAL_CALC="0" MULTI_TAX="0" TAX_AREA_SPEC_TAX_CODES="0" INCLUDE_1ST_TAX_IN_2ND="0" TAX_COMPATIBILITY_MODE="-1" TAX_THRESHOLD1="0" TAX_THRESHOLD2="0" TAX_ROUND_AT_DOC_LEVEL="0" TAX_ROUND_METHOD="NORMAL"> <TAX_CODE TAX_CODE_NUM="0">Taxable</TAX_CODE> <TAX_CODE TAX_CODE_NUM="1">Exempt</TAX_CODE> <TAX_CODE TAX_CODE_NUM="2">Luxury</TAX_CODE> </TAX> </POINT_OF_SALE> <INTERNATIONAL> <GENERAL DATE_FORMAT="STD" FOUR_DIGIT_YEAR="0" NUMERIC_PUNCTUATION="COMMA_DOT" ZIP_POSITION="AFT_ADDR3"/> <CURRENCY CURRENCY_SYMBOL="$" SYMBOL_POSITION="$_123" USE_FOREIGN_CURRENCY="0" BASE_CURRENCY="DOLLARS"/> <TAX_REBATE ALLOW_TAX_REBATE="0" DEFAULT_PERCENTAGE="0" REBATE_TRESHOLD_AMOUNT="0"/> </INTERNATIONAL> <STORES_AND_REGIONS STORE_NUMBER="0" STATION_NUMBER="0" SBS_NO="0" NUMBER_OF_STORES="1"> <STORE NUMBER="-2" CODE="BIL" NAME="" ADDR1="" ADDR2=""/> <STORE NUMBER="252" CODE="CRP" NAME="" ADDR1="" ADDR2=""/> <STORE NUMBER="254" CODE="INF" NAME="" ADDR1="" ADDR2=""/> <STORE NUMBER="0" CODE="000" NAME="" ADDR1="" ADDR2=""/> <STORE NUMBER="1" CODE="001" NAME="" ADDR1="" ADDR2=""/> </STORES_AND_REGIONS> <GENERAL_DOCS_REPS LOOK_UP_MODE="Item#/UPC#/ALU" USE_DECIMALS_IN_REPS="0" DECIMALS_IN_REPS="2" UPPERCASE_REPS="0"/> <EMPLOYEES/> </COMPANY> <WORKSTATION/> </RPRO_SETTINGS>

Copyright 2008 Retail Pro. All rights reserved 145

Retail Pro 8 RDA2 Programmers Guide

Programming with RDA2


Tips and Tricks
Converting SID Types
SIDs are used in two different formats in RDA2, either as a 64-bit integer or as a character string representation. The string representation is necessary since some languagesfor example Visual Basiccannot handle 64-bit integers. You can use the following methods to convert between the two formats:
//TSID is declared as signed 64-bit integer. //TSIDKey is a String. type TSID = Int64; const SIDKeyLen = SizeOf(TSID) * 2; type TSIDKey = string[SIDKeyLen]; TSIDBytes = array[0..SizeOf(TSID)-1] of byte; //Function which converts numerical SID to 16-character string: function GetSIDKey(SID:TSID): TSIDKey; var CharNum: byte; Bytes: TSIDBytes absolute SID; begin Result := ''; for CharNum := 0 to SizeOf(TSID) - 1 do Result := Result + char((Bytes[CharNum] div 16) + ord('A')) + char((Bytes[CharNum] mod 16) + ord('A')); end; //Function which converts 16-character string to numerical SID: function GetSIDFromKey(Key:TSIDKey):TSID; var Bytes: TSIDBytes; CharNum: byte; begin for CharNum := 0 to SizeOf(TSID) - 1 do Bytes[CharNum] := (byte(Key[CharNum*2+1]) ord('A')) * 16 + (byte(Key[CharNum*2+2]) - ord('A')); move(bytes, Result, sizeof(bytes));

end;

Setting Fee and Shipping Amounts


The Fee and Shipping fields, for example in Invoices and SOs, are actually display only fields. You cannot set a Fee value by writing to fidFee. Instead you need to use the fidFeeEdt and fidShippingEdt respectively to set these values.

Copyright 2008 Retail Pro. All rights reserved 146

Retail Pro 8 RDA2 Programmers Guide

Using COM Objects in a Delphi Console Application


Using COM Objects in Delphi is very simple, almost all the work is done for you by the IDE and compiler itself; however, if you are writing a console application then there are a few steps you need to take in order to be able to use COM objects. 1) 2) 3) Include the ActiveX unit in the uses clause. Call a version of the CoInitialize method before instantiating any COM object. Call CoUnInitialize when done with the COM objects.

Example:
program ListTables; // A small command line program that will list all RDA2 table names. // Example of using COM in a console application. {$APPTYPE CONSOLE} uses SysUtils, ActiveX, RDA2_TLB; procedure ExecuteProgram; var rdaDB: IRdaDB; rcollAllTables: IRdaCollection; intTableIterator: Integer; begin rdaDB := CoRda2Server.Create; rdaDB.Connect('c:\retail', 1, '', ''); if rdaDB.Connected then begin rcollAllTables := rdaDB.AllTableNames; for intTableIterator := 0 to rcollAllTables.length - 1 do WriteLn (rcollAllTables.item(intTableIterator)); end {if rdaDB.Connected then} else raise Exception.Create('Could not connect to the Retail Pro Database.'); end; begin try CoInitializeEx(nil, COINIT_APARTMENTTHREADED); //Coinitialize must be called before any COM object can be used. ExecuteProgram; except on e: Exception do begin //Handle error condition WriteLn('Program terminated due to an exception'); WriteLn(e.Message); //Set ExitCode <> 0 to flag error condition (by convention) ExitCode := 1; end; {on e: Exception do} end; CoUninitialize; //Clean up any remainig COM objects before exiting the application. End.

Copyright 2008 Retail Pro. All rights reserved 147

Retail Pro 8 RDA2 Programmers Guide

RDA2 and .NET A Word of Warning


Unfortunately, there is a known problem with Delphi 5 which is used to compile the RDA2.dll. The problem is manifested in COM objects created with Delphi 5 which may have problems marshaling data if used as an out-of-process COM server. Normally nearly any programming language treats a COM dll as an in-process server in which case there is no problem. However, .NET is inherently using all COM objects out-of-process. The problem is most likely to be seen when typecasting one interface object to another, for example when getting an IRdaTender interface using the CustomInterface method, or when typcasting an IRdaTenderItem object to another tender item interface. Since Delphi 5 is no longer maintained by Borland, this bug will most likely never be fixed.

Copyright 2008 Retail Pro. All rights reserved 148

Retail Pro 8 RDA2 Programmers Guide

Visual Basic Examples


Following are various code extracts that illustrate the use of the RDA2 object model. More complete examples are in the RDA2ObjectModel Visual Basic Project.

Connecting to the Database


dim rdaServer as new Rda2Server connect for workstation 1. rdaServer.Connect C:\Retail\RPro, 0 if not(rdaServer.Connected) then msgbox Database connection failed., VBOKOnly end if

Adding Table Names to a Combo Box


dim rdaServer as new RDA2Server dim intCnt as integer rdaServer.Connect C:\RetailPro\RPro, 1 cboTable.Clear For intCnt = 0 To rdaServer.AllTableNames.Length - 1 cboTable.AddItem rdaServer.AllTableNames.Item(intCnt) Next intcnt

Opening a Table and Setting the Active Index


dim rdaServer as new Rda2Server dim rdaTable as IRdaTable rdaServer.Connect C:\Retail\RPro, 1 set rdaTable = rdaServer.CreateTableByName(Customers) rdaTable.open Set the active index to Cust ID. rdaTable.ActiveIndexID = 6

Add a Department
Dim rdaServer As New Rda2Server Dim rdaTable As IRdaTable ' rdaServer.Connect "C:\Retail\RPro", 0 Set rdaTable = rdaServer.CreateTableByName("Departments") rdaTable.Open rdaTable.NewRecord With rdaTable.Document .FieldByName("fldDept").Value = "Z" .FieldByName("fldClass").Value = "." .FieldByName("fldSubClass").Value = "." .FieldByName("fldDeptName").Value = "ZEBRAS" End With rdaTable.PostRecord rdaTable.Close

Copyright 2008 Retail Pro. All rights reserved 149

Retail Pro 8 RDA2 Programmers Guide

Add an Item to a Purchase Order


sub AddPO() Dim rdaServer As New Rda2Server Dim rdaTable As IRdaTable Dim rdaPOItem As IRdaDocument Dim strPONum As String Dim strItemNum As String Dim strQty As String Dim blnFound As Boolean ' rdaServer.Connect "C:\Retail\RPro", 0 Set rdaTable = rdaServer.CreateTableByName("POs") rdaTable.Open ' ' Set the active index to PO # ' rdaTable.ActiveIndexID = 1 Do strPONum = InputBox("Enter the PO Number:") Loop Until IsNumeric(strPONum) Do strItemNum = InputBox("Enter the item number to add:") Loop Until IsNumeric(strItemNum) Do strQty = InputBox("How many?") Loop Until IsNumeric(strQty) ' ' Find the PO in the table. ' blnFound = rdaTable.Find(strPONum, False) If Not blnFound Then MsgBox "The PO was not found.", vbOKOnly Exit Sub End If ' ' Set the POItem nested table. ' Set rdaPOItem = rdaTable.Document.NestedDocByName("POItem") ' ' Increment the nested doc count to add the new item. ' With rdaPOItem .Count = .Count + 1 .SetPosition (.Count - 1) ' ' Set the item number and quantity fields. ' Item number is field # 567 (or fidItemLookUp) ' Quantity is field # 10 (or fidQty) This doesnt insert the cost or extensions. ' .SetString strItemNum, 567 .SetDouble Val(strQty), 10 End With rdaTable.PostRecord end sub

Copyright 2008 Retail Pro. All rights reserved 150

Retail Pro 8 RDA2 Programmers Guide

Use a Field with a Lookup List to Populate a Combo Box


Dim rdaServer As New Rda2Server Dim rdaTable As IRdaTable Dim rdaField As IRdaField Dim intCnt As Integer ' rdaServer.Connect "C:\Retail\RPro", 0 Set rdaTable = rdaServer.CreateTableByName("Departments") rdaTable.Open Set rdaField = rdaTable.Document.FieldByName("fldTaxCd") For intCnt = 0 To rdaField.LookupList.Length - 1 cboList.AddItem rdaField.LookupList.Item(intCnt) Next intCnt rdaTable.Close

Create an IrdaInventory Object


dim rdaServer as new RDA2Server dim rdaTable as IRdaTable dim rdaIventory as IRdaInventory rdaServer.Connect C:\RetailPro\RPro, 1 Set rdaTable = rdaServer.CreateTableByName(Items) The table must be opened before creating the inventory object. rdaTable.Open Set rdaInventory = rdaTable.CustomInterface ... do some strange and wonderful thing ... Set the inventory object to nothing before closing the table. Set rdaInventory = Nothing Now close the table and clean up. rdaTable.Close Set rdaTable = Nothing rdaServer.Disconnect Set rdaServer = Nothing

Create an IRdaSO Object


dim rdaServer as new Rda2Server dim rdaTable as IRdaTable dim rdaSO as IRdaSO rdaServer.Connect C:\RetailPro\RPro, 1 Set rdaTable = rdaServer.CreateTableByName(SOs) Create an IRdaSO object from the document linked to rdaTable. Set rdaSO = rdaTable.CustomInterface

Copyright 2008 Retail Pro. All rights reserved 151

Retail Pro 8 RDA2 Programmers Guide

Create IRdaTender Objects


To create an IRdaTender Object for the Invoices Table
dim rdaServer as new RDA2Server dim rdaTable as IRdaTable dim rdaTender as IRdaTender rdaServer.Connect C:\RetailPro\RPro, 1 Set rdaTable = rdaServer.CreateTableByName(Invoices) Create an IRdaTender object from the document linked to rdaTable. Set rdaTender = rdaTable.Document.CustomInterface

To create an IRdaTender Object for SO deposits


dim rdaServer as new RDA2Server dim rdaTable as IRdaTable dim rdaNested as IRdaDocument dim rdaTender as IRdaTender rdaServer.Connect C:\RetailPro\RPro, 1 Set rdaTable = rdaServer.CreateTableByName(Invoices) Create the nested document for deposits. Set rdaNested = rdaTable.Document.NestedDocByName(SODepsosits) Now create the tender object from the nested document. Set rdaTender = rdaNested.CustomInterface

Get the Terms of a Purchase Order


Dim rdaServer As New Rda2Server Dim rdaTable As IRdaTable Dim rdaTerms As IRdaVouTerms Dim strPONum As String Dim strTerms As String Dim blnFound As Boolean ' rdaServer.Connect "C:\Retail\RPro", 1 Set rdaTable = rdaServer.CreateTableByName("POs") rdaTable.Open ' ' Set the active index to the PO number. ' rdaTable.ActiveIndexID = 1 ' ' Create the IRdaVouTerms object. ' Set rdaTerms = rdaTable.Document.CustomInterface Start a loop to get a PO number, find the PO and display the terms. Do Do Get a PO Number. strPONum = InputBox("Enter a PO number:") Loop Until IsNumeric(strPONum) Or strPONum = ""

Copyright 2008 Retail Pro. All rights reserved 152

Retail Pro 8 RDA2 Programmers Guide


Exit if no PO entered. If strPONum = "" Then Exit Do Find the PO in the table. blnFound = rdaTable.Find(strPONum, False) If blnFound Then ' ' rdaTerms now contains the terms of the PO. ' strTerms = "Terms for PO# " & strPONum & ":" & Chr(13) With rdaTerms The .Kind property has the type of terms. Based on .Kind, construct a string with the description of the terms. GetPDString function (below) returns a formatted string with Percent/Day pairs. Select Case .Kind Case vpDays strTerms = strTerms & GetPDString(rdaTerms) Case vpCOD strTerms = strTerms & "COD" Case vpCredit strTerms = strTerms & "Credit Account" Case vpReplace strTerms = strTerms & "Replace" Case vpPrepaid strTerms = strTerms & "Prepaid on " & _ Format(.Date, "mm/dd/yyyy") Case vpDue strTerms = strTerms & "Due on " & Format(.Date, "mm/dd/yyyy") Case vpPays strTerms = strTerms & "Payments:" & GetPDString(rdaTerms) Case vpEOM strTerms = strTerms & "EOM:" & GetPDString(rdaTerms) End Select End With Display the terms. MsgBox strTerms, vbOKOnly End If Loop rdaTable.Close Private Function GetPDString(rdaTerms As IRdaVouTerms) As String Dim lngIndex As Long Dim dblPcnt As Double Dim lngDays As Long Dim strPcnt As String ' ' Returns the Percent/Day pairs as a string with embedded ' carriage returns. ' Uses Get_PercentDays method of IRdaVouTerms which takes an index as a parameter. The index is 1-based. lngIndex = 1 Do rdaTerms.Get_PercentDays lngIndex, dblPcnt, lngDays Days = 0 means that this pair is not valid and there are no more pairs in the collection. If lngDays = 0 Then Exit Do

Copyright 2008 Retail Pro. All rights reserved 153

Retail Pro 8 RDA2 Programmers Guide


Percent = 0 means NET. If dblPcnt = 0 Then strPcnt = "NET " Else strPcnt = Trim(Str(dblPcnt)) & "% " End If If lngIndex > 0 Then GetPDString = GetPDString & Chr(13) Add the percent/days to the return string. GetPDString = GetPDString & strPcnt & Trim(Str(lngDays)) & " Days" lngIndex = lngIndex + 1 Loop End Function

Get the Tender Information for a Receipt


Dim rdaServer As New Rda2Server Dim rdaTable As IRdaTable Dim rdaTender As IRdaTender Dim strInvNum As String Dim blnFound As Boolean Dim xmlRoot As IXMLDOMElement Dim xmlElement As IXMLDOMElement Dim strTender As String ' rdaServer.Connect "C:\Retail\RPro", 1 Set rdaTable = rdaServer.CreateTableByName("Invoices") rdaTable.Open ' ' Set the active index to 1 (Receipt#). ' rdaTable.ActiveIndexID = 1 ' ' Set the IRdaTender object. ' Set rdaTender = rdaTable.Document.CustomInterface ' ' Get a receipt number, find the receipt and display the ' tender information. ' Do Do strInvNum = InputBox("Enter a receipt number:") Loop Until IsNumeric(strInvNum) Or strInvNum = "" If strInvNum = "" Then Exit Do ' ' Find the receipt in the table. ' blnFound = rdaTable.Find(strInvNum, False) If blnFound Then Set xmlRoot = rdaTender.XML.documentElement ' ' The root node of the tender XML is the TENDER node. ' Tender information is in the child nodes which are ' element type nodes with attributes. ' There will be a child node for each part of the ' tender information. ' strTender = "Tender information:" For Each xmlElement In xmlRoot.childNodes strTender = strTender & Chr(13) With xmlElement ' ' The node name of the child node is the ' tender type (i.e. cash, check, etc.). '

Copyright 2008 Retail Pro. All rights reserved 154

Retail Pro 8 RDA2 Programmers Guide


Select Case .nodeName Case "Cash", "Check", "CreditCard" strTender = strTender & .nodeName ' ' For these types, get the amount. ' The amount is an attribute of the child node. ' There are several ways to retrieve this value. ' This example uses the GetAttribute method for ' an element node. ' strTender = strTender & " Amount=" & _ .getAttribute("Amount") Case "FC" ' ' This tender is foreign currency. The name of the ' currency will be in the FCName attribute. ' In this case, get the name of the currency and ' the amount. There are other attributes that could be ' retrieved including 'Take' and 'Give'. ' ' The FCName attribute has the name ' of the currency. ' strTender = strTender & .getAttribute("FCName") ' ' Now get the amount. ' strTender = strTender & " Amount=" & _ .getAttribute("Amount") End Select End With Next MsgBox strTender, vbOKOnly End If Loop Set rdaTender = Nothing rdaTable.Close

Copyright 2008 Retail Pro. All rights reserved 155

También podría gustarte