Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

MVS::JESFTP
Perl extension for submitting JCL to MVS systems through FTP.

MVS::JESFTP - Perl extension for submitting JCL to MVS systems through FTP.



NAME

MVS::JESFTP - Perl extension for submitting JCL to MVS systems through FTP.


SYNOPSIS

use MVS::JESFTP;

$jes = MVS::JESFTP->open($host, $logonid, $password) or die;

$jes->submit($job);

$aref = $jes->wait_for_results($jobname, $timeout);

$jes->get_results($aref);

$jes->delete_results($aref);

$jes->quit;


DESCRIPTION

IBM mainframe MVS systems accept job input through the Job Entry Subsystem (JES). This input is in the form of 80-byte card images that correspond to the punch cards of ancient times. The new releases of MVS can accept this input via FTP to the MVS internal reader (equivalent to the physical card readers of older systems).

This module uses the Net::FTP module under the hood to handle the FTP chores.


METHODS

$jes = MVS::JESFTP->open($host, $logonid, $password);

This method creates a connection to the MVS system JES. If the connection is made, open returns a reference $jes to the JES connection; otherwise open returns undefined.

open takes three arguments:

$host
The IP address or DNS name of the MVS system.

$logonid
A valid FTP logon ID for the host.

$password
A valid FTP password for the host.

$jes->submit($job);

This method submits the jobstream contained in the file $job. If the submission is successful, submit returns true; otherwise submit returns undefined.

$aref = $jes->wait_for_results($jobname, $timeout);

This method waits for the output of the submitted job to arrive in the JES hold queue. wait_for_results returns an array reference $aref to the a list of output files for the job suitable for input to get_results, or undefined if NO results could be obtained. (1)

wait_for_results takes two arguments:

$jobname
The name of the job you presumedly submitted with the submit method.

$timeout
How many seconds to wait for the job output to arrive; defaults to 60.

$result = $jes->get_results($aref);

This method retrieves the output of the submitted job from the JES hold queue. get_results returns undefined if successful; otherwise it returns a reference to an array of names of the files it could NOT retrieve. (1)

get_results takes one argument:

$aref
An array reference to the a list of output files from the job, such as wait_for_results generates. get_results will retreive (via FTP) each output file in turn and store them in the current subdirectory; file names will be preserved.

$result = $jes->delete_results($aref);

This method deletes the output of the submitted job from the JES hold queue. delete_results returns true if successful; otherwise it returns a reference to an array of names of the jobs it could not delete.

delete_results takes one argument:

$aref
An array reference to the a list of output files from the job, such as wait_for_results generates. delete_results will delete each job in turn.

$jes->quit;

This method closes the connection to JES. It is just the Net::FTP quit method.

(1) To use this method, your JCL JOB card must specify a MSGCLASS that directs its output to the JES hold queue. If you don't understand what this means, don't use this method, or you will hang your calling program.


PREREQUISITES

You have to have Net::FTP installed.


INSTALLATION


 tar xzf MVS-JESFTP-1.00.tar.gz

 perl Makefile.PL

 make

 #

 # Edit TEST.SEQ to contain your site-specific logonid,

 # password, account, & node in the appropriate places.

 #

 make test

 make install

For Win32 systems, after unarchiving the the package, copy JESFTP.pm to C:\Perl\site\lib\MVS (modifying this path for your installation of Perl).


AUTHOR

Mike Owens

mike.owens@state.nm.us

Copyright (c) 2000 Mike Owens. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See either the GNU General Public License or the Artistic License for more details.


SEE ALSO

perl(1)

Net::FTP

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy