当前位置:文档之家› 工作中常见问题分析

工作中常见问题分析

一、BW DTP 非法字符问题无非就是业务上搞出一堆乱七八糟的字符,这些字符到了BW这边,就变成了井号(#)这个解决办法有这么几种:1、直接改PSAPSA可以修改,可是这样治标不治本,顶多是我们这边数据上载正常了,可是数据跟业务上的录入还是有差别2、在转换中写Start Routine方法类似,不过是把'#'替换成''或者' '也是和方法1类似,只不过是升级了一下,不用手工操作,代价就是上载的效率和传输的流程3、增强数据源这个方法比较惨,因为井号(#)在源系统中指不定是啥字符呢,仔细算算得有十几个,都控制的话代价比较大,不如写Start Routine,只不过一个PSA可能会上载到多个模型,就得写多个Start Routine。

4、找业务修改R3的数据这个好,改完了BW再抽一遍完事儿,不过协调起来比较复杂5、增强业务系统在用户输入或者批导的时候,控制输入,当遇到这种垃圾字符的时候,就提示错误,禁止写入,这是最好的办法。

二、现在有一个 QUERY 运行十分慢 , 所以我想在 BW 里找到一个工具来分析这个 QUERY 是怎么运行的 . 想知道慢在什么地方 , 用了多少时间等一些具体信息 .1、在 BW 中使用交易代码 RSRT2、填上需要测试的报表的技术名称3、单击执行 + 调试4、勾选弹出的调试选项对话框的其他中的显示统计数据和未使用高速缓存5、输入 Querry 的所需要的变量,运行结果回来之后, F3 返回统计数据界面:将持续时间求和减去时间等待时间、用户的时间,得到的时间作为该报表的统计时间报表执行的速度一般都是cache > BIA > Aggregate > Cube 自身 ..所以第二次执行,能从 cache(缓存)取数的话,自然就快了三、我在激活一个 DSO 时,由于数据量比较大,差不多有 2 千多万条的数据,之前的传输进程都是绿灯,可在激活过程中,就变成了红灯,不管激活多少次也是红灯,请问这个是什么原因啊?这个 DSO 是主要做报表用,还是做数据存放及 delta 用,如果是后者的话,更改 DSO 的属性把“SIDs Generation upon Activation激活之后生产主数据标识” 的勾弃掉,如果是前者,可以通过事务“RSODSO_SETTINGS” 调整相应参数来提高你的 active 的效率。

Parameter for SID Generation 中, Maximum package Size 是 2 万, maximum wait time for process 是 600(10 分钟 ) ,这个数字是否是越大越好 ?Maximum package Size 是根据你的内存来设的, maximum wait time for process 可以长一点。

四、执行“ 分配工作簿” 后,收到了邮件,可是 Excel 里的中文都是井号“#######” ,请问该怎么解决?谢谢!BW 是 3.5 的。

a) 退出BW 系统,关闭所有BW 系统的窗口和EXCEL 的窗口;b) 右键点击“ 我的电脑” ,选择“ 属性”――>“ 高级”――>“ 环境变量”--“ 系统变量”--“ 新建”,变量名:SAP_CODEPAGE 变量值:8400c) 依次点击“ 确定” ,保存新增的环境变量 .不行的话,重启下机器,另外注意用户名密码输入界面下的语言输入ZH1.我目前在做一个供应商分析的报表的时候碰到了一个过滤不出过滤条件的问题,望各位大侠能帮忙!谢谢!报表是在信息提供者:设备主数据上出的。

供应商是设备主数据的一个属性(导航)。

在quer y 里制作报表的时候行上是… 供应商‟ ,列上是… 设备数‟ 。

目的是分析该供应商都提供了多少设备。

当然自由特性里有个设备号,可以追溯。

但当我用rsrt 测试报表的时候,* 正常显示是没有问题的* ,但想过滤出特定的供应商的时候总是过滤不出来。

再追踪的时候出现如下提示:‟ 在特性ZZCZZS 的主数据表中不存在特性值##################### 。

因此,无法将此值传输到内部SID 中。

…另外在ecc 的时候供应商就是中文,并不像其他的设备的属性一样有个编号,然后编号可以对应一个中文。

是不是和中文有关,因为在提示里的特性值是##### 。

有没有解决的办法?谢谢了!!!还有在不论是设备主数据还是供应商主数据中中文显示都正常,我在过滤的时候是选择的,而不是输入问题。

用RSRC check 你的那二个特征,并修复。

rsa1-- 工具-- 应用层次结构/ 属性更改-- 信息对象清单,检查设备特性是否在列表里,选中执行属性更改1.SAP 后勤数据的抽取,使用的增量队列,财务数据的抽取,使用的是时间戳,这句话对不对?财务数据使用时间戳,就是说不通过增量队列,数据由业务系统直接到达BW 系统,似乎与实际情况不符。

