Show TOC

Object documentationTmxPLU Interface

 

The following properties define the TmxPLU object:

Name

COM Type

DB Type

Read/ Write

Description

PluNumber *

BSTR

A18

Yes/Yes

A SKU, UPC, cross reference number, a bar code or any check digit number used to look up a price.

OldPluNumber

BSTR

A18 (for update)

No/Yes

Used only when change PLU number.

DepartmentNumber*

VARIANT

INT

Yes/Yes

Unique department number.

PluDescription *

BSTR

A40

Yes/Yes

Description for the PLU item.

RetailPrice *

VARIANT

N6,2

Yes/Yes

The retail price of a PLU item.

MixMatchID1 *

VARIANT

SI

Yes/Yes

One of the mix match numbers for an item if mix match pricing is applicable.

Tax1*

BOOL

A1

Yes/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Tax2 *

BOOL

A1

Yes/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

LinkItemFlag *

BOOL

A1

Yes/Yes

Indicates whether or not an additional item is associated with this product, setting this flag to 'Y' will cause a look up in the link item table for pricing.

AllowDiscount *

BOOL

A1

Yes/Yes

Indicates whether or not discounts are allowed.

CommissionID *

VARIANT

SI

Yes/Yes

For future use.

VendorID1 *

BSTR

A9

Yes/Yes

Uniquely identifies a vendor in the vendor table. Also used to determine whether or not the item is associated with a vendor for promotion and reporting purposes.

UserFlag1

BSTR

A10 (for update)

Yes/No

Uniquely identifies a userflag within the user_flags table.

ProcessPromptID *

VARIANT

SI

Yes/Yes

Associated prompt that will be processed for this item.

FamilyCode *

VARIANT

SI

Yes/Yes

Yes/Yes Used to link a group of products together for UPC coupon purposes.

FrequentBuyerCode *

VARIANT

SI

Yes/Yes

Indicates whether or not this item is part of a frequent buyer program. Codes are set up and defined in a separate table.

UseDepartmentFlag*

BOOL

A1

Yes/Yes

Yes/Yes Indicates whether or not the item is defined by the item or department settings. If this column is set to 'Y', the department setting will be used for: taxes, itemizers, discountable, returnable, and scale item flags.

ScaleItem *

BOOL

A1

Yes/Yes

Indicates whether or not the item quantity is derive

AllowReturn *

BOOL

A1

Yes/Yes

Indicates whether or not an item can be returned.

CouponItem *

BOOL

A1

Yes/Yes

Indicates whether or not this PLU is a coupon, if set to 'Y' a negative price will be returned for the PLU.

Tax3 *

BOOL

A1

Yes/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Tax4 *

BOOL

A1

Yes/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

ItemizedID1Apply

BOOL

AI (for update)

No/Yes

Indicates itemizerID1 is used or not.

Item1Tax1

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Item1Tax2

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Item1Tax3

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Item1Tax4

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

ActiveDate

VARIANT

A8 (for update)

No/Ye

Date when the PLU should be applied.

TareWeightID *

VARIANT

SI

Yes/Yes

Indicates whether or not tare weight is to be used. Will remove the weight of the package or container when an item is weighed.

HasCrossReferencePLU

BOOL

A1 (for update)

No/Yes

Indicates whether or not have a cross-reference number for this PLU.

QuantityPricing *

BOOL

A1

Yes/Yes

Indicate whether or not quantity pricing methods are applicable. A special for a 6 pack of pop would be an example of quantity pricing.

HasLevelPrice

BOOL

A1 (for update)

No/Yes

Indicates whether or not price levels are used to give discounts. Price levels are defined in the level cluster pricing table. If level pricing is used the function must be initiated at the beginning of the sale.

MixMatchID2 *

VARIANT

SI

Yes/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

MixMatchID3 *

VARIANT

SI

Yes/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

MixMatchID4 *

VARIANT

SI

Yes/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

ItemizedID2Apply

BOOL

A1 (for update)

No/Yes

Indicates ItemizerID2 is used or not.

Item2Tax1

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Item2Tax2

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Item2Tax3

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Item2Tax4

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

