SAP ABAP里数据库表的Storage Parameters从哪里来的
如何查看ABAP数据库表的storage parameter?事务码SE11,utilities->Database Object->Database Utility:点这个Storage Parameters:上面SAPGUI里显示的数据实际来自HANA数据库里的System view:TABLES,使用如下的SQL语句就能查询到COMM_PORODUCT的storage param
S/4HANA生产订单增强WORKORDER_UPDATE方法BEFORE_UPDATE参数分析
题目这个增强的输入参数很恐怖,长长的一串: CALL BADI l_badi->BEFORE_UPDATE EXPORTING IT_PIINSTRUCTIONVALUE = IT_PIINSTR
SAPGUI系统登录页面配置的SAProuter有什么用
大家在安装完SAPGUI后,准备添加系统列表进行登录时,注意过这个SAProuter字段么?从SAP的帮助文档上可以找到SAProuter的定义:https://help.sap.com/saphelp_nwes73/helpdata/en/48/6b41efb74c07bee10000000a42189d/content.htm?no_cache=trueSAProuter is an SAP
什么是SAP GUI的client
我们用SAPGUI登录某个系统时,除了用户名和密码外,还要指定一个必填字段client:这个client是什么东东?看文档:SAP Client is the highest hierarchical organizational unit within an SAP system that contains master records and tables. The transactions
SAP云平台对Kubernetes的支持
截至本文发稿(2019-2-10, 农历大年初六)时为止,访问SAP云平台的官方网站:https://cloudplatform.sap.com/enterprise-paas/kubernetes.html能看到下面的网页:SAP云平台上的Kubernetes环境,Coming Soon(即将推出)Build powerful container-native applications and
为什么S/4HANA的销售订单创建会触发生产订单的创建
调用S/4HANA销售订单创建函数SD_SALES_DOCU_MAINTAIN创建一个销售订单时,会触发生产订单的创建。销售订单的每个行项目对应一个独立的生产订单,SD_SALES_DOCU_MAINTAIN相当于CRM里的CRM_ORDER_MAINTAIN,在LOOP里处理每一个行项目:观察这个函数内部的调用栈,发现一个subroutine EIGENFERTIGUNG_BEARBEITEN.
为什么S/4HANA的生产订单创建后会自动release
在S/4HANA系统里我们观察到通过函数CO_61_ORDER_EDIT创建的生产订单会自动释放Release:通过第86行的IF语句的条件检测不难找到原因。变量PROFILE_TMP的类型为TCO43:这个scheduling profile的配置在路径Production->Shop Floor Control->Master Data->Define Production
如何给SAP C4C的产品主数据division配置出新的下拉选项
如图:C4C产品主数据division字段默认的下拉菜单选项:切换成调试模式,找到UI这个字段绑定的模型字段名称:/Root/MaterialDivision:再找到这个UI模型字段绑定到的core BO字段:Material.Common.MaterialDivisionCode:进入Business Configuration的Activity List,找到Division的配置:在这里添加
S/4HANA服务订单Service Order的批量创建
我工作中接到一个任务,需要在性能测试系统里创建一亿条服务订单service order来做性能测试。这么大规模的数据量,当然只能用代码来创建了。本文提到的所有ABAP代码,我均已上传到我的Github上了:https://github.com/i042416/KnowlegeRepository/tree/master/ABAP/S4This document provides guide abo
S/4HANA生产订单的标准状态和透明工厂原型状态的映射
事务码CO03查看生产订单的状态:从下面的界面能看出S/4HANA里生产订单在任意时刻可能存在多个状态:生产订单的ID和状态ID的关系是1:N,维护在数据库表VSAUFK里:如何把上述SAP系统标准状态映射到透明工厂原型的5个状态去呢?目前的映射实现采取的是“关键状态法”:只要生产订单的状态里包含I0048 - distributed to MES, 就认为该订单处于组装状态只要生产订单的状态里包
一些通过SAP ABAP代码审查得出的ABAP编程最佳实践
1. 这两个IF ELSE分支里检测的条件其实逻辑上来说都是同一类,应该合并到一个IF分支里进行检查:It is an expensive operation to open a file in application server with 50MB file size.Current logic is:1. Open the file in application server2. Read
SAP HANA Delivery Unit概念简述
介绍在SAP HANA应用开发领域里,我们通常用package来存储modeler views和XS工程等模型。这些包应该被部署到最终的生产服务器上。Delivery Unit是SAP HANA原生开发对象的部署方式,可以被看成一系列包的集合,用于Transportation management的统一管理。SAP HANA提供了一个统一的管理平台,称为HANA Application Lifec
代码重构那些事儿
大家好,这是我今天演讲的目录,分Java,JavaScript,ABAP三门编程语言来讲述。Java•JAD•javap•Java Decompiler•Source Monitor•Visual VM•Refactor Menu in EclipseABAP•Code inspector•Refactor feature in AIE•Code coverageJavaScript•ESLint
SAP S/4HANA销售订单创建时,会自动触发生产订单的创建
这个自动触发的过程是怎么实现的?使用下面的代码创建一个销售订单:DATA: ls_header TYPE bapisdhd1, ls_headerx &n
SAP S/4HANA生产订单的BAdI增强点之Initialize方法
在S/4HANA里创建生产订单时,有一个增强点WORKORDER_UPDATE:这个CAUFVDB里存放的是生产订单抬头级别的数据:我们来观察下运行时这个结构里存放的数据。请大家用我github上这个简单的报表创建一个生产订单:https://github.com/i042416/KnowlegeRepository/blob/master/ABAP/SmallApp/209_create_S4_
SAP S/4HANA生产订单创建时使用的工厂数据是从什么地方带出来的
大家如果使用我github上的这段代码创建S/4HANA的生产订单时,一定会发现,我在代码里并没有硬编码来指定生产订单的ID,然而运行时会发现我在系统里配置的这个2800被自动使用了,这是怎么做到的呢?https://github.com/i042416/KnowlegeRepository/blob/master/ABAP/SmallApp/209_create_S4_SalesOrder.ab
SAP CRM One Order跟踪和日志工具CRMD_TRACE_SET
事务码CRMD_TRACE_SET激活跟踪模式:在跟踪模式下运行One Order场景。运行完毕后,使用事务码CRMD_TRACE_EVAL:双击参数,就能看到参数明细:点Callstack也能看到调用栈明细:这个工具的实现原理是怎样的?ABAP include CRM_TRACE_PART_ONE做了下面的事情:检查One Order的trace模式是否打开了,如果打开,负责收集调用的时间戳,执
来自Google资深工程师的API设计最佳实践
来自Google资深工程师Joshua Bloch的分享:API设计最佳实践为什么API设计如此重要?API是一个公司最重要的资产。为什么API的设计对程序员如此重要?API一旦发布,出于兼容性考虑,不能轻易地随心所欲进行修改,比如删除参数。从API的上帝 - 设计者的视角出发,有助于提高代码质量。一个优秀的API应该满足下列标准:易学易用,甚至是自描述的,不需文档也能让新手快速上手。不易造成误解
使用简单的Java代码在SAP C4C里创建销售订单
需要创建的销售订单的明细通过硬编码指定:比如销售订单的描述为Jerry Test 2019-1-23 16:05PM执行之后,看到Status Code 201,说明创建成功:到UI上能看到成功创建的销售订单:实现代码:package odata;import java.io.IOException;import java.io.UnsupportedEncoding
SAP技术专家的ABAP调试器培训材料
首先弄清楚ABAP Classic调试器和新调试器的区别:Classic debugger:(1) Static breakpointa. BREAK-POINT : non-user specificb. BREAK user name user specific(2) Dynamic breakpointNew debugger:(1)Static breakpoint(2)Dynamic b