(转)关于repair full request

2024-01-01 21:49
文章标签 request repair full

本文主要是介绍(转)关于repair full request,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在多个地方看到过关于repair full request的面试问题,之前因为BW全程没学完一直搞不懂是什么。今早再次看到,所以一上午都在SDN上查看相关信息。算是摸了个大概出来。先上NOTE。(原来SAP OSS NOTE是需要有授权的人才能看得到的,幸好SDN上有人把它贴了出来。)

OSS Note 739863 'Repairing data in BW'

"Symptom Some data is incorrect or missing in the PSA table or in the ODS object (Enterprise Data Warehouse layer). There may be a number of reasons for this problem: Errors in the relevant application, errors in the user exit, errors in the Delta Queue, handling errors in the customers posting procedure (for example, a change in t he extract structure during production operation if the Delta Queue was not yet empty; postings before the Delta Init was completed, and so on), extractor errors, unplanned system terminations in BW and in R/3, and so on.

Solution

Read this note in full BEFORE you start actions that may repair your data in BW. Contact SAP Support for help with troubleshooting before you start to repair data.

BW offers you the option of a full upload in the form of a repair request (as of BW 3.0B).

If you want to use this function, we recommend that you use the ODS object layer.

Note that you should only use this procedure if you have a small number of incorrect or missing records.

Otherwise, we always recommend a reinitialization (possibly after a previous selective deletion, followed by a restriction of the Delta-Init selection to exclude areas that were not changed in the meantime).

1. Repair request: Definition if you flag a request as a repair request with full update as the update mode, it can be updated to all data targets, even if these already contain data from delta initialization runs for this Data Source/source system combination. This means that a repair request can be updated into all ODS objects at any time without a check being performed. The system supports loading by repair request into an ODS object without a check being performed for overlapping data or for the sequence of the requests. This action may therefore result in duplicate data and must thus be prepared very carefully. The repair request (of the "Full Upload" type) can be loaded into the same ODS object in which the 'normal' delta requests run. You will find this request under the "Repair Request" option in the Info Package (Maintenance) menu.

2. Prerequisites for using the "Repair Request" function

2.1. Troubleshooting Before you start the repair action, you should carry out a thorough analysis of the possible cause of the error to make sure that the error cannot recur when you execute the repair action. For example, if a key figure has already been updated incorrectly in the OLTP system, it will not change after a reload into BW. Use transaction RSA3 (Extractor Checker) in the source system for help with troubleshooting. Another possible source of the problem may be your user exit. To ensure that the user exit is correct, first load a user exit with a Probe-Full request into the PSA table and check whether the data is correct. If it is not correct: Search for the error in the exit user. If you do not find it, we recommend that you deactivate the user exit for testing purposes and request a new Full Upload. It If the data arrives correctly, it is highly probable that the error is indeed in the user exit.

We always recommend that you load the data into the PSA table in the first step and check the result there.

2.2. Analyze the effects on the downstream targets Before you start the Repair request into the ODS object, make sure that the incorrect data records are selectively deleted from the ODS object. However, before you decide on selective deletion, you should read the Info Help for the "Selective Deletion" function, which you can access by pressing the extra button on the relevant dialog box. The activation queue and the ChangeLog remain unchanged during the selective deletion of the data from the ODS object, which means that the incorrect data is still in the change log afterwards. After the selective deletion, you therefore must not reconstruct the ODS object if it is reconstructed from the ChangeLog. (Reconstruction is usually from the PSA table but, if the data source is the ODS object itself, the ODS object is reconstructed from its ChangeLog). You MUST read the recommendations and warnings about this (press the "Info" button). You MUST also take into account the fact that the delta for the downstream data targets is created from the changelog. If you perform selective deletion and then reload data into the deleted area, this may result in data inconsistencies in the downstream data targets. If you only use MOVE and do not use ADD for updates in the ODS object, selective deletion may not be required in some cases (for example, if incorrect records only have to be changed, rather than deleted). In this case, the DataMart delta also remains intact.

