<?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=462" rel="self" type="application/rss+xml" />
<item>
<title><![CDATA[AX 2012: LedgerDimension generieren]]></title>
<description><![CDATA[
<p>Die folgende Methode erstellt eine sog. LedgerDimension (EDT RecId) unter Verwendung des angebenen Hauptkontos und der angegebenen Finanzdimension.
</p>


<pre class="pre_blog_axcode">
static recid createLedgerDimensionRecId()
{
    AccountNum accountNum = &#39;60000&#39;;
    str 255 dimensionValue = &#39;300&#39;;
    Name DimensionName = &#39;Kostenstelle&#39;;
    
    MainAccount MainAccount;
    LedgerDimensionAccount LedgerDimensionAccount;
    DimensionAttributeValue DimensionAttributeValue;
    DimensionAttribute DimensionAttribute;
    dimensionAttributeValueSetStorage dimensionAttributeValueSetStorage;
    dimensionDefault dimensionDefault;
    
    DimensionAttribute = DimensionAttribute::findByName(DimensionName);
    if (dimensionValue)
    {
        DimensionAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValue(DimensionAttribute, dimensionValue, false, true);
        if (!DimensionAttributeValue)
        {
            throw error(strFmt(&quot;@SYS24602&quot;, &quot;@SYS13911&quot;, dimensionValue));
        }
    }    
    
    // Konto
    MainAccount = MainAccount::findByMainAccountId(accountNum);
    if(MainAccount)
    {
        LedgerDimensionAccount = DimensionDefaultingEngine::getLedgerDimensionFromAccountAndDim(
            MainAccount.RecId,
            DimensionHierarchy::getAccountStructure(MainAccount.RecId));

        if( !LedgerDimensionAccount)
        {
            throw error(&quot;LedgerDimensionAccount konnte nicht ermittelt werden.&quot;);
        }
    }
    // Konto und Dimension verbinden
    if (DimensionAttributeValue &amp;&amp; LedgerDimensionAccount)
    {
        dimensionAttributeValueSetStorage = new DimensionAttributeValueSetStorage();
        if(dimensionAttribute)
        {
            dimensionAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValue(dimensionAttribute, dimensionValue, false, true);
            dimensionAttributeValueSetStorage.addItem(dimensionAttributeValue);
        }
         
        dimensionDefault = dimensionAttributeValueSetStorage.save();
        
        LedgerDimensionAccount =
        DimensionDefaultingService::serviceCreateLedgerDimension(LedgerDimensionAccount, dimensionDefault);
    }
    
    return LedgerDimensionAccount;
}
</pre>




<p>Wichtig: Die Methode pr&uuml;ft nicht, ob es die Dimension gibt, d.h. werden ung&uuml;ltige Werte f&uuml;r DimensionName oder DimensionValue angegeben, bricht die Methode mir einer Fehlermeldung ab.
</p>]]></description>
<category>Microsoft Dynamics AX (Axapta)</category>
<pubDate>Wed, 12 Jun 2013 20:32:00 +0200</pubDate>
<link>https://www.schweda.net/blog_ax.php?bid=462</link>
<comments>https://www.schweda.net/blog_ax.php?bid=462</comments>
<guid isPermaLink="true">https://www.schweda.net/blog_ax.php?bid=462</guid>
<author>heinz.schweda@schweda.net (Heinz Schweda)</author>
<wfw:commentRss>https://www.schweda.net/blog_ax.php?bid=462</wfw:commentRss>
</item>
</channel>
</rss>	
