当前位置: 首页 > news >正文

SAP PP生产补料单功能分享

一、功能逻辑

二、功能界面

三、功能代码

*&---------------------------------------------------------------------*
*& 程序名: ZRPPP_0014
*& 创建者(公司)/日期:*
*& 程序描述:
*&
*&---------------------------------------------------------------------*
*& 版本/修改者(公司)/日期//修改描述
*&
*&---------------------------------------------------------------------*
REPORT zrppp_0014.

INCLUDE zrppp_0014_top.

INCLUDE zrppp_0014_scr.

INCLUDE zrppp_0014_frm.



AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_zid-low.
  PERFORM show_values.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_zid-high.
  PERFORM show_values1.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_zblnum-low.
  PERFORM show_values2.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_zblnum-high.
  PERFORM show_values3.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_kostl-low.
  PERFORM show_values4.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_kostl-high.
  PERFORM show_values5.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_zblnum.
  PERFORM show_values6.


INITIALIZATION.

 DATA itab_list TYPE vrm_values.
  itab_list = VALUE #(
                      ( key = '0' text = '已创建' )
                      ( key = '1' text = '已过账' )
                     ).
  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      id     = 'ZZT'
      values = itab_list.
  REFRESH itab_list.

START-OF-SELECTION.

  PERFORM check_auth.

  PERFORM get_dat.

  PERFORM alv.

*&---------------------------------------------------------------------*
*& 包含               ZRPPP_0014_TOP
*&---------------------------------------------------------------------*

TABLES:resb,ztpp011_head.

DATA:BEGIN OF gt_item OCCURS 0,
       aufnr      TYPE aufnr,
       arbpl      TYPE arbpl,
       kostl      LIKE cskt-kostl, "成本中心
       ltext      LIKE cskt-ltext, "成本中心长文本
       zblnum     TYPE zbfnum,
       zrspos     TYPE zrspos,
       rsnum      LIKE resb-rsnum,
       rspos      LIKE resb-rspos,
       matnr      TYPE resb-matnr,
       maktx      LIKE makt-maktx,
       werks      LIKE resb-werks,
       lgort      LIKE resb-lgort,
       bdmng      LIKE resb-bdmng, "需求数
       enmng      LIKE resb-enmng, "提货数
       meins      TYPE resb-meins,
       enmng1     LIKE resb-enmng, "补料数
       zid(12),
       ztxt4      TYPE i, "打印次数
       loekz      TYPE ztpp005-loekz,
       ztxt2(200),"备注
       erdat      TYPE erdat,
       uzeit      TYPE uzeit,
       menge1     TYPE menge_d, "报废数量
       menge2     TYPE menge_d, "已打补领数量
       mblnr      TYPE mblnr,
       zmptp(3),
       statu(1),
       labst      TYPE labst,
       mark ,"TYPE check_box,
     END OF gt_item.

"权限控制
DATA:actvt_01 TYPE c, "创建
     actvt_02 TYPE c, "打印
     actvt_03 TYPE c, "删除
     actvt_04 TYPE c. "过账

"F4帮助
DATA:BEGIN OF gt_name OCCURS 0,"用户ID
       ernam     TYPE ekko-ernam,
       name_last TYPE adrp-name_last,
     END OF gt_name,
     BEGIN OF gt_zbldh OCCURS 0,
       zblnum TYPE ztpp011_head-zblnum,
       erdat  TYPE ztpp011_head-erdat,
       zid    TYPE ztpp011_head-zid,
       werks  TYPE ztpp011_head-werks,
       statu  TYPE ztpp011_head-statu,
     END OF gt_zbldh,
     BEGIN OF gt_cskt OCCURS 0,
       kokrs TYPE cskt-kokrs,
       kostl TYPE cskt-kostl,
       ltext TYPE cskt-ltext,
       datbi TYPE cskt-datbi,
     END OF gt_cskt.

"alv参数
DATA:it_fieldcat TYPE slis_t_fieldcat_alv,
     wa_fieldcat LIKE LINE OF it_fieldcat,
     is_layout   TYPE lvc_s_layo,
     is_fact     TYPE lvc_s_fcat,
     it_layout   TYPE slis_layout_alv.
