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    
value_min
value_max
value_eih
drkzwert 
drkzsoll 
drkzist  

werks           
pmtnr           
qstprver        
katalgart1      
auswmenge1      
auswmgwrk1      
auswvers1       

sollintuntmin   
sollintunt      
sollintnennwert 
sollintobe      
sollintobemax   
sollintranget   
sollintplranget 

sollextuntmin   
sollextunt      
sollextnennwert 
sollextobe      
sollextobemax   
sollextranget   
sollextplranget 

solleinh       
drkzwert       
drkzsoll       
drkzist        
altzeugtxt     
altsollzeugunt 
altsollnennwert
altsollzeugobe 
altzeugeinh    
nkom           
refzeug