[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Apr 2005
    Beiträge
    4
    Die Daten auslesen ist kein Problem, aber ich möchte nicht erst nachsehen welches Objekt die Kriterien erfüllt sondern ein CL schreiben, welches beim Ausführen die Werte automatisch abfragt und selbstständig die Objekte entfernt.

    Ich denk mal, dass dies wahrscheinlich nicht so schwer sein kann aber leider fehlt mir noch das Wissen über die CL-Programmierung.

    Jelu

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

    Sieh mal hier, so kannst du die einzelnen Datensätze einer Datei im CL-Programm lesen:

    http://www.rlpforen.de/showthread.php?t=5949

    Viele Grüße
    Jürgen

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Dann mach es doch so wie Bruno es darstellt.
    Mit DSPOBJD in eine Datei ausgeben und diese dann per CLP lesen. Dies kann das Programm alles selber machen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  4. #4
    Registriert seit
    Apr 2005
    Beiträge
    4
    Zitat Zitat von Fuerchau
    Dann mach es doch so wie Bruno es darstellt.
    Mit DSPOBJD in eine Datei ausgeben und diese dann per CLP lesen. Dies kann das Programm alles selber machen.
    ....ja genau das will ich ja. das Problem ist nur, ich weiß nicht wie ich es erstelle.
    Das Auslesen mit DSPJOBD hab ich ja hinbekommen und jetzt fehlt mir nur noch der nächste Schritt.

  5. #5
    Registriert seit
    Dec 2000
    Beiträge
    450
    Der nächste Schritt ist das Löschen der ausgewählten Dateien. Und das geht, wie schon erwähnt, mit dem CL-Befehl DLTF. Und der sieht so aus:

    DLTF FILE(SICH/DIEDATEI).

    Anstatt DIEDATEI setzt du hier eine CL-Variable ein.

    Bruno

  6. #6
    Registriert seit
    May 2002
    Beiträge
    1.121
    Na, da will ich doch mal nicht so sein

    Hier das CL-Proggie
    Code:
    pgm  (&Lib &VglDat)                                                       
                                                                              
      dclf xxobjd                            /* WorkDatei für DSPOBJD       */
      dcl  &tt      *char 2                  /* Tag aus ErstellDatum        */
      dcl  &mm      *char 2                  /* Monat aus ErstellDatum      */
      dcl  &jj      *char 2                  /* Jahrg aus ErstellDatum      */
      dcl  &CrtDat  *char 6                  /* ErstellDatum JJMMTT         */
      dcl  &VglDat  *char 6                  /* VergleichsDatum zum löschen */
      dcl  &Lib     *char 10                 /* Bibliothek                  */
                                                                              
      DspObjD    Obj(&lib/*all)            +                                  
                 ObjType(*all )            +                                  
                 Detail(*Basic)            +                                  
                 OutPut(*OutFile)          +                                  
                 OutFile(qtemp/xxobjd)       /* ObjektD in WorkFile         */
                                                                              
    LOOP: rcvf                               /* Lesen der Datei             */
      monmsg cpf0864 exec( goto WEITER )                                      
                                                                              
      chgvar &tt ( %sst( &odcdat 3 2) )      /* Aufbereiten des Datum       */ 
      chgvar &mm ( %sst( &odcdat 1 2) )                                        
      chgvar &jj ( %sst( &odcdat 5 2) )                                        
      chgvar &CrtDat ( &jj *cat &mm *cat &tt )                                 
                                                                               
      If (&CrtDat < &VglDat) then(do)                                          
                                                                               
        If ( &odobtp = '*PGM' ) then(do)                                       
          dltpgm &odlbnm/&odobnm                                               
        EndDo                                                                  
        If ( &odobtp = '*FILE' ) then(do)                                      
          dltpgm &odlbnm/&odobnm                                               
        EndDo                                                                  
                                                                               
      EndDo                                                                    
                                                                               
      goto LOOP                                                                
                                                                               
    WEITER:                                                                    
    endpgm
    zum umwandeln muss die Datei XXOBJD vorhanden sein. am besten du du gibst auf einen zeile folgendes cmd ein

    DSPOBJD sich/*all *all *basic output(*outfile) outfile(qtemp/xxobjd)

    dann stellst du dein PDM so ein, das du interactiv wandelst.

    CL-Proggie wandeln.

    aufruf des cl mit

    Call CL_DLTOBJ ('SICH' '050331')

    Dabei muss dein Proggi CL_DLTOBJ heissen. Der 1. Parm ist die Lib um die es geht und der 2.Parm ist das Datum ab dem <= gelöscht werden soll.


    tschau Ronald

  7. #7
    Registriert seit
    Apr 2005
    Beiträge
    4
    Danke für eure Hilfe!!!!!! Ich werd mich umgehend in meinem Testlabor verschanzen ;-)

  8. #8
    Joe is offline [professional_User]
    Registriert seit
    Mar 2001
    Beiträge
    365
    Hallo.

    Alter Kaffee, wieder mal aufgebrüht:

    Ich habe vor "langer Zeit" als die AS/400 (so hiess die damals)
    auf den Markt kam für sehr viel Geld (DM)diverse Schulungen besucht
    und dabei sehr viel erfahren. (Danke RSB , Bender etc.)
    (Hoffentlich nicht ausge*****)

    Liege ich mit meiner Einstellung total daneben oder ist heute "usus"
    die benötigten Informationen einfach per Mouseclick auf's Handy
    zu holen um als "Laie" eine doch relativ anspruchsvolle AS/400(Iseries),(i5???)
    zu verwalten?


    Jede Schelte an den : --> joe

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. Erstellen eines CL´s für dspdire/addire
    By Techniker in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 09-08-06, 12:20
  3. Übergabeparameter im CL Script
    By bo1 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 23-06-06, 15:00
  4. Abfrage im CL auf aktive Sätze einer Datei
    By Hubert Brethauer in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 14-03-06, 09:37
  5. cl und runqry - abfrage kopieren
    By FREIER in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 16-09-05, 09:26

Berechtigungen

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