CONSTANTS cns_user_command TYPE slis_formname VALUE 'ALV_USER_COMMAND'.

"打印参数
DATA:g_fm_name  TYPE rs38l_fnam,
     gw_options TYPE ssfcompop,
     gw_control TYPE ssfctrlop.

"ALV 相关变量定义
DATA:lt_fcat TYPE lvc_t_fcat,
     ls_layo TYPE lvc_s_layo.
DATA:is_grid_settings TYPE lvc_s_glay.

DATA:gs_ztpp011 TYPE ztpp011_head,
     l_lgort    TYPE lgort_d,
     gt_ztpp011 TYPE TABLE OF ztpp011 WITH HEADER LINE.

"领料过账
DATA:goodsmvt_header TYPE TABLE OF bapi2017_gm_head_01 WITH HEADER LINE.
DATA:goodsmvt_code TYPE TABLE OF bapi2017_gm_code WITH HEADER LINE.
DATA:goodsmvt_item TYPE TABLE OF bapi2017_gm_item_create WITH HEADER LINE .
DATA:goodsmvt_headret TYPE TABLE OF bapi2017_gm_head_ret WITH HEADER LINE.
DATA:materialdocument TYPE bapi2017_gm_head_ret-mat_doc.
DATA:goodsmvt_serialnumber TYPE TABLE OF bapi2017_gm_serialnumber WITH HEADER LINE.
DATA:return TYPE TABLE OF bapiret2 WITH HEADER LINE.
DATA:l_mblnr TYPE mseg-mblnr.

DATA:gs_out TYPE zspp007,
     gt_out TYPE TABLE OF zspp007.
DATA job_output_info TYPE ssfcrescl.

*&---------------------------------------------------------------------*
*& 包含               ZRPPP_0014_SCR
*&---------------------------------------------------------------------*


SELECTION-SCREEN BEGIN OF BLOCK t1 WITH FRAME TITLE TEXT-001.
  PARAMETERS:r1 RADIOBUTTON GROUP r1 USER-COMMAND cmd DEFAULT 'X',
             r2 RADIOBUTTON GROUP r1,
             r3 RADIOBUTTON GROUP r1.
SELECTION-SCREEN END OF BLOCK t1.

SELECTION-SCREEN BEGIN OF BLOCK t2 WITH FRAME TITLE TEXT-002.
  SELECT-OPTIONS s_werks FOR resb-werks MODIF ID g2.
  PARAMETERS:
             p_aufnr TYPE resb-aufnr MODIF ID g3.
  SELECT-OPTIONS:s_aufnr FOR resb-aufnr MODIF ID g2,
                 s_zblnum FOR ztpp011_head-zblnum MODIF ID g2.
  PARAMETERS:
             p_zblnum TYPE ztpp011_head-zblnum MODIF ID g4.
  SELECT-OPTIONS: s_erdat FOR ztpp011_head-erdat MODIF ID g2,
              s_matnr FOR resb-matnr MODIF ID g2,
              s_zid FOR ztpp011_head-zid MODIF ID g2,
              s_kostl FOR ztpp011_head-kostl MODIF ID g2.
  PARAMETERS:zzt TYPE char10 DEFAULT '0' AS  LISTBOX VISIBLE LENGTH 15 MODIF ID g2  .
  PARAMETERS:cx AS CHECKBOX MODIF ID g2.
  PARAMETERS:p_date TYPE sy-datum DEFAULT sy-datum MODIF ID g4.
SELECTION-SCREEN END OF BLOCK t2.


AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF r1 = 'X'.
      IF screen-group1 = 'G2' OR  screen-group1 = 'G4' .
        screen-active = 0.
      ENDIF.
    ELSEIF r2 = 'X'.
      IF screen-group1 = 'G3' OR  screen-group1 = 'G4'.
        screen-active = 0.
      ENDIF.
    ELSEIF r3 = 'X'.
      IF screen-group1 = 'G3' OR  screen-group1 = 'G2' .
        screen-active = 0.
      ENDIF.
    ENDIF.
    MODIFY SCREEN.
  ENDLOOP.

