aleph 常用 oracle 表键值及批处理

50
Aleph 常常 Oracle 常常常常常常常 常常 常常常常常常常常常常常 常常常常常 2014 常 6 常

Upload: graham-rowland

Post on 30-Dec-2015

124 views

Category:

Documents


0 download

DESCRIPTION

Aleph 常用 Oracle 表键值及批处理. 周磊 以色列艾利贝斯有限公司 北京代表处 2014 年 6 月. 提纲. 常用 Oracle 表键值 记录结果集的转换与链接 小结. 常用数据表键值. 书目记录结果集的获取与批处理. 书目记录 键值. 书目记录号 9 位数字编号 每个库都是从 1 号开始递增 书目记录号结果文件 9 位书目记录号 + 库代码,如: 000111111WHU01 000222222WHU01 000333333WHU01 000444444WHU01 通常结果文件放在 $ alephe_scratch 目录下. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Aleph 常用 Oracle 表键值及批处理

Aleph常用 Oracle 表键值及批处理

周磊以色列艾利贝斯有限公司

北京代表处2014 年 6 月

Page 2: Aleph 常用 Oracle 表键值及批处理

2

提纲

• 常用 Oracle 表键值

• 记录结果集的转换与链接

• 小结

Page 3: Aleph 常用 Oracle 表键值及批处理

常用数据表键值记录类型 Oracle 表 / 视图 数据库键值 业务键值

书目 Z13/Z1U/V13 Z13_REC_KEY ISBN 、索书号等

单册 Z30 Z30_REC_KEY Z30_BARCODE

订单 Z68 Z68_REC_KEY Z68_ORDER_NUMBER

读者 Z303/Z304/Z305/Z308

Z303_REC_KEY substr(Z308_REC_KEY,3,20)

3

Page 4: Aleph 常用 Oracle 表键值及批处理

书目记录结果集的获取与批处理

4

Page 5: Aleph 常用 Oracle 表键值及批处理

书目记录键值

• 书目记录号 9 位数字编号 每个库都是从 1 号开始递增

• 书目记录号结果文件9 位书目记录号 + 库代码,如:

000111111WHU01

000222222WHU01

000333333WHU01

000444444WHU01

通常结果文件放在 $alephe_scratch 目录下

5

Page 6: Aleph 常用 Oracle 表键值及批处理

如何获取书目结果集

6

Page 7: Aleph 常用 Oracle 表键值及批处理

查看书目结果集

• more $alephe_scratch/set001000191481WHU01

000192508WHU01

000107697WHU01

000107943WHU01

000015309WHU01

000109442WHU01

000204759WHU01

000231926WHU01

……

7

Page 8: Aleph 常用 Oracle 表键值及批处理

其他检索方式

• p-ret-01 通用检索表单• p-ret-03 用 CCL 检索• p-ret-04 根据日期检索• p-ret-10 检索结果集组配• 二次检索与集合处理

8

Page 9: Aleph 常用 Oracle 表键值及批处理

通用检索表单 (p_ret_01)

9

Page 10: Aleph 常用 Oracle 表键值及批处理

二次检索与集合处理

10

Page 11: Aleph 常用 Oracle 表键值及批处理

通过数据库获取 -Z13/Z13U

11

Page 12: Aleph 常用 Oracle 表键值及批处理

通过数据库表获取 -V13

12

Page 13: Aleph 常用 Oracle 表键值及批处理

通过数据库表获取书目键值样例

• 根据编目修改日期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

Page 14: Aleph 常用 Oracle 表键值及批处理

通过数据库表获取书目结果集

• 根据编目修改日期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

Page 15: Aleph 常用 Oracle 表键值及批处理

结果集文件能做什么?

• 装载显示、保存邮寄• 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

Page 16: Aleph 常用 Oracle 表键值及批处理

检索结果集打印发送

16

Page 17: Aleph 常用 Oracle 表键值及批处理

p-print-03 导出记录

17

Page 18: Aleph 常用 Oracle 表键值及批处理

p-manage-33 批删除

18

Page 19: Aleph 常用 Oracle 表键值及批处理

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

Page 20: Aleph 常用 Oracle 表键值及批处理

p-manage-37 批修改书目

20

Page 21: Aleph 常用 Oracle 表键值及批处理

单册记录结果集的获取与批处理

25

Page 22: Aleph 常用 Oracle 表键值及批处理

单册记录键值

• 单册记录 REC_KEY 9 位管理记录号 6 位单册顺序号(步长为 10 )

• 单册记录号结果文件15 位的 REC_KEY

26

Page 23: Aleph 常用 Oracle 表键值及批处理

获取单册记录结果集 -Z30

27

Page 24: Aleph 常用 Oracle 表键值及批处理

获取单册记录结果集( p_ret_adm_01)

28

Page 25: Aleph 常用 Oracle 表键值及批处理

获取单册记录结果集

• 根据分馆、馆藏地、到达日期提取单册信息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

Page 26: Aleph 常用 Oracle 表键值及批处理

针对单册结果集的批处理 - 批修改

30

Page 27: Aleph 常用 Oracle 表键值及批处理

