-
 Zitat von Fuerchau
Tja, genau hier ist der einzige Ansatz.
Schreibe ein Java-/C-Programm für die Clients, von denen du die Info benötigst. Dieses kann per IP auf einen Anfrage warten (Firewall/Port).
Von der AS/400 fragst du dann über die ermittelte IP die Info vom Client ab.
Keine Antwort => Unbekanntes Gerät.
Hätte es gerne nur aus dem rpg prog gemacht, aber wenns nicht klappt! Muss ich mir mal überlegen, ob das eine gute Idee ist. Denn sobald das Prog nicht läuft, kann ich mir ja nicht sicher sein, um welchen Client es sich handelt. Schade. Besten Danke Fuerchau
Robert
-
Client APIs
Hallo Robert,
vielleicht helfen Dir da die Client APIs ?
z.B.:
http://www-1.ibm.com/support/docview...07cb2d7&rs=110
-
-
DAS war es leider nicht.
Er möchte von der AS/400 aus die OS-Version des 5250-Clients herausfinden und zwar egal ob das CA, Rumba, Mocha oder nur Telnet ist.
Vom Client aus das OS der AS festzustellen reicht schon SQL (DBMS-Version).
-
QDCRDEVD API
aber es gibt doch z.B. das QDCRDEVD API mit diesem kann ich
doch die verschiedensten Informationen bekommen. (wie in dem API LINK beschrieben)
z.B.:
Retrieve the IP Address of a Connected Telnet Client
by Scott Klement
Club Tech iSeries Programming Tips Editor
January 15, 2006 —
Q: How can I retrieve the IP address of someone connected with Telnet? For example, if a user on my network uses iSeries Access to sign on to my iSeries from his or her desktop PC, can I retrieve that PC's IP address?
A: Yes, the Retrieve Device Description (QDCRDEVD) API can return the IP address of the computer that a given display device is connected to.
The QDCRDEVD API is documented in the iSeries Information Center at the following link:
http://publib.boulder.ibm.com/infoce...s/QDCRDEVD.htm
The "Format name" parameter needs to be set to DEVD0600, because this is the format that contains information about display devices.
The "Device name" parameter should be set to the name of the device that you'd like to get the IP address for. If it's for the current interactive job, you can use the RTVJOBA command to get the device name.
For example, if you wanted to write a CL program that uses SNDUSRMSG to display the address of the 5250 client (i.e., the PC connected with iSeries Access) as well as the address of the iSeries itself, you could code the following:
PGM PARM(&DEV)
DCL VAR(&DEV) TYPE(*CHAR) LEN(10)
DCL VAR(&RCVVAR) TYPE(*CHAR) LEN(1000)
DCL VAR(&RCVVARLEN) TYPE(*CHAR) LEN(4)
DCL VAR(&ERRCODE) TYPE(*CHAR) LEN(8) VALUE(X'00000000')
DCL VAR(&PC) TYPE(*CHAR) LEN(15)
DCL VAR(&ISERIES) TYPE(*CHAR) LEN(15)
IF (&DEV *EQ '*CURRENT') DO
RTVJOBA JOB(&DEV)
ENDDO
CHGVAR VAR(%BIN(&RCVVARLEN)) VALUE(1000)
CALL PGM(QDCRDEVD) PARM( &RCVVAR +
&RCVVARLEN +
'DEVD0600' +
&DEV +
&ERRCODE )
CHGVAR VAR(&PC) VALUE(%SST(&RCVVAR 878 15))
CHGVAR VAR(&ISERIES) VALUE(%SST(&RCVVAR 958 15))
SNDUSRMSG MSG('5250 client has IP address' *BCAT &PC) +
MSGTYPE(*INFO)
SNDUSRMSG MSG('iSeries has IP address' *BCAT &ISERIES) +
MSGTYPE(*INFO)
ENDPGM
If you call that program with a parameter of *CURRENT, it looks up the current interactive session. Otherwise, it expects the parameter to be the name of the device that you want to get the address of.
For example, to find the current interactive program's IP address, I could type:
CALL PGM(GETIP) PARM('*CURRENT')
If I want to know the DSP01 session's IP address, I could type the following, instead:
CALL PGM(GETIP) PARM('DSP01')
If you want to use those IP addresses in your program, it should be an easy modification to return the addresses as parameters.
-
Ja, die IP-Adresse hat er doch schon.
Aber wie willst du nun mit dieser IP die OS-Version des Gegenüber erfragen ?
-
IP-Adresse war ja nur ein Beispiel
Die IP-Adresse war ja nur ein Beispiel. Mit dem API "QDCRDEVD"
bekommt man wesentlich mehr Informationen:
http://publib.boulder.ibm.com/infoce...s/QDCRDEVD.htm
-
Dieses API liefert ausschließlich lokal auf der AS/400 vorhandene Informationen über die verschiedenen Devices.
Ich kann also damit feststellen, dass per IP oder SNA ein Terminal emuliert wird.
Mit STRPCO kann ich dann feststellen, dass CA dahinter steckt.
Rumba, Mocha und Konsorten unterstützen dies aber nicht.
Auch weiß ich nicht, steckt dahinter nun Windows XP, NT, 2000 oder noch 98 ?
Läuft da gerade ein Java-Telnet5250 auf Linux ?
usw. usw.
Ich denke, dass hier so was ähnliches benötigt wird, wie ein Browser, mit dem ich auch per JScript/VBScript o.ä. die Umgebung prüfen und an den Server (eingeschränkt) melden kann. Dies läuft aber auf dem Client ab !
Ich kann also auf dem Client ein kleines Programm schreiben, mit dem ich den aktuellen OS-Stand per IP an die AS/400 melde.
Z.B. per kleinem Java und JDBC, dass die Daten in eine AS/400-DB schreibt.
-
Nabend,
@Tarasik: Fuerchau hat recht, die IP habe ich schon. QDCRDEVD habe ich auch schon ausprobiert, aber damit bekomme ich leider nicht heraus, was mein OS oder der Client ist :-( Trotzdem danke. Die IP klappt, aber sonst kommt nix. Könnte vielleicht am 5250 client liegen!?
Ich habe hier folgendes: Ich habe ein Programm geschrieben, dass sowohl auf dem PC, als auch auf dem Handscanner läuft. Nun ist das Prog für das kleine Handscannerdisplay optimiert. Wenn ich nun das Programm auf dem PC benutze, dann ist über die Hälfte des Bildschirms schwarz. Also habe ich gehofft, dass ich nun ein Programm mit 2 Display Files schreiben kann und je nach Client (also PC oder Scanner) das passende Display File nutze. Ich komme einfach aus der Java und C Welt und da komme ich nicht damit klar, dass ich zwei Programme schreiben soll, die exakt das gleiche machen, aber den Text an einer anderen Stelle ausgeben. Vielleicht habt ihr da noch ein Tip auf Lager.
Robert
-
Du kannst in einer DSPF einfach 2 verschiedene Formate definieren.
Die Feldnamen beider Formate benennst du identisch.
Allerdings sollte dein Programm dann einen Aufrufparameter haben um den Unterschied festzustellen.
Der Scanner bekommt dann einfach ein anderes Menü.
-
 Zitat von Fuerchau
Du kannst in einer DSPF einfach 2 verschiedene Formate definieren.
Die Feldnamen beider Formate benennst du identisch.
Allerdings sollte dein Programm dann einen Aufrufparameter haben um den Unterschied festzustellen.
Der Scanner bekommt dann einfach ein anderes Menü.
Morgen Fuerchau,
was genau meinst du mit 2 verschiedene Formate? Aber das wäre genau was ich benutzen möchte. Habe die beiden Dspf in H angegeben und dann mit open geöffnet. Dann mekert er aber, dass es doppelte Felder gibt.
Robert
-
Du benötigst keine 2 verschiedenen DSPF's sonder 2 Satzformate innerhalb der DSPF.
Die Ein-/Ausgabefelder beider Formate müssen identisch definiert sein. Das größere Format kann aber durchaus mehr Felder beinhalten.
Similar Threads
-
By RaMai in forum NEWSboard Server Job
Antworten: 6
Letzter Beitrag: 04-06-07, 18:49
-
By Stoeberl in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 10-01-07, 11:58
-
By jth in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 21-12-06, 12:13
-
By srcdbgr in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 12-09-06, 15:37
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