Академический Документы
Профессиональный Документы
Культура Документы
Tutorial overview
In Tutorial 4 we created a simple relational DB2 database. We now will create a CICS program that
accesses this database.
Our application program will again consist of 2 parts: a C-program for the business logic (assuming the
existence of the database created in tutorial 4) and a BMS-program for the presentation logic
(Tutorials 14 and 15 will demonstrate how to do the presentation logic in Java, generating a modern
graphical user interface). The business logic will contain SQL calls. They will have to be converted into
native DB2 API calls with the help of a precompiler prior to compiling the business logic program with
a C compiler. These steps are shown in Fig. 1 .
JCL-Script
Sourceprogram
SQL-Precompiler PCOMPJCL
Executable binary
After we have done this we can call the CICS transaction using the TRID "D020" (see Fig. 40). Our
transaction will be executed. It will read the columns "VORNAME" and "NACHNAME" from the table
we created in tutorial 4 and output them on the users display. (see Fig. 41).
Try to avoid doing the tutorial repeatedly. This may cause the "CEDA INSTALL GROUP(PRAKT20)"
command to generate the error message "INSTALL UNSUCCESSFUL" . If this happens you will have
to contact our system administrator.
Doing the Tutorial
Fig. 2 : DSLIST-Panel
PRAKT20.CICSDB2.TEST01
PRAKT20.SPUFI.IN
PRAKT20.DBRMLIB.DATA
have been generated as part of tutorial 4. Data set "SPUFI.OUT" has been generated automatically by
the SPUFI subsystem and contains the translated version of SPUFI.IN. The data set
"PRAKT20.DBRMLIB.DATA" is still empty; it will be filled during execution of the SQL precompiler.
"PRAKT20.CICSDB2.TEST01" is still missing and has to be allocated (please do so, use the same
parameters as in tutorial 1, Fig. 21). In addition, PRAKT20.LIB may be too small. Please erase it and
allocate it again, using the following parameters:
Primary quantity: 34 Kbyte, Secondary quantity: 8 Kbyte, Directory blocks: 2, Record format: FB,
Record length: 80, Block size: 320, Data set name type : PDS .
To delete a dataset proceed as follows : ISPF Primary Options Menu -> (3) Utility Selection Panel ->
(2) Dataset Utility, then mark the dataset to be erased with a „D“ (Delete entire data set).
Menu RefList RefMode Utilities LMF Workstation Help
------------------------------------------------------------------------------
Edit Entry Panel
ISPF Library:
Project . . . PRAKT20
Group . . . . CICSDB2 . . . . . . . . .
Type . . . . TEST01
Member . . . BMSJCL (Blank or pattern for member selection list)
Workstation File:
File Name . . . . .
Options
Initial Macro . . . . / Confirm Cancel/Move/Replace
Profile Name . . . . . Mixed Mode
Format Name . . . . . Edit on Workstation
Data Set Password . . Preserve VB record length
Command ===>
F1=Help F3=Exit F10=Actions F12=Cancel
Using the "Edit Entry Panel" we generate a new member "BMSJCL" (see Fig. 3) . Press Enter .
Our CICS application is to consist of a BMS program (Mapset) for the "Presentation Logic" and a
C program for the Business Logic. We start with the Mapset BMSJCL.
File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT PRAKT20.CICSDB2.TEST01(BMSJCL) - 01.00 Columns 00001 00072
****** ***************************** Top of Data ******************************
==MSG> -CAUTION- Profile changed to NUMBER OFF (from NUMBER ON STD).
==MSG> Data does not have 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.
000001 //PRAKT20B JOB (),CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1),NOTIFY=&SYSUID
000002 //ASSEM EXEC DFHMAPS,MAPNAME='S01SET',RMODE=24
000003 //SYSUT1 DD *
000004 S01SET DFHMSD TYPE=MAP,MODE=INOUT,LANG=C,STORAGE=AUTO,TIOAPFX=YES
000005 * MENU MAP.
000006 MAP001 DFHMDI SIZE=(24,80),CTRL=(PRINT,FREEKB)
000007 DFHMDF POS=(9,13),ATTRB=(ASKIP,NORM),LENGTH=20, X
000008 INITIAL='VORNAME '
000009 DFHMDF POS=(9,34),ATTRB=(ASKIP,NORM),LENGTH=20, X
000010 INITIAL='NACHNAME '
000011 VNAM1 DFHMDF POS=(11,13),ATTRB=(ASKIP,NORM),LENGTH=20
000012 NNAM1 DFHMDF POS=(11,34),ATTRB=(ASKIP,NORM),LENGTH=20
Command ===> Scroll ===> PAGE
F1=Help F3=Exit F5=Rfind F6=Rchange F12=Cancel
The complete BMS program uses two panels (screeens). Using the F8- or F7- keys we scroll between
the two panels.
The lines 7 to 10 define a heading which consists of 2 fields. The two fields are initialized with the
values VORNAME and NACHNAME (I assume you guessed by now this means first name and last
name in German).
The lines 11 to 18 define 8 fields which will accept the first name and last name of 4 persons which we
select from our DB2 data base.
We enter "SUB" on the command line and press Enter. In addition to the translation of the BMS
program, a template will be stored in the member "PRAKT20.LIB (S01SET)" for use by our business
logic program to be written in C.
We wait until JES has translated our BMS program (maybe 30 seconds). Pressing Enter produces the
panel showm in Fig. 7. "MAXCC=0" confirms the translation was successful. Pressing Enter returns
the last screen.
We press the F3 key two times. We take a look at the member "PRAKT20.LIB(S01SET)" . It is shown
in Fig. 8. Depending on which code page your 3270 emulator uses, the presentation may look
somewhat different (remember the Sqare Bracket anomaly, Fig. 3 in tutorial 3).
union
{
struct {
char dfhms1Ý12¨;
short int vnam1l;
char vnam1f;
char vnam1iÝ20¨;
short int nnam1l;
char nnam1f;
char nnam1iÝ20¨;
short int vnam2l;
char vnam2f;
char vnam2iÝ20¨;
short int nnam2l;
char nnam2f;
char nnam2iÝ20¨;
short int vnam3l;
char vnam3f;
char vnam3iÝ20¨;
short int nnam3l;
char nnam3f;
char nnam3iÝ20¨;
short int vnam4l;
char vnam4f;
char vnam4iÝ20¨;
short int nnam4l;
char nnam4f;
char nnam4iÝ20¨;
} map001i;
struct {
char dfhms2Ý12¨;
short int dfhms3;
char vnam1a;
char vnam1oÝ20¨;
short int dfhms4;
char nnam1a;
char nnam1oÝ20¨;
short int dfhms5;
char vnam2a;
char vnam2oÝ20¨;
short int dfhms6;
char nnam2a;
char nnam2oÝ20¨;
short int dfhms7;
char vnam3a;
char vnam3oÝ20¨;
short int dfhms8;
char nnam3a;
char nnam3oÝ20¨;
short int dfhms9;
char vnam4a;
char vnam4oÝ20¨;
short int dfhms10;
char nnam4a;
char nnam4oÝ20¨;
} map001o;
} map001;
ISPF Library:
Project . . . PRAKT20
Group . . . . CICSDB2 . . . . . . . . .
Type . . . . TEST01
Member . . . CPROG020 (Blank or pattern for member selection list)
Workstation File:
File Name . . . . .
Options
Initial Macro . . . . / Confirm Cancel/Move/Replace
Profile Name . . . . . Mixed Mode
Format Name . . . . . Edit on Workstation
Data Set Password . . Preserve VB record length
Command ===>
F1=Help F3=Exit F10=Actions F12=Cancel
ISPF Library:
Project . . . PRAKT20
Group . . . . CICSDB2 . . . . . . . . .
Type . . . . TEST01
Member . . . PCOMPJCL (Blank or pattern for member selection list)
Workstation File:
File Name . . . . .
Options
Initial Macro . . . . / Confirm Cancel/Move/Replace
Profile Name . . . . . Mixed Mode
Format Name . . . . . Edit on Workstation
Data Set Password . . Preserve VB record length
Command ===>
F1=Help F3=Exit F10=Actions F12=Cancel
The first precompiler run translates all EXEC SQL statements into native DB2 API calls.
We generate a new member "PCOMPJCL" (Fig. 12) to store the JCL script which stores the
precompiler call.
Press Enter .
File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT PRAKT20.CICSDB2.TEST01(PCOMPJCL) - 01.02 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 //PRAKT20P JOB (),CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1),NOTIFY=&SYSUID,
000002 // TIME=1440
000003 //PCOMP EXEC PROC=DSNZEY
000004 //DBRMLIB DD DSN=PRAKT20.DBRMLIB.DATA(CPROG020),DISP=OLD
000005 //SYSCIN DD DSN=PRAKT20.CICSDB2.TEST01(OUT),DISP=SHR
000006 //SYSLIB DD DSN=PRAKT20.CICSDB2.TEST01,DISP=SHR
000007 //SYSIN DD DISP=SHR,DSN=PRAKT20.CICSDB2.TEST01(CPROG020)
****** **************************** Bottom of Data ****************************
We generate the JCL script shown in Fig. 13, which calls the EXEC SQL precompiler. The data set
"PRAKT20.DBRMLIB.DATA" so far contains no member. Upon execution of the JCL script the
precompiler will have generated a member "PRAKT20.DBRMLIB.DATA(CPROG020)" .
We enter „SUB“ on the command line. We wait for JES to complete the job and press Enter.
ISPF Library:
Project . . . PRAKT20
Group . . . . CICSDB2 . . . . . . . . .
Type . . . . TEST01
Member . . . STARTJCL (Blank or pattern for member selection list)
Workstation File:
File Name . . . . .
Options
Initial Macro . . . . / Confirm Cancel/Move/Replace
Profile Name . . . . . Mixed Mode
Format Name . . . . . Edit on Workstation
Data Set Password . . Preserve VB record length
Command ===>
F1=Help F3=Exit F10=Actions F12=Cancel
Next we generate a member "STARTJCL" . It stores a JCL script that calls these functions:
the CICS precompiler, the C compiler, and the linker.
Press Enter.
"STARTJCL" covers 3 screens (Fig. 16 – 18). We use the F8 and F7 keys to scroll foreward and
backward.
File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT PRAKT20.CICSDB2.TEST01(STARTJCL) - 01.04 Columns 00001 00072
000017 //DBRMLIB DD DISP=OLD,DSN=PRAKT20.DBRMLIB.DATA(CPROG020)
000018 //SYSPRINT DD SYSOUT=*
000019 //SYSTSPRT DD SYSOUT=*
000020 //SYSUDUMP DD SYSOUT=*
000021 //SYSTSIN DD *
000022 DSN S(DBA1)
000023 BIND PLAN(PR1) MEMBER(CPROG020) ACTION(REP) RETAIN ISOLATION(CS)
000024 END
000025 //********************
000026 //* GRANT
000027 //********************
000028 //GRANT EXEC PGM=IKJEFT01
000029 //STEPLIB DD DISP=SHR,DSN=DSN510.SDSNLOAD
000030 //SYSPRINT DD SYSOUT=*
000031 //SYSTSPRT DD SYSOUT=*
000032 //SYSUDUMP DD SYSOUT=*
000033 //SYSTSIN DD *
000034 DSN SYSTEM(DBA1)
000035 RUN PROGRAM(DSNTIAD) PLAN(DSNTIA51) -
Command ===> Scroll ===> PAGE
F1=Help F3=Exit F5=Rfind F6=Rchange F12=Cancel
Fig. 17 : The SQL precompiler generated a member "CPROG020" within data set
"PRAKT20.DBRMLIB.DATA" (line 000017).
The execution of our program "CPROG020" unter CICS requires a pointer to the data base table to be
accessed (DB2 calls a table a “PLAN”). We name this pointer "PR1" (line 000023). It will be reused in
Fig. 37 .
We enter the code as shown in Fig. 16 – 18. A reference to PLAN PR1 reappears in line 000039. F3
saves the member.
//DBRMLIB DD DISP=OLD,DSN=PRAKT20.DBRMLIB.DATA(CPROG020)
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSTSIN DD *
DSN S(DBA1)
BIND PLAN(PR1) MEMBER(CPROG020) ACTION(REP) RETAIN ISOLATION(CS)
END
//********************
//* GRANT
//********************
//GRANT EXEC PGM=IKJEFT01
//STEPLIB DD DISP=SHR,DSN=DSN510.SDSNLOAD
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(DBA1)
RUN PROGRAM(DSNTIAD) PLAN(DSNTIA51) -
LIBRARY('DSN510.RUNLIB.LOAD')
END
//SYSIN DD *
GRANT EXECUTE ON PLAN PR1 TO PUBLIC
/*
We enter „SUB on the command line. We wait for JES to complete the job and press Enter.
18.53.21 JOB02053 $HASP165 CICSPRE ENDED AT N1 MAXCC=4 CN(INTERNAL)
***
We now have created all required programs for our CICS - DB2 transaction. As a next step they have
to be installed in the CICS subsystem.
03/01/01 W E L C O ME T O 19:20:39
===> 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
Fig. 21 : Logon-Screen
New Password . . .
Pressing the TAB key once causes the cursor to jump to the bottom line We enter the
" CEDA DISPLAY GROUP(*) " command. Enter .
SYSID=C001 APPLID=A06C001
RESULTS: 1 TO 17 TIME: 00.00.00 DATE: 01.060
PF 1 HELP 3 END 4 TOP 5 BOT 6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL
Der " CEDA DISPLAY GROUP(*) " command displays all groups that exist so far ( Fig. 24).
We define our BMS program „S01SET" for the new group "PRAKT20" . We press Enter 3 times.
The group name can have any value but can exist only once. I recommend you use your user ID.
SYSID=C001 APPLID=A06C001
DEFINE SUCCESSFUL TIME: 00.00.00 DATE: 01.060
PF 1 HELP 2 COM 3 END 6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL
We select Le370 as “Language“, although it is really a development environment (Fig. 27), see also
Fig. 22 in tutorial 3 . Enter .The message "DEFINE SUCCESSFUL" appears. Press F3 .
Finally we define the name (TRID) of the new transaction. We choose "D020“ and enter the command
"CEDA DEFINE TRANS(D020) GROUP(PRAKT20)" . You remeber, this has to be a 4 character
name, and it has to be unique. Enter .
DEFINE TRANS(D020) GROUP(PRAKT20)
OVERTYPE TO MODIFY CICS RELEASE = 0530
CEDA DEFine TRANSaction( D020 )
TRANSaction ==> D020
Group ==> PRAKT20
DEscription ==>
PROGram ==> CPROG020
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
SYSID=C001 APPLID=A06C001
DEFINE SUCCESSFUL TIME: 00.00.00 DATE: 01.060
PF 1 HELP 2 COM 3 END 6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL
Now that we have defined the BMS MAP, the C program and the Transaction ID, we have to install
everything in group "PRAKT20", using the command
"CEDA INSTALL GROUP(PRAKT20)" (Fig. 29) . Enter .
INSTALL GROUP(PRAKT20)
OVERTYPE TO MODIFY
CEDA Install
All
Connection ==>
DB2Conn ==>
DB2Entry ==>
DB2Tran ==>
DOctemplate ==>
Enqmodel ==>
File ==>
Journalmodel ==>
LSrpool ==>
Mapset ==>
PARTItionset ==>
PARTNer ==>
PROCesstype ==>
PROFile ==>
PROGram ==>
+ Requestmodel ==>
SYSID=C001 APPLID=A06C001
INSTALL SUCCESSFUL TIME: 00.00.00 DATE: 01.060
PF 1 HELP 3 END 6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL
In Tutorial 3 we were finished at this point and could call the transaction by entering the TRID on the
command line. Let us try the same. Enter the TRID on the command line (see Fig. 33) and press
Enter.
DFHAC2220 20:49:29 A06C001 The coordinator system has indicated that the
current unit of work is to be backed out. Transaction D020 has been
abnormally terminated with abend ASP3.
We receive an error message (see.. Fig. 34). On your screen it possibly may have a somewhat
different format. The description of error code ASP3 can be found in an on-line handbook
http://www.s390.ibm.com/bookmgr-cgi/bookmgr.cmd/BOOKS/DFHWG400/
2%2e3%2e606?ACTION=MATCHES&REQUEST=asp3
&TYPE=FUZZY&SHELF=&searchTopic=TOPIC&searchText=TEXT&searchIndex=
INDEX&rank=RANK&ScrollTOP=FIRSTHIT#FIRSTHIT
We search for error code ASP3 and find the following:
We remember: TSO, CICS and DB2 are separate OS/390 subsystems, running in separate virtual
address spaces. The CICS group "PRAKT20" needs a definition to find our data base and table.
DFHAC2220 20:56:06 A06C001 The coordinator system has indicated that the
DFHAC2001 03/02/01 20:56:29 A06C001 Transaction '' is not recognized. Check
that the transaction name is correct. CEDA DEFINE DB2ENTRY
For the definition we use the CEDA command "CEDA DEFINE DB2ENTRY" (see Fig. 35). Press
Enter.
DEFINE DB2ENTRY
OVERTYPE TO MODIFY CICS RELEASE = 0530
CEDA DEFine DB2Entry( )
DB2Entry ==>
Group ==>
DEscription ==>
THREAD SELECTION ATTRIBUTES
TRansid ==>
THREAD OPERATION ATTRIBUTES
ACcountrec ==> None None | TXid | TAsk | Uow
AUTHId ==>
AUTHType ==> Userid | Opid | Group | Sign | TErm
| TX
DRollback ==> Yes Yes | No
PLAN ==>
PLANExitname ==>
PRIority ==> High High | Equal | Low
PROtectnum ==> 0000 0-2000
THREADLimit ==> 0-2000
THREADWait ==> Pool Pool | Yes | No
MESSAGES: 2 SEVERE
SYSID=C001 APPLID=A06C001
The "DEFINE DB2ENTRY-Panel" appears (Fig. 36). We provide the missing entries in Fig. 37 and
Fig. 38.
define DB2ENTRY
OVERTYPE TO MODIFY CICS RELEASE = 0530
CEDA DEFine DB2Entry( )
DB2Entry ==> D020
Group ==> PRAKT20
DEscription ==>
THREAD SELECTION ATTRIBUTES
TRansid ==> D020
THREAD OPERATION ATTRIBUTES
ACcountrec ==> None None | TXid | TAsk | Uow
AUTHId ==>
AUTHType ==> Userid | Opid | Group | Sign | TErm
| TX
DRollback ==> Yes Yes | No
PLAN ==> PR1
PLANExitname ==>
PRIority ==> High High | Equal | Low
PROtectnum ==> 0000 0-2000
THREADLimit ==> 0-2000
THREADWait ==> Pool Pool | Yes | No
MESSAGES: 2 SEVERE
SYSID=C001 APPLID=A06C001
The DB2- access (DB2Entry) receives the name "D020" , to be part of group. "PRAKT20". Our
transactions-ID (TRID) is "D020".
Let us recall: We generated a JCL-Script "STARTJCL" , which translated our C program . At two
locations of this script we defined a pointer for our database table (Plan) and called it "PR1" , see Fig.
18 and 19. In Fig. 37 we establish the link to the data base table using the value “PR1”.
define DB2ENTRY
OVERTYPE TO MODIFY CICS RELEASE = 0530
CEDA DEFine DB2Entry( )
DB2Entry ==> D020
Group ==> PRAKT20
DEscription ==>
THREAD SELECTION ATTRIBUTES
TRansid ==> D020
THREAD OPERATION ATTRIBUTES
ACcountrec ==> TXid None | TXid | TAsk | Uow
AUTHId ==>
AUTHType ==> Sign Userid | Opid | Group | Sign | TErm
| TX
DRollback ==> Yes Yes | No
PLAN ==> PR1
PLANExitname ==>
PRIority ==> High High | Equal | Low
PROtectnum ==> 0000 0-2000
THREADLimit ==> 0003 0-2000
THREADWait ==> Yes Pool | Yes | No
MESSAGES: 2 SEVERE
SYSID=C001 APPLID=A06C001
SYSID=C001 APPLID=A06C001
DEFINE SUCCESSFUL TIME: 00.00.00 DATE: 01.061
PF 1 HELP 2 COM 3 END 6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL
INSTALL GROUP(PRAKT20)
OVERTYPE TO MODIFY
CEDA Install
All
Connection ==>
DB2Conn ==>
DB2Entry ==>
DB2Tran ==>
DOctemplate ==>
Enqmodel ==>
File ==>
Journalmodel ==>
LSrpool ==>
Mapset ==>
PARTItionset ==>
PARTNer ==>
PROCesstype ==>
PROFile ==>
PROGram ==>
+ Requestmodel ==>
SYSID=C001 APPLID=A06C001
INSTALL SUCCESSFUL TIME: 00.00.00 DATE: 01.061
PF 1 HELP 3 END 6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL
To call our transaction we enter the TRID "D020" on the command line (Fig. 40).
Press Enter .
VORNAME NACHNAME
HEINO BAUER
BORIS FAERBER
SEBASTIAN RICHTER
FRITZ SCHULTE
Success !!! The database content is displayed on the screen (Fig. 41). You have successfully finished
tutorial 5 .
Let us review what we have done so far.
You have written your first programm in C (tutorial 2). You have written your first CICS transaction in C
(tutorial 3). You have created a DB2 relational database, albeit a very simple one (tutorial 4). And you
have written a CICS transaction that accesses this database (tutorial 5).
You should now be able to write a more ambitious application on your own, and we would like to
encourage you to do so.
TSO, SPUFI and ISPF have under OS/390 an equivatent function as the c-shell, bourne-shell or bash-
shell under Unix. As a competent programmer you have to know these tools, and you will be
occasionally in a situation where you need them. Some fanatics swear by them. Most of the times you
will probably use a more modern environment, and the same is true for OS/390.
The following tutorials 6 – 15 will show you the use of modern OS/390 tools. These are in particular:
• In addition we ported some existing IBM servlet samples, which include source code. They
can be viewed at
jedi.informatik.uni-leipzig.de/IBMWebAS/samples (attention: this URL is case sensitive).
• We have a OS/390 Wap Server demo monitoring system performance with a handy. See
http://jedi.informatik.uni-leipzig.de/docs/wap.pdf .
Aufgabe: Bereiten Sie unter CICS die Transaktion vor, die auf die DB2-Datenbank zugreift (benutzen Sie die CICS-
Gruppe "prakt<Ihre Gruppen-Nr>") und führen Sie diese aus. Die DB2-Datenbank soll die Namen der
Übungsteilnehmer Ihrer Gruppe enthalten. Benutzen Sie als Transaktions-ID "D<Gruppen-Nr>". Sind Sie z.B.
Gruppe 20, dann wäre Ihre Transaktion-ID "D020".
Aufgabe: Gehen Sie vom CUSTOMPAC MASTER APPLICATION MENU aus in die System Display and Search Facility.
Im erscheinenden SDSF PRIMARY OPTION MENU wählen Sie die Option ST. Löschen Sie alle angezeigten
Jobs, die sich in der PRINT-Queue befinden, indem Sie links neben einen jeden Jobnamen "p" (purge) eintragen
und anschließend die Eingabetaste (mehrfach) drücken. Einen Job dürfen Sie natürlich nicht löschen: Den
einen, der sich in der EXECUTION-Queue befindet. Denn das ist der Job, mit dem Sie zur Zeit eingeloggt sind.