获利能力段部分特征值不更新,需要手动点派生才更新的问题

一、问题描述:销售订单修改某些特征值字段,保存后,获利能力段对应的字段值没更新。

比如:把销售订单销售组从Z09修改为Z04,保存后,获利能力段重的销售组还是旧值Z09。

 1、修改销售组为Z04,然后保存

2、销售订单明细查看-》科目分配-》获利能力段,没有变过来,需要点“派生”才更新

二、解决办法:

1、思路:销售订单下面做增强,在保存的时候检查相关字段是否修改了,修改了的话,把销售订单保存到自建表,然后做一个报表,循环取出里面的销售订单,VBAP-PAOBJNR =  CE41000_ACCT-PAOBJNR, CE41000_ACCT-CE4KEY = CE41000-PAOBJNR更新CE41000这张表里面的销售组等相关字段,然后做一个定时任务。当然也可以直接在增强下面更新CE41000这张表。

2、代码:

REPORT ZFI057.TABLES:VBAK.DATA:IT_ZTFI001  TYPE TABLE OF ZTFI001  WITH HEADER LINE.
DATA:IT_VBAP TYPE   TABLE OF VBAP  WITH HEADER LINE  .
DATA:IT_CE41000_ACCT TYPE TABLE OF CE41000_ACCT WITH HEADER LINE.
DATA:IT_VBAK TYPE TABLE OF VBAK WITH HEADER LINE.
DATA:IT_VBKD TYPE TABLE OF VBKD WITH HEADER LINE.
DATA: LV_TABIX TYPE SY-TABIX.
DATA: LV_TABIX2 TYPE SY-TABIX.
DATA:LV_STRING TYPE STRING.
DATA:FLAG TYPE C.SELECT-OPTIONS:S_VBELN FOR VBAK-VBELN.START-OF-SELECTION.SELECT * INTO CORRESPONDING FIELDS OF TABLE IT_ZTFI001 FROM ZTFI001 WHERE VBELN IN S_VBELN AND   FLAG = SPACE   .IF IT_ZTFI001[] IS INITIAL.EXIT.ENDIF.SELECT VBELN POSNR PAOBJNR INTO CORRESPONDING FIELDS OF TABLE IT_VBAP  FROM VBAPFOR ALL ENTRIES IN IT_ZTFI001WHERE VBELN = IT_ZTFI001-VBELN.SELECT VBELN VKBUR VKGRP ZZDDLB  INTO CORRESPONDING FIELDS OF TABLE IT_VBAK  FROM VBAK
FOR ALL ENTRIES IN IT_ZTFI001
WHERE VBELN = IT_ZTFI001-VBELN.SELECT VBELN BZIRK  INTO CORRESPONDING FIELDS OF TABLE IT_VBKD  FROM VBKD
FOR ALL ENTRIES IN IT_ZTFI001
WHERE VBELN = IT_ZTFI001-VBELN.IF IT_VBAP[] IS NOT INITIAL.SELECT AKTBO PAOBJNR PASUBNR CE4KEY INTO CORRESPONDING FIELDS OF TABLE IT_CE41000_ACCTFROM CE41000_ACCTFOR ALL ENTRIES IN IT_VBAPWHERE  PAOBJNR = IT_VBAP-PAOBJNR AND  AKTBO = 'X'.ENDIF.SORT IT_VBAP BY VBELN  .SORT IT_CE41000_ACCT BY PAOBJNR.CLEAR:LV_TABIX2.LOOP AT IT_ZTFI001 .READ TABLE IT_VBAK WITH KEY VBELN =  IT_ZTFI001-VBELN   BINARY SEARCH.IF SY-SUBRC <> 0.CONTINUE.ENDIF.READ TABLE IT_VBKD WITH KEY VBELN =  IT_ZTFI001-VBELN   BINARY SEARCH.IF SY-SUBRC <> 0.CONTINUE.ENDIF.FLAG = ''.READ TABLE IT_VBAP WITH KEY  VBELN = IT_ZTFI001-VBELN   BINARY SEARCH.IF SY-SUBRC = 0.LV_TABIX = SY-TABIX.LOOP AT IT_VBAP  FROM LV_TABIX.IF IT_VBAP-VBELN <> IT_ZTFI001-VBELN .EXIT.ENDIF.READ TABLE IT_CE41000_ACCT WITH KEY PAOBJNR = IT_VBAP-PAOBJNR BINARY SEARCH.IF SY-SUBRC = 0.UPDATE CE41000  SET  VKBUR = IT_VBAK-VKBUR WW010 = IT_VBAK-ZZDDLB  VKGRP = IT_VBAK-VKGRP BZIRK = IT_VBKD-BZIRK  WHERE PAOBJNR = IT_CE41000_ACCT-CE4KEY.CALL FUNCTION 'DB_COMMIT'.IF SY-SUBRC = 0.FLAG = 'X'.ELSE.FLAG = ''.ENDIF.ELSE.FLAG = ''.ENDIF.ENDLOOP.IF  FLAG = 'X'.UPDATE ZTFI001 SET FLAG = 'S' WHERE VBELN = IT_ZTFI001-VBELN.CALL FUNCTION 'DB_COMMIT'.LV_TABIX2 = LV_TABIX2 + 1.ENDIF.ENDIF.ENDLOOP.LV_STRING = LV_TABIX2.WRITE:/'处理成功' && LV_STRING  && '条数据'.

