易拓程序设计单档课件_第1页
易拓程序设计单档课件_第2页
易拓程序设计单档课件_第3页
易拓程序设计单档课件_第4页
易拓程序设计单档课件_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TIPTOPGP5X单档维护程序撰写,TIPTOP事业部,1,PPT学习交流,课程安排,单档程序介绍单档程序基本介绍单档程序写法介绍单档作业布置查询程序与除错工具p_qry动态查询程序除错工具介绍(Debugger)单档练习单档画面栏位控制栏位的动态开启和关闭单档练习单档程序练习单档程序验收,2,PPT学习交流,本次课程内容,单档程序基础介绍单档程序示例讲解,3,PPT学习交流,单档程序基础介绍,单档程序(作业)的概念单档程序(作业)的分类单档程序(作业)的功能单档程序(作业)的结构单档程序(作业)的设计,4,PPT学习交流,单档程序的概念,何谓单档程序(作业)我们把对单一数据库表进行操作的程序(作业)称为单档程序(作业)。注意:1、数据操作(新建、更改、删除)是对一张表进行的操作。2、数据的取值可能会涉及多张表。,5,PPT学习交流,单档程序的分类,1、标准单档,6,PPT学习交流,单档程序的分类,2、单档多栏,7,PPT学习交流,单档程序的分类,3、假双档,8,PPT学习交流,单档程序的功能,单档程序(作业)的用途一般单档程序(作业)用于系统资料的设置或者是简单资料的记录。单档程序应具备哪些功能?1、基本编辑功能(新建、修改、删除、复制等)2、查询功能3、数据浏览功能4、其他功能(有效/无效、打印、导出等),9,PPT学习交流,单档程序的功能,基本编辑功能在TIPTOP系统中标准的编辑功能有:1、录入-即新增一笔资料,对应的功能函数是,_a()2、更改-即修改当前资料,对应的功能函数是,_u()3、删除-即删除当前资料,对应的功能函数是,_r()4、复制-即复制当前数据并新增一笔资料,对应的功能函数是,_c()5、有效/无效-即对当前资料切换其有效无效码,对应的功能函数是,_x(),10,PPT学习交流,单档程序的功能,数据浏览功能在TIPTOP系统中标准的浏览功能有:1、第一笔-显示总笔数的第一笔数据内容2、上一笔-显示当前笔的前一笔数据内容3、指定笔-显示指定笔数的数据内容4、下一笔-显示当前笔的后一笔数据内容5、最后笔-显示总笔数的最后一笔数据内容数据浏览的功能由函数,_fetch(),完成。,11,PPT学习交流,单档程序的功能,数据查询功能在TIPTOP系统中标准的查询功能是:查询-用户可在界面上输入查询条件,系统会将用户输入的查询条件形成WHERE条件的一个组成部分。查询功能由函数_q()和_curs()/_cs()完成。,12,PPT学习交流,单档程序的功能,数据输出功能在TIPTOP系统中标准的输出功能有:1、打印-将当前资料按打印格式预览并打印出来。打印功能对应的函数是:_out()2、汇出Excel-将当前资料汇出成Excel格式。汇出Excel功能对应的函数是:cl_export_to_excel()注意:所要汇出的资料类型需为RECORD类型,即数组,13,PPT学习交流,单档程序的功能,其他功能在TIPTOP系统中其他功能有:1、语言-动态转换系统的语言别。转换语言别的功能是由函数由cl_dynamic_locale()完成。2、单身-进入单身栏位。功能函数为_b(),此功能在双档中讲解。3、必要字段-显示当前作业的必要字段。该功能由函数cl_show_req_fields()完成。4、帮助-显示当前作业的帮助信息。该功能由函数cl_show_help()完成。5、离开-关闭作业。,14,PPT学习交流,单档程序的功能,自定义功能上述功能均为TIPTOP系统标准功能,每个客户都会有自己的需求,每个企业的流程操作要求也不尽相同,所以,用户可根据实际需要在客制作业或用户自定义作业中增加新功能。,15,PPT学习交流,单档程序的结构,问题:对于一支程序,它的结构是怎样的?,16,PPT学习交流,标准单档程序的结构,cs(),q(),fetch(),查询,数据浏览,新增,修改,删除,有效/无效,复制,打印,17,PPT学习交流,单档多栏程序的结构,查询,单身(新增,更改,删除,复制),打印,18,PPT学习交流,单档程序的结构,ProgramMemo程序注记在程序起始前,均会对此程序的版本、目标、及编修人员和日期注记,便于追踪。GlobalSetting全局参数设计包含3个部分:1、DATABASEds2、GLOBALS././config/top.global3、DEFINE.,19,PPT学习交流,单档程序的设计,如何设计一支单档程序,明确需求,确定规格,规划数据表,确认功能,画面档设计,程序档设计,20,PPT学习交流,单档程序的设计,需求:1、记录金额核准的人员2、金额的核准要分范围3、必须设置密码,21,PPT学习交流,单档程序的示例,示例程序:aooi010签核人员资料维护作业涉及表:abz_file签核人员资料档gen_file员工基本资料档gem_file部门信息资料档,22,PPT学习交流,单档程序的示例,表结构:createtableazb_file(azb01varchar2(8),/*签核人员代码*/azb02varchar2(8),/*密码*/azb06number(20,6),/*金额*/azbactivarchar2(1),/*资料有效码*/azbuservarchar2(10),/*资料所有者*/azbgrupvarchar2(6),/*资料所有群*/azbmoduvarchar2(10),/*资料修改者*/azbdatedate/*最近修改日*/);,23,PPT学习交流,单档程序的示例,表结构:createtablegen_file(gen01varchar2(8),/*员工编号*/gen02varchar2(30),/*员工姓名*/gen03varchar2(6),/*所属部门编号*/gen04varchar2(40),/*职称*/gen05varchar2(5),/*分机*/gen06varchar2(60),/*E-mail*/genactivarchar2(1),/*资料有效码*/genuservarchar2(10),/*资料所有者*/gengrupvarchar2(6),/*资料所有部门*/genmoduvarchar2(10),/*资料修改者*/gendatedate/*最近修改日*/);createuniqueindexgen_01ongen_file(gen01);,24,PPT学习交流,单档程序的示例,表结构:createtablegem_file(gem01varchar2(6),/*部门编号*/gem02varchar2(40),/*部门名称*/gem03varchar2(40),/*部门全称*/gem04varchar2(6),/*NoUse*/gem05varchar2(1),/*是否为会计部门*/gem06varchar2(1),/*NoUse*/gem07varchar2(1),/*费用类别*/gem08varchar2(1),/*NoUse*/gemactivarchar2(1),/*资料有效码*/gemuservarchar2(10),/*资料所有者*/gemgrupvarchar2(6),/*资料所有部门*/gemmoduvarchar2(10),/*资料修改者*/gemdatedate,/*最近修改日*/gem09varchar2(1),/*管理类别1.成本中心2.利润中心3.其它*/gem10varchar2(6)/*对应成本中心*/);createuniqueindexgem_01ongem_file(gem01);,25,PPT学习交流,单档程序的示例,请查看教材单档部分!,26,PPT学习交流,第一天课程结束,谢谢大家,27,PPT学习交流,本次课程内容,查询程序介绍p_qry动态程序设计除错工具Debugger介绍,28,PPT学习交流,p_qry动态查询程序介绍,在TIPTOPGP系统中,有两种查询程序:1、hard-code此类查询程序是由人工完成。存在源代码档,目录是qry/4gl下任何查询都可以用此类方式完成,程序编写比较繁琐,对于初学者不易掌握。2、p_qry动态查询程序此类查询程序是由系统完成。没有源代码档,系统直接调用配置后完成。有一定的局限性无需编程,容易掌握。,29,PPT学习交流,p_qry动态查询程序介绍,30,PPT学习交流,p_qry动态查询程序介绍,1.动态查询程序名称代码(.form)2.查询视窗标题3.本函式为Hard-Code函式:用于占位,防止两种查询程序名称冲突4.是否忽略单身营运中心设置:一旦勾选,查询仅限于用户所在db5.本查询程序单身资料不上锁,可更改:勾选后才能更改设置资料6.客制查询程序:若为客制程序,则须勾选。,31,PPT学习交流,p_qry动态查询程序介绍,1.Input时的Where条件:录入状态下,开窗查询的条件。2.Construct时的Where条件:查询状态下,开窗查询的条件。3.需JOIN的TABLE:查询时所涉及到的非查询字段的表。4.资料会重复,需要DISTINCT属性:增加distinct属性,去除重复资料。,32,PPT学习交流,p_qry动态查询程序介绍,1.资料数据库代码:设定查询资料所在数据库2.资料表代码:设定查询资料表3.字段代码:设定查询字段4.字段宽度:设定窗体中该栏位的宽度5.本栏回传:设定是否回传该字段的值6.字段类型:设定窗体中该栏位的画面栏位类型7.本栏需Outer:设定该字段是否需要outer8.串查程序代码:可在窗体中增加相关资料的查询功能,33,PPT学习交流,p_qry动态查询程序介绍,参数须透过g_qryparam全局变量传递。.form查询程序代码.state状态input/construct(i/c).construct是否作Construct(Y/N).where其他Where条件.pagecount每页最大浏览笔数.default15开窗栏位的预设值.arg19查询资料的条件替换值.multiret_index多选资料所要回传的栏位索引值.multiret多选资料的回传值暂存器.orderconsORDERBY的顺序,34,PPT学习交流,p_qry动态查询程序介绍,何时采用hard-code,何时采用p_qry1)sql比较简单则采用p_qrysql非常复杂则采用hard-code2)default值超过5个时,只能采用hard-code3)arg传入值超过9个时,只能采用hard-code,35,PPT学习交流,p_qry动态查询程序介绍,查询状态下的开窗CALLcl_init_qry_var()LETg_qryparam.form=q_genLETg_qryparam.state=“c”/此句不可省略LETg_qryparam.default1=g_azb.azb01CALLcl_create_qry()RETURNINGg_qryparam.multiretDISPLAYg_qryparam.multiretTOazb01NEXTFIELDazb01,36,PPT学习交流,p_qry动态查询程序介绍,录入状态下的开窗CALLcl_init_qry_var()LETg_qryparam.form=q_gen“LETg_qryparam.state=“i”/此句可以省略LETg_qryparam.default1=g_azb.azb01CALLcl_create_qry()RETURNINGg_azb.azb01DISPLAYBYNAMEg_azb.azb01NEXTFIELDazb01,37,PPT学习交流,p_qry动态查询程序介绍,两种状态下的比较:CALLcl_init_qry_var()#CALLcl_init_qry_var()#清空g_qryparam变数组LETg_qryparam.form=q_gen#LETg_qryparam.form=q_gen#指定组别LETg_qryparam.state=cLETg_qryparam.default1=g_azb.azb01#LETg_qryparam.default1=g_azb.azb01#指定取消时回传值CALLcl_create_qry()RETURNINGg_qryparam.multiret#CALLcl_create_qry()RETURNINGg_azb.azb01#动态查询DISPLAYg_qryparam.multiretTOazb01#DISPLAYBYNAMEg_azb.azb01#重秀NEXTFIELDazb01#NEXTFIELDazb01,38,PPT学习交流,p_qry动态查询程序介绍,传入值:,39,PPT学习交流,p_qry动态查询程序介绍,40,PPT学习交流,p_qry动态查询程序介绍,41,PPT学习交流,p_qry动态查询程序介绍,42,PPT学习交流,p_qry动态查询程序介绍,WHENINFIELD(cqa09)CALLcl_init_qry_var()LETg_qryparam.form=q_dpbLETg_qryparam.arg1=ALETg_qryparam.default1=g_cqal_ac.cqa09CALLcl_create_qry()RETURNINGg_cqal_ac.cqa09DISPLAYg_cqal_ac.cqa09TOcqa09NEXTFIELDcqa09#,WHENINFIELD(cqv04)CALLcl_init_qry_var()LETg_qryparam.form=q_dpbLETg_qryparam.arg1=BLETg_qryparam.default1=g_cqvl_ac.cqv04CALLcl_create_qry()RETURNINGg_cqvl_ac.cqv04DISPLAYg_cqvl_ac.cqv04TOcqv04NEXTFIELDcqv04,apyt010,apyt090,43,PPT学习交流,p_qry动态查询程序介绍,返回值多个(录入状态),44,PPT学习交流,p_qry动态查询程序介绍,返回值多个(录入状态),45,PPT学习交流,p_qry动态查询程序介绍,返回值多个(查询状态),46,PPT学习交流,p_qry动态查询程序介绍,返回值多个(查询状态),47,PPT学习交流,p_qry动态查询程序介绍,48,PPT学习交流,p_qry动态查询程序介绍,WHENINFIELD(cua34)CALLcl_init_qry_var()LETg_qryparam.state=cLETg_qryparam.form=q_tpaLETg_qryparam.default1=g_cua.cua34LETg_qryparam.default2=g_cua.cua341CALLcl_create_qry()RETURNINGg_qryparam.multiretDISPLAYg_qryparam.multiretTOcua34NEXTFIELDcua34WHENINFIELD(cua341)CALLcl_init_qry_var()LETg_qryparam.state=cLETg_qryparam.form=q_tpaLETg_qryparam.default1=g_cua.cua34LETg_qryparam.default2=g_cua.cua341CALLcl_create_qry()RETURNINGg_qryparam.multiretDISPLAYg_qryparam.multiretTOcua34NEXTFIELDcua341,WHENINFIELD(cua34)CALLcl_init_qry_var()LETg_qryparam.form=q_tpaLETg_qryparam.default1=g_cua.cua34LETg_qryparam.default2=g_cua.cua341CALLcl_create_qry()RETURNINGg_cua.cua34,g_cua.cua341DISPLAYBYNAMEg_cua.cua34,g_cua.cua341NEXTFIELDcua34WHENINFIELD(cua341)CALLcl_init_qry_var()LETg_qryparam.form=q_tpaLETg_qryparam.default1=g_cua.cua34LETg_qryparam.default2=g_cua.cua341CALLcl_create_qry()RETURNINGg_cua.cua34,g_cua.cua341DISPLAYBYNAMEg_cua.cua34,g_cua.cua341NEXTFIELDcua341,construct:,input:,49,PPT学习交流,p_qry动态查询程序介绍,程序中加where条件,50,PPT学习交流,p_qry动态查询程序介绍,51,PPT学习交流,p_qry动态查询程序介绍,WHENINFIELD(cua281)CALLcl_init_qry_var()LETg_qryparam.form=q_tpuLETg_qryparam.default1=g_cua.cua281LETg_qryparam.where=tpu01=,g_cua.cua28,CALLcl_create_qry()RETURNINGg_cua.cua281DISPLAYBYNAMEg_cua.cua281NEXTFIELDcua281,52,PPT学习交流,Debugger工具介绍,指令:r.d2+程序名(不跟后缀)例如:r.d2+aooi010注意:执行该命令必须在该程序所在的4gl目录下运行,53,PPT学习交流,Debugger工具介绍,54,PPT学习交流,Debugger工具介绍,55,PPT学习交流,Debugger工具介绍,查询:ctrl+F,56,PPT学习交流,Debugger工具介绍,Debugger命令框:,1、showallcommands:显示所有命令语句2、refresh:刷新3、copytoclipboard:将DebuggerOutput中的内容复制到剪贴板4、可用ctrl-D来开启命令框,57,PPT学习交流,Debugger工具介绍,常用的Debugger命令:p:查询变量值例如pg_azi01b:快速设置断点例如bi010_a(),58,PPT学习交流,Debugger工具介绍,Inspect(ctrl-I)变量跟踪,1、AddWatch增加跟踪变量2、DeleteWatch删除跟踪变量3、EditWatches编辑跟踪变量,59,PPT学习交流,第二天课程结束,谢谢大家,60,PPT学习交流,本次课程内容,栏位的开启与关闭示例讲解,61,PPT学习交流,栏位的开启和关闭,什么是栏位的开启和关闭当画面上某个栏位在某种情况下可以录入,或者在某种情况下不可以录入,控制栏位可否输入的状态即为栏位的开启和关闭,62,PPT学习交流,锁与解锁的时机点(1),条件:当B5时,C不可输入,A,B,C,BeforeFieldAfterField,BeforeFieldAfterField,BeforeFieldAfterField,D,BeforeFieldAfterField,情况一:从A进B,且B=3,点C欲进,可进情况二:从A进B,且B=6,点C欲进,不可进情况三:B=3时,从A欲进C,可进情况四:B=6时,从A欲进C,不可进情况五:一进来就到D,要进C,BEFOREINPUT,控端,被控端,63,PPT学习交流,锁与解锁的时机点(2),条件:当B+X5时,C不可输入,A,BeforeFieldAfterField,BEFOREINPUT,控端,被控端,B,BeforeFieldAfterField,C,BeforeFieldAfterField,X,BeforeFieldAfterField,D,BeforeFieldAfterField,控端,情况很多,但可由单锁类推,64,PPT学习交流,锁与解锁的时机点(3),条件:当X5时,C不可输入,A,B,C,BeforeFieldAfterField,BeforeFieldAfterField,BeforeFieldAfter

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论