Ansicht
Dokumentation
CL_GOS_SERVICE - Publikation für generische Objektdienste
BAL_S_LOG - Application Log: Log header data ROGBILLS - Synchronize billing plansDiese Dokumentation steht unter dem Copyright der SAP AG.
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 )