三、问题分析:

1、网上说可以用过函数COPA_PROFITABILITY_SEGMENT来解决问题,经过研究发现,这个函数是创建一个新的获利能力段,销售订单中的活力能力段点派生的时候会调用它。但是这个函数创建获利能力段后,还需要把它产生的获利能力段编号更新到VBAP-PAOBJNR。而且此函数的参数很多,没搞清楚,所以放弃了。我没有找到相关的BAPI.

2、通过测试发现,比如:客户编号、物料编码等部分字段修改后保存,获利能力段会自动更新。通过调试发现,销售组、订单类别等字段,在修改保存后,往CE41000表插入数据时,根据配置去VBAK表取数时,界面上的值还没保存到VBAK表中,所以取的还是旧值,所以导致了修改后,获利力能力段没更新。有时候发现,点派生也不能更新,问题出在配置上面:

spro->控制->获利能力分析->主数据->特性特征派生。工具栏“显示所有步骤”。把特征值的属性设置为“如果发现新值,则用新值覆盖”。

3、在销售订单,获利能力段点派生时,会在CE41000_ACCT创建新的记录,但是,在CE41000中会根据获利能力段中所有的特征值,找是否已经存在记录,如果存在,则把CE41000-PAOBJNR的值更新到CE41000_ACCT-CE4KEY,不存在则新增加一条记录。

查找是否存在记录的SQL语句:

SELECT SINGLE * FROM CE41000                      "#EC *WHERE AKTBO = X_S_CE4-AKTBO
*+OT1     AND %FELD = X_S_CE4-%FELDAND KNDNR = X_S_CE4-KNDNRAND ARTNR = X_S_CE4-ARTNRAND FKART = X_S_CE4-FKARTAND KAUFN = X_S_CE4-KAUFNAND KDPOS = X_S_CE4-KDPOSAND AUFNR = X_S_CE4-AUFNRAND BUKRS = X_S_CE4-BUKRSAND KOKRS = X_S_CE4-KOKRSAND WERKS = X_S_CE4-WERKSAND GSBER = X_S_CE4-GSBERAND VKORG = X_S_CE4-VKORGAND VTWEG = X_S_CE4-VTWEGAND SPART = X_S_CE4-SPARTAND PRCTR = X_S_CE4-PRCTRAND PPRCTR = X_S_CE4-PPRCTRAND KSTRG = X_S_CE4-KSTRGAND PSPNR = X_S_CE4-PSPNRAND MEINH = X_S_CE4-MEINHAND VKBUR = X_S_CE4-VKBURAND VKGRP = X_S_CE4-VKGRPAND BZIRK = X_S_CE4-BZIRKAND AUART = X_S_CE4-AUARTAND WW010 = X_S_CE4-WW010AND WW150 = X_S_CE4-WW150AND KMVTNR = X_S_CE4-KMVTNRAND MATKL = X_S_CE4-MATKLAND LAND1 = X_S_CE4-LAND1AND WW020 = X_S_CE4-WW020AND WW030 = X_S_CE4-WW030AND WW040 = X_S_CE4-WW040AND WW050 = X_S_CE4-WW050AND WW060 = X_S_CE4-WW060AND WW070 = X_S_CE4-WW070AND WW080 = X_S_CE4-WW080AND WW090 = X_S_CE4-WW090AND WW100 = X_S_CE4-WW100AND WW120 = X_S_CE4-WW120AND WW130 = X_S_CE4-WW130AND WW140 = X_S_CE4-WW140AND ZTEC = X_S_CE4-ZTECAND ZTYPE = X_S_CE4-ZTYPEAND VBELN = X_S_CE4-VBELNAND SAISJ = X_S_CE4-SAISJAND SAISO = X_S_CE4-SAISOAND COPA_KOSTL = X_S_CE4-COPA_KOSTLAND AUGRU = X_S_CE4-AUGRUAND GEBIE = X_S_CE4-GEBIEAND ABSMG_ME = X_S_CE4-ABSMG_MEAND VV100_ME = X_S_CE4-VV100_ME

