Note: This section is in the archived section - no longer under development and likely out of date.

The Hercules Hosting Console in Action

The Hercules Hosting Console in Action

Hosted MVS

This project aims to provide hosted MVS and VM instances so that members can:

  • Log in to (via 3270 terminals - including a AJAX browser emulator) MVS anv VM for development and training purposes.
  • Submit JCL jobs via a custom command line tool (for development purposed).
  •  Mount and create tapes.

The vision is to provide an easy to use platform that will allow people to easily learn, experiment with and use to develop (open) software for MVS and VM.

Scope

Key scope/requirements of the project is:

1. Support Multiple Instances of Hercules

2. Support Remote access via TN327

3. Provide a Web based AJAX console to allow:

  • Remote access via a Web Based 3270
  • Auto provisioning (including users)
  • Ability to view/download print output 
  • Ability to submit JCL jobs
  • Ability to upload/download and mount tapes
  • Ability to view/download/upload (and redirect to a reader) punch output/input

4. A Web-Service interface (and downloadable command line tool) to provide the same functions as the console. This will allow remote submission of jobs (possibly by client [PC] side build scripts)

5. A Programmable Operator (using REXX scripts) to support, start-up, shutdown, mounting tapes, catalogue password, and the like

6. Hosting will be public and free

7. Software will be open source

Console Screen Shots

The most challenging piece of work is to provide a comfortable Web Console to allow users to access the facility and manage their account.

Especially challenging is providing a really usable 3270 Web based emulator. I am very happy to say that I have manged to complete this task and included some screen shots below. The 3270 Emulator maps 3270 fields into HTML INPUT TEXT fields, and uses CSS classes to implement field attributes, uses READONLY for PROTECTED fields, etc.

In addition Javascript was required to

  • Provide Function Keys
  • Provide expected TAB key behavior
  • Provide expected Cursor key behaviour (including working out which field and which field position the text cursor should go to if, for example, the down cursor key was pressed)
  • Provide Cursor select (via double click)

A key design aim was to make sure that the Web Emulator as efficient as a normal 3270 Emulator in the sense that round trips to the web server only happen when ACTs are triggered (i.e. Function Keys, ENTER, PAs etc.), but not for other events (like TABing, normal characters etc.).

I have put a standalone version up pointing to the free DeZhi Mainframe here http://mvs.open-bpm.org/. (No longer available).

Screen Shots

Notice that the Status bar and onscreen keyboard are "rough and ready" ... these have been completed in the current version.

Status

Support Multiple Instances of Hercules

Technology: Hercules, Scripts and MySQL database to manages instances, accounts and input/output.

Status: Complete

Support Remote access via TN3270

Technology: Authenticating Proxy developed (C++)

Status: Complete

Console - General

Technology: Wt (Witty) C++ AJAX Library

Status: Framework and security complete

Console - Remote access via a Web Based 3270

Technology: Wt, S3270 and custom Javascript

Status: Feature Complete (Screen Rendering, Attributes (i.e. colours), Function Keys, Cursor Keys, Tab Key, IND$FILE, Multiple Instances)

Console - Auto provisioning (including users)

Technology: Wt Forms, REXX, JCL & MVS/VM C

Status: Not started

Console - Ability to view/download print output 

Technology: Wt Forms, Hercules Print Handler, MySQL storage

Status: 70% Complete

Console - Ability to submit JCL jobs

Technology: Wt Forms, Hercules Job Submitter, MySQL storage

Status: Not Started

Console - Ability to upload/download and mount tapes

Technology: Wt Forms, Hercules Tape Mounter (Operator), MySQL storage

Status: Not Started

Console - Ability to view/download (and redirect to a reader) punch output

Technology: Wt Forms, Hercules Punch Handler, MySQL storage

Status: Not Started

Web-Service interface and command line tool

Technology: Based on GSOAP

Status: Technology and transport complete (including huge files)

Need to wait for Console to be completed before hooking up to functionality.

Programmable Operator

Technology: Based on existing RexxObjects project code

Status: Not Started

Proof of Concept Status

An initial version was provided as a POC (Proof of Concept) instance to develop the concept.

- MVS was been hardened with RAKF etc. 

- We have a authenticating 3270 TELNET proxy (for perimeter security)

- We have tested h3270 web 3270 emulator. This was found not to be fit-for-purpose and subsequent development has replaced this.

- A Print handler has been developed to split and post output to the correct member.

- JCL External Submission (including print output response) is the next task. This will be a web service - we will provide a command line client.

