复制物料(参考的MMCC想法)
MMCC这个事务码没用过,也是才听到的,都是业务搞起来的。。。然后感觉这个东西有点意思,就搞搞咯
网上找的一篇文章,自己修改的。改了默认收货工厂为创建时的工厂,因为这边一直报收货工厂必输。。。不管是不是配置问题,反正可以解决。
*&---------------------------------------------------------------------* *& Report ZLYTEST_MATERIAL *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------*REPORT ZLYTEST_MATERIAL.SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME. PARAMETERS: P_WERKS0 LIKE MARC-WERKS DEFAULT '2001', P_VKORG0 LIKE MVKE-VKORG DEFAULT '2001', P_DISNSO LIKE MVKE-VTWEG DEFAULT '00', P_MBRSH LIKE MARA-MBRSH DEFAULT 'C'. SELECTION-SCREEN: END OF BLOCK B1. SELECTION-SCREEN: BEGIN OF BLOCK B2 WITH FRAME. PARAMETERS: P_MATNR LIKE MARA-MATNR DEFAULT '4000888'. PARAMETERS: P_BUKRS LIKE T001-BUKRS. PARAMETERS: P_BWKEY LIKE T001K-BWKEY. PARAMETERS: P_MATCFG LIKE MARA-MATNR DEFAULT '4000020'. SELECTION-SCREEN: END OF BLOCK B2.START-OF-SELECTION.DATA: GT_MARC TYPE TABLE OF MARC.DATA: GT_MARA TYPE TABLE OF MARA.DATA : STR_CLIENTDATA LIKE BAPI_MARA_GA,STR_PLANTDATA LIKE BAPI_MARC_GA,STR_FORECASTPARAMETERS LIKE BAPI_MPOP_GA,STR_PLANNINGDATA LIKE BAPI_MPGD_GA,STR_STORAGELOCATIONDATA LIKE BAPI_MARD_GA,STR_VALUATIONDATA LIKE BAPI_MBEW_GA,STR_SALESDATA LIKE BAPI_MVKE_GA,STR_WAREHOUSENUMBERDATA LIKE BAPI_MLGN_GA,STR_STORAGETYPEDATA LIKE BAPI_MLGT_GA,STR_PRTDATA LIKE BAPI_MFHM_GA,STR_LIFOVALUATIONDATA LIKE BAPI_MYMS_GA,TAB_GET_ALL_R TYPE TABLE OF BAPIRETURN.DATA:TAB_MATERIALDESCRIPTION TYPE TABLE OF BAPI_MAKT_GA WITH HEADER LINE,TAB_UNITSOFMEASURE TYPE TABLE OF BAPI_MARM_GA,TAB_INTERNATIONALARTNOS TYPE TABLE OF BAPI_MEAN_GA,TAB_MATERIALLONGTEXT TYPE TABLE OF BAPI_MLTX_GA,TAB_TAXCLASSIFICATIONS TYPE TABLE OF BAPI_MLAN_GA,TAB_MATERIALDESCRIPTION1 TYPE TABLE OF BAPI_MAKT WITH HEADER LINE.DATA: BEGIN OF TAB_HEAD.INCLUDE STRUCTURE BAPIMATHEAD.DATA: END OF TAB_HEAD.DATA: BEGIN OF TAB_PLANTDATA.INCLUDE STRUCTURE BAPI_MARC.DATA: END OF TAB_PLANTDATA.DATA: BEGIN OF TAB_PLANTDATAX.INCLUDE STRUCTURE BAPI_MARCX.DATA: END OF TAB_PLANTDATAX.DATA: BEGIN OF TAB_CLIENT.INCLUDE STRUCTURE BAPI_MARA.DATA: END OF TAB_CLIENT.DATA: BEGIN OF TAB_CLIENTX.INCLUDE STRUCTURE BAPI_MARAX.DATA: END OF TAB_CLIENTX.DATA: BEGIN OF TAB_SALESDATA.INCLUDE STRUCTURE BAPI_MVKE.DATA: END OF TAB_SALESDATA.DATA: BEGIN OF TAB_SALESDATAX.INCLUDE STRUCTURE BAPI_MVKEX.DATA: END OF TAB_SALESDATAX.DATA : BEGIN OF TAB_RETURN.INCLUDE STRUCTURE BAPIRET2 .DATA : END OF TAB_RETURN.DATA : TAB_RETURN_MSGS TYPE TABLE OF BAPI_MATRETURN2 .DATA: TAB_FORECAST LIKE BAPI_MPOP,TAB_FORECASTX LIKE BAPI_MPOPX,TAB_PLANGDATA LIKE BAPI_MPGD,TAB_PLANGDATAX LIKE BAPI_MPGDX,TAB_STLOCDATA LIKE BAPI_MARD,TAB_STLOCDATAX LIKE BAPI_MARDX,TAB_VALDATA LIKE BAPI_MBEW,TAB_VALDATAX LIKE BAPI_MBEWX,TAB_WAREHOUSE LIKE BAPI_MLGN,TAB_WAREHOUSEX LIKE BAPI_MLGNX,TAB_STORTYPED LIKE BAPI_MLGT,TAB_STORTYPEDX LIKE BAPI_MLGTX.DATA GT_MAKT TYPE TABLE OF BAPI_MAKT.DATA: GV_LEN TYPE I,VIEW,COUNTER TYPE SY-INDEX,GV_I TYPE I,GV_MSG(200).FIELD-SYMBOLS:<FS_MARC> TYPE BAPI_MARA_GA,"MARC,<F1> TYPE ANY,<F2> TYPE ANY,<FMS> TYPE BAPI_MATRETURN2,<FSTRUCT> TYPE ANY,<FSTRUCTX> TYPE ANY.CALL FUNCTION 'BAPI_MATERIAL_GET_ALL'EXPORTINGMATERIAL = P_MATCFGCOMP_CODE = P_BUKRSVAL_AREA = P_BWKEY * VAL_TYPE =PLANT = P_WERKS0 * STGE_LOC =SALESORG = P_VKORG0DISTR_CHAN = P_DISNSO * WHSENUMBER = * STGE_TYPE = * LIFO_VALUATION_LEVEL =IMPORTINGCLIENTDATA = STR_CLIENTDATAPLANTDATA = STR_PLANTDATAFORECASTPARAMETERS = STR_FORECASTPARAMETERSPLANNINGDATA = STR_PLANNINGDATASTORAGELOCATIONDATA = STR_STORAGELOCATIONDATAVALUATIONDATA = STR_VALUATIONDATAWAREHOUSENUMBERDATA = STR_WAREHOUSENUMBERDATASALESDATA = STR_SALESDATASTORAGETYPEDATA = STR_STORAGETYPEDATAPRTDATA = STR_PRTDATALIFOVALUATIONDATA = STR_LIFOVALUATIONDATATABLESMATERIALDESCRIPTION = TAB_MATERIALDESCRIPTIONUNITSOFMEASURE = TAB_UNITSOFMEASUREINTERNATIONALARTNOS = TAB_INTERNATIONALARTNOSMATERIALLONGTEXT = TAB_MATERIALLONGTEXTTAXCLASSIFICATIONS = TAB_TAXCLASSIFICATIONS * EXTENSIONOUT =RETURN = TAB_GET_ALL_R.* Material views update ---* SELECT * FROM MARC INTO TABLE GT_MARC * WHERE MATNR = P_MATCFG * AND WERKS = P_WERKS0. * IF SY-SUBRC = 0. * READ TABLE GT_MARC ASSIGNING <FS_MARC> INDEX 1. * IF SY-SUBRC = 0.ASSIGN STR_CLIENTDATA TO <FS_MARC>. "关于视图这块是本人修改的,原来是读的MARC用的PSTAT,可是我发现,还是用读出来的MAINT_STAT准确点COUNTER = 0. CLEAR VIEW.GV_I = STRLEN( <FS_MARC>-MAINT_STAT ).DO GV_I TIMES.VIEW = <FS_MARC>-MAINT_STAT+COUNTER(1).IF VIEW IS INITIAL. EXIT. ENDIF.COUNTER = COUNTER + 1.CASE VIEW.WHEN 'K'.TAB_HEAD-BASIC_VIEW = VIEW.WHEN 'V'.TAB_HEAD-SALES_VIEW = VIEW.WHEN 'E'.TAB_HEAD-PURCHASE_VIEW = VIEW.WHEN 'D' .TAB_HEAD-MRP_VIEW = VIEW.WHEN 'P'.TAB_HEAD-FORECAST_VIEW = VIEW.WHEN 'A'.TAB_HEAD-WORK_SCHED_VIEW = VIEW.WHEN 'F'.TAB_HEAD-PRT_VIEW = VIEW.WHEN 'L'.TAB_HEAD-STORAGE_VIEW = VIEW.WHEN 'S'.TAB_HEAD-WAREHOUSE_VIEW = VIEW.WHEN 'Q'.TAB_HEAD-QUALITY_VIEW = VIEW.WHEN 'B'.TAB_HEAD-ACCOUNT_VIEW = VIEW.WHEN 'G'.TAB_HEAD-COST_VIEW = VIEW.WHEN OTHERS.ENDCASE.ENDDO. * ENDIF. * ENDIF.TAB_HEAD-MATERIAL = P_MATNR.TAB_HEAD-IND_SECTOR = STR_CLIENTDATA-IND_SECTOR.TAB_HEAD-MATL_TYPE = STR_CLIENTDATA-MATL_TYPE.MOVE-CORRESPONDING STR_CLIENTDATA TO TAB_CLIENT.MOVE-CORRESPONDING STR_PLANTDATA TO TAB_PLANTDATA.MOVE-CORRESPONDING STR_FORECASTPARAMETERS TO TAB_FORECAST.MOVE-CORRESPONDING STR_PLANNINGDATA TO TAB_PLANGDATA.MOVE-CORRESPONDING STR_STORAGELOCATIONDATA TO TAB_STLOCDATA.MOVE-CORRESPONDING STR_VALUATIONDATA TO TAB_VALDATA.MOVE-CORRESPONDING STR_WAREHOUSENUMBERDATA TO TAB_WAREHOUSE.MOVE-CORRESPONDING STR_SALESDATA TO TAB_SALESDATA.TAB_SALESDATA-DELYG_PLNT = P_WERKS0."默认的工厂MOVE-CORRESPONDING STR_STORAGETYPEDATA TO TAB_STORTYPED.* Fill the update strukturDO .CASE SY-INDEX.WHEN 1.ASSIGN TAB_CLIENT TO <F1>.ASSIGN TAB_CLIENTX TO <F2>.PERFORM FILL_UPDATE_STRUCT USING <F1> <F2>.WHEN 2.ASSIGN TAB_PLANTDATA TO <F1>.ASSIGN TAB_PLANTDATAX TO <F2>.PERFORM FILL_UPDATE_STRUCT USING <F1> <F2>.WHEN 3.ASSIGN TAB_FORECAST TO <F1>.ASSIGN TAB_FORECASTX TO <F2>.PERFORM FILL_UPDATE_STRUCT USING <F1> <F2>.WHEN 4.ASSIGN TAB_PLANGDATA TO <F1>.ASSIGN TAB_PLANGDATAX TO <F2>.PERFORM FILL_UPDATE_STRUCT USING <F1> <F2>.WHEN 5.ASSIGN TAB_STLOCDATA TO <F1>.ASSIGN TAB_STLOCDATAX TO <F2>.PERFORM FILL_UPDATE_STRUCT USING <F1> <F2>.WHEN 6.ASSIGN TAB_VALDATA TO <F1>.ASSIGN TAB_VALDATAX TO <F2>.PERFORM FILL_UPDATE_STRUCT USING <F1> <F2>.WHEN 7.ASSIGN TAB_WAREHOUSE TO <F1>.ASSIGN TAB_WAREHOUSEX TO <F2>.PERFORM FILL_UPDATE_STRUCT USING <F1> <F2>.WHEN 8.ASSIGN TAB_SALESDATA TO <F1>.ASSIGN TAB_SALESDATAX TO <F2>.PERFORM FILL_UPDATE_STRUCT USING <F1> <F2>.WHEN 9.ASSIGN TAB_STORTYPED TO <F1>.ASSIGN TAB_STORTYPEDX TO <F2>.PERFORM FILL_UPDATE_STRUCT USING <F1> <F2>.WHEN OTHERS.EXIT.ENDCASE.ENDDO.LOOP AT TAB_MATERIALDESCRIPTION.MOVE-CORRESPONDING TAB_MATERIALDESCRIPTION TO TAB_MATERIALDESCRIPTION1.APPEND TAB_MATERIALDESCRIPTION1.ENDLOOP.TAB_SALESDATA-SALES_ORG = P_VKORG0.TAB_SALESDATA-DISTR_CHAN = P_DISNSO.CLEAR: TAB_SALESDATAX-SALES_ORG,TAB_SALESDATAX-DISTR_CHAN.TAB_SALESDATAX-SALES_ORG = TAB_SALESDATA-SALES_ORG.TAB_SALESDATAX-DISTR_CHAN = TAB_SALESDATA-DISTR_CHAN.CLEAR TAB_PLANTDATAX-PLANT.TAB_PLANTDATAX-PLANT = TAB_PLANTDATA-PLANT.CLEAR TAB_VALDATAX-VAL_AREA.TAB_VALDATAX-VAL_AREA = TAB_VALDATA-VAL_AREA.CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'EXPORTINGHEADDATA = TAB_HEADCLIENTDATA = TAB_CLIENTCLIENTDATAX = TAB_CLIENTXPLANTDATA = TAB_PLANTDATAPLANTDATAX = TAB_PLANTDATAXFORECASTPARAMETERS = TAB_FORECASTFORECASTPARAMETERSX = TAB_FORECASTXPLANNINGDATA = TAB_PLANGDATAPLANNINGDATAX = TAB_PLANGDATAXSTORAGELOCATIONDATA = TAB_STLOCDATASTORAGELOCATIONDATAX = TAB_STLOCDATAXVALUATIONDATA = TAB_VALDATAVALUATIONDATAX = TAB_VALDATAXWAREHOUSENUMBERDATA = TAB_WAREHOUSEWAREHOUSENUMBERDATAX = TAB_WAREHOUSEXSALESDATA = TAB_SALESDATASALESDATAX = TAB_SALESDATAXSTORAGETYPEDATA = TAB_STORTYPEDSTORAGETYPEDATAX = TAB_STORTYPEDX * FLAG_ONLINE = ' ' * FLAG_CAD_CALL = ' ' * NO_DEQUEUE = ' 'IMPORTINGRETURN = TAB_RETURNTABLESMATERIALDESCRIPTION = TAB_MATERIALDESCRIPTION1 * UNITSOFMEASURE = * UNITSOFMEASUREX = * INTERNATIONALARTNOS = * MATERIALLONGTEXT = * TAXCLASSIFICATIONS =RETURNMESSAGES = TAB_RETURN_MSGS.IF TAB_RETURN-TYPE = 'S'.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'EXPORTINGWAIT = 'X'.ELSE.CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.ENDIF.LOOP AT TAB_RETURN_MSGS ASSIGNING <FMS>.GV_MSG = <FMS>.WRITE:/ GV_MSG.ENDLOOP.*&---------------------------------------------------------------------* *& Form fill_update_struct *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->P_<F1> text * -->P_<F2> text *----------------------------------------------------------------------*FORM FILL_UPDATE_STRUCT USING P_F1 TYPE ANY P_F2 TYPE ANY.DO.ASSIGN COMPONENT SY-INDEX OF STRUCTURE P_F1 TO <FSTRUCT>.IF SY-SUBRC <> 0. EXIT. ENDIF.IF <FSTRUCT> IS NOT INITIAL.ASSIGN COMPONENT SY-INDEX OF STRUCTURE P_F2 TO <FSTRUCTX>.IF SY-SUBRC = 0.<FSTRUCTX> = 'X'.ENDIF.ENDIF.ENDDO. ENDFORM. " fill_update_struct
代码应该都能看懂,就不废话了。。。
转载于:https://www.cnblogs.com/sapSB/p/4815370.html
复制物料(参考的MMCC想法)相关推荐
- OGG学习笔记04-OGG复制部署快速参考
OGG学习笔记04-OGG复制部署快速参考 源端:Oracle 10.2.0.5 RAC + ASM 节点1 Public IP地址:192.168.1.27 目标端:Oracle 10.2.0.5 ...
- SAP PP 笔记(二)物料
Organizational levels for the material master record and Organization structures:物料主档的组织架构,建立这个料号有哪些 ...
- Xshell怎么快速复制粘贴
Xshell怎么快速复制粘贴 参考文章:https://jingyan.baidu.com/article/e8cdb32b00002537052badf0.html 有其他交流的想法,可以加我创建的 ...
- mysql 基于语句的复制_MySQL 复制 - 性能与扩展性的基石 1:概述及其原理
1. 复制概述 MySQL 内置的复制功能是构建基于 MySQL 的大规模.高性能应用的基础,复制解决的基本问题是让一台服务器的数据与其他服务器保持同步.接下来,我们将从复制概述及原理.复制的配置.常 ...
- xshell安装与配置,Xftp(不能连接虚拟机解决方法,sudo apt-get install openssh-server,服务没开怎么传输数据?)(虚拟机和windows之间自由复制)
文章目录 20220323 另外不能复制粘贴参考这里 参考文章:Xshell和Xftp的下载和安装教程 Xshell 5 介绍:Xshell是一个功能强大的终端模拟器,支持SSH,SFTP.TELNE ...
- 《剑指offer》-- 复杂链表的复制、字符串的排列、数组中出现次数超过一半的数字、连续子数组的最大和
一.复杂链表的复制: 参考牛客网的chancy:https://www.nowcoder.com/questionTerminal/f836b2c43afc4b35ad6adc41ec941dba 1 ...
- MySQL 复制 - 性能与扩展性的基石:概述及其原理
1. 复制概述 MySQL 内置的复制功能是构建基于 MySQL 的大规模.高性能应用的基础,复制解决的基本问题是让一台服务器的数据与其他服务器保持同步.接下来,我们将从复制概述及原理.复制的配置.常 ...
- mongodb复制集部署
部署复制集 由三个节点组成的 复制集 为网络故障或是其他的系统故障提供了足够的冗余.该复制集也有足够的分布式读操作的能力.复制集应该保持奇数个节点,这也就保证了 选举 可以正常的进行 用3台已有的 m ...
- Linux dd命令 复制(拷贝)文件,并对原文件进行转换
dd,是 device driver 的缩写,它可以称得上是"Linux 世界中的搬运工",它用来读取设备.文件中的内容,并原封不动地复制到指定位置. 其实现在的主流硬盘已经是 S ...
最新文章
- 一个检查分区内存并且发送邮件的shell脚本
- C++官方自带可持久化平衡树rope的3000行源码
- 同一个页面,两次请求保证查询条件不变(题目不太相符,我比较渣,问题都不知道怎么表述!--)...
- iOS 中二维码扫描
- request.getParameterMap()的坑
- iOS Sprite Kit教程之申请和下载证书
- ABAP package not extensible的原因
- .NET Core计划弃用project.json
- 影院平台搭建 - (6)一个靠谱的视频播放方案的感想
- linux服务器非root用户安装Anaconda,并配置tensorflow/pytorch
- 6099元!华为Mate 40 Pro 4G版开放现货
- Python入门--字典生成式,生成字典的公式
- (转)When Milliseconds Make Millions
- 数学建模—多元回归分析
- VBA 字典使用小结:关键字循环
- 51单片机培训计划(新订)
- python基础知识学习_python学习(一) 基础知识
- matlab二项式,动态规划 – 计算二项式系统 —MATLAB代码 – 算法网
- 解决VMware下安装Ubuntu 16.04 不支持1920X1080分辨率的问题
- MVC AJAXPro