Feldwert aus Listbox wird nach ENTER gelöscht.

Getting started ... Alles für einen gelungenen Start.
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Feldwert aus Listbox wird nach ENTER gelöscht.

Beitrag von peripe (ForumUser / 16 / 9 / 0 ) »
Hallo zusammen,

ich muss Euch nochmal stören :?.
Ich versuche zwei Listboxen in einem Selektions-Screen zu verarbeiten. Eine für die Auftragsart und die andere für die IH-Leistungsart. Dabei dürfen bei der IH-Leistungsart nur die, die auch zur Auftragsart gehören, in der Listbox angezeigt werden. Ich verwende dazu die Funktion 'VRM_SET_VALUES'.

Der Select funktioniert auch, es werden die Richtigen Auftragsarten und parallel dazu werden dann auch die passenden Leistungsarten in den Boxen angezeigt. Wird nun der gewünschte Wert ausgewählt, wird dieser auch in das Feld übernommen. Nun soll, wenn ich die Auftragsart ändere, das Feld der Leistungsart gelöscht werden, um dann eine Neue, zur Auftragsart passende Leistungsart auszuwählen. Soweit funktionier auch alles...
... bis das ich im Selektions-Screen ENTER drücke. Nun verschwindet der Eintrag der Leistungsart.
Sobald ich ENTER drücke leert sich das Feld und der Wert wird nicht mehr übernommen.

Zur Info:
Wenn ich als L_VALUE-KEY was anderes als SY-TABIX einsetze, wird das Feld, nach Änderung der Auftragsart, nicht gelöscht. Wenn ich z.B. WA-ILART-ILART einsetze, wird das Feld zwar nicht gelöscht, sondern der Wert von WA_ILART-ILART eingetragen. Mit SY-TABIX löscht er zumindest das Feld - das Problem mit dem ENTER bleibt aber :(.

Welchen Key muss ich nehmen, damit das Feld den richtigen, ausgewählten Text anzeigt und wenn ich den Text im Anschluss entferne, das Feld auch leer bleibt?

Hier der Code:

Code: Alles auswählen.

REPORT  ZPM_TEST2.

TYPE-POOLS VRM.

DATA L_VALUE  TYPE VRM_VALUE.
DATA T_VALUES TYPE VRM_VALUES.

PARAMETERS: P_AUART  TYPE RIWO00-AUART AS LISTBOX VISIBLE LENGTH 40
USER-COMMAND TEST DEFAULT 'FWSR'.
"Auftragsart
PARAMETERS: P_ILART  TYPE CAUFVD-ILART AS LISTBOX VISIBLE LENGTH 30.
"IH-Leistungsart

*----------------------------------------------------------------------
*                              AUART
*----------------------------------------------------------------------

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_AUART.

  TYPES: BEGIN OF TY_AUART,
       AUART TYPE T003O-AUART,
         TXT TYPE T003P-TXT,
END OF TY_AUART.

  DATA: IT_AUART TYPE TABLE OF TY_AUART WITH HEADER LINE.
  DATA: WA_AUART TYPE          TY_AUART.

  DATA: WA_TITEL TYPE C LENGTH 50.

  CLEAR IT_AUART.

  SELECT  A~AUART
            TXT
    FROM T003O AS A INNER JOIN T003P AS B ON A~AUART = B~AUART
    INTO CORRESPONDING FIELDS OF TABLE IT_AUART
    WHERE AUTYP = '30'.

  LOOP AT IT_AUART INTO WA_AUART.

    CONCATENATE WA_AUART-AUART
                '-'
                WA_AUART-TXT
    INTO WA_TITEL SEPARATED BY SPACE.

    L_VALUE-KEY  = WA_AUART-AUART.
    L_VALUE-TEXT = WA_TITEL.
    APPEND L_VALUE TO T_VALUES.
  ENDLOOP.

  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      ID     = 'P_AUART'
      VALUES = T_VALUES.

*---------------------------------------------------------------------
*                              ILART
*---------------------------------------------------------------------

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_ILART.

  TYPES: BEGIN OF TY_ILART,
              ILART TYPE T350I-ILART,
              ILATX TYPE T353I_T-ILATX,
         END OF TY_ILART.

  DATA: IT_ILART TYPE TABLE OF TY_ILART WITH HEADER LINE.
  DATA: WA_ILART TYPE          TY_ILART.

  DATA: WA_LISTE TYPE C LENGTH 40.

  SELECT  A~ILART
          ILATX
  FROM  T350I AS A INNER JOIN T353I_T AS B ON A~ILART = B~ILART
  INTO CORRESPONDING FIELDS OF TABLE IT_ILART
  WHERE AUART = P_AUART.

  CLEAR: L_VALUE, T_VALUES.

  LOOP AT IT_ILART INTO WA_ILART.
    CONCATENATE WA_ILART-ILART
                 '-'
                WA_ILART-ILATX
        INTO WA_LISTE SEPARATED BY SPACE.

    L_VALUE-KEY  = SY-TABIX.
    L_VALUE-TEXT = WA_LISTE.
    APPEND L_VALUE TO T_VALUES.
  ENDLOOP.

  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      ID     = 'P_ILART'
      VALUES = T_VALUES.
Vielleicht hat einer von Euch eine Ideen.

Vielen Dank und viele Grüße
peripe
(Der der Ostern nicht mit der Suche nach Eiern verbracht hat)

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Feldwert aus Listbox wird nach ENTER gelöscht.

Beitrag von wreichelt (Top Expert / 1046 / 30 / 192 ) »
Hallo,

kannst du nicht in jedes dieser Auswahlfelder auch einen leeren (blank) Eintrag aufnehmen?

Gruß Wolfgang

Re: Feldwert aus Listbox wird nach ENTER gelöscht.

Beitrag von peripe (ForumUser / 16 / 9 / 0 ) »
Hallo Wolfgang,

dieses ist meine absolute Notlösung. Dazu muss ich dem Anwender aber mitteilen, dass er das Feld erst duch Auswahl der leeren Zeile "löschen" muss. Dieses versuche ich zu umgehen.
Wenn ich keine andere Lösung finde, bleibt mir wohl nichts anderes übrig. Aber noch hoffe ich :)

