You are on page 1of 7

Copyright © Jacek Lewiński 37187959.

doc

Notatki Mainframe vol. 1


Kolejna porcja notatek

Strona 1 z 7
Copyright © Jacek Lewiński 37187959.doc

Notatki z Mainframe

SMS
• jest opcjonalnym elementem systemu operacyjnego. Administrator ustala klasę data seta na dysku.
• łączy fragmenty miejsca na dysku
• umiejscawia data sety tak aby w optymalny sposób wykorzystać przestrzeń dyskową
• parametry sms ustalamy tylko dla nowo tworzonych data setów
• system ignoruje je dla istniejących data setów, zdań DD, DD DATA, JOBCAT, JOBLIB DD, i
SYSOUT

ACCT
• account parameter w zdaniu exec dla wykonania zdalnego. W zdaniu exec służy do identyfikacji
konta
Przykład:
//MNO JOB ACCT15, 'DON PUZZO' USER=ID32DBP

Wykonywanie Data Setów - wykonanie programu

Biblioteki
Wszystkie programy do wykonania muszą rezydować w partycjonowanym data secie (PDS) lub
partycjonowanym data secie extended (PDSE). Instalacja powinna zawierać listę programów
osiągalnych w tych bibliotekach.

Mamy trzy typy bibliotek:


• Biblioteki systemowe np. SYS1LINKLIB.
• Biblioteki prywatne wyspecyfikowane w JOBLIB lub zdaniach STEPLIB DD.
• Bibliotekach tymczasowych utworzonych w poprzednich krokach joba.

Przykłady:
• Wykonanie programu z kodowanego w prywatnej lub systemowej bibliotece
//stepname EXEC PGM=program_name

• Wykonanie programu z biblioteki tymczasowej opisanej w poprzednim kroku joba.


//stepname EXEC PGM=*.stepname
//stepname EXEC PGM=*.stepname.procstepname.ddname
Przykład:
//ST1 EXEC PGM=MYPROG
//DSPROG DD DSNAME=PDS1(MEMP), DISP=SHR
//ST2 EXEC PGM=*.ST1.DSPROG

Wykonywanie procedur:
Wykonywanie procedur in-stream.
//stepname EXEC PROC=procedure_name
//stepname EXEC procedure_name
Przykład
//ST1 EXEC PROC=PROCA

Strona 2 z 7
Copyright © Jacek Lewiński 37187959.doc

//STEP9 EXEC PROC=DAILY

Przykład data seta wraz z opisem

1 //CHECKS JOB (), 'BAR', MSGCLASS=A


