MainframeSupports
tip uge 21/2002:

En mulighed jeg ofte benytter i ISPF EDIT (og dermed også i VIEW) er generiske søgninger også kaldet brug af picture strings sammen med FIND eller CHANGE kommandoerne. Den mest kendte er FIND P'.', som ISPF editoren selv foreslår, hvis data indeholder tegn, der ikke kan vises (non-displayable characters). Men man kan anvende mange andre tegn end . som giver mulighed for andre generiske søgninger.

For at kunne lave en generisk søgning skal søgeordet skrives i plinger (' eller " kan anvendes) og så skal søgeordet enten starte med P før den første pling eller slutte med P lige efter den sidste pling. I selve søgeordet vil blanke, cifre og bogstaver kun matche med sig selv, mens følgende specialtegn vil matche flere forskellige tegn:

= matcher alle tegn
ø matcher alle bogstaver
æ matcher alle cifre
å mathcer alle specialtegn (hvad det så end er)
^ matcher alle ikke blanke tegn
. matcher alle ikke visbare tegn
- matcher alle tegn, der ikke er cifre
< matcher alle små bogstaver
> matcher alle store bogstaver

Eksempelvis vil FIND P'æ' FIRST finde det første ciffer i data. Eller hvis man har en stor fil med lutter cifre, hvor der har indsneget sig et enkelt ikke-numerisk tegn, så kan FIND P'-' FIRST hurtigt finde synderen. Og selvfølgelig kan man indsnævre søgningen til bestemte linier eller kolonner på sædvanlig vis.

Min egen hyppigste anvendelse af generisk søgning er, når jeg ønsker at blankstille en stor del af data. Jeg har eksempelvis isoleret de data, jeg er interesseret i til kolonne 1-8, mens resten er mig uendeligt uinteressant. Så blankstiller jeg dem med en CHANGE P'^' ' ' 9 9999 ALL. Nu vil ISPF editoren brokke sig over, at 9999 er langt mere end den aktuelle LRECL for data. Ved at trykke F1 får jeg oplyst den aktuelle LRECL, som jeg så indtaster i min CHANGE-kommando i stedet for 9999 og så trykker jeg Enter igen. Herefter er alt blankt på alle linier fra og med position 9.

Men her stopper løjerne langt fra. Forestil dig, at du har data fyldt med navne:

KLARA EGTVED
JENS HANSEN
STINE ANDERSEN
PETER NIELSEN
ANNE JENSEN
OLE PETERSEN

Nu skal de laves om, så navnene begynder med stort og resten med småt. Start med CHANGE P'>' P'<' 2 80 ALL og herefter CHANGE P' <' P' >' ALL. Så er den klaret. Man kan nemlig også benytte specialtegn i den streng, man ændrer til, men her er det kun følgende tegn, der kan anvendes:

= ændrer ikke det pågældende tegn
< ændrer et bogstav til lille bogstav, ellers uændret
> ændrer et bogstav til stort bogstav, ellers uændret

Picture strings er et godt værktøj i søgninger og ændringer, som jeg hermed håber at mange flere får glæde af.

Forrige danske tip        Last tip in english        Tip oversigten