Programm ZPLLOADIM
Das Programm ZPLLOADIM lädt ein im Flashspeicher des Druckers hinterlegtes Image mit Logo und erzeugt darin einen bei der DHL üblichen Barcode. Die Datei ZPLLoadIm.zpl wird im IFS gespeichert. Von dort kann sie an den Zebradrucker gesandt werden. Eine Direktausgabe über Outq finden Sie im nächsten Musterprogramm.
//**********************************************************************
// Program :?ZPLLOADIM
// Descriptions :?ZPL Test an image
// Programmer :?Toolmaker
// Creation Date :?30.01.2015
//**********************************************************************
// H E A D E R - S P E C I F I C A T I O N S
//**********************************************************************
H/COPY Qcpylesrc,H_SPECSPDF
//**********************************************************************
//F I L E S P E C I F I C A T I O N S
//**********************************************************************
// P R O T O T Y P I N G / C O P Y M E M B E R
//**********************************************************************
D/Include qprolesrc,zplsrvpgm
//**********************************************************************
// D E F I N I T I O N G L O B A L V A R I A B L E S
//**********************************************************************
d count s 10i 0
d rtn s 10i 0
//***********************************************************************
// M A I N P R O G R A M
//***********************************************************************
*INLR = *On;
ZPL_CreateLabel(count:'(*Labelname=/home/gsc/ZPLloadim.zpl)');
...
DELETE(*NO) OUTQ(ZEBRANEU)');
Return;
Das Etikett sieht dann so aus:
...
Programm ZPLPOST270
Das Programm ZPLPost270 erzeugt die um 270° gedrehte Miniaturdarstellung eines Postetiketts. Die Ausgabe der Datei ZPLPost.zpl auf den Drucker erfolgt über die OUTQ Zebraneu.
//**********************************************************************
// Program :?ZPLPost270
// Descriptions :?Test graphic and ident barcode
// Programmer :?Toolmaker
// Creation Date :?26.02.2015
//**********************************************************************
// H E A D E R - S P E C I F I C A T I O N S
//**********************************************************************
H/COPY Qcpylesrc,H_SPECSPDF
//**********************************************************************
// F I L E S P E C I F I C A T I O N S
//**********************************************************************
// P R O T O T Y P I N G / C O P Y M E M B E R
//**********************************************************************
D/Include qprolesrc,zplsrvpgm
//**********************************************************************
// D E F I N I T I O N G L O B A L V A R I A B L E S
//**********************************************************************
d count s 10i 0
d rtn s 10i 0
//**********************************************************************
// M A I N P R O G R A M
//**********************************************************************
*INLR = *On;
ZPL_CreateLabel(count:'(*Labelname=/home/gsc/ZPLloadim.zpl)');
...
DELETE(*NO) OUTQ(ZEBRANEU)');
Return;
Das Etikett sieht dann so aus:
Anchor | ||||
---|---|---|---|---|
|
Das Programm ZPLGS1128 erzeugt einen GS1-128 Barcode, der auch von der DHL verwendet wird. Damit keine Überschneidungen durch gleiche Dateinamen entstehen, wird der Dateiname mit einer Laufnummer gekoppelt. Diese wird aus der DTAARA DIRWEB/ZPLNEXTNO geholt. Die Quelle zur Erstellung dieser UDF ist in DIRWEB/QSQDSRC zu finden.
//*************************************************************************
// Program :?ZPLgs11288
// Descriptions :?Test GS1 128 mit eindeutiger Druckausgabe
// damit es im IFS keine Überschreibung geben kann.
// Programmer :?Toolmaker
// Creation Date :?23.02.2015
//*************************************************************************
// H E A D E R - S P E C I F I C A T I O N S
//*************************************************************************
H/COPY Qcpylesrc,H_SPECSPDF
//*************************************************************************
// F I L E S P E C I F I C A T I O N S
//*************************************************************************
// P R O T O T Y P I N G / C O P Y M E M B E R
//*************************************************************************
D/Include qprolesrc,zplsrvpgm
...
D/Include QPROLESRC,DWSndPMsg
//*************************************************************************
// D E F I N I T I O N G L O B A L V A R I A B L E S
//*************************************************************************
d count s 10i 0
d rtn s 10i 0
d next s 10i 0
d FileName s 12A
//*************************************************************************
// S Q L O P T I O N S
//*************************************************************************
EXEC SQL Set Option Commit = *None, DatFmt = *ISO,
CLOSQLCSR = *ENDACTGRP, Naming = *SYS;
//*************************************************************************
// M A I N P R O G R A M
//*************************************************************************
*INLR = *ON;
Monitor;
Exec SQL Set :Next = Next Value For ZPLNEXTNO;
...
DW_SndEscMsg(PGMSDS.MsgTxt);
EndMon;
Return;
Das Etikett sieht so aus: