DAC's Native Interface for PDI/RMS:

Last updated 8/1/2006

    This document describes the native interface support that is available between the DAC/CIM and the PDI/RMS systems.

1.) Supported PDI/RMS specifications:

The following PDI/RMS transaction formats are supported to version 5.0.5. *

Outbound Merchandise Invoice - Known as a "Sales Order" in DAC.  Sent automatically upon posting of an order in the DAC Billing system. Record types 1200 and 1202 are fully supported.  Used in PDI system as an invoice.

Outbound Pricebook - The following pricebook-related data formats are supported:

Inbound Store Order - DAC includes a Windows-based application called PDICvt.exe to convert an inbound order from a store using the PDI system.  A file containing the store's order, formatted using McLane Order Format, is placed in the local file system and this software will detect and convert it into a DAC-compatible Requested Sales Order.   

* Installation of the latest DAC software is assumed.  Click here to see version 5.0.5 PDI/RMS specifications.

2.) DAC Data Considerations:

    PDI/RMS-based systems (hereafter referred to as simply PDI) are very exacting when it comes to the way in which data is presented to them.  Data in the DAC system must exhibit a reasonable level of conformity when being presented to PDI.  To ensure an efficient and effective electronic data interface, assess your existing data with consideration of the following:

UPC codes - UPC codes are pulled directly from the four UPCs of the Item record- not the UPC Scan Code Master. PDI requires that you only use expanded UPC codes and include the check digit. If the leading digit is NOT zero, you should also include it. Most of your UPC codes will need to be 12 digits in length. Often, items in DAC will have compressed UPCs or no UPCs at all. UPCs are critical to PDI. They must be uniform and complete.     

Multi-Sell-Unit Items - PDI expects to receive two different versions of item information. The first version (7501) is used to describe items that they only sell in a single unit. The second version (7550/7555) is used to describe items they sell in multiple units (such as cigarettes). Items that belong to the sensitive category (also known as cigarette category) are automatically treated as multi-sell.  (See DAC system options documentation for more information on defining your cigarette category).  For all other items, DAC depends on the Retail Contract system to indicate which items a retailer may potentially sell in more than one unit. It also depends on Customer-Item data to determine which unit of a multiple-sell-unit item they normally purchase from you in (In other words, your customer's normal buying unit). Here is how to set this up in DAC.

How to indicate an item is a multi-sell-unit item for a particular customer:

Setup a retail contract for that customer. Cause the retail contract to have either of the following two characteristics:

1.) The fields "Retailers Selling Unit" and "Invoice Print Unit" (located near the bottom of the screen of the Retail Contract edit) have different values.  If the system observes that these two fields refer to more than one unit of measure, it assumes the product is multi-sell-unit for the customer.

2.) Have a retail designation on more than one unit.  Each retail contract can define a separate margin for each unit of measure.  If more than one unit has a designation, the product is considered to be multi-sell for the customer.

Note: If an item is defined as a cigarette item, it is automatically always considered to be a multi-sell unit item.


How the system determines what unit the customer buys and sells in:

Customer's Buying Unit

To indicate which unit in a multiple-sell-unit item is considered the customer's "Normal Buying Unit", you may need to run a utility program.  This utility will update the "Normal Buying Unit" field in the customer-item database.  To do this, at a command line, type GO BFM2DAC and press enter. Take option 4 from the menu. Enter a combination of customer scope and item scope and set the Normal Buying Unit field to the appropriate value. Press F10 to update.

If Normal Buying Unit is not defined using the above mentioned utility, the system will assume the buying unit is level 2.  If level 2 is not defined as a valid unit of measure for the item, the system will then assume level 1.  Because this will probably be correct for the majority of items, it may not be necessary to run the above mentioned utility.

Customer's Selling Unit

The customer's selling unit is defined in the retail contract system. The field is called "Retailers Selling Unit" and is located near the bottom of the Retail Contract Edit screen.  If no retail contract is found, the Customer's Selling Unit is automatically assumed to be 1.

 

It is important that the DAC system be able to discern between which products your PDI-based customer sells in multiple units and those which they only sell in a single unit.  This is particularly important to PDI for cigarettes.  Since DAC automatically treats any item in the sensitive category as multi-sell, there is no need to perform any special configuration for cigarette items.  Other items must be specifically configured to indicate multi-sell.  Use the retail contract system to accomplish this.  For products they don't sell in multiple units, they should either have no retail contract, or have one that does not have the characteristics as those mentioned above.

 

Retail Pack Descriptions - PDI expects your retail pack description to be specified and relevant to the product.

