




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
LoadRunner 9.0技术参考手册 产品实施Oracle e-Business Suite R12数据导入参考手册作者:制定日期:2008年05月18日更新日期:2008年05月22日控制号:版本:1.0批准人:审批人审批人文档控制变更记录日期作者版本更改参考1234审阅日期姓名职位1234分发副本号姓名地点1234备注:出于文档管理的目的,如果您收到了本文档的电子版本,请打印出来并在封面的相应位置写上您的名字。出于文档管理的目的,如果您收到了本文档的纸介质版本,请在封面写上您的名字。目录1. LoadRunner简介11.1. 引用程序负载测试11.2. LoadRunner解决方案21.3. LoadRunner Vuser技术41.4. LoadRunner Vuser类型52. 环境准备72.1 LoadRunner的安装72.2 R12环境准备73. 数据导入103.1 录制脚本113.1.2 凭证数据录入(R12)113.1.2 供应商数据录入(R12)123.1.3 要点关注133.2 参数设置143.3 后续注意事项153.4 修改脚本17附录23NCA函数列表23待补充内容26参考文档261. LoadRunner简介LoadRunner是用于测试应用程序性能的 Mercury 工具。LoadRunner 通过对整个应用程序进行压力测试来隔离和标识潜在的客户端、网络和服务器瓶颈。LoadRunner 使您可以在可控制的峰值负载条件下测试系统。要生成负载,LoadRunner 需要运行分布在网络中的数千个虚拟用户(即 Vuser)。只需使用最少的硬件资源,这些 Vuser 就可提供一致的、可重复的并可度量的负载,并像真实用户一样使用应用程序。LoadRunner 的深入报告和图提供评估应用程序性能所需的信息。LoadRunner 通过模拟一个多用户并行工作的环境来对应用程序进行负载测试。当应用程序在负载下运行时, LoadRunner 会准确地度量、监控并分析系统的性能和功能。1.1. 引用程序负载测试现代的系统体系结构很复杂。在提供空前强大的功能和灵活性的同时,这些系统也难以测试。单用户测试主要侧重于系统组件的功能和用户界面,而应用程序测试则侧重于整个系统的性能和可靠性。例如,一个典型的应用程序测试场景描述了星期一早上 1000 个用户同时登录到一个系统。该系统的响应时间是多少?系统会崩溃吗?要能够回答这些问题(以及更多的问题),一个完整的应用程序性能测试解决方案必须做到以下几点:u 测试一个组合了各种软件应用程序和硬件平台的系统u 确定服务器与任何给定应用程序的适应性u 在开发出必要的客户端软件之前测试服务器u 模拟多个客户端与单个服务器应用程序之间进行交互的环境u 在几十、几百甚至几千个潜在用户的负载情况下测试应用程序手动测试的局限性传统的或手动的测试方法只提供不完全的负载测试解决方案。例如,您可以构建一个许多用户同时使用一个系统的环境,然后手动测试整个系统。每个用户使用一台计算机并向系统提交输入内容。然而,这种手动测试方法具有下列缺陷:u 昂贵,需要大量的人员和设备u 复杂,尤其是使多个测试人员协调和同步u 需要高度严密的组织,尤其是要有针对性地录制和分析结果u 手动测试的可重复性是有限的1.2. LoadRunner解决方案LoadRunner 着眼于解决手动性能测试的缺陷:u LoadRunner 用虚拟用户(即 Vuser)代替真实用户来减少人员需求。这些Vuser 模拟真实用户的行为 - 操作实际的应用程序。u 由于一台计算机上可以运行许多 Vuser,因此 LoadRunner 减少了测试需要的硬件。u LoadRunner Controller 使您可以从一个单一的控制点简单有效地控制所有的Vuser。u LoadRunner 联机监控应用程序的性能,使您可以在测试执行期间对您的系统进行优化。u 测试期间, LoadRunner 将自动录制应用程序的性能。您可以从众多的图和报告选择查看性能数据。u LoadRunner 可检查所出现性能延迟的类型:网络或客户端延迟、CPU 性能延迟、I/O 延迟、数据库锁定延迟或数据库服务器上的其他延迟。LoadRunner 监控网络和服务器资源来帮助您提高性能。u 因为 LoadRunner 测试是完全自动的,所以您可以根据需要轻松地反复执行这些测试。场景使用 LoadRunner 可以将您的应用程序性能测试需求划分为多个场景。场景定义每个测试会话中发生的事件。例如,一个场景可以定义并控制要模拟的用户数、用户执行的操作以及他们运行模拟时所用的计算机。Vuser在场景中, LoadRunner 用虚拟用户(即 Vuser)代替真实用户。运行场景时,Vuser 将模拟真实用户的操作来使用应用程序。一台工作站只能容纳一个真实用户,而多个 Vuser 可以同时运行在一台工作站上。实际上,一个场景可以包含几十、几百甚至几千个 Vuser。Vuser脚本Vuser 脚本中描述了场景运行期间 Vuser 执行的操作。运行场景时,每个 Vuser都执行一个 Vuser 脚本。Vuser 脚本包含用来度量和录制应用程序组件性能的函数。事务要度量服务器的性能,需要定义事务。事务代表您要度量的一个操作或一组操作。在 Vuser 脚本中,可以通过嵌入适当的 start 和 end 事务语句脚本段来定义事务。例如,您可以定义一个事务,用于度量服务器处理一个查看帐户余额的请求的时间,以及在 ATM 上显示该信息的时间。集合点您可以在 Vuser 脚本中插入集合点来模拟服务器上较重的用户负载。集合点指示Vuser 在测试执行期间等待多个 Vuser 到达某一特定点,以便他们可以并行执行某个任务。例如,要模拟银行服务器上的峰值负载,您可以插入一个集合点来指示 100 个 Vuser 同时向他们各自的帐户存入现金。Controller您可以使用 LoadRunner Controller 来管理和维护场景。使用 Controller,可以从一台工作站控制一个场景中的所有 Vuser。负载生成器执行场景时, LoadRunner Controller 会将该场景中的每个 Vuser 分配给一个负载生成器。负载生成器是执行 Vuser 脚本,从而使 Vuser 可以模拟真实用户操作的计算机。性能分析Vuser 脚本包含用来在负载测试会话期间度量和录制系统性能的函数。场景运行期间,您可以监控网络和服务器资源。场景运行后,您可以在报告和图中查看性能分析数据。假设您要测试一个有许多 Internet 用户访问的在线银行 Web 服务器。该网站为客户提供全面的银行服务,例如转帐和检查帐户余额。要测试此服务器,需要创建一个场景。该场景定义负载测试期间对服务器执行的操作。在为银行服务器生成负载并对其进行监控的场景运行期间,您要执行下列操作:u 模拟服务器上受控的负载的情形u 模拟服务器上最大的负载的情形u 度量负载下的服务器性能u 检查所出现性能延迟的类型:网络或客户端延迟、CPU 性能延迟、I/O 延迟、数u 据锁定延迟或服务器上的其他延迟u 监控负载下的网络和服务器资源1.3. LoadRunner Vuser技术在每个 Windows 负载生成器上,您需要安装远程代理调度程序(进程)和LoadRunner 代理。远程代理调度程序(进程)可使 Controller 在负载生成器计算机上启动应用程序。LoadRunner 代理可使 Controller 和负载生成器互相通信。运行场景时,Controller 将指示远程代理调度程序(进程)启动LoadRunner 代理。该代理根据从 Controller 接收到的指令来初始化、运行、暂停和停止 Vuser。同时,该代理还将各个 Vuser 的状态数据传回 Controller。1.4. LoadRunner Vuser类型LoadRunner 有多种类型的 Vuser。每种类型都用于处理当前系统体系结构的不同方面。您可以在场景中使用任意组合的 Vuser 类型,以便创建全面的应用程序测试。以下为可用的 Vuser 类型:u 应用程序部署解决方案适用于 Citrix 协议。u 客户端/ 服务器适用于 MS SQL、ODBC、Oracle Web Applications 11i、DB2 CLI、Sybase Ctlib、Sybase Dblib、Windows Sockets 和 DNS 协议。u 自定义适用于 C 模板、Visual Basic 模板、Java 模板、Javascript 和 VBScript 类型的脚本。u 分布式组件适用于 COM/DCOM、Corba-Java 和 Rmi-Java 协议。u 电子商务适用于 FTP、LDAP、Palm、Web (HTTP/HTML)、Web 服务和双Web/Winsocket 协议。u Enterprise Java Bean适用于 EJB 测试和 Rmi-Java 协议。u ERP/CRM适用于 Baan、Oracle NCA、Peoplesoft 8、Peoplesoft-Tuxedo、SAP-Web、SAPGUI、SAPGUI/SAP-Web 双协议和 Siebel (Siebel-DB2 CLI、Siebel-MSSQL、Siebel-Web 和 Siebel-Oracle)协议。u 传统适用于终端仿真 (RTE)。u 邮件服务适用于 Internet Messaging (IMAP)、MS Exchange (MAPI)、POP3 和 SMTP。u 中间件适用于 Jacada 和 Tuxedo (6、7)协议。u 流适用于 MediaPlayer 和 RealPlayer 协议。u 无线适用于 i-Mode、VoiceXML 和 WAP 协议。2. 环境准备关于LoadRunner的使用在Oracle e-Business实施的过程中比较常用的是利用Vuser来导入初始化数据及统一修改,另外关于压力测试部分将会另外文档说明。本文档就关于Vuser数据导入部分作相应说明供参考。考虑到针对11i环境而言数据导入方法已经很成熟,本处主要针对R12环境的LoadRunner数据导入方法作相应说明2.1 LoadRunner的安装LoadRunner 8.1以上版本支持Oracle e-Business Suite R12。2.2 R12环境准备R12服务端环境的准备非常关键,R12版本的Forms 10G stack默认是Servlet mode启动,LoadRunner针对Forms 10G stack支持的模式是Socket mode,所以在启用LoadRunner之前需要APPS DBA变更服务端的Forms 10G的Forms Servlet mode到Forms Socket mode,具体步骤如下:u ShutDown应用层所有服务u 按以下格式执行从Forms Servlet mode到forms Socket mode转 变命令格式:$FND_TOP/bin/txkrun.pl -script=ChangeFormsMode -contextfile= -mode=socket -port= -runautoconfig= -appspass= 例如:$FND_TOP/bin/txkrun.pl -script=ChangeFormsMode -contextfile=$INST_TOP/appl/admin/mycontext.xml -mode=socket -port=9095 -runautoconfig=No 详细的参数说明见下面表格描述。ParameterDescription-contextfileFull path to application tier context file, using the syntax: On UNIX:$INST_TOP/appl/admin/.xml-modeservlet - to enable Forms Servlet mode. This is the default value.socket - to enable Forms Socket mode -portPort number used to run Forms in socket mode. The default port number is 9095.A port number is not needed if servlet mode is used.-runautoconfigSpecify whether AutoConfig should be run after changing the forms mode. Possible values are: No - Do not run AutoConfig after enabling Forms servlet/socket mode. This is the recommended value. Yes - Run AutoConfig after enabling Forms servlet/socket mode.-appspassPassword for the applications user. Required only if -runautoconfig=Yes.u 服务端执行AutoConfigu 启动应用层服务u 察看是否Forms Server正在运行 $INST_TOP/admin/scripts/adformsrvctl.sh statusu 访问方法:/.:/OA_HTML/frmservletu 在完成期初数据导入后,建议从forms Socket mode转变为Forms Servlet mode,方法如下: 格式:$FND_TOP/bin/txkrun.pl -script=ChangeFormsMode -contextfile= -mode=servlet -runautoconfig= -appspass= 示例:$FND_TOP/bin/txkrun.pl -script=ChangeFormsMode -contextfile=$INST_TOP/appl/admin/mycontext.xml -mode=servlet -runautoconfig=No 完成后执行AutoConfig 访问模式/.:/forms/frmservlet3. 数据导入主要步骤:1、录制脚本,脚本分为三大块,INIT部分,Action部分,End部分。Init:初始化部分,主要操作连接服务器,进入相关责任功能, 启动后运行一次; Action:活动部分,这部分代码会循环运行,具体导入数据的操作; End:结束部分,Action循环指定次数后,运行该部分,可用来退出系统,该部分运行一次; 2、整理数据,设置参数:为需要导入的数据设置参数,Loadrunner将使用这些参数输入数据; 3、修改调整脚本:删除一些无用代码,提供导入效率;或对付一些更复杂的情况; 4、导入数据。 3.1 录制脚本录制脚本的过程很类似EXCEL的录制宏,操作一遍即可,如果在操作过程中做了无用功,Loadrunner也会记录下来,会影响以后的导入效率。在了解loadrunner语句后可以修改脚本,但最好还是在录制之前手工录入一边对录入界面的风格了解过后再准备相应的举措,正式录制的时候尽量一次操作成功,录制一个比较完美的脚本。 本文档分别针对凭证行数据及供应商数据(针对R12,需要选择不同协议)为例,步骤如下。 3.1.2 凭证数据录入(R12)u 启动Loadrunner,点击 Create/Edit Scripts,u 选择协议ORACLE NCA,针对APPS Forms界面数据导入。ORACLE WEB APPLICATION 11i,针对WEB风格界面数据导入。注:在选择ORACLE WEB APPLICATION 11i协议的时候,如果录制内容过多,录制完毕过后停止的时候,脚本可能会没法产生,可以尝试变更一下License,可以选择10000 web client注册号尝试下。u 设置Recording参数。 Application type:Internet Applications; Program to record:选择IE浏览器; URL Address:http:/.:/OA_HTML/frmservletRecord Into Action:Vuser_init; 点击OK,Loadrunner启动IE进入系统并开始录制。 u 首先进入凭证录入界面,输入凭证头信息。u 选择Record into Action: Action u 鼠标点击凭证行信息块,选择新建(该动作一定要选择,以便循环使用),针对默认出来的凭证行号,可修改为不同于默认值的数字,便于事件录制(如果保持为默认值,可鼠标Click,后续通过脚本处理亦可,如果仅仅是删除默认值,再录入默认值,LoadRunner是不录制该事件的)。针对借项和贷项可分别输入值,不需要的可输入数字0,仅为了让LoadRunner记录事件而已,后续便于用参数处理。u 每一行录制完毕选择保存,因为凭证行在借,贷不平时会有提示,选择是保存即可。注:实际导入时,当导入最后一行数据因为此时借贷是平的,弹出窗口事件没有触发和脚本中的录制触发会有冲突,在导入时最后一行出现该类处理错误时,可不用做处理。u 录制完毕过后选择Record into Action: vuser_end,关掉凭证录入界面,退出应用系统。然后选择停止录制,保存脚本。3.1.2 供应商数据录入(R12)u 启动Loadrunner,点击 Create/Edit Scripts,u 选择协议ORACLE WEB APPLICATION 11i,针对WEB风格界面数据导入。注:在选择ORACLE WEB APPLICATION 11i协议的时候,如果录制内容过多,录制完毕过后停止的时候,脚本可能会没法产生,可以尝试变更一下License,可以选择10000 web client注册号尝试下。u 设置Recording参数。 Application type:Internet Applications; Program to record:选择IE浏览器; URL Address:http:/.:Record Into Action:Vuser_init; 点击OK,Loadrunner启动IE进入系统并开始录制。 由于在R12里面供应商界面风格与R11i差异很大,所以需要根据界面的风格定制录制方法。u 首先选择进入供应商录入菜单,通过供应商编号进行查询(事前已手工录入的供应商信息),进入供应商维护的界面。u 选择Record into Action: Actionu 选择左上角的“供应商”,选择“创建供应商”。这样定制Action循环的时候,每次都可以新建供应商咯。u 录制完毕过后选择Record into Action: vuser_end,选择“注销”,然后点击停止按钮,系统保存脚本,录制结束。 3.1.3 要点关注u 把握Action循环的要点,录制时的开始必须是有新建事件触发,这样循环时才可以每次循环均会从新建开始。u 由于R12有大量界面均为WEB风格,此类录入和传统的Form风格录入在协议,URL地址选择上不同。u 录制时遇到默认值时,选择不同于默认值的数值进行录入,便于录制该录入事件后续通过变量处理。u Vuser_end必须有注销或者退出系统的录制,以便于中断Session释放资源。3.2 参数设置u 录制的脚本记录的是手工输入的数据,所以需要建立参数和数据文件,用于大批数据导入; (1) 点击Param List,进入设置参数窗口; (2) 点击New添加参数,该参数命名需要和我们定制的参数文件标题一致,便于进行匹配。u 整理数据。Loadruner默认数据文件为 *.dat 文件,可以使用*.txt和*.csv文件,数据在EXCEL整理后另存为txt(保存类型选择为:文本文件(制表符分隔)(*.txt)或csv格式,数据尾部不能出现空行或空列。建议选择以txt文件以制表符(TAB)作为分隔处理。数据第一行为标题行;数据列必须和设置的变量保持一致,每个变量需要有对应的数据(如果相应行步需要录入,可保持为空)。 u 选择参数对应的数据文件和列。 选择文件:通过File path 选择 ;选择后Loadrunner显示数据预览,并把第一行数据作为标题。选择列:通过By name选择。选择下行:除第一列,其他所有列均选择Same line AS First_Column_Name(第一列名称)u 替换参数 1) 找到输入的数据,点击右键,选择Use existing paramaters。2) 系统列出设置的所有参数,选择并替换,如果有参数没有列出,可通过select from parameter list进行选择。3) 参数会通过进行引用。具体参数引用的标示符通过系统菜单:Tools-General Options-Parameterization-Parameter Braces中的Left Brace/Right Brace进行定义的。u 设置循环次数 1) 点击Runtime Settings,进入设置循环次数; 2) 输入Run 次数,就是数据文件的行数(除掉标题行)。 u 导入数据。 1) 点击导入即可; 2) 如果导入过程中出错,Loadruner会终止,更改数据后注意 修改循环次数,Loadrunner每次都会从第一行数据开始运行,所以还需要删除数据文件中已导入的部分。3) 通过协议层数据包处理的规则与用户通过界面进行处理的验证规则是一致的,这样也最大可能避免了数据错误的可能性。 3.3 后续注意事项u 循环次数:如果循环次数大于数据文件行数,Loadruner会从第一行开始继续导入,所以为了避免这种错误发生,可以把数据文件中最后一行添加一行错误数据(比如不存在的供应商编码),确保Loadrunner运行到这里时能够终止,省的每次都要修改循环次数。 u 窗口变量:Loadruner是针对窗口进行操作的,有时候同样的窗口但是窗口名不同,Loadruner就会不认了。针对一些动态窗口变量可能有时会出现窗口或者对象无法显示现象,针对LoadRunner 9.0 For R12环境此类问题已解决,不需要再另外提供窗口变量处理。u 操作设计:在录制的时候要考虑清楚,循环得部分应该怎么处理,划分清楚init和Action的界限,以及窗口的变化; u 常见错误常见错误1:无法打开数据文件,(1) Loadruner加载数据文件后,不能用其他程序打开(比如EXCEL,记事本等),否则会报错;2)另外一种情况比较奇怪,需要变更文件格式多尝试即可。比如另存为了csv,但是怎么导入都会报这次错误,再另存为txt就行了。同样,txt如果也总报这个错误,另存为csv就可以了。 常见错误2:没有找到窗口或对象,这个错误比较麻烦,是数据问题。主要还是要修改数据,如果比较频繁而且又没办法规范数据的话,需要修改脚本来处理了,另外亦可通过简化录制方法,仅进入窗口,然后退出,察看系统有无报错提示。 3.4 修改脚本u 脚本基本上不需要做修改就可以使用,效率上也不会有太大的损失,如果对协议层操作没有信心,可有意放慢录制速度。从脚本上看主要由lr_think_time函数来体现。u Loadrunner整个脚本从ORACLE NCA协议及Oracle WEB APPLICATION 11I看都是由一个个函数构成的,从录制属性看是支持C语言进行结构化编程的,此类内容后续再另行追加,目前有很多内容通过LoadRunner来处理还是很吃力或者几无可能,如果支持结构语言编程的话,将会开辟一个崭新的空间。u 函数对激活的对象进行操作,如果这些对象不存在或没有被激活,Loadrunner都会报错,在修改脚本的时候可以按照这个原则在系统中进行调试修改。 u 函数事例介绍1) nca_connect_server(, 9095, module); 链接字符串,如果更换环境,可以直接修改该函数参数; 2) nca_edit_set 文本框编辑,可用变量替代用户及密码,其中密码可以为非加密编码格式,更换用户可修改该函数; 3) nca_lov_retrieve_items(Responsibilities, 1, 15); nca_lov_select_item(Responsibilities, 41_AP_Superuser); 选择责任,更换责任注意同时修改这两个函数; 4) lr_think_time(14);系统模拟思考时间,可以全部删除,这将是删除最多的语句。 通过上面的一些修改,可以简单提高一点效率;函数列表见文档尾页。 u 变量定义 通过变量定义可以直接替换脚本中的字符串,达到方便修改或共享。 变更环境以后,只需要修改变量值即可。一般此类定义可用在连接不同服务期环境中的若干连接字符串信息。常用的模式有两种,一种是在GLOBALS.H中定义,一种是直接参数文件中定义。1) GLOBALS.H模式Loadrunner里默认一个头文件GLOBALS.H,在该文件中设置。 设置格式:类型 *常量名 = 值; 例:一家公司有多个环境多用户,在GLOBALS_H中定义好多个链接字符串、用户名和密码,在导入数据时,直接通过注释GLOBALS_H来切换。在脚本中涉及字符串时用定义的变量名替代即可。例:GLOBALS_H中设置: /* 服务端连接信息*/ /*Domain*/char *ServerURL=;/* 服务端连接信息*/脚本中修改如下: /*脚本中连接字符串和用户登录修改如下*/ web_add_cookie(oracle.uix=0GMT+8:00p; DOMAIN=ServerURL); /*/ 2) 参数定义模式可在文本文件中定义好,然后直接参数调用该文本文件即可。例如参数文件格式如下所示:ServerURLApplicationLoginURL:8001用户只需要在参数定义中选择导入该参数文件即可。u 使用C函数 Loadruner可以使用C函数,语法也和C一样,以解决上面导入供应商信息常见错误为例。 注意:Loadrunner对字符的大小写是敏感的; (1) 用到的函数说明: char strcat ( char *to, const char *from ) 连接字符串; int strcmp ( const char *string1, const char *string2 ) 比较字符串; char strcpy ( char *dest, const char *source ) 复制字符串; int nca_edit_get_text(LPCSTR edit, char *out_string) 取得编辑栏中字符; int nca_get_top_window ( char *winName ) 取windows窗口名; (2) 问题产生原因: 因为有的供应商地址信息不完整,所以在保存的时候,ORACLE会提示“地址信息可能不完整,是否继续的信息”的信息窗口。如果地址信息完整的供应商,则不会出现。 (3) 解决思路:ORACLE判断根据是地址栏的第一行和城市这两个栏位的属性,如果这两个信息只要有一个为空,就会出现警告窗口。 设置变量,取得地址栏第一行字符和城市栏字符,如果都为空,则在保存后激活警示窗口,点击确认按钮,再激活地址层窗口;否则直接激活地址层窗口。 (4) 代码如下: /*添加三个变量*/ char Temp100; char City10; int Flag; /*添加如下代码*/ nca_edit_get_text (SITE_ADDRESS_LINE1_0,Temp); /* 取地址栏值*/ nca_edit_get_text (SITE_CITY_0,City); /*取城市栏值*/ Flag = strcmp(City,)*strcmp(Temp,); /*比较字符串*/ nca_obj_type(SITE_AMOUNT_INCLUDES_TAX_FLAG_0, S, MODIF_CONTROL); /*保存*/ if (Flag = = 0) nca_set_window(Note); /* 激活警示窗口*/ nca_popup_message_press(Note, OK); /*点击OK关闭窗口*/ nca_set_window(Windows); /*激活Site窗口*/ nca_win_close(Supplier Sites); /*关闭地址层窗口*/ (5) 再一个例子,处理导入数据时存在不同币种的情况 /*以下输入币种信息,如果币种列是CNY,我们这段代码就不要再运行*/ nca_edit_get_text(PO_HEADERS_COMMENTS_0,TempString); ComResult = strcmp(TempString,CNY); if (ComResult != 0) nca_button_press(PO_CONTROL_CURRENCY_0); strcpy(TempString, CurrencyFormName); strcat(TempString, PONumber); nca_set_window(TempString);/*币种输入窗口名,已在后缀加上PO订单号*/ nca_edit_set(PO_CURRENCY_CURRENCY_CODE_0,CURRENCY_CODE); /*币种*/ nca_edit_set(PO_CURRENCY_DISP_RATE_TYPE_0, RATE_TYPE);/*类型*/ nca_edit_set(PO_CURRENCY_RATE_DATE_0, RATE_DATE); /*汇率日期*/ nca_edit_set(PO_CURRENCY_DISP_RATE_0, rate); /*汇率*/ nca_button_press(PO_CURRENCY_DONE_BUTTON_0); /*币种输入窗口确定*/ strcpy(TempString, POFormName); strcat(TempString, PONumber); nca_set_window(TempString); /*订单输入主窗口,窗口名已加上订单号*/ 注:此处只是提供参考,具体通过C来进行结构化控制的方式后续再另外追加内容。u 调试 调试相对比较麻烦,可以保存脚本过后首先进行编译处理,主要还是从事Oracle e-Business Suite产品实施的顾问对脚本不熟悉的原因造成。1. 可以断点和分步运行,可以通过编译来检查脚本是否有错误; 2. 不知道哪里查看变量的值,可以通过sprintf()等函数输出到文件; 3. 可以插入CVuser消息函数,可以插入其他C函数辅助调试,没有测试; 附录NCA函数列表函数 说明 按钮对象函数 nca_button_double_press 在按钮上双击 nca_button_press 激活按钮 nca_button_set 设置指定按钮的状态 组合框对象函数 nca_combo_select_item 在组合框中选择项 nca_combo_set_item 在组合框中设置新项 连接函数 nca_connect_server 连接到 Oracle NCA 服务器 nca_logon_connect 登录到 Oracle NCA 数据库 nca_logon_cancel 与 Oracle NCA 数据库断 编辑对象函数 nca_edit_box_press 单击编辑框消息 nca_edit_click 单击编辑对象 nca_edit_get_text 返回编辑对象中的文本 nca_edit_press 激活编辑字段中的浏览按钮 nca_edit_set 替换编辑对象的全部内容 Flex对象函数 nca_flex_click_cell 单击 Flexfield 窗口中的表单元格 nca_flex_get_cell_data 获取 Flexfield 单元格中的数据 nca_flex_get_column_name 获取 Flexfield 窗口中的列名 nca_flex_press_clear 单击 Flexfield 窗口中的“清除” nca_flex_press_find 单击 Flexfield 窗口中的“查找” nca_flex_press_help 单击 Flexfield 窗口中的“帮助” nca_flex_press_lov 单击 Flexfield 窗口中的“值列表”按钮 nca_flex_press_ok 单击 Flexfield 窗口中的“确定” nca_flex_set_cell_data 在 Flexfield 窗口中插入数据 nca_flex_set_cell_data_press_ok 输入数据之后,单击 Flexfield 窗口中的“确定” 列出项函数 nca_list_activate_ite
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 销售代理合同模板(样式一)
- 教育实习单位与实习生合同样本
- 5《江上渔者》教学设计-2023-2024学年六年级下册语文统编版
- 拆除与废弃物处理合同
- 临床试验数据分析合同
- 2024秋闽教版信息技术五年级上册《第5课 插入图片秀美景》教学设计
- 外商投资企业员工股权激励合同
- 销售合同万能模板
- 新版车辆抵押合同范本
- 11 对人有礼貌 教学设计-2024-2025学年道德与法治一年级上册统编版
- 班会课件:逆风飞翔破茧成蝶-从《哪吒之魔童闹海》看青春期的成长与责任
- 2.1 坚持依宪治国 教案 -2024-2025学年统编版道德与法治八年级下册
- 【语文试卷+答案】2024-2025学年泉州高二上期末质检
- 《修缮定额讲解》课件
- 大学学生宿舍管理员工作培训
- 初三物理常识试卷单选题100道及答案
- 浙江2024公务员考试真题及答案
- 初中新课标培训课件
- 公司银行贷款申请书范文
- 高中英语新课程标准解读课件
- 1.2《友邦惊诧论》教学设计-【中职专用】高二语文同步讲堂(高教版2024·拓展模块上册)
评论
0/150
提交评论