SAP库存管理报表(含无价厂)

该博客主要介绍了SAP库存管理报表的实现,包括无价厂库存,涉及表格数据结构、字段信息以及特殊库存管理。通过程序详细展示了如何获取和处理库存数据,如物料、批次、存储位置等,并提供了成本计算和标准价格获取的函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

*&---------------------------------------------------------------------*
*& Program name: ZCOR00057
*& Description : 库存管理报表(含无价厂)
*&---------------------------------------------------------------------*
*& Change History:                                                     *
*& Ver.  SR/Project  Date       Author     Description                 *
*& ----- ----------- ---------- ---------- ----------------------------*
*& V001  Create      2015/08/26 Evan.Xu    Creation                    *
*&---------------------------------------------------------------------*

REPORT zcor00057  NO  STANDARD  PAGE HEADING  MESSAGE-ID zpp01.

INCLUDE ZCOR00057_TOP.
INCLUDE ZCOR00057_F01.

*---------------------------------------------------------------------*
*        INITIALIZATION                                               *
*---------------------------------------------------------------------*
INITIALIZATION.
   PERFORM data_ini.

***********************************************************************
*Selection Events Processing
***********************************************************************
AT  SELECTION-SCREEN OUTPUT.


*---------------------------------------------------------------------*
*        AT SELECTION-SCREEN                                          *
*---------------------------------------------------------------------*
AT SELECTION-SCREEN.
   CASE sscrfields-ucomm.
     WHEN  'FC01'"...........下載規格書
       PERFORM download_require_spec.
     WHEN OTHERS.
       PERFORM check_auth.
  ENDCASE.

*---------------------------------------------------------------------*
*        START-OF-SELECTION                                           *
*---------------------------------------------------------------------*

START-OF-SELECTION.
   PERFORM get_data.
   IF gt_marc  IS INITIAL.
     MESSAGE i002  WITH  'No data found!'.
     LEAVE LIST-PROCESSING.
  ENDIF.
   PERFORM process_data.


*---------------------------------------------------------------------*
*        END-OF-SELECTION                                             *
*---------------------------------------------------------------------*

END-OF-SELECTION.
   PERFORM build_alv.
   PERFORM alv_init.

  PERFORM display_alv.




*&---------------------------------------------------------------------*
*&  Include           ZCOR00057_TOP
*&---------------------------------------------------------------------*

TABLES: mara,mard,mbew,marc,zco057_t01,t001,mska,zsco_stock_loc.

DATA: BEGIN OF gw_detail,
        bukrs TYPE t001-bukrs,   "Company Code
        butxt TYPE t001-butxt,   "Company name
        name2 TYPE adrc-name2,   "short name of company
        werks TYPE mard-werks,   "Plant
        name1 TYPE t001w-name1,  "Plant name
        bklas TYPE mbew-bklas,   "Valuation Class   **

        lgort TYPE mard-lgort,   "Storage Location
        lgobe TYPE t001l-lgobe,  "Description of Storage Location
        bptnr TYPE abi_bprtnr,   "Storage Location/Business partner
        name1_bp TYPE lfa1-name1,   "Business partner

        ltype TYPE zco057_t01-ltype,  "Category1 (Mark)
        sytag TYPE zco057_t01-sytag,  "Category2 (Mark)
        pttxt TYPE zco057_t01-pttxt,  "Category (Mark)

        matnr TYPE mard-matnr,   "Material
        maktx TYPE makt-maktx,   "Material Description

        prctr TYPE marc-prctr,    "Profit Center
        mtart TYPE mara-mtart,   "Material Type
        matkl TYPE mara-matkl,   "Material Group

        "spart TYPE mara-spart,   "Division
        "maabc TYPE marc-maabc,   "ABC indicator
        sobkz TYPE mska-sobkz,   "Special Stock
        labst  TYPE mard-labst,   "Qty On Hand
        meins TYPE mara-meins,   "Base Unit of Measure(UM)
        pvprs TYPE p LENGTH 13 DECIMALS 5,  "Current Unit Price(實際單位成本)
        acost TYPE p LENGTH 13 DECIMALS 2,  "Current Stock Value(實際成本)

        stprs TYPE p LENGTH 13 DECIMALS 5,  "Standard unit cost(标准单位成本)
        scost TYPE p LENGTH 13 DECIMALS 2,  "Standard Amount(标准成本)

        waers TYPE t001-waers,   "Currency
        aufnr TYPE aufk-aufnr,    "WO NO

        lcolor TYPE LENGTH 4,   "color
        seltd TYPE LENGTH 1,    "Select Box

      END OF gw_detail.

