[NEWSboard IBMi Forum]

Thema: FTP

  1. #1
    Registriert seit
    Jan 2006
    Beiträge
    111

    FTP

    Moin zusammen !

    Ich versuche gerade in einem RPG Programm ein FTP abzusetzen (Aufruf QCMDEX mit den jeweiligen Befehlen (hier Modulaufruf CLCMD)).

    Nur allerdings hab ich das mit den Input-Dateien und Output-Dateien noch nicht wirklich kapiert und die OVRDBF funktionieren nicht....

    Hier mal mein Quellcode:

    Code:
    FINPUT     O    E             DISK    USROPN RENAME(QFTPCMD:INPUT00) 
    FOUTPUT    IF   E             DISK    USROPN RENAME(QFTPCMD:OUTPUT00)
     *
    C                   CALLP     CLCMD('CRTDUPOBJ OBJ(QFTPCMD) ' +        
    C                              'FROMLIB(*LIBL) OBJTYPE(*FILE) ' +      
    C                              'TOLIB(QTEMP)')                         
    C                   CALLP     CLCMD('CLRPFM FILE(QFTPCMD) MBR(OUTPUT)')
    C                   CALLP     CLCMD('CLRPFM FILE(QFTPCMD) MBR(INPUT)') 
    C                   CALLP     CLCMD('OVRDBF FILE(INPUT) ' +            
    C                              'TOFILE(*LIBL/QFTPCMD) MBR(INPUT) ' +   
    C                              'OVRSCOPE(*JOB)')                       
    C                   CALLP     CLCMD('OVRDBF FILE(OUTPUT) ' +           
    C                              'TOFILE(*LIBL/QFTPCMD) MBR(OUTPUT) ' +  
    C                              'OVRSCOPE(*JOB)')                     
    C*                                                                   
    C*   Befehlsfolge für Eingabedatei FTP 
    C                   OPEN      INPUT                                  
     **** Datei mit Commandos schreiben ****
    .....
     *         FTP Absetzen
    C         CALLP     CLCMD('FTP ' +  RMTSYS)                 
     
    usw....
    Datei Input:
    Code:
     A*-----------------------------
     A          R QFTPCMD           
     A            SRCDTA        80
    Datei Output:
    Code:
    A          R QFTPCMD           
    A            SRCDTA        80
    Datei QFTPCMD:
    Code:
                    R QFTPCMD                
                      TEXT2        256       
                      TEXT3        256
    Die Output-Datei möchte ich später auslesen um Fehler zu analysieren ...
    Ich weiß nicht weiter... vielleicht kann mir jemand auf die Sprünge helfen !

    Gruß
    Maxx

  2. #2
    Registriert seit
    Aug 2004
    Beiträge
    923
    Moin moin,

    muss das denn alles im RPG passieren?
    Die FTP-Commands aus RPG in eine File reinschreiben ist ja noch okay, aber den Rest (Durchführung FTP mit OVR usw. ) würde ich persönlich über nen CL erledigen lassen.

    k.

  3. #3
    Registriert seit
    Jan 2006
    Beiträge
    111
    Es is doch eigentlich egal, obs im CL oder im RPG passiert, oder ?

    LG
    Maxx

  4. #4
    Registriert seit
    Aug 2004
    Beiträge
    923
    Zitat Zitat von Bratmaxxe
    Es is doch eigentlich egal, obs im CL oder im RPG passiert, oder ?
    Japp,
    ich mach das nur so. Ist so einfach und man kann hinterher gut reinschauen und Fehler auswerten, oder sogar nen Programm laufen lassen, was das LOG einliest und analysiert...

    okay.
    weil das ja immer wieder Konfusionen gibt,
    hier zum allerletzten mal der Ablauf wie man es machen "könnte".

    Das Beispiel geht hier mal von QCLSRC/KUEMPI aus.

    Zuerst ein leeres Member anlegen, da kommen später die Logdaten rein.

    PHP-Code:
    STRSEU SRCFILE(KUEMPI/QCLSRCSRCMBR(FTPLOGTYPE(TXTTEXT('FTP nach xx Logdatei'
    Dann ein Member anlegen, da wo FTP-Kommandos reinkommen.

    PHP-Code:
    STRSEU SRCFILE(KUEMPI/QCLSRCSRCMBR(FTPCMDTYPE(TXTTEXT('FTP nach xx Kommandos'
    In diese "CMD-File" schreiben wir rein, was FTP alles machen soll.

    Da ist alles möglich was FTP so kann.

    Im Beispiel logt sich ein User "kuempi" auf dem fremden System
    mit dem Passwort "geheim" ein und macht dann einfach einen PUT

    Beispielinhalt von FTPCMD:

    PHP-Code:
    kuempi geheim
    namefmt 1
    bin
    put kuempi
    /hugo 
    quit 
    Nun brauchen wir noch ein CLP was mit diesen beiden Teilen arbeitet.
    Beispiel:

    PHP-Code:
    PGM
    CLRPFM FILE
    (KUEMPI/QCLSRCMBR(FTPLOG)
    MONMSG (CPF0000 CPF9999)
    OVRDBF FILE(INPUTTOFILE(KUEMPI/QCLSRC) +
    MBR(FTPCMD)
     
    OVRDBF FILE(OUTPUTTOFILE(KUEMPI/QCLSRC) +
    MBR(FTPLOG)
     
    FTP RMTSYS('xxx.xxx.xxx.xxx') <- Hier die IP rein!
     
    DLTOVR FILE(INPUT OUTPUT)
    ENDPGM 
    Soweit so gut, gehst Du mal hinterher auf das LOG und schaust es Dir an.

    Wenn Du nun - aus welchen Gründen auch immer - in der CL-Source nicht das Passwort
    stehen haben möchtest, musst Du eben die Inputfile (FTPCMD) per RPG-Programmm
    füllen und nach der Übertragung wieder löschen. Ich denke mal, das bekommst
    Du selber hin.

    k.

    Achso, nochwas. Die CMD muss nicht zwingend TXT sein, es geht auch ne richtige File mit Satzformat und einem Feld a 80 oder was weiss ich.
    Ist evtl einfacher dann, wenn Du das im RPG füllen willst/musst.

    k.

  5. #5
    Registriert seit
    Jan 2006
    Beiträge
    111
    Vielen Dank Kuempi !

    Ich versuche jedoch meinen Fehler vergebens zu finden....

    Programm bricht beim Open INPUT ab:

    QFTPCMD liegt in der LIBL Dateien und hat die Member Input und Output die ich vorher per ADDPFM hinzugefügt habe.

    Teildateien von QFTPCMD:

    Ausw. Teildatei Datum Text
    INPUT 16.08.06 Inputdatei für AS400 FTP-Transfers
    OUTPUT 16.08.06 Outputdatei für AS400 FTP-Transfers
    QFTPCMD 16.08.06 Commands für AS400 FTP-Transfers

    Die LIBL:
    Folgenr. Bibliothek

    0
    10 QTEMP
    20 Y2PTF62040
    30 QIWS
    40 DATEIEN1
    50 DATEIEN
    60 PGM

    Anbei der LOG...


    Objekt QFTPCMD der Art *FILE in Bibliothek QTEMP erstellt.
    1 Objekte dupliziert.
    Inhalt der Teildatei OUTPUT in Datei QFTPCMD in DATEIEN gelöscht.
    Inhalt der Teildatei INPUT in Datei QFTPCMD in DATEIEN gelöscht.
    Aktualitätsprüfung für Datei, QFTPCMD Bibliothek DATEIEN, Teildatei INPUT.
    Fehlernachricht CPF4131 während OPEN angezeigt.



    Was is verkehrt.... ?

    Gruß
    Maxx

  6. #6
    Registriert seit
    Aug 2004
    Beiträge
    923
    Zitat Zitat von Bratmaxxe
    ...Was is verkehrt.... ?
    ...
    Na da schlägt der Levelcheck bei Dir zu.
    Müsstest Du nach der Memberstellung Dein RPG nochmal wandeln...

    Ist natürlich Quatsch.

    In Deinem Fall würde ich mal den OVRDBF um LVLCHK(*NO) erweitern.

    k.

  7. #7
    Registriert seit
    Jan 2006
    Beiträge
    111
    was wäre Mäxxchen nur ohne Kuempi ?

    Vielen Dank dafür, funzt jetzt alles super ...

    MFG
    Maxx

Similar Threads

  1. Daten perr FTP ins IFS
    By malzusrex in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 05-12-06, 13:38
  2. Ftp put hängt sich auf
    By TARASIK in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 21-11-06, 16:18
  3. FTP
    By KM in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 28-08-06, 13:50
  4. Savf File per FTP
    By wuwu in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 18-08-06, 08:09
  5. FTP von V5R3M0 nach V5R4M0
    By Frank.Sobanek in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 22-06-06, 20:22

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •