- 博客(284)
- 收藏
- 关注

原创 我笔写我心--2023
另一方面咱也实在不是啥行业大牛,我分享的初衷是能更好的和同道中人交流,一起成长,顺便记录下自己做过的,要不然会忘,我这水平也达不到付费那个层次。有想要交流的,不嫌弃的也可以加我微信,有问题探讨,或者说讨论下以后的工作啦,面试经验啥的。能把高新技术产业带动起来,国家的整体实力升级起来,数据库,操作系统,ERP软件都用自己的,这样咱也不用写代码都记英文的关键字了。我有一个带我入门的师傅,可惜他早就移民了,我有幸能刚工作的时候得到他的指导,虽然时间也不长,才几个月,但是他能无私分享给我,我十分感激。
2023-12-05 19:42:29
615
2
原创 BW4HANA 2023升级后的DTP出错 value ‘ ‘ of characteristic ** is not a number with 000003 spaces
第一个错是更新的时候还在ADSO激活时检查SID。我直接把SID检查去掉了,因为这个字段没有主数据,反正也不用在报表里,直接改成check during reporting.这种错都是在转换是用AMDP写的那种,用HANA运行时的。升级后就要检查NULL值了,不允许NULL值。俺也不知道怎么查看这个NULL值,反正看起来是空的。第二个是写在AMDP里,没有考虑到NULL值,反正也不想改AMDP了。
2025-03-20 17:21:44
129
原创 ADT没有“Generate ABAP Repository Objects...”这个选项
最后找到了SAP开发的回复:The tool is available from 2022 on prem release (SAP_BASIS 757). 这个是2022年后,本地版本SAP_BASIS 757之后的功能。此时我去问了deepseek,我发现他参考的回答大部分来自于优快云,让我去升级Eclipse,我哼哧哼哧去升级了最新版本的2024-12的Eclipse。也就是说,你得先去看你的版本是不是757之后的。
2025-03-03 16:12:06
192
原创 DTP 抽取出错:data target is locked by process***
改,data target填上ADSO名,选时间,Process status选Y。找到这条,双击,发现是active的状态。可能是因为前后端状态不一致吧。怎么会显示被几年前的一个process lock住了呢?直接把状态改成Red,然后再执行DTP就可以了。
2024-07-04 17:31:43
284
原创 通过CDS View读取HANA View
HANA View在HANA 数据库层,CDS View在ABAP层。那我们可以用CDS view直接读取HANA View。在CDS View里还可以加些逻辑。那上篇咱也知道可以通过CDS table function访问表,显然我们就也可以通过table function来访问HANA calculation view。这个calculation view, 它是可以被HANA SQL访问的(也就是native SQL)。点击HANA系统,把这个SQL点开,先写SQL,确定你想要的字段。
2024-06-27 11:04:40
442
原创 BW数据归档那个事
本地HANA是看内存大小的,按GB收费,大概100美元1G,2T的大小,要花20万美元。还得考虑维护费用,用户的license费用,不同的license费用还不一样,还得搞培训,还得搞定制开发。具体我也不了解,HANA Cloud主要是数据库服务,按CU来收费的,像数据的计算,存储,集成等等,最低得100CU起步,每个CU每年大概是要9.72美刀。可以检查是不是DAP不激活了,有可能的情况是归档后改了ADSO的结构(比如加了一些字段),但是忘记把DAP激活了。所以说呢,历史数据是一定要归档的。
2024-06-26 13:21:52
467
原创 如何控制外部用户访问SAP表的权限
但是如果你想放开的大点,那就用DIS来限制住授权组。我原先想的是,因为给Informatica,要给的都是view6,那就把所有的view6给放到一个新的授权对象组里,然后把这个新的授权对象组放到S_TABU_DIS里头去限制住。BW的授权对象组我看到的就只有三个,BWC里头有openhub的表,BWG里头都是自动生成的各种ADSO的表和主数据相关的表,BWA里头是一些配置表。这里也能看到,如果去拿不在NAM里面的表,系统执行的时候会去检查DIS里面的授权组给没给,然后去查NAM里的table名给不给了。
2024-05-09 18:09:57
487
原创 BW4HANA混合建模 用ADSO的哪个视图?
写日志的ADSO除了1,2,3表之外。还会有6,7,8view。8view是上了BW4HANA2.0之后激活ADSO就会生成的。如果旧版本没有8,那就RSDG_ADSO_ACTIVATE激活一下。如果勾了外部HANA视图,那就等于说还有一个HANA view。首先咱知道ADSO是BW里面用来物理存储,管理数据的。入栈表1,激活表2,日志表3是常规表(不同ADSO类型对应不同表)。除此以外,ADSO还会生成给抽取用的extraction view6,给报告用的reporting view7。
2024-05-09 10:19:04
1080
原创 用openhub无法拿到query里面信息对象的文本
虽然OpenHub的源可以很多,凡是能当成转换的源的都可以,那就是说CP,ADSO,query,infoobject都可以。去转换里end routine写代码读infoobject的文本表是可以的,但是只差一个文本字段就算了,如果差好几个文本,而且文本表都巨大,那处理起来也还是很费时间的,因为要去读很多的文本表。query作为openhub的源,那query里面那些带文本的,在openhub里默认它是一个字段,就算在query里展示成两列,但是到openhub里它就变成一列了,只会把key拿过来。
2024-04-26 14:45:09
303
原创 在BW里管理HANA view权限的一些Tcode
如果我们决定用BW+HANA混合建模了,就要考虑到HANA 计算视图里的一些可以代替query的功能,把一些复杂公式从query里直接下推到HANA里。1. 你的HANA user(在DBMS下,如果没有DBMS要去SM30 去维护这个USER_DBMS_SYSTEM的表)有个全局role比如 bw2hana/<ABAP_Schema>_SAP_BW_MODEL_GENERATION 让你能从BW系统生成外部HANA view。其他我就不知道了,大概还有个REPO.READ的在package上的权限。
2024-04-25 17:31:49
661
原创 HANA计算视图的一切
今年我改变策略了,我把长篇大论的需要系统了解的知识分拆开来,每天一点一点的写。每个工作日发一篇,我自己写起来也不累,大家茶余饭后看的也不累。还有一些CDS View的创建,以前我写的,由于是上班抽空写的,总想着一篇写全,其实写到一半下次就没空写了,有时候过了一星期,完全想不起来再接着往下写了,总有新事情冒出来。1. View及Calculation View的创建,计算视图的输入参数和变量。2. 计算视图中的层级,Cube视图,Star Join及计算列,限制列。3. 投影节点,聚集节点,排序节点。
2024-04-11 15:41:04
402
原创 ABAP 的 AT NEW 语法
对于AT END OF,我们也来看一个例子:首先是按照werks工厂来排序内表,AT END OF意思是,当我的这条werks有更改了,也就是说可能1-5条工厂都是001,到第六条工厂变成002了,那我这个第五条就是end of werks了。解释起来就是,我有一个内表itab里面有很多行数据,我现在一条一条的loop,当我里面要考虑的字段field的值变了,那这个AT NEW就被触发了。然后我就要执行一定的操作咯。当我们在LOOP里面处理数据的时候,经常要执行的是当一个字段值改变了,然后我们怎么怎么做。
2024-04-09 18:28:08
722
原创 在ADT里Debug一个ABAP程序的时候加watchpoint
Shift+F12: 跳到光标所在位置,可以是往回跳到已经执行过的代码行上去,就可以是我之前没看清楚debug的过程,我再看一遍,但是这个是跳过去的,不是执行过去的,也就是说你的变量已经赋值了的,是不会被改回去的。如果想加watchpoint,那是要在debugger的过程中,右击变量,设置watchpoint.Shift+F8: 执行到光标所在位置(往下执行),也就是意思是在debug的过程中执行到当前行。F8:执行到下一个断点,没断点会跳到程序执行结束,debug进程终止。
2024-04-02 10:39:54
394
原创 怎么在ADT里调整ABAP代码的格式
首先在Eclipse里面选Windows下面的preferences,去把ABAP Development底下的Source Code Editors 下面一些格式调整好看。这样的话我们写代码的时候,可以用Shift+F1,调整格式,类似于以前的在GUI里面的pretty printer。然后在ABAP的project上右键,选择属性properties,在Editors里面选中ABAP Formatter,然后调整格式后 Apply。具体就是,我在Eclipse里面写代码,但是不知道怎么调整好看的格式。
2024-03-29 17:12:44
355
原创 计算视图里的projection和aggregation节点区别
因为你要告诉系统,上面的值到底要在哪些维度上做聚集。有些维度不需要做聚集的,要求放过。人家金额值可能就只想按照销售组来分组聚集,不想按照销售组下面的销售类别来聚集。是没有办法给值添加一些聚集的语义,让它去选最大值或者最小值啥的。默认的聚集功能就是在更粗的维度上进行sum。在聚集节点里,会把字段分为维度和值。但是在投影节点虽然是decimal类型,但是还是只是个字段没有细分。1. Projection就是投影,也就是说你本来的源里有什么,就直接给你拿出来。到聚集节点下值类型就会有聚集类型设置。
2024-02-02 19:14:39
605
原创 计算视图里的General 和 advanced
1. Propagate instantiation to SQL views: 这个视图如果被SQL视图或者是CDS视图用到的时候,那么这个计算视图会不会被实例化。比如说,先把这个需要的所有的列值给计算出来。如果在Star join里的列没有被query请求,那么join引擎就忽略掉有n:m关系的join。4. default client: 用哪个client来过滤视图的值(一般在BW上就用session client,从底层很多个ERP client来就用cross client)
2024-01-22 15:14:55
444
原创 SAP BW的未来发展前景--2024从工具推测
当然我也不知道SAP把这种消息发布到哪里去了,我也只能从SAP主推的工具上来预测BW未来的发展前景,以及SAP自己的规划方向。有兴趣听我瞎扯的可以到我的公众号:米糍与三胖 合集BW4HANA的最新一篇。因为我在那边自说自话了一大通,不准备再搬运过来了。我本来今天在哼哧哼哧写公众号文章,写着写着主题。最近有好多朋友同事对BW的发展前景很担忧。关于BW的未来发展前景,听谁说都不如。有不同的见解的欢迎讨论。
2024-01-22 11:24:13
912
原创 ODQMON的composite request 和 extraction request
我观察了一下,BW那边抽取开始的时候,请求是extraction_successful小绿勾上有齿轮,等抽取完成confirmed的状态,也就是个小绿勾。问了好几个朋友,人家的deltaDTP 都没有勾无数据的初始化,不过我们的这个勾了,没有影响delta抽取,以后有空再来研究这个了。如果数据是用的Push的delta方式,也就是后勤数据源增量,那么这个复合请求不包含抽取请求。这次由于ERP系统内存不足,我们出现了很多的红叉叉,肯定是先抽取失败,然后转变成红叉叉。还有一个关于抽取失败的问题,来不及写了。
2024-01-16 18:24:38
583
原创 添加新导航属性到infoobject报错Enhanced Master Data Update cannot be used for char. XXX due to requests
表RSDCHABAS 的字段 ENHANCED_MD_UPDATE 值出错了。我这个是已经改完了才想起来截图。这个主信息对象里是没有勾Enhanced master data update的。报表RSD_CHA_ADAPT_DEFAULT_ENHMDUPD 去修复。这篇完全就是记录下解决方案,以防我下周在生产里忘了怎么解决。但是我加了俩新的属性后,激活报错。然后再激活就没有问题了。
2023-12-15 12:54:28
161
原创 在HANA view里添加年的calculated column、合并CONCAT不同列到一列
就很简单的,建一个calculated column, 用left 4。这就是直接用+加号,中间有些下划线啊,破折号啊啥的,就用单引号加在里面。如果格式是DATE,那存储的实际格式就是‘YYYY.MM.DD’。
2023-12-12 13:40:37
384
3
原创 BW4HANA 系统升级后,在eclipse里无法展开文件夹
系统升级之后,你发现点开文件夹前面的箭头,里面啥也看不见了。点小火柴棒给Deactive掉,没有错误和警告的话,再重新active。进入configure BW search。
2023-12-11 14:27:21
172
原创 BW4HANA 从头到脚 概念详解 ---- 持续更新中
1. 理解BW4HANA是干嘛的好歹干了这么久的活了,从当初的啥也不懂到现在感觉啥都知道点,虽然知道的有限,但是也不是小白。渐渐的也知道了SAP开发的一些逻辑。本来咱是想当个BW的大牛的。但是现在感觉这条船要沉了是怎么回事。个人才稍微摸到点门道,项目整个都要黄了。现在通知说项目要撤了。啥都不说了。不管以后干不干吧,先把知识点总结下。也算给自己有个交代。虽说BW的船要沉了,但是我们做数据建模的,我总认为业务对数据分析的需求得基于咱建模的人的熟练技巧,咱得把数据给他提出来,不管是做格式的调整,比
2023-11-22 14:09:27
3919
9
原创 Small Tip: 如何实现从Eclipse里面直接跳转到Analysis for Office
查看ADSO或者CP的数据时,一般情况下,预览只能有这两个选项。然后重启Eclipse.
2023-10-27 17:19:36
166
原创 S/4 HANA 大白话 - 财务会计-4 应付、应收账款
业务伙伴现在包括供应商伙伴和客户伙伴。只要不是个搞空壳玩泡沫的公司,你基本都得有从供应商那里拿原材料或者购买零部件,然后进行生产,再售卖给客户。你得和银行打交道,同时也得有员工。所有这些关系都在SAP的business partner里管理。也就是说你就算是员工,也可以在business partner里面管理。
2023-10-12 18:45:02
553
原创 S/4 HANA 大白话 - 财务会计-1 总账概览
财务FI模块里分好多小部分。咱都是用大白话理解。由于咱不是专业的业务顾问,所以不要纠结一些概念的词汇是否准确了,也许也有些细节错误,理解意思就行了,同时欢迎指正。本文也不适合专业业务顾问。只适合想要有大致浅显理解的。财务会计就是Financial Accounting,主要咱看看总账和它的分类账。总账就是记录所有业务操作,保证会计数据是完整而且准确的。那么总账会计是怎么和SAP的其他模块高度集成中收集业务操作数据的呢?
2023-10-11 11:15:37
437
原创 S4HANA - Cost Elements成本要素
SAP这里面的配置逻辑很像,就是先建一个对象,然后不停给这个对象附加一些属性,给一个账户附加编号范围,附加账户组。所有模块的维度都在这个表里,看下图的GL,CO,COPA,AA,ML的都在ACDOCA里。要把这5个类型和六大要素对应,先得把六大要素和账户类型对应下(以下是个人理解,不知道对错):当然那个C是新来的,我觉得放在资产下面也行,就不画图了。S4的嵌入式分析是在业务逻辑都整套嵌入的情况下,预开发了数据模型,所以它能提供的就不仅是原始数据了,它能提供的是包含所有相关联的上下文的信息数据。
2023-09-26 18:56:25
1497
2
原创 Small Tip: 如何Debug Start Routine
1、 在DTP里面选Before Transformation,要去debug start routine选这个就够了。专家模式进来之后,首先到的是before transformation的断点方法:一进来就到这里了。start routine和end routine都在这里调用,找到,打断点去跑。我也不晓得怎么弄,今天反正是硬找着去弄。不晓得有没有其他好办法。我也不知道咋地,在generated ABAP里面打断点进不去。往下走几步,到call method lr_exe就进去。
2023-08-11 17:15:40
258
原创 Field Symbol与数据引用的几个应用
这俩货都是指针。在动态编程里用。但是从好理解的角度来看,都给他们理解成数据对象。都得指向其他的数据对象。不过field symbol指的是其他的数据对象。而数据引用只是指向。
2023-08-11 14:54:18
319
2
原创 SAP Range 表
本地定义就要用关键字TYPE RANGE OF,工作区间定义用TYPE LINE OF/LIKE LINE OF.定义都写全的话是下面这样。偷懒点定义写成下面这样:再偷懒点上面有些语句新语法可以写成下面这样:(下面演示的跟range table没啥关系了)这就是SE11里面去定义了。选了range table type之后,需要填写Data Element和Sturctured Row Type的,就是工作区间。
2023-08-10 10:58:49
1033
原创 Small Tips: BW4HANA SP7 ‘No mapping found for attribute “H000.PRED“ and part provider ...DBMAN-099’
2. 结束后,选‘Activate HANA hierarchies’ 然后执行。1. 不选‘Activate HANA hierarchies’ 然后执行。H000.PRED这个HANA层级的属性没了,那就得重新激活下。在SP7上有这个问题。新版本大概没这个问题。跑query出现这个错。
2023-08-07 16:48:42
233
原创 Small Tip: 0LOGSYS 和 ALPHA 转换
它会检查char类型里面是不是全是数字型字符,全是数字,有没有空格。如果都是数字(比如说账户编码,凭证编码)。那么它就会把所有的数字右靠齐,左边的空格用前导0来补足。所以我们一般是给个constant 空的,把这个transfer routine给启用起来。把左边的空格都会省略。在infosource里面会添加这个0LOGSYS信息对象,这个对象是10位的char类型。ALPHA 转换出口是默认只对CHAR类型的特性把外部格式转换成内部格式的。如果不是数字,那就还是左靠齐,保留右边的空格。
2023-07-24 16:20:04
138
原创 AMDP 在BW转换里的应用
因为当我们用ODP的extractor的时候,因为ODP抽取和转换都是在ABAP环境运行,这时候,肯定是直接写ABAP代码更好了,都在一层处理。没必要再去写一个在AMDP类里实现的方法,再把数据拖到数据库层处理。那么问题就来了,有没有必要把转换的routine用AMDP写?现在用AMDP写,是要在HANA runtime,把代码下推到数据库层处理,理论上来讲会快很多。原先例程用ABAP写,用的是ABAP运行环境在ABAP层。AMDP的常用语法及错误:下一篇。字段例程的方法是系统自己生成的。
2023-07-24 12:29:06
681
原创 Small Tip: 怎么找S4HANA所有的CDS View 以及跟BW相关的CDS View
2. 到Categories底下找。如果没看见CDS View就去View all categories。到网址:https://api.sap.com。3. 找到CDS Views之后,点击进去。
2023-07-19 10:42:27
527
原创 层级在BW4HANA中的处理
1.从flatfile加载层级的处理2. 从ERP数据源抽取区间层级到BW2.1 在ERP中的层级数据源2.1.1PSA格式和IDoc格式的区别2.1.2 怎么查看Interval的字段2.1.3 如何在S4里查看层级数据源结构2.1.4 关于时间相关层级date to和date from
2023-07-05 14:56:31
533
原创 CDS Core Data Services S4 CDS view--2
如果是#SESSION_VARIABLE,我们有一个session 变量$Session.client也是会被隐藏式的加到where条件里,会自动选变量$Session.client的值,这个和#AUTOMATED有点像,但是性能会更好。举例: 一个采购订单和采购订单行项目的CDS view是client相关的,因为它用的底层的表是client相关的。这个是根据你PFCG里面的权限对象来搞的。#NONE这个是专门给非client相关的view用的,是默认CLIENT_INDEPENDENT的算法值。
2023-07-04 21:37:32
625
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人