-
Hallo Robi,
aus dem Output, der eh nicht mehr als Spool sonder als Datei gespeichert ist, muss ich nun ein XML generieren, dass obige Strucktur puls ein paar globaler variablen am Anfang hat.
Andreas
ach ja und mit ein wenig SQL habe ich vielleicht ein wenig untertrieben
Andreas
Ein AS/400 Dinosaurier since 1989
-
Nun, eine XML-Struktur kann ich da nun auch nicht erkennen.
Wenn du nun einen Output in eine Datei machst, kannst du mit COBOL-Mitteln die Daten zusammenstricken:
string
"" delimited by size
Variable delimited by space <== Size geht hier ja auch
"" delimited by size
into Ziel
write myfile from ziel
Und schreibst das Ganze in eine PF.
Anschließend gibst du das mit CPYTOSTMF ins IFS als XML aus.
Wo ist das Problem?
-
 Zitat von Fuerchau
Nun, eine XML-Struktur kann ich da nun auch nicht erkennen.
Aus obiger Struktur soll ich ja das XML erzeugen das ungefähr so aussieht(xml-Strucktur entspricht den oben angegebnen Feldern, stammt aus einer unserer anderen Anwendungen(mircosoft)):
PHP-Code:
<?xml version="1.0" encoding="ISO-8859-1" ?> <job> <header> <owner>infovision</owner> <formname>DasFormat</formname> <print> <queue>DieOutqueue</queue> <lade>262</lade> </print> <displayname>DaswahreFormat</displayname> <umgebung>test</umgebung> <reporttag>xxxxxxx</reporttag> </header> <content> <genCI> <logopos>l</logopos> <fusszeile/> </genCI> <global> <mandant>MandNr</mandant> <v_typ>Art</v_typ> <v_firmenname>Firmenname</v_firmenname> <v_lg>Leasinggeber</v_lg> <v_ln>Leasingnehmer</v_ln> <v_lgk>LG</v_lgk> <v_lnk>LN</v_lnk> <v_lok>LO</v_lok> <v_rw>0</v_rw> <v_zi>Monat</v_zi> <v_zik>Monatlich</v_zik> <v_oplease>0</v_oplease> <waehrung>EUR</waehrung> <!--<konkludent>!--> <!--<einschreiben/>!--> </global> <rechnungskopf> <nr>4444444444</nr> <uid>ATU55555</uid> </rechnungskopf> <absender>1043 Wien, Postfach 100</absender> <empfaenger> <zeile>Firma</zeile> <zeile>EmpfName</zeile> <zeile>Strasse</zeile> <zeile>Ort</zeile> <zeile>Land</zeile> </empfaenger> <kontakt> <text>Text1</text> <adresse>Strasse</adresse> <fn>FN:1234567890</fn> <uid>ATU12345678</uid> <dvr>DVR: 1234567</dvr> <plz>postleitzahl</plz> <ort>Ort</ort> <lkz>Land</lkz> <name>Fr. Musterfrau Klara</name> <tel>08 123 456</tel> <fax>08 123 465 78</fax> <email>klara.musterman@firma.at</email> <www>www.wasauchimmer.com</www> </kontakt> <datum>tt.mm.jjjj</datum> <vorfin_guthzins> <belegnr>1234567890</belegnr> <objekt>Das Ding lt Beschreibung</objekt> <bisdat1>31.01.15</bisdat1> <vorfinzinssatz>33,44</vorfinzinssatz> <lieferant> <name1>Name1 von Lieferanten</name1> <name2>Name2 vom Lieferanten</name2> </lieferant> <vorfin_vormonat><!--var2!--> <zeile> <buchdatum>21.21.15</buchdatum> <extbelegnr>777888999</extbelegnr> <beschr>Beschreibung</beschr> <geb>99,99</geb> <von>1.12.14</von> <bis>31.12.14</bis> <tage>31</tage> <zinsen>44,44</zinsen> </zeile><zeile> <buchdatum>21.21.15</buchdatum> <extbelegnr>777888999</extbelegnr> <beschr>Beschreibung</beschr> <geb>99,99</geb> <von>1.12.14</von> <bis>31.12.14</bis> <tage>31</tage> <zinsen>44,44</zinsen> </zeile> <zeile> <buchdatum>21.21.15</buchdatum> <extbelegnr>777888999</extbelegnr> <beschr>Beschreibung</beschr> <geb>99,99</geb> <von>1.12.14</von> <bis>31.12.14</bis> <tage>31</tage> <zinsen>44,44</zinsen> </zeile> <enddatum_vormonat>31.12.14</enddatum_vormonat> </vorfin_vormonat> <anzl_teilrechnung><!--var3!--> <zeile> <buchdatum>21.21.15</buchdatum> <extbelegnr>777888999</extbelegnr> <beschr>Beschreibung</beschr> <geb>99,99</geb> <von>1.12.14</von> <bis>31.12.14</bis> <tage>31</tage> <zinsen>44,44</zinsen> </zeile> <teil_restbetrag>55,11</teil_restbetrag> <enddatum_vormonat>31.12.14</enddatum_vormonat><!--var4!--> </anzl_teilrechnung> <keine_vorfizi><!--var5!!--> <zeile> <buchdatum>21.21.15</buchdatum> <extbelegnr>777888999</extbelegnr> <beschr>Beschreibung</beschr> <geb>99,99</geb> <von>1.12.14</von> <bis>31.12.14</bis> <tage>31</tage> <zinsen>44,44</zinsen> </zeile> </keine_vorfizi> <guth_zins><!--var6!--> <abrechdatum>01.01.15</abrechdatum> <zinsguth>0,0123</zinsguth> <zeile> <buchdatum>21.21.15</buchdatum> <extbelegnr>777888999</extbelegnr> <beschr>Beschreibung</beschr> <geb>99,99</geb> <von>1.12.14</von> <bis>31.12.14</bis> <tage>31</tage> <zinsen>44,44</zinsen> </zeile> <gesamt_guthzins>0,99</gesamt_guthzins> </guth_zins> <gesamt_vorfizi>9999,99</gesamt_vorfizi> <ustsatz>20</ustsatz> <ustbetrag>222,22</ustbetrag> <gesamtsum>13333,33</gesamtsum><!--var8!--> <prenote><!--Knoten nicht schicken wenn Zahlschein!--> <var>var1</var> <betrag1>93,76</betrag1> <amdatum>01.01.2014</amdatum> <mandatsreferenz>abcdefghirk</mandatsreferenz> <cid>xxxxxxxxxxxxxxxx</cid> <iban> xxxx xxxx xxxx xxxx</iban> <bic>xxxxxxxxxx</bic> <betrag2>93,76</betrag2> <abdatum>02.01.2013</abdatum> <modeofpayment>monatlich</modeofpayment> </prenote> </vorfin_guthzins> </content> </job>
Last edited by nico1964; 28-01-15 at 12:31.
Grund: verlor die Formatierung
Andreas
Ein AS/400 Dinosaurier since 1989
-
Ich für meinen Teil kann meine Antwort von
HIER
nur bestätigen.
Das ist ein beigehen. Es ist einfacher als du denkst!
So wie ich das z.Zt. beurteile würd ich sagen, schreib die Daten weiter in 'Printerfile' Form in eine PF.
Dann brauchst du einen Batchjob, der entweder alle paar Sekunden nachsieht ob's was neues gibt, das auch fertig ist, oder via DATAQ den 'mach was' Befehl bekommt (letzteres würde ich bevorzugen)
Der Batch-Job liest die 'Datei' (etwas abgewandelte, ehemalige Prtf-Datei) und baut das XML
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Wie immer führen viele Wege zur Lösung.
Wie ich oben schon sagte (bevor man ein 2. Pgm bemüht):
Die ganze XML lässt sich mit simplen String-Befehlen direkt in eine PF ausgeben, die dann per CPYxxxSTMF ins IFS kopiert werden kann.
Die Anzahl der Leerzeichen vor und nach den "<" und ">" spielt keine Rolle.
-
@Baldur
Das muß dann aber in jedem Pgm gemacht werden,
meine verion erfordert (fast) keine anpassung in den BasisPgmem und den codeaufwand einmal für alle!
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
 Zitat von Fuerchau
