Hallo zusammen.
Ich habe folgendes Problem:
Für einen Kunden habe ich im Bereich Qualitätsmeldung (TA QM01/-02/-03) über einen Customer-Exit zusätzliche Registerkarten mit Customer-Subscreens angelegt (FuGr XQQM).
Wenn ich nun auf einem Subscreen eine Drucktaste - z.B. für das Löschen einer Zeile eines Table Controls - einrichte, erscheint in der Anwendung folgende Fehlermeldung:
"Die angeforderte Funktion DEL_ROW ist hier nicht vorgesehen"
Meldungsnr. V0104
Alle Eingabefelder sind nicht eingabebereit. Nach Betätigen von 'Enter' sind alle Eingabefelder wieder eingabebereit und auch die Zeile im Table Control ist gelöscht!
Die Drucktaste funktioniert also und auch anschließend läuft alles wie programmiert ab.
Warum aber erscheint diese Meldung, wenn danach alles korrekt weiter läuft???
Es muss doch möglich sein, Drucktasten auf einem Customer-Subscreen zu platzieren, ohne dass die besagte Meldung hochkommt, oder?!
Das Debugging hat folgendes ergeben:
Der Funktionscode der Drucktaste wird sofort an das OK-CODE-Feld im Standard-Code weitergereicht, das aber im Exit nicht erreichbar ist. Löschen funktioniert also nicht!
Das OK-Code-Feld wird z.B. darauf abgefragt, ob es einen User-Funktionscode enthält (1. Zeichen = '+').
Schließlich wird die Fehlermeldung an dieser Stelle generiert:
* Trace-Ausgabe oder Fehlermeldung
IF T185E-TRACE NE SPACE AND FLAG-TRACE_AUSGABE NE SPACE.
PERFORM TRACE_AUSGEBEN USING 'T185F'.
ELSE.
IF SY-SUBRC NE 0.
*-Schluessel T185F zur Ausgabe in Hilfsfeld TABKEY einsetzen ---------*
*-MERKE: Loesung variabel gestalten --> ohne explizite Laengen -------*
TABKEY+0(8 ) = T185F-AGIDV.
TABKEY+8(2) = ', '.
TABKEY+10(1) = T185F-TRTYP.
TABKEY+11(2) = ', '.
TABKEY+13(4) = FCODE.
* TABKEY+14(1) = '.'.
MESSAGE E104 WITH FCODE. "E102 WITH TABKEY 'T185F'.
ENDIF.
Der SY-SUBRC an dieser Stelle ist 4 und rührt von der vorherigen Abfrage her, ob der Funktionscode einer der vorgegebenen Tabstrip-Funktionscodes ist oder nicht.
Wie gesagt, funktionieren tut ja alles, aber die Meldung ist doch schon ziemlich nervend und meiner Meinung nach dem Anwender auch nicht zuzumuten!
Mir fällt absolut nicht ein, wie dieses Problem zu lösen ist oder ob ich irgendetwas falsch gemacht habe. Wenn man z.B. das OK-CODE-Feld löschen könnte, würde die Fehlermeldung nicht hochkommen; aber das ist ja Standard-Coding und da kommt man ja nicht ran, oder vielleicht doch?!!
Ich hoffe, es gibt eine Lösung für diesen Fall!
Im voraus vielen Dank.
Gruß, Marco