<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Thema "Betreff: XML Struktur in SAs einlesen" in CoDe SAS German</title>
    <link>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/543713#M2456</link>
    <description>&lt;P&gt;hallo Sven,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;TranslationAccount, TranslationContra und FundingType müssen entsprechend ihres Datentyps in die Arrays noch eingefügt werden:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data testdaten;
    length string $32767;
    infile cards length=laenge;
    input string $varying. laenge;
    cards;
&amp;lt;LOG&amp;gt;&amp;lt;UPD&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Account&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;4711&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;Description&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;TBD&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;P06B0000_Other Trust Liabilities&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationAccount&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationContra&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;FundingType&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_A&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;50250000&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_B&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_C&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;N/A&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;LastChange&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;4/10/2018 7:31:00 AM&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;4/10/2018 1:29:33 PM&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;DUserStamp&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;BUILD&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;Sven4IBM&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;/UPD&amp;gt;&amp;lt;/LOG&amp;gt;
run;


data daten(drop=string i pos beginn ende);
   set testdaten;
   
   array nums   (4) $20 _temporary_ ("Account","MAP_A","MAP_B","MAP_C"); * numerische Variablen;
   array numv   (4) 8                 account   map_a   map_b   map_c;
   array numvm  (4) $1              m_account m_map_a m_map_b m_map_c;  * Merkmal O/U;
   array chars  (2) $20 _temporary_ ("Description","DUserStamp");        * character Variablen;
   array charv  (2) $200              description   duserstamp;
   array charvm (2) $1              m_description m_duserstamp;          * Merkmal O/U;

   * numerische Werte;
   do i=1 to dim(numv);
      pos      = index(string,strip(nums(i)));
      numvm(i) = substr(string,pos-5,1);      
      beginn   = sum(pos,index(substr(string,pos),"&amp;lt;V&amp;gt;"),2);
      ende     = sum(index(substr(string,beginn),"/V"),-2);
      numv(i)  = input(substrn(string,beginn,ende),?? best.);
   end;

   * character Werte;
   do i=1 to dim(charv);
      pos       = index(string,strip(chars(i)));
      charvm(i) = substr(string,pos-5,1);
      beginn    = sum(pos,index(substr(string,pos),"&amp;lt;V&amp;gt;"),2);
      ende      = sum(index(substr(string,beginn),"/V"),-2);
      charv(i)  = substrn(string,beginn,ende);
   end;

   * Timestamp;
   pos        = index(string,"LastChange");
   beginn     = sum(pos,index(substr(string,pos),"&amp;lt;V&amp;gt;"),2);
   ende       = sum(index(substr(string,beginn),"/V"),-2);
   lastchange = input(substrn(string,beginn,ende),MDYAMPM.);
   format lastchange datetime.;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Sat, 16 Mar 2019 08:44:56 GMT</pubDate>
    <dc:creator>HeideTribius</dc:creator>
    <dc:date>2019-03-16T08:44:56Z</dc:date>
    <item>
      <title>XML Struktur in SAs einlesen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/541302#M2450</link>
      <description>&lt;P&gt;Ich habe in einer Spalte folgende XML Struktur hinterlegt...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;&amp;lt;LOG&amp;gt;&amp;lt;UPD&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Account&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;4711&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;Description&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;TBD&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;P06B0000_Other Trust Liabilities&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationAccount&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationContra&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;FundingType&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_A&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;50250000&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_B&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_C&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;N/A&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;LastChange&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;4/10/2018 7:31:00 AM&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;4/10/2018 1:29:33 PM&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;DUserStamp&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;BUILD&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;Sven4IBM&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;/UPD&amp;gt;&amp;lt;/LOG&amp;gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;UPD = Update&lt;/P&gt;
&lt;P&gt;O = original&lt;/P&gt;
&lt;P&gt;V = value&lt;/P&gt;
&lt;P&gt;U = update&lt;/P&gt;
&lt;P&gt;...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Momentan wird dieses XML als html mit folgendem VB Script aufbereitet. Ich bin kein VB Experte und hoffe, vielleicht hier jemanden zu treffen, der diese Struktur lesen und in ein SAS Statement umwandeln kann, damit ich die Einzelnen Werte als Spalten ausgeben kann.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt; If InStr(o, "&amp;lt;LOG&amp;gt;&amp;lt;UPD&amp;gt;") Then updtype = "U"
    If InStr(o, "&amp;lt;LOG&amp;gt;&amp;lt;NEW&amp;gt;") Then updtype = "A"
    If InStr(o, "&amp;lt;LOG&amp;gt;&amp;lt;DEL&amp;gt;") Then updtype = "D"
    
    If updtype = "A" Then
        logHTMLtype = True
        s = Replace(s, "&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;", "&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;")
        s = Replace(s, "&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;", "&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;")
        s = Replace(s, "&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;", "&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;")
        s = Replace(s, "&amp;lt;LOG&amp;gt;&amp;lt;NEW&amp;gt;", "NEW&amp;lt;BR&amp;gt;&amp;lt;TABLE cellpadding=2 cellspacing=1 border=0 bgcolor=gainsboro &amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;COLUMN&amp;lt;/TH&amp;gt;&amp;lt;TH CLASS=GRE&amp;gt;&amp;lt;B&amp;gt;CURRENT&amp;lt;/B&amp;gt;&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;")
        s = Replace(s, "&amp;lt;/NEW&amp;gt;&amp;lt;/LOG&amp;gt;", "&amp;lt;/TABLE&amp;gt;")
    End If

    If updtype = "D" Then
        logHTMLtype = True
        s = Replace(s, "&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;", "&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;")
        s = Replace(s, "&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;", "&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;")
        s = Replace(s, "&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;", "&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;")
        s = Replace(s, "&amp;lt;LOG&amp;gt;&amp;lt;DEL&amp;gt;", "DELETED&amp;lt;BR&amp;gt;&amp;lt;TABLE cellpadding=2 cellspacing=1 border=0 bgcolor=gainsboro &amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;COLUMN&amp;lt;/TH&amp;gt;&amp;lt;TH CLASS=ORA&amp;gt;&amp;lt;B&amp;gt;PREVIOUS&amp;lt;/B&amp;gt;&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;")
        s = Replace(s, "&amp;lt;/DEL&amp;gt;&amp;lt;/LOG&amp;gt;", "&amp;lt;/TABLE&amp;gt;")
    End If
    If updtype = "U" Then
        logHTMLtype = True
        s = Replace(s, "&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;", "&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;")
        s = Replace(s, "&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;", "&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;")
        s = Replace(s, "&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;", "&amp;lt;/TD&amp;gt;&amp;lt;TD colspan=2&amp;gt;")
        s = Replace(s, "&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;", "&amp;lt;/TD&amp;gt;&amp;lt;TD CLASS=ORA&amp;gt;")
        s = Replace(s, "&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;", "&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;")
        s = Replace(s, "&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;", "&amp;lt;/TD&amp;gt;&amp;lt;TD CLASS=GRE&amp;gt;")
        s = Replace(s, "&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;", "&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;")
        s = Replace(s, "&amp;lt;LOG&amp;gt;&amp;lt;UPD&amp;gt;", "UPDATED&amp;lt;BR&amp;gt;&amp;lt;TABLE cellpadding=2 cellspacing=1 border=0 bgcolor=gainsboro &amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;COLUMN&amp;lt;/TH&amp;gt;&amp;lt;TH CLASS=ORA&amp;gt;&amp;lt;B&amp;gt;PREVIOUS&amp;lt;/B&amp;gt;&amp;lt;/TH&amp;gt;&amp;lt;TH CLASS=GRE&amp;gt;&amp;lt;B&amp;gt;CURRENT&amp;lt;/B&amp;gt;&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;")
        s = Replace(s, "&amp;lt;/UPD&amp;gt;&amp;lt;/LOG&amp;gt;", "&amp;lt;/TABLE&amp;gt;")
    End If&lt;/PRE&gt;</description>
      <pubDate>Fri, 08 Mar 2019 06:11:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/541302#M2450</guid>
      <dc:creator>Sven4IBM</dc:creator>
      <dc:date>2019-03-08T06:11:22Z</dc:date>
    </item>
    <item>
      <title>Betreff: XML Struktur in SAs einlesen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/541329#M2451</link>
      <description>&lt;P&gt;Es sieht aus das die XML met vbs im html umgesetzt wird,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;XML aufbereiten ist am einfachsten mit die mapper.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://documentation.sas.com/?docsetId=engxml&amp;amp;docsetTarget=p1cji2td43rru1n1wi0c3a6n0q9f.htm&amp;amp;docsetVersion=9.4&amp;amp;locale=en&amp;nbsp;" target="_blank" rel="noopener"&gt;https://documentation.sas.com/?docsetId=engxml&amp;amp;docsetTarget=p1cji2td43rru1n1wi0c3a6n0q9f.htm&amp;amp;docsetVersion=9.4&amp;amp;locale=en&amp;nbsp;&lt;/A&gt;&lt;BR /&gt;Mit die mapper bekommen sie auch die LIbname xml code und mapfile.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;14/3 Die link Functioniert bei mir.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;SAS® 9.4 XMLV2 and XML LIBNAME Engines: User’s Guide&lt;/P&gt;
