FUNCTION ZRT_C01.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" VALUE(I_INFOPROV) TYPE RSINFOPROV
*" REFERENCE(I_TH_SFC) TYPE RSDRI_TH_SFC
*" REFERENCE(I_TH_SFK) TYPE RSDRI_TH_SFK
*" REFERENCE(I_T_RANGE) TYPE RSDRI_T_RANGE
*" REFERENCE(I_TX_RANGETAB) TYPE RSDRI_TX_RANGETAB
*" VALUE(I_FIRST_CALL) TYPE RS_BOOL
*" VALUE(I_PACKAGESIZE) TYPE I DEFAULT 1000
*" EXPORTING
*" REFERENCE(E_T_DATA) TYPE STANDARD TABLE
*" REFERENCE(E_END_OF_DATA) TYPE RS_BOOL
*" REFERENCE(E_T_MSG) TYPE RS_T_MSG
*" EXCEPTIONS
*" WRONG_INPUT
*" READ_ACCESS_ERROR
*"----------------------------------------------------------------------
*initialize
CLEAR: e_t_data, e_t_msg.
* this is specific to infoprovider ZVT_DEMO
CHECK i_infoprov = 'ZRT_C01'.
FIELD-SYMBOLS: <l_s_sbook> TYPE m_s_sbook01,
<l_s_data> TYPE ANY.
" DATA: abap_compdescr_tab TYPE abap_compdescr.
DATA: l_t_component TYPE abap_compdescr_tab,
i_t_sbook TYPE m_t_sbook01.
* initialize
CLEAR e_t_data.
* Data selection / only Business Customer
types:
BEGIN OF m_s_sbook01,
GSXX01(20) TYPE c, "公司代码
DZBM01(20) TYPE c, "金立门店
SPBM(20) TYPE c, "商品
THDH(16) type n, "提单号
XSLB(4) TYPE c, "渠道
FHRQ TYPE D, "发货日期
XSSL(16) TYPE p DECIMALS 4, "销售数量
XSJE(16) TYPE P DECIMALS 4, "销售金额
SKJE(16) TYPE P DECIMALS 4, "红卡使用金额
REGION type /BIC/PZPLANT-/BIC/ZREGION, "大区
DEPTMNT type /BIC/PZPLANT-/BIC/ZDEPTMNT, "分部
SALES_GRP type /BIC/PZPLANT-SALES_GRP, "一二级分部
PLANT type /BIC/PZPLANT-/BIC/ZPLANT, "门店
PROD_HIER type /BIC/PZARTICLE-PROD_HIER, "品牌
MAT_CAT type /BIC/PZARTICLE-/BIC/ZMAT_CAT, "品类
RPA_WGH1 type /BIC/PZARTICLE-RPA_WGH1, "品类1
RPA_WGH2 type /BIC/PZARTICLE-RPA_WGH2, "品类2
RPA_WGH3 type /BIC/PZARTICLE-RPA_WGH3, "品类3
RPA_WGH4 type /BIC/PZARTICLE-RPA_WGH4, "品类4
BUS_CTR type /BIC/PZARTICLE-/BIC/ZBUS_CTR, "三大业务中心
END OF m_s_sbook01.
DATA m_t_sbook01 TYPE STANDARD TABLE OF m_s_sbook01 WITH DEFAULT KEY INITIAL SIZE 10.
"data i_t_sbook TYPE STANDARD TABLE OF m_s_sbook.
DATA carrid_wa01 TYPE m_s_sbook01.
*************************************取金立实时数据*****************************************************************************
EXEC SQL.
connect to 'RT_ORA' as 'CONN'
ENDEXEC.
check sy-subrc = 0.
EXEC SQL.
OPEN dbcur FOR
SELECT GSXX01,DZBM01,SPBM,THDH,XSLB,XSSL,XSJE,SKJE,FHRQ
FROM MV_RTSALES_FAST
ENDEXEC.
DO.
EXEC SQL.
FETCH NEXT dbcur INTO :carrid_wa01-GSXX01, :carrid_wa01-DZBM01, :carrid_wa01-SPBM, :carrid_wa01-THDH, :carrid_wa01-XSLB, :carrid_wa01-XSSL, :carrid_wa01-XSJE, :carrid_wa01-SKJE, :carrid_wa01-FHRQ
ENDEXEC.
IF sy-subrc <> 0.
EXIT.
else.
append carrid_wa01 to m_t_sbook01.
ENDIF.
ENDDO.
EXEC SQL.
CLOSE dbcur
ENDEXEC.
EXEC SQL.
DISCONNECT 'CONN'
ENDEXEC.
****************************取门店主数据*********************************************************
types:
BEGIN OF m_s_sbook_c01m,
REGION type /BIC/PZPLANT-/BIC/ZREGION, "大区
DEPTMNT type /BIC/PZPLANT-/BIC/ZDEPTMNT, "分部
SALES_GRP type /BIC/PZPLANT-SALES_GRP, "一二级分部
PLANT type /BIC/PZPLANT-/BIC/ZPLANT, "门店
END OF m_s_sbook_c01m.
DATA m_t_sbook_c01m TYPE STANDARD TABLE OF m_s_sbook_c01m WITH DEFAULT KEY INITIAL SIZE 10.
data wa_c01m type m_s_sbook_c01m.
SELECT
/BIC/ZDEPTMNT as DEPTMNT "分部
/BIC/ZPLANT as PLANT "门店
/BIC/ZREGION as REGION "大区
SALES_GRP as SALES_GRP "一二级分部
INTO CORRESPONDING FIELDS OF TABLE m_t_sbook_c01m
FROM /BIC/PZPLANT.
**************************取商品主数据***********************************************
types:
BEGIN OF m_s_sbook_c01S,
ARTICLE type /BIC/PZARTICLE-/BIC/ZARTICLE, "商品编码
PROD_HIER type /BIC/PZARTICLE-PROD_HIER, "品牌
MAT_CAT type /BIC/PZARTICLE-/BIC/ZMAT_CAT, "品类
RPA_WGH1 type /BIC/PZARTICLE-RPA_WGH1, "品类1
RPA_WGH2 type /BIC/PZARTICLE-RPA_WGH2, "品类2
RPA_WGH3 type /BIC/PZARTICLE-RPA_WGH3, "品类3
RPA_WGH4 type /BIC/PZARTICLE-RPA_WGH4, "品类4
BUS_CTR type /BIC/PZARTICLE-/BIC/ZBUS_CTR, "三大业务中心
END OF m_s_sbook_c01S.
DATA m_t_sbook_c01S TYPE STANDARD TABLE OF m_s_sbook_c01S WITH DEFAULT KEY INITIAL SIZE 10.
data wa_c01S type m_s_sbook_c01S.
SELECT
/BIC/ZARTICLE as ARTICLE
PROD_HIER as PROD_HIER
/BIC/ZMAT_CAT as MAT_CAT
RPA_WGH1 as RPA_WGH1
RPA_WGH2 as RPA_WGH2
RPA_WGH3 as RPA_WGH3
RPA_WGH4 as RPA_WGH4
/BIC/ZBUS_CTR as BUS_CTR
INTO CORRESPONDING FIELDS OF TABLE m_t_sbook_c01S
FROM /BIC/PZARTICLE.
clear carrid_wa01.
clear wa_c01S.
clear wa_c01m.
SORT m_t_sbook_c01m by plant.
SORT m_t_sbook_c01s by ARTICLE.
loop at m_t_sbook01 into carrid_wa01.
READ TABLE m_t_sbook_c01m INTO wa_c01m WITH KEY plant = carrid_wa01-DZBM01 BINARY SEARCH.
carrid_wa01-DEPTMNT = wa_c01m-DEPTMNT.
carrid_wa01-REGION = wa_c01m-REGION.
carrid_wa01-SALES_GRP = wa_c01m-SALES_GRP.
MODIFY m_t_sbook01 FROM carrid_wa01.
READ TABLE m_t_sbook_c01S INTO wa_c01S WITH KEY ARTICLE = carrid_wa01-SPBM BINARY SEARCH.
carrid_wa01-PROD_HIER = wa_c01S-PROD_HIER.
carrid_wa01-MAT_CAT = wa_c01S-MAT_CAT.
carrid_wa01-RPA_WGH1 = wa_c01S-RPA_WGH1.
carrid_wa01-RPA_WGH2 = wa_c01S-RPA_WGH2.
carrid_wa01-RPA_WGH3 = wa_c01S-RPA_WGH3.
carrid_wa01-RPA_WGH4 = wa_c01S-RPA_WGH4.
carrid_wa01-BUS_CTR = wa_c01S-BUS_CTR.
MODIFY m_t_sbook01 FROM carrid_wa01.
endloop.
move m_t_sbook01 to i_t_sbook.
***********************************************************************************************
if sy-subrc = 0. "
* create a working area
ASSIGN LOCAL COPY OF INITIAL LINE OF e_t_data TO <l_s_data>.
* get description of components of <L_S_DATA>
PERFORM get_type_components(SAPLRSDRC_SERVICES)
USING <l_s_data>
CHANGING l_t_component.
* data transformation
* move line by line
LOOP AT i_t_sbook ASSIGNING <l_s_sbook>.
PERFORM move_sbook_to_data01
USING <l_s_sbook>
i_th_sfc
i_th_sfk
l_t_component
CHANGING <l_s_data>.
* append to output data
append <l_s_data> to E_T_DATA.
ENDLOOP.
endif.
* all data are selected
E_END_OF_DATA = 'X'.
ENDFUNCTION.
*---------------------------------------------------------------------*
***INCLUDE LZVIRTCF02 .
*---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form move_budget_to_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_<L_S_BOOK> text
* -->P_I_TH_SFC text
* -->P_I_TH_SFK text
* -->P_L_T_COMPONENT text
* <--P_<L_S_DATA> text
*----------------------------------------------------------------------*
FORM move_sbook_to_data01
USING i_s_sbook TYPE m_s_sbook01
i_th_sfc TYPE RSDRI_TH_SFC
i_th_sfk TYPE RSDRI_TH_SFK
i_t_component TYPE abap_compdescr_tab
CHANGING e_s_data TYPE any.
* define FIELD-SYMBOLS
FIELD-SYMBOLS: <l_s_component> TYPE abap_compdescr,
<l_comp_data> TYPE ANY,
<l_s_sfc> TYPE RSDRI_S_SFC,
<l_s_sfk> TYPE RSDRI_S_SFK.
* Datadeclaration
DATA: l_compno TYPE i,
l_t_component TYPE abap_compdescr_tab,
l_s_sbook TYPE m_s_sbook01.
* initialize
CLEAR e_s_data.
l_s_sbook = i_s_sbook.
* ******* Transformation of all needed SBOOK Fields ****************
********************************Characteristics********************************************
* (1)ZCOM_CODE ----------------------------------------------------------
IF NOT i_s_sbook-GSXX01 IS INITIAL.
* get alias name from SFC
READ TABLE i_th_sfc ASSIGNING <l_s_sfc>
WITH TABLE KEY chanm = 'ZCOM_CODE'.
IF sy-subrc = 0.
* get number of target column
READ TABLE i_t_component ASSIGNING
<l_s_component>
WITH KEY name = <l_s_sfc>-CHAALIAS.
IF sy-subrc = 0.
* number of target data component
l_compno = sy-tabix.
* get target data component
ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
move i_s_sbook-GSXX01 to <l_comp_data>.
ENDIF.
ENDIF.
ENDIF.
* (2)ZPLANT ----------------------------------------------------------
IF NOT i_s_sbook-DZBM01 IS INITIAL.
* get alias name from SFC
READ TABLE i_th_sfc ASSIGNING <l_s_sfc>
WITH TABLE KEY chanm = 'ZPLANT'.
IF sy-subrc = 0.
* get number of target column
READ TABLE i_t_component ASSIGNING
<l_s_component>
WITH KEY name = <l_s_sfc>-CHAALIAS.
IF sy-subrc = 0.
* number of target data component
l_compno = sy-tabix.
* get target data component
ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
move i_s_sbook-DZBM01 to <l_comp_data>.
ENDIF.
ENDIF.
ENDIF.
* (3)ZARTICLE ----------------------------------------------------------
IF NOT i_s_sbook-SPBM IS INITIAL.
* get alias name from SFC
READ TABLE i_th_sfc ASSIGNING <l_s_sfc>
WITH TABLE KEY chanm = 'ZARTICLE'.
IF sy-subrc = 0.
* get number of target column
READ TABLE i_t_component ASSIGNING
<l_s_component>
WITH KEY name = <l_s_sfc>-CHAALIAS.
IF sy-subrc = 0.
* number of target data component
l_compno = sy-tabix.
* get target data component
ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
move i_s_sbook-SPBM to <l_comp_data>.
ENDIF.
ENDIF.
ENDIF.
* (4)ZBSTKD----------------------------------------------------------
IF NOT i_s_sbook-THDH IS INITIAL.
* get alias name from SFC
READ TABLE i_th_sfc ASSIGNING <l_s_sfc>
WITH TABLE KEY chanm = 'ZBSTKD'.
IF sy-subrc = 0.
* get number of target column
READ TABLE i_t_component ASSIGNING
<l_s_component>
WITH KEY name = <l_s_sfc>-CHAALIAS.
IF sy-subrc = 0.
* number of target data component
l_compno = sy-tabix.
* get target data component
ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
move i_s_sbook-THDH to <l_comp_data>.
ENDIF.
ENDIF.
ENDIF.
*
* (5)0DISTR_CHAN----------------------------------------------------------
IF NOT i_s_sbook-XSLB IS INITIAL.
* get alias name from SFC
READ TABLE i_th_sfc ASSIGNING <l_s_sfc>
WITH TABLE KEY chanm = '0DISTR_CHAN'.
IF sy-subrc = 0.
* get number of target column
READ TABLE i_t_component ASSIGNING
<l_s_component>
WITH KEY name = <l_s_sfc>-CHAALIAS.
IF sy-subrc = 0.
* number of target data component
l_compno = sy-tabix.
* get target data component
ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
move i_s_sbook-XSLB to <l_comp_data>.
ENDIF.
ENDIF.
ENDIF.
* (6)ZFHRQ ----------------------------------------------------------
IF NOT i_s_sbook-FHRQ IS INITIAL.
* get alias name from SFC
READ TABLE i_th_sfc ASSIGNING <l_s_sfc>
WITH TABLE KEY chanm = 'ZFHRQ'.
IF sy-subrc = 0.
* get number of target column
READ TABLE i_t_component ASSIGNING
<l_s_component>
WITH KEY name = <l_s_sfc>-CHAALIAS.
IF sy-subrc = 0.
* number of target data component
l_compno = sy-tabix.
* get target data component
ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
move i_s_sbook-FHRQ to <l_comp_data>.
ENDIF.
ENDIF.
ENDIF.
* (7)ZDEPTMNT ----------------------------------------------------------
IF NOT i_s_sbook-DEPTMNT IS INITIAL.
* get alias name from SFC
READ TABLE i_th_sfc ASSIGNING <l_s_sfc>
WITH TABLE KEY chanm = 'ZDEPTMNT'.
IF sy-subrc = 0.
* get number of target column
READ TABLE i_t_component ASSIGNING
<l_s_component>
WITH KEY name = <l_s_sfc>-CHAALIAS.
IF sy-subrc = 0.
* number of target data component
l_compno = sy-tabix.
* get target data component
ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
move i_s_sbook-DEPTMNT to <l_comp_data>.
ENDIF.
ENDIF.
ENDIF.
* (8)ZREGION ----------------------------------------------------------
IF NOT i_s_sbook-REGION IS INITIAL.
* get alias name from SFC
READ TABLE i_th_sfc ASSIGNING <l_s_sfc>
WITH TABLE KEY chanm = 'ZREGION'.
IF sy-subrc = 0.
* get number of target column
READ TABLE i_t_component ASSIGNING
<l_s_component>
WITH KEY name = <l_s_sfc>-CHAALIAS.
IF sy-subrc = 0.
* number of target data component
l_compno = sy-tabix.
* get target data component
ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
move i_s_sbook-REGION to <l_comp_data>.
ENDIF.
ENDIF.
ENDIF.
* (9)0SALES_GRP ----------------------------------------------------------
IF NOT i_s_sbook-SALES_GRP IS INITIAL.
* get alias name from SFC
READ TABLE i_th_sfc ASSIGNING <l_s_sfc>
WITH TABLE KEY chanm = '0SALES_GRP '.
IF sy-subrc = 0.
* get number of target column
READ TABLE i_t_component ASSIGNING
<l_s_component>
WITH KEY name = <l_s_sfc>-CHAALIAS.
IF sy-subrc = 0.
* number of target data component
l_compno = sy-tabix.
* get target data component
ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
move i_s_sbook-SALES_GRP to <l_comp_data>.
ENDIF.
ENDIF.
ENDIF.
* (10)0LOC_CURRCY ----------------------------------------------------------
IF NOT i_s_sbook-XSJE IS INITIAL.
* get alias name from SFC
READ TABLE i_th_sfc ASSIGNING <l_s_sfc>
WITH TABLE KEY chanm = '0LOC_CURRCY '.
IF sy-subrc = 0.
* get number of target column
READ TABLE i_t_component ASSIGNING
<l_s_component>
WITH KEY name = <l_s_sfc>-CHAALIAS.
IF sy-subrc = 0.
* number of target data component
l_compno = sy-tabix.
* get target data component
ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
move 'RMB' to <l_comp_data>.
ENDIF.
ENDIF.
ENDIF.
** (11)0UNIT ----------------------------------------------------------
* IF NOT i_s_sbook-JCSL IS INITIAL.
** get alias name from SFC
* DATA UNIT(4) TYPE C.
* UNIT = 'ST'.
* READ TABLE i_th_sfc ASSIGNING <l_s_sfc>
* WITH TABLE KEY chanm = '0UNIT'.
* IF sy-subrc = 0.
** get number of target column
* READ TABLE i_t_component ASSIGNING
* <l_s_component>
* WITH KEY name = <l_s_sfc>-CHAALIAS.
* IF sy-subrc = 0.
** number of target data component
* l_compno = sy-tabix.
** get target data component
* ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
* move UNIT to <l_comp_data>.
* ENDIF.
* ENDIF.
* ENDIF.
* (12)0PROD_HIER ----------------------------------------------------------
IF NOT i_s_sbook-PROD_HIER IS INITIAL.
* get alias name from SFC
READ TABLE i_th_sfc ASSIGNING <l_s_sfc>
WITH TABLE KEY chanm = '0PROD_HIER'.
IF sy-subrc = 0.
* get number of target column
READ TABLE i_t_component ASSIGNING
<l_s_component>
WITH KEY name = <l_s_sfc>-CHAALIAS.
IF sy-subrc = 0.
* number of target data component
l_compno = sy-tabix.
* get target data component
ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
move i_s_sbook-PROD_HIER to <l_comp_data>.
ENDIF.
ENDIF.
ENDIF.
* (13)ZMAT_CAT ----------------------------------------------------------
IF NOT i_s_sbook-MAT_CAT IS INITIAL.
* get alias name from SFC
READ TABLE i_th_sfc ASSIGNING <l_s_sfc>
WITH TABLE KEY chanm = 'ZMAT_CAT'.
IF sy-subrc = 0.
* get number of target column
READ TABLE i_t_component ASSIGNING
<l_s_component>
WITH KEY name = <l_s_sfc>-CHAALIAS.
IF sy-subrc = 0.
* number of target data component
l_compno = sy-tabix.
* get target data component
ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
move i_s_sbook-MAT_CAT to <l_comp_data>.
ENDIF.
ENDIF.
ENDIF.
* (14)0RPA_WGH1 ----------------------------------------------------------
IF NOT i_s_sbook-RPA_WGH1 IS INITIAL.
* get alias name from SFC
READ TABLE i_th_sfc ASSIGNING <l_s_sfc>
WITH TABLE KEY chanm = '0RPA_WGH1'.
IF sy-subrc = 0.
* get number of target column
READ TABLE i_t_component ASSIGNING
<l_s_component>
WITH KEY name = <l_s_sfc>-CHAALIAS.
IF sy-subrc = 0.
* number of target data component
l_compno = sy-tabix.
* get target data component
ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
move i_s_sbook-RPA_WGH1 to <l_comp_data>.
ENDIF.
ENDIF.
ENDIF.
* (15)0RPA_WGH2 ----------------------------------------------------------
IF NOT i_s_sbook-RPA_WGH2 IS INITIAL.
* get alias name from SFC
READ TABLE i_th_sfc ASSIGNING <l_s_sfc>
WITH TABLE KEY chanm = '0RPA_WGH2'.
IF sy-subrc = 0.
* get number of target column
READ TABLE i_t_component ASSIGNING
<l_s_component>
WITH KEY name = <l_s_sfc>-CHAALIAS.
IF sy-subrc = 0.
* number of target data component
l_compno = sy-tabix.
* get target data component
ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
move i_s_sbook-RPA_WGH2 to <l_comp_data>.
ENDIF.
ENDIF.
ENDIF.
* (16)0RPA_WGH3 ----------------------------------------------------------
IF NOT i_s_sbook-RPA_WGH3 IS INITIAL.
* get alias name from SFC
READ TABLE i_th_sfc ASSIGNING <l_s_sfc>
WITH TABLE KEY chanm = '0RPA_WGH3'.
IF sy-subrc = 0.
* get number of target column
READ TABLE i_t_component ASSIGNING
<l_s_component>
WITH KEY name = <l_s_sfc>-CHAALIAS.
IF sy-subrc = 0.
* number of target data component
l_compno = sy-tabix.
* get target data component
ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
move i_s_sbook-RPA_WGH3 to <l_comp_data>.
ENDIF.
ENDIF.
ENDIF.
* (17)0RPA_WGH4----------------------------------------------------------
IF NOT i_s_sbook-RPA_WGH4 IS INITIAL.
* get alias name from SFC
READ TABLE i_th_sfc ASSIGNING <l_s_sfc>
WITH TABLE KEY chanm = '0RPA_WGH4'.
IF sy-subrc = 0.
* get number of target column
READ TABLE i_t_component ASSIGNING
<l_s_component>
WITH KEY name = <l_s_sfc>-CHAALIAS.
IF sy-subrc = 0.
* number of target data component
l_compno = sy-tabix.
* get target data component
ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
move i_s_sbook-RPA_WGH4 to <l_comp_data>.
ENDIF.
ENDIF.
ENDIF.
* (18)ZBUS_CTR----------------------------------------------------------
IF NOT i_s_sbook-XSLB IS INITIAL.
* get alias name from SFC
READ TABLE i_th_sfc ASSIGNING <l_s_sfc>
WITH TABLE KEY chanm = 'ZBUS_CTR'.
IF sy-subrc = 0.
* get number of target column
READ TABLE i_t_component ASSIGNING
<l_s_component>
WITH KEY name = <l_s_sfc>-CHAALIAS.
IF sy-subrc = 0.
* number of target data component
l_compno = sy-tabix.
* get target data component
ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
move i_s_sbook-XSLB to <l_comp_data>.
ENDIF.
ENDIF.
ENDIF.
****************************Key Figures **********************************************
* (1)ZSAL_QTY1 ----------------------------------------------------------
IF NOT i_s_sbook-XSSL IS INITIAL.
* get alias name from SFC
READ TABLE I_TH_SFK ASSIGNING <l_s_sfk>
WITH TABLE KEY kyfnm = 'ZSAL_QTY1 '.
IF sy-subrc = 0.
* get number of target column
READ TABLE i_t_component ASSIGNING
<l_s_component>
WITH KEY name = <l_s_sfk>-kyfalias.
IF sy-subrc = 0.
* number of target data component
l_compno = sy-tabix.
* get target data component
ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
* move
<l_comp_data> = i_s_sbook-XSSL.
ENDIF.
ENDIF.
ENDIF.
* (2)ZSAL_AMT1 ----------------------------------------------------------
IF NOT i_s_sbook-XSJE IS INITIAL.
* get alias name from SFC
READ TABLE i_th_sfk ASSIGNING <l_s_sfk>
WITH TABLE KEY kyfnm = 'ZSAL_AMT1'.
IF sy-subrc = 0.
* get number of target column
READ TABLE i_t_component ASSIGNING
<l_s_component>
WITH KEY name = <l_s_sfk>-kyfalias.
IF sy-subrc = 0.
* number of target data component
l_compno = sy-tabix.
* get target data component
ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
* move
<l_comp_data> = i_s_sbook-XSJE.
ENDIF.
ENDIF.
ENDIF.
* (3)ZSKJE ----------------------------------------------------------
IF NOT i_s_sbook-SKJE IS INITIAL.
* get alias name from SFC
READ TABLE i_th_sfk ASSIGNING <l_s_sfk>
WITH TABLE KEY kyfnm = 'ZSKJE'.
IF sy-subrc = 0.
* get number of target column
READ TABLE i_t_component ASSIGNING
<l_s_component>
WITH KEY name = <l_s_sfk>-kyfalias.
IF sy-subrc = 0.
* number of target data component
l_compno = sy-tabix.
* get target data component
ASSIGN COMPONENT l_compno OF STRUCTURE e_s_data TO <l_comp_data>.
* move
<l_comp_data> = i_s_sbook-SKJE .
ENDIF.
ENDIF.
ENDIF.
ENDFORM. " move_budget_to_data
FUNCTION-POOL ZBW_GRP. "MESSAGE-ID ..
Tables: sbook,/BIC/PZPLANT,/BIC/PZARTICLE.
TYPE-POOLS: rs, rsd, rsdd, rsdpm, rsdpr, rsdu.
****************************************************************************************
*** ZRT_C01 ***
**************************************************************************************
types:
BEGIN OF m_s_sbook01,
GSXX01(20) TYPE c, "公司代码
DZBM01(20) TYPE c, "金立门店
SPBM(20) TYPE c, "商品
THDH(16) type n, "提单号
XSLB(4) TYPE N, "渠道
FHRQ TYPE D, "发货日期
XSSL(16) TYPE p DECIMALS 4, "销售数量
XSJE(16) TYPE P DECIMALS 4, "销售金额
SKJE(16) TYPE P DECIMALS 4, "红卡使用金额
REGION type /BIC/PZPLANT-/BIC/ZREGION, "大区
DEPTMNT type /BIC/PZPLANT-/BIC/ZDEPTMNT, "分部
SALES_GRP type /BIC/PZPLANT-SALES_GRP, "一二级分部
PLANT type /BIC/PZPLANT-/BIC/ZPLANT, "门店
PROD_HIER type /BIC/PZARTICLE-PROD_HIER, "品牌
MAT_CAT type /BIC/PZARTICLE-/BIC/ZMAT_CAT, "品类
RPA_WGH1 type /BIC/PZARTICLE-RPA_WGH1, "品类1
RPA_WGH2 type /BIC/PZARTICLE-RPA_WGH2, "品类2
RPA_WGH3 type /BIC/PZARTICLE-RPA_WGH3, "品类3
RPA_WGH4 type /BIC/PZARTICLE-RPA_WGH4, "品类4
BUS_CTR type /BIC/PZARTICLE-/BIC/ZBUS_CTR, "三大业务中心
END OF m_s_sbook01.
types:
m_t_sbook01 TYPE STANDARD TABLE OF m_s_sbook01 WITH DEFAULT KEY INITIAL SIZE 10.
"data i_t_sbook TYPE STANDARD TABLE OF m_s_sbook.
****************************门店主数据结构*********************************************************
types:
BEGIN OF m_s_sbook_c01m,
REGION type /BIC/PZPLANT-/BIC/ZREGION, "大区
DEPTMNT type /BIC/PZPLANT-/BIC/ZDEPTMNT, "分部
SALES_GRP type /BIC/PZPLANT-SALES_GRP, "一二级分部
PLANT type /BIC/PZPLANT-/BIC/ZPLANT, "门店
END OF m_s_sbook_c01m.
DATA m_t_sbook_c01m TYPE STANDARD TABLE OF m_s_sbook_c01m WITH DEFAULT KEY INITIAL SIZE 10.
data wa_c01m type m_s_sbook_c01m.
**************************取商品主数据***********************************************
types:
BEGIN OF m_s_sbook_c01S,
ARTICLE type /BIC/PZARTICLE-/BIC/ZARTICLE, "商品编码
PROD_HIER type /BIC/PZARTICLE-PROD_HIER, "品牌
MAT_CAT type /BIC/PZARTICLE-/BIC/ZMAT_CAT, "品类
RPA_WGH1 type /BIC/PZARTICLE-RPA_WGH1, "品类1
RPA_WGH2 type /BIC/PZARTICLE-RPA_WGH2, "品类2
RPA_WGH3 type /BIC/PZARTICLE-RPA_WGH3, "品类3
RPA_WGH4 type /BIC/PZARTICLE-RPA_WGH4, "品类4
BUS_CTR type /BIC/PZARTICLE-/BIC/ZBUS_CTR, "三大业务中心
END OF m_s_sbook_c01S.
DATA m_t_sbook_c01S TYPE STANDARD TABLE OF m_s_sbook_c01S WITH DEFAULT KEY INITIAL SIZE 10.