Dynpro-Felder werden nicht übernommen

Getting started ... Alles für einen gelungenen Start.
18 Beiträge • Seite 1 von 2 (current) Nächste
18 Beiträge Seite 1 von 2 (current) Nächste

Dynpro-Felder werden nicht übernommen

Beitrag von Marc K. (ForumUser / 62 / 3 / 0 ) »
Hallo,

ich habe folgendes Problem.

Ich habe im Screen Painter Felder gebaut. Dann habe ich drei Transaktionen Create, Change, Show.

Bei Create fülle ich meine Felder aus, es wird in die DB nicht das übernommen, was ich gefüllt habe.
Bei Change macht es mir überhaupt keine Änderungen!

Das ganze funktionierte anwandfrei bis ich einige Schönheitsarbeiten im Code durchgeführt hatte, wahrscheinlich habe ich was gelöscht, was doch wichtig war!

Kann mir jemand erklären woran dies liegt?

Vielen Dank!

P.S. wie füge ich in die Menüleiste eigene Menüs? Beim 'Status' Menüleiste einblenden? -> werden aber nicht angezeigt.

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


Re: Dynpro-Felder werden nicht übernommen

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Marc K. hat geschrieben: Das ganze funktionierte anwandfrei bis ich einige Schönheitsarbeiten im Code durchgeführt hatte, wahrscheinlich habe ich was gelöscht, was doch wichtig war!
Kann mir jemand erklären woran dies liegt?
Das ist ziemlich klar: Du hättest die Zeilen 413 bis 418 nicht löschen dürfen!

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
Marc K.


Re: Dynpro-Felder werden nicht übernommen

Beitrag von Marc K. (ForumUser / 62 / 3 / 0 ) »
ewx hat geschrieben:
Marc K. hat geschrieben: Das ganze funktionierte anwandfrei bis ich einige Schönheitsarbeiten im Code durchgeführt hatte, wahrscheinlich habe ich was gelöscht, was doch wichtig war!
Kann mir jemand erklären woran dies liegt?
Das ist ziemlich klar: Du hättest die Zeilen 413 bis 418 nicht löschen dürfen!

Das war ja sehr witzig!!!!

Und nun zur Problemstellung! Wieso werden die Felder nicht übernimmen bzw. aktualisiert? Weis du evtl. ein Tipp?

Re: Dynpro-Felder werden nicht übernommen

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Das war kein Witz sondern ein Wink.
Lies dir doch bitte deine Frage mal durch und frage dich, ob du helfen könntest, wenn dir jemand deine Frage stellt.

Re: Dynpro-Felder werden nicht übernommen

Beitrag von Marc K. (ForumUser / 62 / 3 / 0 ) »
Evtl. hast du recht! Manchmal ist es echt sehr schwierig die Fragen zu stellen um den Vorgang richtig zu beschreiben...

nun versuche ich's neu!

Ich möchte den Eintrag in die DB einfügen.

Ich fülle in meinem Dynpro felder aus, klicke aufs Erstellen -> in die DB wird aber der Inhalt der Felder nicht der übernommen, mit dem ich meine Felder ausgefüllt habe (ausgefüllte Felder sind nicht gleich den Feldern in der DB). Und zwar es wird immer wieder der gleiche Inhalt übernommen!

Z.B. Felder die ich ausfülle:
Feld 1 - Inhalt 1
Feld 2- Inhalt 2

Felder in der DB:
Feld 1 - Inhalt3
Feld 2 - Inhalt4

Neues Datensatz einfügen:

Felder die ich ausfülle:
Feld 1 - Inhalt 5
Feld 2- Inhalt 6

DB:
Feld 1 - Inhalt3
Feld 2 - Inhalt4

Re: Dynpro-Felder werden nicht übernommen

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Evtl. kommen wir ohne Coding nicht weiter...
Hast du mal im Debugger geschaut, was passiert?

Re: Dynpro-Felder werden nicht übernommen

Beitrag von Marc K. (ForumUser / 62 / 3 / 0 ) »
Es wird einfach der 'alte' Inhalt übernommen, was in den Feldern steht, interessiert den gar nicht!

