call method editor->get_text_as_r3table

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
14 Beiträge • Seite 1 von 1
14 Beiträge Seite 1 von 1

call method editor->get_text_as_r3table

Beitrag von Steffi221185 (Specialist / 132 / 0 / 0 ) »
Hallo zusammen,

ich habe ein Dynpro welches ein Controll besitzt. nun möcht ich den text von dem controll auslesen. Dies funktioniert leider nur einmal. Wenn ich den Text verändere und auf OK drücke...findet er leider keine Einträge.
Hier mal ein Auszug aus meinen Code:

Code: Alles auswählen.

CALL METHOD editor->get_text_as_r3table
    exporting
      ONLY_WHEN_MODIFIED = 1
    IMPORTING
      table  = g_mytable
      is_modified = im
    EXCEPTIONS
      OTHERS = 1.
  IF sy-subrc NE 0.
    CALL FUNCTION 'POPUP_TO_INFORM'
      EXPORTING
        titel = g_repid
        txt2  = 'Get_Text_As_R3Table Failed'
        txt1  = 'Unable to Store SQL'.
    Leave Program.
  ENDIF.

  describe table g_mytable lines anzahl_zeilen.
später setzt ich den editor free aber trotzdem funktioniert es nur einmal. kann mir jemand weiter helfen????

Bitte :cry:

Gruß Steffi

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


Beitrag von TWP (Specialist / 445 / 0 / 1 ) »
Hallo Steffi,

laut Doku, solltest du ONLY_WHEN_MODIFIED = 0 setzten, dann kommt die Tabelle immer zurück.

Gruß

Thomas

Beitrag von Steffi221185 (Specialist / 132 / 0 / 0 ) »
das funktioniert trotzdem nicht

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo zusammen,

es fehlt noch ein cl_gui_cfw=>flush, um den Transport vom Dynpro-Control in das TextEdit-Control direkt an der Programmstelle anzustoßen.

Hintergrund:
um die Netzlast nicht unnötigt zu belasten, werden Anfragen an "Dynpro"-Controls gesammelt und erst zum Ende des PBO bzw. PAI durchgeführt. Damit findet der Transport erst dann statt, wenn im ABAP der Programmteil bereitsabgearbeitet wurde. Somit sieht es so aus, als hätte sich ncihts getan.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von Steffi221185 (Specialist / 132 / 0 / 0 ) »
hi ereglam,

das cl_gui_cfw->flush hab ich auch eingebaut am Ende meines Unterprogramms.

Also es wird ja erst PBO ausgeführt und wenn ich dann beim Dynpro auf OK drücke springt er ja von da ins PAI und dort ruft er ein Unterprogramm auf. Nachdem das Programm gelaufen ist wird nochmal der PBO-Teil aufgerufen.

muss das cl_gui_cfw zwingend im PBO-Module stehen?

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Steffi,

nein, der FLUSH muss direkt im Anschluss an Deinen Methodenaufruf nachgeschoben werden, sonst klappt das nicht mit der Datenübergabe...
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von Steffi221185 (Specialist / 132 / 0 / 0 ) »
mein coding sieht jetzt so aus:

Code: Alles auswählen.

  CALL METHOD editor->get_text_as_r3table
    EXPORTING
      ONLY_WHEN_MODIFIED = 0
    IMPORTING
      table              = g_mytable
      is_modified        = im
    EXCEPTIONS
      OTHERS             = 1.
  IF sy-subrc NE 0.
    CALL FUNCTION 'POPUP_TO_INFORM'
      EXPORTING
        titel = g_repid
        txt2  = 'Get_Text_As_R3Table Failed'
        txt1  = 'Unable to Store SQL'.
    Leave Program.
  ENDIF.

  CALL METHOD cl_gui_cfw=>flush.
funktioniert aber trotzdem nicht. LEIDER

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
dieses Stück Code stammt von einer meiner Entwicklungen, die funktioniert.

Code: Alles auswählen.

          CALL METHOD get_textstream
            EXPORTING
              only_when_modified     = cl_gui_textedit=>false
            IMPORTING
              text                   = lv_string
              is_modified            = lv_is_mod
            EXCEPTIONS
              error_cntl_call_method = 1
              not_supported_by_gui   = 2
              OTHERS                 = 3.
          IF sy-subrc EQ 0.
