Discussion:
DL/I on MVS 3.8J [1 Attachment]
Carlos Aguilera Sr
2010-10-28 18:20:24 UTC
Permalink
Thanks Mike:



I saw the messages you pointed me to.



The generation of PSBs and PDBs do not seem to be a problem as they go
through the assembler.



What I am looking for is, maybe a sample set of working JCL that goes
through the DL/I preprocessor and through the COBOL compiler clean.



It would also be great if this is carried through KICKS also, then we really
can create working applications on MVS 3.8J



I do not know how yahoo deals with attachments but I am including a sample
program, it is not complete and I am not including maps or PDB or PCB
either.





Carlos Aguilera Sr.

1401 Liggates Rd.

Lynchburg, VA 24502

434-401-4828

Carlos-FiVMtmHp2a9Wk0Htik3J/***@public.gmane.org
Mike Schwab
2010-10-28 20:28:59 UTC
Permalink
http://www-01.ibm.com/software/data/ims/index.html
Is the home site for IMS. Manuals and redbooks for several versions
should be available.

DBDs define the databases.
PSBs defines how a programs accesses various databases.
Then you have your compile decks to run the program through a pre-processor.
Unfortunately, it have been about 15 years since I worked with it.
[Attachment(s) from Carlos Aguilera Sr included below]
I saw the messages you pointed me to.
The generation of PSBs and PDBs do not seem to be a problem as they go through the assembler.
What I am looking for is, maybe a sample set of working JCL that goes through the DL/I preprocessor and through the COBOL compiler clean.
It would also be great if this is carried through KICKS also, then we really can create working applications on MVS 3.8J
I do not know how yahoo deals with attachments but I am including a sample program, it is not complete and I am not including maps or PDB or PCB either.
Carlos Aguilera Sr.
1401 Liggates Rd.
Lynchburg, VA 24502
434-401-4828
Attachment(s) from Carlos Aguilera Sr
1 of 1 File(s)
DLI TEST PROGRAM.doc
--
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?
Enrico Sorichetti
2010-10-28 21:20:10 UTC
Permalink
Post by Mike Schwab
http://www-01.ibm.com/software/data/ims/index.html
Is the home site for IMS. Manuals and redbooks for several versions
should be available.
DBDs define the databases.
PSBs defines how a programs accesses various databases.
Then you have your compile decks to run the program through a pre-processor.
Unfortunately, it have been about 15 years since I worked with it.
sorry to disagree gentlemen :-)
for good old dl/i no preprocessor is needed , the dl/i interface was thru
CALL ASMTDLI,PLITDLI,CBLTDLI passing the appropriate parameter
yvette hirth
2010-10-28 22:26:20 UTC
Permalink
Post by Enrico Sorichetti
Post by Mike Schwab
DBDs define the databases.
PSBs defines how a programs accesses various databases.
Then you have your compile decks to run the program through a
pre-processor.
Post by Enrico Sorichetti
for good old dl/i no preprocessor is needed , the dl/i interface was
thru CALL ASMTDLI,PLITDLI,CBLTDLI passing the appropriate parameter
you're both right.

PSBgen's and DBDgen's are only assembled and linked. There's also
ACBgen's, but iirc ACBgen's didn't start happening until XA and above.

there is no preprocessor needed for gen's nor for DL/I access.

when the program runs, it invokes IMS services using the CALL interface.
IMS services are not needed for PSB / DBD / ACB gen's.

this JCL is one of our PROCs that will do a DBDgen, will also work for
PSBgen's. (ACBgen's are a bit different, but you probably won't need
them anyway...) substitute your DSN's and ensure SYSLIB points to the
two IMS MACLIB's, and you're ready to go.

//CDBDGEN PROC REL=,DBD=,LOAD=
//ASM EXEC PGM=ASMA90,PARM='NODECK'
//SYSIN DD DSN=DBT.&REL..DBSOURCE(&DBD),DISP=SHR
//SYSLIB DD DISP=SHR,DSN=IMSxxx.ADFSMAC
// DD DISP=SHR,DSN=IMSxxx.SDFSMAC
// DD DISP=SHR,DSN=SYS1.MACLIB
// DD DISP=SHR,DSN=SYS1.AMODGEN
//SYSUT1 DD UNIT=VIO,SPACE=(CYL,(1,1))
//SYSUT2 DD UNIT=VIO,SPACE=(CYL,(1,1))
//SYSUT3 DD UNIT=VIO,SPACE=(CYL,(1,1))
//SYSPRINT DD SYSOUT=*
//SYSLIN DD DSN=&&OBJ,DISP=(,PASS),
// UNIT=SYSDA,SPACE=(3120,(20,20)),DCB=BLKSIZE=3120
//LKED EXEC PGM=IEWL,PARM='XREF,LET,LIST,NCAL',COND=(8,LE)
//SYSUT1 DD UNIT=VIO,SPACE=(1024,(20,20))
//SYSPRINT DD SYSOUT=*
//SYSLIN DD DSN=&&OBJ,DISP=(OLD,DELETE)
// DD DDNAME=INPUT
//SYSLMOD DD DSN=DBT.&REL..DBDLIB(&LOAD),DISP=SHR

yvette hirth
Carlos Aguilera Sr
2010-10-28 22:39:17 UTC
Permalink
I found the following link and I think it explains what Enrico mentions:



http://publib.boulder.ibm.com/infocenter/cicsts/v3r2/index.jsp?topic=/com.ib
m.cics.ts.applicationprogramming.doc/topics/dfhp3_cobol_dlicall.html



The code is current; however in using Command Level CICS the following code
does need a preprocessor. Am I right?



EXEC DLI

SCHD PSB(PCBDEF)

END-EXEC.



EXEC DLI

GN USING PCB(1)

CURRENT

SEGMENT (MASTER-RECORD)

SEGLENGTH(LENGTH OF MASTER-RECORD)

INTO(WORK-MASTER-RECORD)

WHERE (KEY-FIELD=SOMETHING)

KEYS (KEY-FIELD)

KEYLENGTH(32)

END-EXEC.



EXEC DLI

GU USING PCB(1)

CURRENT

SEGMENT (MASTER-RECORD)

SEGLENGTH(LENGTH OF MASTER-RECORD)

INTO(WORK-MASTER-RECORD)

WHERE (KEY-FIELD=SOMETHING)

KEYS (KEY-FIELD)

KEYLENGTH(32)

END-EXEC.



EXEC DLI

GNP USING PCB(1)

CURRENT

SEGMENT (MASTER-RECORD)

SEGLENGTH(LENGTH OF MASTER-RECORD)

INTO(WORK-MASTER-RECORD)

WHERE (KEY-FIELD=SOMETHING)

KEYS (KEY-FIELD)

KEYLENGTH(32)

END-EXEC.



Carlos Aguilera Sr.

1401 Liggates Rd.

Lynchburg, VA 24502

434-401-4828

Carlos-FiVMtmHp2a9Wk0Htik3J/***@public.gmane.org

Loading...