TABLE CONTROL zeigt leere Zeilen an

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

TABLE CONTROL zeigt leere Zeilen an

Beitrag von damtre (ForumUser / 9 / 0 / 0 ) »
Hallo,

ich habe auf einem Dynpro ein Table Control mit dem Namen ZAHLEIN.

Die Ablauflogik des Dynpro sieht folgendermaßen aus:

Code: Alles auswählen.

PROCESS BEFORE OUTPUT.
* MODULE STATUS_2900.
  MODULE data_retrieval.

  LOOP AT it_zahlein INTO wa_zahlein WITH CONTROL ZAHLEIN.
    MODULE populate_screen.
  ENDLOOP.

PROCESS AFTER INPUT.
  LOOP AT it_zahlein.
    MODULE refresh_rows.
  ENDLOOP.
* MODULE USER_COMMAND_2900.
Das MODUL data_retrieval hat folgenden Inhalt:

Code: Alles auswählen.

module DATA_RETRIEVAL output.

SELECT * FROM zk31s11_t_zahlea INTO CORRESPONDING FIELDS OF TABLE it_zahlein WHERE ZAHLEA = '+'.

endmodule.                 " DATA_RETRIEVAL  OUTPUT

Das MODUL populate_screen hat folgenden Inhalt:

Code: Alles auswählen.

module POPULATE_SCREEN output.

    MOVE-CORRESPONDING wa_zahlein TO zahlein.

endmodule.                 " POPULATE_SCREEN  OUTPUT
Das MODUL refresh_rows hat folgenden Inhalt:

Code: Alles auswählen.

MODULE refresh_rows INPUT.

  MOVE-CORRESPONDING zahlein TO wa_zahlein.

  MODIFY it_zahlein FROM wa_zahlein INDEX zahlein-current_line.

ENDMODULE. 
Das Problem ist, dass mein Table Control nur die Anzahl der der Datensätze anzeigt, aber deren Inhalt ist halt nicht sichtbar. Stattdessen sind die Zeilen leer und editierbar(Was sie eigentlich nicht sein sollen).

Wäre nett wenn mir jemand helfen könnte, Danke.

Ach ja noch eine Anmerkung:
Das Table Control soll AUSSCHLIEßLICH für das Anzeigen von Daten benutzt werden. Nichts weiter.

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


Re: TABLE CONTROL zeigt leere Zeilen an

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Erst einmal debuggen, ob in der Table überhaupt Einträge sind und ob diese auch richtig übertragen werden.

Re: TABLE CONTROL zeigt leere Zeilen an

Beitrag von damtre (ForumUser / 9 / 0 / 0 ) »
Beim Debuggen passiert folgendes:
1. Es werden genau 3 Einträge (so soll es auch sein) in meine interne Tabelle "it_zahlein" übertragen. (Module data_retrieval)
2. In der Loop Schleife werden die Daten dann Zeilenweise in den Arbeitsbereich WA_Zahlein geladen und anschließend über das Modul populate_screen die Daten an Zahlein (das ist das Table Control) übergeben. (Denke ich zumindest das das getan wird, denn die interne tabelle und auch der Arbeitsbereich werden mit den Daten gefüllt.)
3. Das PAI...

Code: Alles auswählen.

PROCESS AFTER INPUT.
  LOOP AT it_zahlein.
    MODULE refresh_rows.
  ENDLOOP.
* MODULE USER_COMMAND_2900.
...wird gar nicht erst ausgeführt, aber das liegt ja daran das vom geladenen Dynpro noch kein PAI ausgelöst worden ist....

Also, wie gesagt es existieren Daten in der internen Tabelle und auch im Arbeitsbereich...
Ist vielleicht meine Anweisung für das Hinzufügen der im Arbeitsbereich stehenden Daten in das Table Control falsch?

Code: Alles auswählen.

MOVE-CORRESPONDING wa_zahlein TO zahlein.

Noch eine Anmerkung:
Hier noch die Deklaration der internen Tabelle, des Arbeitsbereiches und des Controls.

Code: Alles auswählen.

**************************************
* DATENDEKLARATION FÜR TABLE CONTROL *
**************************************

CONTROLS: ZAHLEIN TYPE TABLEVIEW USING SCREEN 2900.
DATA: it_zahlein TYPE TABLE OF zk31s11_t_zahlea initial size 0, wa_zahlein TYPE zk31s11_t_zahlea.
Danke.

Re: TABLE CONTROL zeigt leere Zeilen an

Beitrag von damtre (ForumUser / 9 / 0 / 0 ) »
Weiß denn niemand einen Rat? Ich glaube ich bin nicht der einzige der glaubt ABAP mache manchmal was es will! ;)

