Kaskadierte Eingabe in einem Report

Benutzeroberflächen in SAP®-Systemen.
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Kaskadierte Eingabe in einem Report

Beitrag von andrac (ForumUser / 2 / 0 / 0 ) »
Hallo,

ich suche eine Möglichkeit, um voneinander abhängige Eingabefelder (Pulldowns) in der Selektionsmaske eines Reports zu programmieren.

Beispiel:

Es gibt 2 Pulldown-Felder:

Pulldown 1 ist vorbelegt mit den Werten aus Tabelle 1 (Kunden). Wenn ich in Pulldown 1 einen Kunden ausgewählt habe, dann soll Pulldown 2 automatisch die Werte aus Tabelle 2 (Kundenaufträge) anzeigen, die zu dem ausgewählten Kunden in Pulldown 1 gehören.
Ändere ich den Kunden in Pulldown 1, dann soll Pulldown 2 gelöscht-initialisiert werden und die Auswahl dort auf die Aufträge des neuen Kunden eingeschränkt werden.

Sorry, wenn ich mich so verzwickt ausdrücke, ich hoffe, es ist trotzdem verständlich.

Ist so etwas möglich ?

Vielen Dank und freundliche Grüße
Andreas[/b]

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


Beitrag von black_adept (Top Expert / 4134 / 131 / 956 ) »
Ist möglich.

Du musst der 1. Dropdownbox lediglich einen Funktionscode mitgeben, damit ein PAI ausgelöst wird.

Dort oder im folgenden PBO dann halt die 2. Dropdownbox mit den jetzt gültigen Werten füllen.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von andrac (ForumUser / 2 / 0 / 0 ) »
Hallo Stefan,

hast du dazu ein einfaches Code-Beispiel ? Die Schlüsselwort-Dokumentation gibt dazu nämlich nur grausiges aus :-)

Vielen Dank
Andreas

Beitrag von black_adept (Top Expert / 4134 / 131 / 956 ) »
Hi Andreas,

auf einem Selektionsbild, welches durch "PARAMETER" und "SELECT-OPTIONS" generiert ist geht es nicht, da der Syntaxchecker die Kombination aus Listbox und Usercommand nicht zulässt.

Allerdings gehts auf einem normalen Dynpro ( den man ja auch auf ein Selbild einbinden könnte ).

Beispiel:

Coding:

Code: Alles auswählen.

REPORT.

TYPE-POOLS: vrm.

TYPES: ty_demo(20) TYPE c.

DATA: vrm_values TYPE vrm_values,
      wa_value   LIKE LINE OF vrm_values,
      vrm_id     TYPE vrm_id,
      n(2)       TYPE n,
      ok_code    TYPE syucomm,
      first      TYPE flag VALUE 'X'.

DATA: p_demo1 TYPE ty_demo,
      p_demo2 TYPE ty_demo.


END-OF-SELECTION.
  CALL SCREEN 9000.


*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_9000  INPUT
*&---------------------------------------------------------------------*
MODULE user_command_9000 INPUT.
  CASE ok_code.
    WHEN 'DEMO1'.

    WHEN OTHERS.
      SET SCREEN 0.

  ENDCASE.
ENDMODULE.                 " USER_COMMAND_9000  INPUT

*&---------------------------------------------------------------------*
*&      Module  fill_lb  OUTPUT
*&---------------------------------------------------------------------*
MODULE fill_lb OUTPUT.
* 1. Dropdownlist nur beim 1. Mal füllen
  IF first = 'X'.
    CLEAR first.
    vrm_id = 'P_DEMO1'.
    REFRESH vrm_values.
    DO 9 TIMES.

      n = sy-index.
      IF sy-index = 3.
        p_demo1 = n.
      ENDIF.

      wa_value-key = n.
      CONCATENATE 'Beschreibung' n INTO wa_value-text.
      APPEND wa_value TO vrm_values.


    ENDDO.


    CALL FUNCTION 'VRM_SET_VALUES'
         EXPORTING
              id              = vrm_id
              values          = vrm_values
         EXCEPTIONS
              id_illegal_name = 1
              OTHERS          = 2.

  ENDIF.

  vrm_id = 'P_DEMO2'.
  REFRESH vrm_values.
  DO 5 TIMES.

    n = p_demo1 * 10 + sy-index.
    IF sy-index = 1.
      p_demo2 = n.
    ENDIF.

    wa_value-key = n.
    CONCATENATE 'Beschreibung' n INTO wa_value-text.
    APPEND wa_value TO vrm_values.


  ENDDO.


  CALL FUNCTION 'VRM_SET_VALUES'
       EXPORTING
            id              = vrm_id
            values          = vrm_values
       EXCEPTIONS
            id_illegal_name = 1
            OTHERS          = 2.


  CLEAR ok_code.

ENDMODULE.                 " fill_lb  OUTPUT
Ablauflogik:

Code: Alles auswählen.

PROCESS BEFORE OUTPUT.

  MODULE fill_lb.
*
PROCESS AFTER INPUT.

  MODULE user_command_9000.
Dynprolayout: Bitte die Variablen P_demo1 und P_demo2 auf den Screen ziehen, beide als Listbox markieren und der 1. Variablen einen Funktionscode "DEMO1" verpassen
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von Jupp (ForumUser / 47 / 0 / 2 ) »
Zu dieser Frage gibt es bereits folgenden wunderschönen Thread http://www.abapforum.com/forum/viewtopi ... rs+listbox, in welchem Enno das 'Problemchen', LISTBOX und USER-COMMAND vertragen sich nicht, mit GENERATE DYNPRO mehr oder weniger elegant umschifft.

Viele GRüße
Jupp
Always Better Alternatives Possible.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
4858
Views
Report von einem anderen Report als Hintergrundjob einplanen
von kbit100 » 04.01.2016 09:46 • Verfasst in ABAP® für Anfänger
22
Antw.
6901
Views
interne Tabelle übergeben von Report zu Report
von cuncon » 26.10.2017 12:27 • Verfasst in ABAP® für Anfänger
0
Antw.
1726
Views
Nutzung RRI (Report-Report-Schnittstelle) aus ALV-Grid
von donny » 22.11.2007 11:17 • Verfasst in ABAP® Core
0
Antw.
3475
Views
Report aus Report-Painter Bericht aufrufen
von MStumm » 15.12.2006 12:45 • Verfasst in ABAP® Core
19
Antw.
9602
Views
Feedback-->Aufruf z-report ein SAP Standard Report
von c oco » 06.02.2013 16:55 • 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

IBAN und BUT0BK
vor 5 Tagen von GastX gelöst 4 / 4951
Gewährleistungsende im Equipment
vor 6 Tagen von Yourairld gelöst 8 / 27156
IF mit AND und OR
vor 3 Wochen von GastX 6 / 15387
Meine Inbox
vor 3 Wochen von Rabea1103 1 / 12804

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.