   C I C S Q U E N  -  Platform: MVS/CICS

   This program is a resolution of the eight chess queens problem,
that is, in a chessboard you must put 8 queens in a way that every
queen cannot hit any other queen.
   This version is exactly equal to the TSO version, and is a demo of the
portability of a Hilmas interactive program written in line mode, that
is without full screens maps.


   In this distribution file (CICSQUEN.ZIP) there is:

CICSQUEN.OBJ             executable for MVS/CICS mainframe, in obj form
CICSQUEN.HIL             Hilmas source of this program
README.TXT               this help file 
LINKEDIT.JCL             job example to install CICSQUEN


OBJ installation:

- Create in MVS a sequential file, for example 'MYUSER.PROGRAM.OBJ'
  with RECFM=FB and LRECL=80, for example of 1 cylinder.

- SEND obj module from PC to MVS in this file in BINARY form, with your 
  3270 emulation; the most important thing is a binary transfer (therefore 
  without ASCII CRLF) in a file with record length of 80 bytes.
  Use this PC command (in a PC with IBM/PCOMM 4.1 3270 emulation installed):

     SEND CICSQUEN.OBJ 'MYUSER.PROGRAM.OBJ'

- Prepare a Job to Linkedit transferred obj in a load library visible by
  CICS: use LINKEDIT.JCL as example: fit this JCL to your needs changing 
  library names

- Submit linkedit job to create load module; output library must be a
  load library used by CICS address space.

- Complete installation defining program and transid in PPT and PCT CICS
  tables: 

PPT :
         DFHPPT   TYPE=ENTRY,PROGRAM=CICSQUEN,RSL=PUBLIC

PCT :
         DFHPCT   TYPE=ENTRY,
               TRANSID=QUEN,PROGRAM=CICSQUEN,RSL=PUBLIC

  Put similar parameter if use CEDA interactive CICS management transaction.
  The only important thing is define the language as Assembler (that
is the default in traditional tables, but not in CEDA).


Program instruction:

   This program is a generalization of the classic problem: you can
have a solution for every chessboard size from 4 to 12; and at the same
time this programming problem is a classical example of recursivity.
We thanks to Niklaus Wirth for the algorithm.
   This version is exactly equal to TSO version, and is a demo of the
portability of a Hilmas program.

   To test the program, write in your CICS session, in a empty screen

      QUEN

   that is the transid associated with the program CICSQUEN.

   The program starts and ask you the size of the chessboard; then,
for every output line a solution is showed: the first number is the row
where to put a queen in the first column; the second number is the row 
where to put the second queen in the second column, and so on.

   Note just this difference with TSO version: if a screen in line
mode is filled, in TSO, system displays a prompt (the three star '***')
to allow the user to read the screen before the next, (as like in CMS 
with '...MORE') whereas in CICS nothing of this happens and, since
Hilmas don't manage independently this prompt, a continuous wrap over
of the screen happens.

