Hello helpers,
i have this xml data:
<?xml version="1.0" encoding="UTF-8"?>
<json><state>1</state><stateText>Ok</stateText>
<result><umsatzparameter><segmentVersion>6</segmentVersion><maximaleAnzahlAuftraege>1</maximaleAnzahlAuftraege><anzahlSignaturenMindestens>1</anzahlSignaturenMindestens><sicherheitsklasse>0</sicherheitsklasse><speicherzeitraum>99</speicherzeitraum><eingabeAnzahlEintraegeErlaubt>N</eingabeAnzahlEintraegeErlaubt><alleKontenErlaubt>N</alleKontenErlaubt></umsatzparameter>
<umsatzinfo>
<row><auftragsReferenzNummer>STARTUMS</auftragsReferenzNummer><kontonummer>1234567890</kontonummer><auszugsNr>0</auszugsNr><anfangssaldo><kennung>C</kennung><buchungsdatum>161125</buchungsdatum><waehrungsart>EUR</waehrungsart><betrag>31761,70</betrag></anfangssaldo>
<umsaetze>
<row>
<valuta>161125</valuta>
<kennung>C</kennung>
<buchungstext>GUTSCHR.SEPA</buchungstext>
<betrag>123,45</betrag>
<buchungsdatum>1125</buchungsdatum>
<verwendungszweck02>Verwendungszweck</verwendungszweck02>
<auftraggeberBankkennung>INGDDEFFXXX</auftraggeberBankkennung>
<kundenreferenz>NONREF</kundenreferenz>
<geschaeftsvorfallCode>166</geschaeftsvorfallCode>
<verwendungszweck01>Referenz NOTPROVIDED</verwendungszweck01>
<auftraggeberName1>Max Mustermann</auftraggeberName1>
<verwendungszweck03>Nr 126, 31.10.2016</verwendungszweck03>
<auftraggeberKontonummer>DE223344556677889</auftraggeberKontonummer>
<ruecklastschriften>000</ruecklastschriften>
<buchungsschluessel>N051</buchungsschluessel>
<verwendungszweck>Referenz NOTPROVIDEDVerwendungszweckNr 126, 31.10.2016</verwendungszweck>
<auftraggeberName>Max Mustermann</auftraggeberName>
</row>
<row><valuta>161125</valuta>
<kennung>D</kennung>
<buchungstext>SEPA ÜBERW.</buchungstext>
<betrag>36,89</betrag>
<buchungsdatum>1125</buchungsdatum>
<verwendungszweck02>00</verwendungszweck02>
<verwendungszweck05> bezahlt</verwendungszweck05>
<auftraggeberBankkennung>INGDDEFFXXX</auftraggeberBankkennung>
<kundenreferenz>NONREF</kundenreferenz>
<geschaeftsvorfallCode>116</geschaeftsvorfallCode>
<verwendungszweck04>wurde bereits am 17.11.2016</verwendungszweck04>
<verwendungszweck01>QCA9T6/DE223344556677889</verwendungszweck01>
<auftraggeberName1>Max Mustermann</auftraggeberName1>
<verwendungszweck03>Beleg 126 v. 31.10.2016</verwendungszweck03>
<auftraggeberKontonummer>DE223344556677889</auftraggeberKontonummer>
<ruecklastschriften>000</ruecklastschriften>
<buchungsschluessel>N020</buchungsschluessel>
<verwendungszweck>QCA9T6/DE223344556677889 126 v. 31.10.2016wurde bereits am 17.11.2016 bezahlt</verwendungszweck>
<auftraggeberName>Max Mustermann</auftraggeberName>
</row>
</umsaetze>
<schlusssaldo><kennung>C</kennung><buchungsdatum>161219</buchungsdatum><waehrungsart>EUR</waehrungsart><betrag>12345,66-</betrag></schlusssaldo><blz>12345678</blz>
</row>
</umsatzinfo>
</result>
</json>
This query against this data is working fine:
select
ExtractValue(Value(p),'/json/state'),
ExtractValue(Value(p),'/json/stateText')
into ls_errorcode,ls_errortext
FROM TABLE(XMLSEQUENCE(EXTRACT(p_xml, '/json'))) p;
But no more values i am not able to get.
I tried this, but never got values back, only the count of rows, which are available with empty variables.
for x in (select
--ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/valuta') as valuta,
--ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/kennung') as kennung,
--ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/buchungstext') as buchungstext,
ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/betrag') as betrag
--ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/buchungsdatum') as buchungsdatum,
--ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/verwendungszweck02') as verwendungszweck02,
--ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/auftraggeberBankkennung') as auftraggeberBankkennung,
--ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/kundenreferenz') as kundenreferenz,
--ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/geschaeftsvorfallCode') as geschaeftsvorfallCode,
--ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/verwendungszweck01') as verwendungszweck01,
--ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/auftraggeberName1') as auftraggeberName1,
--ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/verwendungszweck03') as verwendungszweck03,
--ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/auftraggeberKontonummer') as auftraggeberKontonummer,
--ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/ruecklastschriften') as ruecklastschriften,
--ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/buchungsschluessel') as buchungsschluessel,
--ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/verwendungszweck') as verwendungszweck,
--ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/auftraggeberName') as auftraggeberName
FROM TABLE(XMLSEQUENCE(EXTRACT(p_xml, '/json/result/umsatzinfo/row/umsaetze/row'))) p) loop
dbms_output.put_line('Auftraggeber :' || ' Betrag : ' || x.betrag);
end loop;
Could you help me to understand, how to get all values ?
Thanks in advance
Regards Frank