&lt;OL class="breadcrumb ng-scope" style="background-color: transparent; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; box-sizing: border-box; color: #ffffff; font-family: &amp;amp;quot; avenirnext&amp;amp;quot;,helvetica,arial,sans-serif; font-size: 18px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; list-style-image: none; list-style-position: outside; list-style-type: none; orphans: 2; overflow: hidden; text-align: left; text-decoration: none; text-indent: 0px; text-overflow: ellipsis; text-transform: none; -webkit-text-stroke-width: 0px; white-space: nowrap; word-spacing: 0px; padding: 8px 15px 8px 0px; margin: -7px 0px -7px 0px;"&gt;
&lt;LI class="ng-binding" style="box-sizing: border-box; display: inline;"&gt;s Guide&lt;/LI&gt;
&lt;/OL&gt;
&lt;H1 class="xis-title" style="background-color: transparent; box-sizing: border-box; color: #333333; font-family: &amp;amp;quot; avenirnext&amp;amp;quot;,helvetica,arial,sans-serif; font-size: 22.73px; font-style: normal; font-variant: normal; font-weight: bold; letter-spacing: normal; line-height: 25px; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; margin: 22.73px 0px 10px 0px;"&gt;What Is SAS XML Mapper?&lt;/H1&gt;
&lt;DIV class="xis-topicContent" id="p1hzg3aje5pz6mn1bu2w0x96sgph" style="background-color: transparent; box-sizing: border-box; color: #333333; font-family: &amp;amp;quot; avenirnext&amp;amp;quot;,helvetica,arial,sans-serif; font-size: 14.06px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;
&lt;DIV class="xis-paragraph" id="n1x4rove19hxxrn1eee2janhrtd2" style="box-sizing: border-box; margin-top: 19.69px; position: relative;"&gt;&lt;SPAN class="ng-scope" style="box-sizing: border-box;" data-gloss-modified="" data-gloss-item="1"&gt;&lt;A class="glossLink ng-scope" style="background-color: transparent; box-sizing: border-box; color: #287eab; text-decoration: none;" target="_blank"&gt;&lt;SPAN class="xis-glossTerm ng-scope" style="border-bottom-color: #353535; border-bottom-style: dashed; border-bottom-width: 1px; box-sizing: border-box; color: #000000; cursor: help; outline-color: invert; outline-style: none; outline-width: 0px; position: relative; text-decoration: none;" data-gloss-term="1"&gt;SAS XML Mapper&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt; is an XMLMap support tool for the XMLV2 and &lt;SPAN class="ng-scope" style="box-sizing: border-box;" data-gloss-modified="" data-gloss-item="1"&gt;&lt;A class="glossLink ng-scope" style="background-color: transparent; box-sizing: border-box; color: #287eab; text-decoration: none;" target="_blank"&gt;&lt;SPAN class="xis-glossTerm ng-scope" style="border-bottom-color: #353535; border-bottom-style: dashed; border-bottom-width: 1px; box-sizing: border-box; color: #000000; cursor: help; outline-color: invert; outline-style: none; outline-width: 0px; position: relative; text-decoration: none;" data-gloss-term="1"&gt;XML&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt; engines. Based on Java, SAS XML Mapper is a stand-alone application that removes the tedium of creating and modifying an XMLMap.&lt;/DIV&gt;
&lt;DIV class="xis-paragraph" id="n0g02sfjbqpuyln0zdsig1npqwzf" style="box-sizing: border-box; margin-top: 19.69px; position: relative;"&gt;SAS XML Mapper provides a graphical interface that you can use to generate the appropriate XML elements. SAS XML Mapper analyzes the structure of an XML document or an &lt;SPAN class="ng-scope" style="box-sizing: border-box;" data-gloss-modified="" data-gloss-item="1"&gt;&lt;A class="glossLink ng-scope" style="background-color: transparent; box-sizing: border-box; color: #287eab; text-decoration: none;" target="_blank"&gt;&lt;SPAN class="xis-glossTerm ng-scope" style="border-bottom-color: #353535; border-bottom-style: dashed; border-bottom-width: 1px; box-sizing: border-box; color: #000000; cursor: help; outline-color: invert; outline-style: none; outline-width: 0px; position: relative; text-decoration: none;" data-gloss-term="1"&gt;XML schema&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt; and generates basic XML syntax for the XMLMap.&lt;/DIV&gt;
&lt;DIV class="xis-paragraph" id="n1a9xty246f5cyn1nfbdral1eisb" style="box-sizing: border-box; margin-top: 19.69px;"&gt;The interface consists of windows, a menu bar, and a toolbar. Using SAS XML Mapper, you can display an XML document or an XML schema, create and modify an XMLMap, and generate example SAS programs.&lt;/DIV&gt;
&lt;DIV class="xis-figure" id="n16yvqtod149u3n1dcnr58efwui1" style="box-sizing: border-box; margin-top: 19.69px;"&gt;
&lt;DIV class="xis-title" style="box-sizing: border-box; color: #353535; font-size: 14.06px; font-style: italic; font-weight: bold; margin-bottom: 10.55px; margin-top: 19.69px;"&gt;SAS XML Mapper Application&lt;/DIV&gt;
&lt;DIV class="xis-graphicAndDescription" style="box-sizing: border-box; margin-top: 9.84px;"&gt;&lt;IMG style="border-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; box-sizing: border-box; max-width: 1590px; vertical-align: middle; margin: 0px; border: 0px none #333333;" alt="SAS XML Mapper Application" src="https://documentation.sas.com/api/docsets/engxml/9.4/content/images/mapper.png?locale=en" border="0" /&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H1 class="xis-title" style="background-color: transparent; box-sizing: border-box; color: #333333; font-family: &amp;amp;quot; avenirnext&amp;amp;quot;,helvetica,arial,sans-serif; font-size: 22.73px; font-style: normal; font-variant: normal; font-weight: bold; letter-spacing: normal; line-height: 25px; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; margin: 22.73px 0px 10px 0px;"&gt;Importing an XML Document with Numeric Values&lt;/H1&gt;
&lt;DIV class="xis-topicContent" id="p088xhjk5ldw8zn1c74czd0rloxe" style="background-color: transparent; box-sizing: border-box; color: #333333; font-family: &amp;amp;quot; avenirnext&amp;amp;quot;,helvetica,arial,sans-serif; font-size: 14.06px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;
&lt;DIV class="xis-paragraph" id="n0wx5b1ww0z3gjn17ncs97v0wxog" style="box-sizing: border-box; margin-top: 19.69px; position: relative;"&gt;This example imports the &lt;SPAN class="ng-scope" style="box-sizing: border-box;" data-gloss-modified="" data-gloss-item="1"&gt;&lt;A class="glossLink ng-scope" style="background-color: transparent; box-sizing: border-box; color: #287eab; text-decoration: none;" target="_blank"&gt;&lt;SPAN class="xis-glossTerm ng-scope" style="border-bottom-color: #353535; border-bottom-style: dashed; border-bottom-width: 1px; box-sizing: border-box; color: #000000; cursor: help; outline-color: invert; outline-style: none; outline-width: 0px; position: relative; text-decoration: none;" data-gloss-term="1"&gt;XML&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt; document Precision.XML, which was exported in &lt;SPAN class="xis-xrefSee" style="box-sizing: border-box;"&gt; &lt;A tabindex="0" title="" class="ng-scope" style="background-color: transparent; box-sizing: border-box; color: #287eab; text-decoration: none;" href="https://documentation.sas.com/?docsetId=engxml&amp;amp;docsetTarget=n1udofx32xy2e4n1g4h2gtutt5zf.htm&amp;amp;docsetVersion=9.4&amp;amp;locale=en" data-original-href="n1udofx32xy2e4n1g4h2gtutt5zf.htm" data-docset-id="engxml" data-docset-version="9.4"&gt;Exporting Numeric Values&lt;/A&gt;&lt;SPAN class="xis-xrefText" style="box-sizing: border-box; font-style: normal;"&gt;. &lt;/SPAN&gt;&lt;/SPAN&gt; This example illustrates how you can change the behavior for importing numeric values.&lt;/DIV&gt;
&lt;DIV class="xis-paragraph" id="p1g6ti0zdu5h4sn1wcm6kpkg7ejf" style="box-sizing: border-box; margin-top: 19.69px; position: relative;"&gt;The first SAS program imports the XML document using the default behavior, which retrieves &lt;SPAN class="ng-scope" style="box-sizing: border-box;" data-gloss-modified="" data-gloss-item="1"&gt;&lt;A class="glossLink ng-scope" style="background-color: transparent; box-sizing: border-box; color: #287eab; text-decoration: none;" target="_blank"&gt;&lt;SPAN class="xis-glossTerm ng-scope" style="border-bottom-color: #353535; border-bottom-style: dashed; border-bottom-width: 1px; box-sizing: border-box; color: #000000; cursor: help; outline-color: invert; outline-style: none; outline-width: 0px; position: relative; text-decoration: none;" data-gloss-term="1"&gt;parsed character data&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt; (PCDATA) from the element:&lt;/DIV&gt;
&lt;DIV class="xis-paragraph" id="p0dpq5h4pxp9h6n128ro00252duz" style="box-sizing: border-box; margin-top: 19.69px;"&gt;
&lt;PRE class="xis-codeFragment" style="background-color: transparent; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: #353535; display: block; font-family: Menlo,Monaco,Consolas,&amp;amp;quot; courier new&amp;amp;quot;,monospace; font-size: 15.2px; line-height: 21.71px; overflow: auto; word-break: break-all; padding: 0px; margin: 0px 0px 10px 0px; border: 0px none #353535;"&gt;libname default xml 'C:\Output\precision.xml';&lt;BR /&gt;&lt;BR /&gt;Ein blog: https://blogs.sas.com/content/sgf/2016/06/24/tips-for-reading-xml-files-into-sas-software/&lt;BR /&gt; &lt;BR /&gt;
&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 14 Mar 2019 13:59:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/541329#M2451</guid>
      <dc:creator>jakarman</dc:creator>
      <dc:date>2019-03-14T13:59:05Z</dc:date>
    </item>
    <item>
      <title>Betreff: XML Struktur in SAs einlesen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/541330#M2452</link>
      <description>&lt;P&gt;Hallo Sven4ibm,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;in dem Fall sind die Syntaxen zwischen SAS und VB recht ähnlich.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data test;
    length s $32767;
    infile cards length=laenge;
    input s $varying. laenge;
    cards;
