ZPL: Zebra Programming Language可以到http://www.zebra.com/上获得更多相关信息.
以前只知在ScriptForm和SmartForm (搜"SmartForm barcode") 中能打条码. 其实在ABAP中可用ZPL直接打印条码, 而且非常灵活.
下面是一些核心的ABAP代码截取:
PERFORM GET_PRINTER.
PERFORM ASSIGN_PRINTER.
PERFORM PRINT_LABLE.
NEW-PAGE PRINT OFF.
FORM GET_PRINTER.
SELECT SINGLE * FROM USR01 WHERE BNAME EQ SY-UNAME.
IF SY-SUBRC NE 0.
CLEAR USR01.
ELSE.
MOVE USR01-SPLD TO PRINTER1.
ENDIF.
ENDFORM.
FORM ASSIGN_PRINTER.
NEW-PAGE PRINT ON DESTINATION PRINTER1
SAP COVER PAGE ' '
COPIES '1'
LINE-SIZE '132'
IMMEDIATELY 'X'
KEEP IN SPOOL 'X'
COVER TEXT SP_HEADER
NEW LIST IDENTIFICATION 'X'
DATASET EXPIRATION '1'.
* dialog.
ENDFORM.
FORM PRINT_LABLE.
...
WRITE: /'^XA'.
WRITE: /'^LH24,24'.
CONCATENATE '^PQ'PRTQTY INTO V_OUT.
WRITE: / V_OUT.
CLEAR V_OUT.
WRITE: /'^PRC'.
WRITE: /'^BY2,2,0,100'.
WRITE: /'^CI1'.
WRITE: /'^MNY'.
WRITE: /'^FO024,064^B3N,N,34,N,N'.
CONCATENATE '^FD' SER_DOC_TAB-MATNR '^FS' INTO V_OUT.
...
WRITE: /'^XZ'.
ENDFORM.
NOTE:
^FO x, y ^AON ^FD field content ^FS 横向输出文本
^FO x, y ^AOR ^FD field content ^FS 纵向输出文本
附件为ZPLII的Programming Guide.