批量创建可配置物料参数文件
启用可配置物料之后,每次创建新的物料需要通过CU41创建可配置物料,没找大批量创建的程序,所以SHDB录屏搞了一个代码。
前提:物料主数据初始化通过程序导入时,可配置物料参数文件已按照物料代码赋值。
效果:

源代码:
*&---------------------------------------------------------------------*
*& Report ZCU41
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*REPORT zcu41NO STANDARD PAGE HEADING LINE-SIZE 255.TABLES: sscrfields.
TABLES:mara,mseg.
TYPE-POOLS: icon, slis.*-------- ALV structuresDATA: wa_fieldcat TYPE slis_fieldcat_alv,it_fieldcat TYPE slis_t_fieldcat_alv,g_layout TYPE slis_layout_alv,g_title TYPE lvc_title,pos TYPE i,l_field TYPE slis_fieldcat_alv, "字段列结构l_fieldcat TYPE slis_t_fieldcat_alv, "字段列内表l_status_01 TYPE slis_formname VALUE 'L_STATUS_01'.DATA : BEGIN OF itab_data OCCURS 0,icon TYPE icon_d,type(1),sel(1),matnr TYPE marc-matnr, "物料代码maktx TYPE makt-maktx,message(200),END OF itab_data.DATA:itab_bdctab TYPE TABLE OF bdcdata WITH HEADER LINE.
DATA:p_mode TYPE char1 VALUE 'N',p_upda TYPE char1 VALUE 'L'.
DATA lv_mess TYPE string.
DATA BEGIN OF messtab OCCURS 10.
INCLUDE STRUCTURE bdcmsgcoll.
DATA END OF messtab.DEFINE add_col.CLEAR wa_fieldcat.ADD 1 TO pos.wa_fieldcat-col_pos = pos.wa_fieldcat-fieldname = &1.wa_fieldcat-ref_fieldname = &2.wa_fieldcat-ref_tabname = &3.wa_fieldcat-seltext_m = &4.wa_fieldcat-tabname = &5.wa_fieldcat-do_sum = &6.wa_fieldcat-edit_mask = &7.wa_fieldcat-hotspot = &8.wa_fieldcat-checkbox = &9.APPEND wa_fieldcat TO it_fieldcat.
END-OF-DEFINITION.START-OF-SELECTION.PERFORM frm_get_data.PERFORM frm_display_data.*&---------------------------------------------------------------------*
*& Form FRM_DISPLAY_DATA
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
FORM frm_display_data .REFRESH: it_fieldcat.CLEAR g_layout.add_col 'ICON' space space '状态' 'ITAB_DATA' space space space space.add_col 'SEL' space space '选择' 'ITAB_DATA' space space 'X' 'X'.add_col 'MATNR' space space '物料代码' 'ITAB_DATA' space '==ALPHA' space space.add_col 'MAKTX' space space '物料描述' 'ITAB_DATA' space space space space.add_col 'MESSAGE' space space '处理消息' 'ITAB_DATA' space space space space.g_layout-colwidth_optimize = 'X'.CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'EXPORTINGi_callback_program = sy-repidi_callback_pf_status_set = 'L_STATUS100'i_callback_user_command = 'FRM_USER_COMMAND'is_layout = g_layoutit_fieldcat = it_fieldcatTABLESt_outtab = itab_dataEXCEPTIONSprogram_error = 1OTHERS = 2.IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.
ENDFORM.FORM l_status100 USING extab TYPE slis_t_extab.SET PF-STATUS 'ST01'.
ENDFORM. "L_STATUS100*&---------------------------------------------------------------------*
*& Form frm_user_command
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->R_UCOMM text
* -->RS_SELFIELD text
*----------------------------------------------------------------------*
FORM frm_user_command USING r_ucomm LIKE sy-ucomm rs_selfield TYPE slis_selfield.DATA: ref TYPE REF TO cl_gui_alv_grid.CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'IMPORTINGe_grid = ref.CALL METHOD ref->check_changed_data.CASE r_ucomm.WHEN '&IC1'.IF rs_selfield-fieldname = 'SEL'.READ TABLE itab_data INDEX rs_selfield-tabindex.IF itab_data-sel = ''.itab_data-sel = 'X'.ELSE.itab_data-sel = ''.ENDIF.MODIFY itab_data INDEX rs_selfield-tabindex.CLEAR itab_data.ENDIF.WHEN 'ALL'.itab_data-sel = 'X'.MODIFY itab_data FROM itab_data TRANSPORTING sel WHERE sel = '' .WHEN 'SAL'.itab_data-sel = ''.MODIFY itab_data FROM itab_data TRANSPORTING sel WHERE sel = 'X' .WHEN 'IMP'.PERFORM frm_excute.ENDCASE.rs_selfield-refresh = 'X'.
ENDFORM.*&---------------------------------------------------------------------*
*& FORM BDC_DYNPRO
*&---------------------------------------------------------------------*
FORM bdc_dynpro USING name value.CLEAR itab_bdctab.itab_bdctab-program = name.itab_bdctab-dynpro = value.itab_bdctab-dynbegin = 'X'.APPEND itab_bdctab.
ENDFORM. "BDC_DYNPRO
*&---------------------------------------------------------------------*
*& FORM BDC_FIELD
*&---------------------------------------------------------------------*
FORM bdc_field USING name value.CLEAR itab_bdctab.itab_bdctab-fnam = name.itab_bdctab-fval = value.APPEND itab_bdctab.
ENDFORM. "BDC_FIELD
*&---------------------------------------------------------------------*
*& Form frm_excute
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM frm_excute .LOOP AT itab_data INTO DATA(lw_data) WHERE sel = 'X' AND type NE 'S'.REFRESH:itab_bdctab,itab_bdctab[],messtab,messtab[].PERFORM bdc_dynpro USING 'SAPLCUCO' '0110'.PERFORM bdc_field USING 'BDC_CURSOR''RCUCO-DATUM'.PERFORM bdc_field USING 'BDC_OKCODE''/00'.PERFORM bdc_field USING 'RCUCO-MATNR'lw_data-matnr."物料代码PERFORM bdc_field USING 'RCUCO-DATUM''20230101'."日期,默认20230101PERFORM bdc_dynpro USING 'SAPLCUCO' '0200'.PERFORM bdc_field USING 'BDC_CURSOR''RCUCO-KLART(01)'.PERFORM bdc_field USING 'BDC_OKCODE''/00'.PERFORM bdc_field USING 'RCUCO-PRFID(01)'lw_data-matnr."参数名,默认物料代码PERFORM bdc_field USING 'RCUCO-KLART(01)''300'."固定值300PERFORM bdc_dynpro USING 'SAPLCUCO' '0200'.PERFORM bdc_field USING 'BDC_OKCODE''=SAVE'.CALL TRANSACTION 'CU41' USING itab_bdctabMODE p_modeUPDATE p_updaMESSAGES INTO messtab.READ TABLE messtab WITH KEY msgtyp = 'E'.IF sy-subrc EQ 0.CALL FUNCTION 'FORMAT_MESSAGE'EXPORTINGid = messtab-msgidlang = '1'no = messtab-msgnrv1 = messtab-msgv1v2 = messtab-msgv2v3 = messtab-msgv3v4 = messtab-msgv4IMPORTINGmsg = lv_messEXCEPTIONSnot_found = 1OTHERS = 2.lw_data-message = lv_mess.lw_data-type = 'E'.lw_data-icon = icon_red_light.ELSE.lw_data-message = '创建成功'.lw_data-type = 'S'.lw_data-icon = icon_green_light.ENDIF.MODIFY itab_data FROM lw_data TRANSPORTING message type icon WHERE matnr = lw_data-matnr AND SEL = 'X' AND type NE 'S'.CLEAR lw_data.ENDLOOP.ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_get_data
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM frm_get_data .SELECT mara~matnr,makt~maktxINTO CORRESPONDING FIELDS OF TABLE @itab_dataFROM mara INNER JOIN makt ON mara~matnr = makt~matnr AND makt~spras = '1'WHERE mara~kzkfg = 'X'.LOOP AT itab_data.SELECT SINGLE objekFROM cucoINTO @DATA(lv_objek)WHERE objek = @itab_data-matnr.IF sy-subrc = 0.DELETE itab_data.ENDIF.ENDLOOP.
ENDFORM.
相关文章:
批量创建可配置物料参数文件
启用可配置物料之后,每次创建新的物料需要通过CU41创建可配置物料,没找大批量创建的程序,所以SHDB录屏搞了一个代码。 前提:物料主数据初始化通过程序导入时,可配置物料参数文件已按照物料代码赋值。 效果…...
性能压力测试的重要性与实施方法
性能压力测试是在软件开发过程中评估系统在不同负载条件下的表现和稳定性的关键步骤。这种测试是为了确定系统在正常和峰值负载下的性能表现,以验证系统是否能够满足用户需求,同时发现潜在的性能问题并加以解决。 首先,性能压力测试对于确保系…...
HCIP入门静态实验
题目及要求 第一步:拓扑的搭建 第二步:路由、IP的配置 r1: <Huawei>sys Enter system view, return user view with CtrlZ. [Huawei]sys r1 [r1]int loop [r1]int LoopBack 0 [r1-LoopBack0]ip add 192.168.1.65 27 [r1-LoopBack0]int loop 1 […...
Vue与js的融合,如何编写现代化的前端应用
随着Web应用的不断发展,前端开发已经成为了当今互联网行业中最为流行和重要的领域之一。而在前端开发中,JavaScript无疑是最为常用和基础的语言之一。而Vue.js作为一种轻量级的JavaScript框架,它的出现极大地简化了前端开发的过程,…...
Boost开发指南-3.10singleton_pool
singleton_pool singleton_pool与 pool的接口完全一致,可以分配简单数据类型(POD)的内存指针,但它是一个单件。 singleton_pool位于名字空间boost,为了使用singleton_pool组件,需要包含头文件<boost/p…...
腾讯云从业者认证考试考点——云网络产品
文章目录 腾讯云网络产品功能网络产品概述负载均衡(Cloud Load Balancer)私有网络(Virtual Private Cloud,VPC)专线接入弹性网卡(多网卡热插拔服务)NAT网关(NAT Gateway)…...
Miniled透明屏:超薄、轻便,还有哪些特点?
Miniled透明屏是一种新型的显示屏技术,它采用了微小的LED灯珠作为显示单元,通过透明的材料进行封装,使得整个屏幕具有透明的特性。Miniled透明屏具有以下几个特点: 首先,Miniled透明屏具有高亮度和高对比度的特点。 由…...
MySQL 极速安装使用与卸载
目录 mysql-5.6.51 极速安装使用与卸载 sqlyog工具 mysql简化 mysql-8.1.0下载配置 再完善 mysql-5.6.51 极速安装使用与卸载 mysql-8.1.0下载安装在后 mysql中国官网 MySQLhttps://www.mysql.com/cn/ 点击MySQL社区服务器 点击历史档案 下载完 解压 用管理员运行cmd&a…...
举个栗子!Tableau 技巧(256):灵活折叠文本表的多级数据行
通常,Tableau 默认的图表分层结构是统一打开或关上,有什么办法可以按需选择展开或折叠?如下示例:单击“”展开层级,单击“-“收起层级。 可以试试集操作!今天的栗子,就来分享具体实现方法吧~ 本…...
Android View 初始化完成后,如果再调用measure再设置点击事件则点击事件会失效的解决方案
比如LinearLayout 或RecyclerView 我们在初始化完成并加载完数据后再次调用measure计算高度再setLayoutParams 会导致后面设置的点击事件失效。 比如: RecyclerView rv_select dialog.findViewById(R.id.rv_select); //点击事件rv_select.setOnItemClickListener(n…...
客户端电脑使用 FTP的Cadence_CIS库方法说明 (下)
简介:随着企业的规模扩大,硬件工程师的增多,使用统一服务器上的库管理,可以减少设计错误,提高效率。 使用在FTP上布局Cadence_CIS库,是目前的主流的做法之一; 本文方法,用于已经配置…...
【ES】笔记-let 声明及其特性
let 声明及其特性 声明变量 变量赋值、也可以批量赋值 let a;let b,c,d;let e100;let f521,giloveyou,h[];变量不能重复声明 let star罗志祥;let star小猪;块级作用域,let声明的变量只在块级作用域内有效 {let girl周杨青;}console.log(girl)注意:在 i…...
wps 预加载项插件本地开发启动项目打开wps 客户端,未看到加载项菜单,
wps 预加载项插件本地开发启动项目打开wps 客户端,未看到加载项菜单,请检查本地c盘安装目录下“jsplugins.xml”信息是否添加成功 如下图 name 插件项目 url 本地插件运行地址及端口 <jsplugins><jspluginonline name"wps-soft-copyright…...
uni-app开发微信小程序经常遇到的一些问题及解决方案
1.如何获取用户信息? 可以使用uni.getUserInfo接口获取用户信息。需要用户授权。 2.如何实现下拉刷新? 可以使用uni-app提供的页面组件内置下拉刷新功能,也可以自定义下拉刷新组件。 3.如何实现上拉加载更多? 可以在页面onReachBo…...
一个 git 仓库下拥有多个项目的 git hooks 配置方案
前言 通常情况下,一个 git 仓库就是一个项目,只需要配置一套 git hooks 脚本就可以执行各种校验任务。对于 monorepo 项目也是如此,monorepo 项目下的多个 packages 之间,它们是有关联的,可以互相引用,所以…...
钉钉对接打通金蝶云星空获取流程实例列表详情(宜搭)接口与其他应收单接口
钉钉对接打通金蝶云星空获取流程实例列表详情(宜搭)接口与其他应收单接口 对接系统钉钉 钉钉(DingTalk)是阿里巴巴集团专为中国企业打造的免费沟通和协同的多端平台,提供PC版,Web版和手机版,有考…...
用python做一个小项目,python做简单小项目
大家好,本文将围绕用python做一个小项目展开说明,python做简单小项目是一个很多人都想弄明白的事情,想搞清楚python入门小项目需要先了解以下几个事情。 来源丨网络 经常听到有朋友说,学习编程是一件非常枯燥无味的事情。其实&…...
输入筛选框搜索
文章目录 输入筛选框实现效果图需求前端工具版本添加依赖main.js导入依赖 代码 后端代码对应 sql对应 mapper.xml 文件的动态 sql 输入筛选框实现 效果图 需求 通过筛选框,选择公司,传入后端,后端根据公司名称去文章的内容中进行模糊查询 …...
公司植物日常护养方法备忘录
植物为我们净化空气,美化环境,我们要按照科学的经验照顾好它们。公司植物日常通用护养方法如下: 首先剪掉已经枯黄的部分。 需要晒太阳的植物按时搬到外面晒太阳,每次晒1到2个小时。 所有植物统一在每个月的20号左右施肥一次&am…...
小红书JAVA后端一面汇总总结
小红书 2 年社招 Java 后端一面的面经,面试的风格是从一个知识一层一层深入问到底层。 从 Java IO,问到 socket 底层。从 Java 内存,问到操作系统内存。所以学习知识的时候,不要只 看八股文,还是需要从点到面一层层去掌握, 才能比较好应对这类的面试场景。 问题记录 自我…...
手把手教你为WCH CH582移植CherryUSB主机栈(基于RT-Thread,含中断优化)
基于RT-Thread的WCH CH582 USB主机协议栈深度移植指南在嵌入式开发领域,USB主机功能的实现往往意味着设备能够直接连接各类USB外设,从简单的键盘鼠标到复杂的存储设备。对于使用WCH CH582这类RISC-V内核MCU的开发者而言,原厂SDK提供的USB主机…...
第二周(第12周)
1.单电源供电的二阶低通滤波器2.功率放大电路...
AI开始替人办事后,最危险的不是模型不够强,而是它把旧资料当真了
AI开始替人办事后,最危险的不是模型不够强,而是它把旧资料当真了2026年真正值得重视的AI底层能力,是让模型知道该信谁 你有没有发现一个很扎心的变化。 以前我们用AI,最怕它不会。 现在我们用AI,最怕它太会了。 它能写…...
长期使用Taotoken聚合服务对项目月度账单的可预测性提升
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 长期使用Taotoken聚合服务对项目月度账单的可预测性提升 在AI驱动的项目开发与运营中,成本控制与预算规划是团队管理者…...
告别元素变动导致的报错:探索自动化测试脚本的 AI“自愈”能力
前言:一个所有测试人都经历过的噩梦 周三晚上十一点,CI/CD流水线再次亮起红灯。 你打开日志,满屏的NoSuchElementException扑面而来。仔细一看——前端团队在昨天的版本中重构了登录页面的DOM结构,原本的#login-btn变成了#signin-button-v2,30个测试用例因此全军覆没。 …...
Lovable电商网站搭建,为什么92%的初创团队在第3周就遭遇性能雪崩?
更多请点击: https://codechina.net 第一章:Lovable电商网站搭建 Lovable 是一个面向中小商户的轻量级电商解决方案,采用现代 Web 技术栈构建,强调可扩展性、用户体验与快速部署。其核心基于 Vue 3(Composition API&a…...
【国家级攻防演练级建议】:DeepSeek私有化部署中4类隐蔽后门植入路径与实时检测方案
更多请点击: https://kaifayun.com 第一章:DeepSeek私有化部署中隐蔽后门植入的攻防对抗本质 在私有化场景下,DeepSeek模型的部署链路常跨越镜像构建、权重加载、推理服务启动及API网关接入等多个环节。攻击者可利用构建上下文污染、依赖包劫…...
DeepSeek代码审查能力白皮书(2024企业级实测报告)
更多请点击: https://kaifayun.com 第一章:DeepSeek代码审查能力白皮书(2024企业级实测报告)概述 本报告基于2024年Q1至Q3期间,面向金融、电信与云原生三大垂直行业的17家头部企业客户开展的深度实测,覆盖…...
Python到Android的魔法之旅:5步将你的代码变成移动应用
Python到Android的魔法之旅:5步将你的代码变成移动应用 【免费下载链接】python-for-android Turn your Python application into an Android APK 项目地址: https://gitcode.com/gh_mirrors/py/python-for-android 想象一下,你花了几个月时间精心…...
具身智能的发展对人类社会的影响有哪些?
具身智能对人类社会影响一、经济产业层面产业重构:催生机器人、智能制造、自动驾驶新产业,重塑生产链条效率跃升:替代重复繁重劳作,工厂、农业、物流产能大幅提升就业结构变化:低端体力岗位缩减,运维、研发…...
