中国邮政国内给据邮件条码编码规则应用
作者: moonsoft(http://moonsoft.itpub.net)发表于: 2007.05.31 18:16
分类: 分销
出处: http://moonsoft.itpub.net/post/15182/291459
---------------------------------------------------------------
转载注明!!!
业务种类代码 | 邮件序列编号 | 校验码 | 省别代码 |
X1X2 | X3X4X5X6X7X8X9X10 | X11 | X12X13 |
v_label varchar2(100) ;
v_a varchar2(2) default 'PN';-- 固定 业务种类代码 国内给据邮件条码
v_b varchar2(8) ;编号
v_c varchar2(1) ;--校验码
v_d varchar2 (2) default '31';--上海省别代码
v_order varchar2(3);
BEGIN
select substr(:detail.order_number, -3)
into v_order
from dual;
v_b:= '02185'||v_order;
SELECT ( 11
- MOD (( 8 * TO_NUMBER (SUBSTR (v_b, 3, 1))
+ 6 * TO_NUMBER (SUBSTR (v_b, 4, 1))
+ 4 * TO_NUMBER (SUBSTR (v_b, 5, 1))
+ 2 * TO_NUMBER (SUBSTR (v_b, 6, 1))
+ 3 * TO_NUMBER (SUBSTR (v_b, 7, 1))
+ 5 * TO_NUMBER (SUBSTR (v_b, 8, 1))
+ 9 * TO_NUMBER (SUBSTR (v_b, 9, 1))
+ 7 * TO_NUMBER (SUBSTR (v_b, 10, 1))
),
11
)
) c
into v_c
FROM DUAL;
v_label:=v_a||v_b||v_c||v_d;


