Tuesday, April 17, 2012

first

to copy the members

//MYJOB JOB
//MYPROC PROC
//STEP1 EXEC PGM=IEBCOPY
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=SHR,DSN=KC03K7B.TODAY.PDS
//SYSUT2 DD DISP=SHR,DSN=KC03K7B.NEW.PDS
// PEND
//STEP1 EXEC MYPROC
//SYSIN DD

cobol with posistions

(1)//MYJOB JOB 1,'ANU'
(1)//STEP1 EXEC IGYWCLG
(8) IDENTIFICATION DIVISION.
(8)PROGRAM-ID. LAB1.
(8)ENVIRONMENT DIVISION.
(8) CONFIGURATION SECTION.
(8)INPUT-OUTPUT SECTION.
(8)FILE-CONTROL.
(12) SELECT INPUT-FILE ASSIGN TO DA-S-INPUT.
(12)SELECT PRNT-FILE ASSIGN TO UR-S-PRNT.
(12)EJECT
(8)DATA DIVISION.
(8)FILE SECTION.
(10) FD INPUT-FILE
(12)LABEL RECORDS ARE STANDARD.
(8)01 INPUT-REC PIC X(80).
(10)FD PRNT-FILE
(12)LABEL RECORDS ARE OMITTED.
(8)01 PRNT-REC PIC X(125).
(8)WORKING-STORAGE SECTION.
(8)01 INPUT-DATA.
(10)03 I-NAME PIC X(20).
(8)01 PRNT-DATA1.
(12)03 O-NAME PIC X(20).
(8)01 MISC.
(10)03 EOF-I PIC 9 VALUE 0.
(8)PROCEDURE DIVISION.
(8)PARA1.
(12)OPEN INPUT INPUT-FILE
(12) OUTPUT PRNT-FILE.
(12)PERFORM READ-INPUT.
(12)PERFORM LOOP1
(12)UNTIL EOF-I = 1.
(12)CLOSE INPUT-FILE
(12)PRNT-FILE.
(12)STOP RUN.
(8)LOOP1.
(12)PERFORM PRINT-NAMES.
(12)PERFORM READ-INPUT.
(8)PRINT-NAMES.
(12)MOVE I-NAME TO O-NAME.
(12)WRITE PRNT-REC FROM PRNT-DATA1
(12)AFTER ADVANCING 1 LINE.
(8)READ-INPUT.
(12)READ INPUT-FILE INTO INPUT-DATA
(12)AT END MOVE 1 TO EOF-I.
(1) //GO.SYSOUT DD SYSOUT=*
(1)//GO.SYSPRINT DD SYSOUT=*
(1)//GO.INPUT DD *
NAME
CEMA
ANU
(1)//GO.PRNT DD SYSOUT=*

CL program to Copy an In stream procedure to a member.

STEP1:CREATE A MEMBER IN PDS AS SRC

//CATLG PROC

//STEP1 EXEC PGM=IEFBR14

//DD1 DD DSN=KC03H16.Z2.Z2,DISP=(NEW,CATLG),SPACE=(TRK,(5,2,0))

//SYSPRINT DD SYSOUT=*

STEP2:CREATE A MEMBER AS TAR

STEP3: IN PDS WRITE THE CODE AS FOLLOWS

//COPINS JOB 1,GEOFF,MSGCLASS=A

// EXEC PGM=IEBGENER

//SYSIN DD DUMMY

//SYSPRINT DD SYSOUT=A

//SYSUT1 DD DISP=SHR,DSN=KC03H16.EEE.PDS(SRC)

//SYSUT2 DD DISP=SHR,DSN=KC03H16.EEE.PDS(TAR)

JCL program to convert a job stream to an Instream procedure.

/JOBTOIN JOB

//MYPROC PROC

//STEP1 EXEC PGM=IEFBR14

//DD1 DD DSN=KC03H16.M8.M7,

// DISP=(NEW,CATLG),

// SPACE=(TRK,(5,2,0)),

// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)

//SYSPRINT DD SYSOUT=*

// PEND

//STEP3 EXEC PROC=MYPROC,TIME.STEP1=20

//STEP1.DD1 DD DCB=(RECFM=FB,LRECL=80,BLKSIZE=6400)

//STEP1.DD1 DD DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000)

//SYSIN DD *

Employee pay roll