&amp;lt;LOG&amp;gt;&amp;lt;UPD&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Account&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;4711&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;Description&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;TBD&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;P06B0000_Other Trust Liabilities&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationAccount&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationContra&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;FundingType&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_A&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;50250000&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_B&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_C&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;N/A&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;LastChange&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;4/10/2018 7:31:00 AM&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;4/10/2018 1:29:33 PM&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;DUserStamp&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;BUILD&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;Sven4IBM&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;/UPD&amp;gt;&amp;lt;/LOG&amp;gt;
run;

%let TRUE = 1;
data result;
    set test;
    if index(s, "&amp;lt;LOG&amp;gt;&amp;lt;UPD&amp;gt;") Then updtype = "U";
    If index(s, "&amp;lt;LOG&amp;gt;&amp;lt;NEW&amp;gt;") Then updtype = "A";
    If index(s, "&amp;lt;LOG&amp;gt;&amp;lt;DEL&amp;gt;") Then updtype = "D";
    
    If updtype = "A" Then do;
        logHTMLtype = &amp;amp;TRUE.;
        s = tranwrd(s, "&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;", "&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;");
        s = tranwrd(s, "&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;", "&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;");
        s = tranwrd(s, "&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;", "&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;");
        s = tranwrd(s, "&amp;lt;LOG&amp;gt;&amp;lt;NEW&amp;gt;", "NEW&amp;lt;BR&amp;gt;&amp;lt;TABLE cellpadding=2 cellspacing=1 border=0 bgcolor=gainsboro &amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;COLUMN&amp;lt;/TH&amp;gt;&amp;lt;TH CLASS=GRE&amp;gt;&amp;lt;B&amp;gt;CURRENT&amp;lt;/B&amp;gt;&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;");
        s = tranwrd(s, "&amp;lt;/NEW&amp;gt;&amp;lt;/LOG&amp;gt;", "&amp;lt;/TABLE&amp;gt;");
    End;

    If updtype = "D" Then do;
        logHTMLtype = &amp;amp;TRUE.;
        s = tranwrd(s, "&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;", "&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;");
        s = tranwrd(s, "&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;", "&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;");
        s = tranwrd(s, "&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;", "&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;");
        s = tranwrd(s, "&amp;lt;LOG&amp;gt;&amp;lt;DEL&amp;gt;", "DELETED&amp;lt;BR&amp;gt;&amp;lt;TABLE cellpadding=2 cellspacing=1 border=0 bgcolor=gainsboro &amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;COLUMN&amp;lt;/TH&amp;gt;&amp;lt;TH CLASS=ORA&amp;gt;&amp;lt;B&amp;gt;PREVIOUS&amp;lt;/B&amp;gt;&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;");
        s = tranwrd(s, "&amp;lt;/DEL&amp;gt;&amp;lt;/LOG&amp;gt;", "&amp;lt;/TABLE&amp;gt;");
    End;
    If updtype = "U" Then do;
        logHTMLtype = &amp;amp;TRUE.;
        s = tranwrd(s, "&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;", "&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;");
        s = tranwrd(s, "&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;", "&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;");
        s = tranwrd(s, "&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;", "&amp;lt;/TD&amp;gt;&amp;lt;TD colspan=2&amp;gt;");
        s = tranwrd(s, "&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;", "&amp;lt;/TD&amp;gt;&amp;lt;TD CLASS=ORA&amp;gt;");
        s = tranwrd(s, "&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;", "&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;");
        s = tranwrd(s, "&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;", "&amp;lt;/TD&amp;gt;&amp;lt;TD CLASS=GRE&amp;gt;");
        s = tranwrd(s, "&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;", "&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;");
        s = tranwrd(s, "&amp;lt;LOG&amp;gt;&amp;lt;UPD&amp;gt;", "UPDATED&amp;lt;BR&amp;gt;&amp;lt;TABLE cellpadding=2 cellspacing=1 border=0 bgcolor=gainsboro &amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;COLUMN&amp;lt;/TH&amp;gt;&amp;lt;TH CLASS=ORA&amp;gt;&amp;lt;B&amp;gt;PREVIOUS&amp;lt;/B&amp;gt;&amp;lt;/TH&amp;gt;&amp;lt;TH CLASS=GRE&amp;gt;&amp;lt;B&amp;gt;CURRENT&amp;lt;/B&amp;gt;&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;");
        s = tranwrd(s, "&amp;lt;/UPD&amp;gt;&amp;lt;/LOG&amp;gt;", "&amp;lt;/TABLE&amp;gt;");
    End ;