DATA: BEGIN OF gw_total,
        ltype TYPE zco057_t01-ltype,  "Category1
        sytag TYPE zco057_t01-sytag,  "Category2
        pttxt TYPE zco057_t01-pttxt,  "category text
        acost TYPE p LENGTH 13 DECIMALS 2,  "Actual Amount(实际成本)
        waers TYPE t001-waers,   "Currency

        lcolor TYPE LENGTH 4,   "color
        seltd TYPE LENGTH 1,    "Select Box
      END OF gw_total.

DATA: BEGIN OF gw_marc,
        werks  TYPE mard-werks,   "Plant
        matnr  TYPE mard-matnr,   "Material
        maktx  TYPE makt-maktx,   "Material Description
        mtart  TYPE mara-mtart,   "Material Type
        matkl  TYPE mara-matkl,   "Material Group
        prctr  TYPE marc-prctr,    "Profit Center
        meins  TYPE mara-meins,   "Base Unit of Measure
        dummy  TYPE c,            "无价厂标记
        werk2  TYPE mard-werks,   "无价厂对应有价厂
        bklas  TYPE mbew-bklas,   "Valuation class
        kaln1  TYPE mbew-kaln1,   "Cost Estimate Number - Product Costing
      END OF gw_marc.

DATA: BEGIN OF gw_mardh,
        matnr LIKE mardh-matnr,
        werks LIKE mardh-werks,
        lgort LIKE mardh-lgort,
        lfgja LIKE mardh-lfgja,
        lfmon LIKE mardh-lfmon,
        labst LIKE mardh-labst,  "Valuated Unrestricted-Use Stock
        umlme LIKE mardh-umlme,  "Stock in transfer (from one storage location to another)
        insme LIKE mardh-insme,  "Stock in Quality Inspection
        einme LIKE mardh-einme,  "Total Stock of All Restricted Batches
        speme LIKE mardh-speme,  "Blocked Stock
        retme LIKE mardh-retme,  "Blocked Stock Returns
        "lvorm LIKE mardh-lvorm,  "Flag Material for Deletion at Storage Location Level
      END OF gw_mardh.

DATA: BEGIN OF gw_mska,    "for special stock "E"
        werks LIKE mska-werks,
        matnr LIKE mska-matnr,
        lgort LIKE mska-lgort,
        sobkz LIKE mska-sobkz,
        vbeln LIKE mska-vbeln,
        posnr LIKE mska-posnr,
        "lfgja LIKE mska-lfgja,
        "lfmon LIKE mska-lfmon,
        kalab LIKE mska-kalab,  "Valuated Unrestricted-Use Stock
        kains LIKE mska-kains,  "Stock in Quality Inspection
        kaspe LIKE mska-kaspe,  "Blocked Stock
        kaein LIKE mska-kaein,  "Total Stock of All Restricted Batches
      END OF gw_mska.

DATA: BEGIN OF gw_mslb,    "for special stock "O"
        werks LIKE mslb-werks,
        matnr LIKE mslb-matnr,
        sobkz LIKE mslb-sobkz,
        lifnr LIKE mslb-lifnr,
        lfgja LIKE mslb-lfgja,
        lfmon LIKE mslb-lfmon,
        lblab LIKE mslb-lblab,  "Valuated Unrestricted-Use Stock
        lbins LIKE mslb-lbins,  "Stock in Quality Inspection
        lbein LIKE mslb-lbein,  "Total Stock of All Restricted Batches
      END OF gw_mslb.

DATA: BEGIN OF gw_spstock,    "for special stock collect
        werks LIKE mska-werks,
        matnr LIKE mska-matnr,
        bptnr TYPE abi_bprtnr,   "Storage Location/Business partner
        sobkz LIKE mska-sobkz,
        ssnum LIKE bickey-ssnum, "Special stock number
        labst  TYPE mard-labst,   "Qty On Hand
      END OF gw_spstock.
DATA: gt_mska LIKE TABLE OF gw_mska,
      gt_mslb LIKE TABLE OF gw_mslb,
      gt_spstock LIKE TABLE OF gw_spstock.

DATA: BEGIN OF gw_mseg,
        werks  TYPE mseg-werks,    "Plant
        matnr  TYPE mseg-matnr,    "Material
        mblnr  TYPE mseg-mblnr,    "Material document
        mjahr  TYPE mseg-mjahr,    "Material Document Year
        zeile  TYPE mseg-zeile,    "Material document Item
        budat  TYPE mkpf-budat,    "Posting Date
        menge  TYPE mseg-menge,    "Quantity
        meins  TYPE mseg-meins,    "U/M
        shkzg  TYPE mseg-shkzg,    "Debit/Credit Indicator
        lgort  TYPE mseg-lgort,    "Storage Location
        "charg  TYPE mseg-charg,    "Batch
        sobkz  TYPE mseg-sobkz,    "Special Stock Indicator
        "bwart  TYPE mseg-bwart,    "Movement Type
        "bukrs  TYPE mseg-bukrs,    "Company Code
        lifnr  TYPE mseg-lifnr,    "Vendor Account Number
        mat_kdauf TYPE mseg-mat_kdauf,    "Sales Order Number of Valuated Sales Order Stock
        mat_kdpos TYPE mseg-mat_kdpos,    "Sales Order Item of Valuated Sales Order Stock
        cpudt  TYPE mkpf-cpudt,     "Date of entry
        cputm  TYPE mkpf-cputm,     "Time of Entry
      END OF gw_mseg.

