RadioButtonGroup in WebDynpro mit Typ Date

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

RadioButtonGroup in WebDynpro mit Typ Date

Beitrag von vcelik (ForumUser / 22 / 7 / 0 ) »
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!

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


Re: RadioButtonGroup in WebDynpro mit Typ Date

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
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

Re: RadioButtonGroup in WebDynpro mit Typ Date

Beitrag von vcelik (ForumUser / 22 / 7 / 0 ) »
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 ? :(

Re: RadioButtonGroup in WebDynpro mit Typ Date

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
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

Re: RadioButtonGroup in WebDynpro mit Typ Date

Beitrag von black_adept (Top Expert / 4086 / 126 / 940 ) »
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

Re: RadioButtonGroup in WebDynpro mit Typ Date

Beitrag von vcelik (ForumUser / 22 / 7 / 0 ) »
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

Re: RadioButtonGroup in WebDynpro mit Typ Date

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
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.

Folgende Benutzer bedankten sich beim Autor Thanatos82 für den Beitrag:
vcelik

Gruß,
der Matze

Re: RadioButtonGroup in WebDynpro mit Typ Date

Beitrag von vcelik (ForumUser / 22 / 7 / 0 ) »
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.. :)

Re: RadioButtonGroup in WebDynpro mit Typ Date

Beitrag von vcelik (ForumUser / 22 / 7 / 0 ) »
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? :?

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1984
Views
Payment Value Date wrong ShouldPosting date + 3
von Junior Consultant » 08.11.2012 19:04 • Verfasst in Financials
4
Antw.
2678
Views
RadiobuttonGroup initial leer setzen - wie?
von Obelix1 » 12.01.2015 15:15 • Verfasst in Web-Dynpro, BSP + BHTML
1
Antw.
5465
Views
Date conversions
von Gast » 22.03.2005 16:33 • Verfasst in Development Related
4
Antw.
3709
Views
Date in WHERE-Bedingung
von reichi » 04.12.2012 19:29 • Verfasst in ABAP® für Anfänger
1
Antw.
6634
Views
konvertierung von CHAR(10) zu DATE
von HaXor » 20.06.2007 14:21 • Verfasst in ABAP® Core

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 17 Stunden von Bright4.5 1 / 369
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2014
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8611