<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="https://www.schweda.net/style_feed.css" ?>
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:atom="http://www.w3.org/2005/Atom"	
	xmlns:dc="http://purl.org/dc/elements/1.1/" > 
<channel>
    <title>schweda.net - Blog</title>
    <link>https://www.schweda.net/</link>
    <description>schweda.net - Blog - Blog-Beitraege</description>
    <language>de-at</language>
    <copyright>Copyright 2006-2026</copyright>
    <generator>schweda.net</generator>
    <managingEditor>heinz.schweda@schweda.net (Heinz Schweda)</managingEditor>
    <webMaster>heinz.schweda@schweda.net (Heinz Schweda)</webMaster>
    <category>Blog</category>
	<atom:link href="https://schweda.net/blog_rss.php?bid=341" rel="self" type="application/rss+xml" />
<item>
<title><![CDATA[Fehlerhafte str2con Funktion unter AX 2009]]></title>
<description><![CDATA[
<p>Vor fast zwei Jahren habe ich schon einmal &uuml;ber die <a title="Fehlerhafte Funktion str2con" target="_self" href="http://www.schweda.net/blog.php?bid=157">Funktion/Methode str2con</a> und deren Unzul&auml;nglichkeiten in &auml;lteren Versionen von Dynamixs AX geschrieben. Leider musste ich vor kurzem feststellen, da&szlig; diese Funktion in AX 2009 auch nicht so zuverl&auml;ssig ist, wie ich sie mir w&uuml;nschen w&uuml;rde.
</p>

<p>Sind n&auml;mlich im zu zerteilenden String rein numerische Werte enthalten, die gr&ouml;&szlig;er oder gleich 2^31 (=2147483648) sind, kann AX diese Werte nicht mehr korrekt verarbeiten.
</p>

<p>Nachstehend ein Job, der dieses Fehlverhalten demonstriert:
</p>

<div class="div_blog_axcode"><span style="color: rgb(0,0,255)">static void</span> str2conBug(Args _args)<br />
{<br />
&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,255)">container</span>&nbsp;&nbsp; con;<br />
&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,255)">str</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; myStr;<br />
&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,255)">int</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i;<br />
&nbsp;&nbsp;&nbsp; ;<br />
<br />
&nbsp;&nbsp;&nbsp; myStr += <span style="color: rgb(255,0,0)">&quot;Dynamics&quot;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + <span style="color: rgb(255,0,0)">&quot;;&quot;</span>;<br />
&nbsp;&nbsp;&nbsp; myStr += <span style="color: rgb(255,0,0)">&quot;Ax 2009&quot;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + <span style="color: rgb(255,0,0)">&quot;;&quot;</span>;<br />
&nbsp;&nbsp;&nbsp; myStr += <span style="color: rgb(255,0,0)">&quot;str2con&quot;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + <span style="color: rgb(255,0,0)">&quot;;&quot;</span>;<br />
&nbsp;&nbsp;&nbsp; myStr += <span style="color: rgb(255,0,0)">&quot;does&quot;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + <span style="color: rgb(255,0,0)">&quot;;&quot;</span>;<br />
&nbsp;&nbsp;&nbsp; myStr += <span style="color: rgb(255,0,0)">&quot;not work with&quot;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + <span style="color: rgb(255,0,0)">&quot;;&quot;</span>;<br />
&nbsp;&nbsp;&nbsp; myStr += <span style="color: rgb(255,0,0)">&quot;numeric values greater&quot;</span>&nbsp;&nbsp; + <span style="color: rgb(255,0,0)">&quot;;&quot;</span>;<br />
&nbsp;&nbsp;&nbsp; myStr += <span style="color: rgb(255,0,0)">&quot;than&quot;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + <span style="color: rgb(255,0,0)">&quot;;&quot;</span>;<br />
&nbsp;&nbsp;&nbsp; myStr += <span style="color: rgb(255,0,0)">&quot;2 ^ 31.&quot;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + <span style="color: rgb(255,0,0)">&quot;;&quot;</span>;<br />
&nbsp;&nbsp;&nbsp; myStr += <span style="color: rgb(255,0,0)">&quot;Example:&quot;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + <span style="color: rgb(255,0,0)">&quot;;&quot;</span>;<br />
&nbsp;&nbsp;&nbsp; myStr += <span style="color: rgb(255,0,0)">&quot;2147483648&quot;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + <span style="color: rgb(255,0,0)">&quot;;&quot;</span>;&nbsp; <span style="color: rgb(0,102,0)">// does not work</span><br />
&nbsp;&nbsp;&nbsp; myStr += <span style="color: rgb(255,0,0)">&quot;(=2^31)&quot;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + <span style="color: rgb(255,0,0)">&quot;;&quot;</span>;<br />
&nbsp;&nbsp;&nbsp; myStr += <span style="color: rgb(255,0,0)">&quot; &quot;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + <span style="color: rgb(255,0,0)">&quot;;&quot;</span>;<br />
&nbsp;&nbsp;&nbsp; myStr += <span style="color: rgb(255,0,0)">&quot;Example:&quot;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + <span style="color: rgb(255,0,0)">&quot;;&quot;</span>;<br />
&nbsp;&nbsp;&nbsp; myStr += <span style="color: rgb(255,0,0)">&quot;5432167890&quot;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + <span style="color: rgb(255,0,0)">&quot;;&quot;</span>;&nbsp; <span style="color: rgb(0,102,0)">// does not work</span><br />
&nbsp;&nbsp;&nbsp; myStr += <span style="color: rgb(255,0,0)">&quot;(&gt;2^31)&quot;</span>;<br />
<br />
&nbsp;&nbsp;&nbsp; con = <span style="color: rgb(0,0,255)">str2con</span>(myStr, <span style="color: rgb(255,0,0)">&quot;;&quot;</span>);<br />
&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,255)">for</span>(i=1;i&lt;=<span style="color: rgb(0,0,255)">conLen</span>(con);i++)<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,255)">info</span>(conPeek(con, i));<br />
&nbsp;&nbsp;&nbsp; }<br />
}
</div>

<p>Mir blieb also nichts anderes &uuml;brig, als mir einen Ersatz f&uuml;r die Funktion <strong>str2con</strong> zu schreiben:
</p>
<br /><a class="div_blog_category_gotodetail" href="https://www.schweda.net/blog_ax.php?bid=341" target="_self" title="Weiterlesen...">Weiterlesen...</a>]]></description>
<category>Microsoft Dynamics AX (Axapta)</category>
<pubDate>Thu, 17 Sep 2009 17:36:00 +0200</pubDate>
<link>https://www.schweda.net/blog_ax.php?bid=341</link>
<comments>https://www.schweda.net/blog_ax.php?bid=341</comments>
<guid isPermaLink="true">https://www.schweda.net/blog_ax.php?bid=341</guid>
<author>heinz.schweda@schweda.net (Heinz Schweda)</author>
<wfw:commentRss>https://www.schweda.net/blog_ax.php?bid=341</wfw:commentRss>
</item>
</channel>
</rss>	