- Automatic user provisioning is pending. I will review the existing JCL and I need to integrate this with RAKF. A common userid will be used (between portal and MVS) but the passwords will be separate (this work was not completed during the POC).

The POC was successful and shows it is possible to host Hercules remotely with sufficient performance and stability and with no obvious long term hosting issues. A key finding was that no publicly available Web Based 3270 Emulator with the required features (and "comfort") and stability existed. This will need to be developed.

This POC is now closed - I am actively developing the console and will update this page when it is available again - please e-mail me if you have any questions. (AS - 17 July 2009)

Note: The MVS version is currently based on MVS/380 which is built on top of TK3SU1 which is again built on top of TK3. There seems to be community issues with the use of Turnkey TK3 and MVS/380 - it may be that a custom distribution of MVS will be needed, but it is hoped that the Turnkey community will come up with an acceptable distribution.

Proof of Concept Status

An initial version was provided as a POC (Proof of Concept) instance to develop the concept.

- MVS was been hardened with RAKF etc. 

- We have a authenticating 3270 TELNET proxy (for perimeter security)

- We have tested h3270 web 3270 emulator. This was found not to be fit-for-purpose and subsequent development has replaced this.

- A Print handler has been developed to split and post output to the correct member.

- JCL External Submission (including print output response) is the next task. This will be a web service - we will provide a command line client.

- Automatic user provisioning is pending. I will review the existing JCL and I need to integrate this with RAKF. A common userid will be used (between portal and MVS) but the passwords will be separate (this work was notcompleted during the POC).

The POC was successful and shows it is possible to host Hercules remotely with sufficient performance and stability and with no obvious long term hosting issues. A key finding was that no publicly available Web Based 3270 Emulator with the required features (and "comfort") and stability existed. This will need to be developed.

This POC is now closed - I am actively developing the console and will update this page when it is available again - please e-mail me if you have any questions. (AS - 17 July 2009)
Note: The MVS version is currently based on MVS/380 which is built on top of TK3SU1 which is again built on top of TK3. There seems to be community issues with the use of Turnkey TK3 and MVS/380 - it may be that a custom distribution of MVS will be needed, but it is hoped that the Turnkey community will come up with an acceptable distribution.

POC Instructions

Notes:

- These are now obsolete - but have been kept here for reference.

- Currently these instructions are only designed for people who know MVS well. Beginners instructions will be developed once we have a completed hosted platform.

Sign-Up
To Access the system you need to be a open-bpm member. Sign-up with the link on the left - this is free, automated and quick.

Currently there is no automatic way to provision a MVS userid - please e-mail me and I will set up an account for you.

3270 Access

The link is mvs.open-bpm.org port 3270.
 
If you are using C3270 please use "a:mvs.open-bpm.org:3270". 
 
The system first stays in VT (ASCII) mode and asks for userid/password - please use your open-bpm member details. It then connects to the host and goes into 3270 mode - you will get the standard Turnkey log-in screen.

Note: Press CLEAR to bring up the Turnkey Login Screen if you only get the Hercules start screen.

Printer Output
The printed output from your jobs will be routed to your private files (link on left).

MVS Security
Always use have a USER=xx,PASSWORD=yy in your job card. Otherwise RAKF will not give you access to your datasets! Also the print handler will not know to route output to you.

Note: Do not save your MVS password in you JCL - everyone can read it!

Web Access
Please try http://mvs.open-bpm.org/

You need to log-in to the page using your open-bpm member details. Then follow the link to h3270.

This is very much Alpha quality (panels are OK but TSO confuses the 3270 emulator).

Notes: 

- Please always use the http://mvs.open-bpm.org/ first - do not go directly to the h3270 emulator - otherwise the authentication caching does not work and you will get a slow connection ...

- Press CLEAR to bring up the Turnkey Login Screen if you only get the Hercules start screen.

- Use the Browser Back Button and bring up the keypad and use RESET to try and recover from Java Exceptions (remeber this web interface is ALPHA).

JCL Submission
This will be via a provided command line tool (and web service if you want to code your own). 

I will post details once I have set this up.

Cookbook

Hercules Hosting on Linux

Command to start Hercules (Needs to be changed to a script).

go to the mvs380 directory
su hercules (important!)
nohup her4cules -d -f conf/open-bpm.conf &

To view output: tail -f nohup.out

Connect terminals 3270 (how do we activate / deactivete instead terminals after IPL?)

Go to Web Console

MVS Operations

IPL