DATA: BEGIN OF gw_mseg_sum,
        werks  TYPE mseg-werks,    "Plant
        matnr  TYPE mseg-matnr,    "Material
        lgort  TYPE mseg-lgort,    "Storage Location
        menge  TYPE mseg-menge,    "Quantity
END OF gw_mseg_sum.

DATA: BEGIN OF gw_mseg_sum_sp,  "for special stock
        werks  TYPE mseg-werks,    "Plant
        matnr  TYPE mseg-matnr,    "Material
        ssnum LIKE bickey-ssnum, "Special stock number
        "bptnr TYPE abi_bprtnr,   "Storage Location/Business partner
        sobkz  TYPE mseg-sobkz,    "Special Stock Indicator
        menge  TYPE mseg-menge,    "Quantity
END OF gw_mseg_sum_sp.

DATA: BEGIN OF gw_t001l,
        werks LIKE t001l-werks, "Plant
        lgort LIKE t001l-lgort, "Storage Location
        lgobe LIKE t001l-lgobe, "Description of Storage Location
      END OF gw_t001l.

DATA: BEGIN OF gw_aufk,
        bukrs LIKE aufk-bukrs,      "Company code
        werks LIKE aufk-werks,      "Plant
        aufnr LIKE aufk-aufnr,      "WO No.
        objnr LIKE aufk-objnr,      "Object number
        stat  LIKE jcds-stat,       "Object status
        udate LIKE jcds-udate,      "Date
        prctr LIKE aufk-prctr,      "Profit Center
        auart LIKE aufk-auart,      "Order Type
        ktext LIKE aufk-ktext,      "Head Material Desc.
      END OF gw_aufk.

DATA: BEGIN OF gw_afpo,
        aufnr LIKE afpo-aufnr,    "WO No.
        matnr LIKE afpo-matnr,    "WO material
      END OF gw_afpo.

DATA: BEGIN OF gw_cosp,
        objnr LIKE cosp-objnr,  "Object number
        wkg001  LIKE cosp-wkg001,  "Total Value in Controlling Area Currency
        wkg002  LIKE cosp-wkg002,
        wkg003  LIKE cosp-wkg003,
        wkg004  LIKE cosp-wkg004,
        wkg005  LIKE cosp-wkg005,
        wkg006  LIKE cosp-wkg006,
        wkg007  LIKE cosp-wkg007,
        wkg008  LIKE cosp-wkg008,
        wkg009  LIKE cosp-wkg009,
        wkg010  LIKE cosp-wkg010,
        wkg011  LIKE cosp-wkg011,
        wkg012  LIKE cosp-wkg012,
      END OF gw_cosp.

DATA: BEGIN OF gw_ckmlcr,
        bdatj LIKE ckmlcr-bdatj,  "Posting date YYYY
        poper LIKE ckmlcr-poper,  "Posting period
        curtp LIKE ckmlcr-curtp,  "Currency Type and Valuation View
        peinh LIKE ckmlcr-peinh,  "Price unit
        vprsv LIKE ckmlcr-vprsv,  "Price control indicator
*        stprs LIKE ckmlcr-stprs,  "Standard price
*        pvprs LIKE ckmlcr-pvprs,  "Periodic unit price
        stprs TYPE p LENGTH 15 DECIMALS 2,  "Standard price
        pvprs TYPE p LENGTH 15 DECIMALS 2,  "Periodic unit price
        waers LIKE ckmlcr-waers,  "Currency Key
        salk3 LIKE ckmlcr-salk3,  "Value of total valuated stock
        salkv LIKE ckmlcr-salkv,  "Value based on the periodic unit price (only with pr.ctrl S)
        lbkum LIKE ckmlpp-lbkum,  "Total valuated stock
      END OF gw_ckmlcr.

DATA: gt_aufk LIKE TABLE OF gw_aufk,
      gt_afpo LIKE TABLE OF gw_afpo,
      gt_cosp LIKE TABLE OF gw_cosp.

DATA: gt_detail LIKE TABLE OF gw_detail,
      gt_total LIKE TABLE OF gw_total,
      gt_marc LIKE TABLE OF gw_marc,
      gt_mardh LIKE TABLE OF gw_mardh,
      gt_mseg LIKE TABLE OF gw_mseg,
      gt_mseg_sp LIKE TABLE OF gw_mseg,
      gt_mseg_sum_sp LIKE TABLE OF gw_mseg_sum_sp,
      gt_mseg_sum LIKE TABLE OF gw_mseg_sum,
      gt_t001l LIKE TABLE OF gw_t001l.

