Dynamics AX Blog - axinventtable - Microsoft Dynamics AX (Axapta)

Momentan angezeigt werden nur Einträge der Kategorie »Microsoft Dynamics AX (Axapta)« Filter entfernen

In den letzten Jahren, in denen ich mich fast hauptsächlich mit der Entwicklung im Umfeld von Microsoft Dynamics AX (vormals Axapta) beschäftigt habe, ist das eine oder andere Code-Fragment entstanden, von dem ich mir vorstellen könnte, daß es auch für andere AX-Entwickler ganz nützlich sein könnte. Aber auch Tips und Tricks zu dem mächtigen ERP-System werde ich in dieser Kategorie präsentieren.

RSS-Feed dieser Kategorie
Momentan angezeigt werden nur Einträge, bei denen das Schlagwort »axinventtable« eingetragen wurde. Filter entfernen

AxInventTable: Artikel per Code anlegen in Dynamics AX 2009

Um einen Artikel in Dynamics AX 2009 anzulegen kann man sich - wie schon in früheren Versionen - der Klasse axInventTable bedienen. Dies Klasse hat den grossen Vorteil, daß sie sich auch um jene Tabellen kümmert, die neben der inventTable befüllt werden müssen, also die drei Datensätze in der inventTableModule und jenen in der InventItemLocation, sodaß der Artikel sofort in der Form InventTable aufscheint.

static void createItemUsingAxInventTable(Args _args)
{
    axInventTable axInventTable;
    ;
    axInventTable = axInventTable::construct();
    axInventTable.parmItemId('NewItemId');
    axInventTable.save();
}

Etwas sollte man bei Verwendung der Klasse allerdings berücksichtigen: Obiger Job erstellt den Artikel, ohne eventuelle Pflichtfelder wie z.B. die Artikelgruppe zu befüllen. Das aber auch nur, wenn es keine Datensatzvorlage vom Typ Unternehmensvorlage gibt. Gibt es eine solche Standardvorlage für den Artikelstamm, so nutzt AX diese!

 


 
 
 

AxInventTable: Artikel per Code anlegen

Sowohl unter AX3 als auch AX4 gibt es die Klasse AxInventTable, mit der sich ganz einfach per Code Artikel anlegen lassen. Leider ist die Klasse in der 3er-Version noch nicht ganz so programmiererfreundlich, deshalb also anbei zwei Code-Beispiele wie diese Klasse in den beiden AX-Version genutzt werden kann.

Artikel per Code anlegen unter AX4...

static void CreateItemAX4(Args _args)
{
    axInventTable   axInventTable;
    ;
    
    axInventTable = new axInventTable();

    // Pflichtfeldverprüfung aktivieren
    axInventTable.validateInput(true);  

    // Werte setzen
    axInventTable.parmItemId        ('DL-100-D4');
    axInventTable.parmItemName      ('Deckenlampe - Silber');
    axInventTable.parmItemGroupId   ('Lampen');
    axInventTable.parmModelGroupId  ('DEF');
    axInventTable.parmDimGroupId    ('Std-Dim');

    // Datensatz speichern
    axInventTable.save();
} 

...und AX3

static void CreateItemAX3(Args _args)
{
    axInventTable   axInventTable;
    sysDictTable    sysDictTable = new sysDictTable(tableNum(InventTable));
    int             field;
    boolean         validateField = false;
    ;

    axInventTable = new axInventTable();

    // Werte setzen
    axInventTable.itemId        ('DL-100-D3');
    axInventTable.ItemName      ('Deckenlampe - Silber');
    axInventTable.ItemGroupId   ('Lampen');
    axInventTable.ModelGroupId  ('DEF');
    axInventTable.DimGroupId    ('Std-Dim');

    // Prüfung der einzelnen Felder
    for(field = 1; field <= sysDictTable.fieldCnt(); field++)
    {
        validateField = axInventTable.inventTable().validateField(field);
    }

    // Datensatz speichern
    if(axInventTable.inventTable().validateWrite() && validateField)
    {
        axInventTable.save();
    }
}

 
 
 

 

 
 
 
Beiträge des aktuellen Monats
Oktober 2019
MoDiMiDoFrSaSo
 123456
78910111213
14151617181920
21222324252627
28293031 
 
© 2006-2019 Heinz Schweda | Impressum | Kontakt | English version | Mobile Version
Diese Webseite verwendet Cookies, um Benutzern einen besseren Service anzubieten. Wenn Sie weiterhin auf der Seite bleiben, stimmen Sie der Verwendung von Cookies zu.  Mehr dazu