-
PC5250 Sitzungsname in RPG oder C Programm ermitteln
Ich möchte gerne den PC5250 Sitzungsnamen (A, B, C ... Z) ermitteln, unter dem die aktuell vom Benutzer verwendete Sitzung ausgeführt wird. Ist dies möglich ?
Die Information wird im Prinzip per TCP/IP an den Clientrechner geschickt und dort verwendet, um den "Rückweg" zu realisieren.
-
CL:
RTVJOBA JOB(&DEVD)
10 Stelliges Feld für DEVD
Hoffe das hilft...
kf
-
Hallo,
in RPG kannst du dir das über die program status-data-structure holen:
Program Status Data Structure
lg Andreas
-
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 von camouflage
CL:
RTVJOBA JOB(&DEVD)
10 Stelliges Feld für DEVD
Hoffe das hilft...
-
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
-
Vielleicht wird ein bequem anziehbarer Schuh draus,
wenn wir wissen, WAS genau erreicht werden soll. Vielleicht gibt es ein anderes, vielleicht sogar besseres, WIE ...
-
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.
-
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 ?
-
 Zitat von sawatzki
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
-
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 von AS400.lehrling
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
-
QUSLJOB API hilft wahrscheinlich
Hallo Sawatzki,
suche Dir doch einmal Informationen über das QUSLJOB Api. Ich vermute das hilft Dir weiter.
-
Hi,
vielleicht hilft dir diese Seite weiter...
Help - Personal Communications
viel Glück.
kf
Similar Threads
-
By Josie314 in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 24-07-12, 07:21
-
By mk in forum NEWSboard Java
Antworten: 8
Letzter Beitrag: 21-04-11, 21:51
-
By schatte in forum NEWSboard Programmierung
Antworten: 19
Letzter Beitrag: 10-01-07, 11:32
-
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
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks