[NEWSboard IBMi Forum]
Seite 1 von 3 1 2 ... Letzte
  1. #1
    Registriert seit
    Jan 2003
    Beiträge
    290

    SQL QSYS2.MESSAGE_QUEUE_INFO MSGKEY

    Hallo zusammen,
    ich lese aus dem View QSYS2.MESSAGE_QUEUE_INFO Nachrichten der Anwender aus den MSGQ's, u.a. das Feld MSGKEY, das ist BINCHAR.

    Lesen erfolgt in Net.Data, da wird das Feld MSGKEY allerdings ohne CAST nicht gefüllt bzw. is null !
    Ich kann es in mit cast(hex(msgkey)) erfolgreich nach hex umsetzen....aber ich brauche das Feld als Parameter für den Befehl RMVMSG, char 4, den ich in einen CLLE-Pgm verarbeite !

    Aber ich krieg es einfach nicht gebacken, hatte es u.a. auch schon mit VARCHAR_FORMAT_BINARY versucht, kiege aber immer den Fehler, dass das 1.Argument falsch ist.... select varchar_format_binary(a.msgqkey, 'XXXX') as msgqkeybinalt ...

    Fehlermeldung: Argument 01 der Funktion VARCHAR_FORMAT_BINARY ungültig. (SQLSTATE 42815, SQLCODE -171)

    Kann mir jemand sagen wie ich das hinkriege ???

    Danke vorab !

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.869
    Hast Du schon mal versucht die Spalte direkt nach CHAR(4) zu konvertieren?
    also: Cast(Message_Key as CHAR(4))?

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Jan 2003
    Beiträge
    290
    Zitat Zitat von B.Hauser Beitrag anzeigen
    Hast Du schon mal versucht die Spalte direkt nach CHAR(4) zu konvertieren?
    also: Cast(Message_Key as CHAR(4))?

    Birgitta

    Guten Morgen + Danke Birgitta..
    ja habe ich, aber bei den unzähligen Test's kann ich gerade nicht sagen wie es damit war....
    Probiere es nochmals und komme gleich zurück....

  4. #4
    Registriert seit
    Jan 2003
    Beiträge
    290
    Birgitta,

    also habe ich auch mit cast als char(4) getestet, auch ohne Erfolg.

    Ich muss aber noch dazu sagen, dass ich bei Ausführung des SQL generell SqlCode 0462 zurückkriege, den fange ich zwar bei der Ausführung des SQL in Net.Data ab, aber dadurch wird es ja auch nicht besser.
    In "5250" funktioniert es aber sehr wohl, auch ohne jeglichen cast, aber auch mit char(4)...output ist das gleiche in 5250 !!!...muss also eher an Net.Data liegen...schade !

    Gibt es denn vielleicht eine Möglichkeit, den korrekt ermittelten Hexwert des msgqkey aus dem View wieder in den 4-stelligen Key für RMVMSG umzusetzen ???
    Die Frage klingt vielleicht ein wenig nach "Anfänger", aber man versucht ja alles mögliche, um zum Ziel zu kommen....und wie IBM immer so schön sagt.... "Take the best of all"

    Danke nochmals für deine Unterstützung !
    Vg.

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Versuche mal ein cast(Key as binary(4)) oder cast(as char(4) ccsid 65535).
    Das Problem von net.data ist die Verarbeitung in ASCII, während die Daten ja in EBCDIC ausgelesen werden.
    Nur Binärdaten unterliegen keiner Umsetzung.
    Was das Übergeben dann an RMVMSG angeht, so könntest du da vor einem ähnlichen Problem nur umgekehrt stehen.
    Hier böte sich dann ein SQL-Wrapper an, der ja wiederum Binärdaten akzeptiert und als ausführendes Programm an ein CLLE-Modul/CLP-Programm für den RMVMSG weitergibt.
    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

  6. #6
    Registriert seit
    Aug 2001
    Beiträge
    2.869
    SQLCODE 0462 ist kein Fehler sondern eine Warnung (der lediglich besagt, dass eine Warnung ausgegeben wurde), die ignoriert werden kann.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  7. #7
    Registriert seit
    Jan 2003
    Beiträge
    290
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Versuche mal ein cast(Key as binary(4)) oder cast(as char(4) ccsid 65535).
    Das Problem von net.data ist die Verarbeitung in ASCII, während die Daten ja in EBCDIC ausgelesen werden.
    Nur Binärdaten unterliegen keiner Umsetzung.
    Was das Übergeben dann an RMVMSG angeht, so könntest du da vor einem ähnlichen Problem nur umgekehrt stehen.
    Hier böte sich dann ein SQL-Wrapper an, der ja wiederum Binärdaten akzeptiert und als ausführendes Programm an ein CLLE-Modul/CLP-Programm für den RMVMSG weitergibt.
    Danke !!!
    Beides geht leider auch nicht, aber wie du schon sagst, Net.Data arbeitet zumindest nicht mit BIN-Daten...leider ist das Forum "dtwdude" offline, Peter hat einen neuen Job :=(

    Mal schauen, erst einmal weglegen ...ihr kennt das ja ....manchmal dämmert es einem ja dann beim z.B. "rasen mähen" ..

    Danke euch beiden nochmals !!!

  8. #8
    Registriert seit
    Jan 2003
    Beiträge
    290
    Birgitta,
    Ja ich weiß...aber man sucht ja dann an jeder Ecke, die "auffällig" ist :=(
    Danke !

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Dann schreib dir einfach einen kleinen SQL->CLLE/CLP-Wrapper, der mittels %BIN(&VAR 1 4) einen Zahlwert ermittelt und z.B. als Typ DEC(10, 0) zurückliefert.
    Dazu dann das Gegenstück um aus DEC(10, 0) wieder einen %BIN erstellt.
    Alternativ könntest du ja für den RMVMSG-Wrapper den Key als DEC(10, 0) übergeben und dann in %BIN umwandeln.
    Möglichkeiten gibt es viele.
    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

  10. #10
    Registriert seit
    Oct 2013
    Beiträge
    171
    Hast Du schon mal probiert, die problematischen Hex-Werte mit HEX(MSGKEY) in ein unverfängliches Format zu konvertieren? Net.Data versteht x'00' als String-Ende, und das wirst Du im Msgkey wohl haben. Und mit der Original-Zeichenfolge fängst Du in Net.Data selebr sowieso nichts an, also ist etwas Lesbares wohl brauchbarer. Wenn es ein Programm wieder original brauchen sollte, kann es das ja wieder zurückwandeln.
    In Amerika wird es wohl noch ein paar Net.Data-Nutzer geben, die wurden in der Vergangenheit von Nadir K. Amra vorbildlichst betreut, vielleicht tut er noch ein bisschen? amra@us.ibm.com
    Das tote Pferd Net.Data ist in den allermeisten Fällen eigentlich recht leicht durch php ablösbar - warum gönnt man dem Gaul nicht seine wohlverdiente Ruhe? ;-)

  11. #11
    Registriert seit
    Jan 2003
    Beiträge
    290
    Danke für die Antwort,
    die Vorgehensweise kenne ich, es ging ja nur noch um den letzten Schritt "Umwandlung" zurück aus Hexwert.
    Bin aber noch nicht wieder dazu gekommen, wenn ich es habe werde ich die Lösung hier posten.


    Und in Sachen "Net.Data ist tot" muss ich dir widersprechen, Net.Data ist alles andere als Tot !!!

    Ich arbeite seit 1997 mit Net.Data, mit 4 Jahren Auszeit, bis heute bin ich immer noch begeistert, und ich habe viele PHP-Entwickler in Projekten kennen gelernt, die alle, zumindest, beieindruckt waren von Net.Data !

    PHP bietet mit keine "unersetzbaren" Vorteile, ganz im Gegenteil, ich brauche einen Apache mit PHP...sicherlich für uns Profis kein Problem, aber hunderte (!!!) AS400-Kleinkunden haben keine eigene EDV...Wartung und Probleme mit PHP-Versionen etc. usw. kommen dann bei dir an...

    Mit Net.Data + RPG/REXX/JAVA und allem anderen, was ich noch mit Net.Data problemlos nutzen kann, habe ich alles aus einem "Guß", Updates, zumindest Lic DG1, kommen von IBM...einen Wartungsvertrag haben die meisten der hunderte AS400-Kleinkunden dann Gott sei Dank doch !!!

    Und das Net.Data von IBM nicht weiter entwickelt wird, ist aus meiner Sicht kein Problem !
    Es gilt die "uralte" Devise der IBM für Entwickler...."Take the best of all !"
    2006 hat Steve Will von IBM versprochen, dass Net.Data auf unbegrenzte Zeit in der AS400 unterstützt wird...und er hat Wort gehalten !!! (siehe Anlage)


    Ich bediene unsere Kunden laufend mit Entwicklungen in Net.Data in deren Anwendungen ERP, Personal und alles was da so läuft.


    Vor Jahren habe ich mir einen Generator codiert, mit dem "generiere" ich auf der Basis einer PF, LF, DSPF oder SQL-Befehl eine komplette "Standardanwendung" zur Verwaltung der Daten mit Ãœbersicht + Filter mit allem drum und dran, so wie der Standardbearbeitung von Daten durch Anzeigen, Ändern, Kopieren und Löschen.
    Das ganze sehr intensiv mit Einstellungen/Parametern sowohl hinsichtlich Funktionalität wie auch Berechtigungssteuerung usw.
    Und alles in einem "Standard" Apacheserver auf der AS400, mit z.B. den vielen Systeminformationen, die man z.B. mittels den vielen SQL-Views der AS400 (siehe TR's der IBM) "rauskiizzeln" kann.
    Dazu noch das beste aus CGIDEV und Scott Klemment...was will man mehr ????
    Damit können wir kleine Kunden mit Systembetreuung, große mit kompletten Systemen versorgen !


    Das beste Forum "ever" für Net.Data, http://dtwdude.com/forum/main.php, ist leider offline gegangen, Peter Connell, der "Kopf" der Bande, hat leider sie "Seiten" gewechselt, aber Amri ist auch ein sehr erfahrener Entwickler.

    Schade das wir hier in Deutschland keine "Lobby-Organisation" für Net.Data haben...wir könnten zig Kunden erfolgreich davon abbringen, die AS400 wegen "KlickyBunti"-Oberflächen von Anwendungen auf anderen Plattformen zu verlassen.
    Uns ist das in den letzten 5 Jahren bei 8 Firmen gelungen !!!!
    Und IBM hat sich diesbezüglich nie "reingehängt", ganz im Gegenteil, schon ab 1999 haben sie ausschließlich Werbung für ihr "WAS" gemacht, LEIDER !!!!

    Und PHP programmiere ich auch, meist bei Kunden die keine AS400 haben, für die sich eine Umstellung aufgrund der Firmengröße auf AS400 nicht lohnt !

    Aber alleine die Syntax und Integration in HTLM/JS/jQuery-Code von Net.Data sind einfach nur "genial" !
    Und dann noch Net.Data als "Batchjob"....so geil !!!!!
    Was ich da schon realisiert habe, was ich sonst in CLLE/oder DB-Jobs hätten packen müssen...

    Bei PHP fühle ich mich dann nicht so wohl, von wegen "PHP-Beginn-Code" und "Ende-Code"-Syntax.

    Aber das ist natürlich nur meine und "eine" Meinung unter vielen !!!!


    Also, sollte jemand Interesse haben etwas in Richtung "Net.Data" erfolgreich aufzuziehen, ich bin bereit !!!

    Sorry für den langen Post, aber ich kämpfe gerne leidenschaftlich für Net.Data !!!

    Weiterhin viel Erfolg !

    Peet
    Angehängte Dateien Angehängte Dateien

  12. #12
    Registriert seit
    Oct 2013
    Beiträge
    171
    Ich habe Net.Data lange und gerne genutzt, es ist aber kein supportetes Produkt mehr. Sie löschen es nicht, oh Danke (weil sie es vielleicht selber noch wo benutzen). Das ist aber auch schon alles.
    Nadir K. Amra hat schon die letzten Jahre diverse Updates nur unter Tricks unterbringen können.
    Dieser 1 (in Worten: EINE) Supporter ist nun aber auch weg, und in einem ganz anderen Bereich, soweit ich weiß.
    Das ist für ein Unternehmen vielleicht doch nicht ganz der Weg, den man gehen sollte.
    Wer einen Haufen alter Makros hat, mag es weiter benutzen und mehr oder minder glücklich damit sein, aber neue Anwender in die Sackgasse zu locken, hat was von Nekrophilie / Fahrlässigkeit.

Similar Threads

  1. RPG Free mit SQL / Joins / mit QSYS2.USER_INFO
    By dcdeal in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 30-05-18, 10:35
  2. Antworten: 6
    Letzter Beitrag: 26-01-17, 13:50
  3. LF auf QSYS2/VIEWS und COLUMNS verschwindet spurlos
    By Hrs28 in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 30-03-15, 01:22
  4. Table QSQPTABL in QSYS2
    By KB in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 18-06-01, 08:35

Berechtigungen

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