2.3. Analysis of the selections You must be very precise when you perform selective deletion: Some applications do not provide the option of selecting individual documents for the load process. Therefore, you must first ensure that you can load the same range of documents into BW as you would delete from the ODS object. This note provides some application-specific recommendations to help you "repair" the incorrect data records. If you updated the data from the ODS object into the InfoCube, you can also delete it there using the "Selective deletion" function. However, if it is compressed at document level there and deletion is no longer possible, you must delete the InfoCube content and fill the data in the ODS object again after repair. You can only perform this action after a thorough analysis of all effects of selective data deletion. We naturally recommend that you test this first in the test system. The procedure generally applies for all SAP applications/extractors. The application determines the selections. For example, if you cannot use the document number for selection but you can select documents for an entire period, then you are forced to delete and then update documents for the entire period in the data target. Therefore, it is important to look first at the selections in the InfoPackage exactly before you delete data from the data target. Some applications have additional special features: Logistics cockpit: As preparation for the repair request, delete the SetUp table (if you have not already done so) and fill it selectively with concrete document numbers (or other possible groups of documents determined by the selection). Execute the Repair request. Caution: You can currently use the transactions that fill SetUp tables with reconstruction data to select individual documents or entire ranges of documents (at present, it is not possible to select several individual documents if they are not numbered in sequence). FI: The Repair request for the Full Upload is not required here. The following efficient alternatives are provided: In the FI area, you can select documents that must be reloaded into BW again, make a small change to them (for example, insert a period into the assignment text) and save them -> as a result, the document is placed in the delta queue again and the previously loaded document under the same number in the BW ODS object is overwritten. FI also has an option for sending the documents selectively from the OLTP system to the BW system using correction programs (see note 616331).

3. Repair request execution How do you proceed if you want to load a repair request into the data target? Go to the maintenance screen of the InfoPackage (Scheduler), set the type of data upload to "Full", and select the "Scheduler" option in the menu -> Full Request Repair -> Flag request as repair request -> Confirm. Update the data into the PSA and then check that it is correct. If the data is correct, continue to update into the data targets."

经过几个小时的了解,现在回头来想,确实repair full request很重要,实际项目中也应该经常用到。因为虽然initial delta做好了,delta update也做好了,processing chain也做好了,并不是表示从此以后系统就规规矩矩地按常理来出牌了。它时不时还是会跳出个missing record,或者corrupt record给你,让你伤伤脑筋。

对于已经走了很长时间的delta update,BW target infoprovider已经存储了相当大的数量了,如果突然发现有missing record或者corrupt record是件很头痛的事,不可能全部删掉重新做,RSA7 delta repetition只能repete上一次的delta,假如是很久以前的delta中间的record是没有办法重新上载的。

于是,repair full request就出现了。

repair full request是在发现有record missing 或corrupt后,(如果数据是直接传往CUBE, 则需先delete CUBE中的受影响的record,不然数据再次传上来会duplicate;如果是传往DSO,这个不需要delete了,因为DSO有覆盖功能。)新建一个infopackage,选择full update模式,然后scheduler-->repair full request,并且在package的extract中设置好要重新抽取的data record period,然后就可以start infopackage了。后续动作DTP,transformation照做。

repair full request的最大好处就是它的执行并不会影响到initial delta update和delta update的执行。或者说,两者是平行的。

比如说,发现DSO中有一条record错误,这时就可以新建package,full update,repair full request, extract里面只选投这一条数据,重新抽取一下就行了。

当然,可以先到RSA3中(setup table)中确认一下此条数据是否正确,正确的话就可以按上面的步骤进行抽取了。

这里需要讲一下full update和delta update的不同。(也是今天上午查阅了很多资料才弄懂的。)

full update是直接从setup table中直接读取数据,所以repair full request才成为可能。

delta update是从RSA7 (queued delta)中读取数据,(数据从R3端进入SM13或者LBWQ,JOB 运行后进行RSA7);所以如果有record missing,那么RSA7中肯定不会有这个missing record的,再怎么delta repetition也没有用,只能用repair full request来修补。

这是一个非常实际的需求。想想,也是做为了一个BW 顾问必须了解的知识点。(果然老师只是给个方向,关键还是得靠自己呀!)

这篇关于(转)关于repair full request的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/560613

相关文章