run;&lt;BR /&gt;&lt;BR /&gt;VG Jan&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 08 Mar 2019 09:00:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/541330#M2452</guid>
      <dc:creator>jh_ti_bw</dc:creator>
      <dc:date>2019-03-08T09:00:35Z</dc:date>
    </item>
    <item>
      <title>Betreff: XML Struktur in SAs einlesen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/542665#M2453</link>
      <description>&lt;P&gt;Danke für die Tipps und die Programmierung. Die Programmierung vom Jan bereitet mir das XML das html auf. Ist aber nicht ganz dass, was ich gern möchte. Ich würde gerne die Infos zwischen diesen Tags als Spalten ausgeben wollen und diese dann dem jeweiligen updtype&amp;nbsp; zuordnen. Wenn das überhaupt geht...&lt;/P&gt;</description>
      <pubDate>Wed, 13 Mar 2019 06:15:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/542665#M2453</guid>
      <dc:creator>Sven4IBM</dc:creator>
      <dc:date>2019-03-13T06:15:43Z</dc:date>
    </item>
    <item>
      <title>Betreff: XML Struktur in SAs einlesen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/543070#M2454</link>
      <description>Der Link funktioniert nicht. Aber handelt es sich um diesen Mapper, den man auf dem Server installieren muss ?&lt;BR /&gt;&lt;A href="https://support.sas.com/downloads/package.htm?pid=713#" target="_blank"&gt;https://support.sas.com/downloads/package.htm?pid=713#&lt;/A&gt;</description>
      <pubDate>Thu, 14 Mar 2019 10:01:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/543070#M2454</guid>
      <dc:creator>Sven4IBM</dc:creator>
      <dc:date>2019-03-14T10:01:09Z</dc:date>
    </item>
    <item>
      <title>Betreff: XML Struktur in SAs einlesen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/543160#M2455</link>
      <description>&lt;P style="margin: 0px;"&gt;&lt;SPAN style="margin: 0px;"&gt;&lt;FONT color="#000000" face="Calibri"&gt;Meine Entschuldigung mit die link, wird nachschauen.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0px;"&gt;&lt;SPAN style="margin: 0px;"&gt;&lt;FONT color="#000000" face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0px;"&gt;&lt;SPAN style="margin: 0px;"&gt;&lt;FONT color="#000000" face="Calibri"&gt;Die Mapper kommt normalweise mit SAS Depot mit.&amp;nbsp; Ein lokale Installation macht es möglich alles darauf zu setzen.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0px;"&gt;&lt;SPAN style="margin: 0px;"&gt;&lt;FONT color="#000000" face="Calibri"&gt;Die Verarbeitung mit XML ist offen nicht bekannt und dann passiert es das es nicht dabei installiert ist. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0px;"&gt;&lt;SPAN style="margin: 0px;"&gt;&lt;FONT color="#000000" face="Calibri"&gt;Die SAS deployment manager ist dat Installation Programm das alle teilen die Software Installation organisiert.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0px;"&gt;&lt;SPAN style="margin: 0px;"&gt;&lt;FONT color="#000000" face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0px;"&gt;&lt;SPAN style="margin: 0px;"&gt;&lt;FONT color="#000000" face="Calibri"&gt;Ihren link ist ein anderen Möglichkeit. Ich sehe &amp;nbsp;Linux und Windows Versionen. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0px;"&gt;&lt;SPAN style="margin: 0px;"&gt;&lt;FONT color="#000000" face="Calibri"&gt;Ohne etwas vom SAS auf eine Rechner zu haben soll es damit auch gelingen ein map file zu generieren. (SAS UE).&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0px;"&gt;&lt;SPAN style="margin: 0px;"&gt;&lt;FONT color="#000000" face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0px;"&gt;&lt;SPAN style="margin: 0px;"&gt;&lt;FONT face="Calibri"&gt;&lt;FONT color="#000000"&gt;Das Profess ist ziemlich einfach wenn die XML Datei einfache Strukturen hat. &amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0px;"&gt;&lt;SPAN style="margin: 0px;"&gt;&lt;FONT color="#000000" face="Calibri"&gt;1/ &amp;nbsp;&amp;nbsp;XSD (ein Metadaten Beschreibung des XML im XML Struktur) oder&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0px;"&gt;&lt;SPAN style="margin: 0px;"&gt;&lt;FONT face="Calibri"&gt;&lt;FONT color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XML ,&amp;nbsp; die Datei benutzen als Beispiel. Special Aufmerksamkeit für Ausnahmen benötigt&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0px;"&gt;&lt;SPAN style="margin: 0px;"&gt;&lt;FONT face="Calibri"&gt;&lt;FONT color="#000000"&gt;2/ Mit die MAP-file das XML File verarbeiten mit Resultat ein SAS dataset. &amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0px;"&gt;&lt;SPAN style="margin: 0px;"&gt;&lt;FONT face="Calibri"&gt;&lt;FONT color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Angesehen das das Resultat ein SAS-dataset möglich ein Teil des originalen XML ist, ist zurückschreiben nicht möglich &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 14 Mar 2019 13:48:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/543160#M2455</guid>
      <dc:creator>jakarman</dc:creator>
      <dc:date>2019-03-14T13:48:37Z</dc:date>
    </item>
    <item>
      <title>Betreff: XML Struktur in SAs einlesen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/543713#M2456</link>
      <description>&lt;P&gt;hallo Sven,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;TranslationAccount, TranslationContra und FundingType müssen entsprechend ihres Datentyps in die Arrays noch eingefügt werden:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data testdaten;
    length string $32767;
    infile cards length=laenge;
    input string $varying. laenge;
    cards;
&amp;lt;LOG&amp;gt;&amp;lt;UPD&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Account&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;4711&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;Description&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;TBD&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;P06B0000_Other Trust Liabilities&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationAccount&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationContra&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;FundingType&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_A&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;50250000&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_B&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_C&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;N/A&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;LastChange&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;4/10/2018 7:31:00 AM&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;4/10/2018 1:29:33 PM&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;DUserStamp&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;BUILD&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;Sven4IBM&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;/UPD&amp;gt;&amp;lt;/LOG&amp;gt;
run;


