自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 ALV 模板

摘要:本文展示了一个SAP ABAP程序的设计实现,包含选择屏幕配置、ALV表格显示和交互功能。主要特点包括:1) 选择屏幕包含下拉框、搜索帮助、单选按钮等多种控件;2) 使用VRM_SET_VALUES函数实现下拉框赋值;3) ALV表格支持自适应列宽、斑马线样式和复选框选择;4) 实现TOP_OF_PAGE页眉显示和DATA_CHANGED数据变更事件处理;5) 通过自定义类lcl_event_receiver实现F4搜索帮助功能。该程序演示了SAP开发中常用的界面组件和交互逻辑的实现方法。

2025-07-26 17:56:22 41

原创 ABAP ALV TOP_OF_PAGE

CONCATENATE p_gjahr '年' p_monat '月' INTO text.CALL METHOD document->new_line. " 换行。* text = '金额单位:'.text = '公司名称:'.text = '日期:'.绑定 输出 form 名称。

2025-07-21 10:00:52 391

原创 ABAP 负号前置

DATAlv_wrbtrTYPEbsegwrbtrDATAlv_stringTYPEstringlv_wrbtr'-123.45'lv_stringlv_wrbtrWRITECHANGINGvaluelv_stringWRITElv_wrbtrWRITE。

2025-07-10 09:06:40 276

原创 ABAP锁 应用

要求在创建生产订单的自建程序中 一个销售订单号只能被一个人操作 第二个人输入相同单号进入程序时 报错 销售单号 已被某某锁定。

2025-06-27 14:49:23 112

原创 动态创建ALV内表 如何给其中一个字段表添加新条目

DATA lt_style TYPE TABLE OF ty_style. " 记录每行不可编辑字段。WTY_PARTNER_DYNPRO为系统标准结构 STYL 为 控制表。fieldcatalog 表中的 STYLE 删掉 要不然会DUMP。要求在点击修改数量按钮时 如果订单数量为0 的不可编辑其余可编辑。然后将统计好的数量为零的列给到控制表 <ft_styl>WHEN 'BJ_SL'. "修改数量。这里注意我们不能直接定义一个内表为。" 删除不是当前行的。) 来定义 控制表 要单独定义。

2025-06-27 14:18:57 885

原创 创建动态内表如何加结构或者表

这里WTY_PARTNER_DYNPRO为系统标准的一个结构其中字段。fieldcat 表中的表字段删除 否则会 DUMP。最简单的方法是参照SE11表中的结构或表字段。还有一种方法是创建动态内表之后添加。这样接可以将表结构添加进去了。* 根据IT_FACT生成动态表。* 根据IT_FACT生成动态表。在调用ALV 函数前记得将。

2025-05-26 16:58:40 623

原创 ALV负号前置 及 ALV右键导出EXCEL负号前置

A部分名称就是我们SE37创建函数CONVERSION_EXIT_xxxxx_OUTPUT是“==xxxxx”的命名。这个只需要给fieldcat-datatype = ‘CURR’.金额字段定义要参照CURR类型的。1.ALV显示及ALV导出负号都需前置。函数模块名称CONVERSION_EXIT_xxxxx_OUTPUT。如果需要ALV显示负号前置 及 ALV导出负号前置。2.ALV负号不前置右键导出EXCEL负号前置。*&--- 金额 负号前置 转换例程。创建好之后再需要转换的ALV。

2025-03-06 09:44:55 424

原创 ABAP 去除变量右侧多余字符

DATA lv_c TYPE char40 VALUE 'EDF/'.data lv_b TYPE char1 VALUE '/'.SHIFT lv_c RIGHT DELETING TRAILING '/' .WRITE lv_c.

2025-02-20 08:59:51 218

原创 ABAP smartforms 可选的

条件栏中的条件如果为真就输出 TRUE的内容也就是文本97 如果为假不输出内容。常规属性中的条件如果为真就输出 文本97 如果为假就输出71。

2024-12-19 16:11:35 140

原创 新语法使用及与旧语法对比

( zxm = '冯宝宝' znl = 500 zc = '长生不老') ).( zxm = '徐三' znl = 35 zc = '大区负责人')

2024-09-12 17:55:45 390

原创 ABAP 在屏幕上显示图片

DATAOK_CODETYPESYucomm1000MODULEinit_picOUTPUTDATAgr_picturego_txtTYPEztsd018txt_typeTYPEztsd018textgv_selTYPEchar1DATAlv_zzdataTYPEztpictruezzdataDATABEGIN OFOCCURS0line255TYPE xEND OFurl255TYPE czzdata。

2024-08-30 09:43:26 623

原创 SAP ABAP 越南盾金额 取数缩小 100倍

