Tabelle auf Dynpro ausgeben ?

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

Tabelle auf Dynpro ausgeben ?

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

bin ganz neu in ABAP fange gerade an zu studieren und haben ein kleines Projekt zum Einstieg in dem wie Schiffe Versenken in ABAP umsetzen müssen.
Funktionalitäten wie Abfragen usw. laufen bereits einwandfrei.
Die Frage ist jetzt nur wie wir die Karte des Schiffe Versenkens, bzw. unsere Tabelle auf dem Dynpro ausgeben.
Uns wurde geraten mit ALV zu arbeiten, habe aber auch was über Table Controls gelesen, werde aus beidem bis jetzt nicht wirklich schlauer, also weiß nicht wie ich das richtig einsetze.

Hat vielleicht jemand einen Guide oder kann mir erklären wie ich eine Tabelle einfach auf mein Dynpro zaubern kann ? :)

Danke schonmal!

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


Re: Tabelle auf Dynpro ausgeben ?

Beitrag von Pyro (Specialist / 121 / 14 / 18 ) »
Hi,

du findest ein Beispiel für OOALVs im von SAP gegebenen Demoprogramm BCALV_GRID_DEMO

Gruß
Pyro

Re: Tabelle auf Dynpro ausgeben ?

Beitrag von ewx (Top Expert / 4885 / 319 / 644 ) »
Und dann set_fixed_rows verwenden, damit der Anwender das Grid nicht zerstören kann... ;)

Das Ergebnis möchte ich bitte für meine Spiele-Rubrik haben!! ;)

Re: Tabelle auf Dynpro ausgeben ?

Beitrag von Dyrdek (Specialist / 306 / 30 / 0 ) »
****UPDATE:****
Hab eine bisschen einfachere Variante gefunden ein ALV zu generieren wie ich finde.
http://www.saphub.com/abap-tutorial/create-abap-alv/
Aber wenn ich es nach diesem Aufbau mache dann hab ich das ALV im Fullscreen anstatt nur im Container. Kann ich das irgendwie beheben ? Denn mit dieser Variante habe ich meine Spaltenüberschriften übergeben und breitere Spalten.

-------------------------------------------------------------

Danke erstmal :) Läuft soweit. Bauen unsere Abfrage jetzt noch etwas um.
Habe jetzt aber eine neue Frage. Wir hätten gerne eine Spalten- und eine Zeilen"überschrift", damit man weiß wo man hinschießt. Also "A1" z.B. Aber wie mache ich das ?
Und zweite Frage^^ Wir wollen unsere Spalten auf eine feste Größe setzen, jetzt sind die noch sehr eng beieinander. Der Nutzer kann die auseinanderziehen aber wir wollen von Anfang an das die Spalten breiter sind. Der Container is groß genug.

Danke schonmal :)

Re: Tabelle auf Dynpro ausgeben ?

Beitrag von a-dead-trousers (Top Expert / 4457 / 227 / 1198 ) »
Hi!

Das wird alles im sog. Feldkatalog eingestellt.
Die Texte in SCRTEXT_S - SCRTEXT_L werden je nach Spaltenbreite verwendet (SMALL bis LARGE)
Die Texte COLTEXT, SELTEXT and TOOLTIP sind Fixtexte.
Infos: https://help.sap.com/saphelp_erp2004/he ... ontent.htm

Die Spaltenbreite wird mit DD_OUTLEN bzw. OUTPUTLEN eingestellt (Frag mich bitte nicht was der Unterschied zwischen den beiden ist. Ich setzt immer beide auf denselben Wert)

Eine "Zeilenbeschriftung" gibt es nicht. Aber du kannst ja eine zusätzliche Spalte ganz am Anfang deiner Tabelle dafür vorsehen.

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: Tabelle auf Dynpro ausgeben ?

Beitrag von Dyrdek (Specialist / 306 / 30 / 0 ) »
OK danke schonmal :) Wir haben in unserem ALV folgender Maßen eingebaut. Aber ohne Feldkatalog. Wollte später dann noch einen anlegen und diesen einfügen aber dann kam die Nachricht das mein Feldkatalog nicht den richtigen Typ hat. Ich habe den übrigens bei IT_FIELDCATALOG eingetragen.
Entschuldigt den langen Code aber dachte ich lass das kommentierte mal drin falls ihr Felder seht die wir nutzen müssten.
Was wir gemacht haben ist einen Container im Screen-Painter angelegt und im PBO-Modul eine Tabelle 'itab' gefüllt die 10x10 groß ist.
Diese geben wir hierrüber dann aus bzw. frischen diese immer wieder nach jedem Zug auf.

