自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SAP资深技术专家Jerry Wang的分享

微信公众号: 汪子熙

原创 如何处理用代码创建SD Sales order时遇到的错误消息KI 180

错误消息KI 180:You must enter a company code for transaction Create sales document 代码: REPORT zcreate_so. DATA: ls_header TYPE bapisdhd1, ls_h...

2018-10-30 11:45:17 105 0

原创 如何利用BAPI SD_SALESDOCUMENT_CHANGE修改Sales Order的字段

假设我想修改S/4HANA里Sales Order抬头的Service Date字段SERV_DATE: 首先从数据库表VBKD里查找到SERV_DATE修改之前的值为2020年1月1日 使用如下代码,将这个字段的值改成2020年1月2日。 REPORT zchange_so1. DATA:...

2018-10-30 11:44:12 639 1

原创 如何查找BAPI SD_SALESDOCUMENT_CHANGE里字段对应的数据库存储表

BAPI函数SD_SALESDOCUMENT_CHANGE可以让我们很方便地通过ABAP代码来修改Sales Order。 其输入参数ORDER_HEADER_IN的类型是BAPISDHD1, 里面包含了这个字段,比如SERV_DATE: service rendered date。 如果想知...

2018-10-30 11:42:39 149 0

原创 SAP标准培训课程C4C10学习笔记(四)第四单元

这个单元的内容是产品主数据和Price list。 Hierarchy UI上按钮New的enable/disable逻辑 SAP CRM和C4C数据同步的两种方式概述:SAP PI和HCI 一种轻量级的C4C业务数据同步到S/4HANA的方式:Odata通知 如何启用SAP C4C4 OData...

2018-10-30 11:41:54 107 0

原创 C4C Product Price List的模型中和有效期相关的两个字段

SAP C4C的price list实例可以在工作中心Products,视图Price Lists里看到。 我们点开第二个名为TEST的实例: 我写这篇文章的日期是2018年10月27日, 我现在把这个list有效期开始和结束的时间都改成27日之前,保存: 再回到工作中心的搜索界面,发现这个...

2018-10-30 11:41:15 97 0

原创 SAP成都研究院Sunshine:我的C4C实习感受和保研之路

今天的文章来自SAP成都一位实习生,曾经和Jerry同在C4C成都开发团队一起工作过。在Sunshine最后一个工作日里,Jerry和Sunshine一起吃饭的时候,她曾经聊到接下来的保研打算和将来工作的努力方向。一位大三的学生,对于自己的将来有如此清晰和长远的规划,这让Jerry佩服不已。 而在...

2018-10-30 11:40:21 187 0

原创 SAP CRM和C4C的产品主数据price维护

SAP CRM 点了Edit List之后,可以直接修改产品主数据的Price信息: C4C 在C4C的product administration工作中心里: 点击Edit按钮进入编辑模式,Price List区域里的内容也不能编辑: 那么上图红色高亮的数据从哪里来? 首先从Chrome...

2018-10-30 11:39:30 143 0

原创 运行npm update等命令出错后如何分析问题根源

我今天工作时,在当前前端项目工作目录下执行命令npm update 结果遇到如下错误:registry error parsing json npm ERR! Unexpected token < in JSON at position 0 有些朋友遇到这个错误,就不知所措了。 本...

2018-10-30 11:38:30 247 0

原创 ERP和C4C中的function location

SAP ERP里的Functional Locations,下载到SAP Cloud for Customer后成为类型为‘Functional Location’的Installation Points: C4C Installation Point UI: /BYD_COD/Service...

2018-10-30 11:37:39 73 0

原创 如何启用SAP C4C OData Event Notification

当我们在试图使用SAP C4C OData事件通知这个功能时,如果遇到下列提示消息,说明这个功能在business configuration里没有开启: The OData Event Notification is not scoped in Business Configuration. ...

2018-10-30 11:36:59 62 0

原创 一种轻量级的C4C业务数据同步到S4HANA的方式:Odata通知

