Hercules does not have any official (formal) paid support in place...
...HOWEVER...
I'm sure if you ask the group whether or not there's anyone out there willing to provide it, you'll probably get more than one response. ;-)
I know for a fact that at least one person is already providing Hercules Technical Support on a paid basis, and as I said, I'm sure there are probably others out there who are either already doing it, or at least willing to do it, too. All you have to do is ask (any of the people involved with Hercules (users and/or developers)) and I'm sure more than one would be willing to provide it to you for a reasonable agreed-upon fee.
Your best approach for obtaining fee-paid tecnical support for Hercules would be to post an inquiry to the main Hercules-390 forum (see next section below) and simply ask whether anyone out there would be willing to provide it. As I said, I'm sure there are probably many people out there who would be willing to do so for the right price.
Since Hercules is an Open Source product owned by no one in particular and copyrighted by many (lots of very sharp people have contributed over the years to Hercules's success), there doesn't exist any type of official "Technical Support Department" within any type of company or anything (like there usually is for closed-source products).
Instead, as with most Open Source products, there simply exists a dedicated group of individuals and enthusiasts who are willing to put in their spare time helping others with whatever problems and/or questions others may have regarding it. This dedicated group of Hercules enthusiasts is known as "our user community", and it honstly does, in this author's o=localhost:1234 HERCRDR file3.txt file4.txt HERCRDR override:5678 filefive.txt HERCRDR 192.168.0.1:5678 666.txt 777.txt 888.txt 999.txt Returns: -1 unclassified error 0 file(s) successfully submitted 1 no route to host (bad sock_spec or connection refused) 2 timeout value exceeded while trying to connect 3 transmission error (e.g. connection prematurely closed) 4 file not found (or other file error)
If you are lucky enough to have a copy of SPF/PC Version 4 or SPF/Pro (produced by CTC but unfortunately no longer available), then you can capture the authentic mainframe experience by submitting jobs directly from your edit session. The SUB command can be implemented by means of a REXX macro, such as this one provided by Volker Bandke:
/* +----------------------------- REXX -----------------------------+ */
/* */
/* Name: D:\APPS\SPFPRO\REXX\USER\SUB.SPF */
/* */
/* Type: SPF edit macro */
/* */
/* Desc: submit JCL to MVS 3.8 */
/* */
/* Creation date: 24 Aug 1999, creation time: 18:49:40 */
/* */
/* Author: (c) Volker Bandke */
/* */
/* +----------------------------------------------------------------+ */
'isredit macro (p1 p2 p3 p4 p5 p6 p7 p8 p9)'
"ISREDIT (member) = MEMBER"
"ISPEXEC CONTROL ERRORS CANCEL"
parse upper var member file '.' ext
do
'ISREDIT REPLACE' $$$$$$$$.SPF '.ZF .ZL'
ADDRESS "CMD" "HERCRDR 192.168.1.102:3505 $$$$$$$$.SPF"
zedsmsg = 'File submitted'
zedlmsg = 'The member '||member||' has been submitted to MVS'
'ispexec setmsg msg(isrz000)'
ADDRESS "CMD" "DELETE $$$$$$$$.SPF"
end
EXIT 0
Malcolm Beattie has provided a simple Perl script which can submit jobs using either TCP/IP or Unix Domain Sockets.
The script is invoked using one of the following command formats:
hercsub 192.168.1.102:3505 dummy.jcl
hercsub /tmp/hercrdr.00C dummy jcl
Here is the sample script:
============== hercsub ================
#!/usr/bin/perl
use Socket;
use IO::Socket::UNIX;
use IO::Socket::INET;
if (@ARGV < 1) {
print STDERR "Usage: hercsub socket_spec [job]\n";
exit 2;
}
my $spec = shift @ARGV;
my $sock;
if ($spec =~ m{^/}) {
$sock = IO::Socket::UNIX->new(Peer => $spec);
} else {
$sock = IO::Socket::INET->new(PeerAddr => $spec);
}
die "Failed to connect to socket $spec: $!\n" unless defined($sock);
while (<>) {
print $sock $_;
}
========== end of hercsub =============
The netcat (nc) program can also be used to submit files to a Hercules reader via TCP/IP.
Install netcat (which is useful for innumerable other things as well)
and use:
nc -w1 localhost 1234 < dummy.jcl
For more information, type man nc.
Last updated 3 October 2003