批量开物料账期的程序
*&---------------------------------------------------------------------*
*& BDC调用MMPV批量开物料帐账期
*&---------------------------------------------------------------------*
REPORT zmmpv NO STANDARD PAGE HEADING.
TABLES:t000, marv.
DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF messtab OCCURS 0.
INCLUDE STRUCTURE bdcmsgcoll.
DATA: END OF messtab.
DATA: BEGIN OF itab_log OCCURS 0,
message(132) TYPE c,
END OF itab_log.
DATA: datum TYPE sy-datum.
PARAMETERS: p_bukrs TYPE bukrs OBLIGATORY MEMORY ID buk,
p_frdat TYPE sy-datum ,
p_todat TYPE sy-datum ,
p_mode LIKE ctu_params-dismode AS LISTBOX DEFAULT 'E' VISIBLE LENGTH 16 OBLIGATORY .
INITIALIZATION.
CONCATENATE sy-datum(6) '01' INTO p_todat.
AT SELECTION-SCREEN OUTPUT.
%_p_bukrs_%_app_%-text = '公司代码'.
%_p_frdat_%_app_%-text = '当前期间'.
%_p_todat_%_app_%-text = '开到期间'.
%_p_mode_%_app_%-text = 'BDC运行模式'.
AT SELECTION-SCREEN ON p_bukrs.
ON CHANGE OF p_bukrs.
SELECT SINGLE * FROM marv
WHERE bukrs = p_bukrs.
IF sy-subrc = 0.
CONCATENATE marv-lfgja marv-lfmon '01' INTO p_frdat.
ELSE.
MESSAGE e000(oo) WITH '公司代码' p_bukrs '不存在物料帐数据'.
ENDIF.
LEAVE SCREEN.
ENDON.
START-OF-SELECTION.
IF p_frdat IS INITIAL OR p_frdat = '' OR
p_todat IS INITIAL OR p_todat = ''.
MESSAGE e000(oo) WITH '日期不可以为空'.
ENDIF.
SELECT SINGLE * FROM t000
WHERE mandt = sy-mandt AND
cccategory = 'P'.
IF sy-subrc = 0.
MESSAGE s000(oo) WITH '不可以在生产系统使用本程序'.
RETURN.
ENDIF.
p_frdat = p_frdat + 32.
CONCATENATE p_frdat(6) '01' INTO datum.
WHILE datum(6) <= p_todat(6).
PERFORM bdc.
datum = datum + 32.
datum+6(2) = '01'.
ENDWHILE.
MESSAGE s000(oo) WITH '完毕,请使用MMRV查看结果'.
LOOP AT itab_log.
WRITE / itab_log.
ENDLOOP.
*&---------------------------------------------------------------------*
*& Form bdc
*&---------------------------------------------------------------------*
FORM bdc.
DATA: option TYPE ctu_params .
option-dismode = p_mode.
option-racommit = 'X'.
CLEAR: bdcdata,bdcdata[].
PERFORM bdc_dynpro USING 'RMMMPERI' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE' '=ONLI'.
PERFORM bdc_field USING 'I_VBUKR' p_bukrs.
PERFORM bdc_field USING 'I_BBUKR' p_bukrs.
PERFORM bdc_field USING 'I_DATUM' datum.
PERFORM bdc_dynpro USING 'SAPMSSY0' '0120'.
PERFORM bdc_field USING 'BDC_OKCODE' '=&F03'.
PERFORM bdc_dynpro USING 'RMMMPERI' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE' '/EE'.
CALL TRANSACTION 'MMPV' USING bdcdata
OPTIONS FROM option MESSAGES INTO messtab.
LOOP AT messtab.
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
EXPORTING
msgid = messtab-msgid
msgnr = messtab-msgnr
msgv1 = messtab-msgv1
msgv2 = messtab-msgv2
msgv3 = messtab-msgv3
msgv4 = messtab-msgv4
IMPORTING
message_text_output = itab_log-message.
APPEND itab_log.
CLEAR itab_log.
ENDLOOP.
ENDFORM. "bdc
*----------------------------------------------------------------------*
* Start new screen *
*----------------------------------------------------------------------*
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. "BDC_DYNPRO
*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
FORM bdc_field USING fnam fval.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
CONDENSE bdcdata-fval.
APPEND bdcdata.
ENDFORM. "BDC_FIELD
批量开物料账期的程序相关推荐
- 当APO生产订单报工遇到物料账期没开
7月1日,在测试环境中通过VA01建了一个包含25台的销售订单,MMP计划排程后,产生了25个生产计划,其中有一个计划号是212640,RPM BOM展开.MRP计算物料需求做完,再做PPC1完工确认 ...
- SAP如何将物料账期跨年月一次性开到当前
SAP如何将物料账期跨年月一次性开到当前 SAP 学习中使用IDES系统,里面公司的物料账期可能是在十几年前,如果使用MMPV一个一个月关和开,那将是非常耗时工作. 下面介绍一个方法,将物料账期跨年月 ...
- SAP 打开或关闭财务账期和物料账期等事物代码清单-OB52/MMPV/MMRV/OKP1/1KEF
文章目录 1.FI账期 1.1 财务账期-OB52或 S_ALR_87003642 2.CO账期 2.1 控制范围账期-OKP1 2.2 利润中心账期-1KEF 3.物料账期-OMSY/MMPV/MM ...
- 打开财务账期和物料账期code
物料账期:Tcode MMPV和Tcode MMRV 财务账期:Tcode OKP1 和OB52
- 物料账期、财务账期之间区别
物料账期:Tcode MMPV和Tcode MMRV 财务账期:Tcode OKP1 和OB52 一.MMPV 调整财务物料帐结算的期间,只能逐月的进行调整.如果系统目前是07年2月份的物料帐,现在要 ...
- SAP中财务账期和物料账期系统内表
SAP中财务账期系统内表:财务账期表:T001B SAP中物料账期系统内表:物料账期表:MARV
- SAP ABAP 检查物料账期函数
"James_lx 2021.11.04 添加过滤掉不在账期中的数据 开始 loop at gt_log into data(gs_log). SELECT SINGLE BWKEY ...
- 查看打开物料账期 MMRV 和 MMPV
用MMRV查看物料账期 . 用事务:MMPV 打开物料账期. 例如本例子是打开2022年11月的物料账期.操作如下图: 再用MMRV查看,账期改变了.
- SAP License:修改物料账期
还有一种是用程序的方法更改,作用与此类似. 参考代码(将6000工厂的期间更改为第4期,上一期为第3期): REPORT ZZZZZ. data: wk_marv type marv. select ...
最新文章
- 【TeeChart Pro ActiveX教程】(八):ADO数据库访问(上)
- 0x08 大数据分析,七层基本功
- 教你如何在项目中集成推送功能
- 职场真实故事计划##职场干货# 职场晋升之路
- AndroidStudio安卓原生开发_一个activity中引用多个fragment_以及不同activity中复用某个fragment---Android原生开发工作笔记117
- ENVI去除NDVI/EVI异常值、NAN(not a number,无效值)、无穷大(inf)
- Python错误:'tuple' object is not callable
- 随机森林模型调参方法
- 基于SSH保险业务管理系统的设计与实现
- android 调色盘插件,Adobe co CC2017下载
- 政府行政管理思维与互联网思维
- vivo NEX3史上最强旗舰机!瀑布屏+骁龙855+44W+5G,对战华为
- IMU输出的角度、角速度、加速度信息的坐标系
- Typora收费了, 还有哪些好用的markdown工具
- pythonsuper继承规则,Python用super继承
- 使用RestTemplate上传文件
- 如何在Edit中切换为默认输入法
- windows下驱动安装
- Wince平台软件打包
- .vue文件_Spring Boot + Vue 前后端分离,两种文件上传方式总结!