ItemizedID3Apply

BOOL

A1 (for update)

No/Yes

Indicates ItemizerID3 is used or not.

Item3Tax1

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Item3Tax2

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Item3Tax3

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Item3Tax4

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

ItemizedID4Apply

BOOL

A1 (for update)

No/Yes

Indicates ItemizerID4 is used or not.

Item4Tax1

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Item4Tax2

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Item4Tax3

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Item4Tax4

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

VerifyPLU *

BOOL

A1

Yes/Yes

Indicates whether or not the PLU number is verified in the PLU table.

QuantityDescription *

BSTR

A15

Yes/Yes

A description of the quantity type that will print on a receipt when the item is purchased in bulk. For instance, if an item is sold in pound this column may contain 'lb'.

QuantityLimitID *

VARIANT

SI

Yes/Yes

Determines weather or not there is a limit to the quantity that can be purchased in one sale of this item. Reference the id in the limited_qty table.

PackageSize *

VARIANT

N4.3

Yes/Yes

The number of items that fit into a package by which items are ordered. (Sell one at a time but can only order by the package – cigarettes).

AllowEmployeeDiscount *

BOOL

A1

Yes/Yes

Maintains a discount rate to be given to an employee. If there is no discounts maintained in this field and the empDiscountAllowed column is flagged 'Y' in the Register Parameter table the system will use the discount defined in the Reg Parms.

SuggestedRetailPrice *

VARIANT

N6,2

Yes/Yes

An amount for the suggested retail price of an item that will be printed on the receipt.

UserFlag2

BSTR

A10 (for update)

No/Yes

Uniquely identifies a userflag within the user_flagstable.

UserFlag3

BSTR

A10 (for update)

No/Yes

Uniquely identifies a userflag within the user_flags table.

UserFlag4

BSTR

A10 (for update)

No/Yes

Uniquely identifies a userflag within the user_flags table.

UserFlag5

BSTR

A10 (for update)

No/Yes

Uniquely identifies a userflag within the user_flags table.

UserFlag6

BSTR

A10 (for update)

No/Yes

Uniquely identifies a userflag within the user_flags table.

GeneratedCouponID

VARIANT

SI (for update)

No/Yes

Indicates whether or not a coupon will be automatically generated.

AutoDiscountID *

VARIANT

SI

Yes/Yes

References a particular discount in the discount table.

QuantityRequired *

BOOL

A1

Yes/Yes

Indicates whether or not quantity must be entered during item entry.

SellQuantity *

VARIANT

SI

Yes/Yes

Determines whether or not the item has to be sold at a predefined quantity. Contains the quantity the item must be sold at.

AllowLayaways *

BOOL

A1

Yes/Yes

Determines whether or not the item is allowed in a layaway sale.

MatchMFGCode

BOOL

A1 (for update)

No/Yes

Defines whether the system will match manufacturer's codes in the UPC number system 5 coupon label.

Tax5

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Tax6

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Tax7

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Tax8

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Tax9

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Tax10

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Tax11

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Tax12

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Tax13

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Tax14

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Tax15

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Tax16

BOOL

A1 (for update)

No/Yes

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table.

Cost *

VARIANT

N6.2

Yes/Yes

Maintains the cost of an item. This value is what it cost the store to purchase this item or items. The cost would include transportation etc.

CompetingPrice1 *

VARIANT

N6.2

Yes/Yes

A competitor's price for the same item. A competitor would be any vendor, other than the indicated vendor, that can supply a given item.

CompetingPrice2 *

VARIANT

N6.2

Yes/Yes

A competitor's price for the same item. A competitor would be any vendor, other than the indicated vendor, that can supply a given item.

VenderID2 *

BSTR

A9

Yes/Yes

Uniquely identifies a vendor in the vendor table. Also used to determine whether or not the item is associated with a vendor for promotion and reporting purposes.

VenderID3 *

BSTR

A9

Yes/Yes

Uniquely identifies a vendor in the vendor table. Also used to determine whether or not the item is associated with a vendor for promotion and reporting purposes.

StickerLabelNumber *

VARIANT

INT

Yes/Yes

