-
Existenzprüfung einer Datei im IFS
Mit welchem Befehl in einem CL kann ich die Existenz eines bestimmten Dateinamens in einem IFS-Ordner abfragen?
-
Wir machen das seid gefühlten 20 Jahren so
CHGVAR VAR(&PFAD) VALUE(&PFAD *TCAT &IFSFILE)
CHGVAR VAR(&PFAD2) VALUE(&PFAD *TCAT '#')
CHGVAR VAR(&IFS2) VALUE(&IFSFILE *TCAT '#')
RNM OBJ(&PFAD) NEWOBJ(&IFS2)
MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(FEHLER))
RNM OBJ(&PFAD2) NEWOBJ(&IFSFILE)
MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(FEHLER))
GOTO CMDLBL(ENDE)
Robi
(der weis das es warsch. eleganter geht)
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Es funktioniert auch mit CHKOUT.
Wenn CHKOUT erfolgreich war anschließend CHKIN.
Manfred
-
Oder mit einer C-Funktion ...
Code:
PGM PARM(&OBJ)
DCL VAR(&OBJ) TYPE(*CHAR) LEN(256)
DCL VAR(&RTNVALINT) TYPE(*CHAR) LEN(4)
DCL VAR(&RTNVAL) TYPE(*CHAR) LEN(2)
DCL VAR(&PATH) TYPE(*CHAR) LEN(100)
DCL VAR(&END) TYPE(*CHAR) LEN(1) VALUE(X'00')
DCL VAR(&BUF) TYPE(*CHAR) LEN(4096)
CHGVAR VAR(&PATH) VALUE(&OBJ *TCAT &END)
CALLPRC PRC('stat') PARM(&PATH &BUF) +
RTNVAL(%BIN(&RTNVALINT 1 4))
CHGVAR VAR(&RTNVAL) VALUE(%BIN(&RTNVALINT))
IF COND(&RTNVAL *NE '00') THEN(SNDPGMMSG +
MSGID(CPF9897) MSGF(QCPFMSG) +
MSGDTA('Object ' *TCAT &OBJ *BCAT ' not +
found.') MSGTYPE(*ESCAPE))
ENDPGM
-
Und noch eine Variante ;-)
PHP-Code:
d File s *
d rc s 10I 0
d F_OK c const(0)
d
d PM_File s 255
d PM_Return s n
d
d True c *On
d False c *Off
d
*-- IFS stream file functions: -----------------------------------**
d access Pr 10I 0 ExtProc( 'access' )
d dPath * value Options( *String )
d amode 10i 0 value
c *Entry PList
c Parm PM_File
c Parm PM_Return
c
C If access( %Trim( PM_File ) : F_OK) <> 0
C Eval PM_Return = False
C Else
C Eval PM_Return = True
c EndIf
c
c Eval *InLr = True
-
Danke für die Tipps. WRKLNK mit entspr. MONMSG-Nr. bringt mich weiter.
-
Bedenke:
WRKLNK ist ein Dialog-Befehl!
Wenn du im Batch bist, schlägt der Befehl auch mit Fehler zu wenn die Datei existiert aber kein Bildschirm da ist.
Im CLP bist du mit CHKOUT/CHKIN besser bedient.
-
Nachtrag 2:
Im Dialog muss der Bediener dann auch noch Enter drücken wenn die Datei da ist, damit dein Programm weitermacht.
-
Ja klar, meinte auch "DSPLNK"
-
Tut mir leid, aber auch das ist blöd.
Wenn die Datei da ist gibt's immer einen Spool, wer soll was damit machen?
Warum wehrst du dich so gegen die CHKxxx-Befehle?
Similar Threads
-
By labm in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 22-04-14, 14:30
-
By chris in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 17-10-02, 13:32
-
By VauH in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 29-10-01, 10:07
-
By hs in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 27-09-01, 11:25
-
By Ursus in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 09-08-01, 07:59
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks