Ansicht
Dokumentation

STC1_SELECT_SUBSCREEN - Selektion des benötigten Subscreens und Datenübergabe

STC1_SELECT_SUBSCREEN - Selektion des benötigten Subscreens und Datenübergabe

Addresses (Business Address Services)   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

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

  1. 5 Table Controls mit 72 Feldern, 5 check-boxes, 5 Radio-buttons, 3 push-buttons und 5 Icons
  2. 5 Table Controls mit 36 Feldern, 5 check-boxes, 5 Radio-buttons, 3 push-buttons und 5 Icons
  3. 5 Table Controls mit 16 Feldern, 5 check-boxes, 5 Radio-buttons, 3 push-buttons und 5 Icons
  4. 5 Table Controls mit 36 Feldern
  5. 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_BUTTON
ADD_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_VALID
NAMETAB_NOT_VALID
NO_MORE_TABLES
TOO_MANY_FIELDS

Funktionsgruppe

STC1

ABAP Short Reference   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 9831 Date: 20240523 Time: 091436     sap01-206 ( 109 ms )