进销存明细表(含双击跳转)

本文详细介绍了如何构建一个进销存明细表,并实现双击表格条目时跳转到对应详细信息页面的功能。通过这种方式,提升了库存管理效率,实现了数据的快速查看和深度分析。
摘要由CSDN通过智能技术生成





*&---------------------------------------------------------------------*

*& Report  ZMMR004
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT  zmmr004  NO  STANDARD  PAGE HEADING .
TABLES mbewh mara mard mkpf .
*kk
TYPE-POOLS slis .

DATA BEGIN  OF gt_itab  OCCURS  0 ,
        matnr  LIKE mara -matnr ,                            "物料号
        maktx  LIKE makt -maktx ,                            "物料描述
        meins  LIKE mara -meins ,                            "单位
        zsqjc  LIKE mseg -menge ,                            "上期结存
        zbqjh  LIKE mseg -menge ,                            "本期进货
        zbqth  LIKE mseg -menge ,                            "本期退货
        bqbcs  LIKE mseg -menge ,                            "本期拨出数
        bqbrs  LIKE mseg -menge ,                            "本期拨入数
        cbzxf  LIKE mseg -menge ,                            "成本中心发料数
        cbzxt  LIKE mseg -menge ,                            "成本中心退料数
        zbqhy  LIKE mseg -menge ,                            "本期耗用
        zbqjc  LIKE mseg -menge ,                            "本期结存
        lgort  LIKE mseg -lgort ,                            "库位
        lgobe  LIKE t001l -lgobe ,                           "库位描述
        werks  LIKE mseg -werks ,
        zqty   LIKE mseg -menge ,
        reffi  TYPE mara -meins ,
       END  OF gt_itab .


DATA gt_itab2  LIKE gt_itab  OCCURS  0   WITH  HEADER  LINE   .


DATA BEGIN  OF gt_matr  OCCURS  0 ,
        matnr  LIKE mara -matnr ,
        lgort  LIKE mard -lgort ,
       END  OF gt_matr .

DATA BEGIN  OF gt_mbew  OCCURS  0 ,
        matnr  LIKE mara -matnr ,
        werks  LIKE mard -werks ,
        lgort  LIKE mard -lgort ,
        lbkum  LIKE mbewh -lbkum ,
        insme  LIKE mardh -insme ,
        speme  LIKE mardh -speme ,
       END  OF gt_mbew .

DATA BEGIN  OF gt_mseg  OCCURS  0 ,
        matnr  LIKE mara -matnr ,
        werks  LIKE mseg -werks ,
        lgort  LIKE mseg -lgort ,
        bwart  LIKE mseg -bwart ,
        shkzg  LIKE mseg -shkzg ,
        menge  LIKE mseg -menge ,
        meins  LIKE mseg -meins ,
        smbln  LIKE mseg -smbln ,
        smblp  LIKE mseg -smblp ,
        mblnr  LIKE mseg -mblnr ,
        zeile  LIKE mseg -zeile ,
        insmk  LIKE mseg -insmk ,
        urzei  LIKE mseg -urzei  "原始行项目主要是调拨时会有问题 质检
       END  OF gt_mseg .

DATA gt_mseg2  LIKE gt_mseg  OCCURS  WITH  HEADER  LINE .
DATA gt_mseg3  LIKE gt_mseg  OCCURS  WITH  HEADER  LINE .
DATA gt_mseg4  LIKE gt_mseg  OCCURS  WITH  HEADER  LINE .
DATA budat_low   LIKE mkpf -budat ,
      budat_high  LIKE mkpf -budat ,
      year ( 4 )     TYPE  c ,
      month ( 2 )    TYPE  c ,
      year1 ( 4 )    TYPE  c ,
      mont1 ( 2 )    TYPE  c ,
      year2 ( 4 )    TYPE  c ,
      mont2 ( 2 )    TYPE  c ,
      date1       LIKE mkpf -budat ,
      date3       LIKE mkpf -budat ,
      date2       LIKE mkpf -budat .


DATA BEGIN  OF gs_mbmps ,
        smbln  LIKE m_mbmps -smbln ,
        smblp  LIKE m_mbmps -smblp ,
        mblnr  LIKE m_mbmps -mblnr ,
        zeile  LIKE m_mbmps -zeile ,
       END  OF gs_mbmps .

DATA  gt_mbmps  LIKE  TABLE  OF gs_mbmps  .


*DATA: BEGIN OF gs_qals,
*        mblnr LIKE qals-mblnr,
*        zeile LIKE qals-zeile,
*      END OF gs_qals.
*
*DATA gt_qals LIKE TABLE OF gs_qals .



DATA BEGIN  OF gs_qamb ,
        mblnr  LIKE qamb -mblnr ,
        zeile  LIKE qamb -zeile ,
        werk   LIKE mseg -werks ,
       END  OF gs_qamb .

DATA gt_qamb  LIKE  TABLE  OF gs_qamb  .
DATA gt_qamb2  LIKE  TABLE  OF gs_qamb  .


DATA qmatv  LIKE marc -qmatv .

DATA TYPE  i .

*&---------------------------------------------------------------------*
*&      SELECTION-SCREEN
*&---------------------------------------------------------------------*
SELECTION-SCREEN : BEGIN  OF  BLOCK blk1  WITH  FRAME   TITLE  TEXT - 001 .
PARAMETERS :p_werks  LIKE mard -werks  DEFAULT  '1000' .

SELECT-OPTIONS s_budat  FOR mkpf -budat OBLIGATORY  DEFAULT sy -datum ,
                s_lgort  FOR mard -lgort ,
                s_mtart  FOR mara -mtart ,
                s_matkl  FOR mara -matkl ,
                s_matnr  FOR mara -matnr .

SELECTION-SCREEN  END  OF  BLOCK blk1 .

AT  SELECTION-SCREEN  OUTPUT .
   LOOP  AT s_budat .
     IF s_budat -low  IS  INITIAL  AND s_budat -high  IS  NOT  INITIAL .
       CONCATENATE sy -datum+0 ( 6 '01'  INTO s_budat -low .
*      s_budat-low = s_budat-high.
       MODIFY s_budat .
     ELSEIF s_budat -high  IS  INITIAL  AND s_budat -low  IS  NOT  INITIAL .
      s_budat -high  s_budat -low .
       CONCATENATE sy -datum+0 ( 6 '01'  INTO s_budat -low .
       MODIFY s_budat .
     ENDIF .
   ENDLOOP .

*&---------------------------------------------------------------------*
*&      START_OF_SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION .

   PERFORM get_data .
   PERFORM process_data .

*&---------------------------------------------------------------------*
*&      END_OF_SELECTION
*&---------------------------------------------------------------------*
END-OF-SELECTION .
   PERFORM write_data .

*&---------------------------------------------------------------------*
*&      Form  GET_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM get_data  .

   READ  TABLE s_budat  INDEX  1 .
   CONCATENATE s_budat -low+0 ( 4 s_budat -low+4 ( 2 '01'  INTO budat_low .
  budat_high  s_budat -low .

  year  s_budat -low+0 ( 4 ) .
  month  s_budat -low+4 ( 2 ) .

   IF month  '01' .
    month  '12' .
    year  year  1 .
   ELSE .
    month  month  1 .
   ENDIF .

   CALL  FUNCTION  'CONVERSION_EXIT_ALPHA_INPUT'
     EXPORTING
       input   month
     IMPORTING
       output  month
     EXCEPTIONS
       OTHERS  1 .
  mont1  month .
  year1  year .

   CLEAR s_budat
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT养家和SAP养家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值