abgewandelte PDF zur Reportausgabe erstellen

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

abgewandelte PDF zur Reportausgabe erstellen

Beitrag von STDIN (ForumUser / 25 / 12 / 0 ) » 09.04.2020 08:23
Hallo zusammen,
ich möchte von meiner Reportausgabe (Tabellenform) gerne ein PDF erstellen. Das müsste ja mit einem Spool-Auftrag möglich sein. Allerdings möchte ich nur bestimmte Daten in das PDF schreiben und auch nicht in Tabellenform, sondern eher in so einer Art Aufzählung. Zusätzlich hätte ich gerne eine vorgefertigte Kopf- und Fußzeile für das PDF.

Funktioniert das so bzw. gibt es eine Möglichkeit dies so umzusetzen? Oder kann ich auch erst ein PDF mit passender Kopf- und Fußzeile hochladen und dann mit Hilfe der Daten füllen? Oder muss ich die Ausgabe meines Reports genau in der Anordnung erstellen, wie ich sie haben möchte?


Ich hoffe ihr könnt mir hierbei helfen. :)

Grüße, STDIN


Re: abgewandelte PDF zur Reportausgabe erstellen

Beitrag von Tron (Top Expert / 1150 / 20 / 258 ) » 09.04.2020 12:30
Moin.
Eine Listausgabe konvertiert in PDF ist für technische Belange ganz gut. Aber wenn es um Änderungen der Ausgabe geht, würde ich dann doch mit einem Formular liebäugeln ( Adobe PDF ).
gruß Jens

Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag:
STDIN (14.04.2020 09:08)

<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: abgewandelte PDF zur Reportausgabe erstellen

Beitrag von msfox (Specialist / 105 / 14 / 14 ) » 09.04.2020 14:15
STDIN hat geschrieben:
09.04.2020 08:23
Ich hoffe ihr könnt mir hierbei helfen. :)
Smartforms ist dein Freund....
Und wenn du noch Logik davor hast, würde ich gleich sauber in Anwendungsformular und Smarforms trennen.
Anwendungsformular: Transaktion EFRM
Smartforms: Transaktion SMARTFORMS

Folgende Benutzer bedankten sich beim Autor msfox für den Beitrag:
STDIN (14.04.2020 09:08)


Re: abgewandelte PDF zur Reportausgabe erstellen

Beitrag von STDIN (ForumUser / 25 / 12 / 0 ) » 16.04.2020 10:47
Vielen Dank für eure Antworten, habe es soweit auch hinbekommen. :)

Ich hätte allerdings nochmal eine Frage dazu:

Da ich zwei Datenbanktabellen zur Ausgabe benötige, meinte meine Kollegin, dass ich wohl diese zwei in der Transaktion Smartforms zu einer internen Tabelle zusammenfassen kann. Damit würde ich dann auch nur eine Schleife über diese itab benötigen. Dazu muss ich allerdings erst eine interne Tabelle anlegen, worauf ich den Reiter globale Daten nutzen muss. Hier gibt es allerdings nur die Auswahl 'Type' und 'Type ref to', wobei ich für die interne Tabelle ja ein 'type table of' benötige. Daraufhin habe ich in einem anderem Forumsbeitrag ( viewtopic.php?t=5016 ) hier gelesen, dass ich dies wohl unter dem Reiter 'Types' wie folgt definieren muss:

Types: gs_actvt type zactvt,
gt_actvt type table of zactvt.

und im Reiter Global Data:

gt_actvt type zactvt.
gs_actvt type zactvt.


Wenn ich dann die Daten der zwei Datenbanktabellen in meinem Coding (Program lines) in die interne Tabelle schreiben möchte, gibt es den Fehler, dass gt_actvt keine interne Tabelle ist, da 'OCCURS n' fehlt. Das Schlüsselwort Occurs ist aber auch veraltet und soll/kann nicht mehr genutzt werden. Habe es folgendermaßen in die interne Tabelle geschrieben:

select * from zactvt into table gt_actvt.

select * from zactivities_v into table gt_actvt.


Da es bei meiner Kollegin allerdings schon ein Weilchen her ist, war sie sich da auch nicht sicher, sodass ich bei ihr nicht nachfragen kann.

Re: abgewandelte PDF zur Reportausgabe erstellen

Beitrag von jocoder (Specialist / 181 / 3 / 44 ) » 16.04.2020 12:04
Weil du die Resultate von select in eine Typdefinition schreiben willst.
Eine klare Trennung von Typdefinition und DATA-Definition kann helfen.

