[NEWSboard IBMi Forum]

Thema: User Space

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    309

    User Space

    Hi *all

    kann mir jemand Tipps (am besten an einem Beispiel *fg) geben, wie ich Daten in einen UserSpace schreibe und anschließend wieder auslesen!

    das ich dazu die API's QUsPtrUS & QUsChgUS ist mir schon klar, aber wie benutzen muß ?????
    meine Internet-Recherche brachte leider auch nicht den gewünschten Erfolg :-(

    mein Problem:
    a) ich habe ein Pgm mit dem ich Daten in eine UserSpace schreibe. Diese sind max 80 Zeichen lang und es können min. ein Eintrag u. max 70 Einträge erfolgen
    b) mit dem anderen Programm möchte ich dann, diese Daten wieder auslesen und in eine SubFile schreiben. D.h. jeder 80 stelliger Eintrag soll eine Zeile in der SubFile werden!

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Die API-Beschreibungen findest du hier:
    User Space APIs

    Per QUSCRTUS erstellst du einen USRSPC in der benötigten Größe.
    Per QUSPTRUS kannst du im ILE einen Pointer erhalten, so dass du die Daten direkt schreiben/lesen kannst.

    D MyPtr s * <= Pointer aus QUSPTRUS
    D MyUsDS DS based(MyPtr)
    D Daten 80 Dim(70)
    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
    Aug 2001
    Beiträge
    309
    erhalte ich dann mit QusPtrUs alle Daten des UserSpace?
    stehen dann meine Daten alle gleich in der DS

    das mit dem "direkt schreiben/lesen" versteh ich leider auch noch nicht!

    (sorry, muß gestehen hab mit API's leider noch nicht viel gemacht!)

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Mit QUSPTRUS erhältst du die direkte Speicheradresse des USRSPC.
    "D MyPtr s *" deklariert einen Pointer auf den die DS mittels based verweist.
    Du benötigst also keine weiteren API's zum Zugriff.

    Erstellst du allerdings den USRSPC zu klein, erhältst du beim Zugriff auf Adressen ausserhalb einen MCH-Fehler.

    Dieses Verfahren eignet sich auch besonders gut für die ganzen anderen API's, da man sehr schnell und einfach auf die diversen Bereiche zugreifen kann.
    Immerhin lässt sich auch mit Adressen rechnen:

    MyPtr = %addr(MyVar) + 100;
    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

  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    309
    super, vielen dank


    eine Frage hab ich aber trotzdem noch! ;-)

    das schreiben in den UserSpace erfolgt dass dann immer komplett oder kann ich z.B. auch nur das 5 Elemet der DS in den UserSpace schreiben?

    => kann ich dann auch nur einen bestimmten Bereich des User Space ändern?

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Da du direkt den USRSPC adressierst wird dieser mit jedem EVAL/MOVE/Z-ADD verändert.
    Die DS belegt keinen eigenen Speicher sondern verweist über den Based(Pointer) direkt auf das Objekt.
    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

  7. #7
    Registriert seit
    Sep 2006
    Beiträge
    26
    Hallo muaddep,

    warum willst du unbedingt einen UserSpace benutzen? Für den genannten Fall ist doch eine Dataqueue prädestiniert mit QSNDDTAQ / QRCVDTAQ.

    Wie wäre es damit?

    Grüße, Werner.

Similar Threads

  1. User defined function
    By KM in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 04-08-06, 10:34
  2. Aktive User ermitteln + Anmeldezeit anzeigen
    By QSECOFR-1 in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 03-08-06, 18:06
  3. User vor Sicherung prüfen
    By linguin in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 16-05-06, 12:14
  4. Drucken einer Kopie
    By Eric in forum IBM i Hauptforum
    Antworten: 16
    Letzter Beitrag: 22-11-05, 11:09
  5. Suche was wie chkjob
    By miro in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 02-02-05, 13:47

Berechtigungen

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