References the sticker label format to be used when printing sticker labels for a given number.

ShelfLabelNumber *

VARIANT

INT

Yes/Yes

References the shelf label format to be used when printing shelf labels for a given number.

InventoryGroupID *

BSTR

A18 (for update)

No/Yes

For future use.

SupplementalLengthID *

VARIANT

SI

Yes/Yes

This is the length of the supplemental code that is required to be entered at the register whenever this item is sold.

LoyaltyID1 *

VARIANT

SI

Yes/Yes

Uniquely identifies or references a loyalty program.

LoyaltyID2 *

VARIANT

SI

Yes/Yes

Uniquely identifies or references a loyalty program.

LoyaltyID3 *

VARIANT

SI

Yes/Yes

Uniquely identifies or references a loyalty program.

LoyaltyID4 *

VARIANT

SI

Yes/Yes

Uniquely identifies or references a loyalty program.

OrderingNumber

BSTR

A18 (for update)

No/Yes Unique ordering number used by Store

Unique ordering number used by Store Manager.

UserFlagNumber1 *

VARIANT

SI

SI Yes/No

Uniquely identifies a userflag within the user-flag table.

UserFlagNumber2 *

VARIANT

SI

Yes/No

Uniquely identifies a userflag within the user-flag table.

UserFlagNumber3 *

VARIANT

SI

Yes/No

Uniquely identifies a userflag within the user-flag table.

UserFlagNumber4 *

VARIANT

SI

Yes/No

Uniquely identifies a userflag within the user-flag table.

UserFlagNumber5 *

VARIANT

SI

Yes/No

Uniquely identifies a userflag within the user-flag table.

UserFlagNumber6 *

VARIANT

SI

Yes/No

Uniquely identifies a userflag within the user-flag table.

ItemizedID1 *

VARIANT

SI

Yes/No

Uniquely identifies an itemizer. Itemized totals for items to be applied against.

ItemizedID2 *

VARIANT

SI

Yes/No

Uniquely identifies an itemizer. Itemized totals for items to be applied against.

ItemizedID3 *

VARIANT

SI

Yes/No

Uniquely identifies an itemizer. Itemized totals for items to be applied against.

ItemizedID4 *

VARIANT

SI

Yes/No

Uniquely identifies an itemizer. Itemized totals for items to be applied against.

GenerateCoupon *

BOOL

A1

Yes/No

Indicates whether or not a coupon will be automatically generated.

WasLocalPriceChanged *

BOOL

A1

Yes/No

Defines whether or not a price change has been made at the store level. The system should check this column before making any automatic price changes.

PromoNumber *

VARIANT

Yes/No

Uniquely identifies the promotion from the promotion table that could affect the price of a PLU item.

PromoPrice *

VARIANT

Yes/No

To add or modify a promo price. This column is automatically updated by promo transactions sent from head office when an item is purchased. Promo get reset by PLU or promo transaction sent from head office.

CollectionFormat

BSTR

No/Yes

Selected fields which clients prefer to put into Collection property.

Collection

BSTR

Yes/No

A string contains those selected fields returned from inquiry method.

LastErrorNumber

VARIANT

Yes/No

The error code returned if there is an error. For known ADO error, the return value is the value returned from ADO function. If it is unknown ADO error, the value is 0x8000FFAAL. If it is TmxApi error, the value is defined as 0x8000FFBBL.

LastError

VARIANT

Yes/No

The message displayed if there is an error. If it is known ADO error, the description is return from ADO Error object. If it is unknown ADO error, the description specifies the method name where the error occurs. If it is TmxApi error, the description is defined with the failure reason starting with TmxApi .

InputRecordsCount

VARIANT

Yes/No

Number of records contained in the update file.

UpdatedRecordsCount

VARIANT

Yes/No

Number of records actually updated.

ActiveConnection

VARIANT

Yes/Yes

The valid connection to the database. This property should be assigned after connecting to the database. Implemented in the future.

RecordsCount

VARIANT

Yes/No

Records number from GetCount method.

MixMatchDescription1

BSTR

Yes/No

Mix match description for mmid1.

MixMatchDescription2

BSTR