data daten(drop=string i pos beginn ende);
   set testdaten;
   
   array nums   (4) $20 _temporary_ ("Account","MAP_A","MAP_B","MAP_C"); * numerische Variablen;
   array numv   (4) 8                 account   map_a   map_b   map_c;
   array numvm  (4) $1              m_account m_map_a m_map_b m_map_c;  * Merkmal O/U;
   array chars  (2) $20 _temporary_ ("Description","DUserStamp");        * character Variablen;
   array charv  (2) $200              description   duserstamp;
   array charvm (2) $1              m_description m_duserstamp;          * Merkmal O/U;

   * numerische Werte;
   do i=1 to dim(numv);
      pos      = index(string,strip(nums(i)));
      numvm(i) = substr(string,pos-5,1);      
      beginn   = sum(pos,index(substr(string,pos),"&amp;lt;V&amp;gt;"),2);
      ende     = sum(index(substr(string,beginn),"/V"),-2);
      numv(i)  = input(substrn(string,beginn,ende),?? best.);
   end;

   * character Werte;
   do i=1 to dim(charv);
      pos       = index(string,strip(chars(i)));
      charvm(i) = substr(string,pos-5,1);
      beginn    = sum(pos,index(substr(string,pos),"&amp;lt;V&amp;gt;"),2);
      ende      = sum(index(substr(string,beginn),"/V"),-2);
      charv(i)  = substrn(string,beginn,ende);
   end;

   * Timestamp;
   pos        = index(string,"LastChange");
   beginn     = sum(pos,index(substr(string,pos),"&amp;lt;V&amp;gt;"),2);
   ende       = sum(index(substr(string,beginn),"/V"),-2);
   lastchange = input(substrn(string,beginn,ende),MDYAMPM.);
   format lastchange datetime.;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 16 Mar 2019 08:44:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/543713#M2456</guid>
      <dc:creator>HeideTribius</dc:creator>
      <dc:date>2019-03-16T08:44:56Z</dc:date>
    </item>
    <item>
      <title>Betreff: XML Struktur in SAs einlesen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/544199#M2457</link>
      <description>&lt;P&gt;Das funktioniert noch nicht so wirklich. In den m_xxxx steht immer nur O. In account, map_a, description und duserstamp&amp;nbsp;steht das richtige. In map_b/c und lastchange&amp;nbsp;nur ein Missing value.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Ich habe den XML Eintrag ... mal aufgeteilt, was in der Html Ansicht zu sehen ist bzw. was in die Spalten der neuen Tabelle eingefügt werden soll.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;LOG&amp;gt;&amp;lt;UPD&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Account&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;4711&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Description&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;Test account&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationAccount&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationContra&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;FundingType&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;NONE&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;Other Funding&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_A&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;50250000&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_B&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_C&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;N/A&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;LastChange&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;4/14/2014&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;4/15/2014&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;DUserStamp&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;Sven4IBM&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;/UPD&amp;gt;&amp;lt;/LOG&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;UPD = Update&lt;BR /&gt;&amp;nbsp; O = original&lt;BR /&gt;&amp;nbsp; V = value&lt;BR /&gt;&amp;nbsp; U = update&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;COLUMN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PREVIOUS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURRENT&lt;BR /&gt;Account&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4711&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Account&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;4711&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&lt;BR /&gt;Description&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Test account&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Description&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;Test account&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&lt;BR /&gt;TranslationAccount&amp;nbsp;NONE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationAccount&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&lt;BR /&gt;TranslationContra&amp;nbsp;&amp;nbsp; NONE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationContra&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&lt;BR /&gt;FundingType&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NONE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Other Funding&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;FundingType&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;NONE&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;Other Funding&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&lt;BR /&gt;MAP_A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 50250000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_A&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;50250000&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&lt;BR /&gt;MAP_B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NONE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_B&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&lt;BR /&gt;MAP_C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_C&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;N/A&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&lt;BR /&gt;LastChange&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4/14/2018&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4/15/2018&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;U&amp;gt;&amp;lt;C&amp;gt;LastChange&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;4/14/2014&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;4/15/2014&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&lt;BR /&gt;DUserStamp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Sven4IBM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;DUserStamp&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;Sven4IBM&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Geht das ?&lt;/P&gt;</description>
      <pubDate>Tue, 19 Mar 2019 10:42:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/544199#M2457</guid>
      <dc:creator>Sven4IBM</dc:creator>
      <dc:date>2019-03-19T10:42:56Z</dc:date>
    </item>
    <item>
      <title>Betreff: XML Struktur in SAs einlesen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/544293#M2458</link>
      <description>&lt;P&gt;hallo Sven,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;das geht schon - natürlich - im SAS geht alles &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley (fröhlich)" title="Smiley (fröhlich)" /&gt; - aber ich frage mich, worauf das hinauslaufen soll....?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data testdaten;
    length string $32767;
    infile cards length=laenge;
    input string $varying. laenge;
    cards;
&amp;lt;LOG&amp;gt;&amp;lt;UPD&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Account&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;4711&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Description&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;Test account&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationAccount&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationContra&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;FundingType&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;NONE&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;Other Funding&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_A&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;50250000&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_B&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_C&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;N/A&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;LastChange&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;4/14/2014&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;4/15/2014&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;DUserStamp&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;Sven4IBM&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;/UPD&amp;gt;&amp;lt;/LOG&amp;gt;
run;


data daten(keep=column previous current);
length column $25 previous current $200;
   set testdaten;
   
   array name (10) $20 _temporary_ ("Account","Description","TranslationAccount","TranslationContra","FundingType","MAP_A","MAP_B","MAP_C","LastChange","DUserStamp");   * columns;

   do i=1 to dim(name);
      previous    = "";                                          * initialisieren;
      pos       = index(string,strip(name(i)));
      column    = name(i);
      beginn    = sum(pos,index(substr(string,pos),"&amp;lt;V&amp;gt;"),2);
      ende      = sum(index(substr(string,beginn),"/V"),-2);
      current   = substrn(string,beginn,ende);
      prev      = sum(pos,index(substr(string,pos),"&amp;lt;P&amp;gt;"),2);
      if prev &amp;lt; beginn then do;
         ende      = sum(index(substr(string,prev),"/P"),-2);
         previous  = substrn(string,prev,ende);
      end;
      output;
   end;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 19 Mar 2019 17:14:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/544293#M2458</guid>
      <dc:creator>HeideTribius</dc:creator>
      <dc:date>2019-03-19T17:14:23Z</dc:date>
    </item>
    <item>
      <title>Betreff: XML Struktur in SAs einlesen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/544479#M2459</link>
      <description>&lt;P&gt;Danke Heike.&lt;/P&gt;
&lt;P&gt;Das sieht schon gut aus. Habe das Ganze noch transponiert, um die Differenzen besser in der Tabelle darzustellen.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc transpose data=work.daten out=work.Transposed name=Source label=Label;
  id column;
  var previous current;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Im Previous steht jetzt natürlich nur etwas, wenn auch was geändert wurde. Ist es möglich die Werte aus Current auch nach previous pro Satz zu übertragen, wenn sich nicht verändert (previous leer ist) hat ?&lt;/P&gt;
