Converting a 4.1.4/ADABAS 7.4.4 FUSER to 4.2.x/ADABAS 8.1.y

I have a Natural 4.1.4 library named practice in an ADABAS 7.4.4 DB named ADA7441 FUSER file 119 & I would like to get all of the user objects in it to ADABAS 8.1.2 DB named ADA812 FUSER file 139. I tried ADAULDing the former file & ADALODing it in the latter file, but when I try to run one of the programs either with ru in the directory listing or run from the editor session, I get

0080 NAT3148 Database 7441,Net-Work ID 0 currently not active. Subc 51

Running it from the directory listing, the 51 is truncated to 5.

Program strobet1:

0010 DEFINE DATA LOCAL
0020 1 #I (N7)
0030 1 #X (L)
0040 1 #T (N7) INIT <5>
0050 END-DEFINE
0060 ST. SET TIME
0070 REPEAT #X=FALSE UNTIL *TIMD(ST.) >= 100
0080 LOOP
0090 READ WORK FILE 2 ONCE #T
0100 PRINT #T
0110 #X=TRUE
0120 PRINT (1) / ‘ITERATIONS:’ #T / #X *TIMD(ST.) /
0130 FOR #I = 1 TO #T
0140 FETCH RETURN ‘ACALALL’
0150 LOOP
0160 END
***** End of list *****

When I hit enter here the following appears at the top of a new screen: ***** Source too long *****, although it’s all listed.

ACALALL is

0010 FETCH RETURN ‘ACPT1’
0020 RESET *PAGE-NUMBER
0030 NEWPAGE
0040 FETCH RETURN ‘CMPRS1’
0050 RESET *PAGE-NUMBER
0060 NEWPAGE
0070 FETCH RETURN ‘CMPRS2’
0080 RESET *PAGE-NUMBER
0090 NEWPAGE
0100 **ETCH RETURN ‘COMPS’
0110 **ESET *PAGE-NUMBER
0120 **WPAGE
0130 PERFORM SPECIAL-TEST
0140 RESET *PAGE-NUMBER
0150 NEWPAGE
0160 **TCH RETURN ‘COMP1’
0170 **SET *PAGE-NUMBER
0180 **WPAGE
0190 FETCH RETURN ‘FINDWHEA’
0200 RESET *PAGE-NUMBER
0210 NEWPAGE
0220 FETCH RETURN ‘FIND2’
0230 RESET *PAGE-NUMBER
0240 NEWPAGE
0250 FETCH RETURN ‘FIND3’
0260 RESET *PAGE-NUMBER
0270 NEWPAGE
0280 FETCH RETURN ‘FROOT1’
0290 RESET *PAGE-NUMBER
0300 NEWPAGE
0310 FETCH RETURN ‘INDX1’
0320 RESET *PAGE-NUMBER
0330 NEWPAGE
0340 FETCH RETURN ‘READEMP1’
0350 RESET *PAGE-NUMBER
0360 NEWPAGE
0370 FETCH RETURN ‘READMTL’
0380 RESET *PAGE-NUMBER

Page break here

0390 NEWPAGE
0400 FETCH RETURN ‘TEST’
0410 RESET *PAGE-NUMBER
0420 NEWPAGE
0430 FETCH RETURN ‘TESTOPT’
0440 RESET *PAGE-NUMBER
0450 NEWPAGE
0460 END
***** End of list *****

I hit enter here, & ***** Source too long *****, appears here too.

If I create a program named strobet2 which is an exact copy of strobet1 & try to stow it, the following appears:

NAT0220 Invalid statement :1:.
> > + Program STROBET2 Lib PRACTICE
All …+…1…+…2…+…3…+…4…+…5…+…6…+…7…
0010 DEFINE DATA LOCAL
0020 1 #I (N7)
0030 1 #X (L)
0040 1 #T (N7) INIT <5>
0050 END-DEFINE
0060 ST. SET TIME
E 0070 REPEAT #X=FALSE UNTIL *TIMD(ST.) >= 100
0080 LOOP
0090 READ WORK FILE 2 ONCE #T
0100 PRINT #T
0110 #X=TRUE
0120 PRINT (1) / ‘ITERATIONS:’ #T / #X *TIMD(ST.) /
0130 FOR #I = 1 TO #T
0140 FETCH RETURN ‘ACALALL’
0150 LOOP
0160 END
0170
0180
0190
0200
0210
0220
0230
0240
0250
0260
0270
0280
0290
0300
0310
0320
0330
0340
0350
0360
0370
0380
0390
…+…1…+…2…+…3…+…4…+…5…+… S 16 L

There are 57 user objects in the library, so I’d like to avoid having to restow each of them, assuming that would even work.

Any assistance would be appreciated.

Does anyone have any ideas?

I’m not certain, but doesn’t Nat4.2 have a step to convert the FUSR so that source “header” records change? You may be able to do what you want but need to convert the loaded file using the utility provided by Software Ag

Chad.

Thanks, Chad.

Is the sag utility to which you prefer sysobjh? If so, I’ve tried it without success. I even modified the sysobjh unload output to change all references to DBIDs 744 & 7441 to DBID 812, but when I run them after sysobjh-loading this modified file, I still get the same error that DBID 7441 is unreachable. It just occurred to me that perhaps I have to modify the DDMs too. If the utility’s not sysobjh, I don’t know what other sag utility it might be.

While we’re talking about FUSER, I have another question about which you might have an idea. I’m looking for some user programs, but I have no idea in what library they’re contained. I tried running the nat-lib command, which I discovered in the docs & is supposed to list all libraries, but I get the error that nat-lib doesn’t exist under all 4.x versions of Natural. I thought to look in the FUSER file, but I don’t know what ADABAS field contains the library name. Do you or anyone else have any other ideas on how I can find out what libraries are in FUSER?

Thanks for any assistance on either of the above 2 issues.

I just checked the install steps for NAT4.2 and there isn’t any conversion required if you are going from NAT4.1.4 Service Pack I0003+.
How did you use ADAULD to unload/load only a library?

If you have access to SYSMAIN that is all you should need to use to copy the source modules from the old FUSR to the new one, the change in DB/FNR for FUSR may be causing you grief, try only the source.

SYSOBJH should be able to do what you want, that’s part of it’s core function. You really shouldn’t need to modify the unload output as long as the correct settings are provided for the SYSOBJH load. Did you unload both source and object? Try just source and use CATALL to create all new objects.

SYSMAIN can also be used to FIND modules, it can search through all libraries.

There are also various USR APIs to do some of the things you are mentioning, USR1054N will return the libraries, USR1055N will return the list of modules in a library. Both of these are restricted by NSC, if it’s installed.

Chad.