Anlegen von Heuristiken mit eigenen Algorithmen Sie können selber Heuristikalgorithmen programmieren, in das SAP-APO-System einbinden und Heuristiken definieren. Auf diese Weise können Sie auf die Anforderungen Ihrer Planung spezifischer eingehen.
Achtung
Eigene Heuristiken stellen eine Erweiterung der SAP-Planungsprozesse dar. SAP weist darauf hin, dass schon geringfügige Änderungen oder Erweiterungen der Planungsprozesse zu unerwarteten Planungsergebnissen führen können. Daher führen Sie Änderungen und Erweiterungen auf eigenes Risiko durch. Für Mängel oder Störungen, welche auf Änderungen oder Erweiterungen der Software zurückzuführen sind, besteht keine Gewährleistung oder Haftung von SAP.
Achten Sie insbesondere in einer integrierten Systemlandschaft mit einem SAP-R/3-System darauf, ob die Änderungen an Planungsdaten und Aufträgen auch durch die CIF-Schnittstelle und durch SAP R/3 unterstützt werden. Standardmäßig sind z.B. Prüflose in SAP APO nicht änderbar. Entsprechend dürfen Sie Prüflose mit eigenen Heuristiken nicht ändern, anlegen oder löschen, denn SAP unterstützt die Übertragung dieser Änderungen von SAP APO nach SAP R/3 nicht .
Hinweis
Für einige Standardheuristiken stellt SAP BAdIs zur Verfügung, z.B. für die Beschaffungsplanungsheuristiken. Bevor Sie eine eigene Heuristik programmieren, prüfen Sie, ob Sie ein BAdI verwenden können. Weitere Informationen finden Sie im Einführungsleitfaden der
Produktions- und Feinplanung
(PP/DS) unter
Business Add-Ins für PP/DS
.
Kopieren Sie die Funktionsgruppe /SAPAPO/RRP_HEUR_TEMPLATE, und benennen Sie sie um. Diese Funktionsgruppe wird als Hauptprogramm für den Subscreen verwendet, in dem Sie die Einstellungen für die Heuristik pflegen. Sie gelangen auf ein Dialogfenster, in dem die zu kopierenden Funktionsbausteine aufgelistet sind. Kopieren Sie folgende Funktionsbausteine und benennen Sie sie um:
Funktionsbaustein für den Algorithmus /SAPAPO/HEU_TEMPLATE
Get-Funktionsbaustein /SAPAPO/HEU_TEMPLATE_DATAGET
Dieser Funktionsbaustein wird zum Lesen der Ausgabestruktur des Bildes verwendet.
Set-Funktionsbaustein /SAPAPO/HEU_TEMPLATE_DATASET
Dieser Funktionsbaustein wird zur Eingabe in die Ausgabestruktur des Bildes verwendet.
Legen Sie im ABAP Dictionary eine Ausgabestruktur für den Subscreen an. Als Vorlage können Sie die Struktur /SAPAPO/HEU_TEMPLATE_D1000_STR verwenden.
Ersetzen Sie den Namen der Vorlage-Ausgabestruktur an allen Stellen, an denen er in der Funktionsgruppe auftaucht, mit dem Namen Ihrer Ausgabestruktur, z.B. im
TOP-INCLUDE
Set-Funktionsbaustein
Get-Funktionsbaustein
Subscreen 1000
Verwenden Sie den Subscreen 1000 für die Pflege der Heuristikeinstellungen.
Die Struktur /SAPAPO/HEUR_SETTINGS enthält die Tabellen, in denen die Einstellungen für die Heuristiken auf der Datenbank gesichert werden. Verwenden Sie die vorhandenen Tabellen, oder legen Sie in der Tabellenstruktur /SAPAPO/HEURCUST Ihre eigene Include-Struktur an.
Modifizieren Sie die Funktionsbausteine, um sicherzustellen, dass die relevanten und in der Struktur /SAPAPO/HEUR_SETTINGS gesicherten Einstellungen in die entsprechenden Felder der Ausgabestruktur für den Subscreen übernommen werden.
Modifizieren Sie den Get-Funktionsbaustein, um sicherzustellen, dass die Felder der Ausgabestruktur in die entsprechenden Felder der Struktur /SAPAPO/HEUR_SETTINGS übernommen werden.
Programmieren Sie den Algorithmus-Funktionsbaustein.
Die Schnittstelle besteht aus Import- und Exportparametern.
Zu Importparametern gehören:
relevante Einstellungen /SAPAPO/HEUR_SETTINGS
Planversion: Stellen Sie sicher, dass diese Daten in den
live
Cache übertragen werden.
Simulationsversion: Stellen Sie sicher, dass diese Daten in den
live
Cache übertragen werden.
die Struktur /SAPAPO/HEUR_OBJECT_KEYS. Die Struktur enthält Tabellen mit Planungsobjekten (Ressourcen, Liniennetze, Produkte, Aufträge und Vorgänge)
Zu Exportparametern gehören:
(E_CHANGED_OBJECTS). Hierdurch werden Objekte im Hauptprogramm aktualisiert.
(E_OBJECT_KEYS). Wird bei der Hintergrundplanung zur Übertragung der Objekte von einem Verarbeitungsschritt in einen anderen verwendet.
Hinweis
Ein Beispiel dafür, wie Algorithmen programmiert werden, finden Sie im Algorithmus für die Standardheuristik
SAP001 Standardlosgrößenheuristik
.
Um die Heuristik in das SAP-APO-System zu integrieren, geben Sie in die Tabelle /SAPAPO/HEURFUNC folgende Objekte ein:
den Funktionsbaustein für den Planungsalgorithmus
die Funktionsgruppe
den Subscreen
den Set-Funktionsbaustein
den Get-Funktionsbaustein
Sie müssen in der Tabelle /SAPAPO/HEURFUNC auch festlegen,
wo die Heuristik ausgeführt werden kann, z.B. im Produktionsplanungslauf oder in der Feinplanungsplantafel
für welche Objekte sie ausgeführt werden kann, z.B. für Produkte oder für Ressourcen
ob die Heuristik eine Beschaffungsplanungsheuristik ist, die Sie im Lokationsproduktstamm als Produktheuristik eintragen können
Dies legen Sie mit dem Feld
PROD_HEUR
fest. Nach einem Planungslauf mit der Heuristik nimmt das System die Planungsvormerkung für ein Produkt nur dann zurück, wenn Sie die Heuristik in der Tabelle als Produktheuristik gekennzeichnet haben.
Legen Sie im Customizing der
Produktions- und Feinplanung
eine auf dem von Ihnen definierten Algorithmus basierende Heuristik an. Weitere Informationen zur Definition von Heuristiken finden Sie im Einführungsleitfaden der
Produktions- und Feinplanung (PP/DS)
.
Hinweis
Sie können für den Algorithmus eine Systemdokumentation anlegen und anbinden.
Um die Dokumentation anzulegen, legen Sie mit der Transaktion SE61 einen
Text im Dialog
an. Erfassen Sie den Text und aktivieren Sie ihn.
Um die Dokumentation an den Algorithmus anzubinden, gehen Sie nach dem SAP-Hinweis 613189 vor.
Um die Systemdokumentation aufzurufen, wählen Sie z.B. imCustomizing derProduktions- und Feinplanung (PP/DS)unter
Heuristiken pflegen
für die Heuristik
Information
.