CA IDMS network database records may be defined with CALC keys that are defined as a concatenation of multiple fields. CA IDMS Culprit cannot automatically access these records; but it can do so if a DB-EXIT is invoked.
Using CA IDMS Culprit, neither the KEY nor KEYFILE parameter supports concatenated calc keys (contiguous or non-contiguous).
However, Culprit users can use the DB-EXIT calc function successfully with this type of key, if they use CULLUS43 along with DB-EXIT.
EXAMPLE:
A DEPARTMENT-101 record was defined in the schema with "location mode is calc using (div-101 branch-101 dept-101)". To access this calc record directly use the following technique:
PATH-- DEPARTMENT-101 $SETS UP A DUMMY PATH FOR DB-EXIT
010 DIV '100' $WORK FIELD CONTAINING PARTIAL KEY VALUE
010 DIV '100' $WORK FIELD CONTAINING PARTIAL KEY VALUE
010 BRANCH '020' $WORK FIELD CONTAINING PARTIAL KEY VALUE
010 DEPT '999' $WORK FIELD CONTAINING PARTIAL KEY VALUE
017100 CALL US43 (DIV DIV-101 3) $MOVES KEY VALUE TO KEY
017 CALL US43 (BRANCH BRANCH-101 3) $MOVES KEY VALUE TO KEY
017 CALL DB-EXIT ('CALC' 'DEPARTMENT-101 ' DEPT-101 DEPT 3)
In the Culprit job, you'll also need to code the elements you want on type 5 lines. Culprit will automatically generate the REC card (definition) of any element you reference in a Culprit report but you need to code the output line manually.
Format:
nn5xyyyy element-name
where nn=report number (00-99)
x= line number (1-8)
yyyy = output column
e.g.
01510001 emp-id-0415
01510010 emp-last-name-0415
This will print id in column 1 and last name in column 10 on output line 1
Information on Culprit reports can be found here:
https://docops.ca.com/ca-idms/19/en/reporting/ca-culprit-reports
Information on Culprit User Modules can be found here:
https://docops.ca.com/ca-idms-ref/19/en/ca-culprit-user-modules