DATA: gw_zco057_t01 LIKE zco057_t01,
      gt_zco057_t01 LIKE TABLE OF zco057_t01.
DATA: gw_zpp103_t01 LIKE zpp103_t01,
      gt_zpp103_t01 LIKE TABLE OF zpp103_t01.

RANGES: gr_werks FOR mard-werks,
        gr_sytag FOR zco057_t01-sytag.

DATA: g_lfgja LIKE mardh-lfgja,   "获取期末库存的年份
      g_lfmon LIKE mardh-lfmon,   "获取期末库存的月份
      g_price TYPE LENGTH 1.    "查看Detail之Price和cost权限标记

DATA: BEGIN OF gw_field,
        fname TYPE name_feld,
      END OF gw_field.
DATA gt_field LIKE TABLE OF gw_field.

CONSTANTS:  c_tilde(01) TYPE VALUE '~',
            c_waers_gc LIKE t001-waers VALUE 'USD'.

TYPE-POOLS: icon.
TABLES: sscrfields.
DATA: functxt TYPE smp_dyntxt.

*-----Data variable for use of ALV------------------------------------*
TYPE-POOLS: slis.
DATA: gw_fieldcat         TYPE slis_fieldcat_alv.
DATA: gt_fieldcat         TYPE slis_t_fieldcat_alv,
      gt_events           TYPE slis_t_event,
      gw_print            TYPE slis_print_alv,
      gt_sp_group         TYPE slis_t_sp_group_alv,
      g_list_top_of_page  TYPE slis_t_listheader,
      gt_sort             TYPE slis_t_sortinfo_alv WITH HEADER LINE,
      gt_listheader       TYPE slis_t_listheader,
      gw_layout           TYPE slis_layout_alv.

DATA: gw_variant  LIKE disvariant,
      g_save(1) VALUE 'A',
      g_exit(1),
      gs_repid   LIKE sy-repid.

*---------------------------------------------------------------------*
*        SELECTION SCREEN                                             *
*---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.

SELECT-OPTIONS: s_bukrs FOR t001-bukrs OBLIGATORY,
                s_werks FOR mard-werks OBLIGATORY,
                s_lgort FOR mard-lgort NO-DISPLAY,
                s_bptnr FOR zsco_stock_loc-bptnr,   "Storage Location/Vendor/Customer
                s_matnr FOR mard-matnr,
                s_matkl FOR mara-matkl,   "Material Group
                s_sobkz FOR mska-sobkz NO-DISPLAY,   "Special Stock
                s_bklas FOR mbew-bklas,   "Valuation Class
                s_mtart FOR mara-mtart,   "Material Type
                s_prctr FOR marc-prctr OBLIGATORY,   "Profit Center
                s_sytag FOR zco057_t01-sytag.

SELECTION-SCREEN SKIP.
PARAMETERS: p_edate LIKE rm61r-bisdt OBLIGATORY DEFAULT sy-datum. "End selection date

SELECTION-SCREEN SKIP.

PARAMETERS: p_gcurr TYPE check DEFAULT 'X' NO-DISPLAY, "Display by group currency
            p_specd TYPE check DEFAULT 'X' NO-DISPLAY.

PARAMETERS: p_all  RADIOBUTTON GROUP rg1 DEFAULT 'X'"库存分析
            p_bad  RADIOBUTTON GROUP rg1.             "不良分析

SELECTION-SCREEN SKIP.

PARAMETERS: p_summ AS CHECKBOX DEFAULT 'X'"Summary by BU

SELECTION-SCREEN SKIP.
SELECTION-SCREEN COMMENT /1(79) text-002.
SELECTION-SCREEN COMMENT /1(79) text-003.
SELECTION-SCREEN COMMENT /1(79) text-004.
SELECTION-SCREEN COMMENT /1(79) text-005.
SELECTION-SCREEN COMMENT /1(79) text-006.
SELECTION-SCREEN COMMENT /1(79) text-007.

SELECTION-SCREEN END OF BLOCK blk1.

SELECTION-SCREEN FUNCTION KEY 1.  "Button: 下載規格書





*&---------------------------------------------------------------------*
*&  Include           ZCOR00057_F01
*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*&      Form  data_ini
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM data_ini .
**set
  gs_repid = sy-repid.
  g_save = 'A'.
  CLEAR: gw_variant.
  gw_variant-report = gs_repid.
  gw_variant-username = sy-uname.

  functxt-icon_id   = icon_export.
  functxt-quickinfo = '下載需求規格書'.
  functxt-icon_text = '下載規格書'.
  sscrfields-functxt_01 = functxt.

ENDFORM.                    " d

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值