[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jan 2007
    Beiträge
    1.002
    CL:

    RTVJOBA JOB(&DEVD)

    10 Stelliges Feld für DEVD

    Hoffe das hilft...
    kf

  2. #2
    Registriert seit
    Aug 2003
    Beiträge
    1.508

  3. #3
    Registriert seit
    Aug 2013
    Beiträge
    5
    Leider hilft das nicht weiter, da dieser Jobname nicht von "aussen" ansprechbar ist. PC5250 Sitzungen haben immer einen einstelligen Sitzungsnamen, es kann bis zu 26 Sitzungen geben. Die erste geöffnete Sitzung ist in der Regel die Sitzung A, die zweite B usw.

    Zitat Zitat von camouflage Beitrag anzeigen
    CL:

    RTVJOBA JOB(&DEVD)

    10 Stelliges Feld für DEVD

    Hoffe das hilft...

  4. #4
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    PC5250 Sitzungen haben immer einen einstelligen Sitzungsnamen, es kann bis zu 26 Sitzungen geben. Die erste geöffnete Sitzung ist in der Regel die Sitzung A, die zweite B usw.
    Das macht Client Access, wenn man bei Sitzung konfigurieren das Häkchen bei "Doppelte Namen auf dieser WS verhindern" setzt.

    Setzt man dort das Häkchen bei "Doppelte Namen auf anderen WS verhindern", dann ist das letzte Zeichen eine Ziffer

    Man kann beide Häkchen setzen, dann gibt es z.B. userA1

    Oder auch kein Häkchen, dann kann der User zwar nur 1 Sitzung öffnen, aber eine "Sitzungsnummer" gibt es dann gar nicht.


    Unter der Annahme, dass die Workstation-ID normalerweise der Username ist, könntest Du zeichenweise Usernamen + DEVD vergleichen, und wenn der User zu Ende ist, und das nächste DEVD-Zeichen ein Buchstabe, dann ist die Wahrscheinlichkeit groß, dass dies die gewünschte Sitzungsnr ist.

    Oder Du suchst von rechts den ersten Buchstaben, wenn die DEVD nicht "QPADEVxxxx" ist

    Meinst Du sowas in der Art?
    100% sicher ist das alles nicht, aber evtl. reicht Dir das so?

    Gruß
    Christian

  5. #5
    Registriert seit
    Nov 2012
    Beiträge
    51

    Vielleicht wird ein bequem anziehbarer Schuh draus,

    wenn wir wissen, WAS genau erreicht werden soll. Vielleicht gibt es ein anderes, vielleicht sogar besseres, WIE ...

  6. #6
    Registriert seit
    Aug 2013
    Beiträge
    5
    Leider hilft das auch nicht weiter, ich kann nicht beeinflussen, wie die Workstation ID auf den einzelnen Rechnern konfiguriert wird.
    Ich möchte auf Windows Seite über die ECL von IBM auf Sitzungen zugreifen, z.B.

    Dim PSObject as Object
    Set PSObject = CreateObject("PCOMM.autECLPS")

    PSObject.SetConnectionByName("B")

    es ist einerlei, wie man die Sitzungsnamen für die AS/400 definiert - ob dynamisch (QPADEVxxx) oder fest oder dem PCnamen entsprechend, die aufgerufenen Sitzungen bekommen - in der Regel in der Reihenfolge des Aufrufs einer Sitzung - eine Sitzungs-ID "A", "B", "C" usw. Per Commandline beim AUfruf von PC5250 oder über die ECL kann man auch eine beliebig benannte Sitzungs-ID verwenden, z.B. "W".

    aus der Doku zur Host Access Class Library:


    In the context of the ECL, a connection is a single, unique Personal
    Communications emulator window. The emulator window may or may not be
    actually connected to a host and may or may not be visible on the screen. For instance, a Personal communications window can be in a disconnected state.
    Connections are distinguished by their connection handle or by their connection name. Most HACL objects are associated with a specific connection. Typically, the object takes a connection handle or connection name as a parameter on the constructor of the object. For languages like Visual Basic that do not Support parameters on constructors, a member function is supplied for making the association. Once constructed, the object cannot be associated with any other
    connection. For example, to create an ECLPS (Presentation Space) object associated with connection ’B’, the following code would be used:


    ECLPS *PSObject;

    PSObject = new ECLPS(’B’);



    In einer AS/400 Sitzung scheint es aber keine Info zu geben, die auf diese Session hinweist, wenn der Host mit der PC5250 Sitzung verbunden ist.

    Meine Anwendung soll im Prinzip so funktionieren:

    Auf der AS/400 Seite ermittelt die AS/400 Anwendung die IP Adresse des PCs, unter dem die Sitzung gerade ausgeführt wird und sendet dann per TCP/IP einen Datenstrom (HTML) an diese IP Adresse.

    Auf dem PC hört ein Programm den entsprechenden Port ab, und aktiviert einen (internen) http Server, der den empfangenen Datenstrom an einen Browser ausliefern kann. Die Anwendung startet dann den Standardbrowser, um den Datenstrom anzuzeigen. Der Datenstrom enthält entsprechend kodierte Links, wenn der Benutzer etwas anklickt wird der interne http Server diese Info erhalten und soll diese Information an die AS/400 Sitzung zurücksenden (Tastatureingaben). Hierzu möchte ich aber die richtige Sitzung erwischen.

    Das alles funktioniert auch schon, nur die richtige Sitzung kann ich noch nicht ermitteln.

    Als Workaround nutze ich derzeit die Tatsache, dass die Sitzung, die den AUfruf tätigt, in der Regel das aktive Windows Fenster ist, aber darauf möchte ich mich nicht verlassen.



  7. #7
    Registriert seit
    Aug 2013
    Beiträge
    5
    Ich bemerke gerade, dass die Sitzungs-ID in der OIA zu finden ist. Besteht die Möglichkeit, die Information aus der Operator Information Area auszulesen ?

  8. #8
    Registriert seit
    Jul 2005
    Beiträge
    1.053
    Zitat Zitat von sawatzki Beitrag anzeigen
    Ich bemerke gerade, dass die Sitzungs-ID in der OIA zu finden ist. Besteht die Möglichkeit, die Information aus der Operator Information Area auszulesen ?
    Dir ist doch bereits geschrieben worden wo man eine Eindeutige Zuordnung her bekommt Program Status Data Structure

    Mir ist das als Systemdatenstrom bekannt

    Da gibt es garantiert keine doppelten Zuordnungen - Es würde mich zumindest wundern wenn die AS/400 Doppelte Benutzer Profile zulässt.


    Gruß AS400.lehrling

  9. #9
    Registriert seit
    Aug 2013
    Beiträge
    5
    Ja, mag sein. Geht aber an meinem Problem vorbei. Was bringt mir dieser dir bekannte "Systemdatenstrom" und wir kann ich auf ihn von einem Windows Programm zugreifen (ansonsten nützt er mir nichts).

    Um zu meiner Frag zurückzukehren: Ich möchte die PC5250 Sitzungs-ID (A, B, C, D, usw. .. Z), die u.a. in der OIA angezeigt wird, mit einem AS/400 Programm auslesen.

    Zitat Zitat von AS400.lehrling Beitrag anzeigen
    Dir ist doch bereits geschrieben worden wo man eine Eindeutige Zuordnung her bekommt Program Status Data Structure

    Mir ist das als Systemdatenstrom bekannt

    Da gibt es garantiert keine doppelten Zuordnungen - Es würde mich zumindest wundern wenn die AS/400 Doppelte Benutzer Profile zulässt.


    Gruß AS400.lehrling

  10. #10
    Registriert seit
    May 2002
    Beiträge
    2.643

    QUSLJOB API hilft wahrscheinlich

    Hallo Sawatzki,
    suche Dir doch einmal Informationen über das QUSLJOB Api. Ich vermute das hilft Dir weiter.

  11. #11
    Registriert seit
    Jan 2007
    Beiträge
    1.002
    Hi,

    vielleicht hilft dir diese Seite weiter...

    Help - Personal Communications

    viel Glück.
    kf

Similar Threads

  1. AS400 CL / RPG - ftp Programm
    By Josie314 in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 24-07-12, 07:21
  2. Rückgabewert vom RPG Programm
    By mk in forum NEWSboard Java
    Antworten: 8
    Letzter Beitrag: 21-04-11, 21:51
  3. Programmbibliothek in einem Cobol oder CL Programm ermitteln
    By schatte in forum NEWSboard Programmierung
    Antworten: 19
    Letzter Beitrag: 10-01-07, 11:32
  4. MI Source aus einem RPG Programm erstellen
    By ExAzubi in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 13-07-06, 10:51

Tags for this Thread

Berechtigungen

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