Und ich weiss gar nicht wo der 'alte' Inhalt herkommt!

so sieht's bei mir aus:

Code: Alles auswählen.

process before output.

*Dynpro initialisieren
  module STATUS_0110.

*Equipmentdaten lesen
  module READ_DATA_0110.

Code: Alles auswählen.

module read_data_0110.

* Equipmentnummer bereitstellen
  check  EQUI-EQUNR  is not initial.
  check  *EQUI-EQUNR  ne  EQUI-EQUNR.

  select single  *  into *EQUI
         from EQUI
         where EQUNR  =  EQUI-EQUNR.

  if SY-SUBRC  is initial.
    EQUI  =  *EQUI.
  endif.

endmodule.
Und dann kommt PAI:

Code: Alles auswählen.

process after input.

  module EXIT_0110 at exit-command.

* Prüfen, ob Equi.Nummer existiert bereits
  chain.
    field  EQUI-EQUNR.
    module SPERR_EQUIPMENT_0110.
  endchain.

  module USER_COMMAND_0110.
Und zu dem Zeitpunkt sind die Felder schon mit dem 'alten' Inhalt gefüllt!

Code: Alles auswählen.

module USER_COMMAND_0110 input.

  G_CODE = OK_CODE.
  clear OK_CODE.

  case  G_CODE.
    when 'CREATE'.
        LS_DATA_GENERAL-OBJECTTYPE  = EQUI-EQART.
        LS_DATA_GENERAL-INVENTORY   = EQUI-INVNR.
        LS_DATA_GENERAL-MANFACTURE  = EQUI-HERST.

      call function 'BAPI_EQUI_CREATE'
        exporting
          EXTERNAL_NUMBER         = LV_EXTERNAL_NUMBER
          DATA_GENERAL            = LS_DATA_GENERAL
          DATA_SPECIFIC           = LS_DATA_SPECIFIC
*     DATA_FLEET              =
          VALID_DATE              = LV_VALID_DATE
          DATA_INSTALL            = LS_DATA_INSTALL
       importing
          EQUIPMENT               = LV_EQUIPMENT
          DATA_GENERAL_EXP        = LS_DATA_GENERAL_EXP
          DATA_SPECIFIC_EXP       = LS_DATA_SPECIFIC_EXP
**     DATA_FLEET_EXP          =
          RETURN                  = LS_RETURN.

      if LV_EQUIPMENT  is not initial.
        call function 'BAPI_TRANSACTION_COMMIT'
          exporting
            WAIT = 'X'.
       endif.
endcase.
endmodule.

Re: Dynpro-Felder werden nicht übernommen

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Marc K. hat geschrieben:Und zu dem Zeitpunkt sind die Felder schon mit dem 'alten' Inhalt gefüllt!
Du liest doch aber auch EQUI, also den "alten Inhalt".
Und im PAI bearbeitest du nur den OK-Code "CREATE". Kein "CHANGE".

Re: Dynpro-Felder werden nicht übernommen

Beitrag von Marc K. (ForumUser / 62 / 3 / 0 ) »
Bei CHANGE ist das gleiche Problem, die Felder werden nicht überschrieben bzw. geändert.

Aber warum, wenn ich einen neuen Eintrag erstelle, sind die Daten vom alten drin?

Re: Dynpro-Felder werden nicht übernommen

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Marc K. hat geschrieben:Bei CHANGE ist das gleiche Problem, die Felder werden nicht überschrieben bzw. geändert.
Also so kommen wir nicht weiter!
Woher soll ich den wissen was bei CHANGE passiert, wenn du das Coding dafür nicht postest??
So komplex scheint das Programm ja noch nicht zu sein... Gehe doch bitte mit dem Debugger mal Schritt für Schritt durch und prüfe, wann die Felder gefüllt werden.

Re: Dynpro-Felder werden nicht übernommen

Beitrag von Marc K. (ForumUser / 62 / 3 / 0 ) »
OK, gefunden wo die Felder mit dem 'alten Inhalt gefüllt werden.
Da -> module SPERR_EQUIPMENT_0110.
Wenn ich CREATE mache:

Code: Alles auswählen.

module SPERR_EQUIPMENT_0110 input.

  select single * from EQUI where EQUNR = EQUI-EQUNR.

