自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

原创 【SAP-PP】SAP中的报废率及其计算方法

这是自己在学习相关知识过程中记录的一篇博客,如果有不对的地方,还请大家批评指正~

2025-02-19 18:45:30 610

原创 【SAP-PP】开发中常用到的后台数据表

查询后台数据或者二次开发取数的时候多次用到的数据表,这里主要使用到PP模块相关系统表不包含自建表,如有遗漏,欢迎大家补充~后台数据表可以通过事务码SE16N进入查询到具体的数据。

2025-02-19 10:16:07 464

原创 【SAP-PP】物料清单BOM详解

SAP中的物料清单(BOM,Bill of Materials)是一个关键功能,用于管理产品组成和生产流程。它列出了生产某种产品所需的所有原材料、零部件和子组件的详细信息,包括编码、描述、数量和单位。BOM是制造业和生产管理中的一个核心概念,帮助企业在生产过程中更高效地管理物料需求、库存以及生产成本。单级BOM表示一个装配和其部件的关系,用于生产某种物料的所有组件和原材料的清单。一般来说,成品到半成品是一级;半成品到原材料是一级,完整的BOM是树状的多级的。CS01创建物料清单CS02。

2025-02-17 18:53:56 1211

原创 SAP ABAP开发学习-relid的巧妙运用与代码解析

MI被用于查询Excel模板,这可能意味着MI类型专门用于存储和标识Excel格式的模板。如果是指HTML模板,那么这种类型的对象可能用于生成HTML格式的报告或页面。如果是指内部模板,那么这种类型的对象可能用于系统内部处理,如数据转换、格式化等。在SAP开发中,relid(关系ID或类型ID)是一个关键字段,用于区分和管理不同类型的对象或文档。在写功能开发的过程中,接触到很多通过本地模板批量导入操作,从SAP服务器中下载Excel模板的时候回指定类型,主要用relid关键字。

2025-02-17 09:06:12 326

原创 【SAP-PP】生产订单和计划订单

在SAP系统中,生产订单和计划订单是两个重要的概念,分别用于不同的生产管理阶段。

2025-01-27 11:01:31 1103

原创 【SAP PP】物料主数据

物料主数据(Material Master Data)是企业在资源规划(ERP)系统中管理物料信息的基础。在SAP等ERP系统中,物料主数据是核心数据之一,它包含了与物料相关的所有关键信息,用于支持采购、库存管理、生产计划、销售、财务会计等多个业务流程。主要用到的T-CODE:创建物料和维护物料试图更改物料信息查询物料信息试图

2025-01-27 08:00:00 751

原创 【SAP 报错】物料过账时报错过账期间不符合

②T-CODE: MMPV 进入后修改物料帐期间,一般来说修改到当月。③T-CODE: MMRV 输入公司代码,查看过账期间有无更新。①T-CODE:OB52 进入后修改过账期间的日期,保存。:在生产领料过账时,报错信息如下图所示。完成,再返回物料过账就不会报错了。系统中的物料帐期间没有更新导致的。

2025-01-24 10:21:19 297

原创 SAP -最简单smartforms打印保存到本地pdf方法

不改动模板也不需要添加代码的最简单smartforms打印保存到本地pdf方法。

2025-01-16 16:10:09 701

原创 【SAP 报错】关于缺少工艺路线报错以及彻底删除工艺路线

