abend s0c1 on copying files(assembler)
Posted: Tue Oct 22, 2013 3:38 pm
Hello everybody,
I'm trying to write a very small program that just copying a file into an another... The copy works very well but...(yes there's a "but") i always get an s0c1 error:
Here is my source:
P1 START
BALR 12,0
USING *,12
*--------------------------------------------
OPEN (INFILE,(INPUT))
OPEN (OUTFILE,(OUTPUT))
LOOP EQU *
GET INFILE,INAREA
MVC OUTREC,INAREA
PUT OUTFILE,OUTAREA
B LOOP
ENDDATA EQU *
CLOSE INFILE
CLOSE OUTFILE
L 15,A
BR 14
*--------------------------------------------
INAREA DS CL80
OUTAREA DS 0CL80
OUTREC DS CL80
A DC F'0'
OUTFIN DS CL80'==========FIN======='
INFILE DCB DDNAME=INER,RECFM=FB,LRECL=80,DSORG=PS,MACRF=GM, X
EODAD=ENDDATA
OUTFILE DCB DDNAME=OUTER,RECFM=FBA,LRECL=80, X
DSORG=PS,MACRF=PM
END P1
here is my job compile (for the link i've tried amode=31 too but i got the same issue):
here is my job execution:
As you can see every thing seems simple but i don't understand why i still have an s0c1....
i also tried to just open and put one record in the outfile output (without reading the input file with loop) an i got an s322 abend like it's looping or waiting something.
If someone can help me to understand and resolve this mystery it'll be great.
Thanks in advance.
Nikki Lauda.
I'm trying to write a very small program that just copying a file into an another... The copy works very well but...(yes there's a "but") i always get an s0c1 error:
Here is my source:
P1 START
BALR 12,0
USING *,12
*--------------------------------------------
OPEN (INFILE,(INPUT))
OPEN (OUTFILE,(OUTPUT))
LOOP EQU *
GET INFILE,INAREA
MVC OUTREC,INAREA
PUT OUTFILE,OUTAREA
B LOOP
ENDDATA EQU *
CLOSE INFILE
CLOSE OUTFILE
L 15,A
BR 14
*--------------------------------------------
INAREA DS CL80
OUTAREA DS 0CL80
OUTREC DS CL80
A DC F'0'
OUTFIN DS CL80'==========FIN======='
INFILE DCB DDNAME=INER,RECFM=FB,LRECL=80,DSORG=PS,MACRF=GM, X
EODAD=ENDDATA
OUTFILE DCB DDNAME=OUTER,RECFM=FBA,LRECL=80, X
DSORG=PS,MACRF=PM
END P1
here is my job compile (for the link i've tried amode=31 too but i got the same issue):
//RDCPLKB JOB (PL,A4RDMODT),'UNLO-TABLE',MSGCLASS=H,
// NOTIFY=&SYSUID,REGION=0M,CLASS=R,
// RESTART=*
//JOBLIB DD DSN=PA4.CPG4RC2.LOAD,DISP=SHR
/*ROUTE PRINT PR6GESPE
//*=====================================================================
//STEP2 EXEC PGM=ASMA90,PARM='DECK,XREF(SHORT)'
//*--------------------------------------------------------------------
//*
//*--------------------------------------------------------------------
//SYSUT1 DD DSN=,UNIT=SYSDA,SPACE=(CYL,13)
//SYSUT2 DD DSN=,UNIT=SYSDA,SPACE=(CYL,13)
//SYSUT3 DD DSN=,UNIT=SYSDA,SPACE=(CYL,13)
//SYSPRINT DD SYSOUT=*,DCB=BLKSIZE=1331
//SYSPUNCH DD DSN=PAS.CGXPSER.MBDECK(MBTS01),DISP=OLD
//SYSIN DD DISP=SHR,DSN=PAS.CGXPSER.MBCOBL(MBTS03)
//SYSLIN DD DUMMY
//SYSLIB DD DISP=SHR,DSN=SYS1.MACLIB
// DD DISP=SHR,DSN=SYS1.MODGEN
//*---------------------------------------------------------------------
//* LINK
//*---------------------------------------------------------------------
//LINK1 EXEC PGM=IEWL,REGION=512K,
// PARM='XREF,CALL,LIST,LET,SIZE=(512K,64K),AMODE=24'
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,05)
//SYSLMOD DD DSN=PA4.CRDMODT.TLOADBA.V001R001,DISP=SHR
//SYSLIB DD DSN=SYS1.CEE.SCEELKED,DISP=SHR
// DD DSN=PA4.CRDMODT.TLOADBAT,DISP=SHR
// DD DSN=PA4.CRDMODT.TLOADBA.V001R001,DISP=SHR
//DECKLIB DD DSN=PAS.CGXPSER.MBDECK,DISP=SHR
//SYSLIN DD *
INCLUDE DECKLIB(MBTS01)
NAME MBTS01(R)
/*
// NOTIFY=&SYSUID,REGION=0M,CLASS=R,
// RESTART=*
//JOBLIB DD DSN=PA4.CPG4RC2.LOAD,DISP=SHR
/*ROUTE PRINT PR6GESPE
//*=====================================================================
//STEP2 EXEC PGM=ASMA90,PARM='DECK,XREF(SHORT)'
//*--------------------------------------------------------------------
//*
//*--------------------------------------------------------------------
//SYSUT1 DD DSN=,UNIT=SYSDA,SPACE=(CYL,13)
//SYSUT2 DD DSN=,UNIT=SYSDA,SPACE=(CYL,13)
//SYSUT3 DD DSN=,UNIT=SYSDA,SPACE=(CYL,13)
//SYSPRINT DD SYSOUT=*,DCB=BLKSIZE=1331
//SYSPUNCH DD DSN=PAS.CGXPSER.MBDECK(MBTS01),DISP=OLD
//SYSIN DD DISP=SHR,DSN=PAS.CGXPSER.MBCOBL(MBTS03)
//SYSLIN DD DUMMY
//SYSLIB DD DISP=SHR,DSN=SYS1.MACLIB
// DD DISP=SHR,DSN=SYS1.MODGEN
//*---------------------------------------------------------------------
//* LINK
//*---------------------------------------------------------------------
//LINK1 EXEC PGM=IEWL,REGION=512K,
// PARM='XREF,CALL,LIST,LET,SIZE=(512K,64K),AMODE=24'
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,05)
//SYSLMOD DD DSN=PA4.CRDMODT.TLOADBA.V001R001,DISP=SHR
//SYSLIB DD DSN=SYS1.CEE.SCEELKED,DISP=SHR
// DD DSN=PA4.CRDMODT.TLOADBAT,DISP=SHR
// DD DSN=PA4.CRDMODT.TLOADBA.V001R001,DISP=SHR
//DECKLIB DD DSN=PAS.CGXPSER.MBDECK,DISP=SHR
//SYSLIN DD *
INCLUDE DECKLIB(MBTS01)
NAME MBTS01(R)
/*
here is my job execution:
//EXAS01 JOB (PL,ASMGALOT),'UNLO-TABLE',MSGCLASS=H,
// NOTIFY=&SYSUID,REGION=0M,CLASS=R,
// RESTART=*
/*ROUTE PRINT PR6GESPE
//JOBLIB DD DISP=SHR,DSN=PA4.CRDMODT.TLOADBAT
// DD DISP=SHR,DSN=PA4.CRDMODT.TLOADBA.V001R001
//*---------------------------------------------------------------------
//SCRATC01 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
DELETE SA4.NRDMODT.TEST.MBE2
SET MAXCC=0
/*
//BULFACT EXEC PGM=MBTS01
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//INER DD DSN=SA4.NRDMODT.TEST.MBE,DISP=SHR
//OUTER DD DSN=SA4.NRDMODT.TEST.MBE2,
// DISP=(,CATLG),
// SPACE=(TRK,(1,1),RLSE),
// RECFM=FBA,LRECL=80
//*
// NOTIFY=&SYSUID,REGION=0M,CLASS=R,
// RESTART=*
/*ROUTE PRINT PR6GESPE
//JOBLIB DD DISP=SHR,DSN=PA4.CRDMODT.TLOADBAT
// DD DISP=SHR,DSN=PA4.CRDMODT.TLOADBA.V001R001
//*---------------------------------------------------------------------
//SCRATC01 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
DELETE SA4.NRDMODT.TEST.MBE2
SET MAXCC=0
/*
//BULFACT EXEC PGM=MBTS01
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//INER DD DSN=SA4.NRDMODT.TEST.MBE,DISP=SHR
//OUTER DD DSN=SA4.NRDMODT.TEST.MBE2,
// DISP=(,CATLG),
// SPACE=(TRK,(1,1),RLSE),
// RECFM=FBA,LRECL=80
//*
As you can see every thing seems simple but i don't understand why i still have an s0c1....
i also tried to just open and put one record in the outfile output (without reading the input file with loop) an i got an s322 abend like it's looping or waiting something.
If someone can help me to understand and resolve this mystery it'll be great.
Thanks in advance.
Nikki Lauda.