CNS0项目创建交货单增加销售办事处
1、业务需求
1.1、销售办事处介绍
销售办事处是指在企业中负责销售活动的区域性单位或部门。在SD模块中,可以表示企业的不同销售地点、销售办公室、分销中心或分公司。
销售办事处扮演着多种角色和职责,例如:
销售活动管理:销售办事处负责管理和监控属于其管辖范围内的销售活动。这包括销售订单的处理、客户询价、报价管理、合同管理等。
客户关系管理:销售办事处是与客户直接互动的关键机构。它们负责与客户进行沟通、建立关系、处理客户投诉和问题,并确保客户满意度。
销售数据分析:销售办事处负责收集、记录和分析销售数据以及相关指标。这些数据可以用于制定销售策略、优化销售过程,并为企业的决策提供支持。
销售区域划分:销售办事处可以根据不同的售点、终端市场、产品类型或地理位置划分销售区域,可以被指定到一个或多个销售区域。可以更好地组织销售团队和资源,并实现销售目标。
销售团队管理:销售办事处可以负责管理属于其管辖范围内的销售团队。这包括分配任务、跟踪销售业绩、培训和发展销售人员等。
价格和折扣管理:销售办事处可以管理与销售相关的价格策略、折扣和促销活动。这包括为特定客户、销售区域或产品定义价格和折扣。

1.2、背景和问题
背景:项目实施过程中需要通过销售办事处进行权限校验,控制项目的交货单和销售订单的交货单。
问题:项目本身是不具备销售订单组织架构的,因此在创建交货单时,缺失销售办事处,不能实现权限控制,所以要在项目CNS0中添加销售办事处,并带入到创建的交货单中,达到权限控制两类交货单的目的。
2、增强实现
2.1、新增销售办事处
将销售办事处添加到组件屏幕

F1找到该界面的屏幕为SAPLCNSH→1100,且界面的字段在结构CNSH_LIF中,为了后边代码传值时方便,新增的销售办事处字段,也需要添加到结构CNSH_LIF中

仿照界面现有字段,新增销售办事处字段CNSH_LIF-VKBUR,和对应描述TVKBT-BEZEI

接着实现输入销售办事处时敲回车,带出对应描述
模仿销售区域字段带出描述的FILL_TEXT方法

实现销售办事处带出描述
"--------------------@斌将军--------------------
MODULE fill_text02 OUTPUT.
* 销售办事处
IF CNSH_LIF-VKBUR IS INITIAL.
CLEAR TVKBT.
ELSEIF TVKBT-VKBUR NE CNSH_LIF-VKBUR.
SELECT SINGLE * FROM TVKBT WHERE SPRAS EQ SY-LANGU AND
VKBUR EQ CNSH_LIF-VKBUR.
IF SY-SUBRC NE 0.
CLEAR TVKBT.
ENDIF.
ENDIF.
ENDMODULE.
"--------------------@斌将军--------------------
其中表TVKBT也要添加到相同位置的全局结构中

效果如下

2.2、将增强字段赋值到交货单
销售办事处在交货单抬头LIKP表,通过源码调试,在FORM:GN_LIEFERKOPF_AUFBAUEN(设置交货抬头)中找到给LIKP赋值的地方
方法:找该增强点时,我的办法就是,观察销售区域三个字段何时传递到LIKP中,那么新增的销售办事处,理应也可以在此处传入到LIKP中

在FORM的末尾做隐式增强
"--------------------@斌将军--------------------
FORM gn_lieferkopf_aufbauen
USING ii_cd_plant TYPE REF TO /spe/badi_determine_cd_plant
CHANGING gla_subrc LIKE sy-subrc.
…… ENHANCEMENT 1 ZESD_CNS0. "active version
CALL FUNCTION 'ZXX01_USER_EXITS'"增强开关
EXPORTING
i_encode = 'SD058'
EXCEPTIONS
close = 1
OTHERS = 2.
IF sy-subrc = 0.
IF xkomdlgn-vkbur IS NOT INITIAL.
likp-vkbur = xkomdlgn-vkbur."销售办事处
ENDIF.
ENDIF.
ENDENHANCEMENT.
ENDFORM. "gn_lieferkopf_aufbauen
"--------------------@斌将军--------------------
点击保存创建交货单后,成功将销售办事处保存到交货单中

定期更文,欢迎关注

