Aleph 常用Oracle表键值及批处理 周磊 以色列艾利贝斯有限公司 北京代表处 2014年6月
提纲 常用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)
书目记录结果集的获取与批处理
书目记录键值 书目记录号 书目记录号结果文件 9位数字编号 每个库都是从1号开始递增 9位书目记录号+库代码,如: 000111111WHU01 000222222WHU01 000333333WHU01 000444444WHU01 通常结果文件放在 $alephe_scratch目录下
如何获取书目结果集
查看书目结果集 more $alephe_scratch/set001 000191481WHU01 000192508WHU01 ……
其他检索方式 p-ret-01 通用检索表单 p-ret-03 用CCL检索 p-ret-04 根据日期检索 二次检索与集合处理
通用检索表单(p_ret_01)
二次检索与集合处理
通过数据库获取-Z13/Z13U
通过数据库表获取-V13
通过数据库表获取书目键值样例 根据编目修改日期 根据原编/套录提取书目记录 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’;
通过数据库表获取书目结果集 根据编目修改日期 根据原编/套录提取书目记录 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’;
结果集文件能做什么? 装载显示、保存邮寄 p-print-03 输出marc或aleph顺序文件 p-print-01 输出定制格式 p-manage-25 记录检查 p-manage-37 整理记录 p-manage-40 重建索引 p-manage-21 全局更新 p-manage-33 批删除 ......
检索结果集打印发送
p-print-03 导出记录
p-manage-33 批删除
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的单册。
p-manage-37 批修改书目
通过配置参数实现批修改数据 整理记录(自动生成) - FIX 编写fix程序 通过配置fix脚本文件
通过配置参数实现批修改数据 步骤 在cnu01/tab/import 目录下建议一个脚本文件,例如test.fix, 注意,文件名需小写! 在cnu01/tab/tab_fix中定义一个例程调用这个脚本文件 TEST fix_doc_do_file_08 test.fix 可以在编目客户端测试 在cnu01/pc_tab/catalog/fix_doc.chi 中增加 TEST N L 测试 重建编目表包 util_m_7 对数据进行批修改 p-manage-37
通过配置参数实现批修改数据 more cnu01/tab/import/test.fix
可以使用的操作 ADD-FIELD CHANGE-FIELD CHANGE-FIRST-IND CHANGE-FIRST-IND-MATCH CHANGE-SECOND-IND CHANGE-SECOND-IND-MATCH CHANGE-SUBFIELD CONCATENATE-FIELDS COND-LOAD-VAL-POS COPY-FIELD COPY-SYSTEM-NUMBER DELETE-FIELD DELETE-FIELD-COND DELETE-FIXED-COND DELETE-SUBFIELD DELETE-SUBFIELD-DELIMITER EDIT-SUBFIELD-HYPHEN FIXED-CHANGE-VAL FIXED-CHANGE-VAL-RANGE FIXED-FIELD-EXTEND FIXED-RANGE-OP REPLACE-STRING SORT-FIELDS
单册记录结果集的获取与批处理
单册记录键值 单册记录REC_KEY 9位管理记录号 6位单册顺序号(步长为10) 单册记录号结果文件 15位的REC_KEY
获取单册记录结果集-Z30
获取单册记录结果集(p_ret_adm_01)
获取单册记录结果集 根据分馆、馆藏地、到达日期提取单册信息 select z30_rec_key from z30 where z30_sub_library=‘WL30’ and z30_item_status=’11’ and z30_arrival_date between ‘20140501’ and ‘20140531’;
针对单册结果集的批处理-批修改
针对单册结果集的批处理-批删除
订单记录结果集的获取与批处理
订单记录键值 订单记录REC_KEY 9位管理记录号 5位顺序号 订单记录号结果文件 14位的REC_KEY
获取订单记录结果集-Z68
获取订单记录结果集(p_acq_02_01) 可检索字段 管理记录号 订单号 订单号2 订单号3 订购组 订单打开日期 订单更新日期 订单日期 订单类型 订单状态 发票状态 材料类型 分馆 书商代码 估计到达日期 可检索字段 出货日期 到达日期 到达状态 发票类型 发票号 发票状态 订购单册数 单册价格 数量备注 订单本地价格 订单最终价格 发票行项目总价 付款日期 预算代码 原始预支
定制专用的订单检索服务
获取订单结果集-APSM打印正式订购报表
获取单册记录结果集 按订单批次号范围 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';
获取订单记录结果集 按订购分馆 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位。
针对订单结果集的批处理-打印清单
读者记录结果集的获取与批处理
读者记录键值 读者记录REC_KEY 12位编号
读者记录相关表 读者全局信息Z303 读者本地信息Z305 读者地址信息Z304 读者ID信息Z308
读者记录结果集获取 按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';
读者记录结果集获取 按读者状态检索 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%';
记录键值转换
记录键值转换 - p_manage_70 不同结果集之间进行转换 转换例程有: ADM-TO-ITEM BIB-TO-HOL 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
记录键值转换 - p_manage_70
记录之间的关联关系 书目与单册 书目与订单 单册与订单 读者 z13_rec_key=substr(z30_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
小结
各种记录的键值 记录类型 键值 样例 书目记录 9位数字,即书目记录号 000123456 管理记录 9位数字,即管理记录号 单册记录 15位数字,管理记录号+6位顺序号,通常顺序号以10为步长 000123456000010 单册条码 30位字符类型 21073597 订单记录 14位数字,管理记录号+5位顺序号 00012345600001 订单号 ZGC20090010 读者记录 12位字母或数字,及读者ID ID51 读者条码 20位字母或数字 FZ000000004
检索结果集 记录类型 格式 样例 检索 打印或其他服务 书目记录 nnnnnnnnn (Num 9) 书目记录号 000012345 p-ret-01 p-ret-03 p-ret-04 p-ret-10 检索模块保存结果集 p-print-03 p-print-08 p-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-manage-62 (update) p-iem-11 (delete) 订单记录 nnnnnnnnnnnnnn (Num 14) 管理记录号+5位的顺序号 00001234500001 p-acq-02 p-acq-03 (print)
任务管理与调度系统服务框架 结果集: 书目记录号 管理记录号 单册键值 读者ID 订单键值 获取 结果集 审核 处理
谢谢!