Experienced z/OS developer looking to learn Natural & Adabas — where should I focus first?

Product/components used and version/fix level:

Detailed explanation of the problem:

Error messages / full error message screenshot / log file:

Question related to a free trial, or to a production (customer) instance?

'Hi All,
I m a mainframe developer,

Natural and Adabas keep coming up in roles I’m interested in, and I’d like to learn them properly rather than just at a vocabulary level. I’ve found the Adabas & Natural Community Edition for Docker and I’m planning to get that running locally this week.

A few things I’d really value input on from people who work with it day to day:

  1. Coming from COBOL and DB2, what are the concepts that trip people up most? I’m guessing the Adabas data model is the big adjustment — I’m used to relational thinking with DB2, and my understanding is Adabas works quite differently with multiple-value fields and periodic groups. Is that the main conceptual hurdle, or is there something else that catches COBOL people out?

  2. Once I have the Community Edition running and I’ve worked through the demo application, what would you suggest building next? I learn much better with a real project than with exercises, so I’d like something that exercises the parts that actually matter in production.

  3. Is NaturalONE the standard way people develop now, or are a lot of shops still working in the traditional editor? I want to learn what’s actually used, not just what’s newest.

  4. What does a shop typically expect from someone new to Natural but senior on the mainframe generally? I’m trying to get a realistic sense of the ramp-up, and of how much of my COBOL and z/OS background actually transfers.

  5. Anything on Natural for z/OS specifically that differs from the Linux/Docker version I’d be learning on — things I should be aware of so I’m not learning habits that don’t apply?

Happy to be pointed at documentation, courses, or old forum threads. And if there’s a piece of advice you’d give someone at the start of this, I’d genuinely like to hear it.

Thanks in advance — appreciate any time anyone can spare.

See embedded comments…

Eugene (Gene) Miklovich

ADABAS/NATURAL Systems Support and DBA

Cell: 916-202-7047

Normal Hours: 8am-4pm E.T.

Please call or text if assistance needed outside these hours.

Out of Office Notice: 3/19-3/23 inclusive

  1. Coming from COBOL and DB2, what are the concepts that trip people up most? I’m guessing the Adabas data model is the big adjustment — I’m used to relational thinking with DB2, and my understanding is Adabas works quite differently with multiple-value fields and periodic groups. Is that the main conceptual hurdle, or is there something else that catches COBOL people out? Yes the fact that ADABAS optionally allows repeating fields and groups is like a pre-join and can boost performance. Another significant issue is that ADABAS is field oriented not record oriented. So no more putting in filler at end of cobol record structure. There are many others.
  2. Once I have the Community Edition running and I’ve worked through the demo application, what would you suggest building next? I learn much better with a real project than with exercises, so I’d like something that exercises the parts that actually matter in production. I like to suggest that the first application you build is a codes table application. Note: this is where One ADABAS file can support almost an infinite number of code tables. This is extremely useful as virtually all applications use code tables.
  3. Is NaturalONE the standard way people develop now, or are a lot of shops still working in the traditional editor? I want to learn what’s actually used, not just what’s newest. NATURAL ONE is the way to go. It is the developers platform.
  4. What does a shop typically expect from someone new to Natural but senior on the mainframe generally? I’m trying to get a realistic sense of the ramp-up, and of how much of my COBOL and z/OS background actually transfers. Understanding the SDLC and mainframe applications is very important as well as JCL etc.
  5. Anything on Natural for z/OS specifically that differs from the Linux/Docker version I’d be learning on — things I should be aware of so I’m not learning habits that don’t apply? On Z/OS NATURAL typically runs online under CICS but uses the same code that runs in BATCH.

Happy to be pointed at documentation, courses, or old forum threads. And if there’s a piece of advice you’d give someone at the start of this, I’d genuinely like to hear it.

Software AG provides online training courses.

Just to add on to Eugene’s comments:

  1. for Natural on z/OS, JCL and CICS experience transfer just fine.
  2. there are platform differences between Linux and z/OS - character sets, collating sequences, etc that can impact programming. For example, a program might sort on an alphanumeric field, expecting numbers to follow alphas (EBCIDIC order) but on open systems (ASCII or Unicode equivalents) numbers precede alphas. Beware of coding that uses binary values (e.g. H’40’ is a space on mainframe, but is H’20’ on x86 systems) - look into the MASK feature for conditionals to minimize platform specific coding. Mapping of program file access to disk files differs also between the platforms.