Die Anzahl der Leerzeichen vor und nach den "<" und ">" spielt keine Rolle.
Das stimmt nur dann, wenn ein evtl. vorhandenes Schema sogenannten "whitespace" erlaubt.
Das ist sehr oft der Fall, aber eben nicht immer.
-
 Zitat von Robi
Ich für meinen Teil kann meine Antwort von
HIER
nur bestätigen.
Das ist ein beigehen. Es ist einfacher als du denkst!
So wie ich das z.Zt. beurteile würd ich sagen, schreib die Daten weiter in 'Printerfile' Form in eine PF.
Dann brauchst du einen Batchjob, der entweder alle paar Sekunden nachsieht ob's was neues gibt, das auch fertig ist, oder via DATAQ den 'mach was' Befehl bekommt (letzteres würde ich bevorzugen)
Der Batch-Job liest die 'Datei' (etwas abgewandelte, ehemalige Prtf-Datei) und baut das XML
Robi
Dann verzichtet doch lieber gleich auf die Printfile bzw. PF, und schreibt gleich alles in die DataQueue,
sowohl die Befehle, als auch die Daten. So habe ich es mal vor vielen Jahren gemacht.
Im Prinzip habe ich die DataQ mit REXX ausgelesen, und die REXX-Routine das ganze XML wrappen lassen.
In REXX habe ich noch einiges mehr dazu getan, also nicht nur die Datenfelder in XML-Tags gepackt, sondern das ganze XML-Dokument gebildet, dieses dann (mit MQ-Series) an den weiterverarbeitenden Service geleitet, und anschließend Log-Dateien und Statistiken geschrieben. MQ-Series und REXX habe ich da aber auch für die Interpretation der eingehenden Requests (XML-Input) verwendet, nicht nur für die Response (XML-Output). Ich habe das System damals auf Performance optimiert, alles im RAM gemacht und über Messages kommuniziert, um die Durchlaufzeiten (Request/Response) möglichst unter einer Sekunde zu halten.
Heute würde ich aber eher auf ILE-RPG setzen, wo es aktuelle und umfangreiche Lösungsansätze gibt.
Ein Bekannter von mir hat sich darauf spezialisiert, also auf WebServices, XML usw. mit ILE-RPG.
-
Kommt auf die zu erstellenden Listen an!
Ich für meinen Teil habe gerne was reproduzierbares.
Wenn jede 'Liste/Lieferschein/Rechnung/...' jederzeit Nachdruckbar ist ok, sonst ist ein Puffer zum wieder aufsetzen recht hilfreich.
-
Ich sag ja, der Editor ist sch....
Zwischen die Anführungsstriche gehört:
" < Knoten >"
" < / Knoten >"
-
 Zitat von Fuerchau
Ich sag ja, der Editor ist sch....
Deshalb nutze ich meistens für Code, SQL, ...
PHP-Code einfügen
Similar Threads
-
By nico1964 in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 07-01-15, 15:57
-
By nico1964 in forum IBM i Hauptforum
Antworten: 21
Letzter Beitrag: 27-12-14, 11:58
-
By Andreas Herzfeldt in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 18-02-05, 12:11
-
By Claudia Lange in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 23-07-02, 11:32
-
By kaym in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 07-07-02, 13:49
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