常见问题:TBarCode/SAPwin - SAP 条码 DLL
二维条码的数据长度限制
二维条码的数据长度限制
根据 SAP 版本以及您使用 SAPscript 还是 Smart Forms,条码的数据长度限制在 70 到 255 个字符之间。
- 技术背景:在 SAP 中,行处理分两个步骤进行:第一步,段落按普通文本处理,即根据可用空间和字体大小自动插入换行。第二步,标记为条码的行被传递给条码生成器,生成条码图像。但只有第一行(换行之前的部分)会被转换为条码——其余部分不会被转换。因此目标是避免不必要的换行,并确保条码数据能容纳在一行文本内。
以下介绍解决此限制的常见变通方法:
字体大小
为绘制条码的这一行使用非常小的字体大小(例如 6 磅)。这样可以增加实际行内可容纳的字符数。
Smart Forms
请参阅 OSS 说明 497380。请尝试通过打印控制激活条码,并使用多个字段(每个 255 字符)。
SAPscript
使用如下所示的打印控制命令。打印控制的名称可在设备类型中查看(SE73 打印机条码)。将数据拆分到多个字段中(每个 68 字符)。
/: PRINT-CONTROL SBP90. = &V_BC1& = &V_BC2& /: PRINT-CONTROL SBS01.
根据 SAP 说明 197177,可能需要用小字体标签将打印控制命令括起来:
* <fs><32> /: PRINT-CONTROL SBP90. = &V_BC1& = &V_BC2& /: PRINT-CONTROL SBS01. * </>
此外,您也可以使用 SAP 说明 497491 中所示的 RAWTEXT 命令:
/: PRINT-CONTROL SBP90. /: RAWTEXT &V_BC1& /: RAWTEXT &V_BC2& /: PRINT-CONTROL SBS01.
条码 DLL 变量
条码 DLL 支持“变量”,这些变量会在创建条码前拼接在一起。使用该方法同样需要将数据拆分为多个“数据块”。优点:您可以使用通用字符格式来创建条码,并省去(设备类型专属的)打印控制命令。
参见 二维条码数据拆分