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

SAP PP生产退料单功能分享

一、功能逻辑

二、功能界面

三、功能代码

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

INCLUDE zrppp_0011_top.

INCLUDE zrppp_0011_scr.

INCLUDE zrppp_0011_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_ztlnum-low.
  PERFORM show_values2.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_ztlnum-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.

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.

  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.


  PERFORM get_dat.


  PERFORM alv.

*&---------------------------------------------------------------------*
*& 包含               ZRPPP_0011_TOP
*&---------------------------------------------------------------------*
TABLES:resb,ztpp010_head.
DATA:BEGIN OF gt_item OCCURS 0,
       aufnr     TYPE resb-aufnr,
       rsnum     TYPE resb-rsnum,
       rspos     TYPE resb-rspos,
       matnr     TYPE resb-matnr,
       maktx     TYPE maktx,
       werks     TYPE resb-werks,
       lgort     TYPE resb-lgort,
       bdmng     TYPE resb-bdmng,
       meins     TYPE resb-meins,
       enmng     TYPE resb-enmng,
       enmng1    TYPE resb-enmng, "退料数量
       zid       TYPE ernam,
       arbpl     TYPE arbpl,
       kostl     TYPE kostl,
       ltext     TYPE kltxt,
       ztlnum    TYPE zbfnum,
       zrspos    TYPE zrspos,
       erdat     TYPE erdat,
       uzeit     TYPE uzeit,
       loekz     TYPE ztpp010-loekz,
       ztxt1(40),"抬头物料文本
       ztxt2(40),"备注
       ztxt4     TYPE num,
       mark ,"TYPE check_box,
       matnr01   TYPE resb-matnr,
       maktx01   TYPE maktx,
       mblnr     TYPE mblnr,
       zmptp(3),"凭证类型
       statu(1),
       enmng2    TYPE resb-enmng, "已创建未过账退料数量
     END OF gt_item.

"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_ztldh OCCURS 0,
       ztlnum TYPE ztpp010_head-ztlnum,
       erdat  TYPE ztpp010_head-erdat,
       zid    TYPE ztpp010_head-zid,
       werks  TYPE ztpp010_head-werks,
     END OF gt_ztldh,
     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.

TYPE-POOLS:icon,slis.
"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.
DATA i_grid_title TYPE lvc_title.
DATA:job_output_info TYPE ssfcrescl,
     errtab          TYPE tsferror.

"ALV 相关变量定义
DATA:lt_fcat TYPE lvc_t_fcat,
     ls_layo TYPE lvc_s_layo.
DATA:is_grid_settings TYPE lvc_s_glay.
DATA :gs_ztpp010 TYPE ztpp010_head,
      gt_ztpp010 TYPE TABLE OF ztpp010 WITH HEADER LINE.
DATA:gs_out TYPE zspp008,
     gt_out TYPE TABLE OF zspp008.


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


"退料过账
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:l_labst TYPE mard-labst. "已领料数
DATA:l_lgort TYPE lgort_d."库存地

*&---------------------------------------------------------------------*
*& 包含               ZRPPP_0011_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:p_werks FOR resb-werks MODIF ID g2.
  PARAMETERS: p_ztlnum TYPE ztpp010_head-ztlnum MODIF ID g4,
              p_aufnr  TYPE resb-aufnr MODIF ID g3.
  SELECT-OPTIONS:s_aufnr FOR resb-aufnr MODIF ID g2,
                 s_ztlnum FOR ztpp010_head-ztlnum MODIF ID g2,
                 s_erdat FOR ztpp010_head-erdat MODIF ID g2,
                 s_matnr FOR resb-matnr MODIF ID g2,
                 s_zid FOR ztpp010_head-zid MODIF ID g2,
                 s_kostl FOR ztpp010_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_0011_FRM
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form get_dat
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM get_dat .
  DATA:gt_resb TYPE TABLE OF resb WITH HEADER LINE,
       gt_makt TYPE TABLE OF makt WITH HEADER LINE.
  DATA:l_arbpl TYPE arbpl,
       l_kostl TYPE kostl,
       l_ltext TYPE kltxt.
  DATA:BEGIN OF gt_afpo OCCURS 0,
         aufnr  TYPE afpo-aufnr,
         matnr  TYPE afpo-matnr,
         maktx  TYPE makt-maktx,
         zzxmbm TYPE ztmm_marc-zzxmbm,
         zzkwbm TYPE ztmm_mara-zzkwbm,
       END OF gt_afpo.
  DATA:BEGIN OF temp OCCURS 0,
         ztlnum TYPE zbfnum,
         zrspos TYPE zrspos,
         rsnum  TYPE rsnum,
         rspos  TYPE rspos,
         enmng1 TYPE enmng,
       END OF temp.
  DATA:order_objects TYPE bapi_pp_order_objects,
       return        TYPE bapiret2,
       operation     TYPE TABLE OF  bapi_order_operation1 WITH HEADER LINE.

  IF r1 = 'X'.
    i_grid_title = '退料单-创建'.
  ELSEIF r2 = 'X'.
    i_grid_title = '退料单-浏览'.
  ELSEIF r3 = 'X'.
    i_grid_title = '退料单-过账'.
  ENDIF.

  IF r1 = 'X'.
    IF p_aufnr IS 

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

相关文章:

  • 机器学习实践项目(二)- 房价预测 - 处理数据
  • 网站asp.net安装谷歌搜索广告
  • 成功案例 品牌网站wordpress网站的配置文件
  • wordpress插件教程福州百度seo
  • 网站建设与微信公众号绑定创建网页的代码
  • 常州做网站的 武进如何开发手机端网站
  • 产品展示网站源码php好玩的传奇
  • 如何做购物网站的教程潍坊企业建站系统
  • 低价网站建设案例seolxw
  • 网站内容设计模板一个小型购物网站开发
  • 武陟外贸英文网站建设餐饮平台app有哪些
  • 高效文件同步工具:rsync 命令详解
  • 建设网站用什么语言编写怎么注册一个自己的平台
  • 济南网络建站模板什么网站免费制作
  • 青龙建站网wordpress安装创建数据库
  • 濮阳大濮网联系电话广东seo网站优化公司
  • 网站手机适配跳转外贸SOHO建公司网站
  • 购物网站建设图标大全临海市住房与城乡建设规划局 网站
  • 商务网站建设项目的技术可行性上海网页设计师培训
  • 深圳建站公司一般需要多久ps做字幕模板下载网站有哪些
  • xiaomiAir13.3升级专用存储安装Ubuntu
  • 泉州网站建设方案服务开网站需要投资多少钱
  • 南通网站免费建设公司网站服务器选择
  • 有域名和服务器怎么建网站快速微信网站建设
  • 【开发者导航】高速精准的实时目标检测工具:YOLOv8 详细介绍
  • 第二十一周周报
  • 濮阳河南网站建设wordpress 知乎模版
  • PlantKnow---植物识别App
  • mqtt 5.0和mqtt 3.1.1主要区别有哪些
  • dw做网站一般需要多大尺寸数字广东网络建设有限公司介绍