
SAP-ABAP
文章平均质量分 68
irisawy
这个作者很懒,什么都没留下…
展开
-
【读取工单长文本函数和分割字符串至内表函数的使用方法】
定义了接收数据的内表 lt_text_n,这个表的每一行能存储一个长度为 72 个字符的字符串。SCMS_STRING_TO_FTEXT这个函数的作用是将长文本内容分割至内表里。用到的函数是READ_TEXT,需要的参数根据工单组件长文本抬头信息获得。可以看到转换的原始字符串数据是84个字符组成的字符串。LENGTH 参数返回的是内表中的字符数。可以看到内表中转换前的文本被分割成了两行。原创 2025-01-09 17:10:35 · 624 阅读 · 0 评论 -
【SAP权限控制】
SAP操作用户能在SAP系统中做哪些操作。比如用户A只能查看物料信息,在SAP系统中就分配事物码MM03给A。SAP的权限控制是控制到字段级的,换句话说,其权限控制机制可以检查你是否有权限维护某张透明表的某一个字段。原创 2025-01-07 13:55:15 · 1136 阅读 · 0 评论 -
【获取工单状态函数STATUS_TEXT_EDIT】
需要的参数:在CAUFV表中查询订单的objnr,并设置其他必要的参数,如客户端(client)、语言(spras)等。STATUS_TEXT_EDIT 用于获取订单状态,并将其拼接成一个字符串,这个字符串显示的是前台订单上看到的状态。原创 2025-01-03 09:40:18 · 250 阅读 · 0 评论 -
【SAP时间字段值为零时不显示】
显示时间的字段数据类型为TIMN,即使不为该字段赋值,底表中该字段的值为初始值000000。设置字段目录的NO_ZERO属性为’X’,零值时不显示0。为NO_ZERO属性赋值为X。原创 2024-12-31 09:53:07 · 474 阅读 · 0 评论 -
【点击跳转事件用法】
AND SKIP FIRST SCREEN能够跳过输入工单号直接执行程序。进入co03在需要的字段处按F1,查看技术信息中该字段的参数ID;p_rs_selfield-fieldname 赋值为字段名称;点击工单号进入DEBUG,可以看到p_ucomm参数的值。1.在fieldcat设置热点效果,不设置也行。在USER_COMMAND事件中设置断点。为AUFNR字段的热点属性赋值。原创 2024-12-30 16:52:35 · 612 阅读 · 0 评论 -
【SAP内存管理和程序间调用】
使用CALL TRANSACTION/SUBMIT/CALL DIALOG等命令调用其他程序时,会生成内部会话并共享ABAP内存中数据。在TYPE1报表程序的选择画面上的参数或者select-option变量,使用的是MEMORY ID来连接字段与参数;使用ABAP内存时可以在程序级别上任意指定内存ID名,不需要参数ID。在每个程序里使用的内存有ABAP内存和SAP内存。全局内存,用户终端会话内的所有外部会话都可以访问。SAP内存在外部会话中的所有内部会话中可以共享。同一个会话中执行的所有程序共享的内存。原创 2024-12-24 09:54:44 · 742 阅读 · 0 评论 -
【 LOOP AT 语句中AT FIRST,AT LAST,AT NEW和AT END OF的用法】
注意:在输出时按采购订单分组,必须在循环之前对内表按 EBELN 排序,这可以确保相同的字段值相邻,当处理每条记录时,只有当 EBELN 改变时,AT NEW 控制结构才能正确触发。AT LAST 相对应于 AT FIRST,用于在处理内表的最后一条数据时执行特定操作,当循环的最后一行被处理时,会执行 AT LAST 下面的代码。用于检测到内表中的关键字段变化时执行特定操作,在循环过程中,如果当前条目的关键字段值与前一个条目不同,则会执行 AT NEW 下面的代码。用于在首次进入内表循环时执行特定操作。原创 2024-12-20 10:15:26 · 344 阅读 · 0 评论 -
【SAP自动编号工具SNRO的使用方法】
SAP凭证号码的指定分为外部给号和内部给号。Internal number range即内部给号,指系统根据预先维护好的号码范围(只能是阿拉伯数字)依序给号,给出已有数字的下一个编号。External number range即外部给号,后台配置时指指定一个号码范围(可以仅含阿拉伯数字,也可以阿拉伯数字和字母混合,前台业务处理时,操作者仍需要人为指定给系统一个可用编号。SAP提供了自动编号工具,能根用户需求设定并自动生成一组唯一的编号。原创 2024-12-19 16:08:02 · 878 阅读 · 0 评论 -
【OO ALV行、列和单元格设置颜色和可编辑属性】
文章目录概述设置fieldcat设置layout颜色设置颜色值以列为单位以行为单位以单元格为单位可修改属性设置以表单为单位以列为单位以单元格为单位概述OO ALV,是指通过面向对象(object-Oriented)的方式实现的ALV输出基本使用原理:通过界面调用,在界面的Customer Control控件中,输出ALVCLASS ALV优势:使用面向对象的编程方式使用容器,可以在一个界面中指定位置进行ALV的输出设置fieldcat定义:内表:LVC_T_FCAT结构:LV原创 2024-12-18 14:23:12 · 2009 阅读 · 0 评论 -
【ABAP——面向对象】
从SAP R/3 4.0版本开始,ABAP就引入了面向对象的开发概念。ABAP语言的发展面向对象解决方法中,重点放在了对象结构化或抽象化类的优点。原创 2024-12-12 15:01:15 · 1237 阅读 · 0 评论 -
【ABAP——DAILOG_3】
与它们不同,CALL SCREEN是将正在运行的界面挂起,进入next screen,当使用LEAVE TO SCREEN 0时,才能返回原来的界面;而LEAVE TO SCREEN是立即结束本画面的执行,进入next screen,无法再返回原来界面。为创建的TableControl控件增加列可修改按钮,设置功能码。界面中的控件定义为RLGRAP-FILENAME。作用是结束当前屏幕并跳转到指定的下一屏幕。注意界面中的控件定义为D类型。函数:F4_FILENAME。函数:F4_DATE。原创 2024-12-10 16:52:56 · 497 阅读 · 0 评论 -
【通过错误消息DEBUG定位到增强】
运行程序进入调试模式,自动跳转到调试页面,创建监控点。定位成功,点击程序事件按钮修改增强处代码。按F8定位至消息报错的位置。原创 2024-12-03 16:45:19 · 317 阅读 · 0 评论 -
【ABAP——DAILOG_2】
用户通过界面输入数据,数据通过屏幕控件传递到ABAP/4程序中的变量,程序在PBO中准备数据并显示界面,用户回车后,PAI处理用户输入的数据,按顺序依次执行PAI中MODULE,并将结果反馈到界面。输入Tabstrip Name:Tabstrip Control控件名称(例:TS_TAB)Tabstrip可以实现在某个界面中,通过tab页的形式来显示多个界面。激活程序后,可以查看到程序中增加了子界面的编号,可以依次进入界面。在数据定义/PBO/PAI中做相应变更,也可不变更。原创 2024-12-03 16:24:23 · 1122 阅读 · 0 评论 -
【SMW0 上传EXCEL模板报错:无法分配给模板的MIME类型】
3.点击创建,输入上传模板名,添加对模板的描述,点击导入。1.输入SMW0事务码,选择第二项,点击查找。4.发现报错无法分配给模板的MIME类型。保存后为模板分配包和请求,上传模板成功。5.找到设置,选择定义MIME类型。2.输入存放模板的包,点击执行。6.新建MIME类型。原创 2024-11-29 16:48:50 · 380 阅读 · 0 评论 -
【不同状态的生产订单在表CAUFV的字段如何区分】
在查询不同状态的工单时,如报表查询只需要取CRTD状态生产订单或REL状态的生产订单,工单数据量大的时候取数就会很慢,因此需要在初次取数时对工单数据进行筛选,将CAUFV底表的一些字段作为查询条件,可以减少内表取到的,优化数据处理速度。原创 2024-11-28 16:12:09 · 483 阅读 · 0 评论 -
【ABAP——DAILOG_1】
用户可以访问的部分是Screen,用户对界面进行操作,相应的操作是通过Screen中的逻辑流控制,而数据声明和界面逻辑代码实现部分是在ABAP程序中。(1) 用户访问界面,对界面进行操作,相应的操作是通过逻辑流控制的。在Screen Flow Logic中设定在Screen显示的逻辑处理和显示后对界面进行相应操作的逻辑处理。在Screen Layout Designer和Element List中定义界面中的元素(位置及属性)ABAP List代码实现(例:选择界面的创建)界面(Screen)原创 2024-11-25 17:22:44 · 912 阅读 · 0 评论 -
【ABAP——批量导入】
在SAP系统中,如果想对一个事物码(TCODE)进行反复操作,从而达到批量数据处理的目的,这就是批量导入。批量导入的目的是重复的操作一类数据,从而用程序模拟业务人员的操作,节约时间;批量导入方法有很多种,从原理上可以分为两大类;一类是录制屏幕,一类是功能调用。原创 2024-11-25 09:38:06 · 1006 阅读 · 0 评论 -
【ABAP——在ALV报表中调用表单打印信息】
定义数据接口,用于传递学生信息接口字段包括学员ID、姓名、考勤日期等。接口字段如下。原创 2024-11-15 17:18:04 · 1204 阅读 · 0 评论 -
【ABAP——ALV报表开发】
AVL报表是ABAP最重要的报表工具,其英文全称Abap list viewer ,其输入结果以行和列展示,集成的功能有排序,求和,过滤,列求和,隐藏等输出的格式也有EXCEL,水晶报表,CSV文件等。展现的方式有简单list,连续等级list,树等。声明使用的类型池:ABAP、OLE2和SLIS。声明局部变量,包括用于ALV布局的GS_LAYOUT和字段目录的GS_FCAT,以及一个表类型的GT_FCAT。OLE2,SLIS.*& 包含 Z36193_03_00_D01。原创 2024-11-13 17:52:02 · 1856 阅读 · 0 评论 -
【ABAP——REPORT程序事件】
屏幕列表显示期间,用户选择了一个自定义功能码的函数时被触发,这个事件允许开发者定义自定义功能码,并在用户通过这些功能码执行操作时执行特定的代码块。相当于程序的PBO(Processing Before Output)事件,与 AT SELECTION-SCREEN 事件不同,AT SELECTION-SCREEN OUTPUT 事件不依赖于用户输入,它总是在选择屏幕显示之前触发。只能书写在可执行程序中,这个事件是在程序初始化过程中起作用的事件,一旦程序初始化,完成以后该事件将不再对程序产生影响。原创 2024-11-11 15:43:01 · 1153 阅读 · 0 评论 -
【ABAP内表操作】
将行插入到内表中指定的位置,需要使用INSERT语句。对于索引表,可以指定某行的索引,则新行将插入到该索引所代表的行之前;对于哈希表,不能指定行的索引,系统会按照关键字将新行插入其特殊位置。给内表插入行可以为单行,也可以为多行,甚至可以把整个内表的数据插入到其他内表中。这个语句的作用是将工作区里的关键字段值跟内表里的字段比较,如果相同的话不在内表里追加行,而是将工作区里的数值字段值跟内表里的相关行的字段值累加,然后将工作区里的数字值更新到内表的相关行里;原创 2024-11-07 17:01:32 · 1049 阅读 · 0 评论 -
【ABAP基础语法】
表类型是ABAP中的另外一种复杂类型,该类型的数据对象称为内表。表类型跟结构化类型相似。内表所占的内存不能在定义时确定,它会随着数据的增加不断的扩充它所需要的内存。Initial size n:如果n为0或者不指定的话,程序会为内表分配初始化为8K大小的内存。结构类型属于一种复杂类型,由多个数据元素组成,参照结构类生成的数据对象称为结构体。在局部类型/对象的声明中,所有类型都可以进行参照,因此ABAP中存在结构的嵌套。在ABAP语句中,使用变量之前,必须针对变量进行声明。Tabkind:表类型(标准。原创 2024-11-07 11:15:52 · 946 阅读 · 0 评论 -
【ABAP-创建Message class消息类】
6.维护程序,REPORT 程序名 MESSAGE ID 消息类名写在程序的第一行,调用消息时用MESSAGE S消息编号。1.使用SE91进入消息维护界面,输入创建的消息类名,点击创建。S成功 E错误 W警告 I消息框 A错误 X系统错误。注意:MESSAGE 后的字母表示不同的消息类型。4.可以看到左下角消息类已保存,消息类创建成功。7.运行程序,显示运行结果且左下角弹出消息。2.点击消息,为消息类分配包,点击保存。5.在消息页签维护消息,点击保存。3.自动带出请求,点击继续。原创 2024-11-05 17:17:00 · 246 阅读 · 0 评论 -
【ABAP-数据字典】
3.在字段页签维护表字段信息,因为MANDT是系统内置的,可以选择MANDT数据元素,其他字段需要点击内置类型维护相关信息(点击内置类型后会显示数据元素)数据元素定义了数据的类型、长度和字段属性,对于在多个字段,如果指向相同的涵义,可以通过参照数据元素定义类型长度及文本保持统一,外键的字段必须有数据元素。有两种方式创建域,可以使用SE11,选择域输入域名点击创建,这里以在数据元素中选择域(不存在)的方式定义数据类型为例创建域,域名和数据元素名可以重复。原创 2024-11-05 17:16:35 · 977 阅读 · 0 评论 -
【ABAP-REPORT常用后缀、WRITE输出基础语法】
WRITE AT 后加/表示换行,num1表示结果从屏幕左端的第num1位开始输出,num2代表输出内容有前num2位会被显示。可以看到运行结果会弹出消息,标准表头没了,每行只输出5个字符且每三行输出语句分隔一次。这里WRITE后加:可以连续输出内容,中间用逗号分开,以英文句号结尾。1.WRITE:’输出内容1’,‘输出内容2’,‘输出内容3’.2.WRITE AT /num1(num2) ‘输入内容’4.LINE-COUNT 限制每页的行数。3.LINE-SIZE 限制每行的长度。运行上述代码结果如下。原创 2024-11-05 10:38:31 · 689 阅读 · 0 评论 -
【ABAP-创建包、程序、事务码】
3.输入之前建好的程序名,在GUI支持下选择兼容方式,至少选择用于Windows 的 SAP GUI ,也可以将GUI支持都选上,点击保存。3.跳转至本地工作台请求页面,点击创建请求,跳转至创建请求后输入请求的简短描述后点击保存。1.使用SE38事务码进入ABAP编辑器页面,输入程序的名字,点击创建,进入下一页面。1.使用SE21事务码进入包构建器页面,输入包的名字,点击创建,进入下一页面。2.保存后再点击激活按钮,可以不保存直接激活,但不能激活后又点击保存。6.跳转至更改包页面,点击保存,页面弹出消息。原创 2024-11-04 17:02:10 · 1267 阅读 · 0 评论 -
【SAP ABAP-创建、修改、删除变式】
与创建变式类似,输入要调用的程序事务码,选择之前创建好的变式名称,点击更改。输入调用程序事务码和之前建好的变式名称,点击垃圾桶图标。使用事务码SE38,进入ABAP编辑器页面。输入调用变式的程序事务码,点击变式按钮。程序事务码自动带出,点击创建按钮。输入创建的变式名称,点击创建。输入变式的描述,点击保存。原创 2024-10-31 14:14:49 · 1230 阅读 · 0 评论