2 //*
3 //*TESTING ASA CARRIAGE CONTROL
4 //*
5 // EXEC PGM=IEBGENER
6 //SYSPRINT DD SYSOUT=D
7 //SYSIN DD DUMMY
8 //SYSUT2 DD SYSOUT=(S, CHKS), DCB=(RECFM=FBA), COPIES=1
9 // DEST=(BAR1TN06, XEROX)
1 //SYSUT1 DD *
0
1 2 8/12/97 $19.95
1
1 3 John Smith
2
1 1
3
1 2 8/12/97 $120.53
4
1 3 Mary Jones
5
1 /*
6

Objaśnienia

1 • CHECKS - nazwa joba


• JOB - rozpoznaje zbiór jako joba
• 'BAR' - nazwa właściciela
• MSGCLASS - klasa wyjścia, na które wyjście mają być pisane efekty joba.
A - wskazuje na drukarkę

2 - 4 • komentarz

5 - 10 • zdania języka programowania

5 • EXEC - wskazuje jaki program lub procedura będzie wykonywana

6 • DD opisuje lokalizację oraz charakterystykę plików wejściowych i wyjściowych joba.


Każde wejście i wyjście pliku danych musi być opisane zdaniem DD. Wskazanie
SYSPRINT odnosi się do logu pliku JES robionego za każdym razem kiedy job jest
uruchamiany. W zależności od przydzielonej klasy możemy otrzymywać zatrzymać

Strona 3 z 7
Copyright © Jacek Lewiński 37187959.doc

lub odrzucić plik loga generowany przez JES-a. Będzie przekierowany do klasy
DUMMY i czyszczony przez hosta.
Klasy:
o D - do klasy DUMMY i kasowanie przez hosta
o B - na punher
o H - zatrzymany w JES (Held Output Quene)
o Inne - na drukarkę

7 • DUMMY oznacza, że z plikiem nie jest związane żadne urządzenie wejścia, wyjścia.
Nie będą przeprowadzane żadne operacje wejścia/wyjścia. Tworzy pusty zbiór

8 • Zdanie SYSUT2 przydziela klasę wyjściową programu. W tym przykładzie klasa to S,


program nie jest określony i formularz to CHKS. Program zazwyczaj nie jest
określony przez inne źródło niż JES. To zdanie jest również używane aby ustawić
numer kopii i kierowanie data seta do określonego miejsca przeznaczenia.

10
11
12
13
14
15
16

Strona 4 z 7
Copyright © Jacek Lewiński 37187959.doc

Mainframe Data Sety

Prawie każda praca w systemie pociąga za sobą wejście danych i wyjście danych. W
systemach mainframe kanały podsystemów kierują używaniem wejść I/O urządzeń takich jak dyski,
taśmy i drukarki, podczas łączenia danych dla danego zadania z urządzeniem.

z/OS zarządza danymi za pomocą data setów. Termin Data set opisuje plik który zawiera jeden lub
więcej rekordów. Każda nazwana grupa rekorów jest Data Setem.

Partycjonowane Data Sety składają się z katalogów i membrów. Directory zawiera adresowanie do
każdego membra i w ten sposób czyni możliwym dla programów albo systemu operacyjnego dostęp
bezpośrednio do każdego membra. Każdy member jednakże składa się z sekwencyjnie poukładanych
rekordów. Partycjonowane Data Sety są często nazywane bibliotekami. Programy są składowane jako
membry partycjonowanego Data Seta. Generalnie system operacyjny ładuje membry PDS-a do pamięci
sekwencyjnie, ale ma dostęp do membrów wprost kiedy wybierzemy program do wykonania.

Konwencje (nie reguły) nazywania data setów w systemie)


Nazwa składa się z kwalifikatorów oddzielonych kropkami.
Każdy kwalifikator ma od 1 do 8 znaków.
Znakami mogą być litery, cyfry, $,#,@,-, przy czym na początku nie może być myślnik, ani cyfra.
Wszystkich znaków maksymalnie (łącznie z kropkami) może być 44.
HLQ - kwalifikator użyty w nazwie data seta - data set dotyczy systemów zabezpieczeń
LIB - kwalifikator

Nazwy kwalifikowane to nazwy składające się z trzech kwalifikatorów:

prefix.kwalifikator.typ

prefix - najczęściej USERID użytkownika


typ - rozszerzenie mówiące o typie danych
W TSO problematyczne jest odwołanie się do kwalifikatora o innym prefiksie niż nasz własny

Jednostki:
Możliwe jednostki: TRKS, CYLS, BLKS
dla urządzeń 3390:
TRKS (rozmiar ścieżki: 56664 B)
CYLS (rozmiar cylindra: 15 * 56664 B = 849960 B
BLKS (bloki)

Rekordy: F, FB, V, VB, U


LRECL (Logical Record Length) - długość rekordu, standard 80

Strona 5 z 7
Copyright © Jacek Lewiński 37187959.doc

W zbiorach PDS mieszczą się zbiory sekwencyjne o tej samej strukturze oraz wewnętrzny katalog (W
PDSE organizuje, by nie było dziur w zbiorach).
Na katalog przydzielone są 256 B bloki. Ilość bloków jest definiowana w pozycji DIR. W jednym
bloku katalogu PDS może być wiele wpisów (średnio 4-6 pozycji).

Menu Edycji
Literką "d" wpisaną na czerwonym znaku "=" powodujemy, że znika to, co zaznaczymy
==> RECOVERY ON
I - Insert
D - Delete
R - Repeat (kopia wiersza poniżej)
Dodając liczbę przy danym poleceniu można zastosować je do wielu linii, np. I3, D5, R2
C - Copy (takze mozna podac ilosc linii)
M - Move (także można podać ilość linii)
B - Before
A - After
Operacje kończące:
F3 - Exit (zapis i koniec)
F12 - Cancel (koniec bez zapisu)
SAVE - zapis (==> SAVE)
menu File -> Save
=> RECOVERY ON
=> UNDO (przywraca stan z przed wykonania ostatniego polecenia
Operacje na kolumnach tekstu:
COLS - pokazuje podział tekstu na kolumny
)n - przesunięcie o n kolumn w prawo
(n - przesunięcie o n kolumn w lewo
n - liczba
podwójne nawiasy przesuwają ograniczony nimi blok tesktu:
((n - w lewo o n kolumn
((

))n - w prawo o n kolumn


))
Podobnie:
>n
<n
>>n
<<n

Kopiowanie/przesuwanie niepustych obszarow z danej linii do pustych obszarów innej linii:


Uwaga: źródło może być tylko jedno, a obszarów docelowych wiele.
C/M
O
OO
OO

Strona 6 z 7
Copyright © Jacek Lewiński 37187959.doc

Metody kopiowania
Metoda1
Aby skopiować zbiór, to docelowy też musi istnieć.
Skopiować zbiór sekwencyjny: ZBIOR1.TEXT do zbioru PDS'owego BIBL1.TEXT

Z menu Dslist wypisujemy wszystkie zbiory i wybieramy slashem ZBIOR1.TEXT


Z menu wybieramy -> 17 copy
Następnie jako nową nazwę:
Data Set Name: BIBL1.TEXT
a potem pole:
New Member Name: EL1
Uwaga: zamiast podawać Data Set Name można podać:
Project: BANASIP
Group: BIBL1
Type: TEXT

Metoda2
SM (zamiast TSO)
SMCOPY - alokuje(tworzy) dane zbiory
FDS(nazwa1) - skrót od FROMDATASET
TDS(nazwa2) - skrót od TODATASET -- można zamiennie stosować krótkie/długie nazwy poleceń
dodatkowy operator NOTRANS (no translation), który powoduje, że nie jest wykonywana domyślna
podmiana małych liter na duże

Ograniczenia:
Rekordy formatu tylko F->F lub V->V (nie da się z niezdefiniowalnym formatem, czyli U),
zblokowane lub nie
Drogi kopiowania:
PS -> PS lub PS -> member PDS
member PDS -> member PDS lub member PDS -> PS
Nie można: PDS -> PDS -- potrzebny jest do tego IEBCOPY
Długość rekordów <= 256 B

Przykład polecenia:
COPY FDS ('SYS1.PARMLIB(ABC)') TDS ('MOJA.KOPIA1') NOTRANS

Strona 7 z 7

You might also like