Pricebook Considerations - In DAC, the price that a single customer pays for a single item is not a static entity. Rather, the price is always calculated "on-the-fly" based on contracts, deals, system settings, etc.  PDI has the capacity to accept a unique price for every customer/item combination.  They will NOT, however, accept this.  In order to reduce the amount of pricing data that is sent to PDI through the CIM system, follow this procedure; Choose a single "representative" customer from the PDI chain.  This single customer will be used to represent the pricebook for the entire chain.  (This is often the first customer in the chain.)  Each time a new product is created in DAC and it is one that you wish to have the CIM system send to PDI, you must add the item to this customer's authorized item list. To do this, at a command line type GO BFM2DAC and press enter. Take option 4 from the menu.

Additional Considerations - Certain miscellaneous rules are implemented based on the dynamics of the PDI configuration and the data being sent as follows:

  • If the Retail Pack Description of an item is "DISPLAY", CIM will not dispatch 7521 Retail Price records for the item under any circumstances.
  • When a price change occurs and a 7511 (Vendor Cost) record is dispatched, corresponding 7521 (Retail price) records will automatically accompany the 7511 records-- even if no change has occurred to the retail prices.

Price Holds - DAC supports the use of price holds for PDI pricebook information.  If a DAC customer has a value in the "Price Hold Days" field of the customer record at the time a price change is made, CIM will add this number of days to the current date to arrive at a future "Effective Date" for PDI.  When the PDI system imports the pricebook data, price changes will become effective on this "Effective Date".

Note: A future effective date will be calculated this way regardless of how the price change occurs.  For example, a price change may be done through DAC's "Global Price Change" system, or, as a result of a change being made to pricing contracts.  Either way, the PDI customer will still have a future "Effective Date" calculated. The difference is that DAC only supports price holds for changes made through the "Global Price Change" system.  Therefore, any PDI customer using price holds must have adjustments made to their pricing through the exclusive use of the "Global Price Change" system.

Price Change Post Date Days - An arbitrary number of days may be added to the "Effective Date" for pricebook data.  This is useful when there is a known lead-time between when DAC generates PDI data, and when the PDI system actually imports it.  This value will be added on top of any "Price Hold" days.  The value can be set for each customer in the chain.  This feature can be used even if price holds are not being used for the customer.  The field is available on the Edit PDI Account Details screen.

PDI "Cost Zones"  -  PDI expects to receive their costs in three distinct, hierarchical groupings.  These groupings are automatically determined by CIM based on your DAC billing system configuration.  The groupings are:

1.) Standard Cost - This is the default price for an item that any store within the corporate structure will pay unless specifically overridden.  In DAC, this is determined by retrieving the price of an item for the representative PDI customer while ignoring any pricing contracts and tax stamps.  There is one exception to this rule:  If a billing matrix pricing contract exists for a billing matrix which is defined as the "Standard" for the chain, then the contract will be used as the standard cost.  Use the PDI configuration guide (discussed later) to define a chain's standard PDI billing matrix and tax jurisdiction.

 2.) Cost Zone Cost - This is the price that a group of PDI stores will pay for an item.  To determine what costs zones (if any) may be derived from DAC, CIM will retrieve the prices of an item using each customer in the chain that belong to unique Alternate Price, Tax Jurisdiction, and Billing Matrix combinations.  Each unique combination is considered a "Zone".  It will then render prices for the item using only alternate prices, billing matrix pricing contracts, and tax stamps that would apply to each zone.  They are then transmitted to PDI as Zone Costs.  There is one exception to this rule:  If a unique Alternate Price, Tax Jurisdiction, and Billing Matrix combination matches what is defined as the "Standard" for the chain, then the combination is not considered a potential zone.  Rather, it would be sent as a standard cost.  In the PDI 7511 data format, their field "Zone/Org Number" (Field #7) is sent in the following format:

        Literal "AP" + Alternate Price Code + "BM" + Billing Matrix + Literal "TJ" + Tax Jurisdiction.  

For example, a customer with Alternate Price code of "1", a DAC Billing Matrix of 25, and a Tax Jurisdiction of AL001 would result in a PDI "Zone/Org Number" as follows:

        "AP1BM00025TJAL001"

        Note: If Alternate Pricing is not defined, the "AP" portion of the zone will be supressed.  The "BM" and "TJ" components are not suppressed in this way. For example, if Alternate Price was not defined in the example above, the zone would be "BM00025TJAL001"

3.) Location Override Cost - This occurs only when a customer-specific pricing contract is detected.  If found, a Location Override Cost will be written for each store in the chain having a customer-specific contract.

