Willkommen auf schweda.net | EN | DE
 
 
 
 
 

Das Beispiel listet beispielsweise nur aktive Stücklistenpositionen (Tabelle BOM) auf (aktiv über die Felder FromDate und ToDate). Lässt man den zweiten Parameter des Makros leer (dateNull()), so werden alle Stücklistenpositionen gelistet.

static void useMacroInSelectStatement(Args _args)
{
    bom bom;
    date emptyDate;
   
    // parameters: %1 = table instance, %2 date, %3 empty date value
    #localmacro.bomDateFilter
        && ( %2 == dateNull() || (
            ((%1.FromDate <= %2) && (%1.ToDate >= %2)) ||
            ((%1.FromDate == %3) && (%1.ToDate == %3)) ||
            ((%1.FromDate <= %2) && (%1.ToDate == %3)) ||
            ((%1.FromDate == %3) && (%1.ToDate >= %2))
            ))
    #endMacro
    ;
   
    while select bom
    where bom.ItemId == '123'
    #bomDateFilter(bom, systemDateGet(), emptyDate)
    {
        info(bom.bomid);
    }
}

 

Dieser Beitrag bezieht sich auf die Version:
Axapta 2.5, Axapta 3.0, Dynamics AX 4.0, Dynamics AX 2009, Dynamics AX 2012

anonymous 26.01.2014 09:13 | #1

Servus Heinz, das geht auch ohne macro, mit (!fromDate || bom.fromDate == fromDate)
lg

Heinz Schweda 14.02.2014 17:37 | #2

@ anonymous
Mir ging es in meinem Beitrag prinzipiell darum, daß man und wie man Makros als Teil eines SELECT-Statements verwenden kann. Wenn jemand mein Code-Beispiel 1:1 verwenden kann, dann wäre das schön, aber wohl reiner Zufall.
Nichts desto trotz vermisse ich in dem Code-Fragment von Dir etwas, derzeit würde es doch nur Datensätze liefern wo entweder kein FromDate oder ein ganz bestimmtes Fromdate eingetragen ist, oder?

Kommentar hinzufügen

 

 
Kategorien / Themen
Feeds
RSS RSS-Feed
RSS RSS-Feed (Kommentare)
RSS RSS-Feed (Kategorie)
Atom Atom-Feed
 
 
Beiträge des aktuellen Monats
August 2017
MoDiMiDoFrSaSo
 123456
78910111213
14151617181920
21222324252627
28293031 
 
 
© 2006-2016 Heinz Schweda | Impressum | Kontakt | English version (BETA) | 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