[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte

Hybrid View

  1. #1
    Registriert seit
    Nov 2006
    Beiträge
    38
    Zitat 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

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

    Client APIs

    Hallo Robert,
    vielleicht helfen Dir da die Client APIs ?

    z.B.:

    http://www-1.ibm.com/support/docview...07cb2d7&rs=110

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

    API Link

    Hallo Robert,
    hier noch einen Link:
    http://publib.boulder.ibm.com/infoce...s/QDCRDEVD.htm

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.748
    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).
    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
    May 2002
    Beiträge
    2.643

    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.

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.748
    Ja, die IP-Adresse hat er doch schon.
    Aber wie willst du nun mit dieser IP die OS-Version des Gegenüber erfragen ?
    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
    May 2002
    Beiträge
    2.643

    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

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.748
    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.
    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

  9. #9
    Registriert seit
    Nov 2006
    Beiträge
    38
    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

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.748
    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ü.
    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

  11. #11
    Registriert seit
    Nov 2006
    Beiträge
    38
    Zitat 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

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.748
    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.
    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

Similar Threads

  1. RPG Entwickler nach New Brunswick/ Kanada gesucht
    By RaMai in forum NEWSboard Server Job
    Antworten: 6
    Letzter Beitrag: 04-06-07, 18:49
  2. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 11:58
  3. RPG goes Web
    By jth in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 21-12-06, 12:13
  4. IBM DB2 Client Configuration Assistant
    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
  •