Danke für Deinen Ansatz.

Grüße Peter

Re: Feldwert aus Listbox wird nach ENTER gelöscht.

Beitrag von Legxis (Specialist / 160 / 90 / 28 ) »
Tut mir Leid wenn ich hier völlig danebengreife, ich bin neu und habe noch nie mit Listboxen oder diesem FuBa gearbeitet.
Würde es nicht gehen, wenn du bei der AT SELECTION SCREEN ON VALUE REQUEST FOR P_AUART ein IF P_ILART IS NOT INITIAL einbaust? Mit der Verarbeitung könntest du die eingetragene Leistungsart löschen und kannst dann unten L_VALUE-KEY = WA_ILART-ILART einsetzen und es müsste funktionieren.
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )

Re: Feldwert aus Listbox wird nach ENTER gelöscht.

Beitrag von peripe (ForumUser / 16 / 9 / 0 ) »
Hallo Legxis,

danke für Deinen Tipp. Leider funktioniert das nicht, da ich damit eine Abhängigkeit schaffe, die ich eigentlich nicht haben möchte. Aber Du hast mich damit auf eine Idee gebracht, die ich noch nicht probiert habe. Morgen mal sehen ob das funktioniert :).

Soviel zum Thema "Tut mir Leid wenn ich hier völlig danebengreife" was soll passieren. Ich bin doch froh über jeden Hinweis. Hab Ostern mit diesem Problem verbracht und bin zu keiner Lösung gekommen :( also jeder Hinweis ist willkommen :up: .

Viele Grüße
peripe

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1236
Views
Listausgabe mit ALV wird bei Betätigen mit Enter gelöscht
von c oco » 26.06.2008 14:27 • Verfasst in ABAP® Core
4
Antw.
2994
Views
Feldwert zum Zeitpunkt 'ON VALUE-REQUEST' ist leer
von Jura » 09.08.2005 18:09 • Verfasst in ABAP® für Anfänger
5
Antw.
2358
Views
Feldwert BSTKD wird nicht gezogen
von rafaelvives » 13.03.2014 08:10 • Verfasst in ABAP® für Anfänger
1
Antw.
1051
Views
cl_gui_alv_grid Feldwert nach data_changed ändern
von havanna » 18.12.2020 13:56 • Verfasst in ABAP Objects®
3
Antw.
3933
Views
Report gelöscht...
von gabrielgn » 29.01.2008 09:03 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 4 Stunden von DeathAndPain gelöst 22 / 2796
Daten an Tabelle binden
vor 9 Stunden von Lukas Sanders 2 / 874
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 430

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 4 Stunden von DeathAndPain gelöst 22 / 2796
Daten an Tabelle binden
vor 9 Stunden von Lukas Sanders 2 / 874
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 430

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2466
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9050