Ansicht
Dokumentation

/SAPAPO/OM_SNP_ORDER_GET - Auftragsselektion über diverse Einschränkungen

/SAPAPO/OM_SNP_ORDER_GET - Auftragsselektion über diverse Einschränkungen

SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Weiterführende Informationen

Arbeiten mit dem liveCache

Funktionalität

Ermittelt SNP-spezifische Auftragsdaten (Toporders) zu den angegebenen Pegareas und Kategorien aus dem liveCache. Es werden diejenigen Aufträge ausgewählt, die zuden Selektions- und Filterparametern passende I/O-Knoten besitzen.

Der SNP_ORDER_GET ist ein für besondere Anforderungen der SNP-Anwendung maßgeschneiderter liveCache-Baustein. Wenn Sie allgemeine Auftragsdaten anhand von Pegareas und Kategorien bestimmen wollen, sollten Sie in der Regel den Funktionsbaustein OM_PEG_CAT_GET_ORDERS verwenden.

Selektionstabellen

Die Importtabellen

Tabellenname Beschreibung
IT_PEGAREA_FROM Pegarea der Input-Knoten
IT_PEGAREA_TO Pegarea der Output-Knoten
IT_CATEGORY_FROM Kategorie der Input-Knoten
IT_CATEGORY_TO Kategorie der Output-Knoten

dienen der Selektion der I/O-Knoten, zu denen die SNP-Auftragsdaten ermittelt werden sollen.

Während mehrere Einträge in derselben Tabelle mit einer ODER-Logik verknüpft werden, werden die Selektionstabellen selbst mit einer UND-Logik verknüpft. Damit ein Auftrag die Auswahlbedingungen erfüllt, muß er also mindestens einen Input-Knoten in einer Pegarea aus IT_PEGAREA_FROM und einer Kategorie aus IT_CATEGORY_FROM sowie einen Output-Knoten in einer Pegarea aus IT_PEGAREA_TO und einer Kategorie aus IT_CATEGORY_TO besitzen. Leere Selektionstabellen gelten als Joker.

Im Gegensatz zu den Feldern, nach denen die Auswahl I/O-Knoten mittels der Filterparameter (s.u.) zusätzlich eingeschränkt werden kann, sind Pegarea und Kategorie Schlüsselfelder, nach denen die Knoten im liveCache sortiert sind. Deshalb sollte möglichst immer eine der vier Selektionstabellen gefüllt werden. Andernfalls muß auf alle I/O-Knoten im liveCache zugegriffen werden, was einen erheblichen Zeit- und Rechenaufwand mit sich bringt.

Filterparameter

Die restlichen Importparameter erlauben es, die selektierten I/O-Knoten bzw. deren Aufträge nach weiteren Datenfeldern zu filtern. Im Gegensatz zu den Selektionsparametern haben diese Filterparameter jedoch keine nennenswerten Auswirkungen auf die Performance des Bausteins.

Für die UND- bzw. ODER-Logik gilt dieselbe Regel wie bei den Selektionstabellen.

Folgende Importtabellen filtern nach den entsprechendenDatenfelder der I/O-Knoten:

Tabellenname Filtert nach Feld am I/O-Knoten
IT_EXT_FIXED Externes Fixierungskennzeichen
IT_SHLF_INTERVAL Shelf Life (SHLF_MIN, SHLF_MAX)

Folgende Importtabellen filtern nach den entsprechenden Datenfeldern der Aufträge:

Tabellenname Filtert nach Feld am Auftrag
IT_TTYPE Transportmittel
IT_ORDER_TYPE Auftragstyp
IT_ORDER_EXCLUDE Aufträge mit diesen GUIDs werden exkludiert
IT_ORDER_STATUS Auftragsstatus
IT_SUBST_TRPID Transport Lane ID
IT_SNP_BLOCK_NR SNP-Blocknummer
IT_SNPGROUPATTR SNP-Gruppenattribute