Code: Alles auswählen.

TYPES: ty_activities TYPE TABLE OF zactvt.
DATA: gt_actvt TYPE ty_activities,
          gs_actvt TYPE zactvt.


Deine beiden SELECT-Statements nutzen dir so auch nichts. SELECT * FROM ... INTO TABLE leert immer vorher den Inhalt der internen Tabelle.
Wenn du die Daten aus der Tabelle/View ZACTIVITIES_V an die Daten aus der Tabelle/View ZACTVT anhängen möchtest, verwende besser SELECT * FROM zactivities APPENDING TABLE gt_actvt.

Folgende Benutzer bedankten sich beim Autor jocoder für den Beitrag:
STDIN (17.04.2020 15:10)


Re: abgewandelte PDF zur Reportausgabe erstellen

Beitrag von msfox (Specialist / 105 / 14 / 14 ) » 16.04.2020 14:29
STDIN hat geschrieben:
16.04.2020 10:47
dass ich wohl diese zwei in der Transaktion Smartforms zu einer internen Tabelle zusammenfassen kann.
Wie gesagt, mach's gleich richtig und packe die Logik in die Anwendungsklasse zum Smartform. Die Selektion machst du in der Anwendungsklasse und übergibst das Ergebnis über PWB_DATA an das Smartform.
Vorteil: Du kannst in der Anwendungsklasse besser debuggen. Im Smartforms lassen sich keine "sauberen" Haltepunkte setzen.

Re: abgewandelte PDF zur Reportausgabe erstellen

Beitrag von a-dead-trousers (Top Expert / 3437 / 105 / 884 ) » 16.04.2020 16:46
msfox hat geschrieben:
16.04.2020 14:29
Im Smartforms lassen sich keine "sauberen" Haltepunkte setzen.
Die Haltepunkte muss man im generierten Coding setzen damit sie funktionieren oder man arbeitet mit BREAK, aber ja, du hast recht, intuitiv ist was anderes.
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.07
Basis: 7.40

Re: abgewandelte PDF zur Reportausgabe erstellen

Beitrag von msfox (Specialist / 105 / 14 / 14 ) » 16.04.2020 21:09
a-dead-trousers hat geschrieben:
16.04.2020 16:46
oder man arbeitet mit BREAK,
Neeeinnnn, bloß nicht! Ich finde bei uns immer noch im Smartform-Code break mit Usern, die schon lange nicht mehr an dem Produkt arbeiten. Zum Glück waren es Usernamen, die nicht so üblich sind. Und die Smartforms wurden an viele Kunden ausgeliefert und nicht nur mal intern verwendet.
Blöd wenn man break hmueller setzt und dann nach Jahren plötzlich bei jemand anderem das Programm anhält. Und ohne User-Angabe geht ja noch weniger... Das wird schnell vergessen, diesen wieder zu entfernen.
Log-Point wäre noch eine Alternative. Diese kann man nämlich als Breakpoint aktivieren und deaktivieren.

Re: abgewandelte PDF zur Reportausgabe erstellen

Beitrag von a-dead-trousers (Top Expert / 3437 / 105 / 884 ) » 17.04.2020 08:37
msfox hat geschrieben:
16.04.2020 21:09
Ich finde immer noch im Smartform-Code break mit Usern, die schon lange nicht mehr an dem Produkt arbeiten. Zum Glück waren es Username, die nicht so üblich sind. Und die Smartforms wurden an viele Kunde ausgeliefert und nicht nur mal intern verwendet.
Blöd wenn man break hmueller setzt und dann nach Jahren plötzlich bei jemand anderem das Programm anhält. Und ohne User-Angabe geht ja noch weniger... Das wird schnell vergessen, dieser wieder zu entfernen.
Log-Point wäre noch eine Alternative. Diese kann man nämlich als Breakpoint aktivieren und deaktivieren.
Stimmt auch. Ich dachte dabei eher an das Entwicklungssystem und dass man danach den BREAK wieder rausnimmt. Aber auch bei uns gibt es genügen Formulare wo das vergessen wurde.

Statt eines LOG-POINT ID würde ich aber trotzdem einen BREAK-POINT ID oder ein ASSERT ID verwenden um auch wirklich dort "anhalten" zu können. 😉
Siehe auch die Einstellungsmöglichkeiten einer Checkpoint-Gruppe.
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.07
Basis: 7.40

Seite 1 von 1