批量开物料账期的程序
*&---------------------------------------------------------------------*
*&?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
總結
以上是生活随笔為你收集整理的批量开物料账期的程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【性能优化】EKPO/EKBE和LIPS
- 下一篇: Enhancement spot 增强点