GetItemMasterPriceInfo
Get Item Master Price Info
Minor Business Rule
Object Name:	B4100205
Parent DLL:	COPBASE
Location:	Client/Server
Language:	C
Functional Description
Purpose
Retrieve the following price related information from the Item Master Table (F4101):
 PRGR - Item Price Group
 RPRC - Basket Reprice Group
 ORPR - Order Reprice Group
 PLEV - Sales Price Level
 PPLV - Purchasing Price Level
 CLEV - Cost LevelChange 05/95
 PRPO - Grade/Potency Pricing
 PMTH - Kit Pricing Method
Prior to calling this function, you should use the business function, VerifyAndGetItemMaster 
(X4101.C), to fetch the record from the table.  Pass the pointer (Genlong) returned from X4101 to this 
function.  This function will use the pointer to retrieve the information in the Item Master record.  Be sure 
to free the memory allocated to the pointer using the business function - FreePtrToDataStructure.
To Programmer:  Please use the business function, GetItemUnitsOfMeasure (B4000670.c) as a reference 
on how to retrieve table columns using a passed pointer.
Setup Notes and Prerequisites
None
Special Logic
None
Technical Specification
Edits:
1) If the value in F4101FilePointer is NULL, set idReturnCode to CONTINUE_GBR and exit function.
Retrievals:
1) Load the output parameters with the values in the Item Master record.
Returns:
1) Item Price GroupPRGR
2) Basket Reprice GroupRPRC
3) Order Reprice GroupORPR
4) Sales Price LevelPLEV
5) Purchasing Price LevelPPLV
5a). Cost LevelCLEVChange 05/95
6) Grade/Potency PricingPRPO
7) Kit Pricing MethodPMTH
8) Set idReturnCode to CONTINUE_GBR before exiting the function.
Change 05/95
Add the column CLEV to the output of the data structure for ER.  The value is taken from the item 
master data structure (field IMCLEV) and passed back to ER.
Data Structure
D4100205 - Get Item Master Price Info
Parameters:
Data Item Data Structure DescriptionI/ORequired
PRGRItemPriceGroup
RPRCBasketRepriceGroup
ORPROrderRepriceGroup
PLEVSalesPriceLevel
PPLVPurchasingPriceLevel
PRPOGradePotencyPricing
PMTHKitPricingMethod
GENLNGidF4101RowPointer
CLEVcCostLevel
^
 
| Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both | 
| szItemPriceGroup | PRGR | char | NONE | NONE | 
A user defined code (system 40/type PI) that identifies an inventory price group for an item.
Inventory price groups have unique pricing 
 structures that direct the system to incorporate discounts or markups on items on sales and purchase orders. The discounts or markups are 
 based on the quantity, dollar amount, or weight of the item ordered. When you assign a price group to an item, the item takes on the same pricing 
 structure defined for the inventory price group.
You must assign an inventory price group to the supplier or customer, as well as to the item, for 
 the system to interactively calculate discounts and markups on sales orders and purchase orders.  | 
| szBasketRepriceGroup | RPRC | char | NONE | NONE | 
You can assign items with common repricing characteristics to a reprice category on Item Branch/Plant Revisions. You can define different 
 categories based on location. Repricing is a technique that the system uses to:
    o Accumulate items on order that belong to a common 
 repricing category during a batch program
    o Compare the aggregate quantities of items on order to the appropriate quantity breaks in the 
 reprice category 
If the items qualify for an additional discount, that discount is reflected as a change in unit and extended price for each 
 qualifying item in the original order line.  | 
| szOrderRepriceGroup | ORPR | char | NONE | NONE | 
Items with common order repricing characteristics are assigned to an order reprice category on the Item Master Revisions screen. 
 Categories can be varied at the Location level (fold area). Order repricing is a technique in which items within an order that belong to the same 
 repricing category are accumulated during a batch program and their aggregate quantities are compared to the appropriate quantity "breaks" in 
 the reprice category. Typical quantity breaks in this situation might be the total weight or the total dollar value of the order as whole. If the 
 items qualify for additional discount, that discount is reflected as a flat dollar amount in a new discount line. This facility supplements the repricing 
 function and operates in the same batch program.  | 
| cSalesPriceLevel | PLEV | char | NONE | NONE | 
A code that indicates whether the system maintains standard sales prices for an item, different sales prices for each branch/plant, or 
 different sales prices for each location and lot within a branch/plant. The system maintains sales prices in the Base Price file (F4106). Valid codes 
 are:
   1   Item level
   2   Item/Branch level
   3   Item/Branch/Location level   | 
| cPurchasingPriceLevel | PPLV | char | NONE | NONE | 
A code that indicates where to retrieve the purchase price for an item when you enter a purchase order. Valid codes are:
   1   Use the 
 supplier/item price from the Purchase Price table (F41061).
   2   Use the supplier/item/branch price from the Purchase Price table (F41061).
   3   Use 
 the inventory cost from the Inventory Cost table (F4105). This cost is based on the inventory cost level and the purchasing cost method you 
 specify for the item.
The first two codes are applicable only if you set up supplier costs in the Procurement system. If you do not set up 
 supplier costs, the system uses the inventory cost as the default for the purchase order.  | 
| cGradePotencyPricing | PRPO | char | NONE | NONE | 
A user defined code (41/05) that groups several items that contain the same requirements for the Stock Valuation system. Valuation 
 methods are set up by item or pool. The items assigned to the pool use the pool's designated valuation methods for extracting and valuing the 
 inventory.
Enter a valid user defined code (41/05) if you want this item to be valued within a pool rather than as an individual item.  | 
| cKitPricingMethod | PMTH | char | NONE | NONE | 
A code that determines how the system calculates the price for kit items or configured items. Valid values are:
Blank
Use for items that are 
 neither kit items nor configured items.
1
The system accumulates the base prices of components with the configured price adjustments, and 
 then discounts the total.
2
The system accumulates the base price of the parent item with the configured price adjustments, and then discounts 
 the total.
3
The system accumulates the configured price adjustments, and then discounts the total.
4
The system accumulates the individually 
 discounted price of the components with the configured price adjustments.
Note: Configured price adjustments are only included in the 
 calculation for a configured item. Also, the system only discounts costs if you are using the Advanced Pricing system. 
The following is an example of 
 how the system uses the various methods:
 
Parent Item: 125
Component A: 50
Component B: 100
Configured Cost Adjustment 1: 15
Configured 
 Cost Adjustment 2: 10
Advanced Price Discount: 10%
Methods:
1: 50 + 100 = 150 + 15 + 10 = 175 - 17.50 = 157.5
2: 125 + 15 + 10 = 150 - 15 = 135
3: 
 15 + 10 + 25 - 2.5 = 22.5
4: (50 - 5) + (100 - 10) = 135 + 15 + 10 = 160
  | 
| idF4101RowPointer | GENLNG | ID | NONE | NONE | 
General purpose ID variable.  | 
| cCostLevel | CLEV | char | NONE | NONE | 
A code that indicates whether the system maintains one overall inventory cost for the item, a different cost for each branch/plant, or a 
 different cost for each location and lot within a branch/plant. The system maintains inventory costs in the Inventory Cost table (F4105).
Valid codes 
 are:
   1   Item level
   2   Item/Branch level
   3   Item/Branch/Location level  |