Für die Wertegenerierung auf eine tabellenartige Registerkarte (GRID) sollen die Generierungsklassen standardmäßig von /SCT/QP_CL_GEN_STD erben.
Die Typendefinition für die Parameterübergabe ist normiert:
Für Einzelelemente aus der VAL-Tabelle : Struktur /SCT/QP_S_GENER
Für Einzelelemente aus der PMK-Tabelle : Struktur /SCT/QP_S_GENER_PMK
Für VAL-Elemente in Tabellenform : Tabellentyp /SCT/QP_T_TAB_GENER
Für PMK-Elemente in Tabellenform : Tabellentyp /SCT/QP_T_GENER_PMK
In der Regel können 3 verschiedene Szenarien eingesetzt werden:
Datenübergabe mit Einzelparametern:
Die Import- und/oder Export-Parameter werden explizit benannt : hier kann eine automatische Reihenfolgeberechnung angewendet werden: die Signatur der Methoden wird analysiert um die optimale Reihenfolge innerhalb einer Klasse zu bestimmen
Datenübergabe mit Parametertabelle:
Die Parameter sind erst zur Laufzeit bekannt, die Methoden werden statisch in der lexikografische Reihenfolge aufgerufen: Der Programmierer ist in der Verantwortung, die Methoden so auszubauen, sodass die Anzahl aufrufe minimiert wird.Selbstversorgung von Import-Parameter : Der Abruf von Werte muss in der Generierungsmethode programmiert werden, keine automatische Reihenfolgeberechnung möglich.
Für diese 3 Szenarien gibt es Beispiel: Programmierungsbeispiele (P)
Für Einzelelemente muss der Name des Parameters der Elementnamen auf der Registerkarte entsprechen.
Für Tabellenparameter ist der Name frei. (gemäß SAP-Namenskonvention für Parametername)
Die Methoden akzeptieren lediglich IMPORT (optional) und oder EXPORT-Parameter. Die CHANGING und RETURNING-Parameter werden nicht unterstützt.
Wenn Einzelparameter (als IMPORT oder EXPORT) definiert sind, wird eine Reihenfolgeermittlung der Public-Methoden durchgeführt, um die Abhängigkeit der einzelnen Methoden automatisch auflösen zu können. Für Methoden mit Tabellenparameter kann kein Automatismus eingesetzt werden. Hier wird die lexikografische Anordnung der Methodenname benutzt: der Programmierer soll also selber bestimmen, in welcher Reihenfolge die Methoden innerhalb der Generierungsklasse aufgerufen werden.
Die IMPORT und EXPORT-Parameter beziehen sich lediglich auf Elemente die am Objekttyp vorgesehen sind. Eine Generierungsmethode kann mittels Parameterübergabe lediglich Werte am selben Objekttyp zurückschreiben.
Braucht die Methode Werte von anderen Parameter die nicht auf dem Objekttyp, kann auf IMPORT-Parameter verzichtet werden, der Zugriff muss dann in der Methode programmiert werden. Die automatische Reihenfolgeermittlung liefert in diesem Fall keine Ergebnisse und es gilt die lexikografische Anordnung.
IMPORT-Parameter
Einzelparameter:
wird einen Parameter abgefragt, was nicht Bestandteil des Objekttypes ist, wird eine leere Struktur zurückgegeben.
wird einen Parameter abgefragt, was zwar existiert aber noch nicht bewertet ist, wird eine Initialzeile für diese Element erzeugt ( Schlüsselfelder, Element, steuernde Attribute werden befüllt, die Bewertung bleibt leer)
soll dieser Parameter bewerte sein ( durch z.B eine Benutzereingabe oder eine frühere Generierung ) werden alle möglichen Felder ( Schlüsselfelder, Element, Steurerattribute, Bewertung) befüllt.
Tabellenparameter:
Zur Laufzeit der Generierung wird automatisch eine Tabelle aller bewerten Elemente des Objekttypes erzeugt, dazu gelten auch alle nicht bewertete Elemente die als start-Initial oder als Mandatory ins Customizing markiert sind.
Je nach Umfang kann der Aufbau einer sochen Tabelle Zeitintensiv sein. Wenn möglich, ist der Zugriff mit gezielten Einzelparameter performanter.
EXPORT-Parameter
Einzelparameter:
Sollte einen Export-Parameter bereits bewertet sein ( z.B durch eine Benutzereingabe oder eine frühere Generierung) werden alle möglichen Felder der Exportstruktur vorbefüllt. Ist der Parameter nicht bewertet wird eine Initialzeile erzeugt (analog zu Import-Parameter)
Tabellenparameter:
Die einzelnen Einträge sollen in der Generierungsmethode erzeugt werden.
Dafür existiert eine Hilfmethode um einen Eintrag zu generieren: mo_parent→get_value_gen( ). Siehe Programmierungsbeispiele (P)
Egal ob IMPORT oder EXPORT-Parameter die Strukturen und Tabellen sind identisch. Das heißt aber nicht dass alle Felder manipuliert werden können.
Mussfelder bei EXPORT
Element (für VAL) bzw. Mkmnr (für PMK)
Kannfelder
msgtyp (A,E, S,I W)
rowgrp/ldfnr
moderef
visible
mandatory
origin
Wertefelder:
VAL  | PMK  | 
|---|---|
value      | werks            sollintuntmin    sollextuntmin    solleinh         |