JAK NAPSAT A SPUSTIT
PROGRAM
 
 

  REXX je pro AS/400 definován že? Co byste doporučili programátorům z jiného světa než je AS/400, aby se mohli aklimatizovat v novém prostředí?
FRANK CLARKE: mail AS/400 v comp.lang.rexx 5. 2. 1999

Zkusíme si napsat malý, jednoduchý, možná i užitečný program a spustíme ho. Nejdříve ze všeho si ale musíme vytvořit složku, do které budeme svoje dílka ukládat - soubor zdrojových textů.

Prohlédneme si spolu (pro mě užitečný) program DSPLIBF napsaný v jazyce Rexx a pracující v prostředí systému AS/400. Vznikl proto, abych mohl snadno dostat výstupní informace o knihovně do souboru. CL povel DSPLIB má syntaxi:

DSPLIB LIB(library) OUTPUT({*|*PRINT})

Parametr OUTPUT určuje, zda informace o knihovně půjdou na displej (*) nebo na tiskárnu, přesněji řečeno do spoolu (*PRINT). Program DSPLIBF rozšiřuje možnosti povelu DSPLIB a ukládá výstupní informaci o vybrané knihovně do souboru INFO v knihovně MYLIB.

/* DSPLIBF */
parse arg Knihovna
do while Knihovna = ""
  say "Zadejte jméno knihovny"
  parse linein Knihovna
end
'DSPLIB' Knihovna 'OUTPUT(*PRINT)'
'CHKOBJ MYLIB/INFO *FILE'

if RC <> 0 then 'CRTPF MYLIB/INFO RCDLEN(132)'
'CPYSPLF FILE(QPDSPLIB) TOFILE(MYLIB/INFO) SPLNBR(*LAST)'
if RC = 0 then say 'OK'; else say 'Chyba'

V jazyce Rexx je řetězec znaků, který není rozpoznaným příkazem jazyka, předán k provedení do určeného prostředí. V AS/400 je implicitně chápán jako CL povel, prováděný operačním systémem OS/400. Program DSPLIBF ukazuje využití CL povelů: CHKOBJ (Check Object) kontroluje existenci fyzického souboru INFO (tabulky v terminologii SQL); CRTPF (Create Physical File) jej případně vytváří s délkou věty 132 znaků; CPYSPLF (Copy Spooled File) kopíruje poslední (viz parametr SPLNBR(*LAST)) soubor ve spoolu, vytvořený povelem DSPLIB, do souboru INFO.

Jak napíšete a spustíte program DSPLIBF? Pokud dosud nemáte vytvořenu knihovnu a v ní soubor zdrojových textů, napište na povelovou řádku povel CRTLIB (Create Library) pro vytvoření knihovny MYLIB a předejte ho k provedení operačnímu systému klávesou Enter:

CRTLIB MYLIB

Poznámka: Jméno knihovny musí být v systému jedinečné. Poraďte se proto se systémovým administrátorem, jaké jméno pro knihovnu zvolit. V tomto článku předpokládám, že se vaše knihovna jmenuje MYLIB.

Povelem CRTSRCPF (Create Source Physical File) vytvořte soubor zdrojových textů QREXSRC:

CRTSRCPF FILE(MYLIB/QREXSRC)

Krok 1.

Teď už můžete v knihovně zdrojových textů vytvořit svůj první program. Povel

WRKMBRPDM FILE(MYLIB/QREXSRC)

zobrazí:


                       Work with Members Using PDM
File  . . . . . .   QREXSRC   
  Library . . . .     MYLIB               Position to  . . . .  Type options, press Enter.
 2=Edit         3=Copy  4=Delete 5=Display       6=Print  8=Display description  9=Save  13=Change text  14=Compile

Opt  Member      Type       Text
  (No members in file)

Stiskněte F6, tj. Create.

Krok 2.

V zobrazeném formuláři vyplňte jméno programu (DSPLIBF), jeho typ (REXX), můžete připojit i vysvětlující poznámku, chcete-li (Výstup DSPLIB do souboru INFO). Stisknutím klávesy Enter formulář odešlete systému.


                  Start Source Entry Utility (STRSEU)
Type choices, press Enter.
Source file  . . . . . . . . . . . > QREXSRC       Name, *PRV   Library  . . . . . . . . . . . . >   MYLIB       Name, *LIBL, Source member  . . . . . . . . . .   DSPLIBF       Name, *PRV,  Source type  . . . . . . . . . . .   REXX          Name, *SAME, Text 'description' . . . . . . . .   Výstup DSPLIB do INFO     

Krok 3.

V editoru přepíšete text programu DSPLIBF. Editování ukončíte klávesou F3:


Columns . . . :    1   71            Edit
SEU==>                                                           FMT **  ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+..
       *************** Beginning of data *********************** '''''' /* DSPLIBF */
'''''' 

Krok 4.

V obrazovce nadepsané Exit potvrďte klávesou Enter uložení zdrojového textu do členu DSPLIBF v souboru QREXSRC. V následující obrazovce Work with Members Using PDM napište na pole pro zadání volby číslo 16, tj. Run a stiskněte F4 pro zadání parametrů.


                       Work with Members Using PDM
 
File  . . . . . .   QREXSRC   
  Library . . . .     MYLIB               Position to  . . . . 
 Type options, press Enter.
 2=Edit         3=Copy  4=Delete 5=Display       6=Print
 8=Display description  9=Save  13=Change text  14=Compile

Opt  Member      Type       Text
16   DSPLIBF     REXX       Výstup DSPLIB do INFO             

Krok 5.

Napište jméno knihovny do pole parametrů; stisknutím klávesy Enter program odstartujete. Ovšem, program DSPLIBF jste mohli pustit rovnou, v předchozím kroku místo F4 stisknout Enter, on už by si o jméno knihovny řekl sám.


                  Start REXX Procedure (STRREXPRC)
Type choices, press Enter.
Source member  . . . . . . . . . > DSPLIBF       Name
Source file  . . . . . . . . . . > QREXSRC       Name
  Library  . . . . . . . . . . . >   MYLIB       Name, *LIBL Parameters . . . . . . . . . . .   MYLIB                    

Poznámka: Program DSPLIBF můžete odstartovat i povelem STRREXSRC (Start REXX Procedure), když na povelový řádek napíšete:

STRREXPRC SRCMBR(DSPLIBF) SRCFILE(MYLIB/QREXSRC) PARM(MYLIB)

O průběhu programu vás bude informovat tato obrazovka:


 
 
 
 
 
 
 
Start of terminal session.
OK
Press ENTER to end terminal session.

Povelem DSPPFM (Display Physical File Member) si můžete prohlédnout výsledek (obsah souboru INFO) na obrazovce:

DSPPFM FILE(MYLIB/INFO)

Takhle může vypadat jeho začátek:


                         Display Physical File Member
File . . . . . . :   INFO                Library  . . . . :   MYLIB Member . . . . . :   INFO                Record . . . . . :   1 Control  . . . . .                       Column . . . . . :   1 Find . . . . . . .                                            *...+....1....+....2....+....3....+....4....+....5....+....6....+..  5763SS1 V3R2M0  960517                   Display Library
 Library . . . . . . . . . . . . . :   MYLIB
 Type  . . . . . . . . . . . . . . :   PROD


tour from Rexx to AS/400

 [Jak napsat a spustit program]

 [Standardní vstup a výstup]

 [Externí datová fronta]

 [SQL povely]


hlavní stránka english
změněno 26. dubna 2002
Copyright © 1998-2002 Vladimír Zábrodský