Folgende Importtabellen filtern Datenfelder der ORDKEY-Struktur:

Tabellenname Filter nach ORDKEY-Feld
IT_PROID TRPID

Filterung von Aufträgen nach Aktivitäten und I/O-Knoten

Mittels der Importtabelle IT_IO_ACT_TI können die selektierten Aufträge danach gefiltert werden, ob sie Aktivitäten oder I/O-Knoten mit bestimmten Eigenschaften besitzen.

Mit einer Tabellenzeile dieser Importtabelle können Filterkriterien für Aktivitäten oder I/O-Knoten spezifiziert werden oder auch für beide zusammen. Die Filterkriterien einer Tabellenzeile sind UND-verknüpft.

Durch das Hinzufügen mehrerer Datensätze in die IT_IO_ACT_TI können weitere alternative Filterkriterien hinzugefügt werden. Die durch die verschiedenen Tabellenzeilen definierten Filter werden mit ODER verknüpft.

Die Verwendung der Importtabelle IT_IO_ACT_TI wirkt sich generell nachteilig auf die Performance aus und sollte daher möglichst vermieden werden.

Bedeutung der Felder der Filterstruktur

Die beiden grundlegenden Schalter USE_IO und USE_ACT geben an, ob die Struktur zum Filtern nach I/O-Knoten und/oder Aktivitäten verwendet werden soll. Sie können einzeln oder auch beide eingeschaltet werden (gc_true).

Unabhängig von der Stellung der Schalter, werden die beiden Felder PEGID_FROM und PEGID_TO immer ausgewertet, sofern sie mit einer nicht-initialen GUID gefüllt sind.

  • Wenn PEGID_FROM gefüllt ist, muß der Auftrag einen Inputknoten in der angegebenen Pegarea besitzen
  • Wenn PEGID_TO gefüllt ist, muß der Auftrag einen Outputknoten in der angegeben Pegarea besitzen.

Wenn der Schalter USE_IO gesetzt ist, muß der Auftrag einen I/O-Knoten besitzen, dessen Typ zum Selektionskriterium IO_SEL paßt und der im durch START_TIME und END_TIME definierten Zeitintervall liegt.

Wenn der Schalter USE_ACT gesetzt ist, muß der Auftrag eine Aktivität besitzen, deren Typ zum Selektionskriterium ACTIVITY_TYPE paßt und die im durch START_TIME und END_TIME definierten Zeitintervall liegt.

Das Zeitintervall wird damit sowohl für I/O-Knoten auch als für Aktivitäten verwendet. Die Komponente INTERVAL_REF gibt an, ob eine passende Aktivität oder ein passender I/O-Knoten vollständig in dem Intervall liegen muß oder ob es ausreicht, wenn der Start- oder Endzeitpunkt in dem vorgegebenen Zeitintervall liegt.

Weitere Importparameter

Der Umfang der vom SNP_ORDER_GET ermittelten Daten wird von zwei weiteren Importparametern bestimmt:

  • IV_SNP_GROUP_SEL: Wird dieser Schalter aktiviert, werden nicht nur die Auftragsdaten der selektierten Aufträge zurückgeliefert, sondern auch die Daten der Aufträge mit der selben SNP-Gruppenkennung (SNP_GROUPID).
  • IV_BOMID_SEL: Bestimmt, ob die Exporttabelle ET_BOMID gefüllt wird.

Exporttabellen

Für jeden Auftrag, der den Selektionskriterien entspricht, werden die folgenden Exporttabellen gefüllt:

  • In die ET_ORDER und ET_ORDER_ID wird je ein Datensatz mit den gewöhnlichen Auftragsdaten bzw. der GUID des Auftrags geschrieben.
  • In die Tabelle ET_BOMID werden alle in dem Auftrag (d.h. von seinen I/O-Knoten) verwendeten Stücklisten-GUIDs hinzugefügt.

Die Tabelle ET_CIF_INFO wird optimiert für einen speziellen Anwendungszweck gefüllt und sollte normalerweise nicht requestet werden.

