-
Notifications
You must be signed in to change notification settings - Fork 0
/
disk2.cl
29 lines (24 loc) · 1019 Bytes
/
disk2.cl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* Prosty benchmark testujący dyski */
/* Definicja parametrów */
DCL VAR(&OBJLIB) TYPE(*CHAR) LEN(10) VALUE('NAZWA_BIBLIOTEKI')
DCL VAR(&OBJNAME) TYPE(*CHAR) LEN(10) VALUE('NAZWA_OBIEKTU')
DCL VAR(&RECORDS) TYPE(*DEC) LEN(15 0) VALUE(10000) /* Liczba rekordów do zapisu i odczytu */
DCL VAR(&RECORDSIZE) TYPE(*DEC) LEN(10 0) VALUE(1024) /* Rozmiar pojedynczego rekordu */
/* Tworzenie pliku */
CRTPF FILE(&OBJLIB/&OBJNAME) RCDLEN(&RECORDSIZE)
/* Zapis rekordów */
DOWHILE COND(&RECORDS > 0)
ADDNBR NBR(1) TOVAR(&RECORDS)
ADDPFM FILE(&OBJLIB/&OBJNAME) MBR(*FIRST) +
DATA('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ')
ENDDO
/* Odczyt rekordów */
DOWHILE COND(&RECORDS > 0)
RCVF FILE(&OBJLIB/&OBJNAME) MBR(*FIRST) /* Odczyt jednego rekordu */
MONMSG MSGID(CPF0864) EXEC(DO) /* Obsługa końca pliku */
CHGVAR VAR(&RECORDS) VALUE(0)
ENDDO
ADDNBR NBR(1) TOVAR(&RECORDS)
ENDDO
/* Usunięcie pliku */
DLTF FILE(&OBJLIB/&OBJNAME)