2017-12-13 8 views
0

Ich implementiere SAPUI5 (Fiori like) Anwendung, die mehrere CREATE-Operationen in einem Batch aufruft. Jetzt habe ich gerade Methoden/IWBEP/IF_MGW_APPL_SRV_RUNTIME ~ CHANGESET_BEGIN/END neu definiert und die richtige Methode wird mehrmals aufgerufen. Es funktioniert gut, wenn keine Fehler vorliegen.OData Exceptions mit Batch-Modus behandeln

Wie sollte ich Geschäftsausnahme in CREATE_ENTITY-Methode werfen, um Nachricht an ForntEnd-Ebene zu erhalten? In der Konsole kann ich nur sehen:

<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"> 
    <code>005056A509B11ED1B9BF9F46AA8E82ED</code> 
    <message xml:lang="en">In the context of Data Services an unknown internal server error occured</message> 
</error> 

Wie geht das?

+0

[überprüfen Sie diesen Beitrag] (https://stackoverflow.com/q/42441931/4733867) – santhosh

Antwort

0

Ich löste mich selbst.

  1. Neudefinition/IWBEP/IF_MGW_APPL_SRV_RUNTIME ~ CHANGESET_BEGIN und nicht beliebigen Code implementieren. Dadurch können mehrere Operationen (z. B. _CREATE_ENTITY) in einer Charge aufgerufen werden.

  2. Implementieren Sie _CREATE_ENTITY entsprechend, führen Sie die erforderlichen Prüfungen durch und bereiten Sie die zu verarbeitenden Daten vor (Erstellen/Aktualisieren), verwenden Sie in diesen Methoden nicht COMMIT.

  3. Redefinieren/IWBEP/IF_MGW_APPL_SRV_RUNTIME ~ CHANGESET_END und alle erforderlichen BAPIs oder SQL INSERT/UPDATE-Anweisungen aufrufen. Im Falle eines Fehlers throw/IWBEP/CX_MGW_BUSI_EXCEPTION - wird es richtig auf Front-End behandelt. COMMIT wird automatisch aufgerufen.