gelöst Erweiterung im Selscreen --> Text für Radiobutton setzen


Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV

Moderatoren: Jan, Steff

gelöst Erweiterung im Selscreen --> Text für Radiobutton setzen

Beitragvon Romaniac » 22.08.2017, 08:59

Hallo zusammen,

möchte mich mit meiner ersten Frage in diesem wirklich sehr guten Forum auch kurz vorstellen, ich bin 1995 während eines Praktikums im Inf. Studium das erste mal mit ABAP(Release 2.2D) in Kontakt getreten und irgendwie nicht mehr losgekommen :) Bin nun seit 2002 Selbständig in der FI/CO Entwicklung und habe in der Regel sehr viel Freude in meinem Beruf.

So nun zu meiner Frage:
Ich habe in einem Standard Report den selection screen um 3 Radiobuttons erweitert, alles wunderbar. Jetzt möchte ich den 3 Buttons aber Texte zuweisen, nicht hart im Code sondern über Textsymbole wie TEXT-000.
+ Die Textsymbole des Standardreports konnte ich nicht über die Erweiterung ändern
+ Dann habe ich die 3 Radiobuttons in einen Include gelegt und gehofft dass ich dann dort die Texte anlegen kann, geht nicht, springt logischerweise immer wieder ins Rahmenprogramm.
+ Dann habe ich 3 Datenelemente angelegt und versucht diese mit dem Baustein SELECTION_TEXTS_MODIFY_DTEL (https://archive.sap.com/discussions/thread/1976228) zu setzen, das muss aber zum Zeitpunkt INIT.. passieren, da konnte ich aber auch nicht erweitern

Hat jemand einen Tipp?

Vielen Dank,

Gruß Wolfgang
Geht nicht gibts nicht
Romaniac
ForumUser
 
Beiträge: 55
Registriert: 20.03.2017, 10:31
Wohnort: Augsburg
Dank erhalten: 7 mal
Ich bin: Freiberufler/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Erweiterung im Selscreen --> Text für Radiobutton setzen

Beitragvon black_adept » 22.08.2017, 10:18

Hallo Wolfgang,

ein Report hat diverse Events - und manche davon dürfen mehrfach vorkommen. INIT ist so ein Event - d.h. du könntest möglicherweise an der Stelle wo du erweitert hast einen eigenen/weiteren INIT-Event einfügen um den SELECTION_TEXTS_MODIFY_DTEL aufzurufen?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de
black_adept
Top Expert
 
Beiträge: 2710
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 388 mal
Ich bin: Freiberufler/in

Re: Erweiterung im Selscreen --> Text für Radiobutton setzen

Beitragvon ewx » 22.08.2017, 10:22

Romaniac hat geschrieben:[...] das muss aber zum Zeitpunkt INIT.. passieren

Nein, muss es nicht. du kannst die SelTexte auch im PBO (AT SELECTION-SCREEN OUTPUT) setzen.
ewx
Top Expert
 
Beiträge: 3423
Registriert: 04.08.2003, 19:55
Wohnort: Schleswig-Holstein
Dank erhalten: 211 mal

Re: Erweiterung im Selscreen --> Text für Radiobutton setzen

Beitragvon Romaniac » 22.08.2017, 10:57

Hallo Stefan,

habe ich sofort ausprobiert. Wenn ich INITIALIZATION gleich nach der Definition der Radiobuttons aufrufe kommt ein Fehler weil ich noch innerhalb von Screen 1 bin:

Code: Alles auswählen
ENHANCEMENT 1  /MMT/RFBILA00_DATA_SEL_SCREEN.    "inactive version
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$\SE:(52) Erweiterungs-Exit SELE01, Erweiterung IDRU_BILA, Ende, Erweiterung /MMT/RFBILA00_DATA_SEL_SCREEN, Anfang                                         S
* for Data merge, export or import from other System
  PARAMETERS: rb_d_not RADIOBUTTON GROUP mrg,
              rb_d_exp RADIOBUTTON GROUP mrg,
              rb_d_imp RADIOBUTTON GROUP mrg.

  INITIALIZATION.
    data: lt_sel_dtel type table of rsseldtel.
    lt_sel_dtel = value #( ( name = 'RB_D_NOT' kind = 'P' datenelment = '/MMT/RFBILA00_DATA_EXPORT' )
                           ( name = 'RB_D_EXP' kind = 'P' datenelment = '/MMT/RFBILA00_DATA_EXPORT' )
                           ( name = 'RB_D_IMP' kind = 'P' datenelment = '/MMT/RFBILA00_DATA_IMPORT' ) ).
    CALL FUNCTION 'SELECTION_TEXTS_MODIFY_DTEL'
      EXPORTING
        program                           = sy-repid
      tables
        sel_dtel                          = lt_sel_dtel
     EXCEPTIONS
       PROGRAM_NOT_FOUND                 = 1
       PROGRAM_CANNOT_BE_GENERATED       = 2
       OTHERS                            = 3.
    IF sy-subrc <> 0.