1 、使用RSA7 查看增量队列时,确实可以看到财务数据源:0FI_GL_4, 0FI_GL_6,2 、总账凭证过账后,立即进行数据抽取,0FI_GL_4 并不能立刻抽取到数据,而0FI_GL_6 立刻就可以抽取到最新数据,这是怎么回事呢?或者我哪里理解错了?SAP 后勤数据的抽取,使用的增量队列,财务数据的抽取,使用的是时间戳,这句话是对的,总账凭证过账后,立即进行数据抽取,0FI_GL_4 并不能立刻抽取到数据,而0FI_GL_6 立刻就可以抽取到最新数据,这是怎么回事呢?那是原因这二个的时间戳的粒度不一样,一个是到时分秒的,一个只是到posting date 的。

0FI_GL_10 和0FI_GL_14 都是为new GL 提供的datasouce.0FI_GL_4 和0FI_GL_6 在BW 7.x 也都是可用的。

BW 请求数据,在R3 端执行对应的FM 操作,获取数据,写入增量队列。

1.我现在有个问题,对于同一个Transformation ,其中有个字段,需要针对不同的DTP ,赋予不同的值,请问如果处理,谢谢!1 可以在表tvarvc 中建一个变量2 然后在不同的dtp 中的transfert routine 里写赋值给上面变量的code : 比如dtp A 执行则赋变量的值为A 若dtp B 则变量的值为B 。

3 然后在transformation start routine 中去读变量的值看是从哪个dtp 过来的,然后更改处理规则。

1、建立一个表;2、在DTP 的过滤条件中写代码给表插入一条记录;3、在转换中去读取该表中的记录,并在结束例程中删除表中记录。

1.DSO 用来存储明细数据,其结构比较简单, 对于值的转换, 既可以使用合计,也可以使用覆盖的方式。

因在源端, 如果存在相同的customer 记录, 需要合并, 为了省事, 并没有写abap 代码, 直接启用了合计的方式, 如果使用合计的方式,可以用delta 吗(最终的DSO )? 如果可以, 该用什么类型的delta. 如果不可以, 又不想写代码, 如何能实现合计和delta 的两种功能 .确定你的情况必须要要用合计? 用合计的kf 一般要谨慎的确定你在的kf 合计出的结果的正确性,不然整个dso 里的数据都会错误。

delta 是适用的recordmode 用after image 即可 .可以用RSA2 查到每个数据源的delta 属性,比如2lis_03_bf 是ABR, 这表示这个数据有afterimage 、before image 、revise image.不是说ods 用合计不能做delta ,而是说ods 一般用来记录的是合计每条数据的详细情况,如果ods 里不做报表你可以把kf 当charactestic 来理解,而在cube 里面来合计是相对于不同的diemension 来合计你的kf 这样是为报表多维分析服务的。

ods的delta是把change log表的变化记录往上更新, "合计"是key值相同下,keyfigure累加的 .你可以用DSO, 但是得用两层DSO, 第一层DSO1 用Overwrite 方式, 用来正确获取Delta的Change log 数据, 第二层DSO2 从DSO1 更新, 可以使用Sum 方式 .O的数据源都是ADD的,差额镜像,E ,可以直接上述到cube,如果上述到dso,则需要设置成sum,不能设置overwrite。

FI的基本都是AIE,后镜像,E ,不能直接上述到cube,必须先上述到dso,并且要设置overwrite;LO的基本都是ABR,这个就不用说了,很明细,新、前、后、翻转的镜像都存,量很大,可是上述cube,可以上述dso,对于dso的设置也没有关系,D 自建的默认是AIE,同FI(BT的是没有提供更改方法,所以自建的统一都是AIE),E 主数据的一般采用AIE、AIM和NEWE,说明比较侧重结果和新增数据下面简述下AIE和ABR的区别:ABR的方式注定了,不仅适合直接上载到DSO,可以直接上载到CUBE,不通过DSO,因为不仅序列化,而且是连带各种镜像。

AIE不同,只支持后镜像,也就是说,只能首先加载到DSO,然后进行分析,会在激活数据时帮我们补齐前镜像,到DSO的LOG表里,从而保证了DSO的明细要求,又能在CUBE提取LOG表的时候获得正确的数据。

因为CUBE只有汇总,没有覆盖功能。

Delete image上述时的kf是空,所有不能直接上述cube,可以上述到dso,但是必须用ove rwrite;Reverse image翻转像可以上述到cube,也可上述到dso可以设置成sum和overwrite;1.由于每隔一段时间需要对PSA 进行清理,PSA 的数量多,而且每一个我只懂用右键-> 管理,然后一条一条地选择需要删除的记录(批量一个时间段的,如1-3 个月的每日Delta )。

请问各位高手,有没有更好的方法可以清理PSA 的数据。

1、仅成功登记/ 更新请求==== 就是指成功更新到DSO 或者CUBE 的数据请求2 、仅那些未在数据目标中登记的带有错误的请求==== 就是出错了,没有更新到DSO 或者CUBE 的请求3 、仅删除装载请求,不要删除激活请求(ODSR...)==== 这个应该是说成功装载但是没有上传到DSO或者CUBE 的请求吧。

一般来说,我们是删除前30 天的请求,保留一个月的请求数据即可,这样做的好处是还能节省一下磁盘空间。

1.FI 怎么抽取当天的数据?FI-AP 、AR 的设计就是抽取前面一天的数据,因此增量不能抽取到当天的数据。

相关主题