- 博客(28)
- 收藏
- 关注
原创 SMARTFORMS 创建条形码
这里 在设置条形码 时要鼠标全选下面的内容 否则无法选中字符格式中的条形码。进入 SMARTFORMS 样式中。事务代码se73 点击更改。字符格式 中新建节点。
2025-11-10 16:56:22
145
原创 SAP 长文本弹窗函数 及控件使用
函数 TERM_CONTROL_EDIT 可传入 LANGU 字段显示不同效果。函数 TXW_TEXTNOTE_EDIT 最大显示长度 132。edit_mode = '' 传 ‘X’ 可编辑 传空值不可编辑。虽然传入的表是CHAR类型 但是 最大显示长度依然是132。这种可能要自行拆解字符串显示 一行应该是74 个字符。LANGU 不传值或者不传R传其他值。
2025-10-24 14:34:38
219
原创 ABAP SAP SE38 固定点算数未勾选 计算逻辑
做销售订单增强时可能会修改一些数据的 计算 但是修改后计算结果 总是奇奇怪怪的就是因为va01程序 未勾选固定点算数。首先将相加的数都变为整数 之后相加的结果 根据承接变量的小数位数 向左移动相应的 位数。如过产生计算 他的结果取决于 接 计算结果的 变量。可以将 想要做增强的 计算写个函数包起来计算的 结果就是正确的了。根据结果可以得出 结果跟承接结果变量的 小数位数有关。
2025-08-18 14:33:36
146
原创 ALV 设置gui按钮 不可用
摘要:本文演示了如何在SAP ALV报表中实现功能按钮动态置灰控制。通过设置状态表单frm_status,控制"新增行"和"删除行"按钮的可用性:只有当用户点击"删除行"后,才激活"新增行"按钮。代码包含ALV表格初始化、字段目录定义、布局设置,以及通过GET_GLOBALS_FROM_SLVC_FULLSCR获取ALV网格实例。关键点在于利用gv_fun_but变量跟踪当前操作,在命令处理表单frm_command中更新按钮状
2025-07-30 17:18:38
246
原创 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
97
原创 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
455
原创 ABAP 负号前置
DATAlv_wrbtrTYPEbsegwrbtrDATAlv_stringTYPEstringlv_wrbtr'-123.45'lv_stringlv_wrbtrWRITECHANGINGvaluelv_stringWRITElv_wrbtrWRITE。
2025-07-10 09:06:40
356
原创 动态创建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
962
原创 创建动态内表如何加结构或者表
这里WTY_PARTNER_DYNPRO为系统标准的一个结构其中字段。fieldcat 表中的表字段删除 否则会 DUMP。最简单的方法是参照SE11表中的结构或表字段。还有一种方法是创建动态内表之后添加。这样接可以将表结构添加进去了。* 根据IT_FACT生成动态表。* 根据IT_FACT生成动态表。在调用ALV 函数前记得将。
2025-05-26 16:58:40
659
原创 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
530
原创 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
285
原创 ABAP smartforms 可选的
条件栏中的条件如果为真就输出 TRUE的内容也就是文本97 如果为假不输出内容。常规属性中的条件如果为真就输出 文本97 如果为假就输出71。
2024-12-19 16:11:35
165
原创 新语法使用及与旧语法对比
( zxm = '冯宝宝' znl = 500 zc = '长生不老') ).( zxm = '徐三' znl = 35 zc = '大区负责人')
2024-09-12 17:55:45
427
原创 ABAP 在屏幕上显示图片
DATAOK_CODETYPESYucomm1000MODULEinit_picOUTPUTDATAgr_picturego_txtTYPEztsd018txt_typeTYPEztsd018textgv_selTYPEchar1DATAlv_zzdataTYPEztpictruezzdataDATABEGIN OFOCCURS0line255TYPE xEND OFurl255TYPE czzdata。
2024-08-30 09:43:26
712
原创 SAP ABAP 越南盾金额 取数缩小 100倍
通过币种代码 调用 货币转换因子函数 获取转换因子。将缩小100 的金额 乘以 lv_factor。之后给对应金额乘以转换因子即可。
2024-08-12 10:52:55
743
原创 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
626
原创 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
337
原创 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
898
1
原创 ABAP 字符串转日期 函数
因为 VALUE 是CHAR128 的 所以 我们直接赋值给日期类型值会截取 只能赋值到月 日以为位数不够会被截取。这时我们就要用到日期的转换函数 CONVERT_DATE_TO_INTERNAL。把跟修改行相同物料描述的开始日期 或 结束日期都变为修改的日期。data_changed 中 VALUE 就是变化的值。这里我们通过 data_changed 实现、需求 修改开始日期 或者结束日期。
2024-07-02 11:18:51
1544
原创 ABAP 添加选择屏幕 上 的按钮
我这里是调用了 SM30的表维护 通过这个表里面的值来为ALV显示字段中的下拉框赋值。FC01 是 key 1 的按钮代码 FC02 是 key 2 的按钮代码 等。这样下拉框想要加入新值 前台操作人员就可以通过维护表来增加新值 不用找到开发维护。key 1 就是第一个 按钮 key 2 就是第二个 以此类推。在 AT SELECTION-SCREEN. 事件下判断点击按钮代码。我们可以根据不同的需求 去写对应的功能。首先要在TOP定义界面引用表。. 事件下为按钮添加图标 及描述。
2024-06-29 11:13:35
1201
原创 创建生产订单 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
565
原创 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
632
原创 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
1318
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