批量创建可配置物料参数文件
启用可配置物料之后,每次创建新的物料需要通过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 内存,问到操作系统内存。所以学习知识的时候,不要只 看八股文,还是需要从点到面一层层去掌握, 才能比较好应对这类的面试场景。 问题记录 自我…...

深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

基于Java+VUE+MariaDB实现(Web)仿小米商城
仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意:运行前…...

DBLP数据库是什么?
DBLP(Digital Bibliography & Library Project)Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高,数据库文献更新速度很快,很好地反映了国际计算机科学学术研…...
redis和redission的区别
Redis 和 Redisson 是两个密切相关但又本质不同的技术,它们扮演着完全不同的角色: Redis: 内存数据库/数据结构存储 本质: 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能: 提供丰…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践
前言:本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中,跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南,你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案,并结合内网…...

Vue3 PC端 UI组件库我更推荐Naive UI
一、Vue3生态现状与UI库选择的重要性 随着Vue3的稳定发布和Composition API的广泛采用,前端开发者面临着UI组件库的重新选择。一个好的UI库不仅能提升开发效率,还能确保项目的长期可维护性。本文将对比三大主流Vue3 UI库(Naive UI、Element …...

中科院1区顶刊|IF14+:多组学MR联合单细胞时空分析,锁定心血管代谢疾病的免疫治疗新靶点
中科院1区顶刊|IF14:多组学MR联合单细胞时空分析,锁定心血管代谢疾病的免疫治疗新靶点 当下,免疫与代谢性疾病的关联研究已成为生命科学领域的前沿热点。随着研究的深入,我们愈发清晰地认识到免疫系统与代谢系统之间存在着极为复…...