Hallo zusammen,
ich habe ein Dynpro 0100 mit 2 Eingabefeldern und ein Dynpro 0200 als Subscreen mit einem Tablecontrol.
Wenn die beiden Felder im Dynpro 0100 gefüllt werden, werden aus einer DB-Tabelle diverse Datensätze gelesen und im Tablecontrol angezeigt.
Im Tablecontrol können einige Felder überschrieben werden, ehe man mittels F8 oder einem Button eine Verarbeitung der Datensätze aus dem Tablecontrol anschubst.
Das Problem ist: Wenn im Tablecontrol die Änderungen eingetragen wurden und von Feld zu Feld mittels Tabtaste gehupft und das Tablecontrol nicht mit ENTER bestätigt wird, wird auch das PAI des Subscreen nicht durchlaufen. Das heißt: Die Werte aus dem Tablecontrol stehen nicht in der internen Tabelle, die dann weiter verarbeitet werden soll (nach Drücken von F8).
Die Ablauflogik des Subscreens sieht so aus:
PROCESS BEFORE OUTPUT.
module X_TABLECONTRO_change_tc_attr.
loop at IT_ABGR
into WA_ABGR
with control X_TABLECONTRO
cursor X_TABLECONTRO-current_line.
module X_TABLECONTRO_get_lines.
module cursor_setzen.
endloop.
*
PROCESS AFTER INPUT.
loop at IT_ABGR.
chain.
field WA_ABGR-DATUMV.
field WA_ABGR-DATUMB.
field WA_ABGR-GERNR.
field WA_ABGR-EQUNR.
field WA_ABGR-ZWNUMMER.
field WA_ABGR-ABLESGR.
field WA_ABGR-STANDALT.
field WA_ABGR-STANDNEU.
field WA_ABGR-MASSREAD.
field WA_ABGR-BEMERK.
module X_TABLECONTRO_modify on chain-request.
endchain.
endloop.
module X_TABLECONTRO_user_command.
MODULE USER_COMMAND_0200.
Danke für die Hilfe.
cu