PDA

View Full Version : IFS Laufwerk



hell
12-07-04, 14:56
Von einem PC werden täglich Daten in das IFS-Laufwerk "home" erstellt.

das Herunterladen auf die AS mittels
CPYFRMIMPF oder CPYFRMSTMF
bei einem eindeutigen Dateinamen ist kein Problem.

Die Dateinamen haben aber einen festen Prefix + Laufnummer.

Wie kann ich diese Dateien abholen, wenn deren Name der AS/400 nicht
bekannt ist.

AndreasH
12-07-04, 15:24
Hallo Hell,
zuerst einmal unbedingt die Daten aus dem /home in ein Unterverzeichnis packen, zB /home/vonPC oder ähnlich. In dieses Verzeichnis dann auch nur die Daten dieser Anwendung rein.
Anschliessend ein bischen CL und ein bischen RPG:


:WasIsDa1C pgm
DCL VAR(&DIR) TYPE(*CHAR) LEN(50) +
VALUE('/home/vonPC')
CRTPF FILE(QTEMP/DSPLNKP) RCDLEN(132)
/* HIER die passende Dateischablone einbauen statt '*' */
CHGVAR VAR(&WORK) VALUE(&DIR *TCAT '/' *TCAT '*')
CD DIR('/')
DSPLNK OBJ(&WORK) OUTPUT(*PRINT) OBJTYPE(*STMF) +
DETAIL(*NAME) DSPOPT(*ALL)
CPYSPLF FILE(QSYSPRT) TOFILE(QTEMP/DSPLNKP)
DLTSPLF FILE(QSYSPRT)
OVRDBF FILE(DSPLNKP) TOFILE(QTEMP/DSPLNKP)
CALL PGM(WasIstDa1R)

Das RPGLE Programm in Fixformat RPG:


*WasIstDa1R
FDSPLNKP IF F 132 DISK
IDSPLNKP KF
I 2 26 I#FILE
C DO *HIVAL
C READ DSPLNKP LR
C LR LEAVE
C* Hier Dateischablone anpassen!!!!
C IF %SUBST(I#FILE:1:5) <> 'daten'
C ITER
C ENDIF
C CALL 'WasIstDa2C'
C PARM I#FILE
C ENDDO

und nun wieder bischen CL


WasIstDa2C: PGM PARM(&FILE)
DCL VAR(&FILE) TYPE(*CHAR) LEN(25)
OVRPRTF FILE(QSYSPRT) OUTQ(PRAB01) OVRSCOPE(*JOB)
MONMSG MSGID(CPF0000)
CPYFRMSTMF FROMSTMF(&FILE)
TOMBR('QSYS.LIB/MYLIB.LIB/MYFILE.FILE/MYMBR.MBR') MONMSG MSGID(CPA0000 CPF0000)
ENDPGM

Das TOMBR muss nactürlich angepasst werden. Da wir hier mit einem selbstgemachen CSV Converter arbeiten habe ich schnell den Befehlsprompt von CPYFRMSTMF reinkopiert.
Das man statt der einzelnen Programme auch Moduls draus machen kann etc ist klar.
Das sollte dir aber erstmal einen Ansatz geben.
Bei dem DSPLNK auf Spool gibts sicher auch den Weg der APIs für IFS, aber dafür hab ich keine Beispiele, weil wir da mit IFS-Tools arbeiten, die ich nur benutze. No Clue, wer der Hersteller ist bzw wo du dir diese downloaden kannst

Gruß