Tuesday, 31 December 2013

Abend: 37

SB37: End of volume

Increase the size of primary and secondary reasonably.

If the job again and again comes down, then simple solution is to make the dataset multi volume by coding VOL=(,,,3).

SD37: Secondary space is not given

The secondary space in the SPACE parameter of the dataset that has given problem.

SE37: End of Volume (usually for a partitioned dataset)

If the partitioned dataset is already existing one, then compress the dataset using ‘Z’ in ISPF/IEBGENER and then submit the job once again.

Monday, 30 December 2013

To compare two Datasets

IEBCOMPR

-> Compare one PDS to another
-> Compare one sequential dataset to another sequential dataset on a record by record basis.

Sample program:

//JOBCARD
//STEP1   EXEC PGM=IEBCOPY
//SYSPRINT DD SYSOUT=*
//FILE1 DD DSN=FILE.NAME1,DISP=SHR
//FILE2 DD DSN=FILE.NAME2,DISP=SHR
//SYSIN DD*
    COMPARE TYPORG=PO
/*
//

Utility program IEBGENER

This utility program :

Copies sequential data set from one device to another.
Create a PDS from a sequential dataset. Expand or add members to a PDS. 
Produce an edited dataset. 
Change logical record lengths of a dataset.

Sample program:

// JOBCARD
//STEP1   EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN= INPUT.DATASET,DISP=SHR
//SYSUT2 DD DSN=OUTPUT.DATASET, DISP=SHR
//SYSIN DD DUMMY
//

System Utility Programs

Used to maintain and manipulate system and user data

-> Maintain libraries and catalog entries.
-> initiate volumes
-> volume and data set backup
-> List VTOC, directories and catalog

Programs:

-> IEHATLAS
Recovers data from damage disk volumes, attempts to write on the defective track and reads back the data return.

-> IEHINITT
Applies volume label and tape mark to a tape used by the operations personnel.\

-> IEHLIST
List the entries in the directory of a partitioned dataset created by the linkage editor.

-> IEHMOVE
Copies or move sequential, partitioned or direct datasets.

-> IEHPROGM
Scratches the data set residing on direct-access volumes.

-> IFHSTATR

Saturday, 28 December 2013

JCL to copy PS data to GDG

//SORT1 EXEC PGM=SORT

//SORTIN DD DSN=FILE.INPUT.PS,DISP=SHR

//SORTOUT DD DSN=FILE.OUTPUT.GDG(+1),

//                           DISP=(NEW,CATLOG,DELETE),

//                           DCB=(LRECL=(length of PS file),RECFM=FB,BLKSIZE=0)

//SYSIN DD *

   SORT FIELDS=COPY

//SYSOUT DD SYSOUT=*



The above JCL is used to copy the data content from the PS file to the GDG file by creating a new generation.
Points:
1. The record length of the PD file and the GDG created newly should remain same
2. The RECFM of GDG file should be FM if the PS file is or should VB

Sunday, 22 December 2013

Mainframe with Mobile

Due to emerging high range mobile applications, there is a chance to integrate mobile with Mainframe.

Why small device with high end compute(Mainframe)? Because just think of Million of mobiles getting connected with Mainframe accessing the resource and database.

It is possible to connect Mobile and Mainframe and we can access our mobile with high rate of efficiency and data transfer. Please refer the link below to know more about IBM worklight which is a kind of application developed by IBM for mobile purpose:


Also there is an option in CICS to develop a GUI for mobile users. Please refer the link below for more details.



So there are more possibilities to make a better mobile experience with the most secured and more powerful computing device.

Please contact me if you have a better knowledge or better options for this development.

Sending data in Mainframe through SFT

From mainframe a file can be sent through SFT either in Binary or in Text format.

Format of sending:
1. If the File is in Text format then the SFT setup should be in set ASCII by default.
2. If the File is in Binary then the SFT setup should be in set Binary by default.

Necessary details:
1. Sender node details
2. Transmission ID
3. User name of the Source


Types of receptions:
1. Through Protocol
2. Through Mailbox


To remove trailing space

PROCEDURE DIVISION.

MOVE 0 TO TRAIL-SPACE-VAR.
MOVE 0 TO TEMP-VAR.
INSPECT FUNCTION REVERSE(VAR1) TALLYING TRAIL-SPACE-VAR FOR LEADING SPACES.
COMPUTE TEMP-VAR = LENGTH OF VAR1 - TRAIL-SPACE-VAR.

 ADD 1 TO TRAIL-SPACE-VAR
STRING  VAR1(TRAIL-SPACE-VAR:TEMP-VAR) DELIMITED BY SIZE
                VAR-END   DELIMITED BY SIZE
                INTO REC.
PERFORM WRITE-PARA.    

To remove leading spaces

PROCEDURE DIVISION.

MOVE 0 TO LEAD-SPACE-VAR.
MOVE 0 TO TEMP-VAR.
INSPECT VAR1 TALLYING LEAD-SPACE-VAR FOR LEADING SPACES.
COMPUTE TEMP-VAR = LENGTH OF VAR1 - LEAD-SPACE-VAR.

ADD 1 TO LEAD-SPACE-VAR
STRING VAR-FRONT DELIMITED BY SIZE
               VAR1(LEAD-SPACE-VAR:TEMP-VAR) DELIMITED BY SIZE
               INTO RECORD-VAL.
PERFORM WRITE-PARA.    

Expense Handler Application with advance technologies

Budget Planner  One of the application developed with Ionic 4 and Python-Flask.  Ionic 4 code:  https://github.com/logeshbuiltin/Expense...