CNS0项目创建交货单增加销售办事处的更多相关文章
- springmvc 项目完整示例02 项目创建-eclipse创建动态web项目 配置文件 junit单元测试
包结构 所需要的jar包直接拷贝到lib目录下 然后选定 build path 之后开始写项目代码 配置文件 ApplicationContext.xml <?xml version=" ...
- Ionic2开发环境搭建、项目创建调试与Android应用的打包、优化
Ionic2开发环境搭建.项目创建调试与Android应用的打包.优化. windows下ionic2开发环境配置步骤如下: 下载node.js环境,稳定版本:v6.9.5 下载android stu ...
- django的项目创建简明流程
个人理解,不妥之处请指出 创建项目:django-admin startproject user_sys 创建APP:python manage.py startapp auth 测试项目创建是否成功 ...
- spring cloud 项目创建过程
在使用spring cloud 项目创建微服务项目时,遇到过很多坑,现在我将整理如下: 条件:Idea 开发工具 maven 项目 1. 创建一个空的mvn项目. 2. 创建完了就添加Module,首 ...
- 4. gitlab 安装、项目创建
官网: https://about.gitlab.com/ https://docs.gitlab.com/omnibus/maintenance/README.html#get-service-st ...
- cocos2dx3.0项目创建流程
cocos2dx3.0不是beta,新增了wp项目创建的支持 但不知道为啥非beta版本号的tools文件夹中取消了project-creator,可能有更改吧 没有这个工具还挺麻烦.就自己手动创建c ...
- vue项目创建步骤 和 路由router知识点
菜单快捷导航: vue项目创建 vue路由router知识点(路径参数.查询参数.命名路由.嵌套路由.命名视图.hash/history模式) 1.创建一个vue项目步骤 (windows环境下).创 ...
- maven SpringMVC easyUI项目创建
在Eclipse中使用Maven创建SpringMVC项目,项目所需软件及工具可以在官网下载.Maven.Nexus及Eclipse集成Maven等到此配置完毕. 1.Maven创建Web项目. 打开 ...
- Django-简单项目创建
在磁盘中找到需要存放项目代驾的目录,进入该目录(本机为: /Downloads/All) 输入Django创建项目命令:django-admin startproject mysite,此时在目录下会 ...
- 1 游戏逻辑架构,Cocos2d-x游戏项目创建,HelloWorld项目创建,HelloWorld程序分析,(CCApplicationProtocol,CCApplication,AppDeleg
1 游戏逻辑架构 具体介绍 A 一个导演同一时间仅仅能执行一个场景,场景其中,能够同一时候载入多个层,一个层能够可载多个精灵.层中亦能够加层. B 场景切换 sceneàaddChild(la ...
随机推荐
- Codeforces Round #538 (Div. 2) F. Please, another Queries on Array?
原题链接 F. Please, another Queries on Array? 这道题让求\(\phi(\prod\limits_{i = l}^r a_i)\),然后我们化简一下. 设\(P\) ...
- 文心一言 VS 讯飞星火 VS chatgpt (141)-- 算法导论12.1 1题
一.用go语言,对于关键字集合(1,4,5,10,16,17,21),分别画出高度为 2.3.4.5和6的二又搜索树. 文心一言: 以下是用Go语言为给定的关键字集合(1, 4, 5, 10, 16, ...
- 主数据管理系统(MDM)集成方案
在当今社会,数据已成为企业发展的宝贵财富.然而,大多数企业面临着数据散落在多个系统中.无法互相印证和共享的问题,导致数据使用效率低下.为解决这个问题,目前有两种典型途径:建设公司级系统或建立数据共享平 ...
- 解决IDEA加载maven工程缓慢
如图,哪里没有加哪里 -DarchetypeCatalog=internal
- 手撕Vue-Router-实现router-link
前言 在上一篇 [手撕Vue-Router-添加全局$router属性] 中,实现了将每一个 Vue 实例上挂载一个 $router 属性,这个属性就是我们在上一篇文章中创建的 VueRouter 实 ...
- Kylin Linux Advanced Server V10 上安装 Nacos详细步骤
要在 Kylin Linux Advanced Server V10 上安装 Nacos,可以按照以下进行操作:1.安装 Java JDK:首先确保已在 Kylin Linux Advanced Se ...
- C++学习笔记二:变量与数据类型(整型)
1.int(整型数据): 1.1 进制的表示:十进制,八进制,16进制,二进制 int number1 = 15; // Decimal int number2 = 017; // Octal int ...
- ASR项目实战-数据
使用机器学习方法来训练模型,使用训练得到的模型来预测语音数据,进而得到识别的结果文本,这是实现语音识别产品的一般思路. 本文着重介绍通用语音识别产品对于数据的诉求. 对数据的要求 训练集 相关要求,如 ...
- 从零玩转文件上传之七牛云-qiniufileupload
title: 从零玩转文件上传之七牛云 date: 2022-03-27 02:21:00.478 updated: 2022-04-10 14:13:35.426 url: https://www. ...
- Volcano 原理、源码分析(二)
0. 总结前置 1. 概述 2. 寻找调度器中的 PodGroup 2.1 从 PodGroup 到 JobInfo 的封装 2.2 从 Pod 到 TaskInfo 的封装 3. 控制器中 PodG ...