*   flush is required for working on the content
            CALL METHOD cl_gui_cfw=>flush
              EXCEPTIONS
                cntl_system_error = 1
                cntl_error        = 2
                OTHERS            = 3.
            IF sy-subrc NE 0.
              MESSAGE e052.
*   Fehler bei der Aktualisierung der Flush-Queue.
            ENDIF.
Hast Du Dir mal das Ganze im Debugger angesehen?
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von Steffi221185 (Specialist / 132 / 0 / 0 ) »
Ja hab ich auch schon, aber da kann ich nichts feststellen.
beim ersten durchlauf enthält die Tabelle die Werte,welche ich eingegeben habe. Und beim zweiten Durchlauf ist die Tabelle leer obwohl Werte eingegeben wurden.
Solangsam weiß ich echt nicht woran das liegt.

Re: call method editor->get_text_as_r3table

Beitrag von thelocgirl (ForumUser / 8 / 0 / 0 ) »
gibts hier zu schon eine lösung? habe gerade das gleiche problem

Re: call method editor->get_text_as_r3table

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Ein Beispielprogramm wäre nützlich.
Kurz und knapp nur mit dem nötigsten, so dass wir es nachvollziehen können.

Re: call method editor->get_text_as_r3table

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
hi!

Die Lösung die ereglam gepostet hat muss funktionieren!
Dasselbe Coding setzten wir bereits mehrfach und mit Erfolg ein.

Damit man den Textstream auf eine "Texttabelle" auftrennen kann hilft

Code: Alles auswählen.

SPLIT ... AT cl_abap_char_utilities=>Cr_lf INTO TABLE ... 
lg
ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: call method editor->get_text_as_r3table

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
Hast du mal im Debugger nachgeschaut ob für den Container in dem dein Textcontrol liegt und für den Container in dem der Container liegt ( und weiter rekursiv hoch ) folgendes gilt:
Die Child-Liste des jeweiligen Containers darf nur genau einen Eintrag haben.

( Und bitte den Container im Debugger nicht über die von dir definierte Variable anzeigen lassen sondern über den Parent-Eintrag des jeweils zu überprüfenden Textcontrols/Containers)
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: call method editor->get_text_as_r3table

Beitrag von Steffi221185 (Specialist / 132 / 0 / 0 ) »
Hallo Leute,

leider ist mein Beitrag schon so alt, dass ich mich nicht mehr so Recht daran errinnern kann, wie und ob ich das gelöst habe. Kann gerne mal auf Arbeit schauen, aber das dauert noch ein paar Tage, da ich Urlaub habe ;)

Fürs nächste Mal, merk ich mir, dass ich den letzten Stand bzw. die Lösung noch poste. Ist mir wohl leider untergegangen. Sry.

LG
Steffi

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1171
Views
Call Method asynchrone
von mano79 » 24.10.2018 08:40 • Verfasst in ABAP® für Anfänger
0
Antw.
1852
Views
Web Dynpro Call Method
von Ippoo » 05.09.2012 16:10 • Verfasst in ABAP® für Anfänger
3
Antw.
3549
Views
Remote Method Call
von Beni » 24.03.2005 07:45 • Verfasst in ABAP Objects®
1
Antw.
5511
Views
Call Method - Funktionsweise?
von ostpower » 30.03.2010 15:30 • Verfasst in ABAP® für Anfänger
0
Antw.
3057
Views
CALL METHOD cl_gui_frontend_services=>gui_upload
von seco_neu » 17.08.2007 15:57 • Verfasst in ABAP Objects®

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor einer Stunde von Bright4.5 3 / 1471
Regex in where
vor 3 Stunden von tar 6 / 130
Programm anlegen mit Vorlage
vor 18 Stunden von DeathAndPain 2 / 122
IT0024 Qualifikationen CP-ID
vor 18 Stunden von DeathAndPain 2 / 353

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

Daten an Tabelle binden
vor einer Stunde von Bright4.5 3 / 1471
Regex in where
vor 3 Stunden von tar 6 / 130
Programm anlegen mit Vorlage
vor 18 Stunden von DeathAndPain 2 / 122
IT0024 Qualifikationen CP-ID
vor 18 Stunden von DeathAndPain 2 / 353

Unbeantwortete Forenbeiträge

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