开始例程
CHECK SOURCE_PACKAGE IS NOT INITIAL.
"实收金额为0删除
DELETE SOURCE_PACKAGE WHERE /BIC/ZDTLFTAMT = 0.
CLEAR: L_MAX_DATE.
SORT SOURCE_PACKAGE BY
/BIC/ZBUSDE DESCENDING.
LOOP AT SOURCE_PACKAGE ASSIGNING <SOURCE_FIELDS>.
L_MAX_DATE = <SOURCE_FIELDS>-/BIC/ZBUSDE.
EXIT.
ENDLOOP.
IF L_MAX_DATE IS NOT INITIAL.
DELETE FROM /BIC/AZCELT07300 WHERE CALDAY = L_MAX_DATE.
ENDIF.
"保存90天数据
DATA: L_DATE TYPE D.
L_DATE = SY-DATUM - 91.
DELETE FROM /BIC/AZCELT07300 WHERE CALDAY = L_DATE.
结束例程
PROGRAM trans_routine.
*---------------------------------------------------------------------*
* CLASS routine DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_transform DEFINITION.
PUBLIC SECTION.
* Attributs
DATA:
p_check_master_data_exist
TYPE RSODSOCHECKONLY READ-ONLY,
*- Instance for getting request runtime attributs;
* Available information: Refer to methods of
* interface 'if_rsbk_request_admintab_view'
p_r_request
TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.
PRIVATE SECTION.
TYPE-POOLS: rsd, rstr.
* Rule specific types
TYPES:
BEGIN OF _ty_s_TG_1,
* Field: RECORD.
RECORD TYPE RSARECORD,
* InfoObject: ZMATERIAL 物料.
/BIC/ZMATERIAL TYPE /BIC/OIZMATERIAL,
* InfoObject: ZGRID 网格值.
/BIC/ZGRID TYPE /BIC/OIZGRID,
* InfoObject: ZSTORE 店铺主数据.
/BIC/ZSTORE TYPE /BIC/OIZSTORE,
* InfoObject: ZFLAG2 标志2.
/BIC/ZFLAG2 TYPE /BIC/OIZFLAG2,
* InfoObject: ZBZIRK 合并片区.
/BIC/ZBZIRK TYPE /BIC/OIZBZIRK,
* InfoObject: ZSYB 事业部.
/BIC/ZSYB TYPE /BIC/OIZSYB,
* InfoObject: ZCHANNEL 渠道.
/BIC/ZCHANNEL TYPE /BIC/OIZCHANNEL,
* InfoObject: ZXM_DD 督导姓名.
/BIC/ZXM_DD TYPE /BIC/OIZXM_DD,
* InfoObject: ZPQJL 片区经理.
/BIC/ZPQJL TYPE /BIC/OIZPQJL,
* InfoObject: ZZJNAME 总监名称.
/BIC/ZZJNAME TYPE /BIC/OIZZJNAME,
* InfoObject: ZCLASSL 产品大类.
/BIC/ZCLASSL TYPE /BIC/OIZCLASSL,
* InfoObject: ZCLASSM 产品中类.
/BIC/ZCLASSM TYPE /BIC/OIZCLASSM,
* InfoObject: ZCLASSS 产品小类.
/BIC/ZCLASSS TYPE /BIC/OIZCLASSS,
* InfoObject: ZBRAND 品牌.
/BIC/ZBRAND TYPE /BIC/OIZBRAND,
* InfoObject: ZFLAG 标志.
/BIC/ZFLAG TYPE /BIC/OIZFLAG,
* InfoObject: 0CALDAY 日历日.
CALDAY TYPE /BI0/OICALDAY,
* InfoObject: 0RECORDMODE BW 增量处理: 更新模式.
RECORDMODE TYPE RODMUPDMOD,
* InfoObject: 0CALWEEK 日历年/周.
CALWEEK TYPE /BI0/OICALWEEK,
* InfoObject: 0CALMONTH2 日历月.
CALMONTH2 TYPE /BI0/OICALMONTH2,
* InfoObject: 0CALQUART1 季度.
CALQUART1 TYPE /BI0/OICALQUART1,
* InfoObject: 0CALYEAR 日历年.
CALYEAR TYPE /BI0/OICALYEAR,
* InfoObject: 0CALMONTH 日历年/月.
CALMONTH TYPE /BI0/OICALMONTH,
* InfoObject: 0CALQUARTER 日历年/季度.
CALQUARTER TYPE /BI0/OICALQUARTER,
* InfoObject: 0CUSTOMER 客户编号.
CUSTOMER TYPE /BI0/OICUSTOMER,
* InfoObject: 0DISTR_CHAN 分销渠道.
DISTR_CHAN TYPE /BI0/OIDISTR_CHAN,
* InfoObject: ZQDLX 渠道.
/BIC/ZQDLX TYPE /BIC/OIZQDLX,
* InfoObject: ZATWTBCC 尺寸文本.
/BIC/ZATWTBCC TYPE /BIC/OIZATWTBCC,
* InfoObject: ZATWTBYS 颜色文本.
/BIC/ZATWTBYS TYPE /BIC/OIZATWTBYS,
* InfoObject: ZPER_DD 督导ID.
/BIC/ZPER_DD TYPE /BIC/OIZPER_DD,
* InfoObject: ZAREA_MAR 片区经理.
/BIC/ZAREA_MAR TYPE /BIC/OIZAREA_MAR,
* InfoObject: ZZJCODE 总监编号.
/BIC/ZZJCODE TYPE /BIC/OIZZJCODE,
* InfoObject: ZPRTK3 物料K3码.
/BIC/ZPRTK3 TYPE /BIC/OIZPRTK3,
* InfoObject: ZDTLQTY 零售数量.
/BIC/ZDTLQTY TYPE /BIC/OIZDTLQTY,
* InfoObject: 0BASE_UOM 基本计量单位.
BASE_UOM TYPE /BI0/OIBASE_UOM,
* InfoObject: ZDTLFTAMT 实收金额.
/BIC/ZDTLFTAMT TYPE /BIC/OIZDTLFTAMT,
* InfoObject: 0LOC_CURRCY 本币.
LOC_CURRCY TYPE /BI0/OILOC_CURRCY,
* InfoObject: ZZJXJ_AMT 经销总额.
/BIC/ZZJXJ_AMT TYPE /BIC/OIZZJXJ_AMT,
* InfoObject: ZRTRLAMT 终端零售总额(即按终端零售单价计算得的总金额).
/BIC/ZRTRLAMT TYPE /BIC/OIZRTRLAMT,
* InfoObject: ZNTJAMT 南通成本价总额.
/BIC/ZNTJAMT TYPE /BIC/OIZNTJAMT,
* InfoObject: ZSLPX 按数量排序.
/BIC/ZSLPX TYPE /BIC/OIZSLPX,
* InfoObject: ZJEPX 按金额排序.
/BIC/ZJEPX TYPE /BIC/OIZJEPX,
END OF _ty_s_TG_1.
TYPES:
_ty_t_TG_1 TYPE STANDARD TABLE OF _ty_s_TG_1
WITH NON-UNIQUE DEFAULT KEY.
*$*$ begin of global - insert your declaration only below this line *-*
... "insert your code here
"/BIC/AZCSTORE00
TYPES: BEGIN OF TY_S_STORE,
/BIC/ZSTORE TYPE /BIC/OIZSTORE,
/BIC/ZBZIRK TYPE /BIC/OIZBZIRK,
/BIC/ZSYB TYPE /BIC/OIZSYB,
/BIC/ZCHANNEL TYPE /BIC/OIZCHANNEL,
END OF TY_S_STORE,
TY_T_STORE TYPE TABLE OF TY_S_STORE.
DATA: LT_STORE TYPE TY_T_STORE,
LS_STORE TYPE TY_S_STORE.
"/BIC/PZMATERIAL
TYPES: BEGIN OF TY_S_ZMATERIAL,
/BIC/ZMATERIAL TYPE /BIC/OIZMATERIAL,
/BIC/ZBRAND TYPE /BIC/OIZBRAND,
END OF TY_S_ZMATERIAL,
TY_T_ZMATERIAL TYPE TABLE OF TY_S_ZMATERIAL.
DATA: LT_ZMATERIAL TYPE TY_T_ZMATERIAL,
LS_ZMATERIAL TYPE TY_S_ZMATERIAL.
DATA: L_MAX_DATE TYPE D,
L_MIN_DATE TYPE D.
*$*$ end of global - insert your declaration only before this line *-*
METHODS
new_record__end_routine
IMPORTING
source_segid type rstran_segid
source_record type sytabix
EXPORTING
record_new type sytabix.
METHODS
end_routine
IMPORTING
request type rsrequest
datapackid type rsdatapid
segid type rsbk_segid
EXPORTING
monitor type rstr_ty_t_monitors
CHANGING
RESULT_PACKAGE type _ty_t_TG_1
RAISING
cx_rsrout_abort
cx_rsbk_errorcount.
METHODS
inverse_end_routine
IMPORTING
i_th_fields_outbound TYPE rstran_t_field_inv
I_R_SELSET_OUTBOUND TYPE REF TO CL_RSMDS_SET
i_is_main_selection TYPE rs_bool
i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
i_r_universe_inbound TYPE REF TO CL_RSMDS_UNIVERSE
CHANGING
c_th_fields_inbound TYPE rstran_t_field_inv
c_r_selset_inbound TYPE REF TO CL_RSMDS_SET
c_exact TYPE rs_bool.
ENDCLASS. "routine DEFINITION
*$*$ begin of 2nd part global - insert your code only below this line *
... "insert your code here
*$*$ end of 2nd part global - insert your code only before this line *
*---------------------------------------------------------------------*
* CLASS routine IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_transform IMPLEMENTATION.
*----------------------------------------------------------------------*
* Method end_routine
*----------------------------------------------------------------------*
* Calculation of result package via end routine.
* Note: Update of target fields depends on rule assignment in
* transformation editor. Only fields that have a rule assigned,
* are updated to the data target.
*----------------------------------------------------------------------*
* <-> result package
*----------------------------------------------------------------------*
METHOD end_routine.
*=== Segments ===
FIELD-SYMBOLS:
<RESULT_FIELDS> TYPE _ty_s_TG_1.
DATA:
MONITOR_REC TYPE rstmonitor.
*$*$ begin of routine - insert your code only below this line *-*
... "insert your code here
*-- fill table "MONITOR" with values of structure "MONITOR_REC"
*- to make monitor entries
... "to cancel the update process
* raise exception type CX_RSROUT_ABORT.
****************************************
"ZFLAG2 标志赋值说明
*A 门店层汇总
*A1 单品销售数量TOP
*A2 单品销售金额TOP
*A3 小类销售数量TOP
*A4 小类销售金额TOP
*A5 中类销售数量TOP
*A6 中类销售金额TOP
*A7 大类类销售数量TOP
*A8 大类销售金额TOP
*B 片区层汇总
*C 渠道层汇总
*D 事业部层汇总
*E 督导层汇总
*F 片区经理层汇总
*G 总监层汇总
*H 品牌层汇总
****************************************
DATA: LT_RESULT_TMP1 TYPE STANDARD TABLE OF /BIC/AZCELT06500 WITH
NON-UNIQUE DEFAULT KEY.
DATA: LT_RESULT_TMP2 LIKE LT_RESULT_TMP1.
DATA: LT_RESULT_TMP LIKE LT_RESULT_TMP1.
DATA: LS_RESULT_TMP TYPE /BIC/AZCELT06500,
LS_RESULT_TMP1 TYPE /BIC/AZCELT06500,
LS_RESULT_TMP2 TYPE /BIC/AZCELT06500.
DATA: LT_RESULT TYPE _ty_t_TG_1,
LT_RESULT_TMP3 TYPE _ty_t_TG_1.
DATA: LS_RESULT TYPE _ty_s_TG_1,
LS_RESULT_TMP3 TYPE _ty_s_TG_1.
DATA: ZZSLPX TYPE /BIC/OIZSLPX, "按数量排序
ZZJEPX TYPE /BIC/OIZJEPX, "按金额排序.
L_RECORD TYPE I,
ZZSTORE TYPE /BIC/OIZSTORE,
ZZBZIRK TYPE /BIC/OIZBZIRK,
ZZCHANNEL TYPE /BIC/OIZCHANNEL,
ZZSYB TYPE /BIC/OIZSYB,
ZZXM_DD TYPE /BIC/OIZXM_DD,
ZZPQJL TYPE /BIC/OIZPQJL,
ZZJNAME TYPE /BIC/OIZZJNAME.
L_RECORD = 0.
REFRESH LT_STORE.
SELECT /BIC/ZSTORE
/BIC/ZBZIRK
/BIC/ZSYB
/BIC/ZCHANNEL
INTO TABLE LT_STORE
FROM /BIC/AZCSTORE00
FOR ALL ENTRIES IN RESULT_PACKAGE
WHERE /BIC/ZSTORE = RESULT_PACKAGE-/BIC/ZSTORE.
SORT LT_STORE BY /BIC/ZSTORE.
DELETE ADJACENT DUPLICATES FROM LT_STORE COMPARING /BIC/ZSTORE.
REFRESH LT_ZMATERIAL.
SELECT /BIC/ZMATERIAL
/BIC/ZBRAND
INTO TABLE LT_ZMATERIAL
FROM /BIC/PZMATERIAL
FOR ALL ENTRIES IN RESULT_PACKAGE
WHERE /BIC/ZMATERIAL = RESULT_PACKAGE-/BIC/ZMATERIAL.
SORT LT_ZMATERIAL BY /BIC/ZMATERIAL.
DELETE ADJACENT DUPLICATES FROM LT_ZMATERIAL COMPARING /BIC/ZMATERIAL
.
****************按物料TOP*******************
"1.1按门店销售数量排序
REFRESH: LT_RESULT_TMP3,LT_RESULT_TMP1,LT_RESULT_TMP2.
LT_RESULT_TMP3[] = RESULT_PACKAGE[].
CLEAR LS_RESULT_TMP3.
LOOP AT LT_RESULT_TMP3 INTO LS_RESULT_TMP3.
IF L_MAX_DATE IS NOT INITIAL.
LS_RESULT_TMP3-CALDAY = L_MAX_DATE.
ENDIF.
CLEAR LS_STORE.
READ TABLE LT_STORE INTO LS_STORE WITH KEY
/BIC/ZSTORE = LS_RESULT_TMP3-/BIC/ZSTORE BINARY SEARCH.
IF SY-SUBRC = 0.
LS_RESULT_TMP3-/BIC/ZBZIRK = LS_STORE-/BIC/ZBZIRK.
LS_RESULT_TMP3-/BIC/ZSYB = LS_STORE-/BIC/ZSYB.
LS_RESULT_TMP3-/BIC/ZCHANNEL = LS_STORE-/BIC/ZCHANNEL.
ENDIF.
IF LS_RESULT_TMP3-/BIC/ZBZIRK IS INITIAL.
LS_RESULT_TMP3-/BIC/ZBZIRK = '缺失'.
ENDIF.
IF LS_RESULT_TMP3-/BIC/ZSYB IS INITIAL.
LS_RESULT_TMP3-/BIC/ZSYB = '缺失'.
ENDIF.
IF LS_RESULT_TMP3-/BIC/ZCHANNEL IS INITIAL.
LS_RESULT_TMP3-/BIC/ZCHANNEL = '缺失'.
ENDIF.
IF LS_RESULT_TMP3-/BIC/ZCLASSL IS INITIAL.
LS_RESULT_TMP3-/BIC/ZCLASSL = '缺失'.
ENDIF.
IF LS_RESULT_TMP3-/BIC/ZCLASSM IS INITIAL.
LS_RESULT_TMP3-/BIC/ZCLASSM = '缺失'.
ENDIF.
IF LS_RESULT_TMP3-/BIC/ZCLASSS IS INITIAL.
LS_RESULT_TMP3-/BIC/ZCLASSS = '缺失'.
ENDIF.
LS_RESULT_TMP1-/BIC/ZFLAG = LS_RESULT_TMP3-/BIC/ZFLAG.
LS_RESULT_TMP1-/BIC/ZMATERIAL = LS_RESULT_TMP3-/BIC/ZMATERIAL.
LS_RESULT_TMP1-/BIC/ZGRID = LS_RESULT_TMP3-/BIC/ZGRID.
LS_RESULT_TMP1-/BIC/ZSTORE = LS_RESULT_TMP3-/BIC/ZSTORE.
LS_RESULT_TMP1-CALDAY = LS_RESULT_TMP3-CALDAY.
LS_RESULT_TMP1-/BIC/ZBZIRK = LS_RESULT_TMP3-/BIC/ZBZIRK.
LS_RESULT_TMP1-/BIC/ZSYB = LS_RESULT_TMP3-/BIC/ZSYB.
LS_RESULT_TMP1-/BIC/ZCHANNEL = LS_RESULT_TMP3-/BIC/ZCHANNEL.
LS_RESULT_TMP1-/BIC/ZXM_DD = LS_RESULT_TMP3-/BIC/ZXM_DD.
LS_RESULT_TMP1-/BIC/ZPQJL = LS_RESULT_TMP3-/BIC/ZPQJL.
LS_RESULT_TMP1-/BIC/ZZJNAME = LS_RESULT_TMP3-/BIC/ZZJNAME.
LS_RESULT_TMP1-/BIC/ZCLASSL = LS_RESULT_TMP3-/BIC/ZCLASSL.
LS_RESULT_TMP1-/BIC/ZCLASSM = LS_RESULT_TMP3-/BIC/ZCLASSM.
LS_RESULT_TMP1-/BIC/ZCLASSS = LS_RESULT_TMP3-/BIC/ZCLASSS.
LS_RESULT_TMP1-/BIC/ZBRAND = LS_RESULT_TMP3-/BIC/ZBRAND.
LS_RESULT_TMP1-CALWEEK = LS_RESULT_TMP3-CALWEEK.
LS_RESULT_TMP1-CALMONTH2 = LS_RESULT_TMP3-CALMONTH2.
LS_RESULT_TMP1-CALQUART1 = LS_RESULT_TMP3-CALQUART1.
LS_RESULT_TMP1-CALYEAR = LS_RESULT_TMP3-CALYEAR.
LS_RESULT_TMP1-CALMONTH = LS_RESULT_TMP3-CALMONTH.
LS_RESULT_TMP1-CALQUARTER = LS_RESULT_TMP3-CALQUARTER.
LS_RESULT_TMP1-/BIC/ZATWTBCC = LS_RESULT_TMP3-/BIC/ZATWTBCC.
LS_RESULT_TMP1-/BIC/ZATWTBYS = LS_RESULT_TMP3-/BIC/ZATWTBYS.
LS_RESULT_TMP1-/BIC/ZPRTK3 = LS_RESULT_TMP3-/BIC/ZPRTK3.
LS_RESULT_TMP1-/BIC/ZDTLQTY = LS_RESULT_TMP3-/BIC/ZDTLQTY.
LS_RESULT_TMP1-/BIC/ZDTLFTAMT = LS_RESULT_TMP3-/BIC/ZDTLFTAMT.
LS_RESULT_TMP1-/BIC/ZZJXJ_AMT = LS_RESULT_TMP3-/BIC/ZZJXJ_AMT.
LS_RESULT_TMP1-/BIC/ZRTRLAMT = LS_RESULT_TMP3-/BIC/ZRTRLAMT.
LS_RESULT_TMP1-/BIC/ZNTJAMT = LS_RESULT_TMP3-/BIC/ZNTJAMT.
COLLECT LS_RESULT_TMP1 INTO LT_RESULT_TMP1.
ENDLOOP.
"删除退货
DELETE LT_RESULT_TMP1 WHERE /BIC/ZDTLFTAMT = 0 AND /BIC/ZDTLQTY = 0 .
"大中小类用
LT_RESULT_TMP2[] = LT_RESULT_TMP1[].
SORT LT_RESULT_TMP1 BY
/BIC/ZSTORE ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZSTORE.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZSTORE IS INITIAL.
ZZSTORE = LS_RESULT_TMP1-/BIC/ZSTORE.
CLEAR ZZSLPX.
ENDIF.
IF ZZSTORE = LS_RESULT_TMP1-/BIC/ZSTORE.
IF ZZSLPX < 50.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'A1'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZSTORE = LS_RESULT_TMP1-/BIC/ZSTORE.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'A1'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"1.2按门店销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZSTORE ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZSTORE.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZSTORE IS INITIAL.
ZZSTORE = LS_RESULT_TMP1-/BIC/ZSTORE.
CLEAR ZZJEPX.
ENDIF.
IF ZZSTORE = LS_RESULT_TMP1-/BIC/ZSTORE.
IF ZZJEPX < 50.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'A2'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZSTORE = LS_RESULT_TMP1-/BIC/ZSTORE.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'A2'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
"2.1按片区销售数量排序
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-/BIC/ZBRAND.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZPER_DD.
CLEAR LS_RESULT_TMP-/BIC/ZXM_DD.
CLEAR LS_RESULT_TMP-/BIC/ZAREA_MAR.
CLEAR LS_RESULT_TMP-/BIC/ZPQJL.
CLEAR LS_RESULT_TMP-/BIC/ZZJCODE.
CLEAR LS_RESULT_TMP-/BIC/ZZJNAME.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
SORT LT_RESULT_TMP1 BY
/BIC/ZBZIRK ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZBZIRK.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZBZIRK IS INITIAL.
ZZBZIRK = LS_RESULT_TMP1-/BIC/ZBZIRK.
CLEAR ZZSLPX.
ENDIF.
IF ZZBZIRK = LS_RESULT_TMP1-/BIC/ZBZIRK.
IF ZZSLPX < 50.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'B1'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZBZIRK = LS_RESULT_TMP1-/BIC/ZBZIRK.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'B1'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"2.2按片区销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZBZIRK ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZBZIRK.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZBZIRK IS INITIAL.
ZZBZIRK = LS_RESULT_TMP1-/BIC/ZBZIRK.
CLEAR ZZJEPX.
ENDIF.
IF ZZBZIRK = LS_RESULT_TMP1-/BIC/ZBZIRK.
IF ZZJEPX < 50.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'B2'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZBZIRK = LS_RESULT_TMP1-/BIC/ZBZIRK.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'B2'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
"3.1按渠道销售数量排序
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP.
CLEAR LS_RESULT_TMP-/BIC/ZBZIRK.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-/BIC/ZBRAND.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZPER_DD.
CLEAR LS_RESULT_TMP-/BIC/ZXM_DD.
CLEAR LS_RESULT_TMP-/BIC/ZAREA_MAR.
CLEAR LS_RESULT_TMP-/BIC/ZPQJL.
CLEAR LS_RESULT_TMP-/BIC/ZZJCODE.
CLEAR LS_RESULT_TMP-/BIC/ZZJNAME.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
SORT LT_RESULT_TMP1 BY
/BIC/ZCHANNEL ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZCHANNEL.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZCHANNEL IS INITIAL.
ZZCHANNEL = LS_RESULT_TMP1-/BIC/ZCHANNEL.
CLEAR ZZSLPX.
ENDIF.
IF ZZCHANNEL = LS_RESULT_TMP1-/BIC/ZCHANNEL.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'C1'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZCHANNEL = LS_RESULT_TMP1-/BIC/ZCHANNEL.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'C1'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"3.2按渠道销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZCHANNEL ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZCHANNEL.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZCHANNEL IS INITIAL.
ZZCHANNEL = LS_RESULT_TMP1-/BIC/ZCHANNEL.
CLEAR ZZJEPX.
ENDIF.
IF ZZCHANNEL = LS_RESULT_TMP1-/BIC/ZCHANNEL.
IF ZZJEPX < 50 .
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'C2'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZCHANNEL = LS_RESULT_TMP1-/BIC/ZCHANNEL.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'C2'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
"4.1按事业部销售数量排序
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP.
CLEAR LS_RESULT_TMP-/BIC/ZCHANNEL.
CLEAR LS_RESULT_TMP-/BIC/ZBZIRK.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-/BIC/ZBRAND.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZPER_DD.
CLEAR LS_RESULT_TMP-/BIC/ZXM_DD.
CLEAR LS_RESULT_TMP-/BIC/ZAREA_MAR.
CLEAR LS_RESULT_TMP-/BIC/ZPQJL.
CLEAR LS_RESULT_TMP-/BIC/ZZJCODE.
CLEAR LS_RESULT_TMP-/BIC/ZZJNAME.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
SORT LT_RESULT_TMP1 BY
/BIC/ZSYB ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZSYB.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZSYB IS INITIAL.
ZZSYB = LS_RESULT_TMP1-/BIC/ZSYB.
CLEAR ZZSLPX.
ENDIF.
IF ZZSYB = LS_RESULT_TMP1-/BIC/ZSYB.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'D1'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZSYB = LS_RESULT_TMP1-/BIC/ZSYB.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'D1'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"4.2按事业部销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZSYB ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZSYB.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZSYB IS INITIAL.
ZZSYB = LS_RESULT_TMP1-/BIC/ZSYB.
CLEAR ZZJEPX.
ENDIF.
IF ZZSYB = LS_RESULT_TMP1-/BIC/ZSYB.
IF ZZJEPX < 50 .
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'D2'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZSYB = LS_RESULT_TMP1-/BIC/ZSYB.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'D2'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"5.1按督导销售数量排序
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP .
CLEAR LS_RESULT_TMP-/BIC/ZCHANNEL.
CLEAR LS_RESULT_TMP-/BIC/ZSYB.
CLEAR LS_RESULT_TMP-/BIC/ZBZIRK.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-/BIC/ZBRAND.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
SORT LT_RESULT_TMP1 BY
/BIC/ZXM_DD ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZXM_DD.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZXM_DD IS INITIAL.
ZZXM_DD = LS_RESULT_TMP1-/BIC/ZXM_DD.
CLEAR ZZSLPX.
ENDIF.
IF ZZXM_DD = LS_RESULT_TMP1-/BIC/ZXM_DD.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'E1'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZXM_DD = LS_RESULT_TMP1-/BIC/ZXM_DD.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'E1'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"5.2按督导销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZXM_DD ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZXM_DD.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZXM_DD IS INITIAL.
ZZXM_DD = LS_RESULT_TMP1-/BIC/ZXM_DD.
CLEAR ZZJEPX.
ENDIF.
IF ZZXM_DD = LS_RESULT_TMP1-/BIC/ZXM_DD.
IF ZZJEPX < 50 .
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'E2'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZXM_DD = LS_RESULT_TMP1-/BIC/ZXM_DD.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'E2'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"6.1按片区经理销售数量排序
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP.
CLEAR LS_RESULT_TMP-/BIC/ZCHANNEL.
CLEAR LS_RESULT_TMP-/BIC/ZSYB.
CLEAR LS_RESULT_TMP-/BIC/ZBZIRK.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-/BIC/ZBRAND.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZXM_DD.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
SORT LT_RESULT_TMP1 BY
/BIC/ZPQJL ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZPQJL.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZPQJL IS INITIAL.
ZZPQJL = LS_RESULT_TMP1-/BIC/ZPQJL.
CLEAR ZZSLPX.
ENDIF.
IF ZZPQJL = LS_RESULT_TMP1-/BIC/ZPQJL.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'F1'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZPQJL = LS_RESULT_TMP1-/BIC/ZPQJL.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'F1'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"6.2按片区经理销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZPQJL ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZPQJL.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZPQJL IS INITIAL.
ZZPQJL = LS_RESULT_TMP1-/BIC/ZPQJL.
CLEAR ZZJEPX.
ENDIF.
IF ZZPQJL = LS_RESULT_TMP1-/BIC/ZPQJL.
IF ZZJEPX < 50 .
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'F2'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZPQJL = LS_RESULT_TMP1-/BIC/ZPQJL.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'F2'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"7.1按总监销售数量排序
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP .
CLEAR LS_RESULT_TMP-/BIC/ZCHANNEL.
CLEAR LS_RESULT_TMP-/BIC/ZSYB.
CLEAR LS_RESULT_TMP-/BIC/ZBZIRK.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-/BIC/ZBRAND.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZXM_DD.
CLEAR LS_RESULT_TMP-/BIC/ZPQJL.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
SORT LT_RESULT_TMP1 BY
/BIC/ZZJNAME ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZJNAME.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZJNAME IS INITIAL.
ZZJNAME = LS_RESULT_TMP1-/BIC/ZZJNAME.
CLEAR ZZSLPX.
ENDIF.
IF ZZJNAME = LS_RESULT_TMP1-/BIC/ZZJNAME.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'G1'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZJNAME = LS_RESULT_TMP1-/BIC/ZZJNAME.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'G1'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"7.2按总监销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZZJNAME ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZJNAME.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZJNAME IS INITIAL.
ZZJNAME = LS_RESULT_TMP1-/BIC/ZZJNAME.
CLEAR ZZJEPX.
ENDIF.
IF ZZJNAME = LS_RESULT_TMP1-/BIC/ZZJNAME.
IF ZZJEPX < 50 .
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'G2'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZJNAME = LS_RESULT_TMP1-/BIC/ZZJNAME.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'G2'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
*****************按物料TOP end********************
*****************按大中小类TOP ********************
"8.1按门店大中小类销售数量排序
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP.
CLEAR LS_RESULT_TMP-/BIC/ZMATERIAL.
CLEAR LS_RESULT_TMP-/BIC/ZGRID.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBCC.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBYS.
CLEAR LS_RESULT_TMP-/BIC/ZPRTK3.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
"门店小类销售数量排序
SORT LT_RESULT_TMP1 BY
/BIC/ZSTORE ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZSTORE.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZSTORE IS INITIAL.
ZZSTORE = LS_RESULT_TMP1-/BIC/ZSTORE.
CLEAR ZZSLPX.
ENDIF.
IF ZZSTORE = LS_RESULT_TMP1-/BIC/ZSTORE.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'A3'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZSTORE = LS_RESULT_TMP1-/BIC/ZSTORE.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'A3'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"门店小类销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZSTORE ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZSTORE.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZSTORE IS INITIAL.
ZZSTORE = LS_RESULT_TMP1-/BIC/ZSTORE.
CLEAR ZZJEPX.
ENDIF.
IF ZZSTORE = LS_RESULT_TMP1-/BIC/ZSTORE.
IF ZZJEPX < 50.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'A4'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZSTORE = LS_RESULT_TMP1-/BIC/ZSTORE.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'A4'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"门店中类
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP.
CLEAR LS_RESULT_TMP-/BIC/ZMATERIAL.
CLEAR LS_RESULT_TMP-/BIC/ZGRID.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBCC.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBYS.
CLEAR LS_RESULT_TMP-/BIC/ZPRTK3.
CLEAR LS_RESULT_TMP-/BIC/ZCLASSS.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
"门店中类销售数量排序
SORT LT_RESULT_TMP1 BY
/BIC/ZSTORE ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZSTORE.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZSTORE IS INITIAL.
ZZSTORE = LS_RESULT_TMP1-/BIC/ZSTORE.
CLEAR ZZSLPX.
ENDIF.
IF ZZSTORE = LS_RESULT_TMP1-/BIC/ZSTORE.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'A5'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZSTORE = LS_RESULT_TMP1-/BIC/ZSTORE.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'A5'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"门店中类销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZSTORE ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZSTORE.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZSTORE IS INITIAL.
ZZSTORE = LS_RESULT_TMP1-/BIC/ZSTORE.
CLEAR ZZJEPX.
ENDIF.
IF ZZSTORE = LS_RESULT_TMP1-/BIC/ZSTORE.
IF ZZJEPX < 50.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'A6'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZSTORE = LS_RESULT_TMP1-/BIC/ZSTORE.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'A6'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"9.1按片区大中小类销售数量排序
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP.
CLEAR LS_RESULT_TMP-/BIC/ZMATERIAL.
CLEAR LS_RESULT_TMP-/BIC/ZGRID.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBCC.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBYS.
CLEAR LS_RESULT_TMP-/BIC/ZPRTK3.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-/BIC/ZBRAND.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZPER_DD.
CLEAR LS_RESULT_TMP-/BIC/ZXM_DD.
CLEAR LS_RESULT_TMP-/BIC/ZAREA_MAR.
CLEAR LS_RESULT_TMP-/BIC/ZPQJL.
CLEAR LS_RESULT_TMP-/BIC/ZZJCODE.
CLEAR LS_RESULT_TMP-/BIC/ZZJNAME.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
"片区小类销售数量排序
SORT LT_RESULT_TMP1 BY
/BIC/ZBZIRK ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZBZIRK.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZBZIRK IS INITIAL.
ZZBZIRK = LS_RESULT_TMP1-/BIC/ZBZIRK.
CLEAR ZZSLPX.
ENDIF.
IF ZZBZIRK = LS_RESULT_TMP1-/BIC/ZBZIRK.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'B3'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZBZIRK = LS_RESULT_TMP1-/BIC/ZBZIRK.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'B3'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"片区小类销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZBZIRK ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZBZIRK.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZBZIRK IS INITIAL.
ZZBZIRK = LS_RESULT_TMP1-/BIC/ZBZIRK.
CLEAR ZZJEPX.
ENDIF.
IF ZZBZIRK = LS_RESULT_TMP1-/BIC/ZBZIRK.
IF ZZJEPX < 50.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'B4'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZBZIRK = LS_RESULT_TMP1-/BIC/ZBZIRK.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'B4'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"片区中类
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP.
CLEAR LS_RESULT_TMP-/BIC/ZMATERIAL.
CLEAR LS_RESULT_TMP-/BIC/ZGRID.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBCC.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBYS.
CLEAR LS_RESULT_TMP-/BIC/ZPRTK3.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-/BIC/ZBRAND.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZPER_DD.
CLEAR LS_RESULT_TMP-/BIC/ZXM_DD.
CLEAR LS_RESULT_TMP-/BIC/ZAREA_MAR.
CLEAR LS_RESULT_TMP-/BIC/ZPQJL.
CLEAR LS_RESULT_TMP-/BIC/ZZJCODE.
CLEAR LS_RESULT_TMP-/BIC/ZZJNAME.
CLEAR LS_RESULT_TMP-/BIC/ZCLASSS.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
"片区中类销售数量排序
SORT LT_RESULT_TMP1 BY
/BIC/ZBZIRK ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZBZIRK.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZBZIRK IS INITIAL.
ZZBZIRK = LS_RESULT_TMP1-/BIC/ZBZIRK.
CLEAR ZZSLPX.
ENDIF.
IF ZZBZIRK = LS_RESULT_TMP1-/BIC/ZBZIRK.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'B5'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZBZIRK = LS_RESULT_TMP1-/BIC/ZBZIRK.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'B5'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"片区中类销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZBZIRK ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZBZIRK.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZBZIRK IS INITIAL.
ZZBZIRK = LS_RESULT_TMP1-/BIC/ZBZIRK.
CLEAR ZZJEPX.
ENDIF.
IF ZZBZIRK = LS_RESULT_TMP1-/BIC/ZBZIRK.
IF ZZJEPX < 50.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'B6'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZBZIRK = LS_RESULT_TMP1-/BIC/ZBZIRK.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'B6'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"10.1按渠道大中小类销售数量排序
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP.
CLEAR LS_RESULT_TMP-/BIC/ZMATERIAL.
CLEAR LS_RESULT_TMP-/BIC/ZGRID.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBCC.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBYS.
CLEAR LS_RESULT_TMP-/BIC/ZPRTK3.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-/BIC/ZBRAND.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZPER_DD.
CLEAR LS_RESULT_TMP-/BIC/ZXM_DD.
CLEAR LS_RESULT_TMP-/BIC/ZAREA_MAR.
CLEAR LS_RESULT_TMP-/BIC/ZPQJL.
CLEAR LS_RESULT_TMP-/BIC/ZZJCODE.
CLEAR LS_RESULT_TMP-/BIC/ZZJNAME.
CLEAR LS_RESULT_TMP-/BIC/ZBZIRK.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
"渠道小类销售数量排序
SORT LT_RESULT_TMP1 BY
/BIC/ZCHANNEL ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZCHANNEL.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZCHANNEL IS INITIAL.
ZZCHANNEL = LS_RESULT_TMP1-/BIC/ZCHANNEL.
CLEAR ZZSLPX.
ENDIF.
IF ZZCHANNEL = LS_RESULT_TMP1-/BIC/ZCHANNEL.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'C3'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZCHANNEL = LS_RESULT_TMP1-/BIC/ZCHANNEL.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'C3'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"渠道小类销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZCHANNEL ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZCHANNEL.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZCHANNEL IS INITIAL.
ZZCHANNEL = LS_RESULT_TMP1-/BIC/ZCHANNEL.
CLEAR ZZJEPX.
ENDIF.
IF ZZCHANNEL = LS_RESULT_TMP1-/BIC/ZCHANNEL.
IF ZZJEPX < 50.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'C4'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZCHANNEL = LS_RESULT_TMP1-/BIC/ZCHANNEL.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'C4'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"渠道中类
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP.
CLEAR LS_RESULT_TMP-/BIC/ZMATERIAL.
CLEAR LS_RESULT_TMP-/BIC/ZGRID.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBCC.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBYS.
CLEAR LS_RESULT_TMP-/BIC/ZPRTK3.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-/BIC/ZBRAND.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZPER_DD.
CLEAR LS_RESULT_TMP-/BIC/ZXM_DD.
CLEAR LS_RESULT_TMP-/BIC/ZAREA_MAR.
CLEAR LS_RESULT_TMP-/BIC/ZPQJL.
CLEAR LS_RESULT_TMP-/BIC/ZZJCODE.
CLEAR LS_RESULT_TMP-/BIC/ZZJNAME.
CLEAR LS_RESULT_TMP-/BIC/ZBZIRK.
CLEAR LS_RESULT_TMP-/BIC/ZCLASSS.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
"渠道中类销售数量排序
SORT LT_RESULT_TMP1 BY
/BIC/ZCHANNEL ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZCHANNEL.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZCHANNEL IS INITIAL.
ZZCHANNEL = LS_RESULT_TMP1-/BIC/ZCHANNEL.
CLEAR ZZSLPX.
ENDIF.
IF ZZCHANNEL = LS_RESULT_TMP1-/BIC/ZCHANNEL.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'C5'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZCHANNEL = LS_RESULT_TMP1-/BIC/ZCHANNEL.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'C5'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"渠道中类销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZCHANNEL ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZCHANNEL.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZCHANNEL IS INITIAL.
ZZCHANNEL = LS_RESULT_TMP1-/BIC/ZCHANNEL.
CLEAR ZZJEPX.
ENDIF.
IF ZZCHANNEL = LS_RESULT_TMP1-/BIC/ZCHANNEL.
IF ZZJEPX < 50.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'C6'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZCHANNEL = LS_RESULT_TMP1-/BIC/ZCHANNEL.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'C6'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"11.1按事业部大中小类销售数量排序
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP .
CLEAR LS_RESULT_TMP-/BIC/ZMATERIAL.
CLEAR LS_RESULT_TMP-/BIC/ZGRID.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBCC.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBYS.
CLEAR LS_RESULT_TMP-/BIC/ZPRTK3.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-/BIC/ZBRAND.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZPER_DD.
CLEAR LS_RESULT_TMP-/BIC/ZXM_DD.
CLEAR LS_RESULT_TMP-/BIC/ZAREA_MAR.
CLEAR LS_RESULT_TMP-/BIC/ZPQJL.
CLEAR LS_RESULT_TMP-/BIC/ZZJCODE.
CLEAR LS_RESULT_TMP-/BIC/ZZJNAME.
CLEAR LS_RESULT_TMP-/BIC/ZBZIRK.
CLEAR LS_RESULT_TMP-/BIC/ZCHANNEL.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
"事业部小类销售数量排序
SORT LT_RESULT_TMP1 BY
/BIC/ZSYB ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZSYB.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZSYB IS INITIAL.
ZZSYB = LS_RESULT_TMP1-/BIC/ZSYB.
CLEAR ZZSLPX.
ENDIF.
IF ZZSYB = LS_RESULT_TMP1-/BIC/ZSYB.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'D3'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZSYB = LS_RESULT_TMP1-/BIC/ZSYB.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'D3'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"事业部小类销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZSYB ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZSYB.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZSYB IS INITIAL.
ZZSYB = LS_RESULT_TMP1-/BIC/ZSYB.
CLEAR ZZJEPX.
ENDIF.
IF ZZSYB = LS_RESULT_TMP1-/BIC/ZSYB.
IF ZZJEPX < 50.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'D4'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZSYB = LS_RESULT_TMP1-/BIC/ZSYB.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'D4'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"事业部中类
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP.
CLEAR LS_RESULT_TMP-/BIC/ZMATERIAL.
CLEAR LS_RESULT_TMP-/BIC/ZGRID.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBCC.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBYS.
CLEAR LS_RESULT_TMP-/BIC/ZPRTK3.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-/BIC/ZBRAND.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZPER_DD.
CLEAR LS_RESULT_TMP-/BIC/ZXM_DD.
CLEAR LS_RESULT_TMP-/BIC/ZAREA_MAR.
CLEAR LS_RESULT_TMP-/BIC/ZPQJL.
CLEAR LS_RESULT_TMP-/BIC/ZZJCODE.
CLEAR LS_RESULT_TMP-/BIC/ZZJNAME.
CLEAR LS_RESULT_TMP-/BIC/ZBZIRK.
CLEAR LS_RESULT_TMP-/BIC/ZCHANNEL.
CLEAR LS_RESULT_TMP-/BIC/ZCLASSS.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
"事业部中类销售数量排序
SORT LT_RESULT_TMP1 BY
/BIC/ZSYB ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZSYB.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZSYB IS INITIAL.
ZZSYB = LS_RESULT_TMP1-/BIC/ZSYB.
CLEAR ZZSLPX.
ENDIF.
IF ZZSYB = LS_RESULT_TMP1-/BIC/ZSYB.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'D5'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZSYB = LS_RESULT_TMP1-/BIC/ZSYB.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'D5'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"事业部中类销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZSYB ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZSYB.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZSYB IS INITIAL.
ZZSYB = LS_RESULT_TMP1-/BIC/ZSYB.
CLEAR ZZJEPX.
ENDIF.
IF ZZSYB = LS_RESULT_TMP1-/BIC/ZSYB.
IF ZZJEPX < 50.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'D6'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZSYB = LS_RESULT_TMP1-/BIC/ZSYB.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'D6'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"12.1按督导大中小类销售数量排序
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP.
CLEAR LS_RESULT_TMP-/BIC/ZMATERIAL.
CLEAR LS_RESULT_TMP-/BIC/ZGRID.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBCC.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBYS.
CLEAR LS_RESULT_TMP-/BIC/ZPRTK3.
CLEAR LS_RESULT_TMP-/BIC/ZCHANNEL.
CLEAR LS_RESULT_TMP-/BIC/ZSYB.
CLEAR LS_RESULT_TMP-/BIC/ZBZIRK.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-/BIC/ZBRAND.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
"督导小类销售数量排序
SORT LT_RESULT_TMP1 BY
/BIC/ZXM_DD ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZXM_DD.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZXM_DD IS INITIAL.
ZZXM_DD = LS_RESULT_TMP1-/BIC/ZXM_DD.
CLEAR ZZSLPX.
ENDIF.
IF ZZXM_DD = LS_RESULT_TMP1-/BIC/ZXM_DD.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'E3'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZXM_DD = LS_RESULT_TMP1-/BIC/ZXM_DD.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'E3'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"督导小类销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZXM_DD ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZXM_DD.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZXM_DD IS INITIAL.
ZZXM_DD = LS_RESULT_TMP1-/BIC/ZXM_DD.
CLEAR ZZJEPX.
ENDIF.
IF ZZXM_DD = LS_RESULT_TMP1-/BIC/ZXM_DD.
IF ZZJEPX < 50.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'E4'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZXM_DD = LS_RESULT_TMP1-/BIC/ZXM_DD.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'E4'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"督导中类
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP.
CLEAR LS_RESULT_TMP-/BIC/ZMATERIAL.
CLEAR LS_RESULT_TMP-/BIC/ZGRID.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBCC.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBYS.
CLEAR LS_RESULT_TMP-/BIC/ZPRTK3.
CLEAR LS_RESULT_TMP-/BIC/ZCHANNEL.
CLEAR LS_RESULT_TMP-/BIC/ZSYB.
CLEAR LS_RESULT_TMP-/BIC/ZBZIRK.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-/BIC/ZBRAND.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZCLASSS.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
"督导中类销售数量排序
SORT LT_RESULT_TMP1 BY
/BIC/ZXM_DD ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZXM_DD.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZXM_DD IS INITIAL.
ZZXM_DD = LS_RESULT_TMP1-/BIC/ZXM_DD.
CLEAR ZZSLPX.
ENDIF.
IF ZZXM_DD = LS_RESULT_TMP1-/BIC/ZXM_DD.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'E5'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZXM_DD = LS_RESULT_TMP1-/BIC/ZXM_DD.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'E5'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"督导中类销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZXM_DD ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZXM_DD.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZXM_DD IS INITIAL.
ZZXM_DD = LS_RESULT_TMP1-/BIC/ZXM_DD.
CLEAR ZZJEPX.
ENDIF.
IF ZZXM_DD = LS_RESULT_TMP1-/BIC/ZXM_DD.
IF ZZJEPX < 50.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'E6'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZXM_DD = LS_RESULT_TMP1-/BIC/ZXM_DD.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'E6'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"13.1按片区经理大中小类销售数量排序
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP.
CLEAR LS_RESULT_TMP-/BIC/ZMATERIAL.
CLEAR LS_RESULT_TMP-/BIC/ZGRID.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBCC.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBYS.
CLEAR LS_RESULT_TMP-/BIC/ZPRTK3.
CLEAR LS_RESULT_TMP-/BIC/ZCHANNEL.
CLEAR LS_RESULT_TMP-/BIC/ZSYB.
CLEAR LS_RESULT_TMP-/BIC/ZBZIRK.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-/BIC/ZBRAND.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZXM_DD.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
"片区经理小类销售数量排序
SORT LT_RESULT_TMP1 BY
/BIC/ZPQJL ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZPQJL.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZPQJL IS INITIAL.
ZZPQJL = LS_RESULT_TMP1-/BIC/ZPQJL.
CLEAR ZZSLPX.
ENDIF.
IF ZZPQJL = LS_RESULT_TMP1-/BIC/ZPQJL.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'F3'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZPQJL = LS_RESULT_TMP1-/BIC/ZPQJL.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'F3'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"片区经理小类销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZPQJL ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZPQJL.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZPQJL IS INITIAL.
ZZPQJL = LS_RESULT_TMP1-/BIC/ZPQJL.
CLEAR ZZJEPX.
ENDIF.
IF ZZPQJL = LS_RESULT_TMP1-/BIC/ZPQJL.
IF ZZJEPX < 50.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'F4'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZPQJL = LS_RESULT_TMP1-/BIC/ZPQJL.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'F4'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"片区经理中类
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP.
CLEAR LS_RESULT_TMP-/BIC/ZMATERIAL.
CLEAR LS_RESULT_TMP-/BIC/ZGRID.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBCC.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBYS.
CLEAR LS_RESULT_TMP-/BIC/ZPRTK3.
CLEAR LS_RESULT_TMP-/BIC/ZCHANNEL.
CLEAR LS_RESULT_TMP-/BIC/ZSYB.
CLEAR LS_RESULT_TMP-/BIC/ZBZIRK.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-/BIC/ZBRAND.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZXM_DD.
CLEAR LS_RESULT_TMP-/BIC/ZCLASSS.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
"片区经理中类销售数量排序
SORT LT_RESULT_TMP1 BY
/BIC/ZPQJL ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZPQJL.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZPQJL IS INITIAL.
ZZPQJL = LS_RESULT_TMP1-/BIC/ZPQJL.
CLEAR ZZSLPX.
ENDIF.
IF ZZPQJL = LS_RESULT_TMP1-/BIC/ZPQJL.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'F5'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZPQJL = LS_RESULT_TMP1-/BIC/ZPQJL.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'F5'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"片区经理中类销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZPQJL ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZPQJL.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZPQJL IS INITIAL.
ZZPQJL = LS_RESULT_TMP1-/BIC/ZPQJL.
CLEAR ZZJEPX.
ENDIF.
IF ZZPQJL = LS_RESULT_TMP1-/BIC/ZPQJL.
IF ZZJEPX < 50.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'F6'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZPQJL = LS_RESULT_TMP1-/BIC/ZPQJL.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'F6'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"14.1按总监大中小类销售数量排序
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP.
CLEAR LS_RESULT_TMP-/BIC/ZMATERIAL.
CLEAR LS_RESULT_TMP-/BIC/ZGRID.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBCC.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBYS.
CLEAR LS_RESULT_TMP-/BIC/ZPRTK3.
CLEAR LS_RESULT_TMP-/BIC/ZCHANNEL.
CLEAR LS_RESULT_TMP-/BIC/ZSYB.
CLEAR LS_RESULT_TMP-/BIC/ZBZIRK.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-/BIC/ZBRAND.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZXM_DD.
CLEAR LS_RESULT_TMP-/BIC/ZPQJL.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
"总监小类销售数量排序
SORT LT_RESULT_TMP1 BY
/BIC/ZZJNAME ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZJNAME.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZJNAME IS INITIAL.
ZZJNAME = LS_RESULT_TMP1-/BIC/ZZJNAME.
CLEAR ZZSLPX.
ENDIF.
IF ZZJNAME = LS_RESULT_TMP1-/BIC/ZZJNAME.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'G3'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZJNAME = LS_RESULT_TMP1-/BIC/ZZJNAME.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'G3'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"总监小类销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZZJNAME ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZJNAME.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZJNAME IS INITIAL.
ZZJNAME = LS_RESULT_TMP1-/BIC/ZZJNAME.
CLEAR ZZJEPX.
ENDIF.
IF ZZJNAME = LS_RESULT_TMP1-/BIC/ZZJNAME.
IF ZZJEPX < 50.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'G4'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZJNAME = LS_RESULT_TMP1-/BIC/ZZJNAME.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'G4'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"总监中类
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP.
CLEAR LS_RESULT_TMP-/BIC/ZMATERIAL.
CLEAR LS_RESULT_TMP-/BIC/ZGRID.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBCC.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBYS.
CLEAR LS_RESULT_TMP-/BIC/ZPRTK3.
CLEAR LS_RESULT_TMP-/BIC/ZCHANNEL.
CLEAR LS_RESULT_TMP-/BIC/ZSYB.
CLEAR LS_RESULT_TMP-/BIC/ZBZIRK.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-/BIC/ZBRAND.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZXM_DD.
CLEAR LS_RESULT_TMP-/BIC/ZPQJL.
CLEAR LS_RESULT_TMP-/BIC/ZCLASSS.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
"总监中类销售数量排序
SORT LT_RESULT_TMP1 BY
/BIC/ZZJNAME ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZJNAME.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZJNAME IS INITIAL.
ZZJNAME = LS_RESULT_TMP1-/BIC/ZZJNAME.
CLEAR ZZSLPX.
ENDIF.
IF ZZJNAME = LS_RESULT_TMP1-/BIC/ZZJNAME.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'G5'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZJNAME = LS_RESULT_TMP1-/BIC/ZZJNAME.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'G5'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"总监中类销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZZJNAME ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZJNAME.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZJNAME IS INITIAL.
ZZJNAME = LS_RESULT_TMP1-/BIC/ZZJNAME.
CLEAR ZZJEPX.
ENDIF.
IF ZZJNAME = LS_RESULT_TMP1-/BIC/ZZJNAME.
IF ZZJEPX < 50.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'G6'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZJNAME = LS_RESULT_TMP1-/BIC/ZZJNAME.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'G6'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"15.1按品牌大中小类物料销售数量排序
"物料
REFRESH: LT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] = LT_RESULT_TMP2[].
DATA: ZZBRAND TYPE /BIC/OIZBRAND.
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP.
CLEAR LS_ZMATERIAL.
READ TABLE LT_ZMATERIAL INTO LS_ZMATERIAL WITH KEY
/BIC/ZMATERIAL = LS_RESULT_TMP-/BIC/ZMATERIAL BINARY SEARCH.
IF SY-SUBRC = 0.
LS_RESULT_TMP-/BIC/ZBRAND = LS_ZMATERIAL-/BIC/ZBRAND.
ELSE.
LS_RESULT_TMP-/BIC/ZBRAND ='缺失'.
ENDIF.
CLEAR LS_RESULT_TMP-/BIC/ZCHANNEL.
CLEAR LS_RESULT_TMP-/BIC/ZSYB.
CLEAR LS_RESULT_TMP-/BIC/ZBZIRK.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZXM_DD.
CLEAR LS_RESULT_TMP-/BIC/ZPQJL.
CLEAR LS_RESULT_TMP-/BIC/ZZJNAME.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
"品牌物料销售数量排序
SORT LT_RESULT_TMP1 BY
/BIC/ZBRAND ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZBRAND.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZBRAND IS INITIAL.
ZZBRAND = LS_RESULT_TMP1-/BIC/ZBRAND.
CLEAR ZZSLPX.
ENDIF.
IF ZZBRAND = LS_RESULT_TMP1-/BIC/ZBRAND.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'H1'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZBRAND = LS_RESULT_TMP1-/BIC/ZBRAND.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'H1'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"品牌物料销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZBRAND ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZBRAND.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZBRAND IS INITIAL.
ZZBRAND = LS_RESULT_TMP1-/BIC/ZBRAND.
CLEAR ZZJEPX.
ENDIF.
IF ZZBRAND = LS_RESULT_TMP1-/BIC/ZBRAND.
IF ZZJEPX < 50.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'H2'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZBRAND = LS_RESULT_TMP1-/BIC/ZBRAND.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'H2'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"品牌小类
REFRESH: LT_RESULT_TMP1."LT_RESULT_TMP,
"LT_RESULT_TMP[] = LT_RESULT_TMP2[].
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP.
CLEAR LS_ZMATERIAL.
READ TABLE LT_ZMATERIAL INTO LS_ZMATERIAL WITH KEY
/BIC/ZMATERIAL = LS_RESULT_TMP-/BIC/ZMATERIAL BINARY SEARCH.
IF SY-SUBRC = 0.
LS_RESULT_TMP-/BIC/ZBRAND = LS_ZMATERIAL-/BIC/ZBRAND.
ELSE.
LS_RESULT_TMP-/BIC/ZBRAND ='缺失'.
ENDIF.
CLEAR LS_RESULT_TMP-/BIC/ZMATERIAL.
CLEAR LS_RESULT_TMP-/BIC/ZGRID.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBCC.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBYS.
CLEAR LS_RESULT_TMP-/BIC/ZPRTK3.
CLEAR LS_RESULT_TMP-/BIC/ZCHANNEL.
CLEAR LS_RESULT_TMP-/BIC/ZSYB.
CLEAR LS_RESULT_TMP-/BIC/ZBZIRK.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZXM_DD.
CLEAR LS_RESULT_TMP-/BIC/ZPQJL.
CLEAR LS_RESULT_TMP-/BIC/ZZJNAME.
"CLEAR LS_RESULT_TMP-/BIC/ZCLASSS.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
"品牌小类销售数量排序
SORT LT_RESULT_TMP1 BY
/BIC/ZBRAND ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZBRAND.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZBRAND IS INITIAL.
ZZBRAND = LS_RESULT_TMP1-/BIC/ZBRAND.
CLEAR ZZSLPX.
ENDIF.
IF ZZBRAND = LS_RESULT_TMP1-/BIC/ZBRAND.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'H3'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZBRAND = LS_RESULT_TMP1-/BIC/ZBRAND.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'H3'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"品牌小类销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZBRAND ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZBRAND.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZBRAND IS INITIAL.
ZZBRAND = LS_RESULT_TMP1-/BIC/ZBRAND.
CLEAR ZZJEPX.
ENDIF.
IF ZZBRAND = LS_RESULT_TMP1-/BIC/ZBRAND.
IF ZZJEPX < 50.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'H4'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZBRAND = LS_RESULT_TMP1-/BIC/ZBRAND.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'H4'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"品牌中类
REFRESH: LT_RESULT_TMP1."LT_RESULT_TMP,
"LT_RESULT_TMP[] = LT_RESULT_TMP2[].
CLEAR LS_RESULT_TMP.
LOOP AT LT_RESULT_TMP INTO LS_RESULT_TMP.
CLEAR LS_ZMATERIAL.
READ TABLE LT_ZMATERIAL INTO LS_ZMATERIAL WITH KEY
/BIC/ZMATERIAL = LS_RESULT_TMP-/BIC/ZMATERIAL BINARY SEARCH.
IF SY-SUBRC = 0.
LS_RESULT_TMP-/BIC/ZBRAND = LS_ZMATERIAL-/BIC/ZBRAND.
ELSE.
LS_RESULT_TMP-/BIC/ZBRAND ='缺失'.
ENDIF.
CLEAR LS_RESULT_TMP-/BIC/ZMATERIAL.
CLEAR LS_RESULT_TMP-/BIC/ZGRID.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBCC.
CLEAR LS_RESULT_TMP-/BIC/ZATWTBYS.
CLEAR LS_RESULT_TMP-/BIC/ZPRTK3.
CLEAR LS_RESULT_TMP-/BIC/ZCHANNEL.
CLEAR LS_RESULT_TMP-/BIC/ZSYB.
CLEAR LS_RESULT_TMP-/BIC/ZBZIRK.
CLEAR LS_RESULT_TMP-DISTR_CHAN.
CLEAR LS_RESULT_TMP-/BIC/ZQDLX.
CLEAR LS_RESULT_TMP-CUSTOMER.
CLEAR LS_RESULT_TMP-/BIC/ZSTORE.
CLEAR LS_RESULT_TMP-/BIC/ZXM_DD.
CLEAR LS_RESULT_TMP-/BIC/ZPQJL.
CLEAR LS_RESULT_TMP-/BIC/ZZJNAME.
CLEAR LS_RESULT_TMP-/BIC/ZCLASSS.
CLEAR LS_RESULT_TMP-/BIC/ZFLAG2.
CLEAR LS_RESULT_TMP-/BIC/ZSLPX.
CLEAR LS_RESULT_TMP-/BIC/ZJEPX.
COLLECT LS_RESULT_TMP INTO LT_RESULT_TMP1.
ENDLOOP.
"品牌中类销售数量排序
SORT LT_RESULT_TMP1 BY
/BIC/ZBRAND ASCENDING
/BIC/ZDTLQTY DESCENDING
/BIC/ZDTLFTAMT DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZBRAND.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZBRAND IS INITIAL.
ZZBRAND = LS_RESULT_TMP1-/BIC/ZBRAND.
CLEAR ZZSLPX.
ENDIF.
IF ZZBRAND = LS_RESULT_TMP1-/BIC/ZBRAND.
IF ZZSLPX < 50 .
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'H5'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZBRAND = LS_RESULT_TMP1-/BIC/ZBRAND.
CLEAR ZZSLPX.
ZZSLPX = ZZSLPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = 0.
LS_RESULT_TMP1-/BIC/ZSLPX = ZZSLPX.
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'H5'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
"总监中类销售金额排序
SORT LT_RESULT_TMP1 BY
/BIC/ZBRAND ASCENDING
/BIC/ZDTLFTAMT DESCENDING
/BIC/ZDTLQTY DESCENDING.
CLEAR: ZZSLPX,ZZJEPX,LS_RESULT_TMP1,ZZBRAND.
LOOP AT LT_RESULT_TMP1 INTO LS_RESULT_TMP1.
IF ZZBRAND IS INITIAL.
ZZBRAND = LS_RESULT_TMP1-/BIC/ZBRAND.
CLEAR ZZJEPX.
ENDIF.
IF ZZBRAND = LS_RESULT_TMP1-/BIC/ZBRAND.
IF ZZJEPX < 50.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'H6'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ELSE.
ZZBRAND = LS_RESULT_TMP1-/BIC/ZBRAND.
CLEAR ZZJEPX.
ZZJEPX = ZZJEPX + 1.
LS_RESULT_TMP1-/BIC/ZJEPX = ZZJEPX.
LS_RESULT_TMP1-/BIC/ZSLPX = 0 .
LS_RESULT_TMP1-/BIC/ZFLAG2 = 'H6'.
"添加记录
MOVE-CORRESPONDING LS_RESULT_TMP1 TO LS_RESULT.
L_RECORD = L_RECORD + 1.
LS_RESULT-RECORD = L_RECORD.
APPEND LS_RESULT TO LT_RESULT.
ENDIF.
ENDLOOP.
*****************按大中小类TOP end********************
"DELETE RESULT_PACKAGE WHERE /BIC/ZJEPX = 0 AND /BIC/ZSLPX = 0.
REFRESH RESULT_PACKAGE.
RESULT_PACKAGE[] = LT_RESULT[].
REFRESH LT_RESULT.
*$*$ end of routine - insert your code only before this line *-*
ENDMETHOD. "end_routine
*----------------------------------------------------------------------*
* Inverse method inverse_end_routine
*----------------------------------------------------------------------*
* This subroutine needs to be implemented only for direct access
* (for better performance) and for the Report/Report Interface
* (drill through).
* The inverse routine should transform a projection and
* a selection for the target to a projection and a selection
* for the source, respectively.
* If the implementation remains empty all fields are filled and
* all values are selected.
*----------------------------------------------------------------------*
* Customer comment:
*----------------------------------------------------------------------*
METHOD inverse_end_routine.
* IMPORTING
* i_r_selset_outbound TYPE REF TO cl_rsmds_set
* i_th_fields_outbound TYPE HASHED TABLE
* i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
* i_r_universe_inbound TYPE REF TO cl_rsmds_universe
* CHANGING
* c_r_selset_inbound TYPE REF TO cl_rsmds_set
* c_th_fields_inbound TYPE HASHED TABLE
* c_exact TYPE rs_bool
*$*$ begin of inverse routine - insert your code only below this line*-*
... "insert your code here
*$*$ end of inverse routine - insert your code only before this line *-*
ENDMETHOD. "inverse_end_routine
METHOD new_record__end_routine.
***** IMPLEMENTATION is only visible in generated program *****
ENDMETHOD.
ENDCLASS. "routine IMPLEMENTATION