At web console
ipl 148


At "IEA101A SPECIFY SYSTEM PARAMETERS FOR RELEASE 03.8 .VS2"

/r 00,clpa - for cold boot - then shutdown and warmboot.
/r 00        - for warm boot

/r 0,sysp=RA - For RAKF

Start Services

(should not be needed)
/s jes2
/s bsppilot

Shutdown

At console:
/f bsppilot,shutdown
/f bsppilot,shutfast
/f bsppilot,shutnow

Adding Terminals

Changed hercules.conf to have
00c0      3270      # Terminal session #  1
00c1      3270      # Terminal session #  2
00c2      3270      # Terminal session #  3
00c3      3270      # Terminal session #  4
00c4      3270      # Terminal session #  5
00c5      3270      # Terminal session #  6
00c6      3270      # Terminal session #  7
01c0      3270      # Terminal session #  8
01c1      3270      # Terminal session #  9
01c2      3270      # Terminal session #  10
01c3      3270      # Terminal session #  11
01c4      3270      # Terminal session #  12
01c5      3270      # Terminal session #  13
01c6      3270      # Terminal session #  14

Then have to modify the vtam list and then will have to reipl.(amrith)

MVS Hardening

Setting User Passwords

Logon as IBMUSER or HERC01 or HERC02

ALLOC F(SYSUADS) DA('SYS1.UADS') SHR
ALLOC F(SYSLBC)  DA('SYS1.BRODCAST') shr
ACCOUNT

SYNC
CHANGE (userid * ) DATA(password)  - If a user has no password it seems it cannot be changed - err...!

See also SYS2.JCLLIB(CHGPWD)

Recreate IBMUSER
list (ibmuser)

Gives
=====
    IBMUSER  USER ATTRIBUTES:    OPER    ACCT    JCL  NOMOUNT
             INSTALLATION ATTRIBUTES, IN HEX: 0000
             MAXSIZE: NOLIM
             USER PROFILE TABLE:
             00000000000000000000000000000000
             DESTINATION  =  CENTRAL SITE DEFAULT
             NO PERFORMANCE GROUPS
      (*)
        (*)
          IKJACCNT  PROCSIZE=    44K, UNIT NAME= (NONE)

Copy user entry just in case ...
rename 'sys1.uads(ibmuser0)' 'sys1.uads(olduser0)'

Enter: account
help add
add, delete, and list ibmuser until it matches
what you want and somewhat matches the copy/paste.
Don'r set a password of SYS1 because that is a default.
end

Account ADD Sub-Command Help