* Implement suitable error handling here
    ENDIF.

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$\SE:(53) Erweiterungs-Exit SELE01, Erweiterung IDRU_BILA, Ende, Erweiterung /MMT/RFBILA00_DATA_SEL_SCREEN, Ende
ENDENHANCEMENT.
*$*$-End:   (1)--
ENDENHANCEMENT.
*$*$-End:   SELE0
end_of_screen 1.


Die Schachtelung ist nicht korrekt: Vor der Anweisung "INITIALIZATION"
muß die mit "SELECTION-SCREEN BEGIN OF SCREEN 0001" begonnene
Kontrollstruktur durch "SELECTION-SCREEN END OF SCREEN 0001"
abgeschlossen werden.


Danach kommt im RFBILA00 keine Möglichkeit mehr zu erweitern ausser in Unterprogrammen aber das ist auch schräg da dann INIT... einzubauen.
Geht nicht gibts nicht
Romaniac
ForumUser
 
Beiträge: 55
Registriert: 20.03.2017, 10:31
Wohnort: Augsburg
Dank erhalten: 7 mal
Ich bin: Freiberufler/in

Re: Erweiterung im Selscreen --> Text für Radiobutton setzen

Beitragvon Romaniac » 22.08.2017, 11:02

ewx hat geschrieben:
Romaniac hat geschrieben:[...] das muss aber zum Zeitpunkt INIT.. passieren

Nein, muss es nicht. du kannst die SelTexte auch im PBO (AT SELECTION-SCREEN OUTPUT) setzen.


Das habe ich auch versucht, aber an der Stelle kann ich auch nicht erweitern:

Code: Alles auswählen
AT SELECTION-SCREEN OUTPUT.                                      "ALV
  IF bilalist IS INITIAL                                         "ALV
 AND bilagrid IS INITIAL                                         "ALV
 AND bilatree IS INITIAL.                                        "ALV
*    IF syst-slset IS INITIAL.                              "n1060564
*      bilagrid = 'X'.                                      "n1060564
*    ELSE.                                                  "n1060564
    bilalist = 'X'.                                            "ALV
*    ENDIF.                                                 "n1060564
  ENDIF.
  IF sy-dynnr = '2000'.                           "begin "n1630595
    LOOP AT SCREEN.
      IF screen-name CS 'AGGR'.
        IF pa_rbcs IS INITIAL.
          screen-input = 0.
        ELSE.
          screen-input = 1.
        ENDIF.
        MODIFY SCREEN.
      ENDIF.
    ENDLOOP.
  ENDIF.                                          "end "n1630595

AT SELECTION-SCREEN ON VALUE-REQUEST FOR bilagvar.                "ALV
  PERFORM bspl_alv_variant_f4 USING    con_repid                  "ALV
                                       con_grid                   "ALV
                              CHANGING bilagvar.                  "ALV
