gelöst RadioButtonGroup in WebDynpro mit Typ Date


Getting started ... Alles für einen gelungenen Start.

Moderatoren: Jan, Steff

gelöst RadioButtonGroup in WebDynpro mit Typ Date

Beitragvon vcelik » 19.05.2017, 08:20

Hi zusammen,

ich würde gerne eine Gruppe von RadioButtons (4 stück) bei denen man zwischen Quartal 1 bis 4 auswählen kann (XOR), je nach dem sollen in die Datentabelle das jeweilige Datum übernommen werden (also z.B. 01-04-2017 bis 31.06.2017 wenn man Q2 selektiert).

Da ich noch nie zuvor RadioButtons angelegt habe und auch sonst noch nicht viel Ahnung von ABAP habe hoffe ich, dass jemand von euch eine Lösung für mich hat... :)

Danke!
vcelik
ForumUser
 
Beiträge: 22
Registriert: 02.05.2017, 08:05
Dank erhalten: 0 mal
Ich bin: Student/in

Sponsor

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

Re: RadioButtonGroup in WebDynpro mit Typ Date

Beitragvon Thanatos82 » 19.05.2017, 08:57

Hi,

Radiobuttons sind grundlegend nur einstellige Kennzeichen mit den Zuständen "angeklickt" ('X') oder "nicht angeklickt" (' ').
Was du möchtest ist eine Zusatzlogik, die du auf deinem View programmieren musst, soll heißen du musst je nach geklicktem Radiobutton dein Datumsintervall für deine Datentabelle selbst besetzen.
Gruß,
der Matze
Thanatos82
Expert
 
Beiträge: 688
Registriert: 13.09.2012, 13:01
Wohnort: Hagen
Dank erhalten: 124 mal
Ich bin: Entwickler/in

Re: RadioButtonGroup in WebDynpro mit Typ Date

Beitragvon vcelik » 19.05.2017, 12:26

Thanatos82 hat geschrieben:Hi,

Radiobuttons sind grundlegend nur einstellige Kennzeichen mit den Zuständen "angeklickt" ('X') oder "nicht angeklickt" (' ').
Was du möchtest ist eine Zusatzlogik, die du auf deinem View programmieren musst, soll heißen du musst je nach geklicktem Radiobutton dein Datumsintervall für deine Datentabelle selbst besetzen.


