Dynpro I/O-Felder nach Eingabe nicht leeren

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

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

Dynpro I/O-Felder nach Eingabe nicht leeren

Beitrag von Dyrdek (Specialist / 306 / 30 / 0 ) »
Hey,

Ich versuche mich an einem kleinen Dynpro und würde es gern so einstellen das nach der Eingabe bzw. der Ausführung eines PAI-Moduls, die Eingabefelder im Dynpro nicht geleert werden.

Danke schonmal :)

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


Re: Dynpro I/O-Felder nach Eingabe nicht leeren

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Wenn die geleert werden, dann weil du sie leerst. Ansonsten blieben sie gefüllt. Zeig mal bitte dein Coding.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Dynpro I/O-Felder nach Eingabe nicht leeren

Beitrag von Dyrdek (Specialist / 306 / 30 / 0 ) »

Code: Alles auswählen.

MODULE user_command_0100 INPUT.
  save_ok = ok_code.
  url_part1 = 'HTTP://'.
  url_part2 = ':'.
  CLEAR ok_code.
  CLEAR url_complete.

  CASE save_ok.
    WHEN 'SERVER'.
      url_part3 = '/REPORTS_'.

    WHEN 'WS'.
      url_part3 = '/REPORTSERVER_'.


    WHEN 'GO_BACK'.
      CALL METHOD html_viewer->go_back
        EXCEPTIONS
          cntl_error = 1.
    WHEN 'GO_FORWARD'.
      CALL METHOD html_viewer->go_forward
        EXCEPTIONS
          cntl_error = 1.
  ENDCASE.

  CALL FUNCTION 'GET_DYNP_VALUE'
   EXPORTING
     i_field = 'SERVER_INSTANZ_IO'
     i_repid = sy-repid
     i_dynnr = '0100'
*      i_conv_input = SPACE
*      i_conv_output = SPACE
   CHANGING
     o_value = server_instanz.

  CALL FUNCTION 'GET_DYNP_VALUE'
    EXPORTING
      i_field = 'PORT_IO'
      i_repid = sy-repid
      i_dynnr = '0100'
*      i_conv_input = SPACE
*      i_conv_output = SPACE
    CHANGING
      o_value = port.

  CALL FUNCTION 'GET_DYNP_VALUE'
  EXPORTING
    i_field = 'HOST_NAME_IO'
    i_repid = sy-repid
    i_dynnr = '0100'
*      i_conv_input = SPACE
*      i_conv_output = SPACE
  CHANGING
    o_value = host_name.

  IF ok_code = 'SERVER'.
    url_part3 = '/REPORTS_'.
  ELSEIF ok_code = 'WS'.
    url_part2 = '/REPORTSERVER_'.
  ENDIF.


  CONCATENATE url_complete url_part1 INTO url_complete.
  CONCATENATE url_complete host_name INTO url_complete.
  CONCATENATE url_complete url_part2 INTO url_complete.
  CONCATENATE url_complete port INTO url_complete.
  CONCATENATE url_complete url_part3 INTO url_complete.
  CONCATENATE url_complete server_instanz INTO url_complete.

  url = url_complete.

  CALL METHOD html_viewer->show_url
    EXPORTING
      url        = url
      frame      = frame
    EXCEPTIONS
      cntl_error = 1.


ENDMODULE.                    "user_command_0100 INPUT
Ich habe das Coding mal mit dem Beipspiel des HTML-Viewers in SAP verglichen, dort wird die URL-Zeile nicht gelöscht. Ich weis aber nich woran es liegt.

Re: Dynpro I/O-Felder nach Eingabe nicht leeren

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Zeig mal bitte dein PBO-Modul.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Dynpro I/O-Felder nach Eingabe nicht leeren

Beitrag von Dyrdek (Specialist / 306 / 30 / 0 ) »

Code: Alles auswählen.

MODULE status_0100 OUTPUT.

  SET PF-STATUS 'STATUS'.
  IF init is initial.
    CREATE OBJECT container
      EXPORTING
        container_name = 'CUSTOM'.
    CREATE OBJECT html_viewer
      EXPORTING
        parent             = container
      EXCEPTIONS
        cntl_error         = 1
        cntl_install_error = 2
        dp_install_error   = 3
        dp_error           = 4.
    IF sy-subrc ne 0.