4、后来网上找到了事务码KEND,可以创建批量更新任务,然后通过后台JOB运行。

操作步骤:

4.1、创建重新排列运行

4.2、新建请求

4.3、选择条件中设置查询条件

4.4、转换规则中,选择要更新的字段,返回到上一界面,然后保存

4.5、选中请求

2.6、运行/申请-》执行-》有起始时间。此任务一旦运行成功,将不能重复运行。

分析:KEND实际上后台运行的是:RKE_KENC_EXEC_CHGRUN这个程序。此程序的主要内容是根据选择条件,找到CE41000中满足条件的所有记录更新转换规则中设置的特征字段。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3248060.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

mac拆分pdf mac如何拆分pdf成多个文件

在数字化办公日益普及的今天&#xff0c;pdf文件因其良好的兼容性和便捷性&#xff0c;已经成为工作和学习中的重要文件格式。然而&#xff0c;有时候我们可能会遇到需要将一个大的pdf文件拆分成多个小文件的情况&#xff0c;以便于管一理和分享。本文将为您详细介绍两种简单易…

【BUG】已解决:java.lang.reflect.InvocationTargetException

已解决&#xff1a;java.lang.reflect.InvocationTargetException 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0c;就职于医疗科技公司&#xff0c;热衷分享知识&#xff0c;武汉城市开发…

[word] word如何编写公式? #微信#知识分享

word如何编写公式&#xff1f; word如何编写公式&#xff1f;Word中数学公式是经常会使用到的&#xff0c;若是要在文档中录入一些复杂的公式&#xff0c;要怎么做呢&#xff1f;接下来小编就来给大家讲一讲具体操作&#xff0c;一起看过来吧&#xff01; 方法一&#xff1a;…

【机器学习】--过采样原理及代码详解

过采样&#xff08;Oversampling&#xff09;是一个在多个领域都有应用的技术&#xff0c;其具体含义和应用方法会根据领域的不同而有所差异。以下是对过采样技术的详细解析&#xff0c;主要从机器学习和信号处理两个领域进行阐述。 一、机器学习中的过采样 在机器学习中&…

完美的用户体验:如何设计一个直观和有效的网站导航?

APP的顶部导航栏对我们来说很熟悉。导航栏是UI设计中不可或缺的一部分&#xff0c;几乎每个页面都使用导航栏。虽然导航栏看起来很简单&#xff0c;不需要太多精力&#xff0c;但是设计一个与产品需求和客户目标高度匹配的导航栏并不是那么容易的。导航栏的设计标准有很多细节需…

JavaWeb服务器-Tomcat(Tomcat概述、Tomcat的下载、安装与卸载、启动与关闭、常见的问题)

Tomcat概述 Tomcat服务器软件是一个免费的开源的web应用服务器。是Apache软件基金会的一个核心项目。由Apache&#xff0c;Sun和其他一些公司及个人共同开发而成。 由于Tomcat只支持Servlet/JSP少量JavaEE规范&#xff0c;所以是一个开源免费的轻量级Web服务器。 JavaEE规范&…

JavaScript 中怎么看数据返回值

文章目录 前言console.log()1. 输出简单的文本2. 输出变量3. 输出表达式的结果4. 输出对象和数组5. 输出多个参数6. 使用模板字符串7. 输出错误信息 alert()基本用法使用场景注意事项 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 我只知道后端程序跑…

React学习笔记02-----React基本使用

一、React简介 想实现页面的局部刷新&#xff0c;而不是整个网页的刷新。AJAXDOM可以实现局部刷新 1.特点 &#xff08;1&#xff09;虚拟DOM 开发者通过React来操作原生DOM&#xff0c;从而构建页面。 React通过虚拟DOM来实现&#xff0c;可以解决DOM的兼容性问题&#x…

跳动的爱 - 动态全屏爱心【前端版本】