usaco 1.3 Barn Repair(贪心)

思路:用上M块木板时有 M-1 个间隙。目标是让总间隙最大。将相邻两个有牛的牛棚之间间隔的牛棚数排序,选取最大的M-1个作为间隙,其余地方用木板盖住。 做法: 1.若,板(M) 的数目大于或等于 牛棚中有牛的数目(C),则 目测 给每个牛牛发一个板就为最小的需求~ 2.否则,先对 牛牛们的门牌号排序,然后 用一个数组 blank[ ] 记录两门牌号之间的距离,然后 用数组 an

Vue3上传图片报错:Current request is not a multipart request

当你看到错误 "Current request is not a multipart request" 时,这通常意味着你的服务器或后端代码期望接收一个 multipart/form-data 类型的请求,但实际上并没有收到这样的请求。在使用 <el-upload> 组件时,如果你已经设置了 http-request 属性来自定义上传行为,并且遇到了这个错误,可能是因为你在发送请求时没有正确地设置

使用http-request 属性替代action绑定上传URL

在 Element UI 的 <el-upload> 组件中,如果你需要为上传的 HTTP 请求添加自定义的请求头(例如,为了通过身份验证或满足服务器端的特定要求),你不能直接在 <el-upload> 组件的属性中设置这些请求头。但是,你可以通过 http-request 属性来自定义上传的行为,包括设置请求头。 http-request 属性允许你完全控制上传的行为,包括如何构建请求、发送请

code: 400, msg: Required request body is missing 错误解决

引起这个错误的原因是,请求参数按照get方式给。 应该给json字符串才对 补充: 1. @RequestBody String resource 加@RequestBody必须给json字符串,否则会报错400,记如标题错误。 不加这个的进行请求的话,其实post和get就没有什么区别了。 2. List<String> indexCodes=(List<String>)json.

FORM的ENCTYPE=multipart/form-data 时request.getParameter()值为null问题的解决

此情况发生于前台表单传送至后台java servlet处理: 问题:当Form需要FileUpload上传文件同时上传表单其他控件数据时,由于设置了ENCTYPE=”multipart/form-data” 属性,后台request.getParameter()获取的值为null 上传文件的参考代码:http://www.runoob.com/jsp/jsp-file-uploading.ht

兔子-(PHP 5.3 and above) Please set 'request_order' ini value to include C,G and P (recommended: 'CGP'

由于在PHP最新的版本中增加了一个配置项目“request_order”,默认值为“GP”,这个存在一定的安全风险。这里我们建议用户将配置更改为“CGP” 可以在php的安装目录下找到php.ini配置目录,找到下面选项: request_order = "GP"  更改为 request_order = "CGP"   重启服务器后即可。 此

【python 爬虫】python如何以request payload形式发送post请求

普通的http的post请求的请求content-type类型是:Content-Type:application/x-www-form-urlencoded, 而另外一种形式request payload,其Content-Type为application/json import jsonurl = 'https://api.github.com/some/endpoint'payload

【python requests警告】python3.x requests库取消ssl验证,InsecureRequestWarning: Unverified HTTPS request is be

警告信息: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warni

SpringMVC request生命周期

第一步:用户发起一个请求到前端控制器(DispatcherServlet) 第二步:前端控制器请求HanderMapping查找Handler,可以根据xml配置文件,注解进行查找。 第三步:处理器映射器HandlerMapping向前端控制器返回Handler 第四步:前端控制器调用处理器适配器去执行Handler 第五步:处理器适配器去执行Handler 第六步:Handler执行完

Kafka 为了避免 Full GC,竟然还在发送端设计了内存池,自己管理内存,太巧妙了...

一、开篇引出一个 Full Gc 的问题 在上一篇文章中,我们讲到了 Kafka 发送消息的八个流程,并且着重讲了 Kafka 封装了一个内存结构,把每个分区的消息封装成批次,缓存到内存里。 如下图所示: 上图中,整体是一个 Map 结构,Map 的 key 是分区,Map 的值是一个队列;队列里有一个个的小批次,里面是很多消息。 这样好处就是可以一次性的把消息发送出去,不至于来一条发送一条,