12 2021 档案
摘要:**前言:**在项目中碰到一个需求,打印的纸张不是标准的格式,需要自定义格式,于是在这里记录一下过程。大致分为三个步骤: 定义页格式 定义格式类型 分配打印设备 1.定义页格式 事务码SPAD 2.定义格式类型 3.分配格式类型给打印设备 看到以上则表示已经分配完成,此时在SmartForms里就可
阅读全文
摘要:**前言:**开发表单的过程中,遇到一个问题,smartforms编辑器打开是WORD文本,这是在S4系统上已经默认了使用Word作为表单编辑器,但是这样就无法使用文本拖拽功能,必须要想办法改回以前的文本编辑器,在网上找了一个方法,在这里记录一下。 在类CL_COS_UTILITIES的IS_S4H
阅读全文
摘要:**前言:**这里面介绍一下SmartForms里面使用Template的情况下如何固定几行显示数据。 1.全局定义参数 全局定义两个变量用于控制输出:G_PAGE和G_COUNT. G_PAGE用于换页标识;G_COUNT用于统计当前显示行数; 2.创建循环主体 2.1 创建循环 2.2 创建程序
阅读全文
摘要:**前言:**在打印表单时,有时候需要控制一些字段的输出格式,比如符号位在前、不要前导零、输出几个小数位等等,这些都可以在表单里进行控制,进要输出的字段设置指定的格式,下面列举了常用的一些格式控制样式。 syntax 说明 & field(*)& 如果该字段类型是abap数据字典里定义的类型,系统将
阅读全文
摘要:**前言:**当我们在使用 pip 下载程序包的时候,pip 默认是从官网下载的,而 python官网服务器是在国外,所以访问速度非常” 感人”, 有时候还会出现” 各种问题”。这时候可以将 pip 的下载源更改为国内的开源镜像源,可以大大提高我们的下载速度。 ### 1.常用的开源镜像 - 清华大
阅读全文
摘要:**前言:**在7.4版本以后,SAP ABAP语言做出了一些调整,让一些语法书写起来更加方便快捷,类似于其他语言的语法糖,不过一些稍微老的系统版本还不支持这些新写法,所以在使用方面主要看个人的习惯了,当然以前的写法肯定是要会的,这个新的语法作为了解也是可以的,今天就记录一下目前本人所接触的一些新语
阅读全文
摘要:8.1 宏的定义和调用 要定义包含部分源代码的宏, 使用 DEFINE 语句,用法如下: DEFINE <macro>. <statements> END-OF-DEFINITION. 这就定义了宏 <macro> 。必须在 DEFINE 和 END-OF-DEFINITION 之间指定完整的语句。
阅读全文
摘要:7.1 创建内表 TYPES : BEGIN OF <f> OCCURS <n>, <component declaration>, .............. END OF <f>. DATA: <itab> TYPE STANDARD OF <f>, ... <wa> TYPE <f>. 其作
阅读全文
摘要:**前言:**有同事在项目上遇到一个需求,需要将打印的SmartForms保存为PDF。在标准的事务码PDF!里面有实现相应的功能,但是文件名和路径不能自定义,不能满足客户的要求,我听了,觉得有趣,于是决定研究下,通过debug发现,标准事务码PDF!是调用了几个函数将表单数据进行了转换,然后输出为
阅读全文
摘要:**前言:**前两天在逛GITHUB,偶然看到一个开源项目JSON2ABAPType,在好奇心的驱使下,点进去看了下,看了介绍是基于JSON数据创建ABAP结构,大感有趣,于是去看下详情介绍:介绍一 和 介绍二。感觉还不错的样子,于是决定亲自动手试一试,于是便有了这一篇介绍。下面说一下使用详情。 1
阅读全文
摘要:**前言:**在项目中碰到过这样的需求,用户的EXCEL文件模板里面有多个SHEET页,每个SHEET页的数据是不一样的,每一份数据对应单独的需求,这样我们就要根据具体的业务需求读取相应SHEET页的数据,在我的上一篇随笔扩展EXCEL上载函数中提到过如何自定义EXCEL上载函数针对指定SHEET页
阅读全文
摘要:**前言:**在日常的开发批导报表中,使用的excel上载标准函数ALSM_EXCEL_TO_INTERNAL_TABLE,其中存放数据的内表结构,行列数4位长度最大只支持到9999,这样在遇到一些数据量比较大的文件就不满足需求了,所以就需要对该函数进行扩展,保证它能够满足我们的需求。 扩展步骤:
阅读全文
摘要:**前言:**熟悉JAVA开发的小伙伴肯定都知道Eclipse,这是一款强大的开发工具,支持多种语言,利用它,基本可以满足我们的开发需求,当然它也支持ABAP开发,只要安装了插件ADT(ABAP Development Tool),就可以连接SAP系统进行开发了。接下来就介绍如何使用。 1.下载Ec
阅读全文
摘要:**前言:**在开发中,有时候需要直接使用已经存在的报表数据,在这里介绍一下如何调用其他程序获取数据。 案例:SUBMIT 调用程序获取ALV数据 *****************示例****************** "数据定义 FIELD-SYMBOLS: <dyn_alv_data> TY
阅读全文
摘要:**前言:**在日常报表程序开发中,报表的工具栏是必不可少的,如何设置GUI 状态呢?今天就跟大家说一些种简单的方法。 步骤: 方式一 1.T-CODE:SE90 2.获取标准GUI STATUS 3.复制到目标程序 4.激活 在目标程序工具栏->显示对象列表->GUI 状态->激活接口 方式二 1
阅读全文
摘要:**前言:**在开发的过程中经常用到一些BAPI函数,为了便于查找,于是在这里记录下。如果有广大朋友使用的BAPI在这里没有记录到,欢迎评论补充。 SD模块 1.销售订单: BAPI_SALESORDER_CREATEFROMDAT2 普通销售订单 SD_SALESDOCUMENT_CREATE 销
阅读全文
摘要:**前言:**项目需求,需要在客户主数据创建和修改的时候将数据通过接口发送给第三方系统,找了一些增强,但是有些缺失数据,不满足,于是在网上找了,偶然看到BTE,学习了下,正好满足自己的需求,于是在这里将过程记录下。 **BTE增强:**BTE增强模式是通过对SAP中预留的标准事件进行增强,这些事件在
阅读全文
摘要:前言:在项目上遇到一个需求,当销售订单的状态是已审批的时候,用户使用VA02修改订单时,需效验用户是否有权限更改订单。通过查找源程序,发现了一个隐示增强点:USEREXIT_CHECK_VBAK, 通过debug发现正好满足需求,于是就决定使用该增强点。 增强实施步骤: 将鼠标光标放在FORM US
阅读全文
摘要:**前言:**有时候可能不需要通过第三方集成服务传输数据,而是通过WebService直接与接收方进行数据传输,这里介绍一下如何创建SAP的RFC Web服务。 1.创建RFC测试函数 注意:这里的函数必须是RFC函数,普通函数是不能创建 WEB Service 服务的。 函数创建完毕。 2.创建测
阅读全文
摘要:六、逻辑流控制 6.1 比较运算符 要比较所有的字段类型,可以在逻辑表达式中使用下列运算符: < 运算符 > 含义 EQ 等于 = 等于 NE 不等于 <> 不等于 >< 不等于 LT 小于 < 小于 LE 小于等于 ⇐ 小于等于 GT 大于 > 大于 GE 大于等于 >= 大于等于 操作数可以是数
阅读全文
摘要:五、字符串 5.1 移动字符串 5.1 .1 按给定位置数移动字符串 要按给定位置数移动字 段内容, 使用 SHIFT 语句,用法如下: SHIFT <c> [BY <n> PLACES] [<mode>]. 该语句将字段 <c> 移动 <n> 个位置。如果省略 BY <n> PLACES ,则将
阅读全文
摘要:四、数值运算 要处理数值数据对象并将结果值赋给数据对象,可以用 COMPUTE 语句或赋值运算符 =。 COMPUTE 语句语法如下所示: COMPUTE <n> = <expression>. 关键字 COMPUTE 可选。 4.1 基本算术运算 ABAP/4支持四种基本算术运算,同时还支持乘方计
阅读全文
摘要:三、赋值 在 ABAP/4中,可以在声明语句和操作语句中给数据对象赋值。在声明语句中,将初始值赋给声明的数据对象。为此,可以在DATA 、常量或 STATICS 语句中使用 VALUE 参数 。 要在操作语句中给数据对象赋值,可以使用: MOVE 语句 和 WRITE TO 语句 ,对应于赋值运算符
阅读全文
摘要:2.1 在屏幕上定位Write输出 通过制定字段名称前面的格式规范,可以在屏幕上定位 WRITE 语句的输出: WRITE AT [/][<pos>][(<len>)] <f>. 此处: 斜线/表示新的一行 <pos> 是最长为三位数字的数字或变量,表示在屏幕上的位置 <len> 是最长为三位数字的
阅读全文
摘要:一 、数据类型和对象 在ABAP中可以使用与标准数据声明相似的语法处理数据类型,而与数据对象无关。在程序中必须声明要使用的全部数据对象。声明过程中,必须给数据对象分配属性,其中最重要的属性就是数据类型。 1.1 基本数据类型 数据类型 默认大小 有效大小 初始值 说明 C 1 1 - 65535 S
阅读全文
摘要:前言: 项目需求,在IW31抬头界面增加自定义字段检修信息、检修后技术状况。 用到的增强: -CMOD: IWO10018 ——维护订单:订单抬头的用户字段 屏幕增强步骤: 1.在表AUFK的CI_AUFK结构中添加自定义字段 2.CMOD创建增强实施 2.1 新建项目ZPM003分配实施 然后激活
阅读全文
摘要:前言:遇到一个需求,双击汇总ALV的某一行,穿透到第二屏显示明细ALV界面,之前是通过调用两次ALV函数实现该效果,但是这次想换另一种方式实现,恰好在网上看到cl_salv_table的使用案例,于是研究了下,正好在我的项目中用到,下面说下用法。 cl_salv_table使用 1.简单使用步骤:
阅读全文