[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Sep 2007
    Beiträge
    16

    DTAQ MAXLEN und KEY bei KeyedDataQueueEntry.write

    Hallo Forum,

    beim Erstellen von Data Queues mit KEYs beinhaltet die Dtaq-Länge MAXLEN den KEY oder wird der separat geführt?

    Schreibe ich mit QSNDDTAQ in eine Dataq von MAXLEN 100 und KEYLEN 26, dann kommen auf der Java-Seite beim KeyedDataQueue.read die 100 an Daten an (richtigerweise ohne KEY-INFO, setze aber mit entsprechnder KEY-Länge auf ).

    Schreibe ich dann JAVA-seitig beim KeyedDataQueue.write den Schlüssel mit 26 Zeichen und die Daten mit 100 Zeichen weg erhalte ich einen Fehler:

    com.ibm.as400.access.AS400Exception: CPF2498 Ungültige Länge. Die Maximallänge bei Datenwarteschlange WSRQSDQ in ALEXTEST ist 100.
    at com.ibm.as400.access.BaseDataQueueImplRemote.build Exception(BaseDataQueueImplRemote.java:386)
    at com.ibm.as400.access.BaseDataQueueImplRemote.build Exception(BaseDataQueueImplRemote.java:456)
    at com.ibm.as400.access.BaseDataQueueImplRemote.write (BaseDataQueueImplRemote.java:335)
    at com.ibm.as400.access.KeyedDataQueue.write(KeyedDat aQueue.java:527)
    at com.ibm.as400.access.KeyedDataQueue.write(KeyedDat aQueue.java:556)


    Nur wenn ich Daten in Länge abzüglich Schlüssellänge wegschreibe erhalte ich keinen Fehler.

    Dann sagt mir der QRCVDTAQ auch eine Datenlänge von 100, obwohl ich JAVA-seitig nur 74 geschrieben habe.

    Unterschieldiche Verarbeitung?

    System V7R1, JAVA 1.6.0 - Client seitig, JAVA 7 compile nach JAVA 6, JT400.

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    In der Dokumentation ist das nicht ausdrücklich festgelegt.
    Allerdings finde ich die Frage eigentlich nicht relevant.
    Ein Eintrag kann bis 32KB lang sein, die DTAQ kann 16MB oder 2GB groß werden.
    Die Länge eines Eintrages ist variabel und kann zwischen 0 und X liegen.
    Die Länge des Keys sollte immer der erstellten Länge entsprechen da laut Doku sonst unerwartete Ergebnisse auftreten könnten.
    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
    Sep 2007
    Beiträge
    16
    Hallo Herr Fuerchau!

    ja, eigentlich bin ich von ausgegangen, daß der Schlüsselteil und der Datenteil zwei getrennte Bereiche sind.
    Beim QSNDDTAQ und beim QRCVDTAQ native-seitig ist das wohl so.

    Beim Senden in die Data Queue via o.g. Java-Klasse muß der Datenteil wohl um die Schlüssellänge verkürzt werden, sonst kommt es zu o.g. Exception.
    Möglicherweise ein Fehler in der Implementierung - muß man wohl mit leben.

    Ich debugge mir aber nochmals den Code durch, ob noch irgendetwas falsch ist...


    Trotzdem danke für den Hinweis.

  4. #4
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    eigentlich bin ich von ausgegangen, daß der Schlüsselteil und der Datenteil zwei getrennte Bereiche sind
    Das ist ja auch so. Wie schreibst Du denn Java-seitig in die Dataqueue? Poste doch mal etwas Code.
    Es sollte so ungefähr aussehen:

    dq.write(byteKey, byteData);
    Sowohl byteKey als auch byteData sind bei mir byte-Arrays.

    Gruß,
    KM

  5. #5
    Registriert seit
    Sep 2007
    Beiträge
    16
    Ich melde mich nochmals dazu, hatte leider keine Zeit, das nochmals anzugehen.

    Danke erstmals für die Infos.

Similar Threads

  1. Update (rewrite und/oder write) wird nicht aktiv
    By woy in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 26-03-15, 09:49
  2. Antworten: 8
    Letzter Beitrag: 26-05-14, 14:10
  3. SPL-Info's in DTAQ's
    By Bodo Roggenkamp in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 10-04-08, 13:11
  4. Spooldateien senden mit DTAQ
    By Thomas Holst in forum NEWSboard load'n'go
    Antworten: 0
    Letzter Beitrag: 05-03-02, 17:03
  5. DTAQ-Eintrag Stelle 49-52
    By Andreas Herzfeldt in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 22-02-02, 12:00

Tags for this Thread

Berechtigungen

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