




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、WMS开发之WMA基础开发实现Author:张宏哲Creation Date:Apr 14, 2015Last Updated:Apr 14, 2015Version:1.0 Document ControlChange Record3DateAuthorVersionChange ReferenceApr 14, 2015张宏哲1.0No Previous DocumentContentsDocument Controlii开发基础1WMA开发简介1WMA基本开发实现1相关功能实现9PLSQL存储过程调用9LOV实现10Open and Closed Issues for this Deli
2、verable12Open Issues12Closed Issues12Document Control 3上海汉得信息技术有限公司Oracle Mobile配置手册Company Confidential - For internal use onlyOpen and Closed Issues for this Deliverable 12上海汉得信息技术有限公司Company Confidential - For internal use only开发基础WMA开发简介功能介绍WMA开发是提供给PDA手持设备使用的界面功能。PDA连接服务器后,与EBS的java客户端类似,同样需要登录
3、,进入职责等操作,其中的职责、菜单、功能等需要在FORM中进行定义与分配。开发项简介一个在PDA运行的客户化功能,需要涉及到以下开发:1. 表单功能对应的class文件,该class文件为功能入口。2. 页面class文件,功能中的每一个页面对应一个。3. 监听class文件,每个页面对应一个监听文件。4. 数据处理package文件,实现sql增删改查,在class文件中调用。5. 一个指向指定class文件的表单功能,并将其添加到指定职责。WMA基本开发实现表单功能调用CLASS文件表单功能调用class文件为功能入口,在开发完成后被定义在功能能开发员-功能中,示例代码如下。其中UtilF
4、ns.isTraceOn用于判断是否开启日志。UtilFns.trace(InventoryFunction.appEntered: );将打印日志到日志文件。示例中,CuxInventoryFunction继承自OrgFunction,可在进入功能前选择库存组织,其实现效果与FORM中类似。在PDA端选择库存组织后,进入该功能。通过class文件中的构造函数CuxInventoryFunction进行初始化。通常情况下,CuxInventoryFunction只被当做功能入口,在功能中直接跳转至第一个界面,而不实现具体功能,跳转代码为:setFirstPageName(.wms.CuxWms
5、LPNTransferPage);。WMA页面CLASS文件 页面class文件继承自PageBean,代表一个PDA的页面。以上界面对应的页面CLASS文件由以下部分组成。类与变量定义1. implements MWAPageListener中MWAPageListener是用于实现监听的接口,后面在监听class文件中会详细说明。2. LOVFieldBean为LOV字段,对应图中的“盘点名称”。3. TextFieldBean为普通文本字段,对应图中的“子库存”、“货位”、“数量”。4. ButtonFieldBean为按钮,对应“盘点”和“取消”。5. Long和String为页面中用
6、于临时记录的变量。构造函数构造函数相当于函数的入口,通常情况下会执行:1. initLayout(paramSession);调用函数来初始化页面。2. addListener(this);为页面添加监听。3. initPrompts(paramSession);为页面的字段获取中文描述。页面初始化上图为页面中“子库存”文本框的示例代码,其中操作含义为:1. this.subinv = new TextFieldBean();初始化页面元素。2. this.subinv.setName(SUBINV);设置页面元素名称。3. this.subinv.setEditable(true);设置页面
7、元素为可输入。4. this.subinv.setHidden(false);设置页面元素不隐藏。5. this.subinv.setRequired(true);设置页面元素必输。6. addFieldBean(this.subinv);添加页面元素至页面,页面会根据添加页面元素的顺序自动排版。7. CuxInventoryListener CuxInventoryListener = new CuxInventoryListener();初始化监听,不同页面元素不需要多次初始化。8. this.subinv.addListener(CuxInventoryListener);为该页面元素添
8、加监听。字段描述初始化页面中的描述部分,需要通过代码来赋值:setPrompt()可以为页面标题赋值(盘点)。this. (页面元素变量).setPrompt()可以为指定页面元素描述赋值。通常我们不会直接把描述写在代码里,标题、字段描述以及按钮的描述都是存在系统中的AK属性之中。MWALib.getAKPrompt(Session,”区域-控制对象类型”,”属性-属性标识”)可以获取AK属性,AK属性可已在“系统管理员-AK”中进行查找和定义。AK属性如下图,客制化的AK属性在定义好之后,需要将AK属性添加到区域中才能调用。区域如下图,将AK属性加入到区域项目中后,就可以通过控制器对象类型,
9、在java中进行调用获取了。PUBLIC函数在监听CLASS文件中对页面中的私有变量进行赋值,需要通过public类型的接口实现,在页面CLASS文件中需要实现如以下示例的public函数。监听CLASS文件监听CLASS文件用于实现页面的触发事件,如提交、切换字段和点击按钮等。类实现MWAFieldListener接口,页面的操作都会在fieldEntered和fieldExited中被捕获到。常见的触发事件,如点击按钮和验证字段的操作,都需要写在离开区域即fieldExited中。事件捕获函数fieldExited如上图,paramMWAEvent.getAction()可以用来获取事件类
10、型,包括MWA_SUBMIT提交和MWA_NEXTFIELD离开等。paramMWAEvent.getAction()可以用来获取触发事件的页面元素名称。根据上述两个值来判断需要执行的操作。表单功能定义java class文件作为功能入口被定义在功能能开发员-功能中,在确定功能位置和class文件名称后,就可以进行这一步的设置工作。其中Web HTmL 页签中的HTML调用cux.oracle.apps.inv.count.server.CuxInventoryFunction,对应客户化class文件在$JAVA_TOP下的位置,新建或更新class文件需要重启端口。在JDeveloper中
11、结构如下:将定义好的功能添加到指定的职责后,就可以通过PDA或模拟器来访问开发好的功能了。附件为上述java文件。相关功能实现PLSQL存储过程调用在JAVA端需要进行数据库操作时,可以同过OracleCallableStatement来实现。示例代码调用部分如下:定义需要调用的函数,用:1等来代替参数,并在定义下方初始化参数,用registerOutParameter来初始化传出参数,定义传出参数类型,位置传入参数直接赋值,最后执行executeQuery来执行调用该存储过程。对应PLSQL存储过程为:存储过程执行完之后,可以通过以下代码来获取传出参数的值。整个初始化和调用过程需要用try和
12、catch来进行例外控制,catch代码如下:LOV实现LOV字段的类型为LOVFieldBean 与文本字段的TextFieldBean相对应。在页面初始化时对LOV进行初始化。用setlovStatement来定义LOV对应的取值存储过程,取值函数的第一个参数为传出结果集。对应存储过程如下:用setInputParameterTypes来设置函数参数类型。C代表cursor,N代表number,S代表string。用setInputParameters来为参数赋值,需要注意取页面值的时候需要写全位置。用setSubfieldDisplays来设置LOV取值cursor对应列是否显示。用setSubfieldPromp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 5617-2025钢件表面淬火硬化层深度的测定
- 2025自考专业(计算机应用)经典例题附参考答案详解【能力提升】
- 2025年自考专业(工商企业管理)高分题库附完整答案详解(各地真题)
- 执业药师资格证之《西药学专业一》预测复习含答案详解(基础题)
- 新生儿电解质紊乱纠正原则
- 房产抵押展期合同(标准版)
- 卸船合同(标准版)
- 事业单位联考题库试题及参考答案详解【能力提升】
- 2025年环境影响评价公众参与效果提升策略研究报告
- 2025年家庭教育指导服务市场策略分析报告:市场需求与竞争策略
- 专项安全施工方案监理
- 股东出资协议书合同
- 2025劳动合同书(示范文本)
- GB/T 27060-2025合格评定良好实践指南
- DB45∕T 2789-2023 壮医药线点灸治疗护理技术操作规范
- 分子诊断技术在感染性疾病中的应用-深度研究
- 行测5000题电子版2025
- 《规训与惩罚》课件
- 【MOOC】声乐作品赏析与演唱-扬州大学 中国大学慕课MOOC答案
- 2024年版机电产品国际招标标准招标文件
- 糖尿病高血压健康教育
评论
0/150
提交评论