[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jul 2002
    Beiträge
    331

    Question QRCVDTAQ User abfragen

    Hi,
    vielleicht kann mir ja jemand helfen. Wie kann ich eine DTAQ auf den User abprüfen der Sie gefüllt hat. Ich weiß zwar das man die Sender Informationen abrufen kann, aber leider nicht wie. Der USER PROFILE NAME beginnt an Stelle 18, ist 10 Zeichen lang, aber wie komm ich da ran, mit welchen Parametern muß ich die DTAQ aufrufen, und muß ich in der DTAQ selber noch was ändern, z.B. die den Schlüssel ansetzten, heillose Verzweiflung macht sich breit. :confused


    [Dieser Beitrag wurde von DEVJO am 08. Juli 2002 editiert.]

  2. #2
    Registriert seit
    Jan 2002
    Beiträge
    44

    Post

    Hi DEVJO,

    an den Inhalt der Dataque kommst du nur über den Befehl DMPOBJ oder das API QRCVDTAQ.
    Beim API QRCVDTAQ zu beachten ist das beim lesen des DTAQ-Satzes dieser auch gleichzeitig in der DTAQ gelöscht wird.

    Spirou


  3. #3
    Registriert seit
    Jul 2002
    Beiträge
    331

    Post

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von Spirou:
    Hi DEVJO,

    an den Inhalt der Dataque kommst du nur über den Befehl DMPOBJ oder das API QRCVDTAQ.
    Beim API QRCVDTAQ zu beachten ist das beim lesen des DTAQ-Satzes dieser auch gleichzeitig in der DTAQ gelöscht wird.

    Spirou

    [/quote]


  4. #4
    Registriert seit
    Jul 2002
    Beiträge
    331

    Post

    Hey Spirou,
    danke für die Antwort, bloß das Problem ist ich rufe die DTAQ schon QRCVDTAQ auf, und ich müßte wissen, wie ich mittels der Optionalen Parameter Groupe an den User Namen komme, welcher die DTAQ gefüllt hat.
    Mein Job ist es nämlich den angemeldeten User nur die Anfragen anzeigen zu lassen, die auch von seiner Firma kommen, bzw. mit seinem UserProfil angefragt wurden, z.Z. sieht nämlich jeder Kunde alles auch andere Kunden Anfragen.

  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    2.873

    Post

    Hallo Spirou,

    arbeitest Du mit einer geschlüsselten oder ungeschlüsselten DataQueue?

    Um an die Sender-Informationen heranzukommen muss beim erstellen der DataQueue der Parameter Absender-ID hinzufügen (SENDERID) auf *YES gestellt werden.

    Beim Empfangen der DataQueue erhälst Du in der Optionalen Parameter-Gruppe 1 die Sender-Informationen.

    Zur Ausgabe kannst Du eine Datenstruktur mit folgendem Aufbau verwenden:
    D DS_SndInf DS Sender-Information
    D SI_BytRet 7P 0 Bytes Returned
    D SI_BytAvail 7P 0 Bytes Available
    D SI_Job 10 Job-Name
    D SI_User 10 Benutzer
    D SI_JobNo 6 Job-Nr.
    D SI_CurUsr 10 Current User Prof.

    Die Länge der Sender-Informationen gibst Du am besten wie folgt an:
    %Size(DS_SndInf)

    Bei dieser Variante musst Du alle DataQueue-Einträge lesen, die passenden herausfiltern und die restlichen zurückschreiben.

    Um Dein Problem zu lösen, würde ich eine geschlüsselte DataQueue vorschlagen. Im Schlüssel werden das Benutzer-Profil und/oder die Firma hinterlegt.
    Dazu kannst Du eine Datenstruktur verwenden.
    z.B.:
    D DQKEY DS
    D DQUser 10
    D DQFirma 3 0

    Beim QRCVDTAQ gibst Du dann im Key den hinterlegten Schlüssel an und empfängst nur alle Dataqueue Einträge mit diesem Schlüssel (Parameter Key Order = 'EQ')

    D PGMSTA SDS
    D §§USER 254 263

    C eval DQUser = §§User
    C eval DQFirma = FIRNR

    C callp (E) QRCVDTAQ(DQName : DQLib : DataQueue
    C DQDatLen : DQDATA : *Zeros: Data / Wait Time
    C 'EQ' : %Size(DQKey): DQKey : Key
    C %Size(DS_SndInf): DS_SndInf) Sender

    Ich hoffe, das hilft Dir etwas weiter

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  6. #6
    Registriert seit
    Jun 2002
    Beiträge
    30

    Post

    Hallo DEVJO,

    es gibt auch ein API, dass nur die Einträge ausliest ohne zu löschen!
    Ein Beispiel-Tool (DSPDQE) dafür, kannst Du Dir unter: http://www.alltel.net/~craigru/jcrcmd2.html#top_tag
    herunterladen.
    Diese Seiten kann ich auch allen anderen nur empfehlen, denn dort gibt es jede Menge nützliches zu entdecken.

    Alles weitere wurde schon von B.Hauser geschrieben.

    [Dieser Beitrag wurde von ERTH am 09. Juli 2002 editiert.]

Similar Threads

  1. Bibliotheksliste in RPG IV abfragen
    By timeless in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 11-01-07, 12:04
  2. User defined function
    By KM in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 04-08-06, 10:34
  3. Quersumme mit SQL abfragen
    By behmer in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 03-08-06, 09:53
  4. User in Rpg abfragen
    By Bernd Wiezroek in forum NEWSboard Programmierung
    Antworten: 12
    Letzter Beitrag: 15-12-04, 14:04
  5. Gruppen der User abfragen in (VA)RGP
    By woki in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 25-08-04, 12:48

Berechtigungen

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