*Equipment gefunden
  if SY-SUBRC = 0.

**Equipment sperren
*    call function 'ENQUEUE_EIEQUI'
*     exporting
*       MODE_EQUI            = 'E'
*       MANDT                = SY-MANDT
*       EQUNR                = EQUI-EQUNR
**       X_EQUNR              = ' '
**       _SCOPE               = '2'
**       _WAIT                = ' '
**       _COLLECT             = ' '
*     exceptions
*       FOREIGN_LOCK         = 1
*       SYSTEM_FAILURE       = 2
*       others               = 3
*              .
*    if SY-SUBRC <> 0.
** Equipment kann nicht gesperrt werden
*      message E005.
*    endif.
*Equipment existiert nicht
  else.
*Beim Ändern und Anzeigen muss Equipment vorhanden sein
    if SY-TCODE = 'ZIE02' or SY-TCODE = 'ZIE03'.
      message E002 with EQUI-EQUNR.
    endif.
  endif.

endmodule.     
und zwar wenn ich select durchführe. EQUI-EQUNR wird neu vergeben, aber EQUI-EQTYP und andere Felder sind mit dem 'alten' Inhalt gefüllt.
Dies verstehe ich nicht.

Eine Idee?

Re: Dynpro-Felder werden nicht übernommen

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Wahrscheinlich ist der Verbucher noch nicht durch und du liest einfach die alten Daten erneut von der DB.
Der Zusatz "AND WAIT" beim Commit funktioniert nicht so, wie du es wahrscheinlich erwartest. Frag mich nicht warum...
Setze vor dem Update den Befehl SET UPDATE TASK LOCAL. Dann wird tatsächlich synchron verbucht.

Re: Dynpro-Felder werden nicht übernommen

Beitrag von Marc K. (ForumUser / 62 / 3 / 0 ) »
Ich habe es neu versucht und folgendes:

Die Felder, die ich neu ausfülle sind zum Zeitpunkt noch da:

Code: Alles auswählen.

process after input.
* Prüfen, ob Equi.Nummer existiert bereits
  chain.
    field  EQUI-EQUNR.
    module SPERR_EQUIPMENT_0110.
  endchain.
Erst wenn im module SPERR_EQUIPMENT_0110. SELECT aufgerufen wird, werden die Felder mit dem alten inhal überschrieben.
????

Re: Dynpro-Felder werden nicht übernommen

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
ewx hat geschrieben:Wahrscheinlich ist der Verbucher noch nicht durch und du liest einfach die alten Daten erneut von der DB.
Der Zusatz "AND WAIT" beim Commit funktioniert nicht so, wie du es wahrscheinlich erwartest. Frag mich nicht warum...
Setze vor dem Update den Befehl SET UPDATE TASK LOCAL. Dann wird tatsächlich synchron verbucht.

Re: Dynpro-Felder werden nicht übernommen

Beitrag von Marc K. (ForumUser / 62 / 3 / 0 ) »
funktioniert trotzdem nicht.

Vergleichbare Themen

0
Antw.
1611
Views
Ablauflogik Dynpro: MM02 Änderungen werden nicht übernommen!
von piemo » 10.06.2008 14:08 • Verfasst in ABAP® Core
19
Antw.
1337
Views
Felder initialisieren im Dynpro
von ZF_SAPler » 04.05.2022 10:57 • Verfasst in ABAP® für Anfänger
1
Antw.
1943
Views
Web Dynpro Felder ansprechen
von dkast » 18.01.2018 13:59 • Verfasst in ABAP Objects®
2
Antw.
3063
Views
GENERATE DYNPRO und rollbare Felder
von msta » 30.03.2017 11:43 • Verfasst in Dialogprogrammierung
9
Antw.
2411
Views
Dynpro 3 Felder prüfen ohne IF
von Dyrdek » 24.02.2014 10:00 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Regex in where
vor 10 Stunden von tar 8 / 256
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1545
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 195
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 433

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

Regex in where
vor 10 Stunden von tar 8 / 256
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1545
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 195
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 433

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 2 Tagen von snooga87 1 / 138
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3315
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9869