PDI Retails -   There are two types of retail prices that are sent to PDI.  The first is based on the cost zone.  For every 7511 cost-zone price that is sent, a retail price that is derived from that same cost-zone price is also sent.  Additionally, any customer-specific retail contracts that exist are sent as Location Override retails.  The Organization Level and Organization Number (fields 5 & 6) of the 7521 format are used to further indicate the scope, and are formatted as follows:

For Cost-Zone retails:

Organization Level:    Literal "APBMTJRM"

Organization Number:    Literal "AP" + Alternate Price + "BM" + Billing Matrix + Literal "TJ" + Tax Jurisdiction + Literal "RM" + Retail Matrix.

        Note: If Alternate Pricing is not defined, the "AP" portion of the Organization Level will be supressed.  The "BM" and "TJ" components are not suppressed in this way. For example, if Alternate Price was not defined in the example above, the Organization Level would be "BMTJAL"

For Customer-Specific Retails:

Organization Level:    Literal "3"

Organization Number:    DAC Customer#

Promotions - DAC supports the PDI Promotions (7530/7531) specifications.  This applies both to DAC Selling Allowances and Vendor Deals.  However, there are some limitations; For Selling Allowances, DAC only supports Cents-Off or List-Less types.  For Vendor Deals, only Vendor Rebate or Buy Down types are supported. Any other type, including Super Item Selling Allowances, will not be transmitted as a 7530/7531.  This does not mean that a PDI customer is prohibited from utilizing Super Item promotions-- however, some special configuration is required for that promotion type.

    The following are recommendations on how to setup various promotions to ensure PDI compatibility:

Note: Super Items definitions do not transmit to PDI as 7530/7531 records.  This is because DAC's Super Item is incompatible with PDI's promotion specification. You may still define Super Items in DAC and allow PDI customers to order them.  However, to achieve the proper discount and have the definition of the promotion transmitted properly as 7530/7531, you must adhere to the following special procedure:

1.) Setup the master item and each component item in DAC as proper items.  Do not setup any special contract pricing for the master item.

2.) Setup the Super Item using the "Work with Allowances" screen from the Billing File Maintenance menu.  Completely define the master item and the component items.  Use option "D" or "R" for the Price Control field.  At this point, the Super Item price will be list price. 

3.) Authorize the PDI customer to the master item and the component items.

4.) To achieve the proper discount, setup a Vendor Deal with the desired discount amount for the master item.  Define the component items within the Vendor Deal.  The Vendor Deal will be sent to PDI electronically.  At this point, you will have a Vendor Deal which is a mirror-image of the Super Item setup in step 2.  NOTE:  You must key a dollar value in the Vendor Deal header. Otherwise, CIM will not send the vendor deal as a PDI promotion.  The deal detail does not have to conform to the header value, but the header value cannot be zero.

Using the above technique, the PDI customer can order the Super Item and have it flow through the DAC system as normal. At the same time, the Vendor Deal will achieve the proper discount as well as provide the PDI customer with an electronic image of the promotion.

 

3.) CIM Configuration:

Automatic configuration:

The CIM system includes a configuration guide to assist in setting up PDI customers.  To use this feature, take option 9 from the Interfaces menu, and then option 2.  Press F8 to add a new PDI customer, and follow the on-screen instructions. 

 

4.) CIM Data Generation: *

    You may use the CIM system to manually generate data for your PDI customer.  To do this, take option 20 from the Interface menu, and then take option 1,  "Item Dispatch".  Enter the proper fields using the following example.  Be sure to specify a "Y" only for General Item Data and Customer-Specific Item Data. 

 

			   Prompt for Item Dispatch                            
                                                                               
                                                                               
                                                                               
Target Customer  .       73 PDI CUSTOMER                                       
Target Employee  .                                                             
Target Super Target                                                            
                                                                               
General Item Data?  . . . .   Y (Y/N)   On-Hand Balance Data? N (Y/N)          
Warehouse Specific Item Data? N (Y/N)                                          
Customer-Specific Item Data?  Y (Y/N)                                          
                                                                               
Limit to Sales Class                                                           
Limit to Category  .                                                           
                                                                               
Limit to items that are associated with the target? . . . Y (Y/N)              
                                                                               
Dispatch using normal CIM Channel? N (Y/N)                                     
Folder mailbox/out/static                                                      
Folder Document pdi.dat                                                        
                                                                               
F3=Exit  F4=Search  F5=Reset  F6=Process  F7=Save  F8=Select Saved             
                                                                               

   * Some knowledge of utilizing CIM is assumed. (See the standard DAC documentation for more information).