SAP Cloud for Customer和SAP其他传统产品的同步,除了使用SAP Netweaver Process Integration和SAP HANA Cloud Integration外,还有一些轻量级的同步方式。 本文介绍其中一种,C4C OData通知(Notificatio...

2018-10-22 17:36:23 96 0

原创 SAP CRM和C4C数据同步的两种方式概述:SAP PI和HCI

SAP Cloud for Customer(C4C)和SAP其他传统产品进行数据同步的方式,如下图所示,可以使用SAP Netweaver Process Integration或者SAP HANA Cloud Integration(HCI)。 在C4C系统,工作中心Administrato...

2018-10-22 17:35:39 713 0

原创 CRM和C4C product category hierarchy的可编辑性控制逻辑

CRM 从ERP导入到CRM系统的Product Hierarchy,在CRM系统切换成编辑模式时,会收到一条提示信息: Hierarchy XXX may only be changed in the original system XXX C4C(Cloud for Customer) 在这...

2018-10-22 17:34:48 72 0

原创 在ABAP里取得一个数据库表记录数的两种方法

方法1:使用函数EM_GET_NUMBER_OF_ENTRIES 这个函数使用起来很简单,只需要将想查询的数据库表名称维护进输入参数IT_TABLES: 上图说明这个函数支持批量操作,我查询的两张表名为TADIR和PROGDIR. 执行函数,得到表的条目数: 方法2:使用ADBC 方法1的实现...

2018-10-22 17:33:14 859 0

原创 如何在CRM WebClient UI里使用HANA Live Report

1. 使用业务角色ANALYTICSPRO登录SAP CRM WebClient UI: 点击新建按钮创建一个新的HANA live report: 类型选择SHL: 弹出窗口,维护report的名称,描述信息,和底层使用哪个SAP HANA Live Query: 可以使用F4 help...

2018-10-22 17:32:35 96 0

原创 webpack-dev-server启动后,localhost:8080返回index.html的原理

webpack-dev-server是一个采用Node.js Express实现的微型服务器, 内部使用webpack-dev-middleware来响应发送到服务器监听单口的HTTP请求。 webpack-dev-server主要用于前端项目的本地开发和调试。 具体使用,只需要在package....

2018-10-22 17:25:05 1586 0

原创 在微信小程序里自动获得当前手机所在的经纬度并转换成地址

效果:我在手机上打开微信小程序,自动显示出我当前所在的地理位置: 具体步骤: 1. 使用微信jssdk提供的getLocation API拿到经纬度; 2. 调用高德地图的api使用经纬度去换取地址的文字描述。 wx.ready(() => { wx.getLocation(...

2018-10-22 17:05:36 1194 0

原创 单步调试理解webpack里通过require加载nodejs原生模块实现原理

在webpack和nodejs里,我们经常使用require函数加载原生模块或者开发人员自定义的模块。 原生模块的加载,比如: const path = require(“path”); 这个语句是webpack和nodejs应用里经常使用到的。今天就来谈谈它的实现原理。 还是通过单步调试的方式来...

2018-10-22 15:59:46 359 0

原创 webpack打包过程如何调试?

本文适用于已经会使用webpack的前端开发人员,但是想进一步了解webpack细节和进阶。 首先请读者按照我前一篇文章 Webpack 10分钟入门介绍的步骤,在本地搭建一个webpack的hello world项目。 搭好之后的项目结构如下图: 打开index.html能看...

2018-10-22 15:58:45 837 0

原创 使用com.sun.imageio.plugins.png.PNGMetadata读取图片的元数据

所谓图片元数据,就是除了我们肉眼看到的图片内容外,隐藏在这些内容背后的一些技术数据。 本文介绍如何使用Java代码将一张图片的隐藏信息读取出来。 首先不需要下载任何额外的Java库,用JDK自带的库就能工作。 import java.io.ByteArrayInputStream; import...

2018-10-16 12:11:47 240 0

原创 SAP GUI里Screen Painter的工作原理

我们在SAP GUI里双击一个screen编号: 单击Layout按钮可以打开Screen Painter: 这背后的工作原理是什么? 是这个RFC destination在起作用: Connection Type为T,当Layout按钮被点击后,通过TCP/IP通知执行文件gnetx.e...

2018-10-16 12:10:53 305 1

原创 让您的Eclipse具有千变万化的外观

大家每天用Eclipse做Java开发,是否厌倦了Eclipse千篇一律的白色背景呢? 看看Jerry这几种不同风格的Eclipse外观,是不是有耳目一新的感觉?如何做到的? 需要给Eclipse安装Eclipse Color Theme这个插件。 点击Help->Eclip...

2018-10-16 12:08:54 637 0

原创 ABAP Development Tools的语法高亮实现原理

ABAP Development Tools的前端是Java,根本识别不了ABAP。那么在ADT里的ABAP语法高亮是如何实现的? 第一次打开一个report时,显示在ADT里的代码是没有任何语法高亮显示的, 此时有一个HTTP请求发到ABAP后台: /sap/bc/adt/abapsource...

2018-10-16 12:01:23 118 0

原创 如何对ABAP SE80 workbench做增强

流程如下: 要获取更多Jerry的原创文章,请关注公众号"汪子熙":

2018-10-16 12:00:20 188 0

原创 使用com.sun.imageio.plugins.png.PNGMetadata读取图片的元数据

所谓图片元数据,就是除了我们肉眼看到的图片内容外,隐藏在这些内容背后的一些技术数据。 本文介绍如何使用Java代码将一张图片的隐藏信息读取出来。 首先不需要下载任何额外的Java库,用JDK自带的库就能工作。 import java.io.ByteArrayInputStream; import...

2018-10-16 11:59:03 179 0

原创 SAP C4C Opportunity和SAP ERP Sales流程的集成

首先在C4C里创建一个新的Opportunity: 给这个Opportunity添加一个新的产品: 点按钮:Request Pricing, 从ERP抓取pricing数据,点按钮之前Negotiated price是890.00 USD: 点了按钮之后从ERP抓取的pricing数据把C4...

2018-10-16 11:58:23 163 0

原创 SAP ERP和C4C Acount和Contact的双向同步

Account和Contact是C4C里唯一支持可以和ERP进行双向同步的主数据类别。 C4C里创建一个Account:Mouser Electronics 在C4C里保存Account,自动同步到ERP中,在ERP生成Account。然后在ERP里给这个Account维护Sales Area...

2018-10-15 11:53:41 121 0

原创 给广大码农分享福利:一个业界良心的github仓库,中文计算机资料

我今天查资料时无意发现的,https://github.com/CyC2018/CS-Notes 这个仓库包含了下列几个维度的计算机学习资料: 深受国内程序员喜爱,已经有超过3万多star了。 1. 算法 (1) 剑指 Offer 题解:目录根据原书第二版进行编排,代码和原书有所不同,尽量比原...

2018-10-15 11:53:11 597 0

原创 ABAP的Package interface, 安卓的manifest.xml和Kubernetes的Capabilities

ABAP 事务码SE21创建ABAP包接口。这是ABAP基于包层面的访问控制实现逻辑。包里可以存储很多ABAP对象。如果开发人员想将某些对象声明为包外程序也能访问,可以将这些对象放在包接口的Visible Elements标签页下面。 当然,如果一个对象没有出现在Visible elements...

2018-10-15 11:52:44 77 0

原创 ABAP和Java单例模式的攻防

ABAP CLASS zcl_jerry_singleton DEFINITION PUBLIC FINAL CREATE PRIVATE . PUBLIC SECTION. INTERFACES if_serializable_object . CLASS-METHODS clas...

2018-10-15 11:51:35 137 0

原创 用代码判断当前系统是否支持某个版本的feature

JDK9已经出来有一段时间了,因此很多流行的Java应用纷纷增添了对JDK9乃至JDK10的支持,比如Tomcat。 我们通过这个链接下载最新的Tomcat源文件包,总共7MB: https://tomcat.apache.org/download-90.cgi 解压之后,在文件夹apache-...

2018-10-15 11:50:01 57 0

原创 ABAP,Java和JavaScript的序列化,反序列化

ABAP 1. ABAP提供了一个工具类cl_proxy_xml_transform,通过它的两个方法abap_to_xml_xstring和xml_xstring_to_abap实现两种格式的互换。 REPORT zxm. DATA: ls_abap TYPE zzcrmost__pro00...

2018-10-15 11:49:24 143 1

原创 从SAP客户主数据里直接创建商机(Opportunity)

在SAP CRM Fiori的Account应用里,直接在Account页面创建商机: 在SAP Cloud for Customer里: 要获取更多Jerry的原创文章,请关注公众号"汪子熙":

2018-10-15 11:45:30 260 0

原创 SAP Cloud for Customer客户主数据的重复检查-Levenshtein算法

SAP C4C的客户主数据创建时的重复检查,基于底层HANA数据库的模糊查找功能,根据扫描数据库中已有的数据检测出当前正在创建的客户主数据是否和数据库中记录有重复。 在系统里开启重复检查的配置: 在此处配置主数据模型上每个字段对重复性检查结果共享的权值: 要理解权值的作用,就必须先理解C4C...

2018-10-15 11:44:56 326 0

原创 SAP CRM和C4C的客户主数据修改历史记录查询

SAP CRM 随便修改一个字段,比如给Search Term维护值“webpack”: Change History assignment block里显示出了这条修改记录: 根据时间在change history的抬头表CDHDR里找到这条对应的记录: 具体修改明细在表CDPOS里: ...

2018-10-15 11:43:44 1213 0

原创 ABAP system landscape和vue项目webpack构建的最佳实践

基于Netweaver的ABAP transport route一般都有dev,test和prod三种类型的系统。 而Vue前端项目的webpack build设置也类似。 以SAP成都研究院数字创新空间开发的智能服务前端实现为例, 在package.json里定义了名为dev和build两个s...

2018-10-15 11:43:03 62 0

原创 不喜欢SAP GUI?那试试用Eclipse进行ABAP开发吧

Jerry和SAP成都研究院一些新同事聊天时,谈到ABAP和SAP GUI这个话题。很多新同事在加入SAP成都之前,是做Java和C++开发的,习惯了Eclipse/IntelliJ IDEA/Visual Studio这些现代IDE,对于SAP GUI这个比较”复古“的IDE不太适应。 其实还有...

2018-10-14 17:24:08 956 0

原创 使用脚本在Linux服务器上自动安装Kubernetes的包管理器Helm

Helm之于Kubernetes好比yum之于Red Hat Enterprise Linux,或者apt-get之于Ubuntu。 Helm是由helm CLI和Tiller组成,是典型的Client/Server应用。helm运行于客户端,提供命令行界面;Tiller应用运行于Kubernet...

2018-10-14 17:22:43 73 0

原创 安装指定版本的minikube

Minikube是什么? Kubernetes集群的安装和部署对于很多初学者来说是一道坎。为了方便大家开发和体验Kubernetes,Kubernetes开源社区提供了可以在本地部署的Minikube。 Minikube是一种方便在本地运行Kubernetes的工具,原理是在Virtual Mac...

2018-10-14 17:21:47 478 0

原创 Red Hat Enterprise Linux(RHEL)中yum的repo文件详解

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装...

2018-10-14 17:18:44 2065 0

提示
确定要删除当前文章?
取消 删除