I have provided example JCL for running a DLI job but I am concerned that it is not your problem. Please make sure that the dataset was initialized properly by inserting then deleting a record with the procopt of L and no other PCB's in the PSB are using that Database. If the database was not properly initialized and you are trying to ISRT with a Procopt of A (for example) you will still wind up with an OC4. If what I just said does not make sense to you contact your DBA. The DBA already has the JCL for that purpose. Then you can load (via ISRT).
Additionally remember that when running a DLI job DBRC is turned off. This means that you should (must?) backup the database before running your job. This provides a 'fall back' in case your job abends. If you are thinking that you do not need to back it up because it is empty, remember that the data structure must be initialized before the load and this way you will have a clean starting point without bothering the DBA.
Anyway here is the 'sample' JCL. Be reminded that we are not in your shop and do not know your standards so modification of this JCL is proper.
Batch program does not access IMS program directly. JCL invokes DLI executable module DFSRRC00, which loads application program and required DLI modules.
//SAMPLE JOB (ACCOUNTING), ‘yourname’,MSGLEVEL=(1,1),MSGCLASS=3,
// NOTIFY=&SYSUID
//STEP01 EXEC PGM=DFSRRC00,PARM=(DLI,Program,PSB NAME, , ,)
//STEPLIB DD DSN=IMS.RESLIB,DISP=SHR
//IMS DD DSN=IMS2.PSBLIB,DISP=SHR
// DD DSN=IMS2.DBDLIB,DISP=SHR
//DDCARD DD DSN=DATASET,DISP=(OLD,KEEP)
//DFSVSAMP DD DUMMY
//IMSLOGR DD DUMMY
//IEFRDER DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//IMSERR DD SYSOUT=*
Best of luck,
pm