Transcript ppt

Aleph
常用Oracle表键值及批处理
周磊
以色列艾利贝斯有限公司
北京代表处
2014年6月
提纲
• 常用Oracle表键值
• 记录结果集的转换与链接
• 小结
2
常用数据表键值
记录类型
Oracle表/视图
数据库键值
业务键值
书目
Z13/Z1U/V13
Z13_REC_KEY
ISBN、索书号等
单册
Z30
Z30_REC_KEY
Z30_BARCODE
订单
Z68
Z68_REC_KEY
Z68_ORDER_NUMBER
读者
Z303/Z304/Z30
5/Z308
Z303_REC_KEY
substr(Z308_REC_KEY,
3,20)
3
书目记录结果集的获取与批处理
4
书目记录键值
• 书目记录号
 9位数字编号
 每个库都是从1号开始递增
• 书目记录号结果文件
 9位书目记录号+库代码,如:
000111111WHU01
000222222WHU01
000333333WHU01
000444444WHU01
 通常结果文件放在 $alephe_scratch目录下
5
如何获取书目结果集
6
查看书目结果集
• more $alephe_scratch/set001
000191481WHU01
000192508WHU01
000107697WHU01
000107943WHU01
000015309WHU01
000109442WHU01
000204759WHU01
000231926WHU01
……
7
其他检索方式
• p-ret-01 通用检索表单
• p-ret-03 用CCL检索
• p-ret-04 根据日期检索
• p-ret-10 检索结果集组配
• 二次检索与集合处理
8
通用检索表单(p_ret_01)
9
二次检索与集合处理
10
通过数据库获取-Z13/Z13U
11
通过数据库表获取-V13
12
通过数据库表获取书目键值样例
• 根据编目修改日期
select z13_rec_key from z13
where z13_update_date between ‘20140101’ and ‘20140531’;
• 根据原编/套录提取书目记录
select z13_rec_key from v13
where z13_sid_type=‘GUI’ and z13_sid_date between ‘20140101’
and ‘20140531’;
13
通过数据库表获取书目结果集
• 根据编目修改日期
select z13_rec_key||’WHU01’ from z13
where z13_update_date between ‘20140101’ and ‘20140531’;
• 根据原编/套录提取书目记录
select z13_bib_rec_key||z13_bib_library from v13
where z13_sid_type=‘GUI’ and z13_sid_date between ‘20140101’
and ‘20140531’;
14
结果集文件能做什么?
• 装载显示、保存邮寄
• p-print-03 输出marc或aleph顺序文件
• p-print-01 输出定制格式
• p-print-08 输出表格式
• p-manage-25 记录检查
• p-manage-37 整理记录
• p-manage-40 重建索引
• p-manage-21 全局更新
• p-manage-33 批删除
• ......
15
检索结果集打印发送
16
p-print-03 导出记录
17
p-manage-33 批删除
18
p-manage-33删除
• 在库的check_doc中定义删除前的检查
BATCH-DELETE
check_doc_delete_lkr
BATCH-DELETE
check_doc_delete_item_2
BATCH-DELETE
check_doc_delete_copies
BATCH-DELETE
check_doc_delete_order
BATCH-DELETE
check_doc_delete_loan
BATCH-DELETE
check_doc_delete_hold
 其中check_doc_delete_item_2 是检查如果该书目下挂有
已登到单册的话,书目不让删除。已登到单册是指单册处理
状态不是OR,CA,CL的单册。
19
p-manage-37 批修改书目
20
单册记录结果集的获取与批处理
25
单册记录键值
• 单册记录REC_KEY
 9位管理记录号
 6位单册顺序号(步长为10)
• 单册记录号结果文件
 15位的REC_KEY
26
获取单册记录结果集-Z30
27
获取单册记录结果集(p_ret_adm_01)
28
获取单册记录结果集
• 根据分馆、馆藏地、到达日期提取单册信息
select z30_rec_key from z30
where z30_sub_library=‘WL30’ and
z30_item_status=’11’ and z30_arrival_date between
‘20140501’ and ‘20140531’;
29
针对单册结果集的批处理-批修改
30
针对单册结果集的批处理-批删除
31
订单记录结果集的获取与批处理
32
订单记录键值
• 订单记录REC_KEY
 9位管理记录号
 5位顺序号
• 订单记录号结果文件
 14位的REC_KEY
