Anmelden

View Full Version : Alle Member durchsuchen



Seiten : [1] 2

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

Fuerchau
22-04-15, 08:49
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?

jajonowak
22-04-15, 09:29
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

Fuerchau
22-04-15, 10:02
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.

jajonowak
22-04-15, 12:17
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.

Fuerchau
22-04-15, 12:52
OK, der CRTLF hat noch ein MAXMBRS(1) als Default. Also hier ggf. noch *NOMAX eintragen.

malzusrex
22-04-15, 12:59
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

Pikachu
22-04-15, 13:15
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)