周TOP排名

56 篇文章 0 订阅

开始例程

CHECK SOURCE_PACKAGE IS NOT INITIAL.
  "实收金额为0删除
 DELETE SOURCE_PACKAGE WHERE /BIC/ZDTLFTAMT 0.

  DATAL_DATE TYPE D,
        L_WEEK TYPE scal-week.

       CLEARL_DATE,L_WEEK.
       LOOP AT SOURCE_PACKAGE ASSIGNING <SOURCE_FIELDS>.
            L_DATE <SOURCE_FIELDS>-/BIC/ZBUSDE.
            EXIT.
       ENDLOOP.

  IF  L_DATE IS NOT INITIAL.

   "获取输入日期该年的周数,输出格式为:YYYYWW。
        CALL FUNCTION 'DATE_GET_WEEK'
        EXPORTING
          date         L_DATE    "输入日期
        IMPORTING
          week         L_WEEK    "返回周数:201401
        EXCEPTIONS
          date_invalid 1
          OTHERS       2.

       DELETE FROM /BIC/AZCELT06700 WHERE CALWEEK L_WEEK.
  ENDIF.

结束例程



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-POOLSrsdrstr.

*   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: 0CALWEEK 日历年/周.
        CALWEEK           TYPE /BI0/OICALWEEK,
*      InfoObject: 0RECORDMODE BW 增量处理: 更新模式.
        RECORDMODE           TYPE RODMUPDMOD,
*      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
TYPESBEGIN 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.

DATALT_STORE TYPE TY_T_STORE,
      LS_STORE TYPE TY_S_STORE.

"/BIC/PZMATERIAL
TYPESBEGIN 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.

DATALT_ZMATERIAL TYPE TY_T_ZMATERIAL,
      LS_ZMATERIAL TYPE TY_S_ZMATERIAL.

*$*$ 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 品牌层汇总

****************************************

DATALT_RESULT_TMP1 TYPE STANDARD TABLE OF  /BIC/AZCELT06700 WITH
NON-UNIQUE DEFAULT KEY.
DATALT_RESULT_TMP2 LIKE LT_RESULT_TMP1.
DATALT_RESULT_TMP LIKE LT_RESULT_TMP1.

DATALS_RESULT_TMP  TYPE /BIC/AZCELT06700,
      LS_RESULT_TMP1 TYPE /BIC/AZCELT06700,
      LS_RESULT_TMP2 TYPE /BIC/AZCELT06700.

DATALT_RESULT     TYPE _ty_t_TG_1,
      LT_RESULT_TMP3 TYPE _ty_t_TG_1.
DATALS_RESULT     TYPE _ty_s_TG_1,
      LS_RESULT_TMP3 TYPE _ty_s_TG_1.

DATAZZSLPX  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按门店销售数量排序
REFRESHLT_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.
     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-/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 AND /BIC/ZDTLQTY .

"
LT_RESULT_TMP2[] LT_RESULT_TMP1[].

SORT LT_RESULT_TMP1 BY
     /BIC/ZSTORE ASCENDING
     /BIC/ZDTLQTY DESCENDING
     /BIC/ZDTLFTAMT DESCENDING.
CLEARZZSLPX,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.
CLEARZZSLPX,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 .
         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 .
           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.

REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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.

REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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.

REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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按督导销售数量排序
REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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按片区经理销售数量排序
REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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按总监销售数量排序
REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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按门店大中小类销售数量排序
REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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 .
         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 .
           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.

"门店中类
REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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 .
         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 .
           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按片区大中小类销售数量排序
REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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 .
         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 .
           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.

"片区中类
REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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 .
         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 .
           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按渠道大中小类销售数量排序
REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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 .
         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 .
           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.

"渠道中类
REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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 .
         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 .
           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按事业部大中小类销售数量排序
REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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 .
         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 .
           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.

"事业部中类
REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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 .
         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 .
           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按督导大中小类销售数量排序
REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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 .
         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 .
           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.

"督导中类
REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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 .
         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 .
           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按片区经理大中小类销售数量排序
REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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 .
         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 .
           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.

"片区经理中类
REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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 .
         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 .
           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按总监大中小类销售数量排序
REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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 .
         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 .
           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.

"总监中类
REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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 .
         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 .
           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按品牌大中小类物料销售数量排序
"物料
REFRESHLT_RESULT_TMP,LT_RESULT_TMP1.
LT_RESULT_TMP[] LT_RESULT_TMP2[].

DATAZZBRAND 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.
CLEARZZSLPX,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.
CLEARZZSLPX,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 .
         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 .
           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.

"品牌小类
REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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 .
         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 .
           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.

"品牌中类
REFRESHLT_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.
CLEARZZSLPX,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.
CLEARZZSLPX,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 .
         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 .
           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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值