Mail und Proportionale Schrift

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

Mail und Proportionale Schrift

Beitrag von TakerOne (Specialist / 102 / 0 / 3 ) »
Hallo,

ich hätte da gern mal ein Problem.

Aus einer internen Tabelle sollen Daten in einer Zeile der Mail ausgegeben werden.
Klappt auch Prima, nach jedem neuen Feld einen Tabulator und es geht wunderbar.

ABER
Es gehört auch ein Textfeld von 40 Zeichen dazu.
Abhängig vom Inhalt (1-40 Zeichen) wird durch die proportionale Schrift der Tabulator bei wenig Inhalt auf einen zu frühen Zeitpunkt gesetzt

Beispiel
123456 Hugo Mustermannshausen 23456
234567 Clara 45678

das hängt natürlich an den Tabulatoreinstellungen des Mail-Programms
Ich verwende den FuBa "'SO_DOCUMENT_SEND_API1'".

Ich suche nun eine Baustein, dem ich den String übergebe und der mir die WAHRE Länge zurückliefert.
Danach kann ich dann abhängig von der Länge entscheiden, ob ein weiterer Tabulator notwendig ist oder nicht.

Habe schon versucht mit einer Tabelle der Laufweiten "Arial" zu arbeiten, hat nur bedingt geklappt.

Hat jemand dazu einen Tipp?
Mein dank würde euch ewig nachschleichen

Gruß TakerOne
Ich bin eigentlich ein sehr netter Mensch.
Wenn ich Freunde hätte, könnten diese es bestätigen. :-)

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


Re: Mail und Proportionale Schrift

Beitrag von black_adept (Top Expert / 4087 / 126 / 940 ) »
Hallo TakerOne,

ich fürchte fast, dass dein Ansatz dir nichts bringen wird. Wenn du einen Text "normal" über die SO...API verschickst, wird dieser (glaube ich) als plaintext übertragen.
Und je nachdem was der Empfänger nun für ein Emailprogramm am Einsatz hat und was dort als Standardschrift eingestellt ist, kann es sein dass sich derselbe Text von Empfänger zu Empfänger in der Darstllung unterscheidet. Und mit dem Text dann leider auch die Tabulatorstopps.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Mail und Proportionale Schrift

Beitrag von TakerOne (Specialist / 102 / 0 / 3 ) »
Da diese Mail firmenintern an einen bestimmten Empfänger versendet wird,
sind die Grundeinstellungen mehr oder minder identisch (hoffe ich) :D

Gruß TakerOne
Ich bin eigentlich ein sehr netter Mensch.
Wenn ich Freunde hätte, könnten diese es bestätigen. :-)

Re: Mail und Proportionale Schrift

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

Einzige Möglichkeit die ich sehe, ist eine HTML Mail zu verschicken die eine Tabelle mit den Daten beinhaltet.
TakerOne hat geschrieben:Ich suche nun eine Baustein, dem ich den String übergebe und der mir die WAHRE Länge zurückliefert.
Danach kann ich dann abhängig von der Länge entscheiden, ob ein weiterer Tabulator notwendig ist oder nicht.
Wenn du den findest, sag mir bitte Bescheid! Den hätte ich auch schon sehr oft gebraucht. :P

Sowas gibt es schlicht und ergreifend nicht. Zumindest nicht außerhalb von einem Textverarbeitungsprogramm.
Man muss hier nämlich mit den sog. "Glyphen" eines Fonts arbeiten. Da die Fonts meist auf gute Lesbarkeit getrimmt sind, gibt es von "kritischen" Zeichen die sich nicht 1:1 skalieren lassen Zwischenschritte die völlig anders berechnet werden müssen. Ich glaub das gehört zum sog. Kerning.
Für SAP sehe ich da schwarz, dass sich irgendwer die Mühe einer Font-Analyse angetan hat.
Vorallem darf man eines nicht vergessen: Jeder Font kann auf unterschiedlichen Computern anders dargestellt werden. Ist nämlich sowohl vom eingestellten Druckertreiber und auch teilweise von der Grafikkarte abhängig. (Siehe Fiefox und "Hardwarebeschleunigte Fonts")

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: Mail und Proportionale Schrift

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
a-dead-trousers hat geschrieben:Für SAP sehe ich da schwarz, dass sich irgendwer die Mühe einer Font-Analyse angetan hat.
Ich glaube, du irrst dich. Leider kann ich dir aktuell nicht das Gegenteil beweisen... :P
Für Smartforms gibt es glaube ich tatsächlich irgendwo so eine "Laufweitenberechnung".

Re: Mail und Proportionale Schrift

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Ja, am ehesten da irgendwo. Hab ich selber schon mal danach gesucht, bin aber nicht fündig geworden.
Am Ende von Smartforms/SAPscript liegen die Daten ja immer im OTF-Format vor (das man dann z.B. in PDF umwandeln kann)
Das Format ist aber ein Positionierungsformat, sprich bereits um Zeilenumbrüche bereinigt.

Soweit ich mich noch erinnern kann, ist die Positionsberechnung Teil des Composers und ist von außerhalb nicht erreichbar.
(Also kein Funktionsbaustein den man einfach aufrufen könnte)
Vorallem da sich im Lauf des Druckoutputs der Font ändern kann, muss das ganze Ding zu jeder Zeit über den aktuellen Font Bescheid wissen, der noch dazu galub ich in einem SAP eigenen Format vorliegt. Deswegen glaub ich auch nicht, dass man das so einfach da rauslösen könnte um es für eigene Zwecke verwenden zu können.

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: Mail und Proportionale Schrift

