Uma funcionalidade muito útil do TSO é a possibilidade de pesquisar uma determinada palavra ou expressão dentro de uma biblioteca. Esse recurso pode facilitar bastante o trabalho de quem atua diariamente no ambiente mainframe, principalmente quando precisamos localizar rapidamente onde determinada informação, comando, variável ou trecho de código está sendo utilizado. Em uma biblioteca no mainframe, normalmente temos diversos membros , e cada um deles pode conter programas, JCLs, procedimentos, parâmetros, configurações ou outras informações importantes para o ambiente. Quando precisamos descobrir em qual membro determinada palavra aparece, fazer essa pesquisa manualmente, abrindo um membro por vez, pode consumir bastante tempo. Imagine, por exemplo, que você tenha uma biblioteca com dezenas ou até centenas de membros e precise descobrir quais deles possuem uma determinada palavra. Em vez de abrir cada membro individualmente e utilizar a pesquisa dentro de cada arquivo, podemos utilizar os recursos disponíveis no TSO para realizar essa busca de forma muito mais rápida. Essa funcionalidade é especialmente interessante para tarefas de análise, manutenção e investigação, pois permite encontrar rapidamente todas as ocorrências de um determinado texto dentro dos membros de uma biblioteca. Neste post, vamos mostrar como realizar esse tipo de pesquisa no TSO, utilizando uma palavra como exemplo e verificando em quais membros da biblioteca ela está presente.
Quero encontrar uma determinada palavra dentro dos membros de uma biblioteca. Em vez de abrir cada membro individualmente para verificar se a palavra está presente, podemos utilizar o recurso de pesquisa do TSO para realizar essa busca de forma rápida e identificar exatamente quais membros contêm a informação procurada.
No TSO acesse o p.3.15
Encontrou - na biblioteca o membro com o nome WWWX14
Encontrou vários, agora é só dar PF8 e ver se encontra o membro
Resultado - Encontrou o membro WWWX14
L,S3(##CSA/PRL303 DSN:ADABAS.LIBRAR LIB:S3 VOL:PRL303 UNIT:1526 SIZE(CYL): 46 PRIM.: 6 SEC.: 40 EXTENTS: 3 UTILIZATION: 38 % DCB: 6160/80/FB DIR.BLKS: 180 USED: 124 MEMBERS: 750 ##CSA A$SAVEFI AAA501 AAFANAT2 AAFCUR20 AAFPU297 ADACM095 ADADBS14 @A1002 A$060 AABCSMFC AAFANAVE AAFCUR21 AAFPU299 ADACM096 ADADBS15 @A1003 A$080 AABSASM1 AAFARC99 AAFCUR22 AAFSA299 ADACM097 ADADBS2 @DDM1 A$210 AABSC104 AAFAU015 AAFNASML AAFSEDUX ADACM116 ADADBS3 @MANU001 A$240 AACCINIF AAFAU038 AAFNDICA AAFSNAT3 ADACM250 ADADBS9 @MANU002 A$241 AAFACUR2 AAFAU081 AAFNGBPM AAFSNAT4 ADADBINC ADADB01 @MANU003 AAASMFK AAFACUR3 AAFAU160 AAFNLOAD AAFSNSM1 ADADBRI ADADB02 @MANU004 AAASMF1 AAFACUR4 AAFAU196 AAFNLOFF AAFSNSTC ADADBS ADADB03 @MANU005 AAASMF9 AAFACUR5 AAFAU199 AAFNPAR AAFSNST1 ADADBSD ADADB04 @MANU006 AAAUSR AAFADBAX AAFAU20U AAFNREST AAFSZERA ADADBSD1 ADADB05 @MANU007 AAAUSR1 AAFADBA2 AAFAU20X AAFPCS00 ABABAN ADADBSD9 ADADB10 @MANU009 AAA001 AAFADBA3 AAFAU20Y AAFPCS01 ABACW106 ADADBSI ADADB220 @SDSF AAA001TS AAFADBA4 AAFAU20Z AAFPCS03 ADACDC ADADBSP ADADCK A$ADASAV AAA003JX AAFAEXTB AAFAU203 AAFPCS04 ADACMPCO ADADBSRE ADADEFW A$INVERT AAA004J AAFAEX2 AAFAU216 AAFPL297 ADACMPP ADADBSRF ADADEFZ A$NATLOA AAA009 AAFAEX2T AAFA199 AAFPL299 ADACMPPF ADADBS1 ADADE020 A$NATUNL AAA009J AAFALHYP AAFCCTES AAFPREST ADACMPX ADADBS10 ADADE022 A$REORFI AAA012 AAFANATI AAFCDIC1 AAFPRES1 ADACMP01 ADADBS11 ADADE030 A$RESTOA AAA020J AAFANATK AAFCDOC AAFPSAVE ADACMP1 ADADBS12 ADADE032 A$RESTOR AAA500J AAFANATZ AAFCDSN AAFPU033 ADACM050 ADADBS13 ADADE040
Quero encontrar uma determinada palavra dentro dos membros de uma biblioteca. Em vez de abrir cada membro individualmente para verificar se a palavra está presente, podemos utilizar o recurso de pesquisa do TSO para realizar essa busca de forma rápida e identificar exatamente quais membros contêm a informação procurada.
MEMBER=WWWX14 000001 REC SAVE:10.08.2026 10:08 BY USERID DBAP055 R=00000001 DSN=ADABAS.LIBRAR VOL=PRL303 UNIT=1526 ....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 CLAUDEMAR - (67) 1414.324799 COMPDS0400-D --- End of Data ---
No TSO acesse o p.3.15
CUSTOMPAC MASTER APPLICATION MENU
OPTION ===> p.3.15 SCROLL ===> PAGE
USERID - DBAP055
TIME - 15:09
IS ISMF - Interactive Storage Management Facility
P PDF - ISPF/Program Development Facility
IP IPCS - Interactive Problem Control Facility
DI DITTO - Data Interfile Transfer, Testing and Operations
SD SDSF - System Display and Search Facility
IC ICSF - Integrated Cryptographic Service Facility
HC HCD - Hardware Configuration Definition
BMR BMR READ - BookManager Read (Read Online Documentation)
BMI BMR INDX - BookManager Read (Create Bookshelf Index)
S SORT - DF/SORT Dialogs
OU USER - z/OS ISPF User Options
RV RVS - RVSMVS File Transfer System
TL TLMS - TLMS Tape Management
TS TSS - TOP SECRET
OS SUPPORT - z/OS ISPF System Support Options
F1=HELP F2=SPLIT F3=END F4=RETURN F5=RFIND F6=RCHANGE
F7=UP F8=DOWN F9=SWAP F10=LEFT F11=RIGHT F12=RETRIEVE
CAPS
Iniciando a busca - Por uma palavra maiuscula Menu Utilities Options Help
¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢
Extended Search-For Utility
More: +
Search DS Name . . 'ADABAS.LIBRAR'
PDS Member List . . * (blank/pattern - member list, * - search all)
(Leave Search DSN "blank" for concatenated-uncataloged-password panel)
Enter Search Strings and Optional operands (WORD/PREFIX/SUFFIX,C)
Caps . . '324799'
Caps . .
Caps . .
Asis . .
Asis . .
Listing DSN . . . . SRCHFOR.LIST
Process Options . .
Statements Dsn . .
Enter "/" to select option Execution Mode Output Mode
Command ===>
F1=Help F2=Split F3=Exit F7=Backward F8=Forward F9=Swap
F10=Actions F12=Cancel
Encontrou - na biblioteca o membro com o nome WWWX14
File Edit Edit_Settings Menu Utilities Compilers Test Help ¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢ VIEW DBAP055.SRCHFOR.LIST Columns 00001 00072 ****** ***************************** Top of Data ****************************** 000001 1 ISRSUPC - MVS/PDF FILE/LINE/WORD/BYTE/SFOR COMPARE UTILITY- ISPF 000002 LINE-# SOURCE SECTION SRCH DSN: ADABAS.LIBRAR 000003 000004 000005 WWWX14 --------- STRING(S) FOUND ---------------- 000006 000007 1 CLAUDEMAR - (67) 1414.324799 000008 000009 1 ISRSUPC - MVS/PDF FILE/LINE/WORD/BYTE/SFOR COMPARE UTILITY- ISPF 000010 SEARCH-FOR SUMMARY SECTION SRCH DSN: ADABAS.LIBRAR 000011 000012 LINES-FOUND LINES-PROC MEMBERS-W/LNS MEMBERS-WO/LNS COMPARE-COLS L 000013 1 29137 1 849 1:80 000014 000015 000016 THE FOLLOWING PROCESS STATEMENTS (USING COLUMNS 1:72) WERE PROCESSED: 000017 SRCHFOR '324799' Command ===> Scroll ===> PAGE F1=Help F2=Split F3=Exit F5=Rfind F6=Rchange F7=Up F8=Down F9=Swap F10=Left F11=Right F12=Cancel
Asis
Iniciando a busca - Por uma palavra minuscula Menu Utilities Options Help
¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢
Extended Search-For Utility Strings found
More: +
Search DS Name . . 'ADABAS.LIBRAR'
PDS Member List . . * (blank/pattern - member list, * - search all)
(Leave Search DSN "blank" for concatenated-uncataloged-password panel)
Enter Search Strings and Optional operands (WORD/PREFIX/SUFFIX,C)
Caps . .
Caps . .
Caps . .
Asis . .
Asis . . 'Claudemar'
Listing DSN . . . . SRCHFOR.LIST
Process Options . .
Statements Dsn . .
Enter "/" to select option Execution Mode Output Mode
Command ===>
F1=Help F2=Split F3=Exit F7=Backward F8=Forward F9=Swap
F10=Actions F12=Cancel
Encontrou vários, agora é só dar PF8 e ver se encontra o membro
File Edit Edit_Settings Menu Utilities Compilers Test Help ¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢ VIEW AA01055.SRCHFOR.LIST Columns 00001 00072 ****** ***************************** Top of Data ****************************** 000001 1 ISRSUPC - MVS/PDF FILE/LINE/WORD/BYTE/SFOR COMPARE UTILITY- ISPF 000002 LINE-# SOURCE SECTION SRCH DSN: ADABAS.LIBRAR 000003 000004 000005 ENVIA333 --------- STRING(S) FOUND ---------------- 000006 000007 20 SUBJECT:teste Claudemar 000008 24 Claudemar Martins de Sa 000009 000010 SNG --------- STRING(S) FOUND ---------------- 000011 000012 37 Claudemar Martins de Sa 000013 000014 1 ISRSUPC - MVS/PDF FILE/LINE/WORD/BYTE/SFOR COMPARE UTILITY- ISPF 000015 SEARCH-FOR SUMMARY SECTION SRCH DSN: ADABAS.LIBRAR 000016 000017 LINES-FOUND LINES-PROC MEMBERS-W/LNS MEMBERS-WO/LNS COMPARE-COLS L Command ===> Scroll ===> PAGE F1=Help F2=Split F3=Exit F5=Rfind F6=Rchange F7=Up F8=Down F9=Swap F10=Left F11=Right F12=Cancel
Pesquisando via JOB
Uma outra forma bastante eficiente de pesquisar uma determinada palavra dentro de uma biblioteca é executar um JOB. Essa alternativa pode ser muito útil quando estamos trabalhando com bibliotecas que possuem uma grande quantidade de membros, tornando a pesquisa manual pelo TSO mais demorada. Por meio de um JOB, podemos automatizar essa tarefa e fazer com que o próprio ambiente percorra os membros da biblioteca em busca da palavra ou expressão informada. Ao final da execução, podemos analisar o resultado e identificar em quais membros a informação pesquisada foi encontrada. Além de agilizar o processo, essa abordagem é interessante porque permite realizar pesquisas de forma padronizada e repetir a operação sempre que necessário, principalmente em atividades de manutenção, análise de programas e investigação de informações no ambiente z/OS.MEMBER=@CMD05 000011 REC SAVE:31.12.2022 12:05 BY USERID DBAP055 R=00000001 DSN=AAB.DIST.JCLS LIB=S4 VOL=PRL303 UNIT=1526 ....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 //AAFSNATB JOB (AAF,TSS),'CLAU',CLASS=S,MSGCLASS=A //*UQ ALLOW //* ----------------------------------------------------------- //* PESQUISA DETERMINADA PALAVRA EM UMA BIBLIOTECA //* ----------------------------------------------------------- //SEARCH EXEC PGM=ISRSUPC,PARM=(SRCHCMP,'FINDALL') //NEWDD DD DISP=SHR,DSN=ADABAS.LIBRAR //OUTDD DD SYSOUT=* //SYSIN DD * SRCHFOR '324799'
Resultado - Encontrou o membro WWWX14
1 ISRSUPC - MVS/PDF FILE/LINE/WORD/BYTE/SFOR COMPARE UTILITY- ISPF FOR z/OS
LINE-# SOURCE SECTION SRCH DSN: ADABAS.LIBRAR
WWWX14 --------- STRING(S) FOUND -------------------
1 CLAUDEMAR - (67) 1414.324799
1 ISRSUPC - MVS/PDF FILE/LINE/WORD/BYTE/SFOR COMPARE UTILITY- ISPF FOR z/OS
SEARCH-FOR SUMMARY SECTION SRCH DSN: ADABAS.LIBRAR
LINES-FOUND LINES-PROC MEMBERS-W/LNS MEMBERS-WO/LNS COMPARE-COLS LONGEST-L
1 29137 1 849 1:80 80
PROCESS OPTIONS USED: FINDALL
THE FOLLOWING PROCESS STATEMENTS (USING COLUMNS 1:72) WERE PROCESSED:
SRCHFOR '324799'
UQS0009 - END OF DATA SET.



0 comentários:
Enviar um comentário