[NEWSboard IBMi Forum]

Thema: CL und CHKOBJ

Hybrid View

  1. #1
    Registriert seit
    Sep 2006
    Beiträge
    132

    CL und CHKOBJ

    Hallo,

    ich wollte mithilfe eines CL Programmes Prüfen ob eine Datei da ist um sie dann zu erstellen oder zu bearbeiten. Ich bekomme jedoch einen Fehler, hier der Auszug des Joblogs:
    PHP-Code:
    call odbccopycl parm(ztable aaw LIB test J ODBC WIN01)
    Objekt AAW in Bibliothek LIB nicht gefunden.          
    Datei AAW in Bibliothek LIB erstellt.                 
    Teildatei TEST zu Datei AAW in DOMMZO hinzugefügt.       
    Datei AAW in Bibliothek LIB bereits vorhanden.        
    Datei AAW in Bibliothek LIB nicht erstellt.           
    (
    C D I RCPF7302 von ODBCCOPY bei 2200 empfangen.       
    D                                                        
    (C D I RCPF9999 von ODBCCOPYCL bei 2600 empfangen.     

    Hier ist mein Code:
    PHP-Code:
    PGM        PARM(&FILEN &FILE &LIB &MBR &FCALL &ODBC &WIN)                        
                                                                                     
                 
    DCL        VAR(&FILENTYPE(*CHARLEN(255)                         
                 
    DCL        VAR(&FILETYPE(*CHARLEN(10)                           
                 
    DCL        VAR(&MBRTYPE(*CHARLEN(10)                            
                 
    DCL        VAR(&LIBTYPE(*CHARLEN(10)                            
                 
    DCL        VAR(&FCALLTYPE(*CHARLEN(1)                           
                 
    DCL        VAR(&ODBCTYPE(*CHARLEN(10)                           
                 
    DCL        VAR(&WINTYPE(*CHARLEN(10)                            
                 
    DCL        VAR(&JOBTYPE(*CHARLEN(10)                            
                 
    DCL        VAR(&NBRTYPE(*CHARLEN(6)                             
                 
    DCL        VAR(&TYPTYPE(*CHARLEN(1)                             
                 
    DCL        VAR(&SUBTTYPE(*CHARLEN(1)                            
                 
    DCL        VAR(&SWSTYPE(*CHARLEN(8)                             
                 
    DCL        VAR(&CORTYPE(*CHARLEN(1VALUE(N)                    
                 
    RTVJOBA    JOB(&JOBNBR(&NBRTYPE(&TYPSUBTYPE(&SUBTSWS(&SWS)  
                 
    SNDMSG     MSG('VOM CL: JOB: ' *CAT &JOB *CAT ' NBR: ' *CAT +       
                            &
    NBR *CAT ' TYPE: ' *CAT &TYP *CAT ' SUBT: ' *CAT +      
                            &
    SUBT *CAT ' SWS: ' *CAT &SWS MSGTYPE(*INFOTOUSR(USR)
                 
    CHKOBJ     OBJ(&LIB/&FILEOBJTYPE(*FILEMBR(&MBR)                    
                 
    MONMSG     MSGID(CPF9801)  EXEC(GOTO NOTFOUND)                         
    NOTFOUND:    CRTSRCPF   FILE(&FILE)                                                 
                 
    ADDPFM     FILE(&FILEMBR(&MBRSRCTYPE(RPGLE)                        
                 
    OVRDBF     FILE(&FILETOFILE(&FILE) +                                 
                            
    MBR(&MBROVRSCOPE(*JOB)                                    
                 
    CALL       PGM(ODBCCOPYPARM(&FILEN &FILE &LIB &MBR &FCALL &ODBC &WIN)
                 
    DLTOVR     FILE(&FILELVL(*JOB)                                       
    ENDE:        RETURN                                                                 
    FOUND:       CHGVAR     &FCALL VALUE('E')                                                        
                 RETURN                                                                 
                 
    ENDPGM 
    Scheinbar sprint er 2 mal zu "NOTFOUND". Wo liegt der Fehler?

    Gruß Martin

    EDIT: Zeile 22 von ODBCCOPY is aus einer DS:
    PHP-Code:
    0022.00 D win                           10A 
    EDIT2: Fehler behoben.

  2. #2
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Hallo Martin!

    Dein Programm ruft nach dem CHKOBJ auch dann den Befehl CRTSRCPF auf, wenn die Datei bereits vorhanden ist. Oder hast du da einen Teil des Quelltextes für das Beispiel entfernt? Außerdem ist beim CRTSRCPF und beim ADDPFM jeweils keine Bibliothek angegeben, die Teildatei wird deshalb wohl zu einer gleichnamigen Datei in einer anderen Bibliothek hinzugefügt. Ruft dieses Programm durch den CALL sich vielleicht selbst wieder auf?

    Gruß
    Jürgen

  3. #3
    Registriert seit
    Sep 2006
    Beiträge
    132
    Ah hatte das AUT(*ALL) bei CHKOBJ vergessen.

    Hab den Fehler schon gefunden(s.o.: EDIT2). Trotzdem danke für die Hilfe.

    Gruß Martin

Similar Threads

  1. Dynamisches SQL in einem CL erstellen
    By Sony in forum IBM i Hauptforum
    Antworten: 27
    Letzter Beitrag: 20-07-09, 21:48
  2. Programmbibliothek in einem Cobol oder CL Programm ermitteln
    By schatte in forum NEWSboard Programmierung
    Antworten: 19
    Letzter Beitrag: 10-01-07, 11:32
  3. JobProtokoll in CL Job
    By RLPforum in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 22-09-06, 09:39
  4. Übergabeparameter im CL Script
    By bo1 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 23-06-06, 15:00
  5. Bibliothekssicherungsliste via CL ändern
    By becama in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 23-06-06, 14:46

Berechtigungen

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