Danke, so weit war ich auch, hast du ein Beispiel für meine Zusatzlogik oder einen generellen Aufbau bei sowas?
Ich weiß z.B. dass ich jedem Button einen Wert zuweisen muss, nur wie stelle ich die Referenz zum Feld "Quartal" meiner Datenbank her und übertrage den Wert dort hin ? :(
vcelik
ForumUser
 
Beiträge: 22
Registriert: 02.05.2017, 08:05
Dank erhalten: 0 mal
Ich bin: Student/in

Re: RadioButtonGroup in WebDynpro mit Typ Date

Beitragvon Thanatos82 » 22.05.2017, 07:50

Moin,

kannst du dein Vorhaben noch etwas genauer erklären? Willst du anhand der Radiobuttons einen Select auf deine DB-Tabelle ausführen? Oder sollen direkt Felder in einer Tabelle auf einem View damit gefüllt werden?
Gruß,
der Matze
Thanatos82
Expert
 
Beiträge: 688
Registriert: 13.09.2012, 13:01
Wohnort: Hagen
Dank erhalten: 124 mal
Ich bin: Entwickler/in

Re: RadioButtonGroup in WebDynpro mit Typ Date

Beitragvon black_adept » 22.05.2017, 09:21

Doku lesen zum Befehl CASE. Anmerkung - in ABAP geht etwas, was in anderen Sprachen nicht geht, und was gut für Radiobuttons verwendet werden kannn.
Code: Alles auswählen
CASE 'X'.
  WHEN Rb_1.
  WHEN Rb_2.
...
  WHEN Rb_n.

ENDCASE.
live long and prosper
Stefan Schmöcker

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

Re: RadioButtonGroup in WebDynpro mit Typ Date

Beitragvon vcelik » 23.05.2017, 13:28

Thanatos82 hat geschrieben:Moin,

kannst du dein Vorhaben noch etwas genauer erklären? Willst du anhand der Radiobuttons einen Select auf deine DB-Tabelle ausführen? Oder sollen direkt Felder in einer Tabelle auf einem View damit gefüllt werden?


Ich bin dabei eine Art Formular in einer WebDynpro zu programmieren. Der User kann Tests planen. Hierbei soll er angeben in welchem Quartal er vor hat zu testen.

Was ich möchte ist eine gruppe von RB's die von Quartal 1 bis Quartal 4 gehen. Abhängig davon, welches Quartal geckecked wird soll der übermittelte wert die Zeitspanne des Quartals sein. Also z.B. 01.01. bis 31.03 wenn Quartal 1 gechecked wird. Nach Speicherung der im Formular eingegebenen Daten und Auswahlmöglichkeiten soll in der Datenbanktabelle in der Spalte 'Zeitraum von' 01.01 und 'Zeitraum bis' 31.03. stehen.

Mein Schwierigkeit an der Sache ist die Logik dahinter zu verstehen wie man in ABAP Daten abholt, diesen einen Wert mitgeben kann um sie dann letztendlich in der Datenbanktabelle abzulegen.

Ich hoffe du verstehst mein Vorhaben, ich bin nämlich so langsam am verzweiflen... :D
vcelik
ForumUser
 
Beiträge: 22
Registriert: 02.05.2017, 08:05
Dank erhalten: 0 mal
Ich bin: Student/in

Re: RadioButtonGroup in WebDynpro mit Typ Date

Beitragvon Thanatos82 » 23.05.2017, 13:34

Hi,

so ganz klar ist es mir noch nicht, aber vielleicht mal einiges grundlegendes anhand dessen du weiter kommen solltest:
1. dein Formular hat ja sicher einen "Sichern"-Button und somit auch eine onAction-Methode. In dieser prüfst du mit der von black_adept vorgeschlagenen CASE-Anweisung welcher RB besetzt ist und weißt den Feldern den dementsprechenden Inhalt zu:
Code: Alles auswählen
CASE 'X'.
  WHEN rb_1.
    CONCATENATE sy-datum+0(4) "aktuelles Jahr
                          '0101'
                 INTO lv_von.
    CONCATENATE sy-datum+0(4) "aktuelles Jahr
                          '0331'
                 INTO lv_bis.
  WHEN rb_2.
    CONCATENATE sy-datum+0(4) "aktuelles Jahr
                          '0401'
                 INTO lv_von.
    CONCATENATE sy-datum+0(4) "aktuelles Jahr
                          '0630'
                 INTO lv_bis.  
  WHEN rb_3.
    CONCATENATE sy-datum+0(4) "aktuelles Jahr
                          '0701'
                 INTO lv_von.
    CONCATENATE sy-datum+0(4) "aktuelles Jahr
                          '0930'
                 INTO lv_bis.  
  WHEN rb_4.
    CONCATENATE sy-datum+0(4) "aktuelles Jahr
                          '1001'
                 INTO lv_von.
    CONCATENATE sy-datum+0(4) "aktuelles Jahr
                          '1231'
                 INTO lv_bis.
ENDCASE.
 


2. Beim Sichern deiner Daten auf der Datenbank musst du ja eine Struktur der Tabellendefinition haben. In dieser füllst du deine von und bis Werte mit den oben ermittelten Werten und machst anschließend ein INSERT oder MODIFY auf diese DB-Tabelle.

Hoffe das hilft dir erstmal weiter.
Gruß,
der Matze

Für diese Nachricht hat Thanatos82 einen Dank bekommen :
vcelik
Thanatos82
Expert
 
Beiträge: 688
Registriert: 13.09.2012, 13:01
Wohnort: Hagen
Dank erhalten: 124 mal
Ich bin: Entwickler/in

Re: RadioButtonGroup in WebDynpro mit Typ Date

Beitragvon vcelik » 24.05.2017, 07:49

Hoffe das hilft dir erstmal weiter.


Danke das tut es auf Jeden Fall..

Dank der beschriebenen Methode weiß ich, wie abhängig davon wo das X gesetzt wird der Wert mitgegeben wird.

Ich habe jetzt einen Datentyp mit Domänenfestwerten versehen, die lauten Q1 Q2 Q3 Q4. Kann ich mit einer RadioButtonGroupByIndex diese Werte übernehmen, sodass ich meine 4 Radiobuttons habe? Und wenn ja wie genau mache ich das? Ich habe mal damit versucht die Werte abzuholen, wie kann ich das ganze weiter instanziieren sodass ich diese 4 Q's holen kann ?

Code: Alles auswählen
DATA: ls_nd_r_main_node type ref to if_wd_context_node,
      lo_el_radioquartal type ref to if_wd_context_element,
      ls_radioquartal type wd_this->element_radioquartal.
 
      lo_nd_radioquartal = wd_context->get_child_node( NAME = wd_this->wdctx_radioquartal ).
 
      lo_el_radioquartal = lo_nd_radioquartal->get_element( ).
     
      lo_el_radioquartal->get_static_attributes( IMPORTING static_attributes = ls_radioquartal ).


Nach googlen habe ich dashier gefunden und umgeschrieben, würde das so funzen?

Code: Alles auswählen
ls_value_set-value = 'Q1'.
      ls_value_set-text = 'Quartal 1'.
      APPEND ls_value_set to lt_value_set.


Kann ich dann nachträglich noch den Case wie beschrieben einbauen, auch mit Domänenfestwerten?

Thank you 4 advice.. :)
vcelik
ForumUser
 