Account Add

)F FUNCTION -
  THE ADD COMMAND PROCESSOR PERFORMS THE ADMINISTRATIVE FUNCTION OF
  ADDING A NEW USER TO THE SYSTEM OR OF ADDING NEW CONTROL INFORMATION
  TO AN EXISTING USER ENTRY.  THE ADD COMMAND IS AVAILABLE ONLY TO
  USERS WITH ASSIGNED ACCOUNT ABILITY.
)X SYNTAX -
         ADD   ('USERID' 'PASSWORD'/*  'ACCTNMBR'/*  'PROCNAME')
               MAXSIZE('INTEGER')/NOLIM  OPER/NOOPER  ACCT/NOACCT
               JCL/NOJCL  MOUNT/NOMOUNT  USERDATA('DIGITS')
               PERFORM('DIGITS')/NOPERFORM  SIZE('INTEGER')
               UNIT('NAME')  DEST('NAME')

               OR

               ('USERID'/*)  DATA('PASSWORD'/('PASSWORD',...)/*
                                  'ACCTNMBR'/('ACCTNMBR',...)/*
                                  'PROCNAME'/('PROCNAME',...))
               SIZE('INTEGER')  UNIT('NAME')

               OR

               ('USERID'/* 'PASSWORD'/*)
               DATA('ACCTNMBR'/('ACCTNMBR',...)/*
                    'PROCNAME'/('PROCNAME',...))
               SIZE('INTEGER')  UNIT('NAME')

               OR

               ('USERID'/* 'PASSWORD'/* 'ACCTNMBR'/*)
               DATA('PROCNAME',...)  SIZE('INTEGER')  UNIT('NAME')

  OPTIONAL - MAXSIZE('INTEGER')/NOLIM  OPER/NOOPER  ACCT/NOACCT
             JCL/NOJCL  MOUNT/NOMOUNT  USERDATA('DIGITS')  DEST('NAME')
             PERFORM('DIGITS')/NOPERFORM  SIZE('INTEGER')  UNIT('NAME')

  DEFAULTS - NOLIM  NOOPER  NOACCT  NOJCL  NOMOUNT  USERDATA(0000)
             DEST('CENTRAL')  NOPERFORM  SIZE(0)  UNIT('        ')

  ALIAS    - A

  NOTE     - THE FIRST FORMAT IS USED TO IDENTIFY A NEW USER TO THE
             SYSTEM.  THIS FORMAT IS TO BE USED WHEN THE USER HAS NOT
             BEEN PREVIOUSLY IDENTIFIED TO THE SYSTEM.

  NOTE     - THE '*' IN THE FIRST FORMAT MEANS 'THIS ITEM WILL NOT BE
             SUPPORTED FOR THIS USER'.  IF THE '*' IS USED, ALL
             SUBSEQUENT REFERENCES TO THIS USER IDENTITY MUST CONTAIN
             AN '*' FOR THAT ITEM.

  NOTE     - ALL FORMATS OTHER THAN THE FIRST ARE USED TO ADD
             ADDITIONAL CONTROL INFORMATION TO AN EXISTING USER ENTRY.
             THE FIRST OPERAND IN THESE FORMATS MUST CONTAIN A
             COMBINATION OF ITEMS WHICH HAS BEEN PREVIOUSLY ADDED.  THE
             FIRST SUBPARAMETER OF THE 'DATA' KEYWORD MUST FORM A NEW
             COMBINATION OF ITEMS.

  NOTE     - IF AN '*' WAS USED IN A COMMAND OF THE FIRST FORMAT, THEN
             AN '*' IN THE CORRESPONDING POSITION IN THE OTHER FORMATS
             MEANS 'THIS ITEM IS NOT SUPPORTED FOR THIS USER'.

  NOTE     - IN ALL FORMATS OTHER THAN THE FIRST, AN '*' USED IN THE
             FIRST OPERAND (EVERYTHING WITHIN THE FIRST PAIR OF
             PARENTHESES) MAY MEAN ALL ITEMS PREVIOUSLY ENTERED IN THE
             POSITION WHERE THE '*' APPEARS ARE TO BE USED IN FORMING
             THE COMBINATIONS OF ITEMS WHICH ARE TO BE AUGMENTED.
)O OPERANDS -
  'USERID' - USER'S UNIQUE SYSTEM IDENTIFICATION
             FIRST CHARACTER  - ALPHABETIC OR NATIONAL (£,@,#)
             OTHER CHARACTERS - ALPHABETIC, NATIONAL, OR NUMERIC
             MAXIMUM LENGTH   - 7
  'PASSWORD'
           - USER'S AUTHORIZATION FOR SYSTEM FACILITIES
             FIRST CHARACTER  - ALPHABETIC, NATIONAL, OR NUMERIC
             OTHER CHARACTERS - ALPHABETIC, NATIONAL, OR NUMERIC
             MAXIMUM LENGTH   - 8
  'ACCTNMBR'
           - USER'S ACCOUNTING DATA IDENTIFICATION
             ANY EBCDIC CHARACTERS EXCEPT BLANK, COMMA, TAB,

             SEMICOLON, AND APOSTROPHE
             MAXIMUM LENGTH   - 40
  'PROCNAME'
           - PROCEDURE NAME FOR LOGON
             FIRST CHARACTER  - ALPHABETIC OR NATIONAL (£,@,#)
             OTHER CHARACTERS - ALPHABETIC, NATIONAL, OR NUMERIC
             MAXIMUM LENGTH   - 8
))MAXSIZE('INTEGER')
           - MAXIMUM REGION SIZE FOR THIS USER IDENTITY, ALLOWED ONLY
             WHEN CREATING A NEW USER ENTRY
    'INTEGER'
           - NUMBER OF 1024 BYTE UNITS - MAXIMUM VALUE IS 65534
))NOLIM    - NO LIMIT TO USER'S MAXIMUM REGION SIZE, ALLOWED ONLY WHEN
             CREATING A NEW USER ENTRY
  NOTE     - NO LIMIT MAY ALSO BE ACHIEVED BY MAXSIZE(0)
))OPER     - IDENTIFIES THIS USER AS A TERMINAL USER WITH AUTHORITY TO
             ISSUE THE OPERATOR COMMANDS, ALLOWED ONLY WHEN CREATING A
             NEW USER ENTRY
))NOOPER   - MEANS THIS USER MAY NOT ISSUE THE OPERATOR COMMANDS,
             ALLOWED ONLY WHEN CREATING A NEW USER ENTRY
))ACCT     - IDENTIFIES THIS USER AS A TERMINAL USER WITH AUTHORITY TO
             ISSUE THE ACCOUNT COMMANDS, ALLOWED ONLY WHEN CREATING A
             NEW USER ENTRY
))NOACCT   - MEANS THIS USER MAY NOT ISSUE THE ACCOUNT COMMANDS,
             ALLOWED ONLY WHEN CREATING A NEW USER ENTRY
))JCL      - IDENTIFIES THIS USER AS A TERMINAL USER WITH AUTHORITY TO
             ISSUE THE SUBMIT, CANCEL, STATUS, AND OUTPUT COMMANDS,
             ALLOWED ONLY WHEN CREATING A NEW USER ENTRY
))NOJCL    - MEANS THIS USER MAY NOT ISSUE THE SUBMIT, CANCEL, STATUS,
             AND OUTPUT COMMANDS, ALLOWED ONLY WHEN CREATING A NEW USER
             ENTRY
))MOUNT    - IDENTIFIES THIS USER AS A TERMINAL USER WITH THE ABILITY
             TO ISSUE DYNAMIC ALLOCATION REQUESTS THAT CAUSE VOLUME
             MOUNTING, ALLOWED ONLY WHEN CREATING A NEW USER ENTRY
))NOMOUNT  - MEANS THIS USER MAY NOT USE THE MOUNT FUNCTION, ALLOWED
             ONLY WHEN CREATING A NEW USER ENTRY
))USERDATA('DIGITS')
           - INSTALLATION DATA FOR THIS USER IDENTITY, ALLOWED ONLY
             WHEN CREATING A NEW USER ENTRY

    'DIGITS'
           - FOUR EBCDIC CHARACTERS REPRESENTING HEXADECIMAL DIGITS
))DEST('NAME')
           - DESTINATION TO WHICH SYSOUT DATA SETS WILL BE ROUTED,
             ALLOWED ONLY WHEN CREATING A NEW USER ENTRY
    'NAME' - FIRST CHARACTER  - ALPHABETIC, NATIONAL, OR NUMERIC
             OTHER CHARACTERS - ALPHABETIC, NATIONAL, OR NUMERIC
             MAXIMUM LENGTH   - 7
))PERFORM('DIGITS')
           - SPECIFIES THE PERFORMANCE GROUPS THE USER IS AUTHORIZED
             TO REQUEST AT LOGON, ALLOWED ONLY WHEN CREATING A NEW
             USER ENTRY
    'DIGITS'
           - A LIST OF NUMBERS FROM 1 TO 255
))NOPERFORM
           - THIS USER IS NOT AUTHORIZED TO SPECIFY PERFORMANCE GROUPS
             AT LOGON, ALLOWED ONLY WHEN CREATING A NEW USER ENTRY
))SIZE('INTEGER')
           - REGION SIZE FOR PROCEDURE NAMED IN 'PROCNAME'
    'INTEGER'
           - NUMBER OF 1024 BYTE UNITS - MAXIMUM VALUE IS 65534
  NOTE     - THE 'SIZE' VALUE SHOULD BE LESS THAN THE 'MAXSIZE' VALUE.
             IF IT IS NOT, THE 'MAXSIZE' VALUE WILL BE USED INSTEAD.
))UNIT('NAME')
           - DEVICE GROUP ESOTERIC NAME FOR DYNAMIC ALLOCATION
    'NAME' - FIRST CHARACTER  - ALPHABETIC, NATIONAL, OR NUMERIC
             OTHER CHARACTERS - ALPHABETIC, NATIONAL, OR NUMERIC
             MAXIMUM LENGTH   - 8
  NOTE     - IF UNIT IS OMITTED, A FIELD OF 8 BLANKS IS CREATED
))DATA('PASSWORD'/('PASSWORD',...)/* 'ACCTNMBR'/('ACCTNMBR',...)/*
       'PROCNAME'/('PROCNAME',...))
           - NEW INFORMATION TO BE ADDED TO AN EXISTING ENTRY AS
             SPECIFIED IN THE FIRST OPERAND.
    'PASSWORD'
           - USER'S AUTHORIZATION FOR SYSTEM FACILITIES
             FIRST CHARACTER  - ALPHABETIC, NATIONAL, OR NUMERIC
             OTHER CHARACTERS - ALPHABETIC, NATIONAL, OR NUMERIC
             MAXIMUM LENGTH   - 8
    'ACCTNMBR'

           - USER'S ACCOUNTING DATA IDENTIFICATION
             ANY EBCDIC CHARACTERS EXCEPT BLANK, COMMA, TAB,
             SEMICOLON, AND APOSTROPHE
             MAXIMUM LENGTH   - 40
    'PROCNAME'
           - PROCEDURE NAME FOR LOGON
             FIRST CHARACTER  - ALPHABETIC OR NATIONAL (£,@,#)
             OTHER CHARACTERS - ALPHABETIC, NATIONAL, OR NUMERIC
             MAXIMUM LENGTH   - 8

RAKF

SU1TK3 Settings

SYS1.PROCLIB(RAKFINIT)

//RAKFINIT PROC
//RAKFINIT EXEC PGM=RAKFINIT
//SYSABEND  DD  SYSOUT=P

SYS1.PROCLIB(RAKFPROF)

//RAKFPROF PROC
//RAKFPROF EXEC PGM=RAKFPROF
//INPUT     DD  DISP=SHR,DSN=SYS2.RAKFPROF

SYS1.PROCLIB(RAKFUSER)
//RAKFUSER PROC
//RAKFUSER EXEC PGM=RAKFUSER
//INPUT     DD  DISP=SHR,DSN=SYS2.RAKFUSER

SYS1.PROCLIB(RAKFPWUP)
//RAKFPWUP PROC
//RAKFPWUP EXEC PGM=RAKFPWUP
//INPUT     DD  DISP=SHR,DSN=SYS2.RAKFUSER


"Finally, it is recommended to make a slight change to the OPEN processing in MVS so that RAKF is always called. This can be achieved by applying the following zap…

// EXEC PGM=AMASPZAP
//SYSLIB DD DISP=SHR,DSN=SYS1.LPALIB
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
NAME IFG0194A IFG0194C
VER 1392 47E0
REP 1392 4700
VER 13FA 47E0
REP 13FA 4700

"This ZAP has UZ74083 as a prerequisite. This is the level of Volker’s Turnkey 3 system.

It is not know if this     was applied in TK3SU1

---

SYS2.RAKFPROF

DATASET *                                                   READ
DATASET RAKF.V1R0M0.CNTL                                    NONE
DATASET RAKF.V1R0M0.CNTL                            RAKFADM UPDATE
DATASET SYS*                                                ALTER
DATASET SYS1.*                                              READ
DATASET SYS1.BRODCAST                                       UPDATE
DATASET SYS2.*                                              READ
DATASET SYS2.RAKF*                                          NONE
DATASET SYS2.RAKF*                                  RAKFADM UPDATE
PROGRAM *                                                   READ
TERMINAL*                                                   READ

This has been changed to 

DASDVOL *                                                   NONE
DATASET *                                                   READ
DATASET RAKF.V1R0M0.CNTL                                    NONE
DATASET RAKF.V1R0M0.CNTL                            RAKFADM UPDATE
DATASET SYS1.BRODCAST                                       UPDATE
DATASET SYS2.RAKF*                                          NONE
DATASET SYS2.RAKF*                                  RAKFADM UPDATE
PROGRAM *                                                   READ
TAPEVOL *                                                   NONE
TERMINAL*                                                   READ

---

SYS2.RAKFUSER

HERC01   RAKFADM *BIGFOOT  Y OPERATIONS
HERC01   SYSTEM  *BIGFOOT  Y OPERATIONS
HERC02   RAKFADM *PINKY    Y OPERATIONS
HERC02   SYSTEM  *PINKY    Y OPERATIONS
HERC03   USER     SIMPLE   N Normal user
HERC04   USER     ACOL     N Normal user
IBMUSER  RAKFADM *HENRY    Y Emergency user
IBMUSER  SYSTEM  *HENRY    Y Emergency user

HERC01   RAKFADM  BIGFOOT  Y  OPERATIONS
HERC02   RAKFADM  PINKY    Y  OPERATIONS
HERC03   USER     SIMPLE   N  Normal user
HERC04   USER     ACOL     N  Normal user
IBMUSER  RAKFADM  HENRY    Y  Emergency user

IPL Option
/r 0,sysp=RA

Messaage (normal - seem to be random - order of start-up?)
19.51.01 STC  163  RAKF0003 RESOURCE TABLE INVALID/MISSING: ALLOWED:STC

19.51.01 STC  163  RAKF0009  STC     ,RAKFUSER,DATASET ,SYS2.RAKFUSER