sap

Jerry的Fiori原创文章合集

旧巷老猫 提交于 2020-02-12 01:10:06
我曾经于2014年10月到2016年5月工作于SAP CRM Fiori应用的开发团队, 我所在的团队负责下列这8个Fiori应用的维护和持续开发: My Opportunities My Tasks My Appointments My Leads My Notes Simulate Sales Pipeline Track Sales Pipeline 在这不到两年的开发工作里,我在使用SAP UI5的过程中遇到各种各样的问题,我都把它们一一记录了下来。还有一些问题来源于我的好奇心,比如看到了一些UI效果,想知道它背后是怎么实现的;又比如观察到了一些系统的看起来有点怪的行为,我想知道它究竟是确实就是这样设计的,还是说我观察到的其实是bug。另外一类问题是同样的应用,在系统A的行为是a,在系统B的行为是b。作为强迫症患者,我总是要通过调试的方式搞清楚原因。对于这种我自己给自己提的问题,弄清楚答案之后我也记录了下来,以备将来哪一天又会用到。 1. Explore the com.sap.ui5.resource.ResourceServlet 我们在本地做Fiori开发时,经常通过这样的方式引入UI5的库文件。我刚接触UI5时,就问过自己一个问题: 这个sap-ui-core.js在这里是通过相对路径引入的。当Fiori应用在本地的服务器比如Tomcat启动时

sapui5 walkthrough 16-20

若如初见. 提交于 2020-02-09 18:20:32
16 Step 16: Dialogs and Fragments fragments 是一个轻量级的UI组件,可以重用,但没有任何controller。 当你想定义一个跨多个视图的,特定的ui的一部分时,可以选择fragments。 一个fragment里面可以包括一个到多个控件,在运行的时候,视图中的fragments中的控件的内容会像普通视图中的content内容一样,被包含在视图的DOM中。这样我们可以像访问普通视图的控件一样,直接访问fragments中的控件。 当然,也有一些控件不会成为视图的一部分,例如对话框。 添加一个对话框到应用程序中,对话框打开在常规的应用程序内容之上,因此不属于特定的视图,所以必须在controller的某个地方进行实例化。 另外由于需要尽可能灵活的重用构件,并且不能将对话框指定为view,所以我们将创建包含dialog的XML fragment。 修改 HelloPanel.view.xml <mvc:View controllerName="sap.ui.demo.walkthrough.controller.HelloPanel" xmlns="sap.m" xmlns:mvc="sap.ui.core.mvc"> <Panel headerText="{i18n>helloPanelTitle}" class=

[导入]SAP 站在并购的岔路口?(AMT 陈士昂)

时光怂恿深爱的人放手 提交于 2020-02-09 03:25:00
从不同维度看,事情有很多不同的原因、过程和结果。不同的事件、不同的关注点,正为我们提供着不同的观察角度。在这里,我们不求分析得面面俱到,只希望在某个方面获得一些启示,分享一些观点,也许在实践中,能够有所借鉴。 SAP 站在并购的岔路口?(AMT 陈士昂) 专栏主持: 王佑 原文 地址: http://www.amteam.org/static/94/94405.html >> 浏览往期 数年来媒体和业界一直都在炒SAP与微软、IBM和Google等技术大鳄合并的可能,然而SAP首席执行官孔翰宁最近表示SAP的客户不希望该公司被归并其它公司旗下,似乎对以上事件的发生明确说了“不”;不过,与之同时,公司创始人之一、监管委员会主席普拉特纳曾表示虽然目前没有与IBM等巨头展开有关并购的谈判,但是并不表示未来不会与IBM合并;这似乎与孔翰宁的说法有些矛盾。 实际上就连孔翰宁自己一年前在接受德国《商业周刊》采访时也曾表示,如果竞争对手甲骨文公司的CEO拉里·埃里森向SAP提出收购意向,他会考虑与甲骨文合并。虽然这前后似乎有些矛盾的表态,可能是针对不同的场合与情景,也可能是由于战略转变的关系,但是应该看得出SAP对于并购的难于取舍。 风起云涌的并购潮 回顾过去数年的IT业发展历史,可以说给人印象最深刻的就是“并购”一词,这一次的并购风潮涉及金额之巨、影响之广,可谓是前所谓有

SAP ABAP Netweaver和Hybris Commerce的部署策略

て烟熏妆下的殇ゞ 提交于 2020-02-08 21:57:28
我们都知道Netweaver经典的三层架构,既能部署在Linux/Unix上也能部署在Windows OS上. https://help.sap.com/doc/1080eced90cf4c7a94858c56e8203257/CURRENT_VERSION/en-US/SystemCopy_70X_win_aj.pdf tcode SM51能看到一个逻辑的application server比如AG3后面的物理server instance: 这些物理server instance共享同一个DB. Hybris的部署方式有三种,单instance,多instance和多tenant。 下图的cluster mode就对应上图的AG3这种部署方式,而Multi-tenant mode就对应C4C的部署方式,唯一区别就是Hybris里不同客户拥有自己的tenant,数据是通过database table prefix隔离的,而C4C里数据隔离是通过client做的。 对于成都开发团队来说,开发环境肯定采取的是最简单的单instance mode. 开发环境里有一个嵌入的tomcat server: 我们直接执行tomcat里这个bat启动tomcat: 这个bat里会首先检测当前os类型,然后执行对应的执行文件: 在我的laptop上,执行这个x86的exe:

如何使用SAP Intelligent Robotic Process Automation自动操作Excel

