ADABAS file search for column names

Is there any way to SCAN ADABAS file for column names (not the value!).

E.g. If there are 500 ADABAS files (DDMs) and 100 out of them have a column ACCT_NO, how we should find those 100 files? Does NATURAL or ADABAS support this type of SCAN/SEARCH method or some logic?

What I know is DDMs are stored in FDIC file, so how to we SCAN FDIC for a column name?

http://techcommunity.softwareag.com/ecosystem/documentation/natural/prd461/reference/retriev_typespec_5.htm#Field-Specific_Retrieval_Types

Ats,

It is very likely your shop has PREDICT (which is the product Douglas Kelly referenced in his link), and the type of thing you are asking about is available in that product. Your DBA should be able to provide that information for you.

In addition, you may utilize the Natural SCAN utility in each library to look for anywhere that such a field name is referenced, which has the advantage of being self-service for you, but isn’t as clean as the PREDICT option.

You can try the PREDICT direct commands:

  1. SYSDIC
  2. LIST ELEMENT PERSONNEL-ID
    this will display a list of all files which contain the field PERSONNEL-ID
    .
    or you can use the PREDICT screen forms:
  3. SYSDIC
  4. R, EL
  5. D, L, NAME-ID

Hi All,

Thanks for your help.

I got my field (account_no) in 132 files, is it possible to list these files into a mainframe dataset, i.e. can we issue these steps via a JCL and list the output to a dataset?

What parameters I should pass to my CMSYNIN?

Is it something like this?

LOGON SYSDIC
MENU
LIST ELEMENT ACCOUNT-NO
FIN

How do I save my results to a dataset then?

use the dynamic parm MAINPR=1 and route the CMPRT01 sysout to a dataset in your JCL.

Hi Douglas,

How do I use this parameter MAINPR=1? Shall I pass it within my CMSYNIN data?

I tried executing following code:

//CMSYNIN  DD *
SYSDIC
LIST ELEMENT ACCOUNT-NO
FIN

But got the below error in my CMPRINT, how do I correct this?

1NEXT SYSDIC
116:30:56             *****  P R E D I C T  4.5.2  *****
                            - Startup Procedure -
- CATASTROPHIC ERROR
 --------------------
 Error ........ 6504
 Line number .. 0790
 Program ...... N-INST
                (RESET)
 Level ........ 2
 NAT6504 SAG EDITOR buffer pool work file open error 4.

Observed that it has some problem to invoke predict main menu.

When I tried

//CMSYNIN  DD * 
LOGON SYSDIC 
FIN

it successfully logged to SYSDIC library, but when I specify MENU it ends with NAT6504…not sure how to proceed…need your valuable suggestions.

Start with a review of the JCL expansion in your JES output. Look in the Natural PROC for DDname CMEDIT (although your DBA has the option to use a different DDname). This is the dataset causing the NAT6504 subcode 4.

You can try a temporary fix, as follows:

  • Override the DDname with
//CMEDIT DD DSN=NULLFILE
  • Then add a NatParm override on the EXEC card with
PARM='EDPSIZE=48'

Thanks Ralph. I tried this and got the rid of 6504, but no luck as it seems I am not authorized.

Let me know if this can be fixed or need to consult NAT admin person.

This my JCL

//MYJOB    JOB (,),'NATPRINT',CLASS=X,MSGCLASS=X,REGION=6500
//         NOTIFY=&SYSUID
//STEP01   EXEC NATTEST,PARM='EDPSIZE=48'
//CMEDIT   DD DSN=NULLFILE
//CMPRINT  DD DSN=NATPRINT.TEXT,DISP=OLD
//CMSYNIN  DD *
SYSDIC
R,EL
D,L,ACCOUNT-NUMBER,,ACCOUNT-FILE
//

my SYSOUT shows

********************************* TOP OF DATA **********************************
===>          <=== UNKNOWN DRIVER NAME- USING THE DEFAULTS
******************************** BOTTOM OF DATA ********************************

since that is not a Natural error message you are seeing, you will need to talk to your Natural administrator.