Re: TABLE CONTROL zeigt leere Zeilen an

Beitrag von black_adept (Top Expert / 4086 / 126 / 940 ) »
Wie heißen denn die Felder auf dem Dynpro und sind namensgleiche Felder (global) im Programm definiert?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: TABLE CONTROL zeigt leere Zeilen an

Beitrag von damtre (ForumUser / 9 / 0 / 0 ) »
Auf dem Dynpro existiert NUR das TableControl mit Namen ZAHLEIN.
Die Spalten des TableControls werden über das DDic importiert.
Die Spalten heißen:

ZK31S11_T_ZAHLEA-ZAHLEANR
ZK31S11_T_ZAHLEA-ZAHLEA
ZK31S11_T_ZAHLEA-BETRAG

Es gibt im TOP-Include KEINE Namensgleichen Spalten.

Vielleicht kann mir jemand Code zeigen mit dem man eine einfach TableControl Tabelle mit Daten einer Tabelle füllt.
Ich brauche nämlich nur die absolute Light-Version eines solchen Controls.

Die Tipps und Codebeispiele im Netz funktionieren leider alle irgendwie nicht.

Danke.

Re: TABLE CONTROL zeigt leere Zeilen an

Beitrag von inab (ForumUser / 69 / 0 / 6 ) »
Mal 'ne ganz dumme Frage dazu ...

Warum ein TableControl, wenns doch ganz einfachmit nem ALV geht ?

Re: TABLE CONTROL zeigt leere Zeilen an

Beitrag von black_adept (Top Expert / 4086 / 126 / 940 ) »
damtre hat geschrieben: Die Tipps und Codebeispiele im Netz funktionieren leider alle irgendwie nicht.
Der hier sollte funktionieren http://help.sap.com/saphelp_470/helpdat ... ontent.htm ,
wenn man das Coding komplett kopiert und auch alle weiteren Anweisungen im Text befolgt.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: TABLE CONTROL zeigt leere Zeilen an

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Hi!

Kurz auf den Punkt gebracht:
Deine Felder am Dynpro müssen GENAU SO lauten wie in deinem Programm!
Sonst erfolgt kein Feldtransport!

d.h. Du musst bei POPULATE_SCREEN anstatt ZAHLENEIN eine Struktur mit dem Namen ZK31S11_T_ZAHLEA befüllen.

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: TABLE CONTROL zeigt leere Zeilen an

Beitrag von damtre (ForumUser / 9 / 0 / 0 ) »
@inab
Aufgabenstellung setzt die Verwendung eines ALV und eines Table Control voraus, daher muss ich auch ein Table Control verwenden. Wer hätte gedacht, dass sich das gleich so kompliziert herausstellt.

@ a-dead-trousers
Habe deine Änderung vorgenommen. Leider gibts da einen Programmabbruch.
Den ich nun nicht ganz nachvollziehen kann.

Ich habe hier mal die Fehlermeldung hochgeladen.

Zur Verdeutlichung der Lage...
1. Die Felder auf dem Dynpro und auch die Felder im DDic heißen gleich.
2. Der Datentyp dieses Feldes ist ein DEC (Rechen- oder Betragsfeld mit Komma und Vorzeichen ) mit der Länge 7 und zwei Dezimalstellen.
3. Es heisst, dass es vorkommen kann, dass das Feld auf dem Dynpro mehr Platz brauchen könnte als im DDic angegeben.

Wie kann ich denn das Problem dann lösen?

Re: TABLE CONTROL zeigt leere Zeilen an

Beitrag von damtre (ForumUser / 9 / 0 / 0 ) »
Ok ich konnte das Problem lösen... Musste an der Formatierung der Ausgabespalte "Betrag" die Ausgabelänge um 2 Felder vergrößern.

Seite 1 von 1

Vergleichbare Themen

2
Antw.
6120
Views
Table Control: Eingabebereitschaft nur für bestimmte Zeilen
von tigs » 14.02.2006 13:34 • Verfasst in Dialogprogrammierung
4
Antw.
7336
Views
Table Control - Markierte Zeilen lesen
von ThomasCGN » 25.10.2006 10:42 • Verfasst in Dialogprogrammierung
0
Antw.
1011
Views
4
Antw.
3600
Views
Table Control: Einzelne Zeilen sperren? Eilt etwas... :(
von Spaulding » 27.04.2005 12:56 • Verfasst in Dialogprogrammierung
2
Antw.
901
Views
AdobeForms: leere Tab.Zeilen drucken
von douz2001 » 31.08.2020 11:18 • Verfasst in ABAP® für Anfänger

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 16 Stunden von Bright4.5 1 / 357
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2000
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8600