Fünf alltägliche SAP-Anforderungen, jede mit einer anderen ATLAS-Parameterform gelöst — Einzelwert, Bereich, Struktur, Tabelle und Langtext. Jede zeigt die Parameter-Einrichtung, den ABAP-Aufruf des Programms und den Wert, den das Framework zurückgibt.
Preisfindungs-Engine · Klasse ZCL_PCP2_RETAIL_PRICE
Das Preis-Team hat die Logik der Endpreisfindung mit einem neuen SQL-JOIN neu geschrieben, der dreimal schneller läuft als die alten sequenziellen Lesezugriffe. Beide Code-Pfade sind weiterhin im Build — der optimierte ist hinter einem einzigen Flag, sodass das Team ihn je Umgebung einschalten, die Kennzahlen beobachten und bei Problemen sofort zurückrollen kann.
Die alte Art: hartcodieren lv_use_join = 'X'. in ABAP und jedes Mal einen Transport anfordern, wenn man es ändern will. Oder eine weitere winzige Z_PRICE_FLAG -Tabelle bauen, an die sich in sechs Monaten niemand erinnert. Mit ATLAS wird das Flag zu einem Parameter — umschaltbar in ZATLAS in der PRD, kein Transport nötig.
PCP2 — Price Card
PERFORMANCE_CHANGE — Changes for Performance Improvement
DETERMINE_RETAIL_PRICE_JOIN_ON
SYST-FLAG · keine Kriterien
'X' → optimised path enabled in this environment
ZATLAS_EDIT, kein Transport nötig.
get_value liefert leer zurück, sodass der alte Code-Pfad der sichere Standard ist.
Ausgehendes IDoc · Funktionsbaustein Z_MYHUB_ARTICLE_OUT
MyHub schiebt Artikel-Stammdaten per ausgehendem IDoc an ein nachgelagertes Partnersystem. Der Partner verarbeitet nur vier Artikelarten (ZBEV, ZFOO, ZHHL,
ZHEA) — Weine, Frische, Non-Food-Eigenmarke und Saisonware müssen vor dem Senden herausgefiltert werden. Die Liste der erlaubten Arten ändert sich ein- bis zweimal im Jahr, während der Partner wächst.
Die alte Art: eine IF mtart NOT IN ( 'ZBEV' OR 'ZFOO' …)
-Kette im Code, oder eine weitere Z_ALLOWED_MTART -Tabelle. Mit ATLAS ist die erlaubte Liste ein Parameter vom Typ
Selection Options, der einen Select-Options-Bereich mit SIGN/OPTION/LOW/HIGH -Zeilen enthält — direkt in eine Standard-ABAP- RANGES -Tabelle einlesbar und in einer
IN clause.
ZMYHUB — MyHub Communication Portal
IDOC_ARTICLE_OUT — Outbound article IDoc
ALLOWED_MTART
MARA-MTART · keine Kriterien
| Sign | Option | Low | High |
|---|---|---|---|
| I | EQ | ZBEV | |
| I | EQ | ZFOO | |
| I | EQ | ZHHL | |
| I | EQ | ZHEA |
SIGN=I OPT=CP LOW=Z* hinzu, um jede Z-präfixierte Art zu erlauben, oder SIGN=E OPT=EQ LOW=ZSEAS um eine bestimmte Art aus einem breiteren Include auszuschließen — dieselbe Semantik wie eine Standard-ABAP-RANGES-Tabelle.
iv_raise_error is off,
get_range liefert „alles ausschließen“, sodass das IDoc sicher leer bleibt, statt den Partner zu überfluten.
Replikationsjob · Programm ZSYS_REPL_TO_CMI
Ein nächtlicher Hintergrundjob repliziert Stammdaten ins zentrale CMI-System. Er hat vier Stellschrauben: wie viele Datensätze je Paket gesendet werden, wie viele Wiederholungen bei Fehlern versucht werden, der RFC-Timeout in Sekunden und die E-Mail-Adresse, die bei dauerhaftem Fehlschlag gewarnt wird. Die richtigen Werte für DEV (kleine Pakete, gesprächiges Logging, Dev-Team-Postfach) sind ganz anders als PRD (große Pakete, knappes Logging, Rufbereitschaft).
Die alte Art: vier separate Z_* -Konstanten oder eine Z-Tabelle mit vier Spalten. Mit ATLAS sitzen die vier Stellschrauben in einer einzigen
flat structure -Parameter — geschlüsselt nach Umgebung (SY-SYSID) — sodass ein get_structure -Aufruf den ganzen Datensatz auf einmal zurückgibt.
SYSTEM — Global System Parameters
RFC_SYSTEMS — RFC Systems
TO_CMI_SETTINGS
SYSID
MAX_BATCH_SIZE (INT4) ·
RETRY_COUNT (INT2) ·
TIMEOUT_SEC (INT4) ·
NOTIFY_ON_ERROR (CHAR60)
| Feld | Wert |
|---|---|
| MAX_BATCH_SIZE | 10000 |
| RETRY_COUNT | 5 |
| TIMEOUT_SEC | 120 |
| NOTIFY_ON_ERROR | [email protected] |
DEV, TST, PRD) ist eine separate Zeile, geschlüsselt nach SYSID. Derselbe Aufruf aus verschiedenen Systemen liefert verschiedene Einstellungen.
ZATLAS. Kein Build, kein Testzyklus, kein Entwickler nötig.
Ausgehender IDoc-Mapper · Klasse ZCL_MYHUB_DOCTYPE_MAPPER
MyHub speaks ZSO1, ZSO2, ZRTN
intern — Kundenaufträge, Retouren, kostenlose Aufträge. Der nachgelagerte Partner erwartet ORD1000,
ORD2000, RET3000. Jeder ausgehende Beleg braucht die Übersetzung des internen Codes in den Partnercode, wobei das Mapping von Modulberatern änderbar ist, wenn sich der Partnervertrag weiterentwickelt.
Die alte Art: noch eine Z_DOCTYPE_MAP Z-Tabelle, die „irgendwo lebt“ und „jemandem gehört, wahrscheinlich“. Mit ATLAS ist das Mapping ein Parameter mit Kriterien (INTERNAL_DOCTYPE als Schlüssel) und einer Wertestruktur mit dem Partnercode plus optionalen Gültigkeitsdaten — lesbar in einem get_table -Aufruf, oder zeilenweise über
get_structure mit Kriterien.
ZMYHUB — MyHub Communication Portal
IDOC_OUTBOUND — Outbound IDoc Processing
DOCTYPE_MAPPING
INTERNAL_DOCTYPE · multi-row
EXTERNAL_DOCTYPE (CHAR10) ·
VALID_FROM (DATS) ·
VALID_TO (DATS)
| Internal (Key) | External | Valid From | Valid To |
|---|---|---|---|
| ZSO1 | ORD1000 | 2025-01-01 | 9999-12-31 |
| ZSO2 | ORD2000 | 2025-01-01 | 9999-12-31 |
| ZRTN | RET3000 | 2025-01-01 | 9999-12-31 |
| ZSO3 | ORD3000 | 2026-04-01 | 9999-12-31 |
get_table
um jede Zeile zu laden (gut, um alle Mappings für einen Batch-Lauf im Speicher zu halten), oder get_structure with a
VALUE #( internal_doctype = … ) -Schlüssel, um genau eine Zeile zu holen.
ZSO3 → ORD3000ergänzt, fügt ein Modulberater die Zeile in der PRD über
ZATLAS_EDIThinzu. Das nächste ausgehende IDoc greift es im nächsten Lauf auf.
Benachrichtigungs-Framework · Klasse ZCL_MYHUB_NOTIFY
Wenn MyHub einen neuen Geschäftspartner aufnimmt, geht eine automatische Willkommens-E-Mail hinaus — und sie muss in der bevorzugten Sprache des Partners ankommen. Der Wortlaut wird vom Marketing freigegeben und ändert sich ein paar Mal im Jahr (rechtliche Hinweise, Support-Telefonnummern, eine neue Onboarding-URL). Die Platzhalter — Partnername, Kontonummer, Logon-URL — werden zur Sendezeit von ABAP gefüllt.
Die alte Art: hartcodierte Zeichenketten in einer Klasse vergraben, oder eine Z-Tabelle mit einer CLOB-Spalte, die niemand anzufassen wagte. Mit ATLAS ist die Vorlage ein Long Text Parameter mit Kriterien
LANGU — eine Zeile je Sprache, voll editierbar in
ZATLAS mit dem Langtext-Editor, mehrsprachige Beschreibungen inklusive.
ZMYHUB — MyHub Communication Portal
NOTIFICATIONS — Outbound notifications
NEW_BP_WELCOME_MAIL
LANGU · ref. T002-SPRAS
Sehr geehrte Damen und Herren von &BP_NAME&, herzlich willkommen als neuer Geschäftspartner mit der Nummer &BP_NUMBER& in unserem Lieferantenportal. Bitte melden Sie sich unter &LOGON_URL& an, um Ihre Stammdaten zu vervollständigen. Bei Fragen wenden Sie sich bitte an [email protected]. Mit freundlichen Grüßen Ihr Demo-Team
LANGU references
T002-SPRAS, sodass die Pflege-Oberfläche eine echte Sprach-F4 bietet. EN, DE, FR, IT erhalten je einen eigenen Langtext-Eintrag.
Jedes Beispiel oben nutzte dieselbe Pfadsyntax, dieselbe
ZCL_ATLAS_SELECT Klasse, dieselbe Pflege-Oberfläche und denselben Verwendungsnachweis. Das Einzige, was sich änderte, war die Form des Werts — und ATLAS beherrscht alle fünf ab Werk.