Geht nicht gibts nicht
Romaniac
ForumUser
 
Beiträge: 55
Registriert: 20.03.2017, 10:31
Wohnort: Augsburg
Dank erhalten: 7 mal
Ich bin: Freiberufler/in

Re: Erweiterung im Selscreen --> Text für Radiobutton setzen

Beitragvon black_adept » 22.08.2017, 13:01

Romaniac hat geschrieben:Danach kommt im RFBILA00 keine Möglichkeit mehr zu erweitern ausser in Unterprogrammen aber das ist auch schräg da dann INIT... einzubauen.

Wenn man da ein wenig kreativ ist, kann man durchaus eine FORM als Ankerpunkt für ein neues INITIALZATION verwenden..... Und gerade in der RFBILA00 könntest du dich in einem der Includes ganz am Ende in einer beliebigen FORM einklinken. Da passt das gut hin.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Für diese Nachricht hat black_adept einen Dank bekommen :
Romaniac
black_adept
Top Expert
 
Beiträge: 2710
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 388 mal
Ich bin: Freiberufler/in

Re: Erweiterung im Selscreen --> Text für Radiobutton setzen

Beitragvon Romaniac » 22.08.2017, 14:45

black_adept hat geschrieben:
Romaniac hat geschrieben:Danach kommt im RFBILA00 keine Möglichkeit mehr zu erweitern ausser in Unterprogrammen aber das ist auch schräg da dann INIT... einzubauen.

Wenn man da ein wenig kreativ ist, kann man durchaus eine FORM als Ankerpunkt für ein neues INITIALZATION verwenden..... Und gerade in der RFBILA00 könntest du dich in einem der Includes ganz am Ende in einer beliebigen FORM einklinken. Da passt das gut hin.


Hallo Stefan,

vielen Dank, das hat geklappt im RFBILA00_F02. Ich hatte es zuerst mal weiter oben mit dem RKASMAWF versucht aber der wird von vielen anderen Programm genutzt. Ist aber trotzdem etwas umständlich wenn man den selection screen modifizieren darf aber keine Texte anlegen kann dazu, der FB SELECTION_TEXTS_MODIFY_DTEL ist ja eigentlich nur für internen Gebrauch.

Gruß Wolfgang
Geht nicht gibts nicht
Romaniac
ForumUser
 
Beiträge: 55
Registriert: 20.03.2017, 10:31
Wohnort: Augsburg
Dank erhalten: 7 mal
Ich bin: Freiberufler/in


Zurück zu ABAP® Core

  Aktuelle Beiträge   
Inkonsistente Konfigurationen Sperren
vor 14 Stunden von carlie 0 Antw.
Float Werte im Excel sind nicht identisch.
vor 17 Stunden von ewx 1 Antw.
Dokumentation überschreiben?
vor 6 Stunden von ewx 5 Antw.
Transaktion (KS02) speichert nicht in bestimmten Reiter
vor 10 Stunden von Wann 3 Antw.
gelöst Zentrale Adressverwaltung
Gestern von ewx 1 Antw.

  Ähnliche Beiträge beta
gelöst SelScreen Tabreiter "ausgrauen"
11.01.2017, 09:24 von ralf.wenzel 2 Antw.
Erweiterung Stücklistenbrowser
20.05.2015, 09:14 von JHM 11 Antw.
Erweiterung Dokumentationsanzeige
04.12.2013, 14:54 von a-dead-trousers 3 Antw.
Belegposition ändern (Erweiterung)?
14.12.2005, 13:30 von CAT 1 Antw.
Erweiterung in Banf anlegen
22.07.2008, 07:27 von Frogmaster 0 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder

Feedback ...?

Was können wir verbessern? Hinterlasse deine Kontaktdaten, wenn du eine direkte Antwort möchtest.

... Absenden!