View Full Version : Alle Member durchsuchen
FNeurieser
22-04-15, 08:36
Hallo allerseits,
gibt es eine Möglichkeit alle Member (103) einer Datei nach einem bestimmten Inhalt in einem Feld zu durchsuchen?
Danke schon mal für die Hilfe
Franz-Georg
2 Möglichkeiten:
FNDSTRPDM, funktioniert aber eigentlich nur bei SRCPF's.
Beim CRTLF kann eine LF mit allen Teildateien erstellt werden.
Diese müsste sich dann ggf. mit SQL durchsuchen lassen.
FNeurieser
22-04-15, 08:51
Hallo Fuerchau,
danke, aber wie müsste die LF aussehen?
Hallo FNeurieser,
hier ein Auszug aus der interaktive Hilfe:
Logische Datei erstellen (CRTLF)
.................................................. ............
inge : Physische Teildatei (DTAMBRS) - Hilfetext
:
. . : Einzelwerte
hek :
tei : *NONE
hek : Es wird kein Teildateiname angegeben.
ilda :
ngsb : Weitere Werte (bis zu 32 Wiederholungen)
nend :
. . : Weitere ...
..... was bedeuteten würde 103 - geht nicht.
Lg
Hans-Joachim
Der Default ist eigentlich *ALL!
Wenn also beim CRTLF eine PF mehr als 1 Teildatei hat, werden sowieso immer alle PF's verwendet.
Dies müsste man beim DSPFD auch verifizieren können.
Ich habe gerade mal ein paar Teildateien zugefügt und dann die LF erstellt.
Im Joblog steht dann:
CRTLF FILE(MYL/KD01L1) SRCFILE(MYL/QDDSSRC) DTAMBRS(*ALL)
4 > CRTLF FILE(MYL/KD01L1) SRCFILE(MYL/QDDSSRC) DTAMBRS(*ALL)
Datei KD01L1 in Bibliothek MYL erstellt.
Anzahl der Teildateien für Datei KD01L1 nicht zulässig.
Teildatei KD01L1 nicht zu Datei KD01L1 in MYL hinzugefügt.
OK, der CRTLF hat noch ein MAXMBRS(1) als Default. Also hier ggf. noch *NOMAX eintragen.
Ich habe das bei mir mal getestet.
Bei 256 Member ist er abgebrochen, da wohl 256 dann doch die Höchstgrenze ist
RobertMack
22-04-15, 13:11
http://www.rpgpgm.com/2013/12/easiest-way-to-read-all-members-in.html
Für den gelegentlichen Gebrauch (als Tool oder zur Recherche) habe ich noch eine CL-Variante:
PGM
DCL VAR(&MEMBR) TYPE(*CHAR) LEN(10)
RTVMBRD FILE(MYLIB/MYFILE) MBR(*FIRSTMBR) RTNMBR(&MEMBR)
WORK:
OVRDBF...
CALL PGM(MySqlRpg) oder RUNQRY QRY(MyQuery)
DLTOVR...
NEXT:
RTVMBRD FILE(MYLIB/MYFILE) MBR(&MEMBR *NEXT) RTNMBR(&MEMBR)
MONMSG MSGID(CPF3049) EXEC(GOTO CMDLBL(DONE))
GOTO CMDLBL(WORK)
DONE:
ENDPGM
Database file sizes
Number of physical file members in a logical file member
Maximum value: 32 members (http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_72/dbp/rbafoappmax.htm)