* Fehlerbehandlung
    ENDIF.
    CALL METHOD cl_gui_cfw=>flush
      EXCEPTIONS
        cntl_system_error = 1
        cntl_error        = 2.
    IF sy-subrc ne 0.
* Fehlerbehandlung
    ENDIF.
    init = 'X'.
  ENDIF.

ENDMODULE.                    "status_0100 OUTPUT

Re: Dynpro I/O-Felder nach Eingabe nicht leeren

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Das Feld init brauchst du nicht, ich würde eher abfragen, ob der Container existiert oder nicht. Welches sind denn deine Eingabefelder, die gelöscht werden?
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Dynpro I/O-Felder nach Eingabe nicht leeren

Beitrag von a-dead-trousers (Top Expert / 4286 / 214 / 1142 ) »
@ralf
Sind dir die vielen GET_DYNP_VALUE Aufrufe im PAI-Modul nicht aufgefallen?

@Dyrdek
Kann es sein, dass du gar keine Variabalen für deine Dynpro-Felder im Programm definiert hast?
Wenn es kein Ziel und keine Quelle für die Inhalte gibt würde das das Verhalten erklären, warum die Felder nach PAI/PBO leer sind. Felder auf einem Dynpro werden standardmäßig immer mit den gleichnamigen(!) Feldern im Programm abgeglichen. Wenns es ein Feld nicht gibt wird es auf das Dynpro leer übernommen.

d.h. In deinem Programm musst du entweder die Felder SERVER_INSTANZ_IO, PORT_IO und HOST_NAME_IO definieren oder du nennst deine Dynprofelder wie deine bestehenden Felder SERVER_INSTANZ, PORT und HOST. Die Aufrufe von GET_DYNP_VALUE kannst du dann auch weglassen, denn die Werte stehen ja zu diesem Zeitpunkt bereits in den entsprechenden Feldern im Programm.

lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Dyrdek

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: Dynpro I/O-Felder nach Eingabe nicht leeren

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
a-dead-trousers hat geschrieben:@ralf
Sind dir die vielen GET_DYNP_VALUE Aufrufe im PAI-Modul nicht aufgefallen?
Doch, darum frage ich ja, welches die Eingabefelder sind. Zumal ich keine erkennen kann im PBO. Ich hatte gehofft, das PBO macht mich schlauer, aber dem war nicht so.

Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
Dyrdek

Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Dynpro I/O-Felder nach Eingabe nicht leeren

Beitrag von Dyrdek (Specialist / 306 / 30 / 0 ) »
Ok ... Bin wie gesagt noch ABAP Anfänger, daher bitte etwas Nachsicht wenn ich noch derartige Fehler mache :) Hat mir aufjedenfall schonmal beim Verständnis eine ganze Ecke weitergeholfen.
Aber vielen Dank schonmal, ich werde mich gleich mal dransetzen und das Ganze so umbasteln wie von euch beschrieben.

Re: Dynpro I/O-Felder nach Eingabe nicht leeren

Beitrag von Dyrdek (Specialist / 306 / 30 / 0 ) »
Ok super, danke euch ;)
Hat genau so geklappt, nun funktioniert alles wie es soll.

Seite 1 von 1

Vergleichbare Themen

15
Antw.
8265
Views
Felder im Selection-Screen leeren
von supermario73 » 24.04.2008 20:22 • Verfasst in ABAP® für Anfänger
1
Antw.
7305
Views
Felder für Eingabe sperren
von phil1982 » 10.12.2007 11:30 • Verfasst in ABAP® für Anfänger
4
Antw.
2247
Views
ALV_GRID eingabe Felder
von Waldemar » 29.11.2007 16:29 • Verfasst in ABAP® für Anfänger
1
Antw.
4560
Views
dynpro pop-up mit eingabe?
von ismailer » 16.02.2005 11:16 • Verfasst in ABAP® Core
7
Antw.
4652
Views
Dynpro - Textfeld * Eingabe
von SaskuAc » 12.10.2018 12:15 • Verfasst in ABAP® für Anfänger

Ü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.