Ansicht
Dokumentation

CL_GOS_SERVICE - Publikation für generische Objektdienste

CL_GOS_SERVICE - Publikation für generische Objektdienste

BAL_S_LOG - Application Log: Log header data   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

CL_GOS_SERVICE ist eine abstrakte Klasse, von der alle Dienste abgeleitet werden, die Teil der generischen Objektdienste sind.

Um den generischen Objektdiensten einen eigenen Dienst hinzuzufügen, müssen Sie diesen als Methode EXECUTE in einer Unterklasse der Klasse CL_GOS_SERVICE kapseln.

Redefinition der Methode EXECUTE

Für Ihren Dienst müssen Sie die Instanzmethode EXECUTE redefinieren. In der Methode können Sie auf das Attribut GS_OBJECT zugreifen, das die BOR-Referenz des publizierten Objekts enthält. Die Methode EXECUTE und alle von ihr gerufenen Methoden oder Funktionsbausteine dürfen kein COMMIT WORK setzen. Stattdessen muß das Ereignis COMMIT_REQUIRED ausgelöst werden. Ist dies nicht möglich, muß in der Methode ein Funktionsbaustein per RFC aufgerufen werden, damit ein neuer Rollbereich geöffnet wird.

Statusabfrage

Bei der Instanzierung des Dienstes wird die Methode CHECK_STATUS aufgerufen. Die Methode prüft, ob der Dienst für das publizierte BOR-Objekt ausgeführt werden kann. Der Parameter EP_STATUS erhält dabei den Wert MP_STATUS_ACTIVE, MP_STATUS_INACTIVE oder MP_STATUS_INVISIBLE. Eine Statusänderung zu einem späteren Zeitpunkt kann dem Framework der generischen Objektdienste durch das Ereignis SERVICE_CHANGED mitgeteilt werden.

Ereignisbehandlermethoden

Wenn auf den erfolgreichen Abschluß eines anderen Dienstes reagiert werden soll, muß die Ereignisbehandlermethode ON_SERVICE_SUCCEEDED

redefiniert werden und der Ereignisbehandler für das Ereignis SERVICE_SUCCEDED des anderen Dienstes registriert werden.

Beim Abbruch eines Dienstes wird die Ereignisbehandlermethode ON_SERVICE_CANCELED aufgerufen. In dieser Methode können Referenzen gelöscht und Controls freigegeben werden.

Beziehungen

Klasse den generischen Objektdiensten hinzufügen

Anschließend müssen Sie ihre Klasse in die Tabelle SGOSATTR eintragen. Verwenden Sie dazu die Tabellensicht-Pflege (SM30). Tragen Sie dort den Klassennamen in das Feld Name des Dienstes ein, und geben Sie die Attribute zu dem Dienst an (z.B. Beschreibung und Ikone).

Weitere Anforderungen unterstützen

Die Dienste können eines oder mehrere der folgenden Interfaces implementieren:

  • IF_GOS_SERVICE_MULTIPLE
  • IF_GOS_SERVICE_TOOLS
  • IF_GOS_SERVICE_ON_CREATE

Beispiel

Hinweise

Weiterführende Informationen

Einen Überblick über die generischen Objektdienste finden Sie in der SAP-Bibliothek unter Basis -→ Basis-Services -→ Business Workplace und Services -→ Generic Business Tools für Anwendungsentwickler -→ Generische Objektdienste (BC-SRV-GBT).






Vendor Master (General Section)   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 3281 Date: 20240328 Time: 184453     sap01-206 ( 67 ms )