SysOperation-Framework: Einfaches Klassenkonstrukt mit Dataprovider

Der nachstehende Code stellt ein einfaches Klassenkonstrukt für das SysOperation-Framework dar.

Datacontract

[DataContractAttribute]
public class TutorialSysOperationDataContract
{
    CustAccount custAccount;
}

 

[DataMemberAttribute]
public CustAccount parmCustAccount(CustAccount _custAccount = custAccount)
{
    custAccount = _custAccount;
    return custAccount;
}

 

Service

class TutorialSysOperationService extends SysOperationServiceBase
{
}

Die Methode runService() ist die eigentliche Service-Methode. Über das Attribute SysEntryPointAttribute steuern wir hier, daß keine weiteren Berechtigungsprüfungen notwendig sind.

[SysEntryPointAttribute(false)]
public void runService(TutorialSysOperationDataContract _dataContract)
{
    info("Done");
}

 

Controller

class TutorialSysOperationController extends SysOperationServiceController
{
}

In der new() verknüpfen wir den Controller mit der Service-Klasse.

void new()
{
    super();

    this.parmClassName(classStr(TutorialSysOperationService));
    this.parmMethodName(methodStr(TutorialSysOperationService, runService));
}

Die main() ist der klassische Einstiegspunkt, wenn der Controller über ein MenuItem aufgerufen wird.
Im Beispiel befüllen wir an dieser Stelle den DataContract mit einem fixen Wert. Hier würde man beispielsweise über das Args-Objekt den Aufrufer ermitteln und dementsprechend den DataContract befüllen.

public static void main(Args _args)
{
    TutorialSysOperationController controller;
    TutorialSysOperationDataContract dataContract;

    controller = new TutorialSysOperationController();
    controller.parmArgs(_args);

    controller.parmExecutionMode(SysOperationExecutionMode::Synchronous);

    // DataContract
    dataContract = controller.getDataContractObject();
    if(dataContract is TutorialSysOperationDataContract)
    {
        dataContract.parmCustAccount("10001");    
    }
    
    controller.startOperation();
}
Dieser Beitrag bezieht sich auf die Version:
Dynamics AX 2012

Kommentar hinzufügen
 
 

 

 
 
 
Beiträge des aktuellen Monats
April 2024
MoDiMiDoFrSaSo
1234567
891011121314
15161718192021
22232425262728
2930 
 
© 2006-2024 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