Functional Description
Purpose
The purpose of this function is to perform all caching functionality for the Component Variance Cache.  The Component Variance Cache is used by the 
WIP Revaluation program to store the frozen costs used to revalue configured work orders during UBE processing.  
Setup Notes and Prerequisites
The ComponentVarianceCache function must be called with cMode = 0 in order to create an instance of the cache before any other caching 
functionality can be performed.  In addition, the cache must be called with cMode = 4 after all desired caching functionality has been performed in order to terminate 
the cache.
Business Function Paramenters:
1.  cMode - Indicates the desired processing.  
      Valid modes include:
 0 = Create an instance of the cache
 1 = Add a record to cache
 2 = Read a record from cache
 3 = Delete a record from cache
 5 = Terminate the cache
2.  szCacheJobNumber - A unique job number that can be combined with business function object name to create a unique cache name.
3.  cSuppressErrorMessage - A value of '1' indicates that errors encountered during processing should not be set in the message center.
4.  szErrorMessage - The error messge ID returned from the business function when an error occurs.  This message is returned regardless of the 
value of the      cSuppressErrorMessage parameter.
5.   idhCursor - A cursor pointing to a particular record in the cache.  The cursor is passed back from the function when the cReturnPointer 
parameter is set to '1' and should            be passed into the function for a sequential read of the cache.
6.  mnShortItemNumber - A member of the cache and part of the cache key.
7.  szBranch - A member of the cache and part of the cache key.
8.  szLocation - A member of the cache.        
9.  szLot - A member of the cache.       
10.  mnNumberKeys - Indicates the number of keys to be used when fetching from the cache.
11.  cReturnPointer - A value of '1' indicates that a pointer to the cache should be returned when a successful cache read has occured.
12.  szLedgerType - A member of the cache.     
13.  mnCurrentVariance - A member of the cache.
14.  mnPlannedVariance - A member of the cache.
15.  mnActualVariance - A member of the cache.
16.  mnScrappedVariance - A member of the cache.
Technical Specifications
Cache Structure:
 mnShortItemNumber                   
 szBranch                        
  szLocation                      
  szLot        
  szLedgType
  mnCurrentVariance                   
  mnPlannedVariance                   
  mnActualVariance                    
  mnScrappedVariance 
Cache Key:
 mnShortItemNumber                   
 szBranch                        
  szLocation                     
  szLot 
  szLedgType
D3104090 - Component Variance Cache - Data Structure
| Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both | 
|---|---|---|---|---|
| cMode | EV01 | char | OPT | INPUT | 
An option that specifies the type of processing for an event.  | ||||
| szCacheJobNumber | JOBN | char | OPT | INPUT | 
The code that identifies the work station ID that executed a particular job.  | ||||
| cSuppressErrorMessage | EV01 | char | OPT | INPUT | 
An option that specifies the type of processing for an event.  | ||||
| szErrorMessage | DTAI | char | OPT | OUTPUT | 
A code that identifies and defines a unit of information. It is an alphanumeric code up to 8 characters long that does not allow blanks or 
  | ||||
| idhCursor | GENLNG | ID | OPT | BOTH | 
General purpose ID variable.  | ||||
| mnShortItemNumber | ITM | MATH_NUMERIC | OPT | NONE | 
An inventory item number. The system provides three separate item numbers plus an extensive cross-reference capability to other item 
  | ||||
| szBranch | MMCU | char | OPT | NONE | 
A code that represents a high-level business unit. Use this code to refer to a branch or plant that might have departments or jobs, which 
  | ||||
| szLocation | LOCN | char | OPT | NONE | 
The storage location from which goods will be moved.  | ||||
| szLot | LOTN | char | OPT | NONE | 
A number that identifies a lot or a serial number. A lot is a group of items with similar characteristics.  | ||||
| mnNumberKeys | NKEYS | MATH_NUMERIC | OPT | INPUT | 
The number of keys in an index that will be used to retrieve, delete, or update a record.  | ||||
| cReturnPointer | EV01 | char | OPT | INPUT | 
An option that specifies the type of processing for an event.  | ||||
| szLedgType | LEDG | char | OPT | NONE | 
A user defined code (40/CM) that specifies the basis for calculating item costs. Cost methods 01 through 19 are reserved for J.D. Edwards 
  | ||||
| mnCurrentVariance | MN29D9 | MATH_NUMERIC | OPT | NONE | 
This is a generic field used as a work field in Everest.  | ||||
| mnPlannedVariance | MN29D9 | MATH_NUMERIC | OPT | NONE | 
This is a generic field used as a work field in Everest.  | ||||
| mnActualVariance | MN29D9 | MATH_NUMERIC | OPT | NONE | 
This is a generic field used as a work field in Everest.  | ||||
| mnScrappedVariance | MN29D9 | MATH_NUMERIC | OPT | NONE | 
This is a generic field used as a work field in Everest.  | ||||
| None | 
| None |