- 博客(266)
- 资源 (1)
- 收藏
- 关注
原创 ABAP传输自定义IDOC实例
首先确定出站方和入站方,本例中我使用150作为发送方将200作为接收方。发送端系统配置进入tcode-SALE,点击定义逻辑系统,这里我定义D01CLNT150为发送端, D01CLNT200为接收端2,将逻辑系统分配给对应的client3,进入tcode-WE31,创建IDOC开发段(segment)这里可以按照实际需求创建想要传输的结构,为求简单我创建了ZKNA1并选取了几个客户主数据的字段作为示例4,进入tcode-WE30,创建Idoc Ty...
2022-05-26 12:24:28 2736 1
原创 ABAP根据显示长度转换为字符长度截取字符串
FUNCTIONZF_BASED_DISPLAY_LENGTH.*"----------------------------------------------------------------------*"*"本地接口:*"IMPORTING*"VALUE(I_LENG)TYPEI*"VALUE(I_CHAR)TYPECHAR200*"EXPORTING*"VALUE(E_LENG)TYPEI*"VALUE(E_C...
2020-06-04 16:59:23 758
原创 SAP系统配置SMPT邮箱
SAP系统配置SMPT邮箱首先要获取可以使用发送协议SMTP的邮件服务器地址,以及一个用于服务器验证的邮箱地址及其密码。1,登陆SAP系统进入事务码RZ10,通过以下路径可以查看当前可用的参数文件,通过搜索帮助带出文件名可自动带出活动的版本填入参数文件名选择扩展维护单击修改,这里我们需要填入两个参数参数:is/SMTP/virt_host_0 值:*:25;参数:ic...
2020-03-19 14:59:01 10324
原创 CS01项目输入增强
CS01项目输入增强在创建BOM时,BOM的通用项目总览中只有少量的可维护栏位,当需要维护更多信息时则需要双击该条目进入项目:所有数据中进行维护一些用户为了方便,在创建BOM时希望将一些常用栏位移动到项目总览去维护,好在大部分的栏位是与总览栏位在同一个结构RC29P中,所以这里只要简单的处理一下屏幕就可以实现这个功能,这里我们以‘组件报废’字段AUSCH为例我们进入行...
2019-10-30 09:30:39 1436
原创 MIGO批次增强总结&技巧
1、批次增强的出口包含程序是ZXVBZU02,在ZXVBZU02中添加如下代码可实现同物料&工厂生成同一个批次*&---------------------------------------------------------------------**&包含ZXVBZU02*&-------------------------...
2019-07-26 15:00:15 4600
原创 ABAP-使用XLSX Workbench导出ALV_TREE
通过事务码-ZXLWB_WORKBENCH启动Workbench,输入名称并创建一个Form点击保存按钮以保存当前Form点击Name of the context将CL_SALV_TREE 分配给context选择Auto选择一个范围,点击Area in the template成功之后可以看到模板的范围已经设定好最后点击激活按钮复制DEMO程...
2019-07-23 15:30:38 4120
原创 ABAP 工单状态筛选(参考COOIS)
如果想在自开发的报表中使用类似COOIS的状态来筛选工单可以参考其源码,主要包含以下几个代码段:1.定义屏幕元素,由于表TJ02T不含搜索帮助,所以要手工添加:屏幕元素:SELECTION-SCREENBEGINOFLINE.SELECTION-SCREEN:COMMENT1(20)TEXT-SYSFORFIELDP_SYST1MODIFIDC...
2019-07-16 11:34:22 2358
原创 MB_MIGO_BADI(MIGO增强)CHECK_ITEM方法无法获取所有行项目的解决方法
在使用IF_EX_MB_MIGO_BADI~CHECK_ITEM方法时发现程序只检查了行项目中的一行,所以我在类的属性里添加了可以存储行项目的变量在IF_EX_MB_MIGO_BADI~LINE_MODIFY的方法被触发时将行项目数据传入GT_GOITEM中之后在IF_EX_MB_MIGO_BADI~CHECK_ITEM中循环读取GT_GOITEM中的行项目数据做处理即可...
2019-05-06 15:00:40 5096 4
原创 字段增强
字段增强是基于数据元素实现的,如果没有为字段增强分配程序及屏幕,则使用该数据元素的所有字段都会受到该增强的影响。与用户出口类似,字段增强是通过一块函数来进行代码实现,所以它仍属于二代增强。由于新版本的SAP默认不再支持字段增强,所以新版SAP在使用字段增强之前需要增加系统参数abap/fieldexit值为YES,然后重启SAP具体操作如下:进入事务码RZ10,选择参数文件后点选扩展维护...
2019-04-08 12:04:56 865
原创 ABAP-引用接口创建全局类
ABAP-引用接口创建全局类打开tcode SE24 创建接口创建方法GET_AUDAT为GET_AUDAT创建参数并激活接口2.创建类YN_CLASS_DEMO_01为YN_CLASS_DEMO_01引用刚刚创建的接口YN_INTERFACE_DEMO_01创建属性引用接口中的方法YN_INTERFACE_DEMO_01~G...
2019-03-28 10:51:25 2807
原创 ABAP 正则表达式(第二部分)
*&---------------------------------------------------------------------**&ReportYN_REGEX_DEMO_02*&---------------------------------------------------------------------**&Author...
2019-03-21 09:40:54 363
原创 ABAP 正则表达式(第一部分)
*&---------------------------------------------------------------------**&ReportYN_REGEX_DEMO_01*&---------------------------------------------------------------------**&Author...
2019-03-18 11:45:18 671
原创 SAP-PI接口创建中的ABAP处理(不含PI配置)
SAP-PI接口创建中的ABAP处理(不含PI配置)首先进入事物码SPROXY,可以看到由PI顾问已经配置好的接口列表这里使用一个系统标准的inbound接口为例,打开Service Provides页签,双击proxy激活后双击其Implementing Class,可以看到方法,属性等信息,直接根据方法的参数实现功能即可而如果outbound接口,与程序调用Web ...
2019-03-08 10:10:30 5181
原创 ABAP ALV单元格级别下拉框:
ABAP ALV单元格级别下拉框: 首先定义一个下拉表并将其传递给ALV传递下拉列表要调用SET_DROP_DOWN_TABLE 方法,HANDLE参数填入列表号,本例为“1”和“2”,参数VALUE 填入下列列表值 在内表结构里添加一个INT4类型的字段用于记录表号 为字段fieldcat的drdn_field赋表号字段之后根据需要在内表中对...
2019-01-16 15:37:10 3813
原创 ABAP ALV列级别下拉框
ABAP ALV列级别下拉框: 首先定义一个下拉表并将其传递给ALV传递下拉列表要调用SET_DROP_DOWN_TABLE 方法,HANDLE参数填入列表号,本例为“1”,参数VALUE 填入下列列表值 在FIELDCATALOG中对列的drdn_hndl 参数赋列表号“1” 效果展示:...
2019-01-16 14:48:58 1765
原创 ABAP——Open SQL 函数调试程序
Open SQL 函数调试程序ABAP Open SQL语法:如果要在ABAP中使用Open SQL需要注意使用符合其规则的语法,SOL过程中的变量都需要使用@来转义REPORTyn_demo_sql_function.CLASSdemoDEFINITION.PUBLICSECTION.CLASS-METHODSmain.ENDCLASS.CLASSde...
2019-01-04 12:14:45 928
原创 SQL 分组和排序( Group By & Order By )
SQL Group By与Order ByGroup By的字面含义可以理解为分组,使用后可以根据 By 后面的字段对数字进行汇总。原表数据:CLEARGT_DATA[].SELECTVBAP~VBELNSUM(VBAP~KWMENG)ASKWMENGINTOCORRESPONDINGFIELDSOFTABLEGT_...
2019-01-02 16:18:17 1370
原创 ABAP-二分法搜索(BINARY SEARCH)
ABAP-二分法搜索(BINARY SEARCH)SORT GL_DATA_SO1[] BY VBELN_SO1 POSNR_SO1 .READ TABLE GL_DATA_SO1 WITH KEY VBELN_SO1 = GN_DATA_SO1-VBELN_SO1 POSNR_SO1 = GN_DATA_SO1-POSNR_SO1 BINARY SEARCH .值得注意的是进行二分法搜索...
2018-12-11 11:29:27 2347
原创 ABAP-OOALV定时刷新运行数据修改事件(无需手动触发PAI获取数据)
代码部分:DATAGO_TIMERTYPEREFTOCL_GUI_TIMER.*--------------------------------------------------------------------*CLASScl_event_receiverDEFINITION*---------------------------------...
2018-12-06 11:51:00 3856 1
原创 ABAP-OOALV-回车事件
ABAP-OOALV-回车事件:首先要为ALV_GRID设置enter事件: CALL METHOD GO_ALV_GRID->REGISTER_EDIT_EVENT EXPORTING I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_ENTER EXCEPTIONS ERROR = 1 OT...
2018-12-05 11:05:28 6014 1
原创 ABAP—技术验证平台(屏幕类01)
ABAP—技术验证平台(屏幕类01)前言:该程序代码较为健硕,功能区域划分清晰,可根据需要添加自己需要的事件用于技术验证(取数逻辑请忽略)。涵盖功能:1、Docking2、ALV_GRID3、ALV_TREE4、Drag and Drop5、图片显示6、程序中包含一个以纵深结构作为静态属性的类代码:*&----------------------...
2018-11-26 14:58:13 964
原创 ABAP 定义纵深结构的内表
ABAP 定义纵深结构的内表CLASS DEMO DEFINITION. PUBLIC SECTION. CLASS-METHODS: MAIN, CLASS_CONSTRUCTOR. PRIVATE SECTION. CLASS-DATA: BEGIN OF STRUCT1, A1 TYPE STRING VALUE `a...
2018-11-22 12:10:06 1315
原创 SAP表索引
SAP表索引当我们在SE11下创建并激活一张表后,该表会自动生成自己的主索引用于确定主键。 一般情况下主索引只会随着主键的改变而改变,除非遇到一些奇怪的BUG会让主索引失效与主索引不同,二级索引可以根据需要自定义字段组合,可以用于提高select的效率。下面我们来创建一个二级索引:单击按钮选择创建索引选择索引字段并激活创建成功...
2018-11-22 10:43:43 3673 1
原创 ABAP—splitter与docking联合使用
ABAP—splitter与docking联合使用 METHOD constructor. DATA: l_event_tab TYPE cntl_simple_events, l_event LIKE LINE OF l_event_tab, l_docking TYPE REF TO cl_...
2018-11-21 11:58:25 1267 1
原创 ABAP—为Container添加图片
ABAP-为Container添加图片首先创建Container: Class的声明&实现:*---------------------------------------------------------------------** CLASS c_service DEFINITION*----------------------------------...
2018-11-20 10:23:46 1234
原创 ABAP-拖放事件几个值得注意的地方 (Drag , Drop)
首先要为所有拖放的操作对象做初始化拖放的说明DATA: DRAGDROP_TREE TYPE REF TO CL_DRAGDROP, DRAGDROP_ALV TYPE REF TO CL_DRAGDROP,* 允许放下的效果 G_DROPEFFECT = CL_DRAGDROP=>MOVE.* 初始化拖放* -> tree CREATE OBJECT DRA...
2018-11-19 10:28:08 1532 1
原创 ABAP TREE 节点自动展开设置
ABAP TREE 节点自动展开设置首先要获取需要展开的NODE_KEY,在调用ADD_NODE方法时将IMPORTING 参数 E_NEW_NODE_KEY 记入内表ADD_NODE方法调用完毕后,调用方法EXPAND_NODES 为其 EXPORTING参数 IT_NODE_KEY填入节点内表即可。值得注意的是你要展开的节点是你想看到的节点的上层,即如果想看到最末级的数据则需要...
2018-10-25 15:39:51 2282
原创 SAP BTE增强
SAP BTE增强模式:与USER_EXIT的思想类似,BTE增强模式是对SAP中预留的标准事件进行增强,所以BTE增强实施的核心工作是寻找合适的事件号码1.寻找事件号及其对应的函数模块首先进入tcode-FIBF进入后可以看到许多常用的事件号及事件描述,双击其中一个选择函数模块即可找到事件对应的函数模块如果你需要的EVENT没有在这...
2018-09-29 11:27:20 14091 1
原创 ABAP 拖放事件 ( ON_DRAG )
ABAP 拖放事件 ( ON_DRAG )Sap中常用的OO屏幕控件一般都会带有拖放事件例如CL_GUI_SIMPLE_TREE:其事件参数为: CL_GUI_ALV_GRID:其事件参数为: CL_GUI_ALV_TREE:其事件参数为: 我们以SAP中的一个名为BCALV_GRID_DND_TREE 的DEMO程序为例以展示拖...
2018-08-22 15:22:16 1392
原创 ABAP动态内表总结
实现动态内表功能需调用静态方法 :CREATE_DYNAMIC_TABLE其功能为根据输入的fieldcat自动生成一个相应的内表,所以与常规的ALV编写顺序相反,在使用动态内表时一般先根据需求静态或动态的写好fieldcat数据,之后再以fieldcat为参数调用CREATE_DYNAMIC_TABLE方法来生成动态内表 1.填写FIELDCAT" ADD FIELDCATDAT...
2018-08-21 12:13:42 7075
原创 ABAP-FIELD_SYMBOLS的使用
DATA: BEGIN OF line, col1 TYPE i VALUE '1', col2 TYPE i VALUE '2', col3 TYPE i VALUE '3', END OF line. DATA comp(5) VALUE 'COL3'. FIELD-SYMBOLS: <f1>, <f2>, <f3>. ...
2018-08-21 11:21:40 1210
原创 ABAP Docking Control Container开发实例
ABAP Docking Control Container开发实例使用时需引用cl_gui_docking_container事物DATA: splitter TYPE REF TO cl_dynpro_splitter, go_dbz TYPE REF TO cl_gui_alv_...
2018-08-10 17:22:51 3896 2
原创 ABAP SPLITTER技术总结及使用技巧
ABAP SPLITTER技术总结及使用技巧SPLITTER的两种实现方式:1.切割CONTAINER方式使用时需引用cl_gui_splitter_container类 DATA lo_container TYPE REF TO cl_gui_splitter_container. DATA lo_left TYPE REF TO cl_gui_cus...
2018-08-09 08:54:09 3014
原创 ABAP Tree Control的基本实现步骤
Tree Control的基本实现步骤首先还是要引用ABAP Tree的相关类cl_gui_custom_container 容器一定必不可少cl_gui_simple_tree创建屏幕100并创建container在100屏幕的PBO中实例化container 和Tree Control接下来就要为Tree逐层添加节点如果为顶层只需要分配自身的nod...
2018-08-08 14:37:59 1311
原创 OOALV的基本实现步骤
OOALV的基本实现步骤首先要引用OOalv相关类:(分隔器等其他相关类本文不涉及)cl_gui_alv_grid & cl_gui_custom_container创建屏幕100并创建container在100屏幕的PBO中实例化container 和ALV_GRID创建event类创建所需要的事件方法DEFINITION部分不涉及继承,直接...
2018-07-30 11:22:22 12209
原创 SAP 创建自定义的权限对象
SAP 创建自定义的权限对象P1. Tcode SU21 创建权限对象并分配权限字段如果首次使用则需要创建一个对象类在对象类下创建权限对象并添加权限字段,这里我们以标准字段公司代码为例,如果需要自定义字段可以到SE11下创建数据元素,并在SU20下维护权限字段。P2.Tcode PFCG 创建一个角色并为其分配权限对象手动添加权限对象为权限字段授...
2018-07-25 15:03:13 11518
原创 Smartforms 打印二维码
此方法需要SAP_BASIS版本在731以上TCODE-SE73选择’系统条形码’点击 ‘更改’按步骤创建一个系统条形码Module Size 调节二维码的尺寸进入smartforms创建样式填入条形码名称创建一张表单测试二维码,填入创建好的样式 测试结果:...
2018-07-20 10:36:21 4576 1
原创 MD04增强
如果是常规的增加按钮和自定义列,SAP提供了标准的BADI--- MD_ADD_COL_EZPS在方法ACTIVATE_ADD_COLUMNS 中定义按钮/自定义列,mode = ‘1’为屏幕PBO事件直接显示自定义列,mode = ‘2’ 为点击对应的按钮PAI事件显示自定义列。方法FILL_ADD_COLUMNS可以为自定义列赋值。由于是标准BADI所以本文就不再赘述。但如果你需要为概览树增加...
2018-05-23 17:13:03 4015
原创 ABAP TREE 开发实例
*DEFINATIONTABLES: ztmm004_01 .TYPE-POOLS: slis.CLASS lcl_application DEFINITION DEFERRED.CLASS cl_gui_cfw DEFINITION LOAD.DATA: g_application TYPE REF TO lcl_application.TYPES: BE
2018-01-05 10:47:19 3317
原创 abap SPLITTER 开发实例
此方法可以实现用单个container放置多个ALV grid,每个ALV grid可以任意拖拽大小,切该container不影响屏幕中放置的其他container .
2017-11-30 19:25:35 871
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人