Yes/No

Mix match description for mmid1.

MixMatchDescription3

BSTR

Yes/No

Mix match description for mmid1.

MixMatchDescription4

BSTR

Yes/No

Mix match description for mmid1.

* These fields can be retrieved after the inquiry method.

Method

HRESULT Inquiry (BSTR PLU, SkuTypeEnum SkuType)

This method is used to search a record in the PLU table based on item number and item type. After the method is called, those retrievable properties defined in the interface will be assigned to the value found in this record. If client prefers to get a list of selected fields, the format should be defined in CollectionFormat property and retrieved from Collection property. If CollectionFormat is not defined, all retrievable fields will be put into Collection property. Two specific fields, PromoNumber and PromoPrice will be always appended at the end of Collection property. Therefore clients do not need to define these two fields in CollectionFormat.

When there is an error, two properties (LastErrorNumber and LastError) should be used to determine the code of the error and proper description. For LastErrorNumber, there are mainly three categories: known ADO error, unknown ADO error and TmxApi error. For known ADO error, both LastErrorNumber and LastError are returned as the values returned from ADO. For unknown ADO error, the error code is 0x8000FFAAL and the description is based on which function causes the failure. For TmxApi error (such as wrong data type or cannot open the input file), the error code is defined as 0x8000FFBBL and the description is specified as TmxApi error and the reason.

Note Note

For error handling in other TmxApi methods, use the same logic to capture error code and description.

End of the note.
Parameters

BSTR PLU

Item with either PLU number or PLU cross reference number.

SkuTypeEnum SkuType

Define the type of PLU:

InvItemPLU – PLU number,

InvItemCrossReference – cross reference number.

Return

S_OK

If the record is successfully searched.

S_FALSE

If there is an error during the search process.

Method

HRESULT InquiryBatch (VARIANT Department, VARIANT Group, VARIANT Category, BSTR VendorID, BSTR FileName, InventoryTypeEnum InventoryType)

This method is used to search records in the PLU table based on a list of search criteria. Some of these criteria can be empty string for a particular search. After the method is called, the found records with selected fields will be written into the output file with FileName.

If clients prefer to get a list of selected fields, the format should be defined in CollectionFormat property and the found records will be written into the output file. If CollectionFormat is not defined, all retrievable fields will be put into the file. Two specific fields, PromoNumber and PromoPrice will be always appended at the end of the record. Therefore clients do not need to define these two fields in CollectionFormat.

After this method call, MoveFirst and MoveLast can be called and each found record can be retrieved. MoveNext and MovePrevious should be called after MoveFirst and MoveLast because of the position of cursor.

Parameter

VARIANT Department

Use department number as one of search criteria.

VARIANT Group

Group number used as one of search criteria VARIANT Category

BSTR VendorID

Vendor ID used as one of search criteria

BSTR FileName

Output file name used to keep the found records.

InventoryTypeEnum InventoryType

PluInventoryControlled – search for those inventory controlled items;

PluNonInventoryControlled – search for non inventory controlled items;

PluAll – search for all items.

Return

S_OK

If the record is successfully searched.

S_FALSE

If there is an error during the search process.

Method

HRESULT Update (UpdateTypeEnum UpdateType)

Parameters

UpdateTypeEnum UpdateType

PluAdd – Add a PLU record,

PluModify – Modify a PLU record,

PluDelete – Delete a PLU record,

PluModifyExceptRetailPrice – Modify except Retail Price,

PluModifyPrice – Modify price if not changed at store.

PluDeleteAll – Delete existing PLU file & rebuild from transaction.

Return

S_OK

If the record is successfully returned from the database.

S_FALSE

If there is an error during the search process.

This method is used to update a PLU record based on the UpdateType property. Before the method is called, the following properties have to be assigned to a valid or a default value. Clients can use Inquiry method to retrieve the record first and change certain fields. Then call this method. The fields passed to the stored procedure have to be checked to make sure that the value passed to the stored procedure is in the right data type format. If an error happens, the record will not be updated. LastErrorNumber and LastError should be used to capture the proper error when the return value is S_FALSE.

1

BSTR PluNumber

