- 浏览: 1043512 次
- 性别:
- 来自: 成都
最新评论
-
cs6641468:
检查每个Java版本特有的class是一种思路,你这个例子是, ...
如何通过Java代码判断当前的环境是否支持JRE 9 -
JerryWang_SAP:
aa00aa00 写道看见了我的影子哈哈,厉害
SAP成都研究院的体育故事 -
aa00aa00:
看见了我的影子
SAP成都研究院的体育故事 -
柳絮飞祭奠:
666111
让SAP云平台上的Web应用使用destination服务 -
JerryWang_SAP:
masuweng 写道这是java代码吗?您好,都是JavaS ...
CRM WebClient UI的浏览器打印实现
文章列表
当试图在CRM WebUI保存一个business transaction比如Opportunity时,可能会遇到各种各样的错误消息。有的错误消息会阻止Business transaction被save,有的则不会。这些错误消息有何区别?
通过debug, 发现method check_popup_to_raise 会检查当前是否存在会导致弹出popup window提示给end user的error message。此类error message会终止transaction的save process.
上图代码的逻辑翻译成文字就是:当且 ...
我的同事问过我这个问题:
只要弄清楚Smart control的原理,就能回答这个问题。
答案是: smart control可以像普通的控件一样在xml view中被定义和使用,但是必须结合OData annotation,否则没有意义。以Smart control里的Smart field为例,详细原理在我的博客Currency example – how Smart field works里介绍。
概括起来,就是:
1. Smart field本身也是一个控件,更准确的说是一个没有UI输出的控件,只是一个壳。在UI render的时候,smart fie ...
我在VirtualBox安装的ubuntu里安装Cloud Foundry时遇到错误信息,磁盘空间不够了:
使用这三个命令做了清理之后,结果依然不够理想:
(1) sudo apt-get autoclean(已卸载软件的安装包)
(2) sudo apt-get clean(未卸载软件的安装包)
(3) 清理系统不再需要的孤立的软件包。sudo apt-get autoremove
于是我决定将ubuntu的虚拟机磁盘大小调整为30G。
当前磁盘空间通过命令行VBoxManage.exe list hd ...
我是在Windows操作系统里用VirtualBox安装了ubuntu操作系统。
在VirtualBox里操作ubuntu的终端不是很方便,比如我想在Windows里复制一些命令到ubuntu的终端执行。而Putty默认即可支持这个跨系统的复制粘贴操作。VirtualBox无法调整console里字体大小,而Putty可以很方便的修改console里的字体。
那么如何用Putty连接安装在本地虚拟机里的ubuntu系统呢?
(1). ubuntu的虚拟器网络设置为NAT 模式:
(2). 选择高级模式,打开Port Forwardin ...
比如SAP HANA Live Reporting这个Customizing Activity,在System AG3里不可见,但是在另一个系统QHD里却能使用。比较下列两张图的差异。
一种可能的原因是,这个customizing activity绑定到了某个业务开关(Business Switch)上面。如果该业务开关在某个系统上处于关闭状态,则您无法在事务码SPRO里看到该activity。
如何查看一个customizing activity是否绑定到了某个业务开关上:首先您得找到一个系统,在该系统上能在事务码SPRO里看见该activ ...
1. 使用业务角色ANALYTICSPRO登录WebClient UI:
2. 点击新建按钮:
为新建的报表分配一个HANA Live Query:
指定Query的参数:
Stefan Hagen在博文SAP Cloud Application Studio Performance Best Practices里介绍了在C4C里使用Cloud Application Studio进行ABSL编程的一些性能方面的最佳实践。
文章里提纲挈领地给出了一些guideline。这里提供一些具体的例子。
如何批量调用BO action
不好的例子:
第一行和第四行有两个循环,然后在第二次循环里调用一个比较耗时的ServiceRequest BO的item 节点上定义的标准action FinishFulfilmentProcessing。代 ...
当试图打开一个Opportunity时,
系统会进行如下一系列的权限检查:
1. 检查Authorization object CRM_ORD_OP:
此处会检查当前user的partner function和partner function category的设置情况:
干净的ubuntu安装完毕之后是没有vboxdrv这个driver module的。
新建一个folder jerry_virtualbox:
使用wget下载virtualbox安装包:https://download.virtualbox.org/virtualbox/5.2.8/virtualbox-5.2_5.2.8-121009Ubuntuxenial_amd64.deb
下载完毕:
腾讯云网址:https://cloud.tencent.com/
点击立即前往:
操作系统选择Ubuntu:
事务码 STAUTHTRACE
1. 点击"Activate Trace" button激活跟踪:
可以看到跟踪状态已经处于打开状态。
在同一个application server instance上使用事务码CRM_UI 登陆webclient ui,进行操作。操作完毕后关闭跟踪,点Evaluate button得到所有权限检查的跟踪列表。
点F9可以看到执行权限检查的ABAP代码:
可以查看涉及到的权限对象的文档:
背景
有不同的同事问我这个问题:例如下图的LOOP要执行1000次,我只对其中的某一次比如第501次循环感兴趣,我肯定不可能按500次F5然后进入第501次的调试。或者我只对LOOP里某个变量为某一个具体值的那一次循环感兴趣。如何才能避免重复按F5,让断点直接停在满足我期望的条件上?
其实有三种方法实现。
方法1 - 使用ABAP调试器自带的条件断点功能
假设上图的例子里,我希望循环体内的第15行,当<data>等于22时触发断点。
创建一个新的动态断点:
在此处维护该断点触发的条件:
一个很小的tip:比如我想把UI5表格控件里的每列设置成宽度根据显示的内容自适应,需要知道应该调用控件的哪个方法来实现。
一种办法当然是查SAP帮助文档,得知需要调用控件的公有方法setAutoSizable。
另一种办法 ...
如果您够细心,您或许会发现有的SAP Fiori应用的footerbar区域内的按钮有高亮显示,有的则没有。
如何自己分析这两种按钮的实现原理?
还是借助Chrome Development Tool。更多Chrome development tool的使用技巧,参考我的博客
Chrome Development Tool tips used in my daily work
使用network tab可以观察到实现高亮实现的CSS class:
记下这个css class的名称sapMBtnEmphasized:
...
SAP的Fiori应用是通过OData和后台交互的。在使用Fiori应用时您可能会遇到这样的错误消息:
这个错误消息没有包含有助于partner或者客户定位问题根源的线索。
下面是如何在后台找出问题根源的步骤。
1. 在Fiori前台系统上使用事务码/IWFND/ERROR_LOG找到当前OData出错对应的错误日志:
关于Fiori前后台系统的区分,参考我的微信公众号文章SAP Fiori应用的三种部署方式
2. 点击工具栏上的按钮"Active Source"。然后我们会被自动带到抛出错误消息的代码位置,即下 ...