&lt;P&gt;Hintergrund ist eigentlich nur der, dass ich die Daten pro Satz aus der XML Struktur in eine Tabellen Struktur bringen muss, um diese dann auswerten zu können.&lt;/P&gt;</description>
      <pubDate>Wed, 20 Mar 2019 08:54:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/544479#M2459</guid>
      <dc:creator>Sven4IBM</dc:creator>
      <dc:date>2019-03-20T08:54:00Z</dc:date>
    </item>
    <item>
      <title>Betreff: XML Struktur in SAs einlesen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/544482#M2460</link>
      <description>&lt;P&gt;hallo Sven,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;u.U. müssen wir noch mal ganz von vorn anfangen: was soll eigentlich das Ergebnis sein? Vor allem: bei mehreren Datensätzen?&lt;/P&gt;
&lt;P&gt;Mann kann natürlich previous mit current belegen, wenn es kein previous gibt:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data testdaten;
    length string $32767;
    infile cards length=laenge;
    input string $varying. laenge;
    cards;
&amp;lt;LOG&amp;gt;&amp;lt;UPD&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Account&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;4711&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;Description&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;TBD&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;P06B0000_Other Trust Liabilities&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationAccount&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationContra&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;FundingType&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_A&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;50250000&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_B&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_C&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;N/A&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;LastChange&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;4/10/2018 7:31:00 AM&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;4/10/2018 1:29:33 PM&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;DUserStamp&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;BUILD&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;Sven4IBM&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;/UPD&amp;gt;&amp;lt;/LOG&amp;gt;
run;


data daten(keep=column previous current);
length column $25 previous current $200;
   set testdaten;
   
   array name (10) $20 _temporary_ ("Account","Description","TranslationAccount","TranslationContra","FundingType","MAP_A","MAP_B","MAP_C","LastChange","DUserStamp");  * columns;

   do i=1 to dim(name);
      previous  = "";                                          * initialisieren;
      pos       = index(string,strip(name(i)));
      column    = name(i);
      beginn    = sum(pos,index(substr(string,pos),"&amp;lt;V&amp;gt;"),2);
      ende      = sum(index(substr(string,beginn),"/V"),-2);
      current   = substrn(string,beginn,ende);
      prev      = sum(pos,index(substr(string,pos),"&amp;lt;P&amp;gt;"),2);
      if prev &amp;lt; beginn then do;
         ende      = sum(index(substr(string,prev),"/P"),-2);
         previous  = substrn(string,prev,ende);
      end;
      else previous = current;
      output;
   end;
run;

proc transpose data=daten out=work.Transposed name=Source label=Label;
  id column;
  var previous current;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;aber ist das wirklich die Lösung, die Du brauchst?&lt;/P&gt;</description>
      <pubDate>Wed, 20 Mar 2019 09:18:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/544482#M2460</guid>
      <dc:creator>HeideTribius</dc:creator>
      <dc:date>2019-03-20T09:18:03Z</dc:date>
    </item>
    <item>
      <title>Betreff: XML Struktur in SAs einlesen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/544488#M2461</link>
      <description>&lt;P&gt;Also ich möchte eine Tabelle, wo eine Spalte diese XML Struktur als Text für x Datensätze in eine Tabelle formatieren, die dann pro Datensatz einen vorher (previous) bzw. nachher (current) Satz enthält.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data testdaten;
    length string $32767;
    infile cards length=laenge;
    input string $varying. laenge;
    cards;
&amp;lt;LOG&amp;gt;&amp;lt;UPD&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Account&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;9490815&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Description&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;Text A other&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationAccount&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationContra&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;FundingType&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;NONE&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;Other Funding&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_A&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;50250000&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_B&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_C&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;N/A&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;LastChange&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;4/14/2014 9:55:00 AM&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;4/14/2014 11:47:03 AM&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;DUserStamp&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;SAS4IBM&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;/UPD&amp;gt;&amp;lt;/LOG&amp;gt;
&amp;lt;LOG&amp;gt;&amp;lt;UPD&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Account&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;9490816&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Description&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;Text B other&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationAccount&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationContra&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;FundingType&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;NONE&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;Other Funding&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_A&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;50250000&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_B&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_C&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;N/A&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;LastChange&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;4/14/2014 10:06:00 AM&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;4/14/2014 11:47:14 AM&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;DUserStamp&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;SAS4IBM&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;/UPD&amp;gt;&amp;lt;/LOG&amp;gt;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Bei bereits 2 Datensätze meckert SAs aber schon. Ich vermute bei Transpose.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ERROR: The ID value "Account" occurs twice in the input data set.
NOTE: The SAS System stopped processing this step because of errors.
NOTE: There were 11 observations read from the data set WORK.DATEN.
NOTE: MVA_DSIO.OPEN_CLOSE| _DISARM|         STOP| _DISARM| 2019-03-20T10:34:55,754+01:00| _DISARM| WorkspaceServer| _DISARM| SAS| _DISARM| | _DISARM| 20| _DISARM| 159801344| _DISARM| 11| _DISARM| 19| _DISARM| 0| _DISARM| 20832| _DISARM| 0.010000| _DISARM| 
      0.003333| _DISARM| 1868693695.751078| _DISARM| 1868693695.754411| _DISARM| 0.010000| _DISARM| | _ENDDISARM 
WARNING: The data set WORK.TRANSPOSED may be incomplete.  When this step was stopped there were 0 observations and 0 variables.
NOTE: MVA_DSIO.OPEN_CLOSE| _DISARM|         STOP| _DISARM| 2019-03-20T10:34:55,755+01:00| _DISARM| WorkspaceServer| _DISARM| SAS| _DISARM| | _DISARM| -1| _DISARM| 159801344| _DISARM| 11| _DISARM| 19| _DISARM| 8| _DISARM| 20840| _DISARM| 0.010000| _DISARM| 
      0.004049| _DISARM| 1868693695.751829| _DISARM| 1868693695.755878| _DISARM| 0.010000| _DISARM| | _ENDDISARM 
WARNING: Data set WORK.TRANSPOSED was not replaced because this step was stopped.
NOTE: PROCEDURE| _DISARM|         STOP| _DISARM| 2019-03-20T10:34:55,756+01:00| _DISARM| WorkspaceServer| _DISARM| SAS| _DISARM| | _DISARM| 162426880| _DISARM| 159801344| _DISARM| 11| _DISARM| 19| _DISARM| 8| _DISARM| 20840| _DISARM| 0.010000| _DISARM| 
      0.006516| _DISARM| 1868693695.750271| _DISARM| 1868693695.756787| _DISARM| 0.010000| _DISARM| | _ENDDISARM 
NOTE: PROCEDURE TRANSPOSE used (Total process time):
      real time           0.00 seconds
      cpu time            0.01 seconds&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 20 Mar 2019 09:38:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/544488#M2461</guid>
      <dc:creator>Sven4IBM</dc:creator>
      <dc:date>2019-03-20T09:38:33Z</dc:date>
    </item>
    <item>
      <title>Betreff: XML Struktur in SAs einlesen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/544517#M2462</link>
      <description>&lt;P&gt;hallo Sven,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;die Fehlermeldung kommt von proc transpose. Es fehlt die by-Variable.&lt;/P&gt;
&lt;P&gt;Kannst Du (konkret) aufschreiben, wie das Ergebnis zu den beiden Datensätzen aussehen soll?&lt;/P&gt;</description>
      <pubDate>Wed, 20 Mar 2019 11:50:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/544517#M2462</guid>
      <dc:creator>HeideTribius</dc:creator>
      <dc:date>2019-03-20T11:50:49Z</dc:date>
    </item>
    <item>
      <title>Betreff: XML Struktur in SAs einlesen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/544537#M2463</link>
      <description>&lt;P&gt;hallo Sven,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Du könntest zur eindeutigen Kennzeichnung des Datensatzes seine Nummer verwenden:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data testdaten;
    length string $32767;
    infile cards length=laenge;
    input string $varying. laenge;
    cards;
