ICM Server-Clipboard 
Das ICM Server-Clipboard ist ein Service, der dem temporären Ablegen von Daten-BLOBs (binary large objects) dient. Werden diese dann in einem HTTP-Request angefordert, können sie sehr schnell bereitgestellt werden.
Zusätzlich zu dem ICM Server-Cache steht im ICM das Server-Clipboard zur Verfügung. Die Daten-BLOBs, die im ICM Server-Clipboard abgelegt werden, sind mit einem Schlüssel versehen, um späteres Retrieval in Folge-Requests zu ermöglichen. Es wird dieselbe Technik verwendet wie im ICM Server-Cache, um performanten Zugriff zu gewährleisten.
Wenn Sie im Rahmen Ihrer Internet-Anwendung Objekte in das ICM Server-Clipboard legen möchten, können Sie hierzu die Methode SERVER_CACHE_UPLOAD der Klasse CL_HTTP_SERVER verwenden. Diese wird im folgenden beschrieben.
Achtung
Das ICM Server-Clipboard dient nur zur temporären Ablage von Objekten! Es kann nicht davon ausgegangen werden, dass die Objekte zu einem viel späteren Zeitpunkt noch zur Verfügung stehen!
Der HTTP-Request-Handler, der diese Funktionalität verwenden will, erzeugt für jedes in die Ausgabeseite einzubettende BLOB (z.B. GIF-Images) ein temporäres Response-Objekt. Hierzu wird zunächst mit Hilfe des Klassen-Konstruktors ein leeres Response-Objekt angelegt, welches anschließend mit Standard-Methoden der Klasse Cl_HTTP_ENTITY wie APPEND_DATA() etc. mit Inhalt gefüllt wird. Auf diese Weise können auch zusätzliche Attribute wie Cache-Verweildauer, Kompression etc. mit den bekannten Methoden (SERVER_CACHE_EXPIRES, SET_COMPRESSION etc.) gesetzt werden.
Anschließend können die auf diese Weise erzeugten Objekte mittels SERVER_CACHE_UPLOAD unter einer eindeutig zu vergebenden URL in das Server Clipboard hochgeladen werden. Gleichzeitig werden in der aktuellen Ausgabeseite Links auf die beim jeweiligen Aufruf von SERVER_CACHE_UPLOAD vergebenen URLs in den HTML-Datenstrom serialisiert. Die Methode SERVER_CACHE_UPLOAD hat die folgenden Import-Parameter:
URL: die URL, unter der das BLOB in den ICM Server-Cache eingelagert wird.
Response: Referenz auf das Response-Objekt
Scope: gibt an, ob die Daten nur lokal in den Cache des dem aktuellen SAP NetWeaver AS vorgeschalteten ICM eingelagert werden sollen, oder global in die Caches aller zum System gehörender ICMs. Der Default ist lokal.
Somit werden die in der Folge vom HTTP-Client (Browser) generierten Anfragen auf die in dieser Seite eingebetteten Objekte aus dem ICM Server-Clipboard befriedigt.
Technisch wird der ICM Server-Cache verwendet. Ist ein Objekt in das ICM Server-Clipboard eingelagert, befindet es sich in einem speziellen Teil des ICM Server-Caches. Im Gegensatz zu normalen Cache-Einträgen muss gewährleistet sein, dass das Objekt im Clipboard gefunden wird. Es kann bei einem Cache-Fehlzugriff (cache miss) nicht von dem Server geholt werden.
Eine Anwendung enthält eine personalisierte Seite, die sehr viele speicherintensive Grafiken enthält. Diese soll nach dem Anmelden gezeigt werden, ohne dass sie lange aufgebaut wird. Dann muss die Anwendung so programmiert sein, dass bevor die Seite generiert werden soll, die Daten in das ICM Server-Clipboard eingelagert wurden.
Eine Beispiel-Anwendung besteht im Einbetten von XML/XSL-Dokumenten. Diese Funktion wird nicht von allen Browsern direkt unterstützt.