Für ihre Füllung werden zunächst alle Pegareas ermittelt, in denen der Auftrag Inputknoten bzw. Outputknoten besitzt. Für jede Kombination der Input-Pegareas und Output-Pegareas wird nun je ein Datensatz in die Exporttabelle eingefügt. Die ersten fünf Felder werden dabei immer gleich mit Daten des Auftrags gefüllt:

Feld Inhalt
ORDERID GUID des Auftrags
OLTPTRANSFER Feld OLTPTRANSFER vom ORDKEY-Datensatz des Auftrags
ORDER_TYPE Auftragstyp
TRPID Feld TRPID vom ORDKEY-Datensatz des Auftrags
STATUS Auftragsstatus

Weil in der ET_CIF_INFO Informationen aus der ORDKEY-Tabelle verwendet werden, können hier Probleme mit der konsistenten Sicht auftreten. Siehe den nachfolgenden Abschnitt.

Einschränkungen bezüglich der konsistenten Sicht

Der SNP_ORDER_GET kann Aufträge nach Feldern der ORDKEY-Tabelle filtern (IT_PROID) und liefert in der Exporttabelle ET_CIF_INFO Auftragsdaten von ORDKEY-Feldern zurück. Da die ORDKEY-Tabelle nicht der konsistenten Sicht unterliegt, kann es vorkommen, daß die Objektdaten des Auftrags und seine ORDKEY-Daten nicht synchron sind. In diesem Fall verhält sich der SNP_ORDER_GET wie folgt:

  • IT_PROID: Wird zu dem Auftrag kein passender ORDKEY-Eintrag gefunden, findet keine Filterung nach dem ORDKEY-Feld TRPID statt.
  • ET_CIF_INFO: Wird kein passender ORDKEY-Eintrag gefunden, betrachtet der SNP_ORDER_GET den Auftrag als gelöscht und liefert für ihn keinen Datensatz zurück, er schreibt in diesem Fall auch keinen Datensatz in die Tabellen ET_ORDER oder ET_ORDER_ID.

In älteren liveCache-Builds wurde bei nicht synchronen Daten ein Kurzdump ausgelöst oder Fehler 429 gemeldet.

Hinweise

Fehlerbehandlung und Problemanalyse

Beim SNP_ORDER_GET können u.a. folgende Fehler auftreten:

  • 38 = OM_INVALID_PEGAREA: Eine Pegarea mit der angegebenen GUID ist im liveCache nicht vorhanden
  • 429 = OM_CONSISTENT_VIEW_TOO_OLD: Wegen der Einschränkungen bezüglich der konsistenten Sicht sind die ORDKEY-Daten des Auftrags sind nicht mehr gültig (s.o.)




Parameter

ET_BOMID
ET_CIF_INFO
ET_ORDER
ET_ORDER_ID
ET_RC
IS_GEN_PARAMS
IT_CATEGORY_FROM
IT_CATEGORY_TO
IT_EXT_FIXED
IT_IO_ACT_TI
IT_ORDER_EXCLUDE
IT_ORDER_STATUS
IT_ORDER_TYPE
IT_PEGAREA_FROM
IT_PEGAREA_TO
IT_PROID
IT_SHLF_INTERVAL
IT_SNP_BLOCK_NR
IT_SNP_GROUPATTR
IT_SUBST_TRPID
IT_TTYPE
IV_BOMID_SEL
IV_END_TIME
IV_SIMSESSION
IV_SNP_GROUP_SEL
IV_START_TIME
IV_USE_NEW_PROGRAM_VERSION

Ausnahmen

LC_APPL_ERROR
LC_COM_ERROR
LC_CONNECT_FAILED

Funktionsgruppe

APO/SAPLOM_PLANNING

ROGBILLS - Synchronize billing plans   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 12700 Date: 20240418 Time: 074515     sap01-206 ( 166 ms )