&amp;lt;LOG&amp;gt;&amp;lt;UPD&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Account&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;4711&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;Description&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;TBD&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;P06B0000_Other Trust Liabilities&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationAccount&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationContra&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;FundingType&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_A&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;50250000&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_B&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_C&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;N/A&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;LastChange&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;4/10/2018 7:31:00 AM&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;4/10/2018 1:29:33 PM&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;DUserStamp&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;BUILD&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;Sven4IBM&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;/UPD&amp;gt;&amp;lt;/LOG&amp;gt;
&amp;lt;LOG&amp;gt;&amp;lt;UPD&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Account&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;4711&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Description&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;Test account&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationAccount&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationContra&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;FundingType&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;NONE&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;Other Funding&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_A&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;50250000&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_B&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_C&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;N/A&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;LastChange&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;4/14/2014&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;4/15/2014&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;DUserStamp&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;Sven4IBM&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;/UPD&amp;gt;&amp;lt;/LOG&amp;gt;
run;


data daten(keep=datensatz column previous current);
length column $25 previous current $200;
   set testdaten;
   
   array name (10) $20 _temporary_ ("Account","Description","TranslationAccount","TranslationContra","FundingType","MAP_A","MAP_B","MAP_C","LastChange","DUserStamp");  * columns;

   datensatz = _n_;
   do i=1 to dim(name);
      previous  = "";                                          * initialisieren;
      pos       = index(string,strip(name(i)));
      column    = name(i);
      beginn    = sum(pos,index(substr(string,pos),"&amp;lt;V&amp;gt;"),2);
      ende      = sum(index(substr(string,beginn),"/V"),-2);
      current   = substrn(string,beginn,ende);
      prev      = sum(pos,index(substr(string,pos),"&amp;lt;P&amp;gt;"),2);
      if prev &amp;lt; beginn then do;
         ende      = sum(index(substr(string,prev),"/P"),-2);
         previous  = substrn(string,prev,ende);
      end;
      else previous = current;
      output;
   end;
run;

proc transpose data=daten out=work.Transposed name=Source label=Label;
  by datensatz;
  id column;
  var previous current;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 20 Mar 2019 12:44:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/544537#M2463</guid>
      <dc:creator>HeideTribius</dc:creator>
      <dc:date>2019-03-20T12:44:15Z</dc:date>
    </item>
    <item>
      <title>Betreff: XML Struktur in SAs einlesen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/549191#M2482</link>
      <description>&lt;P&gt;Ich möchte die Infos aus der XML Struktur jeweils in Spalten transferieren. Allerdings klappt das mit dem hier gezeigten letzten Beispiel von Heide nur, wenn es sich um Account handelt und um UPD.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Bei NEW und DEL wird erst gar nichts gefüllt und wenn es sich nicht um Account sondern um eine andere Rubrik (PRTF)&amp;nbsp;handelt,&amp;nbsp;schreibt SAS das XML in jede Spalte.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;HIer mal Beispielsätze...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data testdaten;
    length string $32767;
    infile cards length=laenge;
    input string $varying. laenge;
    cards;
&amp;lt;LOG&amp;gt;&amp;lt;DEL&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Account&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;1014701&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Description&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;Due to/from PFS DUSS&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationAccount&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;NONE&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationContra&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;NONE&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;FundingType&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;Other Funding&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_A&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;11050010&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_C&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;N/A&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;LastChange&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;7/10/2014 11:07:00 AM&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;DUserStamp&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;yum&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;/DEL&amp;gt;&amp;lt;/LOG&amp;gt;
&amp;lt;LOG&amp;gt;&amp;lt;NEW&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Account&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;9300529&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Description&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;Asset/Liab Interim acc. GDGC&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationAccount&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationContra&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;FundingType&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;Other Funding&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_A&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;10950001&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_B&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;OTHASSE/_______&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_C&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;N/A&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;LastChange&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;4/22/2014 2:56:59 PM&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;DUserStamp&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;TreacyR&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;/NEW&amp;gt;&amp;lt;/LOG&amp;gt;
&amp;lt;LOG&amp;gt;&amp;lt;UPD&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;Account&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;3009123&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;Description&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;TBD&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;Non-Recurr Exp-wages&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationAccount&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;TranslationContra&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;FundingType&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;Other Funding&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MAP_A&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;40150001&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;LastChange&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;7/1/2015 7:30:00 AM&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;7/7/2015 4:22:16 PM&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;DUserStamp&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;BUILD&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;yum&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;/UPD&amp;gt;&amp;lt;/LOG&amp;gt;
&amp;lt;LOG&amp;gt;&amp;lt;DEL&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;PRTF&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;02270&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;PRTFTYPE&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;HE&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;DESCR&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;GEM Forfaiting Neutral&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;ProfitCenter&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;GEM Forfaiting Neutral&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;FXTranslation&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;True&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;AddBalanceYN&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;True&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;COFCalc&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;True&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;COFSweep&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;False&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;LoanFundingOverWrite&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;NONE&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;DUserStamp&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;CHO&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;LastChange&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;10/31/2002 2:11:00 PM&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MoveRetainedEarnings&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;True&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;BusPrtf&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;Neutral&amp;lt;/P&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;/DEL&amp;gt;&amp;lt;/LOG&amp;gt;
&amp;lt;LOG&amp;gt;&amp;lt;NEW&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;PRTF&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;43200&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;DESCR&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;Finance Services NY&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;ProfitCenter&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;PFS Finance Services NY&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;FXTranslation&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;True&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;AddBalanceYN&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;True&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;COFCalc&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;True&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;COFSweep&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;True&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;LoanFundingOverWrite&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;DUserStamp&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;BUILD&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;/NEW&amp;gt;&amp;lt;/LOG&amp;gt;
&amp;lt;LOG&amp;gt;&amp;lt;UPD&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;PRTF&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;13169&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;DESCR&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;TBD&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;Personal NY&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;U&amp;gt;&amp;lt;C&amp;gt;ProfitCenter&amp;lt;/C&amp;gt;&amp;lt;P&amp;gt;TBD&amp;lt;/P&amp;gt;&amp;lt;V&amp;gt;PFS Neutral&amp;lt;/V&amp;gt;&amp;lt;/U&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;FXTranslation&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;True&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;AddBalanceYN&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;True&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;COFCalc&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;True&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;COFSweep&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;True&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;LoanFundingOverWrite&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;NONE&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;DUserStamp&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;BUILD&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;LastChange&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;2/28/2015 7:31:00 AM&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;MoveRetainedEarnings&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;True&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;O&amp;gt;&amp;lt;C&amp;gt;BusPrtf&amp;lt;/C&amp;gt;&amp;lt;V&amp;gt;TBD&amp;lt;/V&amp;gt;&amp;lt;/O&amp;gt;&amp;lt;/UPD&amp;gt;&amp;lt;/LOG&amp;gt;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Ich habe dann mal versucht, die Modi in eine Tabelle jeweils pro gefundener Rubrik zu schreiben und die dann mittels Code zu verarbeiten. Klappt aber nicht.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table Testfile as select * FROM DWIMPORT.DNMCLOG
  where KVAL in ('FUNCSAVERECORD', 'FUNCSAVERECORDLIST')
  and DFIELDLIST not like 'DURATION:%'
  order by DFIELDLIST, LOGTIME;