要使用HTML、CSS和JavaScript绘制一个全屏且较大的爱心&#xff0c;并且让它有动态效果&#xff0c;可以通过以下步骤实现&#xff1a; HTML: 定义基本的页面结构。 CSS: 定义爱心的样式和动画效果。 JavaScript: 动态调整爱心的位置和大小&#xff0c;使其在页面上移动。 下面…

软考2024下半年考试时间是多少?哪个科目容易考?

软考2024下半年考试时间为 11月9日-12日 2024下半年软考共安排了12个资格的考试&#xff0c;具体为软考高级&#xff1a;系统分析师、系统架构设计师、网络规划设计师、系统规划与管理师&#xff1b;软考中级&#xff1a;软件设计师、网络工程师、信息安全工程师、信息系统监…

【C语言】联合体(union)

文章目录 1.联合体的含义2. 联合体的声明3. 联合体大小的计算4. 联合体的特点 1.联合体的含义 联合体也叫做共用体&#xff0c;是指联合体的所有成员共用同一块内存空间。这也就说明了&#xff0c;联合体的大小至少是其成员所占空间的最大值。 2. 联合体的声明 #include<…

Codeforces Round 675 (Div. 2) --- B. Nice Matrix (数学,模拟)

很容易想到 a i , m − j 1 a n − i 1 , m − j 1 a i , j a n − i 1 , j a_{i,m-j1} a_{n-i1,m-j1} a_{i,j} a_{n-i1,j} ai,m−j1​an−i1,m−j1​ai,j​an−i1,j​ 在本题中应该被满足。 这道题主要的难点是我们怎么找到一个数&#xff0c;让这四个数与找到的数…

学习008-01-02 Define the Data Model and Set the Initial Data(定义数据模型并设置初始数据 )

Define the Data Model and Set the Initial Data&#xff08;定义数据模型并设置初始数据 &#xff09; This topic explains how to implement entity classes for your application. It also describes the basics of automatic user interface construction based on a da…

PGCCC|【PostgreSQL】PG考证对工作上有什么好处# PG证书

认证 PostgreSQL 考证&#xff08;PostgreSQL Certification&#xff09;在工作上有以下几个好处&#xff1a; 增强专业能力&#xff1a;通过考证&#xff0c;可以系统地学习和掌握 PostgreSQL 数据库的知识和技能&#xff0c;提高自己的专业水平。 提升职业竞争力&#xff1…

Python 在Word表格中插入、删除行或列

Word文档中的表格可以用于组织和展示数据。在实际应用过程中&#xff0c;有时为了调整表格的结构或适应不同的数据展示需求&#xff0c;我们可能会需要插入、删除行或列。以下提供了几种使用Python在Word表格中插入或删除行、列的方法供参考&#xff1a; 文章目录 Python 在Wo…

【MySQL篇】Percona XtraBackup工具备份指南:常用备份命令详解与实践(第二篇,总共五篇)

&#x1f4ab;《博主介绍》&#xff1a;✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ &#x1f4ab;《擅长领域》&#xff1a;✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux&#xff0c;也在扩展大数据方向的知识面✌️…

自动驾驶系列—智能巡航辅助功能中的车道变换功能介绍

文章目录 1. 背景介绍2. 功能定义3. 功能原理4. 传感器架构5. 实际应用案例5.1 典型场景1&#xff1a;换道时无其他交通参与者5.1.1 直道中的车道变换5.1.2 弯道中的车道变换5.1.3 综合场景应用 5.2 典型场景2&#xff1a;换道方向车道线非虚线5.3 典型场景3&#xff1a;换道方…

【 LCD1602显示屏】使用STC89C51控制1602显示、读写操作时序

文章目录 LCD1602显示概述&#xff1a;引脚说明控制指令接线 控制思路步骤 代码示例总结对databuffer dataShow;的理解 LCD1602显示 概述&#xff1a; LCD1602&#xff08;Liquid Crystal Display&#xff09;是一种工业字符型液晶&#xff0c;能够同时显示 1602 即 32 字符…

【机器学习入门】拥抱人工智能,从机器学习开始

拥抱人工智能&#xff0c;从机器学习开始 目录&#xff1a; 1. 机器学习&#xff1a;一种实现人工智能的方法 2. 机器学习算法&#xff1a;是使计算机具有智能的关键 3. Anaconda&#xff1a;初学Python、入门机器学习的首选 4. 总结 转载链接&#xff1a; 文章-阿里云开发者社…

【PostgreSQL】PostgreSQL 教程

博主介绍&#xff1a;✌全网粉丝20W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…