Functional Description
Purpose
The purpose of this function is to store all the confirmed job competencies at an organizational
level.
Setup Notes and Prerequisites
Records can be Read, Added, Deleted, or Updated to the cache, depending on Cache Action Code, CACTN,
passed in. The following is a list of the modes used to select cache processing options:
Input
Processing TypeType
============
Cache Get 1
Cache Add 2
Cache Update 3
Cache Delete 4
Cache Delete All 5
Cache Get Next 6
Cache Add/Update 7 (Do Not Use)
Cache End 8
Cache Close Cursor 9
Return errors through Error Message ID, DTAI.
The cache Key is as follows:
mnJobnumberA_Key_1 (from GetInternalNextNumber B0000564)
szOptionNumber_Key_3
mnRuleNumber_Key_4
jdDateBeginningEffective_Key_5
jdDateEndingEffective_Key_6
mnCurrentLevelUniqueID_Key_7
between a full or a partial fetch. mnJobnumberA_Key_1 must always be part of the key.
The Cache Cursor, GENLNG must be past to and from the BSFN.
When adding a record always attempt to Get the record first. If no error is returned then the record
already exists and it cannot be added.
Special Logic
Technical Specifications
Initialize the Cache
Call internal function I0800154_InitCache
If no error initializing cache then Process Action code
If iCacheActionCode past in = 1 (Get) then call internal function
I0800154_CacheAdd.
If iCacheActionCode past in = 3 (Update) then call internal function
I0800154_CacheDeleteAll.
If iCacheActionCode past in = 6 (Get Next) then call internal functionI0800154_CacheGetNext.
If iCacheActionCode past in = 7 (Add Update) then call internal function
I0800154_CacheAddUpdate.
If iCacheActionCode past in = 8 (End) then call JDE function
JdeCacheTerminateAll.
If iCacheActionCode past in = 9 (Close Cursor) then call internal
Return value of saved fields after cache processing is completed
szErrorMessageID = szErrorID
mnNumberKeys = mnNumberKeys);
Function Clean Up
Internal functions
Function: I0800154_InitCache
If there is an error szErrorID = ERR_INIT_CACHE
Function: I0800154_CacheGet
Open the Cursor if error then szErrorID = "ERR_OPEN_CURSOR"
If no error Reset Cursor
If iNumberOfKeys = '0' then Fetch the first record
Else fetch the record matching the keys
If there is an error with the fetch then szErrorID = ERR_FETCH_RECORD
if the Cursor does not = NULL then close the cursor
Function: I0800154_CacheAdd
Add the record the size of DSD0800154
If Add fails then szErrorID = ERR_ADD_RECORD
Function: I0800154_CacheUpdate
Fetch the record, if record is found Update the record
If there is an error then szErrorID = ERR_UPDATE_RECORD
Close the Cursor
Function: I0800154_CacheDelete
If Number Of Keys = 0 Then call internal function I0800154_CacheDeleteAll
else
Initialize the cursor
Fetch the record
If fetch is successful then delete the record
If there is an error deleting then szErrorID = ERR_DELETE_RECORD
If there is an error fetching then szErrorID = ERR_FETCH_RECORD
Close the cursor
Function: I0800154_CacheDeleteAll
Open the Cursor
Delete all records
If there is an error on delete then szErrorID = ERR_DELETE_RECORD
Close Cursor
Function: I0800154_CacheGetNext
Notes:Assumption is made this function will be performed until the
Cache Index is no longer equal to the input index. If this function is prematurely ended, the cursor
will have to be closed using function I0800154_CloseCursor, or memory leaks will result from the
cursor being left open.
Set the cache with the number or keys = mnNumberKeys
Set cursor for either initial fetch or subsequent fetches
If idCacheCursor = 0L then this is a subsequent search
Open Cursor
Fetch the Next record
If idCacheCursor <> 0L fetch the first record
If the fetch was successful
If the keys do not match then szErrorID = ERR_FETCH_RECORD
set idCacheCursor = 0L
Function: I0800154_CacheAddUpdate
DO NOT USE THIS FUNCTION
Function: I0800154_CloseCursor
Function: I0800154_ChangedKey
Test to see if the key matches the key in cache
If it has changed then bChangedKey = True
Else
bChangedKey = FALSE;
End of Internal functions
D0800154 - Cache Job Competencies For All Organizational Levels
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both |
---|---|---|---|---|
mnJobnumberA_Key_1 | JOBS | MATH_NUMERIC | REQ | BOTH |
The job number (work station ID) which executed the particular job. | ||||
szJobCompetencyCode_Key_2 | JCC | char | OPT | NONE |
A code that uniquely identifies each job competency. Competencies are high-level human attributes that help an employee achieve the
| ||||
mnRuleNumber_Key_4 | RULEN | MATH_NUMERIC | OPT | NONE |
Rule Number designates the order in which Employee Competencies will appear within a job competency option. | ||||
jdDateBeginningEffective_Key_5 | EFTB | JDEDATE | OPT | NONE |
The date that an address, item, transaction, or table record becomes active. The meaning of this field differs, depending on the program.
| ||||
jdDateEndingEffective_Key_6 | EFTE | JDEDATE | OPT | NONE |
The date on which the item, transaction, or table becomes inactive, or through which you want transactions to appear. This field is used
| ||||
mnCurrentLevelUniqueID_Key_7 | UKID | MATH_NUMERIC | OPT | NONE |
This field is a unique number used to identify a record in a file. | ||||
mnOptionUniqueIDToShow | UKID | MATH_NUMERIC | OPT | NONE |
This field is a unique number used to identify a record in a file. | ||||
mnDescription1UniqueIDToShow | UKID | MATH_NUMERIC | OPT | NONE |
This field is a unique number used to identify a record in a file. | ||||
mnDescription2UniqueIDToShow | UKID | MATH_NUMERIC | OPT | NONE |
This field is a unique number used to identify a record in a file. | ||||
mnDescription3UniqueIDToShow | UKID | MATH_NUMERIC | OPT | NONE |
This field is a unique number used to identify a record in a file. | ||||
mnDescription4UniqueIDToShow | UKID | MATH_NUMERIC | OPT | NONE |
This field is a unique number used to identify a record in a file. | ||||
mnDescription5UniqueIDToShow | UKID | MATH_NUMERIC | OPT | NONE |
This field is a unique number used to identify a record in a file. | ||||
mnDescription6UniqueIDToShow | UKID | MATH_NUMERIC | OPT | NONE |
This field is a unique number used to identify a record in a file. | ||||
mnParentKeyIDInternal | PUKID | MATH_NUMERIC | OPT | NONE |
A unique number that the system uses to identify a record in a file. | ||||
mnNewUniqueID | UKID | MATH_NUMERIC | OPT | NONE |
This field is a unique number used to identify a record in a file. | ||||
szJobCompetencySource | JCCS | char | OPT | NONE |
The location in the organizational structure where the competency is defined. | ||||
cOverridesExistFlag | OVREX | char | OPT | NONE |
An option that indicates that overrides of the default competency exist. | ||||
mnCompetencyWeight | CMWT | MATH_NUMERIC | OPT | NONE |
A user defined code that indicates a job competency weight. For example, if a job is evaluated based on two competencies, each
| ||||
mnIncludeInGapAnalysis | INCLG | MATH_NUMERIC | OPT | NONE |
An option that specifies whether a competency is included in a gap analysis evaluation. A gap analysis measures how the competencies
| ||||
szOptionNumber_Key_3 | COPTN | char | OPT | NONE |
A number that represents a user defined approach that an employee can use to demonstrate proficiency in a particular job competency.
| ||||
szCompentencyType | CMPE | char | OPT | NONE |
A code that identifies a competency table or category for which you can track employee competencies. Valid values
| ||||
szCompentencyCode | CMPC | char | OPT | NONE |
A code that specifies a competency within a competency type. For example, a competency for the competency type "Skill" might be "C
| ||||
mnCompetencyLevel | CMPV | MATH_NUMERIC | OPT | NONE |
Obsolete, Do not use
| ||||
szErrorMessageID | DTAI | char | OPT | NONE |
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
| ||||
idCacheCursor | GENLNG | ID | REQ | BOTH |
General purpose ID variable. | ||||
szCacheActionCode | CACTN | char | REQ | INPUT |
Cache Getab ab ab ab 1
| ||||
mnNumberKeys | NKEYS | MATH_NUMERIC | REQ | INPUT |
The number of keys in an index that will be used to retrieve, delete, or update a record. | ||||
cSuppressErrorMessage | SUPPS | char | OPT | NONE |
1 = Suppress Error Messages
| ||||
mnRequiredCompetencyLevel | REQL | MATH_NUMERIC | OPT | NONE |
The required competency level for a particular job. | ||||
mnCompetencyLevelRuleWeight | LVWT | MATH_NUMERIC | OPT | NONE |
The relative value of each option within a job competency code. The weights of the combined options add up to 100%. | ||||
cPreferredMethod | PFMTH | char | OPT | NONE |
A code that indicates what option in the Competency Options - Overrides table (F0800606) is the preferred method to achieve the
| ||||
mnCompetencyLevelExpectedLow | LOWC | MATH_NUMERIC | OPT | NONE |
The low point in a range for a particular job competency. For example, if an employee's competency level falls above the low competency
| ||||
mnCompetencyLevelExpectedHigh | HIGHC | MATH_NUMERIC | OPT | NONE |
The high point in a range for a particular job competency. For example, if an employee's competency level falls above the low
| ||||
mnInheritedIncludeInGapFlag | INCLG | MATH_NUMERIC | OPT | NONE |
Special Output Returned
| ||||
mnDefaultUniqueID | UKID | MATH_NUMERIC | OPT | NONE |
Special Output Returned
| ||||
cAutoCalculateCompetency | ACCOMP | char | OPT | NONE |
An option that indicates whether this competency can be automatically calculated during an employee performance appraisal.
During an
|
None |
None |