Siebel学习笔记

2023-11-08

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;

转载于:https://www.cnblogs.com/yuer27/p/3607391.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Siebel学习笔记 的相关文章

  • 安卓前台服务的使用(简单)

    首先是 AndroidManifest xml 文件
  • 数据结构:力扣OJ题(每日一练)

    题一 有效的括号 给定一个只包括 的字符串 s 判断字符串是否有效 有效字符串需满足 左括号必须用相同类型的右括号闭合 左括号必须以正确的顺序闭合 每个右括号都有一个对应的相同类型的左括号 示例 2 输入 s 输出 true 思路一 第一步

随机推荐

  • spring如何开启允许循环依赖

    如何解决spring循环依赖 在Spring框架中 allowCircularReferences属性是用于控制Bean之间的循环依赖的 循环依赖是指两个或多个Bean之间相互依赖的情况 其中一个Bean依赖于另一个Bean 同时另一个Be
  • 人工智能用哪个版本linux,Linux各个版本应用在哪些场景?你都了解吗?

    Linux是非常热门的技术 随着应用领域不断拓展 越来越多的人都想要加入Linux行业中 当我们进入行业确定好自己发展路线之后 就是选择一个合适的Linux版本 但是对于很多人都是比较头疼的问题 Linux各个版本应用在哪些场景 为大家介绍
  • Gof23设计模式之命令模式

    1 概述 将一个请求封装为一个对象 使发出请求的责任和执行请求的责任分割开 这样两者之间通过命令对象进行沟通 这样方便将命令对象进行存储 传递 调用 增加与管理 2 结构 命令模式包含以下主要角色 抽象命令类 Command 角色 定义命令
  • 解决导入torchvision(import torchvision)库执行时报错,但是导入torch库(import torchvision)执行却正常的问题。

    参考了网上各种说法 最终采用了torchvision和torch库版本不兼容的说法 完美运行 解决办法如下 1 卸载原torchvision pip uninstall torchvision 2 重新安装低版本的torchvision p
  • C++ Pat甲级1007 Maximum Subsequence Sum (25 分)(dp)

    1007 Maximum Subsequence Sum 25 分 Given a sequence of K integers N 1 N 2 N K A continuous subsequence is defined to be N
  • 什么是Web3 ?它是如何工作的?

    Web3提供了一种潜在的解决方案 可以更容易地在万维网上找到内容的原始来源 我们将讨论Web 3是什么以及它是如何工作的 万维网一直以来都是一个不受限制地创造和分享信息和思想的平台 虽然这让世界感觉更小 但它也有它的缺点 即难以确定内容的原
  • 计算机图形系统相关的输入设备,计算机图形学题目及答案

    5 20 边标志填充算法是用什么作为标志 如何实施填充的 边标志填充算法利用边界色作为标志来进行填充 当扫描线从左到右扫描时碰到边界色 立刻改变标志的状态 再根据标志的状态决定某象素点是否填充 21 将扫描线种子填充算法由实面积填充改为图案
  • 【VMware/Linux】虚拟机根目录扩容

    大家好 我是好学的小师弟 最近IT给配的虚拟机 目录容量太小了 不符合环境部署条件 所以想让IT扩下容 IT给我加了一块磁盘 然后让我自己lvm扩容去 这里记录下扩容方法 1 先添加一块磁盘 这里添加了一块磁盘sdr fdisk l 查看新
  • 数据结构与算法分析--Java语言描述(第二章(2))

    习题2 23 不用递归 写出快速求幂的程序 递归方法 param x param n return public long pow long x int n if n 0 return 1 if isEven n return pow x
  • VSCODE-版本控制工具SVN

    1 在SVN中安装插件 SVN svn简介 安装完成后 重新启动SVN或者点击SVN 重新加载 本人SVN不是默认安装位置 但是无需修改vscode 用户设置 中的任何选项 2 引入项目 直接打开通过SVN下载的项目的文件夹 3 查看SVN
  • eclipse指定jdk版本启动,解决Version XXXX of the JVM is not suitable

    可以解决Version XXXX of the JVM is not suitable for this product Version XXXXXX or greater is required 例如 Verson1 7 0 79 of
  • 【Vue】同一模板 多个样式 统一实现

    文章目录 一 背景 二 具体代码 一 背景 项目中多个页面的页脚都包含版权信息 并且各自有一个 Copyright vue 的组件 经过对比 template 的内容一模一样 只是样式有些不同 这里准备抽取出来 用一个公共组件 CopyRi
  • 你的电脑上的应用需要使用以下window功能.NET Framework3.5(包括.NET2.0和3.0)

    我自己下载了 net 3 5来安装他也提示这玩意 然后点自动安装后又错误码0x800f081f 奶奶滴 于是去百度 解决流程 1 首先 按Windows R调出 运行 对话框 2 接下来 键入gpedit msc并按Enter 3 该命令将
  • pytorch将Tensor转为list

    import torch value torch Tensor 1 2 3 print list value tolist 得到 list 1 0 2 0 3 0
  • promise与async和await的使用

    基础回顾 阻塞代码实例 首先 我们新建一个 test txt 文件 内容如下 111 然后 我们来编写一个 main js 文件 代码如下 var fs require fs var str fs readFileSync test txt
  • css button自动调整位置_(Vue动效)1.Vue的CSS过渡动效

    关键词
  • JAVA个推----将信息推送至手机端

    个推功能简介 将信息推送至手机端 手机端人员可以看到收到的信息 个推功能需要借助第三方平台的接口 需要申请账号 单独开发很难完成 这里就是用到了第三方接口 完成个推需要完成三步 获取token 调用个推接口需要获取用于验证的token 获取
  • 前端歌谣的刷题之路-第二十二题-基本数据类型检测

    前言 我是歌谣 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷 本题目源自于牛客网 微信公众号前端小歌谣 题目 请补全JavaScript函数 要求以字符串的形式返回参数的类型 注意 只需检测基本数据类型 编辑 核心代码
  • 自动驾驶制图中的深度学习

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 深度学习在整个自动驾驶技术的各个部分中进行了应用 例如在感知 预测和计划中都有应用 同时 深度学习也可以用于制图 这是高级自动驾驶的关键组成部分 拥有准确的地图对于自动驾
  • Siebel学习笔记

    Siebel escript 的学习 1 Siebel的数据类型 Primitive 原始的 Number Integer Hexadecimal 十六进制 Octal 八进制 Floating Point 浮点 Decimal 十进制 S