Créer une application CICS simple

Transcription

Créer une application CICS simple
Tutor33.doc ww97, Version 1.2
Exercice No. 3
Créer une application CICS simple
TCPIP MSG10 ==> SOURCE DATA SET = SYS1.LOCAL.VTAMLST(USSTCPIP)
02/04/01
W E L C O ME
T O
16:54:39
SSSSSS
//
3333333
9999999
0000000
SS
//
33
33
99
99
00
00
SS
//
33
99
99
00
00
SSSS
//
33333
9999999
00
00
SS //
33
99
00
00
SS //
33
33
99
99
00
00
SSSSSSS //
3333333
9999999
0000000
YOUR TERMINAL NAME IS :
YOUR IP ADDRESS IS : 217.002.090.033
APPLICATION DEVELOPMENT SYSTEM
OS/390 RELEASE 2.7.0
===> ENTER "L " FOLLOWED BY THE APPLID YOU WISH TO LOGON TO. EXAMPLE "L TSO"
FOR TSO/E OR "L C001" FOR THE CICSC001 CICS APPLICATION.
_
l tso
Nous voulons écrire un programme CICS simple “Hello World“.
Souvenez vous: TSO est système secondaire du OS/390. CICS est un autre système secondaire du
OS/390. Chacun des deux systèmes secondaires a sa propre interface (son propre Shell). Pour créer
une application CICS, vous devez travailler avec les deux systèmes. Avec TSO pour la construire et
avec CICS pour l‘exécuter (sous le système secondaire CICS). Puisque l’OS/390 est un système
d’exploitation multi-utilisateur (capable de multisessions), Vous pouvez faire fonctionner une session
TSO et en même temps une session CICS sous NT sur vôtre PC. Chaque session fonctionne dans sa
propre fenêtre.
Démarez l‘émulateur 3270 d’abord pour une session TSO puis plus tard une deuxième fois pour une
session CICS.
Commençez avec la session TSO et le processus logon.
1
Menu RefList Utilities Help
-----------------------------------------------------------------------------Data Set Utility
A
R
D
blank
Allocate new data set
Rename entire data set
Delete entire data set
Data set information
C
U
S
M
V
Catalog data set
Uncatalog data set
Data set information (short)
Allocate new data set
VSAM Utilities
ISPF Library:
Project . . PRAKT16
Group . . . CICS
Type . . . . TEST16
Other Partitioned, Sequential or VSAM Data Set:
Data Set Name . . .
Volume Serial . . .
(If not cataloged, required for option "C")
Data Set Password
Option ===>
F1=Help
. .
F3=Exit
(If password protected)
F10=Actions
F12=Cancel
Travaillez sous l’écran “Data Set Utility“ et créez (Allocate) un nouveau “Partitioned Data Set“
PRAKT16.CICS.TEST04
Menu RefList Utilities Help
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
Allocate New Data Set
More:
+
Data Set Name . . . : PRAKT16.CICS.TEST16
Management class
Storage class .
Volume serial .
Device type . .
Data class . . .
Space units . .
.
.
.
.
.
.
.
.
.
.
.
.
Average record unit
Primary quantity .
Secondary quantity
Directory blocks .
Record format . . .
Record length . . .
Block size . . . .
Data set name type
Command ===>
F1=Help
.
.
.
.
.
. MEGABYTE
. 2
1
. 5
. FB
. 80
. 11440
:
F3=Exit
F10=Actions
(Blank for default management class)
(Blank for default storage class)
(Blank for system default volume) **
(Generic unit or device address) **
(Blank for default data class)
(BLKS, TRKS, CYLS, KB, MB, BYTES
or RECORDS)
(M, K, or U)
(In above units)
(In above units)
(Zero for sequential data set) *
(LIBRARY, HFS, PDS, or blank)
(YY/MM/DD, YYYY/MM/DD
*
F12=Cancel
Tapez sur la touche Entrer.
2
Menu RefList Utilities Help
-----------------------------------------------------------------------------Data Set Utility
Data set allocated
A
R
D
blank
Allocate new data set
Rename entire data set
Delete entire data set
Data set information
C
U
S
M
V
Catalog data set
Uncatalog data set
Data set information (short)
Allocate new data set
VSAM Utilities
ISPF Library:
Project . . PRAKT16
Group . . . LIB
Type . . . .
Other Partitioned, Sequential or VSAM Data Set:
Data Set Name . . . 'PRAKT16.LIB'
Volume Serial . . .
(If not cataloged, required for option "C")
Data Set Password
. .
Option ===> a
F1=Help
F3=Exit
(If password protected)
F10=Actions
F12=Cancel
D’autre part vous avez besoin encore d’un “Partitioned Data Set“avec un nom de la forme “userid.LIB“, que l’on remplira de données “Members“ depuis l’environnement de développement pendant
l’élaboration du programme CICS. L‘utilisateur PRAKT16 a le nom “PRAKT16.LIB“.
Le nom se situe aux lignes “Project“ et “Group“. Mais il manque
le “Type“. Il est possible que TSO n’accepte pas si nous laissons le “Type“vide. Pour remédier à cela
entrons le nom PRAKT16.LIB (en lettres capitales) sur la ligne “Data Set Name“. Ainsi ce “Data Set“
sera également alloué.
Menu RefList Utilities Help
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
Allocate New Data Set
More:
+
Data Set Name . . . : PRAKT16.LIB
Management class
Storage class .
Volume serial .
Device type . .
Data class . . .
Space units . .
.
.
.
.
.
.
.
.
.
.
.
.
Average record unit
Primary quantity .
Secondary quantity
Directory blocks .
Record format . . .
Record length . . .
Block size . . . .
Data set name type
Command ===>
F1=Help
.
.
.
.
.
. MEGABYTE
. 2
1
. 5
. FB
. 80
. 11440
:
F3=Exit
F10=Actions
(Blank for default management class)
(Blank for default storage class)
(Blank for system default volume) **
(Generic unit or device address) **
(Blank for default data class)
(BLKS, TRKS, CYLS, KB, MB, BYTES
or RECORDS)
(M, K, or U)
(In above units)
(In above units)
(Zero for sequential data set) *
(LIBRARY, HFS, PDS, or blank)
(YY/MM/DD, YYYY/MM/DD
*
F12=Cancel
Tapez sur la touche Entrer
3
Menu RefList Utilities Help
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
Data Set Utility
Data set allocated
A
R
D
blank
Allocate new data set
Rename entire data set
Delete entire data set
Data set information
C
U
S
M
V
Catalog data set
Uncatalog data set
Data set information (short)
Allocate new data set
VSAM Utilities
ISPF Library:
Project . . PRAKT16
Group . . . LIB
Type . . . .
Other Partitioned, Sequential or VSAM Data Set:
Data Set Name . . . 'PRAKT16.LIB'
Volume Serial . . .
(If not cataloged, required for option "C")
Data Set Password
Option ===>
F1=Help
. .
F3=Exit
(If password protected)
F10=Actions
F12=Cancel
Ce “Data Set“a été aussi alloué.
4
Vôtre application se compose de deux parties de programme et d’un texte JCL pour la traduction.
Nous entrons cette application comme “Members“ dans le nouveau “Partitioned Data Set“
PRAKT16.CICS.TEST16.
Le développement de programmes CICS permet beaucoup de libertés. Si souhaité, vous pouvez créer
au choix des codes sauvages en spagettis.
Un programme CICS structuré correctement se compose de deux parties: business logique et présentation logique. Business logique est la partie dans laquelle sont effectués des calculs et sont
lues/écrites des données dans une base de données. Présentation logique est la partie dans laquelle
sont représentés les résultats des calculs dans écran agréable pour l‘utilisateur.
Business logique est écris dans un langage comme C++, COBOL, PL/1 etc. Il y a beaucoup d’autres
choix pour la présentation logique. Le plus moderne d’entres eux est l‘utilisation de pages serveur
Java et une application serveur du Web pour représenter le contenu de l’écran dans une “Web
browsers“. Le plus vieux (et plus simple) choix fait appel au système secondaire CICS BMS (Basic
Mapping Support). Les programmes BMS sont écris dans le language BMS. Dans nôtre exemple le
Business logique est écris en C et la présentation logique en BMS.
Commençez avec cette dernière; appelez l’écran “Edit Entry Panel“ (voir l‘illustration 23 dans nôtre
exemple TSO) et créez un “Member““MAP16“ pour être mis à nouveau dans le “Partitioned Data Set“
PRAKT16.CICS.TEST16.
CICS
Subsystem
DB2
Subsystem
JES
Subsystem
TSO
Subsystem
OS/390 Kernel
Présentation
Logique
Business
Logique
BMS, autre
C, Cobol, ...
Application CICS
5
File Edit Confirm Menu Utilities Compilers Test Help
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
VIEW
PRAKT16.CICS.TEST16(MAP16) - 01.05
Columns 00001 00072
****** ***************************** Top of Data ******************************
==MSG> -Warning- The UNDO command is not available until you change
==MSG>
your edit profile using the command RECOVERY ON.
000001 //PREPARE JOB (),CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1),NOTIFY=&SYSUID
000002 //ASSEM
EXEC DFHMAPS,MAPNAME='P16SET',RMODE=24
000003 //SYSUT1
DD *
000004 P16SET DFHMSD TYPE=MAP,MODE=INOUT,LANG=C,STORAGE=AUTO,TIOAPFX=YES
000005 *
MENU MAP.
000006 LABEL16 DFHMDI SIZE=(24,80),CTRL=(PRINT,FREEKB)
000007
DFHMDF POS=(9,23),ATTRB=(ASKIP,NORM),LENGTH=34,
X
000008
INITIAL='WELCOME TO THE MAGIC WORLD OF CICS'
000009
DFHMDF POS=(12,27),ATTRB=(ASKIP,NORM),LENGTH=26,
000010
INITIAL='MAY THE FORCE BE WITH YOU'
000011
DFHMSD TYPE=FINAL
000012
END
000013 /*
000014 //
****** **************************** Bottom of Data ****************************
Command ===> SUB
F1=Help
F3=Exit
F5=Rfind
F6=Rchange
Scroll ===> PAGE
F12=Cancel
Vôtre programme BMS utilise 3 types d‘ordres: DFHMSD, DFHMDI et DFHMDF.
Un écran BMS utilise une résolution 24 x 80 (format d’écran 3270). Les données entrées et leurs résultats sont représentés à l’interieur d’un champ de matrice 24 x 80 avec les informations suivantes:
numéro de ligne, de colonne et longueur du champ. Ceci apparaît à l’aide de la commande DFHMDF.
L’ordre DFHMDF à la ligne 000007 définie un champ situé à la ligne 9, qui débute à la colonne 23,
d’une longueur de 34 lettres et avec l’inscription “Welcome to the magic World of CICS“initialisée.
Nôtre exemple de programme BMS contient 2 ordres DFHMDF de ce genre.
L’ordre DFHMSD (ligne 000004) définie un “Mapset“ avec le nom “P16SET“. Une transaction implique
en général plusieurs écrans différents, par exemple un écran dans lequel l‘utilisateur peut effectuer
une saisie et visualiser sur un autre écran le résultat. Tous les écrans (Maps) d’un type de transaction
sont répertoriés dans un “Mapset“.
Les différents “Maps“ (Screens) d‘un “Mapsets“ sont définient par l‘ordre DFHMDI et sont caractérisés
par des étiquettes. Dans vôtre exemple simple Hello World, le “Mapset“ se compose d’une seule Map
qui est définie par la désignation “Label16“ligne 000006.
Le “Member“ PRAKT16.CICS.TEST16(MAP16) représente en réalité un texte JCL. Contrairement à
l’image 29, dans nôtre exemple TSO les fichiers à traiter ne sont pas indiqués par INFILE=‘xxx.yyy.zzz’. L’ordre JCL à la ligne 000003 “//SYSUT1 DD *“ signifie que le fichier à traiter se
situe à la ligne suivante (ligne 000004 à 000012).
Tapez sur la ligne de commande la fonction ISPF “SUB“. Cela exporte la procédure DFHMAPS.
JCL trouve le “Member““DFHMAPS“(ligne 000002) dans la librairie SYS1.PROCLIB(DFHMAPS).
Deux fichiers résultent de l’utilisation de l’ordre DFHMAPS. Un contient la traduction du code source
BMS qui est placée dans un “Member“dans une “MAPLIB“ portant le nom
“CICSTS13.CICS.SDFHLOAD“. Vous pourrez trouvez ici plus tard les composants BMS du système
secondaire.
6
20.15.30 JOB04634 $HASP165 PREPARE
***
ENDED AT N1
MAXCC=8 CN(INTERNAL)
Tapez sur la touche Entrer.
File Edit Confirm Menu Utilities Compilers Test Help
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
VIEW
PRAKT16.LIB(P16SET) - 01.00
Columns 00001 00072
****** ***************************** Top of Data ******************************
==MSG> -CAUTION- Data contains invalid (non-display) characters. Use command
==MSG>
===> FIND P'.' to position cursor to these
==MSG> -Warning- The UNDO command is not available until you change
==MSG>
your edit profile using the command RECOVERY ON.
000001 union
000002 {
000003 struct {
000004
char
dfhms1 12 ;
000005
} label16i;
000006
000007 struct {
000008
char
dfhms2 12 ;
000009
} label16o;
000010
000011 } label16;
000012
****** **************************** Bottom of Data ****************************
Command ===>
F1=Help
F3=Exit
F5=Rfind
F6=Rchange
Scroll ===> PAGE
F12=Cancel
Le deuxième fichier est placé comme “Member““P16SET“ dans le “Partitioned Data Set“
“PRAKT16.LIB“.
Ceci est envisagé pour aider dans la création d’un programme (en langage C) Business logique.
Toutes les données saisies et leurs résultats, qui doivent être affichés sur l‘écrans, sont déjà définient
par le programme BMS. Ce programme business logique utilise ces données comme des structures C
qui sont unifiées, werden von DFHMAPS während der Übersetzung von MAP16 gleich miterzeugt und
in PRAKT16.LIB(S04SET) abgespeichert.
7
Lors de la création du programme business logique, s’offre à vous la possibilité d’utiliser et de parachever SPRUTH.LIB(P16SET) comme base. Par ceci on garantie (erreurs exclues), que des présentations logiques et des business logiques utilisent des représentations de donnés identiques.
File Edit Confirm Menu Utilities Compilers Test Help
------------------------------------------------------------------------------VIEW
SPRUTH.LIB(S04SET) - 01.00
Columns 00001 00072
****** ***************************** Top of Data ******************************
==MSG> -Warning- The UNDO command is not available until you change
==MSG>
your edit profile using the command RECOVERY ON.
000001 union
000002 {
000003 struct {
000004
char
dfhms1Ý12¨;
000005
} label04i;
000006
000007 struct {
000008
char
dfhms2Ý12¨;
000009
} label04o;
000010
000011 } label04;
000012
****** **************************** Bottom of Data ****************************
Command ===>
F1=Help
F3=Exit
F5=Rfind
F6=Rchange
Scroll ===> PAGE
F12=Cancel
Il est possible qu’il apparaisse un “Ý “comme dans la représentation du PRAKT16.LIB(P16SET) cidessus. Cela doit faire quelquechose avec le “Problème des crochets" lors de la création de programme C et tritt z.B. auf, si vous travaillez avec la page de code 037 du OS/390 à la place de la page
de code 1047. Les applications de l‘OS/390 utilisent fréquement la page 037. Nous vous recommandons de sélectionner la page code 1047 pour vôtre client 3270 (émulateur 3270).
Souvenez vous: TSO enregistre toutes ses donneés dans le format EBCDIC. Dans ce format il y a
deux représentations pour les crochets selon la page code utilisée, à savoir
Character
ASCII hex
Vrai EBCDIC hex
Faux EBCDIC hex
Left Square ( [ )
x’5B’
x’AD’
x’BA’
Right Square ( ] )
x’5D’
x’BD’
x’BB’
Character
ASCII hex
Vrai EBCDIC hex
Left Square ( [ )
x’5B’
x’AD’
x’BA’
Right Square ( ] )
x’5D’
x’BD’
x’BB’
Faux EBCDIC hex
L‘émulateur 3270 représentera fréquement hex BA et hex BB par des crochets " [ " et " ] ", tandis que
hex AD et hex BD sont représentés par Ý et ¨. Toutefois, il est possible de modifier la représentation avec la plupart des émulateurs 3270 même si dans l’exemple ci-dessus cela n’a pas été fait.
Il est important de comprendre ce problème. Si vôtre émulateur 3270 n’a pas été reconfiguré, il y a de
fortes chances que le problème survienne. La procédure primitive est la suivante:
Lors de la saisie d’un programme les symboles " [ " et " ] "sont employés à leur juste valeur. Cependant, ces derniers sont ensuite faussement enregistrés comme x'BA et x'BB.
8
Après avoir entré le programme, deux fonctions ISPF de changement globaux "Change" vous sont
proposées en tapant sur la ligne de commande:
C [ x'ad' all
C ] x'bd' all
Le symbole " [ " est remplacé par la valeur hexadécimale hex "ad". Il en va de même pour le symbole
" ] " par hex "bd".
"change" peut également être entré au lieu d’un "C".
9
Développez vôtre application sous TSO. Mais vous la fairez fonctionner sous CICS. De plus elle devra
être en partie installée sous CICS. C’est plus confortable de travailler avec deux sessions OS/390
ouvertes en même temps. La fenêtre située en haut à gauche de l’écran ci-dessus montre une session TSO. Ouvrez une deuxième session OS/390 en rappelant l‘émulateur 3270. La deuxième session
est représentée ci-dessus par la fenêtre en bas à droite.
Il est possible d’ouvrir une autre session comme précédement indiqué en utilisant l’émulateur
JET3270 en cliquant sur JET dans la partie droite du panneau en haut de la fenêtre. Vous pouvez
également obtenir le même résultat avec l’aide de l‘Explorateur NT.
Dans la cas d‘un "IBM Personal Communications":
>start > Programme > IBM Personal Communications > Début ou configuration de session.
Ils configurent la session de la même manière que la première fois.
Puisque l‘OS/390 est un serveur multiutilisateur, ils peuvent utiliser plusieurs sans problème plusieurs
sessions en même temps. Alors pourquoi pas ouvrir deux sessions sur un même PC par
l’établissement de la même liason LAN ou ISDN.
10
TCPIP MSG10 ==> SOURCE DATA SET = SYS1.LOCAL.VTAMLST(USSTCPIP)
02/04/01
W E L C O ME
T O
08:55:40
SSSSSS
//
3333333
9999999
0000000
SS
//
33
33
99
99
00
00
SS
//
33
99
99
00
00
SSSS
//
33333
9999999
00
00
SS //
33
99
00
00
SS //
33
33
99
99
00
00
SSSSSSS //
3333333
9999999
0000000
YOUR TERMINAL NAME IS :
YOUR IP ADDRESS IS : 217.002.089.066
APPLICATION DEVELOPMENT SYSTEM
OS/390 RELEASE 2.7.0
===> ENTER "L " FOLLOWED BY THE APPLID YOU WISH TO LOGON TO. EXAMPLE "L TSO"
FOR TSO/E OR "L C001" FOR THE CICSC001 CICS APPLICATION.
_
l C001
Procédez au logon et appellez le système secondaire CICS du OS/390 en tapant C001.
CICS C001 A06C001
IBM DEMONSTRATION SYSTEM 24:00:00
******\
********\
**\\\\**\
**\
\\
**\
**\
**\
**\
**\
********\
******\\
\\\\\\
******\
******\
**\\\
**\
**\
**\
**\
**\
******\
******\
\\\\\\
******\
********\
**\\\\**\
**\
\\
**\
**\
**\
**\
**\
********\
******\\
\\\\\\
******\
********\
**\\\\**\
**\
\\
*******\
*******\
\\\\**\
**\
**\
********\
******\\
\\\\\\ TM
L’écran d’accueil CICS apparaît.
Tapez sur la touche Entrer.
11
CICS C001 A06C001
IBM DEMONSTRATION SYSTEM 24:00:00
******\
********\
**\\\\**\
**\
\\
**\
**\
**\
**\
**\
********\
******\\
\\\\\\
******\
******\
**\\\
**\
**\
**\
**\
**\
******\
******\
\\\\\\
******\
********\
**\\\\**\
**\
\\
**\
**\
**\
**\
**\
********\
******\\
\\\\\\
******\
********\
**\\\\**\
**\
\\
*******\
*******\
\\\\**\
**\
**\
********\
******\\
\\\\\\ TM
DFHAC2001 02/04/01 11:01:01 A06C001 Transaction '' is not recognized. Check
that the transaction name is correct.
Un message d’erreur s‘affiche (sans importance). Déplacez le curseur sur la dernière ligne avec la
touche Tab.
CICS C001 A06C001
IBM DEMONSTRATION SYSTEM 24:00:00
******\
********\
**\\\\**\
**\
\\
**\
**\
**\
**\
**\
********\
******\\
\\\\\\
******\
******\
**\\\
**\
**\
**\
**\
**\
******\
******\
\\\\\\
******\
********\
**\\\\**\
**\
\\
**\
**\
**\
**\
**\
********\
******\\
\\\\\\
******\
********\
**\\\\**\
**\
\\
*******\
*******\
\\\\**\
**\
**\
********\
******\\
\\\\\\ TM
DFHAC2001 02/04/01 11:01:01 A06C001 Transaction '' is not recognized. Check
that the transaction name is correct. CEDA DISPLAY GROUP(*)
CICS attend que vous appeliez une transaction (parmi de nombreuses). Les différentes transactions
(applications) sont appelées normalement par la saisie des quattre lettres d’une transaction ID.
L’interpréteur de commande CICS est également utilisé comme transaction. Il est appelé avec la transaction ID "CEDA", suivi par une liste de paramètres qui contient des commandes CICS ainsi que des
saisies de données.
Comme exemple tapez la commande "ceda display group(*)". Puis tapez sur la touche Entrer
12
DISPLAY GROUP(*)
ENTER COMMANDS
GROUP
AOR2TOR
ARTT
ATC
CBPS
CEE
CICREXX
CSQ
CSQCKB
CSQSAMP
CTA1TCP
C001EZA
C001TCP
DBA1
DFH$ACCT
DFH$AFFY
DFH$AFLA
+ DFH$BABR
SYSID=C001 APPLID=A06C001
RESULTS: 1 TO 17
TIME: 00.00.00 DATE: 01.035
PF 1 HELP
3 END 4 TOP 5 BOT 6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL
Lorsque sont installées des applications (transactions) sous CICS, un "Group" (groupe) est créé pour
chaque transaction. Des "Members" comme le programme de l‘application lui-même se trouvent dans
le "Group", der dazugehörige Mapset sowie ein Eintrag, der die Transaktion mit einer (normalement à
4 positions) TRID (Transactions ID) verknüpft.
La liste des groupes déjà installés est longue de 17 écrans (on peut les faire défiler grâce aux touches
F8 et F7).
CEDA DEFINE MAPSET(P16SET) GROUP(PR16A)
ENTER COMMANDS
GROUP
AOR2TOR
ARTT
ATC
CBPS
CEE
CICREXX
CSQ
CSQCKB
CSQSAMP
CTA1TCP
C001EZA
C001TCP
DAVIN15
DAVIN4
DAVIN8
DAVIN85
+ DAVIN9
SYSID=C001 APPLID=A06C001
RESULTS: 1 TO 17
TIME: 10.09.38 DATE: 01.221
PF 1 HELP
3 END 4 TOP 5 BOT 6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL
Définissez pour vôtre transaction un groupe propre "PR16A" et la dazugehörigen Mapset dans
"P16SET". Pour cela, écrivez sur la première ligne, celle qui sert de ligne de commande, l‘ordre CEDA
suivant: "CEDA DEFINE MAPSET(P16SET) GROUP(PR16A)". Veuillez utiliser des lettres majuscules!
Si vous faites une erreur, vous pouvez appelez l‘aide avec la touche F1. Par exemple,. Vous pouvez
supprimer un mauvais groupe entré avec la fonction DELETE.
Tapez sur la touche Entrer.
13
CEDA DEFINE MAPSET(P16SET) GROUP(PR16A)
OVERTYPE TO MODIFY
CEDA DEFine Mapset( P16SET
)
Mapset
: P16SET
Group
: PR16A
Description ==>
REsident
==> No
USAge
==> Normal
USElpacopy
==> No
Status
==> Enabled
RSl
: 00
CICS RELEASE = 0530
No | Yes
Normal | Transient
No | Yes
Enabled | Disabled
0-24 | Public
I New group PR16A created.
SYSID=C001 APPLID=A06C001
TIME: 11.27.07 DATE: 01.221
6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL
DEFINE SUCCESSFUL
PF 1 HELP 2 COM 3 END
CICS vous informe que le nouveau groupe "PR16A" a été créé. Taper à nouveau l‘ordre CEDA DISPLAY GROUP(*), alors vous trouverez dans la liste l‘entrée PR16A.
CEDA INSTALL GROUP(PR16A)
OVERTYPE TO MODIFY
CEDA DEFine Mapset( P16SET
Mapset
: P16SET
Group
: PR16A
Description ==>
REsident
==> No
USAge
==> Normal
USElpacopy
==> No
Status
==> Enabled
RSl
: 00
CICS RELEASE = 0530
)
No | Yes
Normal | Transient
No | Yes
Enabled | Disabled
0-24 | Public
I New group PR16A created.
DEFINE SUCCESSFUL
PF 1 HELP 2 COM 3 END
SYSID=C001 APPLID=A06C001
TIME: 11.27.07 DATE: 01.221
6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL
Jusqu’à présent, vous avez communiqué avec le système secondaire CICS et dit qu‘un nouveau
groupe “PR16A“ existait contenant un Mapset “P16SET“. Dans la prochaine étape, vous devrez installer PR16A dans la bibliothèque du programme de l‘application par le biais de CICS. Ceci est réalisable avec la commande INSTALL de l’interpréteur de lignes de commande CEDA. Elle se situe sur
la première ligne.
Tapez sur la touche Entrer.
14
CEDA INSTALL GROUP(PR16A)
OVERTYPE TO MODIFY
CEDA Install
All
Connection
==>
DB2Conn
==>
DB2Entry
==>
DB2Tran
==>
DOctemplate ==>
Enqmodel
==>
File
==>
Journalmodel ==>
LSrpool
==>
Mapset
==>
PARTItionset ==>
PARTNer
==>
PROCesstype ==>
PROFile
==>
PROGram
==>
+ Requestmodel ==>
INSTALL SUCCESSFUL
PF 1 HELP
3 END
SYSID=C001 APPLID=A06C001
TIME: 11.33.41 DATE: 01.221
6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL
CEDA vous informe que l’installation à été réussi.
Changer de fenêtre TSO et appelez le “Member“ PRAKT16.LIB(P16SET).
File Edit Confirm Menu Utilities Compilers Test Help
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
VIEW
PRAKT16.LIB(P16SET) - 01.00
Columns 00001 00072
****** ***************************** Top of Data ******************************
==MSG> -CAUTION- Data contains invalid (non-display) characters. Use command
==MSG>
===> FIND P'.' to position cursor to these
==MSG> -Warning- The UNDO command is not available until you change
==MSG>
your edit profile using the command RECOVERY ON.
000001 union
000002 {
000003 struct {
000004
char
dfhms1 12 ;
000005
} label16i;
000006
000007 struct {
000008
char
dfhms2 12 ;
000009
} label16o;
000010
000011 } label16;
000012
****** **************************** Bottom of Data ****************************
Command ===>
F1=Help
F3=Exit
F5=Rfind
F6=Rchange
Scroll ===> PAGE
F12=Cancel
Bei der Übersetzung des MAP BMS Quellcodes wurde für uns als Nebenprodukt im Member
PRAKT16.LIB(P16SET) ein Template für unser Anwendungsprogramm erzeugt. Wir kopieren den
Member in einen neuen Member PROG16 underes Partitioned Data Sets PRAKT16.CICS.TEST16.
Tapez sur la touche F3.
15
Menu Functions Confirm Utilities Help
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
VIEW
PRAKT16.LIB
Row 00001 of 00001
Name
Prompt
VV MM
Changed
Size Init
Mod
ID
___c_____ P16SET
*Viewed
**End**
Command ===>
F1=Help
Scroll ===> PAGE
F3=Exit
F10=Actions
F12=Cancel
Copiez ce “Member“ en tapant c (copy) devant le nom du “Member“.
Tapez sur la touche Entrer.
RefList Help
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
COPY Entry Panel
More:
+
CURRENT from data set: 'PRAKT16.LIB(P16SET)'
To Library
Project . . . PRAKT16
Group . . . . CICS
Type . . . . TEST16
Replace option:
Enter "/" to select option
Replace like-named members
To Other Data Set Name
Data Set Name . . .
Volume Serial . . .
(If not cataloged)
NEW member name
(Blank unless member to be renamed)
. . . PROG16
Options
Sequential Disposition
2 1. Mod
2. Old
Command ===>
F1=Help
F3=Exit
Pack Option
1 1. Default
2. Pack
SCLM Setting
3 1. SCLM
2. Non-SCLM
3. As is
F12=Cancel
Wir geben als Ziel für den Kopiervorgang das Member PROG16 innerhalb unseres Partitioned Data
Sets Prakt16.CICS.TEST16 an. Dieses Member soll unser C Programm enthalten.
Tapez sur la touche Entrer.
16
Menu Functions Confirm Utilities Help
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
VIEW
PRAKT16.LIB
Row 00001 of 00001
Name
Prompt
VV MM
Changed
Size Init
Mod
ID
_________ P16SET
*Copied
**End**
Command ===>
F1=Help
Scroll ===> PAGE
F3=Exit
F10=Actions
F12=Cancel
Le message "*copied" apparaît. Wir schauen uns das Member SPRUTH.CICS.TEST04(PROG04) an.
Tapez sur la touche F3.
Menu Options View Utilities Compilers Help
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
DSLIST - Data Sets Matching PRAKT16
Row 1 of 8
Command - Enter "/" to select action
Message
Volume
------------------------------------------------------------------------------PRAKT16
*ALIAS
v
PRAKT16.CICS.TEST16
SMS001
PRAKT16.ISPF.ISPPROF
SMS001
PRAKT16.LIB
SMS001
PRAKT16.SPFLOG1.LIST
SMS001
PRAKT16.TEST.C
SMS001
PRAKT16.TEST.CNTL
SMS001
PRAKT16.TEST.LOAD
SMS001
***************************** End of Data Set list ****************************
Command ===>
F1=Help
F3=Exit
Scroll ===> PAGE
F5=Rfind
F12=Cancel
V (View) devant la saisie PRAKT16.CICS.TEST16
Tapez sur la touche Entrer.
A l’écran suivant, tapez à nouveau un "v" devant la saisie PROG16.
Tapez à nouveau sur la touche Entrer.
17
File Edit Confirm Menu Utilities Compilers Test Help
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
VIEW
PRAKT16.CICS.TEST16(PROG16) - 01.00
Columns 00001 00072
****** ***************************** Top of Data ******************************
==MSG> -CAUTION- Data contains invalid (non-display) characters. Use command
==MSG>
===> FIND P'.' to position cursor to these
==MSG> -Warning- The UNDO command is not available until you change
==MSG>
your edit profile using the command RECOVERY ON.
000001 union
000002 {
000003 struct {
000004
char
dfhms1 12 ;
000005
} label16i;
000006
000007 struct {
000008
char
dfhms2 12 ;
000009
} label16o;
000010
000011 } label16;
000012
****** **************************** Bottom of Data ****************************
Command ===>
F1=Help
F3=Exit
F5=Rfind
F6=Rchange
Scroll ===> PAGE
F12=Cancel
Le template occupe les lignes 000001 à 000012.
Taper 5 fois sur la touche F3 vous ramène à l‘écran "ISPF Primary Option". Tapez "2" puis sur la touche Entrer.
Menu RefList RefMode Utilities LMF Workstation Help
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
Edit Entry Panel
ISPF Library:
Project . .
Group . . .
Type . . .
Member . .
.
.
.
.
PRAKT16
CICS
TEST16
PROG16
. . .
. . .
. . .
(Blank or pattern for member selection list)
Other Partitioned or Sequential Data Set:
Data Set Name . . .
Volume Serial . . .
(If not cataloged)
Workstation File:
File Name . . . . .
Initial Macro . .
Profile Name . . .
Format Name . . .
Data Set Password
Command ===>
F1=Help
.
.
.
.
Options
/ Confirm Cancel/Move/Replace
Mixed Mode
Edit on Workstation
Preserve VB record length
.
.
.
.
F3=Exit
F10=Actions
F12=Cancel
Tapez PRAKT16.CICS.TEST16(PROG16) comme Data Set à modifier.
Tapez sur la touche Entrer.
18
File Edit Confirm Menu Utilities Compilers Test Help
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
EDIT
PRAKT16.CICS.TEST16(PROG16) - 01.00
Columns 00001 00072
****** ***************************** Top of Data ******************************
==MSG> -CAUTION- Data contains invalid (non-display) characters. Use command
==MSG>
===> FIND P'.' to position cursor to these
==MSG> -Warning- The UNDO command is not available until you change
==MSG>
your edit profile using the command RECOVERY ON.
==MSG> -CAUTION- Profile is set to STATS ON. Statistics did not exist for
==MSG>
this member, but will be generated if data is saved.
000001 union
000002 {
000003 struct {
000004
char
dfhms1 12 ;
000005
} label16i;
000006
000007 struct {
000008
char
dfhms2 12 ;
000009
} label16o;
000010
000011 } label16;
00i012
Command ===>
Scroll ===> PAGE
F1=Help
F3=Exit
F5=Rfind
F6=Rchange F12=Cancel
Wir erstellen unser CICS Anwendungsprogramm in C, indem wir das hier vorliegende Gerüst vervollständigen. An die vorlegende Union Deklatation hängen wir die eigentliche main Routine an. (Wir erinnern uns, eine Union in C ist eine Variable, die Objekte unterschiedlicheGröße und Typs enthalten
kann - hier zwei Strukturen).
Tapez "i" (Insert) sur la ligne située dessous die union.
Tapez sur la touche Entrer.
File Edit Confirm Menu Utilities Compilers Test Help
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
EDIT
PRAKT16.CICS.TEST16(PROG16) - 01.00
Columns 00001 00072
==MSG> -CAUTION- Data contains invalid (non-display) characters. Use command
==MSG>
===> FIND P'.' to position cursor to these
==MSG> -Warning- The UNDO command is not available until you change
==MSG>
your edit profile using the command RECOVERY ON.
==MSG> -CAUTION- Profile is set to STATS ON. Statistics did not exist for
==MSG>
this member, but will be generated if data is saved.
000001 union
000002 {
000003 struct {
000004
char
dfhms1 12 ;
000005
} label16i;
000006
000007 struct {
000008
char
dfhms2 12 ;
000009
} label16o;
000010
000011 } label16;
000012
'''''' main()
Command ===>
Scroll ===> PAGE
F1=Help
F3=Exit
F5=Rfind
F6=Rchange F12=Cancel
Tapez à présent le premier ordre de vôtre programme C sur la ligne vièrge.
Tapez sur la touche Entrer.
19
File Edit Confirm Menu Utilities Compilers Test Help
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
EDIT
PRAKT16.CICS.TEST16(PROG16) - 01.00
Columns 00001 00072
==MSG> -CAUTION- Profile is set to STATS ON. Statistics did not exist for
==MSG>
this member, but will be generated if data is saved.
000001 union
000002 {
000003 struct {
000004
char
dfhms1 12 ;
000005
} label16i;
000006
000007 struct {
000008
char
dfhms2 12 ;
000009
} label16o;
000010
000011 } label16;
000012
000013 main()
000014 {
000015
EXEC CICS SEND MAP("label16") MAPSET("p16set") ERASE;
'''''' }
****** **************************** Bottom of Data ****************************
Command ===>
Scroll ===> PAGE
F1=Help
F3=Exit
F5=Rfind
F6=Rchange F12=Cancel
Wir vewrvollständigen unser Programm. Es besteht aus einem einzigen Statement
EXEC CICS SEND MAP("label16") MAPSET("p16set") ERASE;
Dieser Befehl bewirkt, daß die BMS Map "label16" aus dem Mapset "p16set" an den 3270 Terminal
gesendet wird.
En actionnant la touche F3 vous enregistrez vôtre programme.
Menu RefList RefMode Utilities LMF Workstation Help
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
Edit Entry Panel
Member PROG16 saved
ISPF Library:
Project . .
Group . . .
Type . . .
Member . .
.
.
.
.
PRAKT16
CICS
TEST16
PROG16
. . .
. . .
. . .
(Blank or pattern for member selection list)
Other Partitioned or Sequential Data Set:
Data Set Name . . .
Volume Serial . . .
(If not cataloged)
Workstation File:
File Name . . . . .
Initial Macro . .
Profile Name . . .
Format Name . . .
Data Set Password
Command ===>
F1=Help
.
.
.
.
Options
/ Confirm Cancel/Move/Replace
Mixed Mode
Edit on Workstation
Preserve VB record length
.
.
.
.
F3=Exit
F10=Actions
F12=Cancel
Wir geben PROG16 ein, um uns das Ergebnis nochmals anzusehen.
Tapez sur la touche Entrer.
20
File Edit Confirm Menu Utilities Compilers Test Help
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
EDIT
PRAKT16.CICS.TEST16(PROG16) - 01.00
Columns 00001 00072
****** ***************************** Top of Data ******************************
==MSG> -CAUTION- Data contains invalid (non-display) characters. Use command
==MSG>
===> FIND P'.' to position cursor to these
==MSG> -Warning- The UNDO command is not available until you change
==MSG>
your edit profile using the command RECOVERY ON.
000001 union
000002 {
000003 struct {
000004
char
dfhms1 12 ;
000005
} label16i;
000006
000007 struct {
000008
char
dfhms2 12 ;
000009
} label16o;
000010
000011 } label16;
000012
000013 main()
000014 {
Command ===>
Scroll ===> PAGE
F1=Help
F3=Exit
F5=Rfind
F6=Rchange F12=Cancel
Vôtre programme erstreckt sich über mehr als einen Bildschirm. Mit der F8 Taste können wir uns Programmzeilen 000015 und 000016 auf dem nächsten Bildschirm ansehen, ...
File Edit Confirm Menu Utilities Compilers Test Help
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
EDIT
PRAKT16.CICS.TEST16(PROG16) - 01.00
Columns 00001 00072
000015
EXEC CICS SEND MAP("label16") MAPSET("p16set") ERASE;
000016 }
****** **************************** Bottom of Data ****************************
Command ===>
F1=Help
F3=Exit
F5=Rfind
F6=Rchange
Scroll ===> PAGE
F12=Cancel
Et en actionnant la touche F7 vous revenez en arière.
En actionnant la touche F3 vous retournez à l‘écran "Edit Entry".
21
Menu RefList RefMode Utilities LMF Workstation Help
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
Edit Entry Panel
ISPF Library:
Project . .
Group . . .
Type . . .
Member . .
.
.
.
.
PRAKT16
CICS
TEST16
START16
. . .
. . .
. . .
(Blank or pattern for member selection list)
Other Partitioned or Sequential Data Set:
Data Set Name . . .
Volume Serial . . .
(If not cataloged)
Workstation File:
File Name . . . . .
Initial Macro . .
Profile Name . . .
Format Name . . .
Data Set Password
Command ===>
F1=Help
.
.
.
.
Options
/ Confirm Cancel/Move/Replace
Mixed Mode
Edit on Workstation
Preserve VB record length
.
.
.
.
F3=Exit
F10=Actions
F12=Cancel
Wir wollen ein JCL Script erstellen, welches under C Programm übersetzt. Hierzu erstellen wir ein
neues Member PRAKT16.CICS.TEST16(START16).
Tapez sur la touche Entrer.
File Edit Confirm Menu Utilities Compilers Test Help
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
EDIT
PRAKT16.CICS.TEST16(START16) - 01.00
Columns 00001 00072
****** ***************************** Top of Data ******************************
==MSG> -Warning- The UNDO command is not available until you change
==MSG>
your edit profile using the command RECOVERY ON.
''''''
''''''
''''''
''''''
''''''
''''''
''''''
''''''
''''''
''''''
''''''
''''''
''''''
''''''
''''''
''''''
Command ===>
Scroll ===> PAGE
F1=Help
F3=Exit
F5=Rfind
F6=Rchange F12=Cancel
Ein leerer Edit Bildschirm erscheint, in den
22
File Edit Confirm Menu Utilities Compilers Test Help
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
EDIT
PRAKT16.CICS.TEST16(START16) - 01.03
Columns 00001 00072
****** ***************************** Top of Data ******************************
==MSG> -CAUTION- Profile changed to NUMBER ON STD (from NUMBER OFF).
==MSG>
Data has valid standard numbers.
==MSG> -CAUTION- Profile changed to CAPS ON (from CAPS OFF) because the
==MSG>
data does not contain any lower case characters.
==MSG> -Warning- The UNDO command is not available until you change
==MSG>
your edit profile using the command RECOVERY ON.
000010 //CICSPRE JOB (),CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1),NOTIFY=&SYSUID,
000020 //
TIME=1440
001100 //
EXEC PROC=CTOCICS,REG=0M
001300 //TRN.SYSIN DD DISP=SHR,DSN=PRAKT16.CICS.TEST16(PROG16)
001400 //LKED.SYSIN DD *
001500
NAME PROG16(R)
****** **************************** Bottom of Data ****************************
Command ===> sub
F1=Help
F3=Exit
Scroll ===> PAGE
F5=Rfind
F6=Rchange
F12=Cancel
Zur Übersetzung wird für den Partitioned Data Set "PRAKT16.CICS.TEST16" ein neues Member
"START16" erstellt. Dies ist eine JCL File, welche die Prozedur CTOCICS (Compile to CICS) enthält.
CTOCICS ruft zunächst den CICS Precompiler auf, der alle CICS Befehle in C Befehle übersetzt.
Anschließend wird der C Compiler aufgerufen, der ein Maschinenprogramm erstellt und in eine für das
CICS Subsystem zugängliche Library stellt. START16 wird mit dem Kommando "sub" ausgeführt.
Tapez Sub puis sur la touche Entrer.
IKJ56250I JOB CICSPRE(JOB04769) SUBMITTED
***
Wir warten, bis der Job ausgeführt wurde.
Tapez sur la touche Entrer.
23
18.01.00 JOB04769 $HASP165 CICSPRE
***
ENDED AT N1
MAXCC=4 CN(INTERNAL)
Ausführung erfolgreich.
Als nächsten Schritt wechseln wir wieder von der TSO Session Fenster zumr CICS Session Fenster.
Wir nehmen an, es ist noch vom letzten Mal her offen. Wenn nicht, öffnen Sie erneut eine CICS CEDA
Session: lc001, ceda display group(*) .
CEDA DEFINE PROGRAM(PROG16) GROUP(PR16A)
ENTER COMMANDS
GROUP
AOR2TOR
ARTT
ATC
CBPS
CEE
CICREXX
CSQ
CSQCKB
CSQSAMP
CTA1TCP
C001EZA
C001TCP
DAVIN15
DAVIN4
DAVIN8
DAVIN85
+ DAVIN9
SYSID=C001 APPLID=A06C001
RESULTS: 1 TO 17
TIME: 18.18.24 DATE: 01.221
PF 1 HELP
3 END 4 TOP 5 BOT 6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL
Wir definieren für die Gruppe PR16A unser Anwendungsprogramm als PROG16, indem wir den entsprechenden CEDA Befehl in die oberste Zeile schreiben.
Tapez sur la touche Entrer.
24
CEDA DEFINE PROGRAM(PROG16) GROUP(PR16A)
OVERTYPE TO MODIFY
CICS RELEASE = 0530
CEDA DEFine PROGram( PROG16
)
PROGram
: PROG16
Group
: PR16A
DEscription ==>
Language
==>
CObol | Assembler | Le370 | C | Pli
RELoad
==> No
No | Yes
RESident
==> No
No | Yes
USAge
==> Normal
Normal | Transient
USElpacopy
==> No
No | Yes
Status
==> Enabled
Enabled | Disabled
RSl
: 00
0-24 | Public
CEdf
==> Yes
Yes | No
DAtalocation ==> Below
Below | Any
EXECKey
==> User
User | Cics
COncurrency ==> Quasirent
Quasirent | Threadsafe
REMOTE ATTRIBUTES
DYnamic
==> No
No | Yes
+ REMOTESystem ==>
DEFINE SUCCESSFUL
PF 1 HELP 2 COM 3 END
SYSID=C001 APPLID=A06C001
TIME: 18.30.52 DATE: 01.221
6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL
CEDA will einiges von uns wissen. Wir übernehmen alle Default Werte und geben zusätzlich als Sprache Le370 an.
CEDA DEFINE PROGRAM(PROG16) GROUP(PR16A)
OVERTYPE TO MODIFY
CICS RELEASE = 0530
CEDA DEFine PROGram( PROG16
)
PROGram
: PROG16
Group
: PR16A
DEscription ==>
Language
==> LE370
CObol | Assembler | Le370 | C | Pli
RELoad
==> No
No | Yes
RESident
==> No
No | Yes
USAge
==> Normal
Normal | Transient
USElpacopy
==> No
No | Yes
Status
==> Enabled
Enabled | Disabled
RSl
: 00
0-24 | Public
CEdf
==> Yes
Yes | No
DAtalocation ==> Below
Below | Any
EXECKey
==> User
User | Cics
COncurrency ==> Quasirent
Quasirent | Threadsafe
REMOTE ATTRIBUTES
DYnamic
==> No
No | Yes
+ REMOTESystem ==>
DEFINE SUCCESSFUL
PF 1 HELP 2 COM 3 END
SYSID=C001 APPLID=A06C001
TIME: 18.30.52 DATE: 01.221
6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL
Was ist denn Le370 für eine Sprache ? Nun, Le370 ist überhaupt keine Sprache, sondern eine Laufzeitumgebung. CICS braucht an dieser Stelle in Wirklichkeit nicht die Angabe der Quellsprache unseres Anwendungsprogramms (wir haben es ja bereits übersetzt), sondern die Angabe der Laufzeitumgebung des von uns verwendeten Compilers. Alle modernen OS/390 Compiler verwenden eine gemeinsame Laufzeitumgebung, die auf den Namen Le370 getauft wurde.
Tapez sur la touche Entrer.
25
OVERTYPE TO MODIFY
CEDA DEFine PROGram( PROG16
PROGram
: PROG16
Group
: PR16A
DEscription ==>
Language
==> Le370
RELoad
==> No
RESident
==> No
USAge
==> Normal
USElpacopy
==> No
Status
==> Enabled
RSl
: 00
CEdf
==> Yes
DAtalocation ==> Below
EXECKey
==> User
COncurrency ==> Quasirent
REMOTE ATTRIBUTES
DYnamic
==> No
+ REMOTESystem ==>
DEFINE SUCCESSFUL
PF 1 HELP 2 COM 3 END
CICS RELEASE = 0530
)
CObol | Assembler | Le370 | C | Pli
No | Yes
No | Yes
Normal | Transient
No | Yes
Enabled | Disabled
0-24 | Public
Yes | No
Below | Any
User | Cics
Quasirent | Threadsafe
No | Yes
SYSID=C001 APPLID=A06C001
TIME: 18.41.21 DATE: 01.221
6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL
Es erscheint der obige Bildschirm
Tapez sur la touche F3
CEDA CEDA DEFINE PROGRAM(PROG16) GROUP(PR16A)
STATUS: SESSION ENDED
Tapez sur la première ligne l’ordre CEDA
26
CEDA DEFINE TRANS(P16A) GROUP(PR16A)
STATUS: SESSION ENDED
Unsere Transaktion soll wie alle anderen Transaktion vom Bildschirm über eine 4-stellige Transaktions
ID aufgerufen werden. Wir wählen hierfür die ID „P16A“ und teilen diese Wahl mit Hilfe des CEDA
DEFINE Befehls mit. Genauso wie PROG16 wird dies Bestandteil von GROUP(PR16A).
Tapez sur la touche Entrer.
DEFINE TRANS(P16A) GROUP(PR16A)
OVERTYPE TO MODIFY
CICS RELEASE = 0530
CEDA DEFine TRANSaction( P16A )
TRANSaction ==> P16A
Group
==> PR16A
DEscription ==>
PROGram
==>
TWasize
==> 00000
0-32767
PROFile
==> DFHCICST
PArtitionset ==>
STAtus
==> Enabled
Enabled | Disabled
PRIMedsize
: 00000
0-65520
TASKDATALoc ==> Below
Below | Any
TASKDATAKey ==> User
User | Cics
STOrageclear ==> No
No | Yes
RUnaway
==> System
System | 0 | 500-2700000
SHutdown
==> Disabled
Disabled | Enabled
ISolate
==> Yes
Yes | No
Brexit
==>
+ REMOTE ATTRIBUTES
S PROGRAM OR REMOTESYSTEM MUST BE SPECIFIED.
SYSID=C001 APPLID=A06C001
PF 1 HELP 2 COM 3 END
6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL
CEDA will mehrere Angaben von uns und schlägt eine Reihe von Default Werten vor.
27
DEFINE TRANS(P16A) GROUP(PR16A)
OVERTYPE TO MODIFY
CICS RELEASE = 0530
CEDA DEFine TRANSaction( P16A )
TRANSaction ==> P16A
Group
==> PR16A
DEscription ==>
PROGram
==> PROG16
TWasize
==> 00000
0-32767
PROFile
==> DFHCICST
PArtitionset ==>
STAtus
==> Enabled
Enabled | Disabled
PRIMedsize
: 00000
0-65520
TASKDATALoc ==> Below
Below | Any
TASKDATAKey ==> User
User | Cics
STOrageclear ==> No
No | Yes
RUnaway
==> System
System | 0 | 500-2700000
SHutdown
==> Disabled
Disabled | Enabled
ISolate
==> Yes
Yes | No
Brexit
==>
+ REMOTE ATTRIBUTES
S PROGRAM OR REMOTESYSTEM MUST BE SPECIFIED.
SYSID=C001 APPLID=A06C001
PF 1 HELP 2 COM 3 END
6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL
Wir übernehmen sie alle und geben in die Zeile "PROGram" den Namen unseres Anwendungsprogramms, nämlich "PROG16" ein.
Tapez sur la touche Entrer.
OVERTYPE TO MODIFY
CEDA DEFine TRANSaction( P16A )
TRANSaction
: P16A
Group
: PR16A
DEscription ==>
PROGram
==> PROG16
TWasize
==> 00000
PROFile
==> DFHCICST
PArtitionset ==>
STAtus
==> Enabled
PRIMedsize
: 00000
TASKDATALoc ==> Below
TASKDATAKey ==> User
STOrageclear ==> No
RUnaway
==> System
SHutdown
==> Disabled
ISolate
==> Yes
Brexit
==>
+ REMOTE ATTRIBUTES
DEFINE SUCCESSFUL
PF 1 HELP 2 COM 3 END
CICS RELEASE = 0530
0-32767
Enabled | Disabled
0-65520
Below | Any
User | Cics
No | Yes
System | 0 | 500-2700000
Disabled | Enabled
Yes | No
SYSID=C001 APPLID=A06C001
TIME: 18.56.09 DATE: 01.221
6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL
Le message "DEFINE SUCESSFUL" apparaît.
Tapez sur la touche F3.
28
CEDA DEFINE TRANS(P16A) GROUP(PR16A)
STATUS: SESSION ENDED
Der obige Bildschirm erscheint. Wir haben den Namen unseres Anwendungsprogramms und eine
dazugehörige Transaktions ID an CICS bekanntgegeben. Jetzt müssen diese in die CICS Programmbibliothek übernommen (installiert) werden.
CEDA INSTALL GROUP(PR16A)
STATUS: SESSION ENDED
Tapez sur la commande CEDA INSTALL sur la première ligne.
Tapez sur la touche Entrer.
29
INSTALL GROUP(PR16A)
OVERTYPE TO MODIFY
CEDA Install
All
Connection
==>
DB2Conn
==>
DB2Entry
==>
DB2Tran
==>
DOctemplate ==>
Enqmodel
==>
File
==>
Journalmodel ==>
LSrpool
==>
Mapset
==>
PARTItionset ==>
PARTNer
==>
PROCesstype ==>
PROFile
==>
PROGram
==>
+ Requestmodel ==>
INSTALL SUCCESSFUL
PF 1 HELP
3 END
SYSID=C001 APPLID=A06C001
TIME: 19.01.55 DATE: 01.221
6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL
CEDA bestätigt, daß die Installation erfolgreich war.
Tapez sur la touche F3
CEDA INSTALL GROUP(PR16A)
STATUS: SESSION ENDED
Das war es. Der obige Bildschirm erscheint. Unsere Transaktion ist als Teil der CICS Anwendungsbibliothek installiert worden und kann nun aufgerufen und damit ausgeführt werden.
Hierzu löschen wir die oberste Zeile (die CEDA Kommando Zeile) ganz, und rufen unsere Anwending
auf, indem wir eben dort unsere Transaktions ID, nämlich P16A, eingeben.
30
WELCOME TO THE MAGIC WORLD OF CICS
MAY THE FORCE BE WITH YOU!
Und hier ist der Erfolg unserer Bemühungen. Eine echte CICS Transaktion, auch wenn sie nicht sehr
viel leistet.
Tapez sur la touche Entrer.
WELCOME TO THE MAGIC WORLD OF CICS
MAY THE FORCE BE WITH YOU!
DFHAC2001 02/04/01 11:31:55 A06C001 Transaction '' is not recognized. Check
that the transaction name is correct.
Dies terminiert die Bildschirmausgabe unserer Transaktion und erzeugt wieder eine (belanglose)
Fehlermeldung.
31
_WELCOME TO THE MAGIC WORLD OF CICS
MAY THE FORCE BE WITH YOU!
DFHAC2001 02/04/01 11:31:55 A06C001 Transaction '' is not recognized. Check
that the transaction name is correct. CEDA DISPLAY GROUP(PR16A)
Alle Bestandteile unserer Transaktion sind in der Gruppe SPRUTH4 gespeichert. Wir schauen sie uns
an.
Tapez sur la touche Entrer.
DISPLAY GROUP(PR16A)
ENTER COMMANDS
NAME
TYPE
P16SET
MAPSET
PROG16
PROGRAM
P16A
TRANSACTION
GROUP
PR16A
PR16A
PR16A
DATE
01.221
01.221
01.221
TIME
11.27.06
18.41.21
18.56.08
SYSID=C001 APPLID=A06C001
RESULTS: 1 TO 3 OF 3
TIME: 19.15.24 DATE: 01.221
PF 1 HELP
3 END 4 TOP 5 BOT 6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL
Die Gruppe PR16A besteht auss den drei Komponenten P16SET, PROG16 und P16A, die wir unter
CICS definiert und anschließend installiert haben.
Das war es. Mit HTML wäre es sicher schneller gegangen. Aber wir haben die Basis geschaffen,
wirklich leistungdfähige CICS Transaktionen zu erzeugen, etwas, was mit HTML nicht möglich ist.
The End
32