*& 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 c LENGTH 4, "color
seltd TYPE c 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 c LENGTH 4, "color
seltd TYPE c 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 c 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 c 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