Siebel学习笔记
Siebel(escript)的学习:
1.Siebel的数据类型
Primitive(原始的)---Number,Integer,Hexadecimal(十六进制),Octal(八进制),Floating Point(浮点),Decimal(十进制),Scientific(系统的),Boolean, String
Composite(复合的)---Object,Array,
Special(特殊的)----Undefined(未定义的), Null,NaN(非数值)
2. typeof 方法
typeof variable or typeof(variable)
返回值为:"undefined","boolean","string","object","number","function",or"buffer"
3. Refresh Record Methods
刷新Applet的记录
var oBs=TheApplication().GetService("FINS Teller UI Navigation").
oBs.InvokeMethod("RefreshCurrentApplet",Inputs,Outputs);
/*如果input的参数中有设置Refresh All为Y,则刷新当前View所在的所有Applet*/
BC有两个Method:
BusComp.invokeMethod("RefreshRecord") 刷新当前记录
BusComp.invokeMehtod("RefreshBusComp") 刷新当前查询记录
4.TheApplication().Trace Method
TheApplication().TraceOn(filename,type,selection)
Filename 为日志文件,绝对路径
Type 包括Allocation和SQL
1.Allocation.Traces allocations and deallocations of Siebel objects.
This option is useful if you suspect memory leaks in your code.
2.SQL.Traces SQL statements generated by the Siebel application.
Selection 一般我们都用All就可以了
eg: TheApplication().TraceOn("D:\\siebel_debug\\trace.txt","Allocation","All");
5.配置MVL注意点
配置MVL时需要将use primary join 打勾,不然会导致生成N+1条SQL语句的问题.
MVL.use primary join的作用:
use primary join没有打勾,会把每条关联数据都查询出来.
use primary join 有打勾,只会把主关联数据查询出来.
6.About Get BO\BC
About Get BO
1.TheApplication().ActiveBusObject();
returns the business object for the business component of the active applet
2.this.BusObject();
returns the business object for the business component of the applet.
3.TheApplication().GetBusObject("BO NAME");
instantiates and returns a new instance of the argument specified business object
---------------------------------------------------------------------------------------------
About Get BC
1.TheApplication().ActiveBusComp();
returns the business component associated with the active applet.
2.this.BusComp();
returns the business component of the applet.
Eg: this.BusComp().GetFieldValue(“Id”); //use it to get current record id
3.boXXX.GetBusComp("BC NAME");
instantiates and returns a new instance of the argument specified business component
7.BC Operation
with(oBcName){
ClearToQuery();
SetViewMode(AllView);//ViewMode,一般常用的为 Organization Catelog 等
ActivateField("Status");
SetSearchSpec("Id", sOrdId);// or SetSearchExpr(sSearch);
//特别注意 SetSearchSpec 和 SetSearchExpr 交替使用是会覆盖查询条件的情况,自己测试
ExecuteQuery(ForwardOnly);
}
//DeleteRecord 不需要 NextRecord
8.在 escript 中使用 PickList
在脚本中对具有 PickList 的 Field 赋值时,不要直接使用 SetFieldValue 对 field 直接赋值,需要使用 Pick 方法
错误的赋值方式:
BC.SetFieldValue("fieldname", "value"),
正确的赋值方式:
with(oBcCA){
var oBCPick = GetPicklistBusComp("State");
with (oBCPick)
{
ClearToQuery();
SetSearchSpec("Value", "CA");
ExecuteQuery(ForwardOnly);
I f(FirstRecord())
Pick();
}//end with(oBCPick)
oBCPick = null;
}//end with(oBcCA)
9.eScript 中 Split 方法的使用
循环使用 Split 方法会引起内存泄漏,在使用一次后,请及时 destory 对象。如下所示:
while(bHasRecord)
{
sSpiltText = GetSplitText();
var aSplit = sSplitText.Split(“,”);
//TODO Business
aSplit = null;
}//end while
10.对于导入导出的代码的写法
//打开一个文件选择对话框
var cdl = new ActiveXObject( "MsComDlg.CommonDialog" );
cdl.MaxFileSize = 256 ;
cdl.DialogTitle = "Select Data File" ;
cdl.Filter="Excel Files(*.xls)|*.xls|Batch Files(*.csv)|*.csv|Text Files(*.txt)|*.txt|Other Files(*.*)|*.*";
cdl.ShowOpen();
var sFileName = cdl.FileName;
//得到 Excel 中的数据
var ExcelApp = new ActiveXObject("Excel.Application");
var ExcelBook = ExcelApp.Workbooks.Open(sFileName);
var ExcelSheet = ExcelBook.WorkSheets("Sheet1");
var sTemp = ExcelSheet.Cells(1,1).Value;
eScript脚本
1.主要使用在:Application Applet BC BS(BS对象就是脚本组成,是对一系列脚本的封装)
eScript语言主要在Browser Script 和Server Script.
Applet 脚本主要体现在各个按钮上.Applet的各个按钮主要定义在Control上.
Browser Script主要运行在浏览器端,Server Script主要运行在服务器端.
执行顺序:优先执行Browser 端的脚本-->Server端的脚本,脚本不只是写在Browser 端,Server端的配置,还有信号只是针对业务需求很少用到.
2.业务服务(BS)
就是定义一个名称,然后指定一个Project,Class一般是默认的.除了特殊的,比如说接口。
业务服务结构:
主要就是Method,里面包含一系列的方法,配在UP里面.
Applet Browser Script()加载页面就已经执行了.
BS:Method定义一系列方法的集合.BS Server 脚本.
3.控制按钮明暗的两种方式:
1)Server端配置按钮明暗的:PreCanInvoke() 写脚本配置
2)UP中控制:CanInvokeMethodUP:方法名 也可控制按钮的明暗的. Ture 或者False 或一系列的运算.
3)针对控制按钮明暗来说优先执行顺序:UP>BroswerScript.逻辑脚本可以写在:Up>Browser脚本>Server脚本
4)了解两个返回操作的代码ReturnCancelOperation与 RerurnContinueOperation的区别.
4.Applet脚本的写脚本的位置:Browser eScript(Applet_PreInvokeMethod
,Applet_InvokeMethod), Server
eScript(PreInvokeMethod,InvokeMethod,PreCanInvokeMethod)
BC端:Broswer Script不用写脚本,Server Script需要写脚本. 服务器端对应的是column,写脚本的位置:BusComp_PreSetFieldValue ,BusComp_SetFieldValue.
5.Siebel 脚本语法规则:
1)eScript脚本语法定义规则
var aGood;
对象变量:Applet、BO、 BC、 View 、Screen、 Application
//获取BO对象 var oBo=TheApplication().getBusObject("BO名称");
//获取BC对象 var oBs=TheApplication().GetBusService("业务服务的名称");
//获取BC对象 var oBc=oBo.GetBusComp("BC名称");
fucntion方法定义一个名称
function aGount(Inputs,Outputs){
try{
}catch(e){
}finally {
}
}
2)BC对象下常用的方法.
with(oBc){
//1.设置数据视图权限
SetViewMode(AllView);
ClearToQuery();
//2.激活字段(相当于把某个字段查出来了.)
ActiveField("字段名称")
//3.设置查询条件
SetSearchSpec("Product Type Code","产品");
var sStr="[字段1]=值 and [字段2]<>值 or [字段3]=值";
setSearchExpr(sStr);
//4.执行查询
ExecuteQuery(ForwardOnly);
//5.获取结果集并判断结果
result=FirstRecord();//接收第一条记录
//6.判断
if(result){
//修改字段值
SetFieldValue("字段Name","要设的值");
//获取字段值
GetFieldValue("字段名称");//返回的是String类型
//7.保存提交
WriteRecord("保存名称");
}
}
6.BC代码的编写顺序:
1).设置数据视图权限
2).清除查询
3).激活字段(相当于把某个字段查出来)
4).设置查询条件
5).执行查询
6).获取结果集并判断结果
7).保存提交
Siebel学习笔记的更多相关文章
- siebel学习笔记-应用/数据访问控制
应用/数据访问控制Siebel提供的两种主要的访问控制方式在View级别和Data(record)级别: 1.View级别的访问控制:一个企业通常按照功能进行工作的区分,分配给一个用户的功能决定了他能 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
随机推荐
- R语言结果输出方法
输出函数:cat,sink,writeLines,write.table 根据输出的方向分为输出到屏幕和输出到文件. 1.cat函数即能输出到屏幕,也能输出到文件. 使用方式:cat(... , fi ...
- P3243 [HNOI2015]菜肴制作
传送门 把时间看成数,菜肴看成位置 考虑一个位置填什么数很麻烦 考虑一个数放在什么位置 一开始我想的是,对于一个限制 $(a,b)$ ,从 $a$ 往 $b$ 连一条边,然后如果有解则所有的限制构成了 ...
- Git的深入理解与GitHub托管服务的使用
[转自] http://www.cnblogs.com/cocowool/archive/2012/02/17/2356125.html 源代码管理系统(SCM)与版本控制 版本控制是一种记录若干文件 ...
- vue父子组件生命周期函数执行顺序
vue父组件加载和销毁执行最后一个钩子函数之前先执行一遍子组件的钩子: 1.加载 父:beforecreate-created-beforeMount-(子:beforecreate-created- ...
- Centos安装zeromq, jzmq
昨晚上帮LP一起在centos上安装zeromq.刚开始的时候,LP说在公司的机器装各种依赖包下不到,第一感觉安装起来还挺麻烦的. 然后上网搜索linux下zeromq的安装,然后先安装各种所需的依赖 ...
- 一步步带你做vue后台管理框架
1.登录 (1). 一步步带你做vue后台管理框架(三)——登录功能 2.权限控制 (1) 基于Vue2.0实现后台系统权限控制 (2) 手摸手,带你用vue撸后台 系列二(登录权限篇)
- Eclipse快捷键--备忘
[Ct rl+T] 搜索当前接口的实现类 1. [ALT +/] 此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类.方法和属性的名字时,多体验一下[ ...
- Python 断言的使用方法
自动化测试常用断言的使用方法(python) 自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行操作可能还不够,有时候也需要对预期结果进行判断. 这 ...
- Permanent data region free space insufficient to allocate 64792 bytes of memory
TT0802: Database permanent space exhaustedTT6220: Permanent data region free space insufficient to a ...
- Poj 3667——hotel——————【线段树区间合并】
Hotel Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 13124 Accepted: 5664 Descriptio ...