创建FPM应用-页面控制
创建FPM应用 – 页面控制
==因时间、工作等原因,各项功能详细介绍只能留待以后空闲时再做了。下面只贴了相关代码,根据具体实例来看用法。==
页面添加按钮IF_FPM_GUIBB_LIST~GET_DEFINITION
APPEND INITIAL LINE TO et_action_definition ASSIGNING <fs_action>.
IF sy-subrc = 0.
<fs_action>-id = 'BTN_CONFIRM_BATCH'.
<fs_action>-text = '批量确认'.
<fs_action>-enabled = abap_true.
ENDIF.
APPEND INITIAL LINE TO et_action_definition ASSIGNING <fs_action>.
I ...
创建FPM应用-修改
创建FPM应用 – 修改集(SET)
预定完成目标:
超链接页面跳转 – 点击事件
表单组件
第一步 对FPM应用改造
上一章的查询结果是setleaf中的明细数据,这次我们改为只取setheader中的抬头数据
第二步 集名称字段添加超链接
第三步 添加FPM事件
添加超链接后字段显示为蓝色,发现点击无反应,此时需要分配FPM事件分配,并把事件分配给链接;修改 IF_FPM_GUIBB_LIST~GET_DEFINITION 添加事件;当然因为我们只加了一个链接,也可以使用标准分配不自己创建。标准分配对应的事件名为:FPM_GUIBB_LIST_CELL_ACTION,每次点击链接都会触发此事件;此次我们直接使用标准分配,这一步可跳过
METHOD IF_FPM_GUIBB_LIST~GET_DEFINITION.
DATA:lo_structdescr TYPE REF TO cl_abap_structdescr, "设置界面字段
lo_abap_str TYPE REF TO cl_abap_structdescr,
lt_co ...
创建FPM应用-查询
创建FPM应用步骤 – 查询集(SET)应用第一步 创建FPM应用T-Code:FPM_WB – 平面布置管理器工作台
SE11创建结构YTEST_S_SETLEAF(用于搜索组件);创建表类型YTEST_S_SETLEAF_T(用于列表组件)
创建feeder类:ZCL_J4TEST03_SEARCH_LIST – 此Feeder类中同时包含了搜索组件和列表组件的接口;(当然,搜索和列表组件的feeder类也可以分别创建)
IF_FPM_GUIBB
IF_FPM_GUIBB_SEARCH – 用于搜索组件
IF_FPM_GUIBB_LIST – 用于列表组件
IF_FPM_GUIBB_LIST_EXT – 用于弹出确认对话框等事件
激活实现接口 GET_DEFINITION 的方法:
IF_FPM_GUIBB_SEARCH~GET_DEFINITION
METHOD IF_FPM_GUIBB_SEARCH~GET_DEFINITION.
* 通过这种方式可以在FPM_WB中进行字段的选择,选中*搜索组件*中需要作为选择条件的字段
eo_field_catalo ...
FPM相关事务码
FPM开发相关相关T-Code
FPM_WB – 平面布置管理器工作台
/UI2/FLPD_CUST – Fiori 快速启动板设计器(客户端特定)
/UI2/FLP – Fiori启动页
ABAP导入Excel
SAP中导入Excel数据的方法有很多,这里只罗列一下我工作中用到的一些方法
第一步 获取文件路径方法一
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_path = 'C'
mask = ',Excel,*.XLSX;*.XLS.'
title = '选择文件'
IMPORTING
filename = p_file
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
IF sy-subrc ...
ABAP内表
内表是ABAP的基本类型,本文不再对其进行详加分析,只做一些冷门介绍及高级应用场景介绍
内表定义DATA itab { {TYPE [STANDARD]|SORTED|HASHED TABLE OF [REF TO] type}
| {LIKE [STANDARD]|SORTED|HASHED TABLE OF dobj} }
[tabkeys]
[INITIAL SIZE n]
[VALUE IS INITIAL]
[READ-ONLY].
内表类型
标准表(STANDARD TABLE),系统为该表的每一行数据生成一个逻辑索引,自己内部维护着行号(Index)的编码。表的键值不唯一,且没有按照表键自动进行排序,支持通过索引访问和键访问两种方式。填充标准表时可以插入到指定位置或现在有行之后,程序对内表的寻址操作可以通过关键字或索引进行。在对表进行插入删除等操作时,各数据行在内存中的物理位置不变,系统仅重新排列各 ...
SAP事务码
FI相关
OBBH
GGB0:确认维护
GGB1:替代维护
PO相关
事务码
描述 2
SPROXY
查看/激活接口服务
SXI_MONITOR
查询PO传输日志
Fiori相关
事务码
描述 2
/UI2/FLP
Fiori 启动器
/UI2/FLPD_CUST
配置磁贴
/UI2/SEMOBJ
显示语义对象
/UI2/GW_SYS_ALIAS
网关 - 管理 SAP 系统别名
CDS View
事务码
描述 2
/IWFND/ERROR_LOG
CDS Odata 错误日志查询
/IWFND/MAINT_SERVICE
发布服务
其他
STVARV:选择可变维护 (TVARV)
SLG0:应用程序日志:对象维护
SLG1:应用程序日志: 显示日志
SM59:ABAP连接
ST05:日志跟踪
ST22:系统异常日志
SE32:文本元素设定
SE36:逻辑数据器
SE37:函数模块
SE38:ABAP编辑器
SE41:菜单制作器
SE51:屏幕制作器
SE55:生成表维护程序
SE71:FORM设计
SE78 ...
ABAP S4新语法
ABAP S4新语法FIELD-SYMBOLASSIGN COMPONENT L_I OF STRUCTURE WA1 TO FIELD-SYMBOL(<fs>).
ASSIGN LT_TAB[ 5 ] TO FIELD-SYMBOL(<fs>).
READ TABLE LT_TAB ASSIGNING FIELD-SYMBOL(<fs>) WITH KEY ZCHAR1 = '3'.
CONV
数据类型的转换可以用 CONV 实现,部分类型不再需要通过中间变量来转换
*---------------------------------------------------------------------*
* 合理的使用 CONV 可以避免因为类型不一致而导致的 dump 问题,
* 例如下例的LV_RESULT,即在调用方法时做参数的类型转换
* 另外,在接口中处理传入参数时,一般情况下也会对数据的类型做对应的转换,
* 但不是所有类型都可以互相转换,例如将含有非数字的 CHAR 类型数据 ...
SAP事务码
FI相关
OBBH
GGB0:确认维护
GGB1:替代维护
PO相关
事务码
描述 2
SPROXY
查看/激活接口服务
SXI_MONITOR
查询PO传输日志
Fiori相关
事务码
描述 2
/UI2/FLP
Fiori 启动器
/UI2/FLPD_CUST
配置磁贴
/UI2/SEMOBJ
显示语义对象
/UI2/GW_SYS_ALIAS
网关 - 管理 SAP 系统别名
CDS View
事务码
描述 2
/IWFND/ERROR_LOG
CDS Odata 错误日志查询
/IWFND/MAINT_SERVICE
发布服务
其他
STVARV:选择可变维护 (TVARV)
SLG0:应用程序日志:对象维护
SLG1:应用程序日志: 显示日志
SM59:ABAP连接
ST05:日志跟踪
ST22:系统异常日志
Docker命令
Docker中查询磁盘占用情况
docker system df
【慎用】可以将没有容器使用的Docker镜像都删掉。
docker system prune -a