Ansicht
Dokumentation

CL_IMC_MODE - Intermodus Kommunikation

CL_IMC_MODE - Intermodus Kommunikation

General Material Data   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Die Klasse CL_IMC_MODE stellt allgemeine Dienste im Rahmen der Inter- Modus-Kommunikation (IMC) zur Verfügung. Sie dient als Factory (Klassenmethode CREATE_MODE bzw. GET_PARENT_MODE) zur Erzeugung von Mode-Objekten, die eine Verbindung zu einem Modus repräsentieren.

Die Mode-Objekte stellen ihre Dienste, wie z.B. das Erzeugen von Objekten auf dem gleichen Applikationsserver über das öffentliche Interface IF_IMC_CHILD_MODE und IF_IMC_PARENT_MODE zur Verfügung.

Beziehungen

Ein Mode-Objekt hält intern Referenzen auf alle von ihm erzeugten Proxy-Objekte. Diese Verbindung ist allerdings nur für interne Zwecke wichtig und spielt für die Anwendungsprogrammierung keine Rolle, und die Objekt-Methoden dürfen nicht in der Anwendung benutzt werden.

Beispiel

Allgemeines Schema zum Aufruf einer Methode via IMC:

  1. Erzeugen eines Mode-Objektes.

DATA: MYMODE TYPE REF TO IF_IMC_CHILD_MODE. "Referenz zum Modus
DATA: ERROR_TEXT TYPE IMCTEXT, "Fehlerbehandlung
SUBRC LIKE SY-SUBRC.

CALL METHOD CL_IMC_MODE=>CREATE_MODE
IMPORTING MODE = MYMODE
EXCEPTIONS

IMC_CREATE_FAILED = 1

IMC_MODE_TYPE_NOT_SUPPORTED = 2.
IF SY-SUBRC <> 0.
WRITE: / 'Create Mode failed: ', SY-SUBRC.
"entsprechende Schritte zur Fehlerbehandlung
EXIT.
ENDIF.

  1. Ausführung der Transaktion.

CALL METHOD MYMODE->CALL
EXPORTING TCODE = 'MYTCODE'
EXCEPTIONS

IMC_MODE_NUMBER_EXCEEDED = 1

IMC_COMMUNICATION_FAILURE = 2

IMC_INVALID_STATUS = 3

IMC_MODE_ALREADY_EXISTS = 4

IMC_INVALID_TCODE = 5.
SUBRC = SY-SUBRC.
IF SUBRC <> 0.
IF SUBRC = 1. "IMC_COMMUNICATION_FAILURE
CALL METHOD L_MODE->GET_LAST_ERROR
IMPORTING MESSAGE = ERROR_TEXT.
WRITE: / 'Call Mode failed: ', ERROR_TEXT.
ELSE.
WRITE: / 'Call Mode failed: subrc = ', subrc.
ENDIF.
"entsprechende Schritte zur Fehlerbehandlung
EXIT.
ENDIF.

  1. Senden von Daten/Ereignsse an ein Mode-Objekt.

DATA: MYDATA TYPE STRING.
...
CALL METHOD MYMODE->SEND
EXPORTING DATA = MYDATA
EXCEPTIONS IMC_COMMUNICATION_FAILURE = 1
IMC_INVALID_STATUS = 2 IMC_MODE_NOT_EXISTS = 3.
SUBRC = SY-SUBRC.
IF SUBRC <> 0.
IF SUBRC = 1. "IMC_COMMUNICATION_FAILURE
CALL METHOD MYMODE->GET_LAST_ERROR
IMPORTING MESSAGE = ERROR_TEXT.
WRITE: / 'Send Mode failed: ', ERROR_TEXT.
ELSE.
WRITE: / 'Send Mode failed: subrc = ', subrc.
ENDIF.
"entsprechende Schritte zur Fehlerbehandlung
EXIT.
ENDIF.

  1. Entfernen eines Mode-Objektes.
    CALL METHOD MYMODE->CLOSE
    EXCEPTIONS IMC_COMMUNICATION_FAILURE = 1
    IMC_INVALID_STATUS = 2
    IMC_MODE_NOT_EXISTS = 3
    IMC_ACTION_NOT_SUPPORTED = 4.
    SUBRC = SY-SUBRC.
    IF SUBRC <> 0.
    IF SUBRC = 1. "IMC_CLOSE_FAILED
    CALL METHOD MYMODE->GET_LAST_ERROR
    IMPORTING MESSAGE = ERROR_TEXT.
    WRITE: / 'Close Mode failed: ', ERROR_TEXT.
    ELSE.
    WRITE: / 'Close Mode failed: subrc = ', subrc.
    ENDIF.
    "entsprechende Schritte zur Fehlerbehandlung
    EXIT.
    ENDIF.

Hinweise

Weiterführende Informationen






General Material Data   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4375 Date: 20240427 Time: 025843     sap01-206 ( 49 ms )