Beiträge: 22
Registriert: 02.05.2017, 08:05
Dank erhalten: 0 mal
Ich bin: Student/in

Re: RadioButtonGroup in WebDynpro mit Typ Date

Beitragvon vcelik » 24.05.2017, 12:59

nochmal ein kleines Update, ich habe jetzt meine radiogroupbykey und das ganze sieht auch so aus wie gewünscht.

Mit folgendem Code bekomme ich auch die hinterlegte value in meine Tabelle:

Code: Alles auswählen
lo_nd_r_main_node = wd_context->get_child_node( NAME = 'MAIN_NODE').
       lo_nd_r_main_node->get_attribute( EXPORTING NAME = 'QUARTAL' IMPORTING value = lv_radioquartal ).
       ls_zdb_bcm-quartal = lv_radioquartal.


Ich möchte jetzt noch zusätzlich wie zuvor beschrieben eine Regelung einbinden die die Werte 'Zeitraum von' und 'Zeitraum bis' mitgibt. Wenn ich den von black_adept vorgeschlagenen Code implementiere:

Code: Alles auswählen
CASE 'X'.
    WHEN rb_1.
      CONCATENATE sy-datum+0(4) '0101' INTO lv_zeitraum_von. "aktuelles Jahr
      CONCATENATE sy-datum+0(4) '0331' INTO lv_zeitraum_bis.
    WHEN rb_2.
      CONCATENATE sy-datum+0(4) '0401' INTO lv_zeitraum_von. "aktuelles Jahr
      CONCATENATE sy-datum+0(4) '0631' INTO lv_zeitraum_bis.
    WHEN rb_3.
      CONCATENATE sy-datum+0(4) '0701' INTO lv_zeitraum_von. "aktuelles Jahr
      CONCATENATE sy-datum+0(4) '0931' INTO lv_zeitraum_bis.
    WHEN rb_4.
      CONCATENATE sy-datum+0(4) '1001' INTO lv_zeitraum_von. "aktuelles Jahr
      CONCATENATE sy-datum+0(4) '1231' INTO lv_zeitraum_bis.
  ENDCASE.


bekomme ich die Fehlermeldung: "Feld 'RB_1' unbekannt. Es ist weder....noch durch eine 'DATA' Anweisung definiert.
Ich Internet habe ich gesehen, dass man hier PARAMETER mitgeben kann, so erhalte ich aber die Fehlermeldung, dass das bei lokalen Objekten nicht möglich sei.

Wie kann ich die einzelnen Radiobuttons meiner RbGroupByKey also ansprechen? :?
vcelik
ForumUser
 
Beiträge: 22
Registriert: 02.05.2017, 08:05
Dank erhalten: 0 mal
Ich bin: Student/in


Zurück zu ABAP® für Anfänger

  Aktuelle Beiträge   
User-Exit Arbeitsplananlage/-änderung
vor 9 Stunden von Romaniac 5 Antw.
gelöst Erweiterung im Selscreen --> Text für Radiobutton setzen
vor 10 Stunden von Romaniac 6 Antw.
Die Assert Bedingung wurde verletzt
Gestern von ralf.wenzel 1 Antw.
Dump bei SUSR_USER_BUFFERS_TO_DB
vor 13 Stunden von DeathAndPain 6 Antw.
OAuth 1.0 statt 2.0 in ABAP Web Dynpro verwenden?
Gestern von Mijira 0 Antw.

  Ähnliche Beiträge beta
Date in WHERE-Bedingung
10.12.2012, 10:21 von jensschladitz 4 Antw.
Date format konvertierung (1981-10-10 to 19811010)
15.08.2012, 08:40 von mnd 4 Antw.
gelöst Debugger bei WebDynpro
30.01.2013, 10:01 von donossi 14 Antw.
Fragen zu WebDynpro
21.01.2013, 10:28 von Trulchen 1 Antw.
Seitenfragment in WebDynpro ?
29.07.2014, 08:03 von Dyrdek 0 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: Majestic-12 [Bot]

Feedback ...?

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

... Absenden!
cron