=================
START ROUTINE
======================
BREAK-POINT.
check SOURCE_PACKAGE is not INITIAL.
refresh lt_header.
SELECT DISTINCT
/BIC/ZSTORE
/BIC/ZBUSDE
/BIC/ZFLAGS
"count( DISTINCT /BIC/ZSTORE )
INTO TABLE lt_header
FROM /BIC/AZCELT00100
FOR ALL ENTRIES IN SOURCE_PACKAGE
WHERE /BIC/ZPOSRPTID = SOURCE_PACKAGE-/BIC/ZPOSRPTID.
"group by /BIC/ZSTORE /BIC/ZBUSDE /BIC/ZSYS_FLAG.
sort lt_header by /BIC/ZSTORE /BIC/ZBUSDE.
==============================
end routine
==============================
TYPES: BEGIN OF ty_st,
/BIC/ZSYB TYPE /BIC/OIZSYB,ZSTORCUNT TYPE /BIC/OIZSTORCUNT,
END OF ty_st,
tt_st type table of ty_st.
data: lt_st type tt_st,
lw_st type ty_st.
refresh lt_st.
"60天内有销售的门店数量
DATA: ZDATE type sy-datum,
ZDATE1 type sy-datum.
ZDATE = sy-datum - 1.
ZDATE1 = sy-datum - 61.
select /BIC/ZSYB
count( DISTINCT /BIC/ZSTORE )
into table lt_st
from /BIC/AZCELT00200
WHERE /BIC/ZBUSDE >= ZDATE1
AND /BIC/ZBUSDE <= ZDATE
group by /BIC/ZSYB.
SORT lt_st BY /BIC/ZSYB.
DELETE ADJACENT DUPLICATES FROM lt_st COMPARING /BIC/ZSYB.
"*******************60天内有销售的门店数量 end
"******************取会员门店数量
TYPES: BEGIN OF ty_CRM,
/BIC/ZBUSDE TYPE /BIC/OIZBUSDE,
/BIC/ZSTORE TYPE /BIC/OIZSTORE,
END OF ty_CRM,
tt_CRM type table of ty_CRM.
data: LT_CRM type tt_CRM,
lw_CRM type ty_CRM.
refresh LT_CRM.
SELECT DISTINCT
/BIC/ZBUSDE
/BIC/ZSTORE
INTO TABLE LT_CRM
FROM /BIC/AZCCRM00300
FOR ALL ENTRIES IN RESULT_PACKAGE
WHERE /BIC/ZBUSDE = RESULT_PACKAGE-CALDAY
AND /BIC/ZSTORE = RESULT_PACKAGE-/BIC/ZSTORE.
sort LT_CRM by /BIC/ZBUSDE /BIC/ZSTORE.
DELETE ADJACENT DUPLICATES FROM LT_CRM COMPARING /BIC/ZBUSDE
/BIC/ZSTORE.
"********************取会员门店数量 end
BREAK-POINT.
LOOP AT RESULT_PACKAGE ASSIGNING <result_fields>.
"60天内有销售的店铺数量
CLEAR lw_st.
READ TABLE lt_st INTO lw_st
WITH KEY /BIC/ZSYB = <result_fields>-/BIC/ZSYB
BINARY SEARCH.
IF SY-SUBRC = 0.
<result_fields>-/BIC/ZYXDPS = lw_st-ZSTORCUNT.
ENDIF.
"各个系统使用门店数
CLEAR lw_header.
LOOP AT lt_header INTO lw_header
WHERE /BIC/ZSTORE = <result_fields>-/BIC/ZSTORE
AND /BIC/ZBUSDE = <result_fields>-CALDAY.
"POS
IF lW_header-/BIC/ZFLAGS ='CPS'.
<result_fields>-/BIC/ZCPSCUNT = 1.
ENDIF.
"ELT
IF lW_header-/BIC/ZFLAGS ='ELT'.
<result_fields>-/BIC/ZELTCOUNT = 1.
ENDIF.
"WebPos
IF lW_header-/BIC/ZFLAGS ='WPS'.
<result_fields>-/BIC/ZWPSCUNT = 1.
ENDIF.
ENDLOOP.
"会员系统
CLEAR LW_CRM.
READ TABLE LT_CRM INTO LW_CRM
WITH KEY /BIC/ZSTORE = <result_fields>-/BIC/ZSTORE
/BIC/ZBUSDE = <result_fields>-CALDAY
“BINARY SEARCH.
IF SY-SUBRC = 0.
<result_fields>-/BIC/ZCRMCUNT = 1.
ENDIF.
ENDLOOP.