这是前台删除了通用工艺路线,如果想重新建立一个工艺路线,系统会提示组计数器和组都在占用的状态。标准路径创建事务码是CA01,参考工序集创建事务码是CA11,后续对工艺路线专门记录一个文章。根据报错,发现工艺工序集被删除,导致生产版本不能生成;:在批量生成生产版本的时候,报错“加载任务清单及其子对象时出错”查阅资料得知需要删除归档里面的工序集重新创建,工艺路线被删除,但是组计数器还在。打开事务码CA02或者CA03(可以彻底删除工艺路线释放组计数器。这时算彻底删除了,可以重新创建。

2025-01-16 09:11:46 337 1

原创 【SAP-操作】事务界面打断点跳过报错继续执行

在创建工单时,由于一开始程序里面设置了检验到物料维护试图不是默认的时,不允许工单创建,但此时需要测试与默认值不同的物料类型工单创建,需要跳过此检验过程使得工单得以创建成功。这时候小箭头指向第一个断点行,不用执行,右击第二个断点行,选转向语句,这时候小箭头就会转移到第二个断点的地方,这就成功跳过了两个断点中间的代码行了。一篇关于SAP ABAP编程的小技巧——如何在事务界面通过打断点跳过报错继续执行后面的作业。跳过以后,直接执行或者按F8,就可以继续后面的作业程序。如例子中的物料跳过报错创建成功。

2025-01-09 12:40:32 456

原创 SAP- 导出系统中模块角色事务权限数据

SUIM是SAP系统中的一个标准事务码,它主要用于查询和管理用户权限,包括查询用户、角色、参数文件、权限等相关信息。通过使用SUIM,管理员可以更有效地管理和调整用户权限,确保系统的安全性和合规性。②根据更改查询的角色查找对应角色的事务码权限,在SUIM里面找到在角色菜单中搜索应用程序,输入上一步查询到角色代码,查询。①在自开发程序里面通常命名也是z开头,加上模块等,在SUIM中找到按复杂条件选择的角色,输入粗查询。可以查询得到每个角色可使用的事务权限并可以导出到本地整理。

2025-01-09 09:05:08 280

原创 SAP-创建后台定时任务【从变式到设置完整流程】

SAP后台定时任务是SAP系统中用于自动化执行特定业务流程或作业的功能。这些任务可以在没有用户干预的情况下,按照预定的时间表自动运行,从而提高系统效率并减少人工操作。用于创建和维护作业。用于监控和管理作业。用于监控作业的日志和错误。用于创建变式。

2025-01-07 08:09:30 584

原创 【SAP-PP】 概述

ERP,即Enterprise Resources Planning(企业资源规划),是由Gartner Group公司在90年代初提出的概念。它定义为一套将财务、分销、制造等业务功能合理集成的应用软件系统。ERP的演变经历了几个阶段:60-70年代的MRP(物料需求计划)利用物料清单和库存数据计算物料需求;70-80年代的闭环MRP集成了能力计划、生产和采购,形成了反馈循环;80-90年代的MRPII(制造资源计划)在闭环MRP的基础上整合了财务、供销链管理和制造,构成了完整的企业流程;

2025-01-03 14:01:08 841

原创 SAP-ABAP学习之DEBUG调试

ABAP开发过程中,DEBUG调试是一个非常重要的环节,它可以找到程序中问题所在,也能看清程序中逻辑流向。断点类型主要如下:图标关键字内容静态断点在代码中直接输入BREAK-POINT,也可使用BREAK testuser 来指定特定用户。外部断点在ABAP编辑器中设置。为设置断点的用户维持2小时,即使重新登录也维持。内部断点在ABAP编辑器中设置。在外部会话中设置的断点,在用户能打开的6个窗口中都有效。动态断点在新版调试画面中设置的断点,单击保存按钮,可变成内部断点。

2025-01-02 11:11:28 1088

原创 ABAP开发中offset用法

在SAP ABAP编程语言中,offset关键字通常用于指定数据结构中的位置偏移量。内表(Internal Table)是ABAP中用于存储数据的结构化表。offset可以用于访问表中的特定字段。OFFSET 0是默认的,因为它指定的是从当前索引开始的偏移量。通常,OFFSET在单行读取时不会使用,但在处理表中的结构化数据时可能会用到。offset可以用于直接访问结构体中的特定字节位置,如下例,访问的是结构体struc中从起始位置偏移8个字节的数据,这通常是field2字段的数据。

2024-12-31 11:00:14 224

原创 SAP-ABAP开发-完整OOALV示例(详细步骤代码)

OO ALV,即采用面向对象(Object-Oriented)编程方式实现的ALV输出,其基本使用原理是通过界面调用,在界面的Customer Control控件中进行ALV的输出展示。CLASS ALV的优势在于它使用了面向对象的编程方式,这不仅提高了代码的灵活性和可维护性,而且通过使用容器技术,允许在一个界面的指定位置进行ALV的输出,从而优化了用户界面的布局和交互体验。

2024-12-30 11:53:29 1084 2

原创 SAP面向对象事件调用示例【事件是OOALV里最核心的部分】

事件是OOALV里面最核心的部分!也是最常用的内容。

2024-12-26 07:54:08 601

原创 ABAP开发中REDUCE的用法

在ABAP中,REDUCE是一个非常有用的关键字,它用于对内表(内部表格)中的数据进行迭代并累积结果。REDUCE通常用于计算总和、平均值、最大值、最小值等,使用REDUCE可以使代码更简洁、更易于阅读,尤其是在处理数据累积操作时。以下是REDUCE的基本用法和一些示例。

2024-12-25 08:09:51 565

原创 ABAP开发中NEXT的用法

在ABAP中,NEXT关键字通常用于循环结构中,特别是在LOOPDOWHILE循环以及REDUCE和FIND等控制结构中。以下是几种常见的使用NEXT。

2024-12-24 11:54:42 511

原创 跨系统请求副本传输,以及只想传测试区正式区看不到的方法

在之前的跨系统传输请求的方法中,可以看到我们把请求释放后,500、600、800系统都可以看到该请求,并在原本的300系统里面显示请求没有了,那么会出现一个问题就是如果只想传输到测试系统而不干扰到正式系统里面的导入请求队列,这样多次修改后确认完毕最后传输到正式区,就不会出现数据冗余。完成,去对应的系统接受请求。这样自己的请求也存在,修改也不会产生冗余的请求数据。传输请求副本,而不是释放直接创建保存的请求。se10 进入 勾选传输副本。将需要传输的请求放到副本里面。

2024-12-23 11:07:11 549

原创 SAP面向对象示例:用面向对象写计算圆面积

1.一个接受变量,I_R 为半径 ,声明一个传出EXPORT变量,E_ROUND为面积,根据半径计算。2.一个接受变量,I_R 半径,声明一个返回变量 RETURN,E_ROUND为面积根据半径计算。PARAMETERS 输入半径,从屏幕接收值;最后调用方法,分别调用,输出结果。分析:私有区域:声明常量C PI 3.14;公有区域:声明2个方法。场景:用面向对象方法写计算圆面积。

2024-12-20 11:55:10 430

原创 SAP-ABAP开发学习-面向对象开发OO(2)

事务代码SE24: CL_GUI_ALV_GRID或者 在Object Navigator(SE80)中左侧的导航区域,在右键弹出的上下文菜单上选择“Create->Class Library->Class” 在弹出的窗口中输入类名,在下个输入域输入该类的简短描述,在“Instantiation”输入域选择“Public”,并且选择“Final”复选框。说明。

2024-12-18 08:01:20 1416

原创 sap中调用其他程序时屏幕值传不进的问题

业务背景:运行md04记录时,查看底表数据,与供需报表里面的数值有差异。查找问题点:找一条错误的数据,DEBUG查找字段值传输。

2024-12-17 08:14:27 540

原创 SAP-ABAP开发学习-面向对象OO(1)

随着SAP R/3 4.0版本的开发,ABAP语言开始引入了面向对象的开发概念。这在ABAP语言的发展过程中,面向对象(Object-oriented)的概念被引入,ABAP对象成为了ABAP语言的扩展,它集合了Java、C++、Smalltalk等语言的特点,并与原有的ABAP语言无缝集成。在面向对象的解决方法中,重点在于对现实生活中的对象进行结构化或抽象化。属性(Attributes),即对象的属性和特征;方法(Method),即定义对象的行为。

2024-12-11 11:51:50 1064

原创 ABAP开发中COMMIT WORK AND WAIT.用法

这条语句的作用是提交前面执行的操作,并等待直到提交过程完成。注意,这里的第一个组合句用于从数据库表中删除所有记录,并确保这些更改被永久保存。在执行这样的操作时,应该始终确保你有适当的备份和恢复策略,以防万一。

2024-12-10 08:11:59 309

原创 VALUE #( BASE r_ekorg[] ( sign = ‘I‘ option = ‘EQ‘ low = ls_t024e-ekorg ) ).

在ABAP中,这段代码使用的是ABAP 7.40(或更高版本)引入的新的内部表赋值语法,称为"链式赋值"(Chained Assignment)。这个语句的作用是将一个结构(在这里是。关键字用于指定一个现有的内表,新的行将被追加到这个内表的末尾。:这是ABAP中创建内表或结构的关键字,以声明式的方式创建和初始化结构体或内表。等字段,这些字段通常用于表示选择条件(类似于SQL中的WHERE子句)。的基础上添加新的记录,而不是创建一个新的内表。子句的一部分,以筛选出符合特定条件的记录。

2024-12-05 13:43:23 243

原创 实战示例:在报表中添加权限管控

业务场景:需要给报表添加权限管控,没有工厂权限的用户使用该事务码查询不到对应的数据。

2024-12-04 15:56:49 1035 1

原创 lo_tabdescr ?= cl_abap_structdescr=>describe_by_data( gs_out ).

DFIES(Data Field Information)表包含了关于结构中每个字段的各种信息,如字段名称、数据类型、长度、输出长度、小数位数等。这个信息可以用于进一步处理,比如在ALV(ABAP List Viewer)报表中显示字段信息。这段ABAP代码用于获取结构描述信息并将其转换为数据字段信息(DFIES)表。

2024-12-03 14:42:53 436

原创 SAP中ALV格式颜色相关

列颜色在FIELDCAT里面有个EMPHASIZE字段,把颜色值赋给它就可以了。单元格颜色需要设置颜色代码,如果多个就循环内表,如上面示例的代码;ALV颜色主要有三位数组成,分别表示颜色、强调、取反(填充),即如果同时设置颜色,那么单元格的颜色会覆盖其他的。行颜色需要在内表里面添加颜色字段记录颜色;示例:选中行并更改颜色。

2024-11-29 09:46:27 459

原创 SAP-ABAP开发-第三代增强示例(BADI)

在程序中写BADI增强主要方法步骤①数据库表:存储数据,以行项目为主键②一个内表:用来存储界面中的数据③对应的结构体④3个函数:PUT DATA 从内表取数 传给函数;GET DATA 从函数获取 可以存储到内表;SAVE DATA 出内表存储到数据库表。

2024-11-29 08:38:29 1964

原创 SAP-ABAP开发-第二代增强示例

以VA01为例。

2024-11-28 09:47:14 679

原创 记录在ABAP代码中经常遇到的语句

字段符号是一个引用变量的占位符,它可以引用任何数据对象,而不需要知道该对象的确切类型或结构。这行代码是ABAP CDS(Core Data Services)视图的一部分,用于定义一个内联视图(INLINE VIEW),并给它一个别名。:这个关键字在CDS视图中用于定义一个内联视图,它允许你创建一个临时的结果集,这个结果集可以在CDS视图的后续部分中使用。这个内联视图可以在CDS视图的后续查询部分中被引用和使用,以进一步处理或联接数据。:这是内联视图的实际定义,它是一个子查询。:这是给内联视图指定的别名。

2024-11-28 08:27:45 1025

原创 SAP-ABAP开发-第一代增强示例

以SD用户出口为例(SD及MM较多的程序都是基于源码控制来实现增强的)基于销售订单,当选择ZUSS类型的销售订单时,PO编号必输。进入事务代码VA01,查找字段名称:订单类型VBAK-AUART 采购订单编号VBKD-BSTKD。T-code: spro 进入后台配置目录,找到用户出口,找到相关程序名。需要申请access key才能更改的,相当于修改了SAP的标准程序。以及更新后会被覆盖。进入到se80里面开发类VMOD找到。注意的是,这里不能直接更改,出口程序:include中。

2024-11-27 09:59:36 466

原创 SAP-ABAP开发学习-增强基础知识

这种增强是用事务SE18和SE19来实现的。这类增强都需要修改sap的标准代码,它们在发布的时候都是空的,集中在一些文件名倒数第二个字符为Z的包含程序中,由于在标准程序中,所以所有程序的全局数据都可以使用,但同时。①基于SAP源代码的增强-----对SAP所预留的空的子过程进行编码,用户可以编辑此子过程,并在这个子过程中添加自定义的代码,以增加SAP标准程序的控制功能。②基于函数的增强-----SAP为此类出口提供了相应的函数,依据函数结构指定的传入/传出参数,程序执行时,调用该函数并检查相应的代码。

2024-11-27 09:16:41 804

原创 SAP-内存管理

内存是程序之间为了传递数据而使用的共享存储空间。SAP内存分为①SAP内存:主会话之间的数据共享,通过SET/GET PARAMETER语句共享不同ABAP内存领域之间的内存。②ABAP内存,内部会话之间的数据共享,只有在同一个窗口执行的程序才能共享内存,在每个程序里使用的内存有ABAP内存和SAP内存。

2024-11-26 19:51:27 1053

原创 SAP-ABAP开发-BDC

SAP系统提供的BDC有两种从其它SAP系统和非SAP系统向本系统传递数据的基本方法。这两种方法统称为“批输入”或“批数据通讯”。两种批输入方法都通过执行常规SAP事务进行工作,正如用户输入一样。批输入可自动执行事务,因此适用于输入以电子表格表格形式存在的大量数据。主要用于一些数据量大,但是对速度又要求不高的数据传输。

2024-11-25 11:35:01 1194

原创 跨系统传输请求

我们在sap中某一个系统中更改或创建代码、事务码等会保存在自己请求中,测试无误后想要在同步到其他系统里面,就得传输请求。SE10:先释放内层请求再释放外层请求,释放后查看状态。事务码STMS 筛选出自己的请求。3、回到300里面查看传输记录。1、在300系统里面释放请求。2、到500接受请求。

2024-11-24 15:47:59 365

原创 维护数据库表数据的三个方法

必须在数据库内先行设置,界面编号从0-9999,每个函数组中不能重复;设置完毕后,进入SM30,输入表名,可以维护数据。3、SM30通过批量维护视图查看表内容,需要通过generator生成。1、SE11->contents查看表内容,默认为单条修改。2、SE16N查看表内容,最好不在此事务码下进行修改。

2024-11-21 11:36:34 308

原创 SAP-LSMW 批量录入

进入LSMW,点击口可以新建对象,点击执行已创建对象,清单中依序执行即可。主要分成两部分:单次操作录屏(相当于示范) + 批量上传。例:对 MM02 修改物料主数据中的基本数据 批量修改。③创建本地文件,把需要批量修改的物料和物料描述放入,跳过定义值,直接进入第七条Specify Files。选中上图第一条,点击执行,进入下面界面。②继续执行,执行完保存退回继续下一步。,给需要改动的定义一个结构,保存。回退到下面界面,点击带出,保存。可以去MM02里面查看是否修改。

2024-11-20 09:07:33 582

原创 SMARTFORMS函数调用完整示例:打印工厂物料信息

这里用到强制分页,当物料库位不同时分页。首先对需要强制分页的变量进行全局定义。首先规划想要打印的效果和信息,这里示例的是想要打印物料数据库里面的信息。这里提一个额外的,如果不想出现下面的提示栏,可以在程序里面写上默认。①对相关数据表创建表结构:SE11。

2024-11-19 19:57:44 605

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除