针对单册结果集的批处理 - 批删除

31

Page 28: Aleph 常用 Oracle 表键值及批处理

订单记录结果集的获取与批处理

32

Page 29: Aleph 常用 Oracle 表键值及批处理

订单记录键值

• 订单记录 REC_KEY 9 位管理记录号 5 位顺序号

• 订单记录号结果文件14 位的 REC_KEY

33

Page 30: Aleph 常用 Oracle 表键值及批处理

获取订单记录结果集 -Z68

34

Page 31: Aleph 常用 Oracle 表键值及批处理

获取订单记录结果集 (p_acq_02_01)

35

可检索字段管理记录号

订单号订单号 2

订单号 3

订购组订单打开日期订单更新日期

订单日期订单类型订单状态发票状态材料类型

分馆书商代码

估计到达日期

可检索字段出货日期到达日期到达状态发票类型

发票号发票状态

订购单册数单册价格数量备注

订单本地价格订单最终价格

发票行项目总价付款日期预算代码原始预支

Page 32: Aleph 常用 Oracle 表键值及批处理

定制专用的订单检索服务

36

Page 33: Aleph 常用 Oracle 表键值及批处理

获取订单结果集 -APSM 打印正式订购报表

37

Page 34: Aleph 常用 Oracle 表键值及批处理

获取单册记录结果集• 按订单批次号范围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

Page 35: Aleph 常用 Oracle 表键值及批处理

获取订单记录结果集• 按订购分馆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

Page 36: Aleph 常用 Oracle 表键值及批处理

针对订单结果集的批处理 - 打印清单

40

Page 37: Aleph 常用 Oracle 表键值及批处理

读者记录结果集的获取与批处理

41

Page 38: Aleph 常用 Oracle 表键值及批处理

读者记录键值

• 读者记录 REC_KEY 12 位编号

42

Page 39: Aleph 常用 Oracle 表键值及批处理

读者记录相关表

• 读者全局信息 Z303

• 读者本地信息 Z305

• 读者地址信息 Z304

• 读者 ID 信息 Z308

43

Page 40: Aleph 常用 Oracle 表键值及批处理

读者记录结果集获取

• 按 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

Page 41: Aleph 常用 Oracle 表键值及批处理

读者记录结果集获取

• 按读者状态检索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

Page 42: Aleph 常用 Oracle 表键值及批处理

记录键值转换

46

Page 43: Aleph 常用 Oracle 表键值及批处理

记录键值转换 - p_manage_70

ADM-TO-ITEM ADM-TO-ORDER BARCODE-TO-ITEM BIB-TO-ADM BIB-TO-ITEM BIB-TO-ORDER ITEM-TO-BIB ORDER-TO-BIB

BIB-TO-HOL ITEM-TO-HOL BARCODE-TO-HOL HOL-TO-BIB HOL-TO-ITEM HOL-TO-BARCODE BARCODE-TO-BIB BIB-TO-BARCODE ADM-TO-BIB

47

• 不同结果集之间进行转换• 转换例程有:

Page 44: Aleph 常用 Oracle 表键值及批处理

记录键值转换 - p_manage_70

48

Page 45: Aleph 常用 Oracle 表键值及批处理

记录之间的关联关系

• 书目与单册 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

Page 46: Aleph 常用 Oracle 表键值及批处理

小结

50

Page 47: Aleph 常用 Oracle 表键值及批处理

各种记录的键值记录类型 键值 样例

书目记录 9 位数字,即书目记录号 000123456

管理记录 9 位数字,即管理记录号 000123456

单册记录 15 位数字,管理记录号 +6 位顺序号,通常顺序号以 10 为步长

000123456000010

单册条码 30 位字符类型 21073597

订单记录 14 位数字,管理记录号 +5 位顺序号

00012345600001

订单号 30 位字符类型 ZGC20090010

读者记录 12 位字母或数字,及读者 ID ID51

读者条码 20 位字母或数字 FZ000000004

51

Page 48: Aleph 常用 Oracle 表键值及批处理

检索结果集

记录类型 格式 样例 检索 打印或其他服务

书目记录 nnnnnnnnn (Num 9)书目记录号

000012345 p-ret-01p-ret-03p-ret-04p-ret-10检索模块保存结果集

p-print-03 p-print-08p-manage-25 (check)p-manage-37 (fix)p-manage-40 (re-index)p-manage-21 (global change)p-manage-33 (delete)......

单册记录 nnnnnnnnnnnnnnn(Num 15)管理记录号 + 6 位的顺序号

000012345000010

p-ret-adm-01 p-ret-adm-01p-manage-62 (update)p-iem-11 (delete)

订单记录 nnnnnnnnnnnnnn(Num 14)管理记录号 +5 位的顺序号

00001234500001

p-acq-02 p-acq-03 (print)

52

Page 49: Aleph 常用 Oracle 表键值及批处理

任务管理与调度系统服务框架

结果集

获取

审核 处理

结果集:

书目记录号管理记录号单册键值读者 ID订单键值

Page 50: Aleph 常用 Oracle 表键值及批处理

Thank You! 谢谢!