Ansicht
Dokumentation
CL_IMC_MODE - Intermodus Kommunikation
General Material Data PERFORM Short ReferenceDiese Dokumentation steht unter dem Copyright der SAP AG.
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:
- 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.
- 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.
- 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.
-
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 )