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! 谢谢!