MD04中计划工单的相关数据
来源:互联网 发布:java写一个简单的爬虫 编辑:程序博客网 时间:2024/05/01 17:57
通过调用函数《MD_STOCK_REQUIREMENTS_LIST_API》,将MD04中运行结果取出,展示计划工单的相关数据。
*&---------------------------------------------------------------------**& Report XXXXXXXX*&---------------------------------------------------------------------**&PROGRAM NAME : <ZPP003>*---------------------------------------------------------------------** VERSION: V1.0* DATE CREATED : 2016/07/26* CREATED BY : Ma Haifeng* TRANSPORT REQUEST: XXXXXXXXXX* DESCRIPTION : Stock Requirements List* request raised by: Li honghuaREPORT zpp003.********************************* INNITIALIZATION********************************TABLES : marc,mdkp.TYPES : BEGIN OF ltype_marc, matnr TYPE marc-matnr, werks TYPE marc-werks, END OF ltype_marc.TYPES : BEGIN OF ltype_mdkp, matnr TYPE mdkp-matnr, meins TYPE mdkp-meins, plwrk TYPE mdkp-plwrk, END OF ltype_mdkp.TYPES : BEGIN OF ltype_makt, matnr TYPE makt-matnr, maktx TYPE makt-maktx, END OF ltype_makt.DATA : lt_makt TYPE TABLE OF ltype_makt, ls_makt LIKE LINE OF lt_makt.DATA : lt_mdkp TYPE TABLE OF ltype_mdkp, ls_mdkp LIKE LINE OF lt_mdkp.DATA : lt_display TYPE TABLE OF zspp_require_list, ls_display LIKE LINE OF lt_display.********************************* SELECTION-SCREEN********************************SELECTION-SCREEN BEGIN OF BLOCK blk01 WITH FRAME.SELECT-OPTIONS:m_matnr FOR marc-matnr NO INTERVALS.PARAMETER m_werks LIKE marc-werks DEFAULT '0080'.SELECTION-SCREEN END OF BLOCK blk01.PERFORM frm_get_data.PERFORM frm_alv_display.********************************* START OF SELECTION*********************************&---------------------------------------------------------------------**& Form FRM_GET_DATA*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text* <-- p2 text*----------------------------------------------------------------------*FORM frm_get_data .* DATA : lt_innerinfo TYPE TABLE OF mdez,* ls_innerinfo LIKE LINE OF lt_innerinfo. DATA : lt_headinfo TYPE TABLE OF mt61d, ls_headinfo LIKE LINE OF lt_headinfo. DATA : lt_innerinfo TYPE TABLE OF mdps, ls_innerinfo LIKE LINE OF lt_innerinfo. DATA : num TYPE c. DATA : l_matnr TYPE marc-matnr. DATA : lt_mdisplay TYPE TABLE OF zspp_require_list, ls_mdisplay LIKE LINE OF lt_mdisplay."中间表 DATA : lt_matnr LIKE TABLE OF m_matnr, ls_matnr LIKE LINE OF lt_matnr. loop AT m_matnr. APPEND m_matnr-low to lt_matnr. ENDLOOP. IF m_matnr IS INITIAL . MESSAGE 'Please input matnr!' TYPE 'E'. ELSE. LOOP AT lt_matnr INTO ls_matnr. "补0函数 IF ls_matnr-low IS NOT INITIAL. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = ls_matnr-low IMPORTING output = ls_matnr-low. ENDIF. CALL FUNCTION 'MD_STOCK_REQUIREMENTS_LIST_API' EXPORTING matnr = ls_matnr-low werks = m_werks* IMPORTING* e_mt61d = ls_headinfo* E_MDKP =* E_CM61M =* E_MDSTA =* E_ERGBZ = TABLES mdpsx = lt_innerinfo* mdezx = lt_innerinfo* MDSUX = EXCEPTIONS material_plant_not_found = 1 plant_not_found = 2 OTHERS = 3. DELETE lt_innerinfo WHERE delkz NE 'PA'. "// 筛选计划公工单数据 LOOP AT lt_innerinfo INTO ls_innerinfo. ls_display-dat02 = ls_innerinfo-dat02. ls_display-dat01 = ls_innerinfo-dat01. ls_display-mng01 = ls_innerinfo-mng01. ls_display-delnr = ls_innerinfo-delnr. ls_display-dat00 = ls_innerinfo-dat02. ls_display-dat_1 = ls_display-dat01 - ls_display-dat00. ls_display-matnr = ls_matnr-low. APPEND ls_display TO lt_display. ENDLOOP. ENDLOOP. ENDIF. CLEAR lt_makt[]. SELECT matnr maktx FROM makt INTO CORRESPONDING FIELDS OF TABLE lt_makt FOR ALL ENTRIES IN lt_display WHERE matnr = lt_display-matnr AND spras = sy-langu. CLEAR lt_mdkp[]. SELECT matnr meins plwrk FROM mdkp INTO CORRESPONDING FIELDS OF TABLE lt_mdkp FOR ALL ENTRIES IN lt_display WHERE matnr = lt_display-matnr AND plwrk = m_werks. CLEAR ls_display. LOOP AT lt_display INTO ls_display. CLEAR ls_makt. READ TABLE lt_makt INTO ls_makt WITH KEY matnr = ls_display-matnr. ls_display-maktx = ls_makt-maktx. CLEAR ls_mdkp. READ TABLE lt_mdkp INTO ls_mdkp WITH KEY matnr = ls_display-matnr. ls_display-meins = ls_mdkp-meins. MODIFY lt_display FROM ls_display. CLEAR ls_display. ENDLOOP.ENDFORM. " FRM_GET_DATA*&---------------------------------------------------------------------**& Form FRM_ALV_DISPLAY*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text* <-- p2 text*----------------------------------------------------------------------*FORM frm_alv_display . DATA : ls_layout TYPE slis_layout_alv. DATA : lt_fieldcat TYPE slis_t_fieldcat_alv. DATA : l_repid TYPE sy-repid. PERFORM frm_build_fieldcat CHANGING lt_fieldcat. PERFORM frm_build_layout CHANGING ls_layout. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = sy-repid it_fieldcat = lt_fieldcat is_layout = ls_layout i_callback_user_command = 'FRM_USER_COMMAND'* i_callback_pf_status_set = 'FRM_PF_STATUS_SET' TABLES t_outtab = lt_display.ENDFORM. " FRM_ALV_DISPLAY*&---------------------------------------------------------------------**& Form frm_build_fieldcat*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** -->CT_FIELDCAT text*----------------------------------------------------------------------*FORM frm_build_fieldcat CHANGING ct_fieldcat TYPE slis_t_fieldcat_alv. DATA : ls_fieldcat LIKE LINE OF ct_fieldcat. REFRESH ct_fieldcat. CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING i_structure_name = 'ZSPP_REQUIRE_LIST' CHANGING ct_fieldcat = ct_fieldcat. LOOP AT ct_fieldcat INTO ls_fieldcat. CASE ls_fieldcat-fieldname. WHEN 'MNG01'. IF sy-langu = '1'. ls_fieldcat-seltext_l = '工单数量'. ELSE. ls_fieldcat-seltext_l = 'Order quantity'. ls_fieldcat-seltext_m = 'Order quantity'. ls_fieldcat-seltext_s = 'Order quantity'. ENDIF. WHEN 'DELNR'. IF sy-langu = '1'. ls_fieldcat-seltext_l = '计划工单'. ELSE. ls_fieldcat-seltext_l = 'Planned Order'. ls_fieldcat-seltext_m = 'Planned Order'. ls_fieldcat-seltext_s = 'planned Order'. ENDIF. WHEN 'DAT_1'. IF sy-langu = '1'. ls_fieldcat-seltext_l = '差异天数'. ELSE. ls_fieldcat-seltext_l = 'Difference days'. ls_fieldcat-seltext_m = 'Difference days'. ls_fieldcat-seltext_s = 'Difference days'. ENDIF. WHEN 'DAT00'. IF sy-langu = '1'. ls_fieldcat-seltext_l = '需求日期'. ELSE. ls_fieldcat-seltext_l = 'Request date'. ls_fieldcat-seltext_m = 'Request date'. ls_fieldcat-seltext_s = 'Request date'. ENDIF. WHEN 'DAT02'. IF sy-langu = '1'. ls_fieldcat-seltext_l = '工单开始日期'. ELSE. ls_fieldcat-seltext_l = 'Orderstart'. ls_fieldcat-seltext_m = 'Orderstart'. ls_fieldcat-seltext_s = 'Orderstart'. ENDIF. WHEN 'DAT01'. IF sy-langu = '1'. ls_fieldcat-seltext_l = '工单结束日期'. ELSE. ls_fieldcat-seltext_l = 'Orderfinish'. ls_fieldcat-seltext_m = 'Orderfinish'. ls_fieldcat-seltext_s = 'Orderfinish'. ENDIF. ENDCASE. MODIFY ct_fieldcat FROM ls_fieldcat TRANSPORTING seltext_l seltext_m seltext_s. ENDLOOP.ENDFORM. "frm_build_fieldcat*&---------------------------------------------------------------------**& Form frm_build_layout*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** -->CS_LAYOUT text*----------------------------------------------------------------------*FORM frm_build_layout CHANGING cs_layout TYPE slis_layout_alv. CLEAR cs_layout. MOVE 'X' TO cs_layout-detail_popup. MOVE 'X' TO cs_layout-colwidth_optimize. MOVE 'COLOR' TO cs_layout-info_fieldname.* MOVE 'SELECTED' TO cs_layout-box_fieldname.ENDFORM. " FRM_BUILD_LAYOUT*&---------------------------------------------------------------------**& Form sub_user_command*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** -->R_UCOMM text* -->US_SELECTE_FIELD text*----------------------------------------------------------------------*FORM frm_user_command USING r_ucomm LIKE sy-ucomm us_selecte_field TYPE slis_selfield. CASE r_ucomm. WHEN '&IC1'. "双击事件的功能码 READ TABLE lt_display INTO ls_display INDEX us_selecte_field-tabindex. IF us_selecte_field-fieldname = 'MATNR'. SET PARAMETER ID 'MAT' FIELD ls_display-matnr. CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN. ELSEIF us_selecte_field-fieldname = 'DELNR'. SET PARAMETER ID 'BES' FIELD ls_display-delnr. IF ls_display-delnr IS NOT INITIAL. CALL TRANSACTION 'MD13' AND SKIP FIRST SCREEN. ELSE. MESSAGE 'Purchase Order is null' TYPE 'E'. ENDIF. ENDIF. ENDCASE.ENDFORM. " SUB_USER_COMMAND
0 0
- MD04中计划工单的相关数据
- 取MD04数据的MD_STOCK_REQUIREMENTS_LIST_API函数应用
- 把MD04的数据display出来的函数
- MD04 常用的bapi
- MD04读取的一些计算表
- 软件项目管理中计划的重要性
- linux中计划任务的安排cron
- openwrt中计划任务的设置
- android 传递数据的方法(有返回值,以班组通中计划申请延期为例)
- 如此狗屎的技术,使我的网站中计.
- 在 Java 应用程序中计划重复执行的任务
- Java 应用程序中计划重复执行的任务
- 项目管理中计划编制的经典步骤
- 在 Java 应用程序中计划重复执行的任务
- 在java 应用程序中计划重复执行的任务
- 在 Java 应用程序中计划重复执行的任务
- 在 Java 应用程序中计划重复执行的任务
- 在 Java 应用程序中计划重复执行的任务
- HTML悬浮在表面
- FPGA作为从机与STM32进行SPI协议通信---Verilog实现
- 中国工程院院士:Windows 10挑战中国网络安全 已加强审查
- lua pcall 异常处理
- JS连等赋值
- MD04中计划工单的相关数据
- 透析Android 中 权重使用及分配规则(layout_weight)
- MySQL:HINT
- 必学的KNOCKOUT.JS 框架使用方法
- ICViewPager MJRefresh NewsFourApp 左侧抽屉菜单 新闻类APP模板详解(iOS版)
- Sublime text 3快捷键整理
- 推送消息发送方式
- checkbox在firefox下选中问题
- C语言之 if有括号和无括号的区别