[59334] in SAPr3-news

home help back first fref pref prev next nref lref last post

Re: 2D-Barcodes aus SAP drucken

daemon@ATHENA.MIT.EDU (Michael Franz)
Thu May 10 06:10:08 2007

To: sapr3-news@mit.edu
Date: Thu, 10 May 2007 12:02:24 +0200
From: "Michael Franz" <michael.franz@sap.com>
Message-ID: <f1uqjk$ihk$1@news.sap-ag.de>

Hallo Martin,

vielleicht hilft das ...

Gruß
Michael

=================

SAP-Hinweis Nr. 197177                       10.05.2007          Seite 1
________________________________________________________________________

Nummer              197177
Version             9 vom 03.11.2003
Status              Für Kunden freigegeben
Gesetzt am          03.11.2003

Sprache             DE
Mastersprache       DE
Kurztext            Druck von 2-D Barcodes mit SAPscript
Komponente          BC-SRV-SCR
                    SAPscript
________________________________________________________________________

Langtext

Symptom
Wie können aus SAPscript-Formularen zweidimensionale Barcodes (z.B.
PDF417) gedruckt werden?
Weitere Begriffe
SAPscript, 2-D Barcode, PDF417
Ursache und Voraussetzungen
Informationsbedarf
Lösung
Wie in Hinweis 5196 dargestellt, unterstützt SAPscript den Druck von
Barcodes wenn eine Barcodefunktionalität im verwendeten Ausgabegerät
(z.B. barcodefähiger Drucker oder Barcodesoftware) unterstützt wird.
Bei den in SAPscript unterstützen eindimensionalen Barcodes ist die
Anzahl der innerhalb eines Barcodes verschlüsselten Zeichen recht
begrenzt, i.d.R. zwischen 5 und 30 Zeichen. SAPscript besitzt daher eine
Obergrenze von 70 Zeichen, die maximal als auszugebende Daten für einen
Barcode übergeben werden können.
Da 2-D Barcodes wie PDF417 jedoch zur Verschlüsselung deutlich größerer
Datenmengen verwendet werden (einige hundert bis über eintausend Zeichen
pro Barcode), stößt eine Verwendung dieser "großen" Barcodedaten in
SAPscript auf Probleme.
Dieser Hinweis soll einen praktischen Workaround für die Umgehung dieser
Restriktion aufzeigen.

Unterstützte Produkte/Drucker:
Für den Druck von 1-D oder 2-D Barcodes aus SAPscript auf Laserdruckern
werden z.Zt. die folgenden Produkte unterstützt (Hinweis 5196):
Jetmobile BarDIMM (früher JetCAPS BarDIMM) für HP LaserJet Drucker
(Hinweis 121305)
Lexmark OPTRA Barcode SIMM für Lexmark Optra Laserdrucker (Hinweis
119471)
1-D Barcodes werden auf allen Kyocera PRESCRIBE-Druckern unterstützt.
Die im Nachfolgenden beschriebene Methode kann für Kyocera
PRESCRIBE-Drucker (SAP Gerätetypen KYOFxxxx) jedoch nicht angewandt
werden.

Druck von 2-D Barcodes auf Etikettendruckern:
Soll der 2-D Barcode auf speziellen Etikettendruckern ausgegeben werden,
informiert der Hinweis 135894 über den Druck von Etiketten aus
SAPscript. Die in den verwandten Hinweisen genannten
Drucker/Etikettenprogramme unterstützten meistens auch den Druck von 2-D
Barcodes.

Allgemeine Verfahrenshinweise für 2-D Barcodes und SAPscript:
Folgende Punkte müssen bei der Gestaltung des SAPscript-Formulars, in
dem z.B. ein PDF417 2-D Barcode ausgegeben werden soll, berücksichtigt
werden.
- Der auszugebende Barcodestring darf nicht durch SAPscript umgebrochen
werden (dadurch würde die Druckeransteuerung des Barcode-SIMM
fehlerhaft), er muß also auf jeden Fall komplett in eine Zeile des
aktuellen Formularfensters passen. Aus diesem Grund muß die
kleinstmögliche (d.h. schmalste) Schriftart gewählt werden.
Hinweis: Da die meisten Gerätetypen keine kleineren Schriftarten als 6
Punkt unterstützen, bietet es sich für diesen Zweck an, den Gerätetyp
nach Zxxxxxx zu kopieren (Hinweis 3166) und einen Druckerfont
COURIER 020 _ _ 99.99 cpi SF999 SF999
anzulegen (Hinweis 12462), der dann als Schriftart für den Barcodetext
verwendet wird (das Printcontrol SF999 sollte keine Druckerbefehle
enthalten). Durch die geringe Schrittweite von 99.99 cpi (characters per
inch) können z.B. bei einer Fensterbreite von 8 Zoll im
SAPscript-Formular 799 Zeichen als Barcodedaten ausgegeben werden, bevor
SAPscript einen Zeilenumbruch einstreut.
Zur Benutzung des neuen Druckerfonts muß noch in SE73 ein Systemfont
COURIER 020 _ _
definiert werden, danach kann dann im SAPscript-Formular ein
Zeichenformat mit Fontattributen
COURIER 020
definiert werden.
- Das Druckerkommando zur Aktivierung der Barcodefunktion des Druckers
wird entweder komplett oder teilweise in einem Printcontrol abgelegt,
das im Formular vor dem auszugebenden Barcodestring aufgerufen wird.
- Um zu verhindern, daß der SAPscript-Druckertreiber zwischen dem ersten
Printcontrol und dem Barcodestring ein Fontkommando einstreut, muß vor
dem Printcontrol ein Leerzeichen (<32>) ausgegeben werden. Dies erzwingt
den Fontwechsel vor dem Printcontrol.
- Das Druckerkommando zur Deaktivierung der Barcodefunktion des Druckers
muß mit einem Printcontrol am Ende des auszugebenden Barcodestrings
aufgerufen werden.

