采购订单抬头及行项目增强字段配置(超详细)

2023-11-21 04:41

本文主要是介绍采购订单抬头及行项目增强字段配置(超详细),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

听说有一个开发小哥哥想XXX我的XXX,我要卷死他,哈哈哈哈哈

多学多用,不会开发的业务顾问不是一个好顽主

和大家共同学习,仅此记录,酌情参考。

本次主要介绍使用 User-Exit 的方式实现采购订单的屏幕增强。 涉及的用户出口是 MM06E005,本次案例的需求就是在 ME21N、ME22N 和 ME23N 的抬头和 项目上添加 SCM 状态字段。

1、SE11: 创建域  ZZSCM_STATUS_YSS

 

 下面这个就是采购订单抬头& 行项目的 字段枚举值

 2、创建 数据类型:ZZSCM_STATUS_YSS_SJLX

【注】:数据类型和域的名字可是一致的,这里我做个区分,所以分开来标注

 把域关键进属于类型中:

  

 3、CMOD  创建 增强项目

 

 

 

 

在结构 CI_EKKODB 和 CI_EKPODB 中添加 ZZSCM_STATUS_YSS_SJLX 字段

结构 CI_EKKODB 和 CI_EKPODB 是 MM06E005 中预留的两个字段接口,

我们只需将想要 添加的自定义字段添加到这两个结构中就可以了,

不过要注意,自定义的字段要以 ZZ 开 头。

结构 CI_EKKODB 和 CI_EKPODB 如果不存在,需要自己创建。如果已经存在就修改。 

双击:

 用同样的方式,在 CI_EKPODB 中添加 ZZSCM_STATUS_YSS_SJLX 字段

 

在屏幕 101 和 111 上添加自定义字段 屏幕 101 和 111 是增强预留的屏幕,

101 是采购订单抬头的增强屏幕,111 是 采购订单 行项目的增强屏幕 

 

进入如下视图:

先拖拽一个TEXT

 

 再双击它,调整一下格式

 

最后保存 ----激活-----测试

  完美呈现

 

 如法炮制 行项目: EKPO

 

进入下一部分:大招来了

CMOD  激活增强   看看效果

 ME21N进去看:

 

 【注】但是到这一步,虽然字段做了出来,但是还没有数据能够保存进数据库,因为没有代码逻辑,因此,我们需要增加代码逻辑,让数据保存进数据库

首先:我们先介绍一下Function

然后我们取消激活,继续调整:

 

 

 

 

 

 

 

添加如下代码:

DATA: ekko LIKE ekko, " Header

ekpo LIKE ekpo, " Item

aktyp TYPE c, " A=display, V=change, H=create

no_screen TYPE c. " do not display 

 

 

 插入如下代码:

 no_screen = i_no_screen.

ekko = i_ekko.

ekko_ci = i_ci_ekko.

aktyp = i_trtyp.

 

 以此往下:

 

 在 Include 中添加代码

IF NOT e_ci_ekko = ekko_ci AND aktyp NE 'A'.

e_ci_ekko = ekko_ci.

e_ci_update = 'X'.

ENDIF.

 继续依次:

 

在 Include 中添加代码

no_screen = i_no_screen.

ekko = i_ekko.

ekpo = i_ekpo.

ekpo_ci = i_ci_ekpo.

aktyp = i_aktyp. 

 依次进行:

 

添加代码:

IF NOT e_ci_ekpo = ekpo_ci AND aktyp NE 'A'.

e_ci_ekpo = ekpo_ci.

e_ci_update = 'X'.

ENDIF. 

 

下一步:

 

 

 

 

 添加代码:

IF aktyp = 'A'."作用是在显示采购订单时,将我们自己添加的自定义字段设置为无法 编辑,只能显示

LOOP AT SCREEN. screen-input = 0.

MODIFY SCREEN.

ENDLOOP.

ENDIF.

 

 

再搞定行项目:

 

 同样添加代码:

IF aktyp = 'A'."作用是在显示采购订单时,将我们自己添加的自定义字段设置为无法 编辑,只能显示

LOOP AT SCREEN.

screen-input = 0.

MODIFY SCREEN.

ENDLOOP.

ENDIF.

 

 

 至此-----全部开发完毕

下面看一下效果:

 

创建一个采购订单并保存:

 

 数据已经保存:

 然后我们做个ME22N的修改:

 再看数据表更新:

 就会到这里了,多的不会了。

写错的地方酌情参考。

屏幕有个地方没激活,激活一下就好了,不做修正了。

这篇关于采购订单抬头及行项目增强字段配置(超详细)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

mysql5.7.15winx64配置全过程

《mysql5.7.15winx64配置全过程》文章详细介绍了MySQL5.7.15免安装版的配置步骤,包括解压安装包、设置环境变量、修改配置文件、初始化数据目录、安装服务、启动数据库、登录及密码修改... 目录前言一、首先下载安装包二、安android装步骤1.第一步解压文件2.配置环境变量3.复制my-

MySQL中优化CPU使用的详细指南

《MySQL中优化CPU使用的详细指南》优化MySQL的CPU使用可以显著提高数据库的性能和响应时间,本文为大家整理了一些优化CPU使用的方法,大家可以根据需要进行选择... 目录一、优化查询和索引1.1 优化查询语句1.2 创建和优化索引1.3 避免全表扫描二、调整mysql配置参数2.1 调整线程数2.

Java实现TXT文件导入功能的详细步骤

《Java实现TXT文件导入功能的详细步骤》在实际开发中,很多应用场景需要将用户上传的TXT文件进行解析,并将文件中的数据导入到数据库或其他存储系统中,本文将演示如何用Java实现一个基本的TXT文件... 目录前言1. 项目需求分析2. 示例文件格式3. 实现步骤3.1. 准备数据库(假设使用 mysql

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结