Using CA IDMS Culprit to access a record which is defined with a concatenated key
search cancel

Using CA IDMS Culprit to access a record which is defined with a concatenated key

book

Article ID: 10488

calendar_today

Updated On:

Products

IDMS IDMS - Database IDMS - ADS

Issue/Introduction

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. 



Environment

Culprit can be used in any CA IDMS environment where the product is licensed.

Resolution

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 

Additional Information

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