CREATE OBJECT R_CONTAINER "Tabellen-container wird erstellt
EXPORTING
* PARENT =
CONTAINER_NAME = 'CONTAINER'"Name
* STYLE =
* LIFETIME = lifetime_default
* REPID =
* DYNNR =
* NO_AUTODEF_PROGID_DYNNR =
* EXCEPTIONS
* CNTL_ERROR = 1
* CNTL_SYSTEM_ERROR = 2
* CREATE_ERROR = 3
* LIFETIME_ERROR = 4
* LIFETIME_DYNPRO_DYNPRO_LINK = 5
* others = 6
.
IF SY-SUBRC <> 0. "Falls ein Fehler auftritt ausgabe Fehlermeldung
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

IF R_GRID IS INITIAL.

CREATE OBJECT R_GRID
EXPORTING
* I_SHELLSTYLE = 0
* I_LIFETIME =
I_PARENT = R_CONTAINER
* I_APPL_EVENTS = space
* I_PARENTDBG =
* I_APPLOGPARENT =
* I_GRAPHICSPARENT =
* I_NAME =
* I_FCAT_COMPLETE = SPACE
* EXCEPTIONS
* ERROR_CNTL_CREATE = 1
* ERROR_CNTL_INIT = 2
* ERROR_CNTL_LINK = 3
* ERROR_DP_CREATE = 4
* others = 5
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

CALL METHOD R_GRID->SET_TABLE_FOR_FIRST_DISPLAY "Methode um die Tabelle zur ersten Anzeige zu laden
EXPORTING
* I_BUFFER_ACTIVE =
* I_BYPASSING_BUFFER =
* I_CONSISTENCY_CHECK =
I_STRUCTURE_NAME = 'ZSV_STRUK' "Name der Struktur die zugrunde liegt
* IS_VARIANT =
* I_SAVE =
* I_DEFAULT = 'X'
* IS_LAYOUT =
* IS_PRINT =
* IT_SPECIAL_GROUPS =
* IT_TOOLBAR_EXCLUDING =
* IT_HYPERLINK =
* IT_ALV_GRAPHICS =
* IT_EXCEPT_QINFO =
* IR_SALV_ADAPTER =
CHANGING
IT_OUTTAB = JTAB "Tabelle die ausgegeben bzw angezeigt wird
* IT_FIELDCATALOG =
* IT_SORT =
* IT_FILTER =
* EXCEPTIONS
* INVALID_PARAMETER_COMBINATION = 1
* PROGRAM_ERROR = 2
* TOO_MANY_LINES = 3
* others = 4
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ELSE.

CALL METHOD R_GRID->REFRESH_TABLE_DISPLAY "Wenn kein Fehler auftritt wird die Tabelle aufgefrischt
* EXPORTING
* IS_STABLE =
* I_SOFT_REFRESH =
* EXCEPTIONS
* FINISHED = 1
* others = 2
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

ENDIF.


ENDFORM. " ausgabe

Re: Tabelle auf Dynpro ausgeben ?

Beitrag von a-dead-trousers (Top Expert / 4457 / 227 / 1198 ) »
hi!

Um den im ALV aktuell (könnte auch von Benutzer modifiziert worden sein) verwendeten Feldkatalog auszulesen gibt es die Methode GET_FRONTEND_FIELDCATALOG. Modifizieren geht analog dazu mit SET_FRONTEND_FIELDCATALOG.

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

Seite 1 von 1

Vergleichbare Themen

1
Antw.
5415
Views
Textfield als Link auf Dynpro ausgeben
von pitty » 14.10.2015 21:17 • Verfasst in ABAP® für Anfänger
0
Antw.
3662
Views
HTML-Seite in Web-Dynpro generieren und ausgeben
von Mijira » 26.09.2017 13:51 • Verfasst in Web-Dynpro, BSP + BHTML
2
Antw.
1803
Views
GUI Container ohne Dynpro nach Selektion-Screen ausgeben
von Legxis » 14.05.2019 12:22 • Verfasst in ABAP® Core
6
Antw.
2589
Views
Tabelle als Ascii ausgeben
von BMWi801 » 05.03.2018 13:26 • Verfasst in ABAP® für Anfänger
0
Antw.
2259
Views
Tabelle in BSP Applikation als PDF ausgeben
von Chrisp83 » 28.05.2008 09:59 • Verfasst in Web-Dynpro, BSP + BHTML

Über diesen Beitrag


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

Aktuelle Forenbeiträge

RFC vs. ODATA
vor 3 Tagen von DeathAndPain 8 / 1473
Frage zur redefinierten Methode
vor 5 Tagen von ralf.wenzel 12 / 1959

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

RFC vs. ODATA
vor 3 Tagen von DeathAndPain 8 / 1473
Frage zur redefinierten Methode
vor 5 Tagen von ralf.wenzel 12 / 1959