为君一笑 提交于 2020-02-08 19:45:00
今天是鼠年正月十二。这是Jerry鼠年的第 11 篇文章,也是汪子熙公众号总共第 210 篇原创文章。 之前Jerry的文章 使用ABAP操作Excel的几种方法 ,介绍的是通过ABAP这门编程语言去操作Excel的方法。 除了编程语言之外,SAP新发布的SAP Intelligent Robotic Process Automation(简称SAP iRPA),提供了强大的企业级自动化流程解决方案,善加利用,可以在不需要编程的情况下,像使用编程语言一样灵活地操作Excel. 我们来看个具体而又简单的例子,用SAP Intelligent Robotic Process Automation操作一个Excel文件,往里面的单元格写入一个字符串,设置背景色然后关闭。 在动手做这个例子之前,你也许需要先阅读这两篇文章,以了解SAP iRPA的上下文。 SAP智能机器人流程自动化解决方案 使用SAP iRPA Studio创建的本地项目,如何部署到SAP云平台上? 打开SAP Intelligent Robotic Process Automation Desktop Studio,导入SAP预置的操作Excel的nodejs脚本库文件。 在库文件里选择Excel Integration. 从下图能发现,SAP iRPA除了Excel之外

SAP CRM产品主数据应用里value node和model node的转换

眉间皱痕 提交于 2020-02-08 18:52:23
Sent: Thursday, February 28, 2013 6:58 PM 第二次点New ,lr_product变成value node,这个行为是一个expected的behavior: 第一次点New时,57行会trigger这个event的handler: 24行会把collection wrapper清空。 接下来会预备创建新的product: 只有当我们从UI上选择了base category之后,我们的逻辑才会从value node里面取数据,用于创建真正的mode node: 要获取更多Jerry的原创文章,请关注公众号"汪子熙": 来源: https://www.cnblogs.com/sap-jerry/p/12284074.html

用React开发SAP Fiori应用

不问归期 提交于 2020-02-08 09:54:02
Jerry曾经写过两篇文章: SAP Fiori + Vue = ? - 2018年12月18日 Fiori Fundamentals和SAP UI5 Web Components - 2019年2月19日 介绍了SAP Fiori是如何一步步走向开放的。在Fiori Fundamentals和SAP UI5 Web Component诞生之前,SAP UI5是开发SAP Fiori应用唯一可供选择的前端框架。 很显然SAP对前端领域蓬勃发展的Vue,Angular,React这三驾马车并未熟视无睹,这才有了Fiori Fundamentals和SAP UI5 Web Component的问世。 关于这两个名词的区别和联系,请参阅Jerry文首提到的两篇文章,我就不再重复了。 在差不多去年这个时候,SAP社区博客提到,SAP UI5 Web Component发布了Beta版。 那么SAP的工程师们经过了一年的努力后,SAP UI5 Web Component到底有何进展呢?我们一起来看一下。 SAP官方Github上,对UI5 Web Component的定义是:借助它,可以使用自己喜欢的前端框架来开发SAP Fiori应用。 https://github.com/SAP/ui5-webcomponents 因为Jerry之前的文章尝试过Vue,本文就换成用React来演示。

SAP FICO 自动清帐

孤人 提交于 2020-02-06 04:23:36
更多内容关注公众号:SAP Technical 各位可以关注我的公众号:SAP Technical t-code:ob74设定自动清账的条件,设定正确的话,然后f.13执行清账。在OB74设定自动清账的标准时,可以选择是按照分配号、金额等不同的标准来寻找匹配的行项目。 1.手工清帐处理 总账清账手动处理F-03 (对会计科目清账) 应收清账手动处理F-32 (可以清理特别总账) 应付清账手动处理F-44(可以清理特别总账) 2.自动清账处理 如果会计科目未选未清项管理,是不会起作用的,就是选择了也不一定会起作用(最好是省的麻烦不使用它 清账处理规则一般如下: (1)自动清账先根据借(正)与贷(负)金额相同的,再根据其他规则比如分配字段相同的进行自动清账处理。 (2)可以对GL,AP,AR和一些特别总账清理。 (3)自动清账的科目需设定未清项管理,如没设定未清项管理是不能进行清账处理的。 (4)自动清账和手动清账都可以对同一家客户或供应商的标准账户与其特别总账之间进行清账处理。但是A和W不能进行清账处理,因为系统会认为与标准账处理是不同的无法自动清理。 (5) 清账时的选项可以是同时或多项一起进行清账处理的。但是这几个选项中必选一项。 不管是手动清账还是自动清账 (6)手动清账比较灵活,应收及应付的最好使用它,因为比如有笔预付是付给某PO的,毕竟计算机不可能象人一样精明能知道

Air Raid[HDU1151]

孤街浪徒 提交于 2020-02-05 16:09:17
Air Raid Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 4974 Accepted Submission(s): 3347 Problem Description Consider a town where all the streets are one-way and each street leads from one intersection to another. It is also known that starting from an intersection and walking through town's streets you can never reach the same intersection i.e. the town's streets form no cycles. With these assumptions your task is to write a program that finds the minimum number of paratroopers that can descend on the town and visit all the

XmlPullParserException when using SAP WSDL WebService

≡放荡痞女 提交于 2020-02-05 04:53:04
问题 I'm desperatly searching for the cause of this XmlPullParserException in KSOAP2-Android. Here is the code: String NAMESPACE = "urn:sap-com:document:sap:soap:functions:mc-style"; String METHOD_NAME = "ZFanTestWs"; String SOAP_ACTION = NAMESPACE + "/" + METHOD_NAME; String URL = "http://xxxx.xxx.xx:8000/sap/bc/srt/wsdl/bndg_xxx/wsdl11/allinone/standard/rpc?sap-client=xxx"; SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); PropertyInfo pi = new PropertyInfo(); pi.setName("arg0"); pi