*&---------------------------------------------------------------------*
*& 包含               ZRPPP_0014_FRM
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form check_auth
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM check_auth .
  CLEAR:actvt_01,actvt_02,actvt_03,actvt_04.

  AUTHORITY-CHECK OBJECT 'ZLLD'
           ID 'ACTVT' FIELD '01'."创建领料单
  IF sy-subrc EQ 0.
    actvt_01 = 'X'.
  ENDIF.

  AUTHORITY-CHECK OBJECT 'ZLLD'
           ID 'ACTVT' FIELD '04'."打印领料单
  IF sy-subrc EQ 0.
    actvt_02 = 'X'.
  ENDIF.

  AUTHORITY-CHECK OBJECT 'ZLLD'
         ID 'ACTVT' FIELD '06'."删除领料单
  IF sy-subrc EQ 0.
    actvt_03 = 'X'.
  ENDIF.

  AUTHORITY-CHECK OBJECT 'ZLLD'
         ID 'ACTVT' FIELD '10'."领料单过账及冲销
  IF sy-subrc EQ 0.
    actvt_04 = 'X'.
  ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form get_dat
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM get_dat .
  DATA: l_arbpl       TYPE arbpl,
        l_kostl       TYPE kostl,
        l_ltext       TYPE kltxt,
        order_objects TYPE bapi_pp_order_objects,
        return        TYPE bapiret2,
        operation     TYPE TABLE OF  bapi_order_operation1 WITH HEADER LINE.

  IF r1 = 'X'.
    IF actvt_01 <> 'X'.
      MESSAGE '无权限创建补领料单' TYPE 'I' DISPLAY LIKE 'E' .
      STOP.
    ENDIF.
    IF p_aufnr IS INITIAL.
      MESSAGE '请输入工单号' TYPE 'I' DISPLAY LIKE 'E' .
      STOP.
    ENDIF.

  ELSEIF  r2 = 'X' .
    IF s_werks IS INITIAL AND s_aufnr IS INITIAL AND s_zblnum IS INITIAL AND s_erdat IS INITIAL
    AND s_matnr IS INITIAL AND s_zid IS INITIAL AND s_kostl IS INITIAL.
  

http://www.dtcms.com/a/562993.html

相关文章:

  • php公司网站系统拼多多一件代发免费货源
  • 昆明专业网站建设模板长沙网站se0推广优化公司
  • 东莞 网站建设 保健品火车头采集器wordpress下载
  • 网站响应式图片切换代码seo站外推广有哪些
  • 网站网页设计海报图片久安网络微信网站建设
  • 做网站视频一般上传到哪里代练平台
  • 济南专业网站制作公司wordpress丢失网络连接
  • 网站域名到期会怎么样网站备案系统验证码出错的解决方案
  • 公司重名 做网站计算机专业网站开发方向
  • 建设一个网站要学什么音乐 版权 做视频网站
  • 成品ppt网站佛山seo结算
  • 如何在头条上做网站推广建设机械网站渠道
  • 指针深入第三弹--回调函数,qsort函数使用的运用
  • 微网站分享功能推广新网站
  • 酒店电子商务网站建设阿德莱德做网站
  • 最新网站建设网站策划做啥
  • 原创文章网站开发教程网络哪家公司比较好
  • 网站备案 新网永久新域名225222
  • 网络营销导向企业网站建设的一般原则是什么?动画制作培训学院
  • 仿冒网站制作eclipse 网站开发源码
  • 网站制作学校百度大数据中心
  • 网站开发的岗位it运维方案
  • 宁波专业建设网站建站公司wordpress 歌
  • swiper做的网站南水北调建设管理局网站
  • sql server做网站wordpress留言标签
  • 高密网站开发网站备案ip地址
  • 网站改版建设,有哪些内容滕州英文网站建设
  • 最好的锦州网站建设开源网站程序
  • 网站公司怎么做网站制作公司高端
  • 视频网站不赚钱为什么还做百度关键词搜索指数查询