This field is only required to delete a record (M).

2

BSTR OldPluNumber

When changing PLU number. Empty string has to be used as the parameter if the value is not available.

3

VARIANT DepartmentNumber

Unique department number of this PLU. Empty string has to be used as the parameter if the value is not available.

4

BSTR PluDescription

Description for the item. Empty string has to be used as the parameter if the value is not available.

5

VARIANT RetailPrice

Retail price of this PLU item. Default is 0.

6

VARIANT MixMatchID1

Mix match number for this PLU item if mix match pricing is applicable. Default is 0.

7

BOOL Tax1

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table. Y/N or 1/0, default is N.

8

BOOL Tax2

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table. Y/N or 1/0, default is N.

9

BOOL LinkItemFlag

Indicates whether or not an additional item is associated with this product. Y will cause a look up in the link item table for pricing. Y/N or 1/0. Default is N and “N” has to be used in the method call.

10

BOOL AllowDiscount

Indicates if discount is allowed or not. Y/N or 1/0, default is Y.

11

VARIANT CommissionID

Future use. Empty string has to be used as the parameter.

12

BSTR VendorID1

Indicates whether or not the item is associated with a vendor for promotion and reporting purpose. If there is no vendor ID, empty string has to be used as the parameter.

13

BSTR UserFlag1

If there is no user flag, empty string has to be used as the parameter.

14

VARIANT ProcessPromptID

Associated prompt that will be processed for this item. If there is no prompt ID, default 0 has to be used.

15

VARIANT FamilyCode

Used to link a group of products together for UPC coupon purpose. If there is no prompt ID, default 0 has to be used.

16

VARIANT FrequentBuyerCode

Indicates if this item is a part of a frequent buyer program. If there is no such code, default 0 has to be used.

17

BOOL UseDepartmentFlag

Indicates if the item is defined by the item or department settings. Y/ N or 1/0, default is Y.

18

BOOL ScaleItem

Indicates if the quantity is derived by weight and a scale has to be used. Y/N or 1/0, default is N.

19

BOOL AllowReturn

Indicates if the item can be returned. Y/N or 1/0, default is Y.

20

BOOL CouponItem

Indicates if this PLU is a coupon. Default is N.

21

BOOL Tax3

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table. Y/N or 1/0, default is N.

22

BOOL Tax4

Indicates whether or not to apply the tax from the corresponding tax ID in the tax table. Y/N or 1/0, default is N.

23

BOOL ItemizedID1Apply

Uniquely identifies an itemizer. Itemized totals for items to be applied against. Y/N or 1/0, default is N.

24

BOOL Item1Tax1

Y/N or 1/0, default is N

25

BOOL Item1Tax2

Y/N or 1/0, default is N

26

BOOL Item1Tax3

Y/N or 1/0, default is N

27

BOOL Item1Tax4

Y/N or 1/0, default is N

28

VARIANT TareWeightID

Indicate if the tare weight is to be used. Default is 0.

29

BOOL QuantityPricing

Y/N or 1/0, default is N.

30

BOOL HasLevelPrice

Y/N or 1/0, default is N.

31

VARIANT MixMatchID2

Mix match number for this PLU item if mix match pricing is applicable. Default is 0.

32

VARIANT MixMatchID3

Mix match number for this PLU item if mix match pricing is applicable. Default is 0.

33

VARIANT MixMatchID4

Mix match number for this PLU item if mix match pricing is applicable. Default is 0.

34

BOOL ItemizedID2Apply

Uniquely identifies an itemizer. Itemized totals for items to be applied against. Y/N or 1/0, default is N.

35

BOOLItem2Tax1

Y/N or 1/0, default is N

36

BOOL Item2Tax2

Y/N or 1/0, default is N

37

BOOL Item2Tax3

Y/N or 1/0, default is N

38

BOOL Item2Tax4

Y/N or 1/0, default is N

39

BOOL ItemizedID3Apply

Uniquely identifies an itemizer. Itemized totals for items to be applied against. Y/N or 1/0, default is N.

40

BOOL Item3Tax1

Y/N or 1/0, default is N

41

BOOL Item3Tax2

