




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MD070 单据序列的概念及应用作者:yunfang.shang创建日期:2005-11-18最近更新:2005-11-18控制号: MD070 版本: 1 审批:全富汉得拷贝号_文档控制变更记录日期作者版本变更18-Nov-05Yunfang.shang审阅姓名职位分发拷贝号姓名地点1111(9-Dec-96)目录文档控制ii概述4单据序列(Document Sequence)4已解决问题和未解决问题11未解决问题11已解决问题11(9-Dec-96)文档控制 11单据序列的概念及应用Company Confidential - For internal use only 绝密III 仅限于内部交流概述单据序列(Document Sequence) 序列的概念Oracle 对于序列概念的描述如下:单据序列可对 Oracle Applications 产品所生成的单据进行唯一编号。利用 Oracle Applications,您可以通过在表单中输入数据并生成单据(如发票),起动一项事务处理。单据序列会生成跟踪线索,用以标识创建了该事务处理的应用产品(如 Oracle Receivables),以及所生成的原始单据(如发票编号 1234)。 单据序列可以提供完整性的证明。例如,单据序列可用于反映每项事务处理,甚至是失败的事务处理。 单据序列还可以提供跟踪线索。例如,单据序列可以提供一条从总帐到子分类帐,再到最初影响帐户余额的单据的跟踪线索。 由于单据序列会生成跟踪数据,因此即使单据被删除,它们的跟踪记录也会保留下来。序列的定义Nav : System Administrator-Application-Document-Define上图我们看到的是一个序列:AP发票号,可以看出来该序列采用自动编号。初始值为1 ,其内部的Doc_sequence_id = 5 oracle 对每一个序列的使用都有跟踪记录,并且序列的跟踪记录存储在应用产品的跟踪表中,其标题为 Application Short Name _DOC_SEQUENCE_AUDIT。例如,属于 Oracle Payables 的序列的跟踪表为 AP_DOC_SEQUENCE_AUDIT。在这张表中,我们检索AP发票所有使用过的编号,这些编号被使用在哪种单据类型上。如下图所示上图中,DOC_SEQUENCE_ID是单据序列的内部ID , 5表示AP 发票;而DOC_SEQUENCE_ASSIGNMENT_ID是单据分配的内部ID,它表示该单据序列被分配在哪种单据类别上(下文会有描述);而DOC_SEQUENCE_VALUE表示该单据序列被分配在某种单据类别上,曾经在什么时候被使用过,其值是多少。序列的分配Nav : System Administrator-Application-Document-Define上图中,我们看到单据序列:AP发票号被分配给单据类别:借项通知单。其DOC_SEQUENCE_ASSIGNMENT_ID=8 。单据类别的定义Nav : System Administrator-Application-Document-Category单据类别标识了存储单据(由用户输入的事务处理产生)的数据库表。使用类别可对单据进行更精确地分类。例如,您可以将应收帐款发票分成以下几个不同的类别: 拖欠款项 定金 保证金 借项通知单 贷项通知单 销售发票 客户服务发票同样,您也可以将应付帐款或采购发票分成以下几个不同的类别:标准费用报表预付款利息贷项通知单借项通知单程序中如何使用单据序列?我们知道,定义单据类别的时候只是指定了表的名字,而在定义单据序列,以及把单据序列分配给单据类别的时候也没有指定任何子段,那么oracle 是如何利用单据序列来给特定的字段自动生成编号的呢?客户化的程序中如何使用单据序列?1、在 HWCUST Schema 中 创建一个测试表create table cux_seq_test(test_num number null, test_name varchar2(255) null)2、在APPS中创建同义词,并注册表和子段。 CREATE SYNONYM cux_seq_test for hwcust.cux_seq_test; EXECUTE ad_dd.register_table(HW, cux_seq_test, T, 8, 10, 90);EXECUTE ad_dd.register_column(HW, CUX_SEQ_TEST, TEST_NUM, 1, NUMBER, 30, Y, N );EXECUTE ad_dd.register_column(HW, CUX_SEQ_TEST, TEST_NAME, 2, VARCHAR2, 255, Y, N );3、Nav : System Administrator-Application-Document-Category 定义单据类别 字段值ApplicationcodeCUX_TSTName测试单据类别Description测试单据类别TableCUX_SEQ_TEST4、定义单据序列Nav : System Administrator-Application-Document-Define拷贝号姓名NameHW_SEQ_TSTApplication5、序列分配:Nav : System Administrator-Application-Document-Define拷贝号姓名ApplicationApplicationHW_SEQ_TSTCategory测试单据类别Set of BooksSequenceHW_SEQ_TSTprocedure Get_seq_num isbeginif (nvl(:parameter.seq_numbers, N) != N and NOT Is_DB_Record) thenUser_Exit(FND SEQCHK | APPLICATION_ID=20002 |SET_OF_BOOKS_ID= | TO_CHAR(:PARAMETER.SET_OF_BOOKS_ID) | |CATEGORY=CUX_TST | METHOD=A |TRX_DATE=:PARAMETER.TRX_DATE |DOC_SEQUENCE_VALUE=:PARAMETER.INTEREST_INV_DOC_SEQ);if (Not Form_Success) thenRaise Form_Trigger_Failure;end if;end if;:PARAMETER.INTEREST_INV_DOC_SEQ := NULL;:PARAMETER.INTEREST_INV_DOC_SEQ_ID := NULL;if (nvl(:parameter.seq_numbers, N) != N) thenUser_Exit(FND SEQVAL | APPLICATION_ID=20002 |SET_OF_BOOKS_ID= | TO_CHAR(:PARAMETER.SET_OF_BOOKS_ID) | |CATEGORY=CUX_TST | METHOD=A |TRX_DATE=:PARAMETER.TRX_DATE |DOC_SEQUENCE_VALUE=:PARAMETER.INTEREST_INV_DOC_SEQ |DOC_SEQUENCE_VALUE_FIELD=PARAMETER.INTEREST_INV_DOC_SEQ |DOC_SEQUENCE_ID_FIELD=PARAMETER.INTEREST_INV_DOC_SEQ_ID);if (Not Form_Success) and (nvl(:parameter.seq_numbers, N) = A) then:PARAMETER.INTEREST_INV_DOC_SEQ := NULL;:PARAMETER.INTEREST_INV_DOC_SEQ_ID := NULL;Raise Form_Trigger_Failure;end if;fnd_message.debug(to_char(:PARAMETER.INTEREST_INV_DOC_SEQ);end if;end;FUNCTION Is_DB_Record RETURN Boolean ISBEGIN if (nvl(:system.record_status,:system.form_status) in (QUERY,CHANGED) then return TRUE; else return FALSE; end if;RETURN NULL; END Is_DB_Record;6、在Form 中使用出口函数: 用Form 测试:上图中,当我们点击 GetSeq 按钮时,我们就调用Get_seq_num ,然后 把值从参数:PARAMETER.INTEREST_INV_DOC_SEQ 中取出来放入Test Num ,就出现如上结果。每点击一次,就会取到一个序列。 那么,如果我们又不想序号自动生成了该怎么办?我们只需要把单据序列分配失效就可以了。我们在Form测试的时候,发现还是会自动生成。这说明,序列分配没有立即失效。但是过了一段时间再作Form测试时,发现序号不会自动生成了。也就是我们失效序列分配的动作起作用了。7、查看 首先,我们查找我们刚定义的单据序列 的doc_sequence_id =343 , 一般来说自己定义的单据序列的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 粽子采购合同范本
- 安全施工个人合同范本
- 教辅类插图 合同范本
- 境外就业中介合同范本
- 酒水代加工合同范本
- 瓷砖装饰公司合同范本
- 单向工程个人合同范本
- 牛蛙养殖合作合同范本
- 工程买卖协议合同范本
- 踝关节不稳定合并软骨损伤护理查房
- 引进人才住房补贴单位承诺书
- 勘察设计研究院质量手册
- 吴晓光-恒电流法测定阴极极化曲线
- GB/T 30758-2014耐火材料动态杨氏模量试验方法(脉冲激振法)
- DBJT13-370-2021 福建省柔性饰面砖应用技术标准
- GB/T 11538-2006精油毛细管柱气相色谱分析通用法
- 动力网站-艾默生netsure801电源系统用户手册
- 大唐集团公司工作票、操作票使用和管理标准(版)
- 医学皮肤部年度业务报告课件
- 21年一消防工程师继续教育题
- 太阳能热水系统问题与解决方案
评论
0/150
提交评论