Ergänzung/Änderung von Abrufen im SAP-ERP über SAP-SRM 5.0

Beschreibung

Für ein Unternehmen im Versorgungsbereich wurde der Bestellungsprozess erweitert. Dem Anforderer wird im SAP SRM 5.0 eine Möglichkeit geboten, die über SAP SRM erzeugten Bestellungen und Reservierungen im Nachgang anzupassen. Dazu kann der Benutzer einen Einkaufswagen im SRM anlegen, der nach Genehmigung und Übertragung ins ERP keinen neuen Folgebeleg im Backend erzeugt, sondern den bereits bestehenden Beleg ändert sowie erweitert. Der Prozess wird nur für Bestellungen aus bestimmten Katalogen zugelassen. Dafür wurde eine neue Kundentabelle angelegt, in der die gewünschten Katalog-IDs gepflegt werden können. Der Einkaufswagen für die nachträgliche Anpassung wird als Kopie des alten Einkaufswagens mit der Referenz auf den gewünschten Folgebeleg erstellt. Der Besteller macht die gewünschten Anpassungen und bestellt den Einkaufswagen. Dabei sind folgende Änderungen möglich:
Nach der Genehmigung wird beim Transfer des Einkaufswagens der Folgebeleg entsprechend angepasst.

Die Einkaufswagen aus der Liste „Alte Einkaufswagen und Vorlagen“ werden ausschließlich für den Bestelländerungsprozess verwendet. Der entsprechende Link zur Auswahl von „Alten Einkaufswagen und Vorlagen“ wird nur für bestimmte Benutzer eingeblendet. In der Implementierung des BAdI BBP_SC_MODIFY_UI wird berücksichtigt, ob der Besteller aus den zugelassenen Katalogen bestellen darf (Lesen der PPOMA Attribute vom Besteller und Abgleich mit den Einträgen in der neuen Kundentabelle). Bei der Suche nach den alten Einkaufswagen wird die Ergebnisliste gefiltert, so dass nur die Einkaufswagen mit Positionen aus den zugelassenen Katalogen angezeigt. Die Einkaufswagen aus der Liste „Alte Einkaufswagen und Vorlagen“ werden ausschließlich für den Bestelländerungsprozess verwendet. Der entsprechende Link zur Auswahl von „Alten Einkaufswagen und Vorlagen“ wird nur für bestimmte Benutzer eingeblendet. In der Implementierung des BAdI BBP_SC_MODIFY_UI wird berücksichtigt, ob der Besteller aus den zugelassenen Katalogen bestellen darf (Lesen der PPOMA Attribute vom Besteller und Abgleich mit den Einträgen in der neuen Kundentabelle). Bei der Suche nach den alten Einkaufswagen wird die Ergebnisliste gefiltert, so dass nur die Einkaufswagen mit Positionen aus den zugelassenen Katalogen angezeigt werden und für die bereits ein Folgebeleg im Backend existiert (BAdI BBP_WF_LIST). Die zugelassenen Änderungen werden über die Implementierung des BAdI BBP_DOC_CHECK_BADI überwacht. Während des Transfers wird geprüft, ob es sich um den Einkaufswagen für die nachträgliche Anpassung der Backend Objekte handelt. In diesem Fall werden anstatt der BAPI Funktionsbausteine zur Anlage der Backendbelege die BAPI Funktionsbausteine zur Änderung der Bestellung bzw. Reservierung (BAPI_PO_CHANGE, BAPI_RESERVATION_CHANGE) aufgerufen.werden und für die bereits ein Folgebeleg im Backend existiert (BAdI BBP_WF_LIST). Die zugelassenen Änderungen werden über die Implementierung des BAdI BBP_DOC_CHECK_BADI überwacht. Während des Transfers wird geprüft, ob es sich um den Einkaufswagen für die nachträgliche Anpassung der Backend Objekte handelt. In diesem Fall werden anstatt der BAPI Funktionsbausteine zur Anlage der Backendbelege die BAPI Funktionsbausteine zur Änderung der Bestellung bzw. Reservierung (BAPI_PO_CHANGE, BAPI_RESERVATION_CHANGE) aufgerufen.

Technologie

Die Umsetzung der Anforderung erfolgte über folgende Komponenten:

Komponente Beschreibung
BBP_SC_MODIFY_UI Einblendung des Links "Alte Einkaufswagen und Vorlagen".
BBP_WF_LIST EKW filtern die Positionen aus den zugelassenen Katalogen enthalten und bereits für die die folgebelege im Backend angelegt wurden.
BBP_CUF_BADI_2 Steuerung der Sichtbarkeit/Änderbarkeit der Kundenfelder.
Erweiterungen an Subroutinen SC_ITM_COPY_TO_BASKET (LBBP_SC_APPF45), GET_SC_ITEM_DETAILS_FOR_COPY (Include LBBP_SC_APPF56) Kundenfeldern für Quelle-EKW und entsprechenden Folgebeleg im Backend befüllen.
BBP_DOC_CHECK_BADI Check der Menge, der zum Löschen vorgemerkten Positionen (Berücksichtigung der bereits erhaltenen Waren).
BBP_WFL_SECUR_BADI Im Fall, dass während der Genehmigung die neuen Wareneingänge verbucht werden und die Menge angepasst werden muss, werden dem Genehmiger Änderungsrechte zugewiesen.
Eigene Adapter-Klassen zur Änderung der Folgebelege Zur Änderung der Folgebelege wurden am Beispiel der Klassen CL_BBP_BS_ADAPTER_PO_CRT_ERP10 und CL_BBP_BS_ADAPTER_RS_CRT_ERP10 eigene Adapterklassen angelegt, welche die BAPI Funktionsbausteine BAPI_PO_CHANGE, BAPI_RESERVATION_CHANGE aufrufen.
BBP_DOC_CHECK_BADI Check der Menge, der zum Löschen vorgemerkten Positionen (Berücksichtigung der bereits erhaltenen Waren).
Erweiterung des FB META_SC_BE_CRT Zum Aufruf einer der Adapter-Klassen war eine Eintragung in die Tabelle BBP_FUNCTION_MAP notwendig.