Beispiel für PDF417 und Jetmobile BarDIMM (HP LaserJet Drucker):
/:  DEFINE &XDIM& = 2
/:  DEFINE &YDIM& = 3
/:  DEFINE &MODHEIGHT& = 3
*   <FS><32>
/:  PRINT-CONTROL SESCP
=   (s1p&XDIM&,&YDIM&,&MODHEIGHT&,0s24850T
=   &BARCODEFIELD1&&BARCODEFIELD2&
/:  PRINT-CONTROL SBS01
regular text continues here

Mit dem o.g. Coding wird der Inhalt der Felder BARCODEFIELD1,
BARCODEFIELD2 als PDF417 Barcode ausgegeben. Als Gerätetyp muß
HPLJ4/HPLJ5/HPLJ4000 verwendet werden. Das Zeichenformat FS schaltet in
diesem Beispiel die kleinstmögliche Schriftgröße (ohne Modifikation 6
Punkt, bei Anwendung der o.g. Modifikation 2 Punkt) ein.
Das komplette Druckerkommando für den PDF417, in diesem Falle
ESC(s1p2,3,3,0s24850T
kann auch alternativ in einem eigendefinierten Printcontrol ZPDF4
abgelegt werden. In diesem Fall muß der SAP-Gerätetyp nach Zxxxx kopiert
und entsprechend modifiziert werden. Das Beispiel sähe dann
folgendermaßen aus:
*   <FS><32>
/:  PRINT-CONTROL ZPDF4
=   &BARCODEFIELD1&&BARCODEFIELD2&
/:  PRINT-CONTROL SBS01
</>regular text continues here

Die Bedeutung der einzelnen Parameter des PCL-5 Druckerbefehls für den
PDF417 Barcode entnehmen Sie bitte der Dokumentation des Jetmobile
BarDIMM.

Beispiel für PDF417 und Lexmark OPTRA Barcode SIMM (Lexmark Optra
Drucker):
*   <FS><32>
/:  PRINT-CONTROL ZPDF4
/:  PRINT-CONTROL SESCP
=   y40W
=   &BARCODEFIELD1&&BARCODEFIELD2&
/:  PRINT-CONTROL SBS01
</>regular text continues here

Mit dem o.g. Coding wird der 40 Zeichen lange Inhalt der Felder
BARCODEFIELD1, BARCODEFIELD2 als PDF417 Barcode ausgegeben. Wichtiger
Hinweis: Die Länge der Daten in beiden Feldern ist im String "y40W" mit
40 Zeichen fest eingestellt. Enthalten die Felder Daten abweichender
Länge, so muß auch dieser String entsprechend angepaßt werden. Als
Gerätetyp muß eine modifizierte Kopie Zxxxx von HPLJ4/HPLJ5/HPLJ4000
verwendet werden. Das Zeichenformat FS schaltet in diesem Beispiel die
kleinstmögliche Schriftgröße ein (ohne Modifikation 6 Punkt, sonst 2
Punkt).
Im der Kopie Zxxxx des SAP-Gerätetyps muß das Printcontrol ZPDF4
folgendermaßen definiert sein (Hexadezimalnotation):
Name: V: H: Druckerkommando:
ZPDF4 1  X  1B267831365700010402000802000000010400000000

Die Bedeutung der einzelnen Parameter der PCL-5 Druckerbefehle für den
PDF417 Barcode entnehmen Sie bitte der Dokumentation des Lexmark OPTRA
Barcode SIMM.
Reparaturen im Coding

________________________________________________________________________


Hinweis ist releaseunabhängig
Weitere Komponenten

BC-CCM-PRN-DVM
 Geräteverwaltung
________________________________________________________________________

Verweise auf verwandte Hinweise

Nummer    Kurztext
____________________________________________________________
497491    Barcodes in beliebiger Länge ausgeben
135894    Etikettendruck auf Thermo(transfer)druckern
  5196    Drucken von Barcodes mit SAPscript

________________________________________________________________________





home help back first fref pref prev next nref lref last post