Ansicht
Dokumentation

BEFG_SELOPTIONS_LINES_INSERT - Externer Modifikator - Ermittlung von Selektionsfeldern

BEFG_SELOPTIONS_LINES_INSERT - Externer Modifikator - Ermittlung von Selektionsfeldern

CPI1466 during Backup   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Dieser START/STOP-Funktionsbaustein ruft die Codegenerierung für die Zeilen des Templates zwischen dem Generierungsbefehl START und dem zugehörigen Generierungsbefehl STOP auf, falls in den Metadaten Selektionsfelder definiert worden und diese im jeweiligen Kontext Felder enthalten. Um die relevanten Selektionsfelder zu bestimmen, werden die Informationen der Metadatentabellen BEFM_SELGROUP(Selektionsgruppen), BEFM_AOSCE (Zuordnung von Containerfeldern zu Selektionsgruppen) und BEFM_AORS (Zuordnung von Selektionsgruppen zu Reports) ausgewertet.

Die Informationen über Applikation, Objekt und Report werden aus dem Generierungskontext abgeleitet. Falls kein Report mitgegeben wird, werden die Selektionsfelder aller zu dem Objekt gehörenden Reports betrachtet.

Die Templatezeilen zwischen START und STOP werden multipliziert. Dabei werden folgende Variablenplatzhalter ersetzt:
&SELOPT% = Schlüssel zur Bezeichnung eines Selektionsfeldes
&CONT% = Container des Selektionsfeldes
&ELEMENT% = Feldname des Selektionsfeldes

Die Verarbeitung wird auf eine bestimmte Selektionsgruppe eingeschränkt, wenn in der Tabelle zur Variablensubstitution ein Eintrag mit der Variable SELSCREEN vorhanden ist.

Die Steuerung, welche in den Metadaten hinterlegten Selektionsfelder im jeweiligen Kontext relevant sind, kann zusätzlich über folgende Parameter erfolgen:

EXCL_SEL*
Der Name dieses Parameters kann um beliebige Zeichen ergänzt werden, damit er mehrfach angegeben werden kann. Als Wert wird ein Containerelement übergeben, das im jeweiligen Kontext nicht als Selektionsfeld zur Verfügung stehen soll.

CONTAINER
Mit diesem Parameter können die Selektionsfelder auf die Felder eines bestimmten Containers eingeschränkt werden. Der Wert dieses Parameter ist der symbolische Containername gemäß der Hierarchie, wie sie im Applikationsaufbau festgelegt wurde (in der Tabelle BEFM_AOC). Der Container muss dabei zu dem Applikationsobjekt, dem der Report zugeordnet ist, gehören. Derzeit sind die einzig gültigen Werte RCONT und CCONT1:

  • RCONT - Wurzelcontainer des Applikationsobjekts
  • CCONT1 - Erster Kindcontainer des Applikationsobjekts

SELOPTION
Mit diesem Parameter können die Selektionsfelder auf ein bestimmtes Feld eingeschränkt werden.

Weitere Zusatzfunktionen sind derzeit nicht implementiert.

Der Aufruf der Codegenerierung zur Multiplizierung der Templatezeilen erfolgt über den Funktionsbaustein BEFG_OPERATION_LINES_INSERT. Dieser verarbeitet zusätzlich die ParameterPRE_OP, POST_OP, PRELINES und POSTLINES (zur Dokumentation siehe dort).

Kann ein Parameter nicht interpretiert werden oder fehlen Informationen in der VARSUB wird der Funktionsbaustein mit einem Fehler beendet.

Beispiel

*START[FUNC](BEFG_SELSCREEN_LINES_INSERT)

*START[FUNC](BEFG_SELOPTIONS_LINES_INSERT)

*STOP
*STOP

Durch diesen geschachtelten Aufruf können die Felder in den einzelnen Selektionsgruppen auf dem Selektionsbild eines Reports gruppiert (z.B. auf getrennten Tab-Strips) dargestellt werden.

*PARAMSET[EXCL_SEL01](BILL_STATUS)
*PARAMSET[EXCL_SEL02](BILL_BLOCK)
*START[FUNC](BEFG_SELOPTIONS_LINES_INSERT)
* SELECT-OPTIONS &SELOPT% FOR /1BEA/CONT%-&ELEMENT%.
*STOP

Hier werden für alle Selektionsfelder, die zu dem Applikationsobjekt des Reports gehören, Selektionsoptionen erzeugt. Dabei werden templateseitig die Selektionsoptionen zu den beiden Containerfeldern BILL_STATUS und BILL_BLOCK ausgeschlossen und stehen deshalb im generierten Coding nicht zur Verfügung.

*   CALL FUNCTION '/1BEA/OBJ%_O_GETLIST'
*        EXPORTING
*PARAMSET[CONTAINER](RCONT)
*START[FUNC](BEFG_SELOPTIONS_LINES_INSERT)
*            IRT_BDH_&ELEMENT% = &SELOPT%[]
*STOP
*        IMPORTING
*            ET_BDH      = LT_BDH.

In diesem Aufruf der GETLIST-Methode des Objektes "Fakturabeleg" werden nur diejenigen Selektionsfelder aus den Metadaten berücksichtigt, die zu dem Wurzelcontainer, d.h. dem Fakturakopf, gehören.

Hinweise

Weiterführende Informationen





Parameter

ES_RETURN
ET_CODELINE
IR_GEN_CONTEXT
IT_CODELINE
IT_PARAM
IT_VARSUB

Ausnahmen

Funktionsgruppe

BEFG_TEMPLATE_SS

General Data in Customer Master   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5557 Date: 20240523 Time: 161908     sap01-206 ( 113 ms )