Beitrag von black_adept (Top Expert / 4087 / 126 / 940 ) »
@TakerOne: Läuft dein Prog eigentlich im Hintergrund oder Online? Online könntst du evtl. auf WindowsResourcen zurückgreifen und deine Längenberechnung machen.

Oder wenn es ganz wichtig ist dass das alles 100% getabbt sein muss: Erstelle dir eine Rainbowtabelle mit allen möglichen Werten, die in deiner Mail vorkommen können mit SAP-freien Mitteln und speichere dir dies irgendwo ab.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Mail und Proportionale Schrift

Beitrag von TakerOne (Specialist / 102 / 0 / 3 ) »
Hallo,

der Report soll im Batch monatlich laufen.

Habe auch eine Tabelle der Laufweiten irgendwo im Internet gefunden.
Darauf basierend eine Routine gebastelt, die leider nur zu 80-90 % funktioniert.

Code: Alles auswählen.

REPORT  zdz_test_arial.

TABLES:
  zarial_laufw,
  beispiel.

DATA:
  lv_ein    TYPE char40,
  lv_lge(4) TYPE p DECIMALS 3,
  lv_org    TYPE i,
  lv_neu    TYPE zklein,

  lv_zaehl  TYPE i,
  lv_zaehl2 TYPE i,
  lv_einz   TYPE zklein,
  lv_einz2  TYPE zklein.


SELECT-OPTIONS:
  so_ein    FOR beispiel-btext.


LOOP AT so_ein.
  lv_ein = so_ein-low.
  lv_zaehl  = 0.
  lv_zaehl2 = 1.
  lv_lge    = 0.

  DO 40 TIMES.
    lv_einz  = lv_ein+lv_zaehl(1).
    lv_einz2 = lv_ein+lv_zaehl2(1).
    SELECT SINGLE * FROM zarial_laufw
      WHERE
        wert = lv_einz.

*   Spaces am Ende sind kleiner als im Text
    IF lv_einz  = space   AND
       lv_einz2 = space.
      lv_lge = lv_lge + '0.1'.
    ELSE.
      IF sy-subrc = 0.
        lv_lge = lv_lge + zarial_laufw-weite.
      ELSE.
        lv_lge = lv_lge + '0.6'.
      ENDIF.
    ENDIF.

    lv_zaehl  = lv_zaehl  + 1.
    lv_zaehl2 = lv_zaehl2 + 1.
    IF lv_zaehl2 > 39.
      lv_zaehl2 = 39.
    ENDIF.
  ENDDO.

  CONDENSE lv_ein.
  lv_org = STRLEN( lv_ein ).

  WRITE: /001  lv_ein,
          042  lv_lge,
          055  lv_org.
ENDLOOP.
Gruß TakerOne
Ich bin eigentlich ein sehr netter Mensch.
Wenn ich Freunde hätte, könnten diese es bestätigen. :-)

Re: Mail und Proportionale Schrift

Beitrag von black_adept (Top Expert / 4087 / 126 / 940 ) »
Hallo TakerOne,

bevor du dich stundenlang in der Längenberechnung verrennst nimm den Vorschlag von a-d-t und versende die mail im HTML-Format.
Ein sehr einfaches Beispielprogramm dazu wäre RSSOHTMLGIF, wobei du dort nur den HTML-Part verwenden musst und den Plaintext nur als Notlösung mitgibst, die dann aber die von dir ja als nicht schön befundenen falschen Tabstopps beinhaltet.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Mail und Proportionale Schrift

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
Ich hätte den Aufwand eher in eine Aufbereitung des Mail-Bodies in HTML gesteckt und den besagten Text als Tabelle dargestellt oder in die Tags <pre> gebettet.
http://www.sap4.com/wiki/index.php?titl ... Attachment

/edit. fast wäre ich schneller gewesen... 8)

Re: Mail und Proportionale Schrift

Beitrag von Dele (Specialist / 307 / 4 / 47 ) »
Hallo TakerOne,

sieht so aus, als ob du bei der Ausgabe des Textfeldes abschliessende Leerzeichen bewußt oder unbewußt entfernst.
Kannst du die nicht mit ausgeben. Dann sollte der Tabulator korrekt positioniert bleiben.

Ein anderer (nicht so schöner, aber für intern vielleicht dennoch brauchbarer) Ansatz wäre, die abschliessenden Leerzeichen durch etwas zu ersetzen (Unterstrich oder gar ein nicht darstellbares Zeichen)

Gruß dele

Seite 1 von 1

Vergleichbare Themen

10
Antw.
6326
Views
Schrift auf Dynpro formatieren
von KleinerEisbaer » 01.08.2008 19:53 • Verfasst in ABAP® für Anfänger
0
Antw.
1431
Views
Schrift in Querformat ausgeben mit Smartforms
von kasten-c » 27.03.2006 10:16 • Verfasst in ABAP® Core
4
Antw.
2855
Views
Rote Schrift bei Ausgabe von Fehler verhindern
von zer0 » 05.07.2012 10:15 • Verfasst in Dialogprogrammierung
0
Antw.
4463
Views
Smartforms Invertierter Druck (weiße Schrift auf schwarz)
von harry1991 » 08.10.2015 11:42 • Verfasst in ABAP® Core
11
Antw.
4228
Views
Schrift oder Zelle in Tabel View farbig gestalten
von Tgut » 13.06.2014 14:09 • Verfasst in Web-Dynpro, BSP + BHTML

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
Gestern von Bright4.5 1 / 565
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2193
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8788