PDA

View Full Version : alle Programme zu einen PF



steven_r
18-09-06, 06:51
Hallo zusammen,

ich muss ein CHGPF machen und dann alle Programme dazu generieren, da muss es doch einen Befehl geben der mir alle Programme dazu auflistet.

danke im voraus

steven_r

Fuerchau
18-09-06, 07:13
DSPPGMREF in Outfile und dann nach Verwendung suchen.

Wird eine PF allerdings nur als externe Struktur definiert, taucht sie in DSPPGMREF nicht auf !

KM
18-09-06, 07:21
Du könntest einen DSPPGMREF über alle Programme mit *OUTFILE machen und die Outfile dann mit Query auswerten.

Gruß,
KM

steven_r
18-09-06, 07:49
das sieht schon gut aus danke

aber gibt es eine möglichkeit das ich den namen des PF angebe und alle dazugehörigen Programme bekomme?

ebenfalls benötige ich noch die Info welche art das PGM hat RPG, RPGLE, SQLRPG, CL, CLLE.......
wo bekomme ich diese Infos her?

lg
steven_r

B.Hauser
18-09-06, 09:00
Hallo,

schau Dir mal den Befehl FNDSTRPMD (Zeichenfolge mit PDM suchen) an. Mit Hilfe dieses Befehls ist es möglich Quellen-Dateien nach einem bestimmten String (z.B. Name der physischen Datei) zu scannen. Bei der Auswahl OPTION ist es sogar möglich über *CMPL die Quellen, in denen dieser String vorhanden ist umzuwandeln.



FNDSTRPDM STRING(MYPF)
FILE(QRPGLESRC)
MBR(*ALL)
OPTION(*CMPL *PROMPT)


Birgitta

RobertMack
18-09-06, 09:01
Wenn Du sicher bist, dass alle Quellen in der gleichen QRPGLESRC stehen, dann kannst Du auch:

FNDSTRPDM STRING(FDATEINAME) FILE(LIB/QRPGLESRC) MBR(*ALL) OPTION(*CMPL)

ggf. im PDM vorher entsprechende Einstellungen zur Übersetzung vornehmen (F18)

steven_r
18-09-06, 12:01
Danke für eure Hilfe

hausi
01-07-08, 15:33
Man erstelle soich mit DSPPGMREF und DSPOBJD die beiden Dateien über die gewünschten Bibliothken.

**** Datenanfang **************************************
PGM PARM(&RTNCDE &BIBLIOTHEK)
DCL VAR(&RTNCDE) TYPE(*CHAR) LEN(7)
DCL VAR(&BIBLIOTHEK) TYPE(*CHAR) LEN(10) +
VALUE(*USRLIBL)

DSPPGMREF PGM(&BIBLIOTHEK/*ALL) OUTPUT(*OUTFILE) +
OUTFILE(HAUSMANN/PGMREF)
MONMSG MSGID(CPF3068)
DSPOBJD OBJ(&BIBLIOTHEK/*ALL) OBJTYPE(*ALL) +
OUTPUT(*OUTFILE) OUTFILE(HAUSMANN/OBJDSP)
MONMSG MSGID(CPF3068)
DSPFD FILE(&BIBLIOTHEK/*ALL) TYPE(*ACCPTH) +
OUTPUT(*OUTFILE) FILEATR(*PF *LF) +
OUTFILE(HAUSMANN/FILDSP)
MONMSG MSGID(CPF3068)
ENDPGM
*****Datenende ****************************************


Dateien am Programm:
************************** Anfang der Daten **********************************
SELECT DISTINCT
-- Spalten
A.WHPNAM, A.WHTEXT, A.WHFNAM, B.ODOBTX, A.WHRFNM, A.WHFUSG, A.WHRFSN,
A.WHOTYP
-- Tabellen
FROM "HAUSMANN"/"DSPPGMREFO" A,
"HAUSMANN"/"DSPOBJDO" B
-- Zeilenauswahl
WHERE (A.WHPNAM LIKE '%relevanter_Teil_OBJ-Name%')
-- Verknüpfungsbedingungen
AND (A.WHFNAM = B.ODOBNM)
-- Sortierspalten
ORDER BY A.WHPNAM, A.WHFNAM, A.WHRFNM
**************************** Ende der Daten **********************************


abhängige Programme
************************** Anfang der Daten **********************************
SELECT DISTINCT
-- Spalten
A.WHPNAM, A.WHTEXT, A.WHFNAM, B.WHTEXT
-- Tabellen
FROM "HAUSMANN"/"DSPPGMREFO" A,
"HAUSMANN"/"DSPPGMREFO" B
-- Zeilenauswahl
WHERE (A.WHFNAM LIKE '%relevanter_Teil_des_Prog-Namens%')
-- Verknüpfungsbedingungen
AND (A.WHFNAM = B.WHPNAM)
**************************** Ende der Daten **********************************

Das ist ein "Tool", das einem oft hilft.

Grüsse Georg