Y/N or 1/0, default is N

42

BOOL Item3Tax3

Y/N or 1/0, default is N

43

BOOL Item3Tax4

Y/N or 1/0, default is N

44

BOOL ItemizedID4Apply

Uniquely identifies an itemizer. Itemized totals for items to be applied against. Y/N or 1/0, default is N.

45

BOOL Item4Tax1

Y/N or 1/0, default is N

46

BOOL Item4Tax2

Y/N or 1/0, default is N

47

BOOL Item4Tax3

Y/N or 1/0, default is N

48

BOOL Item4Tax4

Y/N or 1/0, default is N

49

BOOL VerifyPLU

Y/N or 1/0, default is N

50

BSTR QuantityDescription

A description of the quantity type that will be printed on a receipt when the item is purchased in bulk. Empty string has to be used if there is no description.

51

VARIANT QuantityLimitID

Indicate whether or not there is a limit to the quantity that can be purchased in one sale of this item. Default is 0.

52

VARIANT PackageSize

Defines the size of the package for a packaged item. Default is 0.

53.

BOOL AllowEmployeeDiscount

Indicate if the employee discount is allowed for this item. Y/N or 1/ 0, default is Y

54

VARIANT SuggestedRetailPrice

An amount for the suggested retail price of an item that will be printed on the receipt. If this field is not changed, default 0 is used.

55

BSTR UserFlag2

Future use. Empty string should be sent if there is no valid user flag.

56

BSTR UserFlag3

Future use. Empty string should be sent if there is no valid user flag.

57

BSTR UserFlag4

Future use. Empty string should be sent if there is no valid user flag.

58

BSTR UserFlag5

Future use. Empty string should be sent if there is no valid user flag.

59

BSTR UserFlag6

Future use. Empty string should be sent if there is no valid user flag.

60

VARIANT GeneratedCouponID

Indicates whether or not a coupon will be automatically generated. Default is 0.

61

VARIANT AutoDiscountID

Default is 0.

62

BOOL QuantityRequired

Indicate whether or not quantity must be entered during item entry. Y/N or 1/0, default is Y.

63

VARIANT SellQuantity

Indicate the item has to be sold at a predefined quantity. Contains the quantity the item must be sold at. Default is 0.

64

BOOL AllowLayaways

Determines whether or not the item is allowed in a layaway sale. Y/N or 1/0, default is Y.

65

BOOL MatchMFGCode

Defines whether the system will match manufacturer’s code in the UPC number system 5 coupon label. Y/N or 1/0, default is N.

66

BOOL Tax5

Y/N or 1/0, default is N

67

BOOL Tax6

Y/N or 1/0, default is N

68

BOOL Tax7

Y/N or 1/0, default is N

69

BOOL Tax8

Y/N or 1/0, default is N

70

BOOL Tax9

Y/N or 1/0, default is N

71

BOOL Tax10

Y/N or 1/0, default is N

72

BOOL Tax11

Y/N or 1/0, default is N

73

BOOL Tax12

Y/N or 1/0, default is N

74

BOOL Tax13

Y/N or 1/0, default is N

75

BOOL Tax14

Y/N or 1/0, default is N

76

BOOL Tax15

Y/N or 1/0, default is N

77

BOOL Tax16

Y/N or 1/0, default is N

78

VARIANT Cost

Maintains the cost of an item. This value is what it costs the store to purchase this item or items, including transportation etc. Default is 0.

79

VARIANT CompetingPrice1

A competitor’s price for the same item. If not available, 0 has to be used.

80

VARIANT CompetingPrice2

A competitor’s price for the same item. If not available, 0 has to be used.

81

BSTR VendorID2

Uniquely identifies a vendor in the vendor table. Also used to indicate whether or not the item is associated with a vendor for promotion and reporting purpose. Empty string has to be used if it is not available.

82

BSTR VendorID3

Uniquely identifies a vendor in the vendor table. Also used to indicate whether or not the item is associated with a vendor for promotion and reporting purpose. Empty string has to be used if it is not available.

83

VARIANT StickerLabelNumber

Default is 0

84

VARIANT ShelfLabelNumber