33
获取订单记录结果集-Z68
34
获取订单记录结果集(p_acq_02_01)
35
可检索字段
可检索字段
管理记录号
出货日期
订单号
到达日期
订单号2
到达状态
订单号3
发票类型
订购组
发票号
订单打开日期
发票状态
订单更新日期
订购单册数
订单日期
单册价格
订单类型
数量备注
订单状态
订单本地价格
发票状态
订单最终价格
材料类型
发票行项目总价
分馆
付款日期
书商代码
预算代码
估计到达日期
原始预支
定制专用的订单检索服务
36
获取订单结果集-APSM打印正式订购报表
37
获取单册记录结果集
• 按订单批次号范围
select z68_rec_key from z68 where z68_order_number_1
between 'upper(&&1)' and 'upper(&&2)';
• 按书商检索
select z68_rec_key from z68 where z68_vendor_code like
'upper(&&1)%';
• 按订购日期范围检索
select z68_rec_key from z68 where z68_order_date between
'&&1' and '&&2';
• 按附加订单号2范围
select z68_rec_key from z68 where z68_order_number_2
between 'upper(&&1)' and 'upper(&&2)';
• 按订单状态检索
select z68_rec_key from z68 where z68_order_status='&&1';
38
获取订单记录结果集
• 按订购分馆
select z68_rec_key from z68 where z68_sub_library = '&&1';
• 按采访方式
select z68_rec_key from z68 where z68_method_of_aquisition =
'&&1';
• 按订购组别
select z68_rec_key from z68 where z68_order_group = '&&1';
• 按订购人检索
select substr(z71_rec_key,2,14) from z71 where z71_user_name
= 'upper(&&1)' and z71_rec_key like 'O%' and z71_type='03';
• 按预算检索
select z601_rec_key_3 from z601 where z601_rec_key like '&&1';
注:&&1需转成大写,且补齐50位。
39
针对订单结果集的批处理-打印清单
40
读者记录结果集的获取与批处理
41
读者记录键值
• 读者记录REC_KEY
 12位编号
42
读者记录相关表
• 读者全局信息Z303
• 读者本地信息Z305
• 读者地址信息Z304
• 读者ID信息Z308
43
读者记录结果集获取
• 按ID号范围
select distinct z308_id from z308 where
substr(z308_rec_key,3,20) between 'upper(&&1)' and
'upper(&&2)';
• 按单位检索
select distinct substr(z304_rec_key,1,12) from z304 where
z304_address like '%&&1%';
• 按有效期范围检索
select distinct substr(z305_rec_key,1,12) from z305 where
z305_expiry_date between '&&1' and '&&2';
• 按注册日期范围检索
select distinct substr(z305_rec_key,1,12) from z305 where
z305_registration_date between '&&1' and '&&2';
44
读者记录结果集获取
• 按读者状态检索
select distinct substr(z305_rec_key,1,12) from z305 where
z305_bor_status='&&1';
• 按读者类型检索
select distinct substr(z305_rec_key,1,12) from z305 where
z305_bor_type = '&&1';
• 按全局备注检索
select distinct z303_rec_key from z303 where
z303_field_1 like '%&&1%' or z303_field_2 like '%&&1%'
or z303_field_3 like '%&&1%';
45
记录键值转换
46
记录键值转换 - p_manage_70
• 不同结果集之间进行转换
• 转换例程有:
 ADM-TO-ITEM
 BIB-TO-HOL
 ADM-TO-ORDER
 ITEM-TO-HOL
 BARCODE-TO-ITEM
 BARCODE-TO-HOL
 BIB-TO-ADM
 HOL-TO-BIB
 BIB-TO-ITEM
 HOL-TO-ITEM
 BIB-TO-ORDER
 HOL-TO-BARCODE
 ITEM-TO-BIB
 BARCODE-TO-BIB
 ORDER-TO-BIB
 BIB-TO-BARCODE
 ADM-TO-BIB
47
记录键值转换 - p_manage_70
48
记录之间的关联关系
• 书目与单册
 z13_rec_key=substr(z30_rec_key,1,9)
• 书目与订单
 z13_rec_key=substr(z68_rec_key,1,9)
• 单册与订单
 z30_order_number=trim(z68_order_number)
• 读者
 z304_rec_key=z303_rec_key||’01’ and
 z305_rec_key=z303_rec_key||’WHU50’ and
 z308_id=z303_rec_key
49
小结
50
各种记录的键值
记录类型
键值
样例
书目记录
9位数字,即书目记录号
000123456
管理记录
9位数字,即管理记录号
000123456
单册记录
15位数字,管理记录号+6位顺序号, 000123456000010
通常顺序号以10为步长
单册条码
30位字符类型
21073597
订单记录
14位数字,管理记录号+5位顺序号
00012345600001
订单号
30位字符类型
ZGC20090010
读者记录
12位字母或数字,及读者ID
ID51
读者条码
20位字母或数字
FZ000000004
51
检索结果集
记录类型
格式
样例
检索
书目记录
nnnnnnnnn (Num 9)
书目记录号
000012345
p-ret-01
p-ret-03
p-ret-04
p-ret-10
检索模块保存
结果集
单册记录
nnnnnnnnnnnnnnn
(Num 15)
管理记录号+ 6位的
顺序号
nnnnnnnnnnnnnn
(Num 14)
管理记录号+5位的
顺序号
000012345000
010
p-ret-adm-01
000012345000
01
p-acq-02
订单记录
52
打印或其他服务
p-print-03
p-print-08
p-manage-25 (check)
p-manage-37 (fix)
p-manage-40 (reindex)
p-manage-21 (global
change)
p-manage-33 (delete)
......
p-ret-adm-01
p-manage-62 (update)
p-iem-11 (delete)
p-acq-03 (print)
任务管理与调度系统服务框架
结果集:
获取
书目记录号
管理记录号
单册键值
读者ID
订单键值
结果集
审核
处理
Thank
You!
谢谢!