Muster für angebotsanfrage

Manchmal lassen sich abstrakte Konzepte wie Designmuster am besten anhand eines Beispiels erklären. Wenn Sie die Möglichkeit hatten, mit einigen der webbasierten Technologien des AS ABAP wie BSPs, Web Dynpro usw. zu arbeiten, dann sind Sie wahrscheinlich etwas vertraut mit dem Internet Communication Framework (ICF). Das ICF ist ein objektorientiertes Framework, das die Interaktion mit dem Modul vereinfacht, das das Web in das SAP Web AS: den Internet Communication Manager (ICM) setzt. Wenn Sie Webanwendungen auf dem AS ABAP hosten, wird der Einstiegspunkt in diese Anwendungen in Form eines ICF-Dienstknotens realisiert. ICF-Dienstknoten definieren grundlegende Informationen zu einer Webanwendung, z. B. Den Anforderungspfad, Authentifizierungsdetails usw. Darüber hinaus können Sie mit ICF-Dienstknoten auch eine Handlerliste konfigurieren. Diese Handlerliste implementiert die Kernfunktionalität der Webanwendung, sodass Sie programmgesteuert auf HTTP-Anforderungen reagieren können. Wie ich bereits erwähnt habe, ist es manchmal sinnvoll, zuzulassen, dass eine Anforderung in der Kette fortgesetzt wird, damit andere Handlermodule die Anforderung weiter verarbeiten können.

Stellen Sie sich beispielsweise vor, dass Sie eine benutzerdefinierte Protokollierungsanforderung für jede eingehende BSP-Anforderung haben. Anstatt diese Protokollierungsanforderung in jeder BSP-Anwendung zu implementieren, können Sie hier ein Handlermodul vor dem CL_HTTP_EXT_BSP Handler in der Handlerliste einieren, damit Sie die Protokollierungsanforderung zentral implementieren können. In diesem Fall möchten Sie nicht, dass das benutzerdefinierte Modul an die Stelle des BSP-Handlers treten, sondern sie möchten nur einige Mehrwertfunktionen implementieren. Dieselben Konzepte gelten auch für SOAP-Toolkits, die möglicherweise spezielle SOAP-Headerverarbeitung usw. implementieren müssen. Die tägliche Erfassung und Erfassung von Kundenaufträgen im ERP-System ist die Grundlage der Verkaufsmusteranalyse. Zunächst kann ein kleinerer Zeitrahmen und weniger Kundenaufträge begrenzte oder verzerrte Daten liefern. Sobald jedoch wesentliche Daten im System aufgezeichnet werden, liefert es wiederkehrende Muster und interessante Enthüllungen über den Verkaufstrend. Im Folgenden finden Sie einige Beispiele für Die Entwicklung des Nachfrageverkaufs.

Der Bereich der SupplyRequest-Ressource dient zur Erfassung der Anforderung von Lieferungen, die im Gesundheitsprozess verwendet werden. Dazu gehören Lieferungen, die speziell für die Behandlung von Patienten verwendet werden, sowie Die Versorgungsbewegung innerhalb einer Einrichtung (Transport einer Reihe von Lieferungen von der Materialverwaltung zu einer Serviceeinheit (Krankenschwesterstation). Diese Ressource umfasst nicht die Bereitstellung von Transportdienstleistungen. Die Analyse des Verkaufsmusters erfordert historische Verkaufsdaten, die Nachverfolgung der aktuellen Umsatzprognose und die Bedarfserfassung. Externe Faktoren und Branchentrends und Treiber müssen ebenfalls berücksichtigt werden. Das folgende UML-Klassendiagramm zeigt, wie die IF_HTTP_EXTENSION-Schnittstelle definiert wird. Wie Sie sehen können, ist diese Schnittstelle ähnlich definiert wie die zuvor dargestellte Handlerschnittstelle. Hier können konkrete Unterklassen die richtige Anforderungsbehandlungsfunktionalität in der HANDLE_REQUEST()-Methode implementieren. Diese Methode hat Zugriff auf die Details der Anforderung sowie einen Verweis auf ein Objekt, das zum Generieren der entsprechenden Antwort verwendet werden kann. Darüber hinaus definiert die IF_HTTP_EXTENSION-Schnittstelle auch ein öffentliches Instanzattribut namens FLOW_RC. Dieses Attribut ermöglicht es einem Handlermodul, einen Rückgabecode an das umgebende ICF-Framework zurückzugeben. Basierend auf dem Wert dieses Rückgabecodes kann das Framework bestimmen, ob das nächste Handlermodul in der Handlerliste aufgerufen werden soll.

Where and When Chain of Responsibility Pattern ist anwendbar : Das Chain-of-Responsibility-Muster wird häufig verwendet, um verschiedene Arten von Anforderungen oder Ereignissen zu behandeln. Hier, wenn eine eingehende Anfrage empfangen wird, wissen wir möglicherweise nicht, wie wir sie behandeln sollen, bis wir die Details der Anfrage eingehend prüfen. Anstatt ein großes monolithisches Anforderungshandlermodul zu definieren, möchten wir die verschiedenen Handlerlösungen getrennt halten, damit sie unabhängig voneinander variieren können. Anschließend können wir die einzelnen Anforderungshandler in eine zusammengesetzte Lösung einweben, indem wir sie miteinander verketten.