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 / 4099 / 128 / 941 ) »
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 / 4099 / 128 / 941 ) »
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

10
Antw.
4200
Views
Newbie: Dialog zur Eingabe während Report einblenden?
von Gast » 29.04.2005 17:33 • Verfasst in Dialogprogrammierung
1
Antw.
3693
Views
Report von einem anderen Report als Hintergrundjob einplanen
von kbit100 » 04.01.2016 09:46 • Verfasst in ABAP® für Anfänger
0
Antw.
1379
Views
Nutzung RRI (Report-Report-Schnittstelle) aus ALV-Grid
von donny » 22.11.2007 11:17 • Verfasst in ABAP® Core
0
Antw.
2949
Views
Report aus Report-Painter Bericht aufrufen
von MStumm » 15.12.2006 12:45 • Verfasst in ABAP® Core
19
Antw.
8574
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

Regex in where
vor 3 Stunden von black_adept 2 / 55
Programm anlegen mit Vorlage
vor 10 Stunden von DeathAndPain 2 / 110
IT0024 Qualifikationen CP-ID
vor 10 Stunden von DeathAndPain 2 / 351
BUSOBJEKT zu CMIS PHIO ermitteln
vor 12 Stunden von snooga87 1 / 84

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

Regex in where
vor 3 Stunden von black_adept 2 / 55
Programm anlegen mit Vorlage
vor 10 Stunden von DeathAndPain 2 / 110
IT0024 Qualifikationen CP-ID
vor 10 Stunden von DeathAndPain 2 / 351
BUSOBJEKT zu CMIS PHIO ermitteln
vor 12 Stunden von snooga87 1 / 84

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 12 Stunden von snooga87 1 / 84
aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3260
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821