[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.012
    Hallo,

    würde es Dir evtl. nützen, wenn Du die MSGQ mit einer bestimmten Größe erstellst und den Parameter MSGQFULL auf *WRAP stellst ? Dann würden bei Erreichen einer bestimmten Größe alte Nachrichten automatisch gelöscht.

    Gruß,
    KM

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    @c.b.

    Mit RCVMSG können Nachrichten entfernt werden.
    In SENDER (F1-Hilfe) steht auch Datum/Zeit, so dass du wahlweise mit RMV(*NO) erst mal die Info liest und anschließend mit RMV(*YES) entfernst.
    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

  3. #3
    Registriert seit
    Apr 2006
    Beiträge
    49
    @fuerchau:
    meine erste antwort war nicht auf dich bezogen sondern auf hud.

    das mit dem rcvmsg hört sich interssant an; werde ich mal durchspielen.

    @km:
    man sollte doch häufiger f9/f10 betätigen und nicht immer alles mit standwerten machen; habe ich nicht gekannt *WRAP. problem ist aber dass man die größe/erweiterung nur bei neuen msgq's angeben kann; oder habe ich da auch was übersehen ?

    danke auf alle fälle

    christian

  4. #4
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Vielleicht so, aber Angaben ohne Gewähr!
    Code:
                 PGM                                                       
                 DCL        VAR(&MSGQ)    TYPE(*CHAR) LEN(10)              
                 DCL        VAR(&MSGQLIB) TYPE(*CHAR) LEN(10)              
                 DCL        VAR(&KEYVAR)  TYPE(*CHAR) LEN(4)               
                 DCL        VAR(&SENDER)  TYPE(*CHAR) LEN(80)              
                 DCL        VAR(&DATTIM)  TYPE(*CHAR) LEN(13)              
                 DCL        VAR(&DATE)    TYPE(*CHAR) LEN(7)               
                                                                           
                 MONMSG     MSGID(CPF0000) EXEC(GOTO CMDLBL(ENDPGM))       
                                                                           
                 CHGVAR     VAR(&MSGQ)    VALUE(QSYSOPR)                   
                 CHGVAR     VAR(&MSGQLIB) VALUE(*LIBL)                     
                 CHGVAR     VAR(&DATE)    VALUE('1080918') /*CYYMMTT*/     
                                                                           
     LOOP:       RCVMSG     MSGQ(&MSGQLIB/&MSGQ) MSGTYPE(*FIRST) +         
                              RMV(*NO) KEYVAR(&KEYVAR) SENDER(&SENDER) +   
                              SENDERFMT(*SHORT)                            
                                                                           
                 CHGVAR     VAR(&DATTIM) VALUE(%SST(&SENDER 43 13))        
                                                                           
                 IF         COND(&DATTIM *GE &DATE *OR +                   
                                 &DATTIM *EQ ' ') THEN(GOTO CMDLBL(ENDPGM))
                                                                           
                 RMVMSG     MSGQ(&MSGQLIB/&MSGQ) MSGKEY(&KEYVAR) +         
                              CLEAR(*BYKEY)                                
                                                                           
                 GOTO       CMDLBL(LOOP)                                   
     ENDPGM:     ENDPGM

  5. #5
    Registriert seit
    Apr 2006
    Beiträge
    49

    DANKE !!!!

    ..... habe ich mir zumindest die (grobe) tipperei gespart.


    christian

  6. #6
    Registriert seit
    Apr 2006
    Beiträge
    49

    MONMSG am Anfang vom Programm ?

    ..... was bewirkt eigentlich die MONMSG am anfang vom programm und wo genau muss diese sitzen (direkt nach den DCL) ?
    ich gehe mal davon aus, dass damit alle auftretenden fehler im programm abgefangen werden, oder; und bedeutet das wirklich dass, auch wenn der fehler viel weiter hinten auftritt, der "goto" ausgeführt wird ?
    haben wir bisher nicht gekannt; kann ja aber auch fatale folgen haben; wir fragen lieber nach jedem befehl explzit ab um entsprechend reagieren (sndmsg, goto, .....) zu können.

    gruß

    christian

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Du hast es erkannt.
    Ein MONMSG vor der ersten Anweisung gilt als zentrale Fehlerbehandlung.
    Du kannst natürlich auch zusätzlich hinter Befehlen MONMSG verwenden.
    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

Similar Threads

  1. Spoolfiles eines bestimmten Zeitraumes löschen
    By GutmannHGW in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 06-08-08, 09:32
  2. Spools bis zu einem Datum löschen?
    By prsbrc in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 05-10-07, 08:09
  3. SQL DATUM
    By steven_r in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 20-11-06, 18:37
  4. Datum in Query
    By heini in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 30-09-06, 10:10
  5. Datum überlebt ODBC Transfer auf Excel nicht
    By jjagi in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 07-07-06, 08:29

Berechtigungen

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