通过币种代码 调用 货币转换因子函数 获取转换因子。将缩小100 的金额 乘以 lv_factor。之后给对应金额乘以转换因子即可。

2024-08-12 10:52:55 601

原创 ABAP EXCEL 批导模板

ls_intern TYPE kcde_intern_struc, "用来将EXCEL上传值循环到储存ALV展示数据的内表。t_lt_intern TYPE TABLE OF kcde_intern_struc, "储存EXCEL上传值的内表。* LS_FILE_TABLE LIKE LINE OF LT_TAB, " 用来读取文件名的结构。

2024-07-18 15:15:10 591

原创 ABAP FOR ALL ENTRIES IN 部分条目取不到

因为是根据 INTO TABLE 的表(上图中的 lt_mseg)去重 所以我们可以加入取数主表(上图mseg)的主键作为INTO TABLE 表(上图中的 lt_mseg)的字段 这里我们加入的 mblnr mjahr zeile 这三个 字段 这样 就不会被去重导致条目缺失了。FOR ALL ENTRIES IN 内表做条件取数到指定内表中后。主键字段我们可能用不到 但是防止去重一定要加上去一起取出。如果根据条件取出的条目中存在字段完全相同的条目就会被去重。

2024-07-17 16:02:02 294

原创 ABAP SQL

RKSE16N_CD_DISPLAY 查看表删除日志。字符串拼接 必须都是CHAR类型。

2024-07-12 15:41:43 406

原创 ABAP 选择屏幕隐藏

模板代码:TABLES mara.SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE t1.PARAMETERS: r_rb1 RADIOBUTTON GROUP gr1 USER-COMMAND sel DEFAULT 'X', r_rb2 RADIOBUTTON GROUP gr1.SELECTION-SCREEN END OF BLOCK b1.SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME

2024-07-05 15:37:48 777 1

原创 ABAP ALV全选排除过滤器条目

"全选排除过滤数据IMPORTINGENDLOOP.ELSE.ENDIF.ENDIF.ENDLOOP.

2024-07-02 14:17:53 367

原创 ABAP 字符串转日期 函数

因为 VALUE 是CHAR128 的 所以 我们直接赋值给日期类型值会截取 只能赋值到月 日以为位数不够会被截取。这时我们就要用到日期的转换函数 CONVERT_DATE_TO_INTERNAL。把跟修改行相同物料描述的开始日期 或 结束日期都变为修改的日期。data_changed 中 VALUE 就是变化的值。这里我们通过 data_changed 实现、需求 修改开始日期 或者结束日期。

2024-07-02 11:18:51 1238

原创 ABAP 添加选择屏幕 上 的按钮

我这里是调用了 SM30的表维护 通过这个表里面的值来为ALV显示字段中的下拉框赋值。FC01 是 key 1 的按钮代码 FC02 是 key 2 的按钮代码 等。这样下拉框想要加入新值 前台操作人员就可以通过维护表来增加新值 不用找到开发维护。key 1 就是第一个 按钮 key 2 就是第二个 以此类推。在 AT SELECTION-SCREEN. 事件下判断点击按钮代码。我们可以根据不同的需求 去写对应的功能。首先要在TOP定义界面引用表。. 事件下为按钮添加图标 及描述。

2024-06-29 11:13:35 1005

原创 创建生产订单 BAPI

orderdata-sales_order_item = -posnr. " 销售订单行号。orderdata-sales_order = -zvbel. " 销售订单号。orderdata-basic_start_date = -psttr. " 开始日期。orderdata-basic_end_date = -pedtr. " 结束日期。-msg = '创建成功'(t35).

2024-06-29 10:48:24 454

原创 SAP 获取生产订单状态 函数使用

lv_pgmng = lv_pgmng + ls_afpo-pgmng. " 排除删除后 已下单数量。IF lv_line CS '删除' OR lv_line CS '标记'.-msg = '下单总数量超过指令单需求数量'(t34).kdpos, " 销售订单行项目。SELECT aufnr, " 生产订单号。kdauf, " 销售订单号。pgmng " 订单数量。* 检查下单数量 是否超过指令单需求数量。* 加上准备下单数量。

2024-06-29 10:43:59 496

原创 ABAP 选择屏幕动态下拉框

value-text = 'CROCS一次射出'(t46).value-text = 'CROCS一次射出'(t46).value-text = 'IP车间'(t71).value-text = '转印车间'(t72).value-text = 'IP车间'(t43).value-text = 'RB车间'(t44).value-text = 'MD车间'(t45).value-text = '天下工厂'(t73).value-text = '南山工厂'(t75).

2024-06-27 10:42:06 1134

空空如也

空空如也

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

TA关注的人

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