//KC03H0BP JOB (1245),'KAVI ARUN',MSGLEVEL=(1,1),REGION=0M,
// NOTIFY=KC03H0B,MSGCLASS=A,CLASS=A
//COBOL1 EXEC IGYWCLG,
// PARM.COBOL='TEST,RENT,APOST,OBJECT,NODYNAM,LIB,SIZE(5048376)'
//COBOL.SYSPRINT DD SYSOUT=*
//COBOL.SYSIN DD *
IDENTIFICATION DIVISION.
PROGRAM-ID. LAB1.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INPUT-FILE ASSIGN TO DA-S-INPUT.
SELECT PRNT-FILE ASSIGN TO UR-S-PRNT.
EJECT
DATA DIVISION.
SKIP3
FILE SECTION.
FD INPUT-FILE
BLOCK CONTAINS 0 RECORDS
LABEL RECORDS ARE STANDARD.
01 INPUT-REC PIC X(80).
SKIP2
FD PRNT-FILE
LABEL RECORDS ARE OMITTED.
01 PRNT-REC PIC X(225).
WORKING-STORAGE SECTION.
01 INPUT-DATA.
03 I-NAME PIC X(5).
03 ENO PIC 9(4).
03 BASIC PIC 9(5).
03 DA PIC 9(4).
03 HRA PIC 9(4).
03 EPF PIC 9(4).
03 IT PIC 9(4).
03 GROSS PIC 9(5).
03 NET PIC 9(5).9(2).
03 FILLER PIC X(21).
01 PRNT-DATA1.
03 FILLER PIC X(3) VALUE SPACES.
03 L-NAME1 PIC X(5).
03 FILLER PIC X(3) VALUE SPACES.
03 L-ENO PIC 9(4).
03 FILLER PIC X(3) VALUE SPACES.
03 L-BASIC1 PIC 9(5).
03 FILLER PIC X(3) VALUE SPACES.
03 L-DA1 PIC 9(4).
03 FILLER PIC X(3) VALUE SPACES.
03 L-HRA1 PIC 9(4).
03 FILLER PIC X(3) VALUE SPACES.
03 L-PF1 PIC 9(4).
03 FILLER PIC X(3) VALUE SPACES.
03 L-IT1 PIC 9(4).
03 FILLER PIC X(3) VALUE SPACES.
03 L-GROSS PIC 9(5).
03 FILLER PIC X(3) VALUE SPACES.
03 L-NET PIC 9(5).9(2).
01 PRNT-HEADING1.
03 FILLER PIC X(3) VALUE SPACES.
03 FILLER PIC X(5) VALUE 'NAME'.
03 FILLER PIC X(3) VALUE SPACES.
03 FILLER PIC X(4) VALUE 'ENO'.
03 FILLER PIC X(3) VALUE SPACES.
03 FILLER PIC X(5) VALUE 'BASIC'.
03 FILLER PIC X(3) VALUE SPACES.
03 FILLER PIC X(4) VALUE 'DA'.
03 FILLER PIC X(3) VALUE SPACES.
03 FILLER PIC X(4) VALUE 'HRA'.
03 FILLER PIC X(3) VALUE SPACES.
03 FILLER PIC X(4) VALUE 'PF'.
03 FILLER PIC X(3) VALUE SPACES.
03 FILLER PIC X(4) VALUE 'IT'.
03 FILLER PIC X(3) VALUE SPACES.
03 FILLER PIC X(5) VALUE 'GROSS'.
03 FILLER PIC X(3) VALUE SPACES.
03 FILLER PIC X(5) VALUE 'NET'.
01 MISC.
03 EOF-I PIC 9 VALUE 0.
PROCEDURE DIVISION.
000-MAINLINE.
OPEN INPUT INPUT-FILE
OUTPUT PRNT-FILE.
PERFORM 2000-READ-INPUT.
PERFORM 1400-PRINT-HEAD.
PERFORM 1500-LOOP
UNTIL EOF-I = 1.
CLOSE INPUT-FILE
PRNT-FILE.
STOP RUN.
1400-PRINT-HEAD.
WRITE PRNT-REC FROM PRNT-HEADING1
AFTER ADVANCING PAGE.
MOVE SPACES TO PRNT-REC.
WRITE PRNT-REC
AFTER ADVANCING 1 LINE.
1500-LOOP.
PERFORM 1600-PRINT-NAMES.
PERFORM 2000-READ-INPUT.
1600-PRINT-NAMES.
ADD BASIC DA HRA GIVING GROSS.
SUBTRACT EPF IT FROM GROSS GIVING NET.
MOVE I-NAME TO L-NAME1.
MOVE ENO TO L-ENO.
MOVE BASIC TO L-BASIC1.
MOVE DA TO L-DA1.
MOVE HRA TO L-HRA1.
MOVE EPF TO L-PF1.
MOVE IT TO L-IT1.
MOVE GROSS TO L-GROSS.
MOVE NET TO L-NET.
WRITE PRNT-REC FROM PRNT-DATA1
AFTER ADVANCING 1 LINE.
2000-READ-INPUT.
READ INPUT-FILE INTO INPUT-DATA
AT END MOVE 1 TO EOF-I.
//GO.SYSOUT DD SYSOUT=*
//GO.SYSPRINT DD SYSOUT=*
//GO.INPUT DD *
KAVI 1230500002000300020001000
ARUN 5672400002500200010001000
BRIN 9014300001500200010001500
DEVI 3458200003000250010002000
//GO.PRNT DD SYSOUT=*

Modifying exec parameters

//MYJOB JOB 1,NOTIFY=KC03H09
//MYPROC PROC
//STEP1 EXEC PGM=IEFBR14,TIME=10
//DD1 DD DSN=KC03H09.Y110.Y0,
// DISP=(NEW,CATLG),
// SPACE=(TRK,(5,2,1))
//SYSPRINT DD SYSOUT=*
// PEND
//STEP2 EXEC PROC=MYPROC,TIME.STEP1=20
//SYSIN DD DUMMY