quit;
/* -&amp;gt; 2.816 rows and 14 columns */

data NEW DEL UPD Rest;
set Testfile;
     if substr(DFIELDLIST,1,10) = '&amp;lt;LOG&amp;gt;&amp;lt;NEW&amp;gt;' then output NEW;
else if substr(DFIELDLIST,1,10) = '&amp;lt;LOG&amp;gt;&amp;lt;DEL&amp;gt;' then output DEL;
else if substr(DFIELDLIST,1,10) = '&amp;lt;LOG&amp;gt;&amp;lt;UPD&amp;gt;' then output UPD;
                                               else output Rest;
run;

%macro Aufteilung(Modus);
data Account_&amp;amp;Modus. BranchID_&amp;amp;Modus. BusinessGroupType_&amp;amp;Modus. FXTranslation_&amp;amp;Modus. ID_&amp;amp;Modus. Locale_&amp;amp;Modus. PRTF_&amp;amp;Modus. RefreshUntill_&amp;amp;Modus. Rest_&amp;amp;Modus.;
set &amp;amp;Modus.;
     if substr(DFIELDLIST,14,14) = '&amp;lt;C&amp;gt;Account&amp;lt;/C&amp;gt;' then output Account_&amp;amp;Modus.;
else if substr(DFIELDLIST,14,15) = '&amp;lt;C&amp;gt;BranchID&amp;lt;/C&amp;gt;' then output BranchID_&amp;amp;Modus.;
else if substr(DFIELDLIST,14,24) = '&amp;lt;C&amp;gt;BusinessGroupType&amp;lt;/C&amp;gt;' then output BusinessGroupType_&amp;amp;Modus.;
else if substr(DFIELDLIST,14,13) = '&amp;lt;C&amp;gt;Locale&amp;lt;/C&amp;gt;' then output Locale_&amp;amp;Modus.;
else if substr(DFIELDLIST,14,11) = '&amp;lt;C&amp;gt;PRTF&amp;lt;/C&amp;gt;' then output PRTF_&amp;amp;Modus.;
                                                          else output Rest_&amp;amp;Modus.;
run;
%mend;
%Aufteilung(NEW);
%Aufteilung(DEL);
%Aufteilung(UPD);
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data daten(keep=datensatz column previous current);
length column $25 previous current $200;
   set testdaten;
   
   array name (10) $20 _temporary_ ("Account","Description","TranslationAccount","TranslationContra","FundingType","MAP_A","MAP_B","MAP_C","LastChange","DUserStamp");  * columns;

   datensatz = _n_;
   do i=1 to dim(name);
      previous  = "";                                          * initialisieren;
      pos       = index(string,strip(name(i)));
      column    = name(i);
      beginn    = sum(pos,index(substr(string,pos),"&amp;lt;V&amp;gt;"),2);
      ende      = sum(index(substr(string,beginn),"/V"),-2);
      current   = substrn(string,beginn,ende);
      prev      = sum(pos,index(substr(string,pos),"&amp;lt;P&amp;gt;"),2);
      if prev &amp;lt; beginn then do;
         ende      = sum(index(substr(string,prev),"/P"),-2);
         previous  = substrn(string,prev,ende);
      end;
      else previous = current;
      output;
   end;
run;

proc transpose data=daten out=work.Transposed name=Source label=Label;
  by datensatz;
  id column;
  var previous current;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Apr 2019 07:19:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/549191#M2482</guid>
      <dc:creator>Sven4IBM</dc:creator>
      <dc:date>2019-04-08T07:19:29Z</dc:date>
    </item>
    <item>
      <title>Betreff: XML Struktur in SAs einlesen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/549206#M2483</link>
      <description>&lt;P&gt;...oder macht es mehr Sinn, erstmal die XML in html zu ändern (Coding vom jh_ti_bw) und dieses dann in Spalten zu konvertieren ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Das wäre html...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;UPDATED&amp;lt;BR&amp;gt;&amp;lt;TABLE cellpadding=2 cellspacing=1 border=0 bgcolor=gainsboro &amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;COLUMN&amp;lt;/TH&amp;gt;&amp;lt;TH CLASS=ORA&amp;gt;&amp;lt;B&amp;gt;PREVIOUS&amp;lt;/B&amp;gt;&amp;lt;/TH&amp;gt;&amp;lt;TH CLASS=GRE&amp;gt;&amp;lt;B&amp;gt;CURRENT&amp;lt;/B&amp;gt;&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;Account&amp;lt;/TD&amp;gt;&amp;lt;TD colspan=2&amp;gt;8217992&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;Description&amp;lt;/TD&amp;gt;&amp;lt;TD CLASS=ORA&amp;gt;TBD&amp;lt;/TD&amp;gt;&amp;lt;TD CLASS=GRE&amp;gt;Deprec.PSO securities 11,00,02&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;FundingType&amp;lt;/TD&amp;gt;&amp;lt;TD colspan=2&amp;gt;Other Funding&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;MAP_A&amp;lt;/TD&amp;gt;&amp;lt;TD colspan=2&amp;gt;31950000&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;MAP_B&amp;lt;/TD&amp;gt;&amp;lt;TD colspan=2&amp;gt;NONE&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;LastChange&amp;lt;/TD&amp;gt;&amp;lt;TD CLASS=ORA&amp;gt;12/11/2015 7:01:00 AM&amp;lt;/TD&amp;gt;&amp;lt;TD CLASS=GRE&amp;gt;12/11/2015 4:12:42 PM&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;DUserStamp&amp;lt;/TD&amp;gt;&amp;lt;TD CLASS=ORA&amp;gt;BUILD&amp;lt;/TD&amp;gt;&amp;lt;TD CLASS=GRE&amp;gt;gandhip&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;/TABLE&amp;gt;

DELETED&amp;lt;BR&amp;gt;&amp;lt;TABLE cellpadding=2 cellspacing=1 border=0 bgcolor=gainsboro &amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;COLUMN&amp;lt;/TH&amp;gt;&amp;lt;TH CLASS=ORA&amp;gt;&amp;lt;B&amp;gt;PREVIOUS&amp;lt;/B&amp;gt;&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;BusinessGroupType&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;EAA BANKING B&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;BusinessGroupID&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;BANKING OTHERS B&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;ProductLine&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;MUNI NY B&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;ProfitCenterID&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;MUNI GIC EAA2 B&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;Limit_Unit&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;MUNI GIC EAA2 B&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;Sub_ProfitCenter&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;MUNI GIC NY (Trading)&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;/TABLE&amp;gt;

NEW&amp;lt;BR&amp;gt;&amp;lt;TABLE cellpadding=2 cellspacing=1 border=0 bgcolor=gainsboro &amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TH&amp;gt;COLUMN&amp;lt;/TH&amp;gt;&amp;lt;TH CLASS=GRE&amp;gt;&amp;lt;B&amp;gt;CURRENT&amp;lt;/B&amp;gt;&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;Account&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;3009111&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;Description&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;Overtime&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;TranslationAccount&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;NONE&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;TranslationContra&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;NONE&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;FundingType&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;Other Funding&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;MAP_A&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;40050000&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;LastChange&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;7/11/2014 11:17:05 AM&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;DUserStamp&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;yum&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;/TABLE&amp;gt;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 08 Apr 2019 09:30:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/XML-Struktur-in-SAs-einlesen/m-p/549206#M2483</guid>
      <dc:creator>Sven4IBM</dc:creator>
      <dc:date>2019-04-08T09:30:00Z</dc:date>
    </item>
  </channel>
</rss>

