自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

孤注一掷的博客

开发笔记

  • 博客(33)
  • 收藏
  • 关注

原创 READ_TEXT 函数获取某界面的长文本内容

业务场景:比如一个ALV上的EBELN采购订单,我想知道在ME23N时候,这个采购订单号对应的文本是什么内容。第一个文本框内容获取:双击上个截图第一个文本区域第2个文本框内容获取方法一样:这个可以看到文本对象是表EKPO下面就用文本2做一下举例:`loop at lt_ekpo into ls_ekpo .data lv_name type thead-tdname.data: gt_lins type table of tline,gs_lins type tline,c_text

2021-03-03 14:39:10 402

原创 字符串处理

一、 判断字符串1是否在字符串2里可以找到?DATA: str1(50) TYPE c VALUE '51.000', str2 TYPE string VALUE '.0123456789', str3 TYPE char20.str3 = str1.IF str3 CO str2. MESSAGE 'Correct' TYPE 'S'.ELSE. MESSAGE 'Error' TYPE 'S' DISPLAY LIKE 'E'. LEAVE

2021-03-03 14:28:44 410

原创 【文件上传下载】 上传一个文件夹(含有各种格式的文件,比如EXCEL,TXT,WORD,图片等等)

DATA: lv_directory TYPE string. DATA filecount TYPE i. lv_directory = p_pic. CALL METHOD cl_gui_frontend_services=>directory_list_files EXPORTING directory = lv_directory* filter ..

2021-03-02 15:27:59 132

原创 自动计算税金 CALCULATE_TAX_FROM_GROSSAMOUNT

前面介绍过 在F-02录入会计凭证时候,使用bapi:BAPI_ACC_DOCUMENT_POST,如果要求导入的数据里增加税码 TAX_CODE那么如何根据税码计算税金呢:使用函数:CALCULATE_TAX_FROM_GROSSAMOUNT DATA: lt_tax_info LIKE TABLE OF rtax1u15. DATA: ls_tax_info LIKE line OF lt_tax_info. REFRESH lt_tax_info[]. CALL FU

2021-02-01 16:33:05 1306

原创 【ABAP-SM30维护表】 增加搜索帮助

结果图:实现方法:找到SM30屏幕,一般在SE11里面参考的数据元素什么的有这样的辅助帮助的话,SM30直接设置为SHOW AT SELECTION就可以有搜索帮助了但是有的没有的话,设置完F4按钮还是找不到值的这样应该加代码进行实现,这里和之前我写的tablecontrol是同一个实现方法。或者就是se11 加外来键什么的。未完待续。。...

2021-01-26 17:21:55 1419

原创 【性能优化】SE30/STA------程序运行时间分析

事务码: SE30(旧的)SAT (新的)一、SE301、总体分析时间占比2、详细分析输入要被测试的程序/函数名称点击 执行按钮这里需要说明的是:时间单位:微秒。Number: 被调用的次数。Gross Time : 该语句,子程序以及被其调用的子程序,语句所消耗的时间。(以微秒记)=: 如果前后列分别为Gross Time 与 Net Time 的话,该列会显示为“=”号。Net time:该语句,子程序不包括被其调用的子程序,语句的消耗时间。(以微秒记)Gross %:显

2021-01-26 17:05:34 453

原创 【ABAP-SM30维护表】增加某列必输

结果图:实现方法:系统–状态–屏幕

2021-01-26 15:59:00 884

原创 工作台请求和定制请求

今天对一个view视图进行了修改,在存请求时候,已有请求找不到,非要再创建一个定制请求。总结:工作台请求:建一个ABAP程序之类的,一般是跨 client的修改;定制:就是对配置的修改,比如 修改公司代码,一般是client相关的修改。比如dev 开发机有300(开发客户端),和100(测试客户端),这里要想再DEV100里面进行测试话,需要在100客户端里输入SCC1传定制请求的SCC1SCC1 是用于在同一系统下不同clients之间传输内容,内容通过传输请求打包;SCC4 是关于同一系统

2021-01-26 14:49:01 1107

原创 【前台操作】MIGO创建物料凭证,以及查看、取消

事务码:MIGO1.选择A01收货,输入采购订单号,回车2.勾选“项目确定” 在序号这里输入序列号,检查,过账即可生成物料凭证号后,可以再取消这张收货凭证ME23N 查看所有生成的物料凭证

2021-01-26 14:34:49 2453

原创 ABAP-- 你是不是还想从右边开始截取固定几位字符串?

大佬请绕行~~~~~今天有人问我,字符串怎么右截取?为什么要右截取?因为我也不知道我这个字段取出来的值是几个字符。如果是数字就还好,我直接让前导零满位,再从左边某位开始截取,可是如果是字母开头,前导零还是不能满位啊?首先摆个图:其实我们可以这样想:比如我要从右边截取4位。这个字段是mseg-WEMPF 是CAHR12。先计算出这个字段的长度lv_len,然后减去4,等于要从第几位开始截取lv_cut_begin。然后按照左截取的方式去截取就好了eg: +8(4)从第八位开始截取

2021-01-14 16:34:02 3466

原创 AT EXIT-COMMAND怎么用 .

废话不多说直接放代码PROCESS BEFORE OUTPUT. MODULE STATUS_0100.*PROCESS AFTER INPUT. MODULE USER_COMMAND_0100 AT EXIT-COMMAND. MODULE user_command.在使用AT EXIT-COMMAND语法时候,记得这里控制得按钮要给一个’E’类型得退出命令。其实这里不用告诉是哪个按钮也完全可以得,只要指定E得按钮都会退出。。如果不给E命令得话,那就不要写在 带有AT EXI

2021-01-12 16:29:50 903

原创 【debug】SAP-ABAP-DEBUG- 监测点Watchpoints 遇到得那些事

在数据量大的时候,如何使用监测点Watchpoints。跳到指定位置。比如我要跳到LOOP内表得某个字段等于几时候停下。**但是取消引号,或者句号就可以执行成功。**这里如果出现这样得问题,可以按照这样得方式改一下。例2:比如要跳到sy-tabix = 3时候停下...

2021-01-12 16:17:12 1337

原创 定制化处理标准程序

如果标准程序比如SCU3、不能满足用户需求时候,需要再此基础上再此基础上装饰一下,那么怎么做呢?之前很多人会拷贝一份标准程序进行修改,这样很容易把标准程序也搞炸了,并且改起来也很复杂。现在我们可SUBMIT标准程序,得到数据后,对数据进行巧妙处理就可以得到自己想要得东西。文章目录前言一、SUBMIT怎么用?二、步骤1.将Submit的salv设置为不显示模式2.submit 标准程序(拷贝的标准程序名)3.cl_salv_bs_runtime_info=>get_data_ref()取得结果.

2020-12-28 10:09:10 81

原创 tablecontrol---非向导---手动创建复选列

1.先定义要创建的传给tablecontrol的内表,在此就定义好复选列

2020-12-28 09:40:56 128

原创 SAP 数据库表修改,你知道几个?

文章目录前言一、SE11/SE12二、SE16三、SE16N四、SE37总结前言SAP debug 修改底表,下面介绍四种方式:1.SE11/SE122. SE163. SE16N4. SE37。一、SE11/SE12(适用于逐条修改)1.SE11 打开表内容,2.调整展示格式为:SE16标准列表调整方式:设置-----用户参数—数据浏览器----se16标准格式勾选要修改的那条数据点击眼镜展示进入后 输入 /h回车,再回车。然后改code为EDIT。 F8执行完,就可

2020-12-16 16:17:40 1981

原创 选择屏幕-时间范围检查 (不超过几个月之类的)

在选择屏幕输入时间范围时候,需要对这个范围进行就检查,比如输入时间不能超过七天。SELECT-OPTIONS : s_datum FOR sy-datum,INITIALIZATION. PERFORM F_CHECK_DATUM.form F_CHECK_DATUM. DATA:lv_date TYPE i. CLEAR:lv_date. lv_date = s_datum-high - s_datum-low. IF lv_date &gt

2020-12-10 16:16:18 151

原创 选择屏幕- listbox 下拉框设置

很多需求都会使用下拉框SELECTION-SCREEN BEGIN OF BLOCK b1 .PARAMETERS bukrs TYPE t001-bukrs.PARAMETERS p_ordcon TYPE char50 AS LISTBOX VISIBLE LENGTH 50 DEFAULT '01' OBLIGATORY.. “默认选择全部 用key值SELECT-OPTIONS : s_datum FOR sy-datum, s_u

2020-12-10 16:00:45 444

原创 tablecontrol之 全选、排序、过滤、

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、全选按钮1.全选2.取消全选二、过滤按钮1.过滤1.取消过滤三、排序按钮1.降序2.升序四、删除五、上传总结前言tablecontrol 和ALV有些不同 ,因为很多标准按钮是不能直接用的,都是需要自己挂代码写的,那么下面我就来介绍一下,常见的几个按钮需要怎么写。提示:以下是本篇文章正文内容,下面案例可供参考DATA ok_code TYPE sy-ucomm.DATA:gv_lines TYP

2020-12-04 16:26:24 507

原创 创建消息类

事务码:SE91比如这里为程序‘zhceshi’ 创建消息类‘ztest’填写好消息文本。在每次应用时候有两种方式1.直接在消息提示那行就加上消息类(ztest)2.在程序刚开始引用在report程序里面就开始引入 在写消息时候就不用再写类啦...

2020-11-13 13:30:28 127

原创 关于 REUSE_ALV_FIELDCATALOG_MERGE 用法

1.定义好结构的I_STRUCTURE_NAME 传入se11里定义好的结构名 call function 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING I_STRUCTURE_NAME = '结构名' changing ct_fieldcat = lt_fieldcat* EXCEPTIONS* INCONSISTENT_INTERFACE

2020-09-15 15:15:19 3132 1

原创 SAP-ABAP-ALV复选框设置

首先我们要知道ALV有两种写法,一种是FUCTION(FM),另一种就是OOALV了,所以设置ALV复选框也是有两种方法。在OOALV时候直接在layout部分加这行代码就好了。 gs_lout-sel_mode = 'D'.注:通过结构 LVC_S_LAYO-SEL_MODE的了段来设置,这个字段对应的值有以下5个:1、sapce,等同于B,默认的设置。2、A(行与列的选择,无法选择单元格)。3、B(单选,不可以多选行,不可以多选单元格)。4、C(多选行、列,不可以多选单元格)。5、

2020-08-20 09:51:07 9338

原创 文件上传下载小贴士

导出到本地时候提示选择路径的函数: CALL FUNCTION 'WS_FILENAME_GET' EXPORTING mask = ',*.XLS,*.XLS,*.XLT,*.XLT,所有文件,*.*. ' mode = 'O' title = '选择输出文件' IMPORTING filename = p_file EXCEPTIONS

2020-08-05 11:55:51 137

原创 DOI技术---OAOR--文件上传下载-SAP端(2)

上一个博客是直接将EXCEL像展示ALV那样 展示在SAP端,那如何下载本地,再上传展示成ALV那样呢,——其实这样的需求很多,可能由于在SAP端编辑偶尔断网了,导致刚编辑的没有保存再进去后又要重新编辑,索性直接吧模板下载到本地去编辑好啦。效果图:实现方法:1.上传:1.1 获取路径(电脑本地路径)用的方法:WS_FILENAME_GETDATA:p_file TYPE rlgrap-filename . PERFORM frm_get_file USING p_file.

2020-08-05 11:45:45 1226

原创 SAP-ABAP-ALV- 设置某一列排序/过滤

无论是fuction ALV 还是OOALV 其实在设置过滤时候 都是把gt_sort的内表传进去就好,目前我没见过OOALV设置过滤时候,需要声明类、实例化等操作。如果你写过,欢迎指导,我们一起交流啊~~~~、首先定义过滤内表,它参照的参考结构是 lvc_t_sort.DATA: gt_sort TYPE lvc_t_sort。设置排序的子例程,up表示升序 down表示降序* 字段排序 PERFORM frm_sort_matnr . FORM frm_sort_matnr.

2020-06-11 13:39:07 2182

原创 OOALV删除工具栏按钮之按钮名称

1.ALV菜单栏细节按钮,你首先必须选中列表中的一行,然后点击它的话,就会弹出一个窗口,显示选中行的细节内容。(另外:你双击你要选择的行,也可以显示细节)按升序排列,首先选中一列,然后再点击它,就可以看到该列是按照升序重新排列。按降序排列,首先选中一列,然后再点击它,就可以看到该列是按照降序重新排列。设置过滤器,通过设置它可以达到筛选的目的,以列名称作为筛选的筛选标准,填入过滤器相应的标准值,然后就可以筛选出满足自己条件的记录。打印预览,点击它之后,就可以预览一下将要打印内容的布局情况。Mic

2020-06-11 10:05:04 621

原创 FunctionALV遇到修改内表操作

在创建function-ALV创建的alv grid时,有时需要修改alv中的数据。那修改后如何将数据传到alv多所对应内表?可以用user_command事件来控制,调用函数GET_GLOBALS_FROM_SLVC_FULLSCR,但是这里并不是OOALV哦不要搞混咯首先在CALL ALV展示函数时候 给usercommand值 CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC' EXPORTING i_callback_pr

2020-06-10 14:20:42 131

原创 FM—ALV——选择屏幕-搜索帮助-下拉框格式

在实际项目中,很多时候如果某字段的参照表不能满足客户要求,需求设计选择屏幕PARAMETERS为下拉框模式,供客户选择,那如何实现呢?1.首先:定义选择屏幕,哪个字段为下拉框模式。这里字符可见的长度为20PARAMETERS: p_lgort LIKE mseg-lgort AS LISTBOX VISIBLE LENGTH 20.2.设计搜索帮助事件AT SELECTION-SCREEN ON VALUE-REQUESTINITIALIZATION.AT SELECTION-SCREEN

2020-06-09 14:21:11 264

原创 批导程序---下载模板

首先想要在SAP端创建这个模板事务码:smw0,选择二进制数据然后输入包名字,这里我自己写在本地了进来后选择 “新建” 输入对象名称导入后保存激活即可下面是所有代码FORM frm_download_excel1 . DATA: lo_objdata LIKE wwwdatatab, lo_mime LIKE w3mime, ls_destination LIKE rlgrap-filename, ls_objnam

2020-06-08 17:08:58 280

原创 批导程序----批量上传

首先写选择屏幕 导入文件路径SELECTION-SCREEN PUSHBUTTON 2(10) TEXT-010 USER-COMMAND download2 .SELECT-OPTIONS: s_matnr FOR mara-matnr.PARAMETERS : p_file2 TYPE rlgrap-filename .AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file2. PERFORM frm_f4_build .

2020-06-08 16:46:08 139

原创 子屏幕控件

引用类:定义OOALV需要的容器网格控制器 data: go_container_9100 TYPE REF TO cl_gui_custom_container, go_grid_9100 TYPE REF TO cl_gui_alv_grid. "定义ALV控件名*输出表字段TYPES:BEGIN OF gty_alv, matnr TYPE mara-matnr, ersda TYPE mara-ersda, ernam T

2020-06-08 14:20:39 287

原创 如何让选择屏幕以下拉菜单模式出现

如何让选择屏幕以下拉菜单模式出现定义选择屏幕的下拉模式: g_status TYPE char10, (下拉内容显示长度) gt_list TYPE vrm_values, "list box的值 g_flag TYPE char1, "列表初始化标识PARAMETERS: l_status LIKE g_status AS LISTBOX VISIBLE LENGTH 2

2020-06-08 11:30:37 643

原创 给ALV显示标题

SAP中ALV事件之十,通过REUSE_ALV_COMMENTARY_WRITE函数来显示ALV的标题效果为ALV有了标题

2020-06-03 14:08:08 733

原创 如何给ALV某列设置下拉菜单

首先要明确设置下拉菜单、超链接什么的都是事件,需要在ALV输出函数REUSE_ALV_GRID_DISPLAY_LVC里传 it_events = gt_events。来写一个事件告诉程序接着就需要定义 事件的内表gt_events、下拉菜单的内表gt_dropdown 、输出表的字段类型定义中添加 dd_handle TYPE int4,DATA: ls_dropdown TYPE lvc_s_drop, ls_maitain_info T

2020-06-03 14:06:25 455

空空如也

空空如也

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

TA关注的人

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