Default is 0

85

BOOL InventoryGroupID

Indicates whether or not the item is inventory controlled or not. Default is N.

86

VARIANT SupplemetalLengthID

1-20, default is 0

87

VARIANT LoyaltyID1

1-20, default is 0

88

VARIANT LoyaltyID2

1-20, default is 0

89

VARIANT LoyaltyID3

1-20, default is 0

90

VARIANT LoyaltyID4

1-20, default is 0

91

BSTR OrderingNumber

Default is empty string.

Method

HRESULT UpdateBatch (BSTR FileName)

This method is used to update PLU records based on the UpdateType. Related fields should be defined in the input file (FileName).

If an error happens either because of the wrong record format or other reasons, the record will not be updated and the record information is written into a log file (with the same file name as input, but with .log as the file extension). The updating process will continue for the other records until all records are completed. There are two properties can be used to determine if there is any record, which is not updated properly:

  • InputRecordsCount: how many records in the input file

  • UpdatedRecordsCount: how many records updated during the update process

Clients can compare these two properties and find out if there is any error during updating process. If there is, check the log file and update those records again. LastErrorNumber and LastError should be used to capture the error.

Parameters

BSTR FileName

The full name of the file which contains the records for update in the format of plutxn.asc.

Return

S_OK

If the record is successfully updated in the database.

S_FALSE

If there is an error during the update process

Method

HRESULT GetCount (VARIANT Department, VARIANT Group, VARIANT Category, BSTR VendorID, InventoryTypeEnum InventoryType)

This method is used to get the number of records found based on search criteria. This is only used if the client wants to get counts for the PLU batch inquiry.

The two properties LastErrorNumber and LastError should be used to capture proper error code and description.

Parameters

VARIANT Department

Use department number as one of search criteria

VARIANT Group

Group number used as one of search criteria.

VARIANT Category

Category used as one of search criteria.

BSTR VendorID

Vendor ID used as one of search criteria.

InventoryTypeEnum InventoryType

PluInventoryControlled – search for those inventory controlled items

PluNonInventoryControlled – search for non inventory controlled items

PluAll – search for all items

Return

S_OK

If the record is successfully searched.

S_FALSE

If there is an error during the search process.

Method

HRESULT MoveFirst ( )

This method is used to get the first record found in the recordset based on search criteria. It should be used after calling method InquiryBatch. This is only used if the client wants to get a record for the PLU batch inquiry.

The two properties LastErrorNumber and LastError should be used to capture proper error code and description.

Parameters

No parameters are required for this method.

Return

S_OK

If the record is successfully searched.

S_FALSE

If there is an error during the search process.

Method

HRESULT MoveLast ( )

This method is used to get the last record found in the recordset based on search criteria. It should be used after calling method InquiryBatch. This is only used if the client wants to get a record for the PLU batch inquiry.

The two properties LastErrorNumber and LastError should be used to capture proper error code and description.

Parameters

No parameters are required for this method.

Return

S_OK

If the record is successfully searched.

S_FALSE

If there is an error during the search process.

Method

HRESULT MoveNext ( )

This method is used to get the next record found in the recordset based on search criteria. It should be used after calling method InquiryBatch and MoveFirst at least one time. This is only used if the client wants to get a record for the PLU batch inquiry. If the record is already the end of recordset, no record is found and the recordset will be closed. An error will occur if try to call this function after the recordset is closed.

The two properties LastErrorNumber and LastError should be used to capture proper error code and description.

Parameters

No parameters are required for this method.

Return

S_OK

If the record is successfully searched.

S_FALSE

If there is an error during the search process.

Method

HRESULT MovePrevious ( )

This method is used to get the previous record found in the recordset based on search criteria. It should be used after calling method InquiryBatch. This is only used if the client wants to get a record for the PLU batch inquiry. If the previous record is the first record already, no record will be found and the recordset is closed. An error will occur if the method is called again after the recordset is closed.

The two properties LastErrorNumber and LastError should be used to capture proper error code and description.

Parameters

No parameters are required for this method.

Return

S_OK

If the record is successfully searched.

S_FALSE

If there is an error during the search process.