我现在用的barcode4j只能生成128Auto的条形码,但需求是必须是128B的,求教怎么设置至声称128B的
4条回答 默认 最新
- weixin_38554150 2018-01-04 08:37关注
FUNCTION get_char(char_code IN PLS_INTEGER) RETURN VARCHAR2 IS
LANGUAGE JAVA NAME 'xxfnd.XxfndBarcodeUtil.getChar(int) return String';FUNCTION code128b(data_to_encode IN VARCHAR2) RETURN VARCHAR2 IS
v_c128_start VARCHAR2(3 );
v_c128_end VARCHAR2(3 );
n_checksum PLS_INTEGER := 104 ;
n_data_length PLS_INTEGER;
n_curr_char_code PLS_INTEGER;
BEGIN
-- Save the length of the content to cache.
n_data_length := length(data_to_encode);
fnd_message.set_name( 'CUX', 'CUX_FND_BARCODE_001' );
v_c128_start := fnd_message.get;
fnd_message.set_name( 'CUX', 'CUX_FND_BARCODE_002' );
v_c128_end := fnd_message.get;
FOR i IN 1 .. n_data_length LOOP
n_curr_char_code := ascii(substr(data_to_encode, i, 1));
IF n_curr_char_code >= 32 THEN
n_checksum := n_checksum +
(i * (ascii(substr(data_to_encode, i, 1)) - 32 ));
ELSE
n_checksum := n_checksum +
(i * (ascii(substr(data_to_encode, i, 1)) + 64 ));
END IF ;
END LOOP ;
n_checksum := MOD(n_checksum, 103 );IF n_checksum < 95 THEN n_checksum := n_checksum + 32; ELSE n_checksum := n_checksum + 100; END IF ; RETURN v_c128_start || data_to_encode || get_char(n_checksum) || v_c128_end;
END code128b;
借鉴一下解决 无用评论 打赏 举报
悬赏问题
- ¥100 Jenkins自动化部署—悬赏100元
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
- ¥15 perl MISA分析p3_in脚本出错
- ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
- ¥15 ubuntu虚拟机打包apk错误
- ¥199 rust编程架构设计的方案 有偿
- ¥15 回答4f系统的像差计算
- ¥15 java如何提取出pdf里的文字?