Ansicht
Dokumentation
STC2_SELECT_SUBSCREEN - Selektion des benötigten Subscreens und Datenübergabe
ABAP Short Reference Addresses (Business Address Services)Diese Dokumentation steht unter dem Copyright der SAP AG.
Allgemeines Table Control
Zweck
Viele allgemeine Tools benutzen Table Controls zur Eingabe der Daten. Dies kann zur Zeit nur über generierte Table Contols (z.B. SM30) gemacht werden. Der Aufwand, ein TC zu Generieren ist recht hoch, so daß er nicht zur Laufzeit gemacht werden kann.
Auch ist es für normale Transaktionen ein erhöhter aufwand, ein Table Control mit allen von der Ergonomie geforderten Funktionen zu programmieren. Viele der Funktionen, wie Blättern, Sortieren, Einfügen und Löschen sind bereits einige 100-mal im R/3 immer wieder neu erfunden worden.
Um hier den Programmieraufwand zu reduzieren, andererseits aber auch generische Funktionen zu vereinfachen und auch dem Kunden ein einheitliches Verhalten von Table Controls zu zeigen, wurde das Generic Table Control entwickelt.
Aufbau
Das Table Control ist als Subscreen definiert, um es an beliebige Stelle in ein vorhandenes Dynpro einbauen zu können. Es können auch mehrere (bis zu 25) Table Controls verwaltet werden, um als Tabstrips mehrere Tabellen bearbeiten zu können
Begrenzungen
Zur Zeit ist das TC begrenzt auf
- 5 Table Controls mit 72 Feldern, 5 check-boxes, 5 Radio-buttons, 3 push-buttons und 5 Icons
- 5 Table Controls mit 36 Feldern, 5 check-boxes, 5 Radio-buttons, 3 push-buttons und 5 Icons
- 5 Table Controls mit 16 Feldern, 5 check-boxes, 5 Radio-buttons, 3 push-buttons und 5 Icons
- 5 Table Controls mit 36 Feldern
- 5 Table Controls mit 16 Feldern
Die maximale Breite ist 8000 Zeichen.
Aufruf eines TableControls
Der Aufruf ist 4-teilig:
Die Strukturinformationen werden vor dem PBO einmalig mit STC1_CREATE_HANDLE an das Table Control übergeben.
Hierbei kann entweder eine DDIC-Struktur als Tabellenname angegeben werden oder eine Nametab der Struktur DFIES.
Hieraus werden folgende Felder benötigt:
TABNAME Tabellenname Dictionary-Name für Fremdschlüssel
FIELDNAME Feldname Dictionary-Name für Fremdschlüssel
OFFSET Offset eines Feldes in Workarea
DOMNAME Bezeichnung einer Domäne (Für Festwertprüfung)
CHECKTABLE Tabellenname Tabelle mit Fremdschlüsseln
INTLEN Interne Länge in Bytes
OUTPUTLEN Ausgabelänge
DECIMALS Anzahl Dezimalstellen
DATATYPE R/3-DD: Dynprodatentyp fuer Screen-Painter
INTTYPE ABAP-Datentyp (C,D,N,...)
REFTABLE Referenztabelle zum Feld
REFFIELD Referenzfeld für Währungs- und Mengenfelder
CONVEXIT Konvertierungsroutine
HEADLEN Maximale Überschriftenlänge
REPTEXT Überschrift
KEYFLAG Kennzeichnet ein Schlüsselfeld einer Tabelle
LOWERCASE Kleinbuchstaben erlaubt/nicht erlaubt
MAC Kennzeichen, ob an dem Feld eine Suchhilfe angebunden ist
VALEXI Existenz von Festwerten
F4AVAILABL Besitzt das Feld eine Eingabehilfe
Änderungen an der Nametab können mit der Struktur Field_dif übergeben
werden:
TABNAME Tabellenname Referenz zur Nametab
FIELDNAME Feldname Referenz zur Nametab
FIXED_VAL Textfeld Vorschlagswerte bei neuen Zeilen
F1HELP Funktionsbaustein Baustein bein Drücken F1
F4HELP Funktionsbaustein Baustein bein Drücken F4
CHKROUTINE Funktionsbaustein Testroutine für Werte, zur Zeit
nicht aktiv
NO_DISPLAY Anzeigeflag
DISPLENGTH Abweichende Ausgabelänge
NO_INPUT Eingabesteuerung: Feld ist nicht eingabebereit
MODIFY_KEY Dieses Feld hat ein abweichendes Schlüsselflag
KEYFLAG Neues Schlüsselflag
CHECKBT Anzeige als check-Box
ICON Anzeige als Icon, nicht Eingabebereit
RADIO Das Feld ist Teil einer Gruppe (max 5) Radiobuttons
PUSH Das Feld wird als Push-button angezeigt.
DIFFTEXT abweichende Überschrift
PUSH_CALL Funktionsbaustein als Call-Back des Push-buttons
NO_F4_HELP Keine F4-Hilfe verfügbar
NO_FKY_CHK Keine Fremdschlüsselprüfung
INPCHK_FLD Eingabe erlaubt auf Zeilenebene, Referenzfeld
INPFLD_EX (X/ /V) Eingabebereit bei 'X' ' ' Wert in Feld INPFLD_VAL
INPFLD_VAL Referenzinhalt bei Eingabeprüfung
______________________________ _________________________________________
Die Daten werden zum mit dem Baustein STC1_PUT_DATA übergeben. Dies kann evtl. auch mehrfach im PBO geschehen.
Danach wird innerhalb der Ablauflogik das Subscreen mit CALL SUBSCREEN SUBSCREEN INCLUDING PROGRAM DYNSUB aufgerufen, wobei PROGRAM und DYNSUB von STC1_SELECT_SUBSCREEN übergeben werden.
Zum PAI wird das TC mit CALL SUBSCREEN SUBSCREEN aufgerufen. Die OK-Codes, die alle mit TC_ anfangen, werden an den Baustein STC1_SET_COMMAND zur Auswertung übergeben.
Die Daten können mit STC1_GET_DATA wieder zurückgeholt werden.
Schnittstellen:
Es können auch Call-Back-Bausteine definiert werden, die sowohl in der field_dif für einzelne Felder als auch global dem Baustein STC1_CREATE_HANDLE mitgegeben werden.
Deren Schnittstelle ist wie folgt definiert:
CALL FUNCTION MODIFY_CHECK
EXPORTING
OLD_LINE = OLD_LINE LIKE TBL8000-LINE
NEW_LINE = NEW_LINE LIKE TBL8000-LINE
TABLES
MSGLIST = MSGLIST TYPE TCDAT_MSG_LIST
EXCEPTIONS
OTHERS = 1.
In OLD_LINE ist die Zeile vor der Änderung, in New_line die Zeile nach der Änderung, MSGLIST enthält eine liste von auszugebenden Meldungen beieinem Return-code <> 0.
CALL FUNCTION INSERT_CHECK
EXPORTING
NEW_LINE = NEW_LINE LIKE TBL8000-LINE
TABLES
MSGLIST = MSGLIST TYPE TCDAT_MSG_LIST
EXCEPTIONS
OTHERS = 1.
CALL FUNCTION DELETE_CHECK
EXPORTING
DELETE_LINE = LINE LIKE TBL8000-LINE
TABLES
MSGLIST = MSGLIST TYPE TCDAT_MSG_LIST
EXCEPTIONS
OTHERS = 1.
Um geänderte oder neue Zeilen zur Laufzeit ändern zu können, kann der Exit Modify_field mitgegeben werden.
CALL FUNCTION IT_TC-MODIFY_FIELD
CHANGING
TAB_LINE = LINE LIKE TBL8000-LINE.
Schnittstellen aus der Field_dif
CALL FUNCTION F1HELP
EXPORTING
VAL_LINE = LINE LIKE TBL8000-LINE.
EXCEPTIONS
OTHERS = 1.
CALL FUNCTION F4HELP
EXPORTING
VAL_LINE = LINE LIKE TBL8000-LINE.
EXCEPTIONS
OTHERS = 1.
Technische Implementierung
Es sind 25 Dynpros mit TableControls definiert, die bei der Datenübergabe fest an einen Datensatz, definiert durch einen Tabellennamen, vergeben werden.
Zur Laufzeit werden in jedem Subscreen zum Zeitpunkt PBO erst die Überschriften und Breiten des Table-Controls angepaßt und gleichzeitig die Dynprofelder den Daten der internen Tabelle zugewiesen. (Assign)
Danach werden in Step-loop die Daten als Character-Werte angezeigt.
Zum Zeitpunkt PAI werden nach dem erneuten ASSIGN der Dynprofelder die Daten im Step-loop einer Fremdschlüsselprüfung unterzogen und der internen Tabelle wieder zugewiesen.
Die Daten können dann mit SCT1_GET_DATA aus der internen Tabelle ausgelesen werden.
Parameter
ADDITIONAL_BUTTONADD_BUTTON_CALL
ADD_BUTTON_HEADER
DELETE_CHECK
DISPLAY_ONLY
DISPLAY_TOGGLE
DYNPRONR
DYNPROREPORT
ENDLESS
FIELDDIF
HANDLE
HEADER
INSERT_CHECK
MODIFY_CHECK
MODIFY_DISP_FIELD
NAMETAB
NO_BUTTON
NO_DELETE
NO_INSERT
NO_MOVE
NO_UNDO
SORT_FORBIDDEN
TABHANDLE
TABLE
TABNAME
Ausnahmen
HANDLE_NOT_VALIDNAMETAB_NOT_VALID
NO_MORE_TABLES
TOO_MANY_FIELDS
Funktionsgruppe
STC2General Material Data ROGBILLS - Synchronize billing plans
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 9831 Date: 20240523 Time: 114046 sap01-206 ( 126 ms )