收藏 分销(赏)

材料提成比率查询报表程序介绍.docx

上传人:pc****0 文档编号:8415901 上传时间:2025-02-12 格式:DOCX 页数:16 大小:17.64KB 下载积分:10 金币
下载 相关 举报
材料提成比率查询报表程序介绍.docx_第1页
第1页 / 共16页
材料提成比率查询报表程序介绍.docx_第2页
第2页 / 共16页


点击查看更多>>
资源描述
*----------------------------------------------------------------------* * Program Name : ZCFMR173 * * Purpose : 材料提成比率查询报表 * * Project Name : CRM * * Created by : huoqi * * Create on : 2010.07.14 * * Functional Consultant : 王莹 * Description : 材料提成比率查询报表 *----------------------------------------------------------------------* * Modification Log * *Date Programmer Corr. # Description * *2010.08.04 huoqi v1.1 先判断材料ID的商品性质为免费材料 * 还是收费材料,免费材料则材料提成比 * 率为0,收费材料则再继续执行原查找 * ZT0116\ZT0117\ZT0118的逻辑。 *----------------------------------------------------------------------* REPORT zcfmr173. TABLES: zt0116. TYPE-POOLS: slis. DATA: fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE, g_repid TYPE sy-repid, gs_layout TYPE slis_layout_alv. DATA: lt_process_type TYPE ztb_tran_check ,ls_process_type TYPE ztr_tran_check . RANGES: r_process_type FOR crmd_orderadm_h-process_type. RANGES: is_seorg FOR crmt_report_orgman-service_org. *根据服务组织找相应的OTJID DATA: BEGIN OF i_hrp1000 OCCURS 0, otjid LIKE hrp1000-otjid, stext LIKE hrp1000-stext, service_org TYPE crmt_service_org, END OF i_hrp1000. * DATA: BEGIN OF it_zzclsp OCCURS 0, product_id LIKE comm_product-product_id, product_guid LIKE comm_product-product_guid, category_id LIKE comm_prprdcatr-category_id, category_guid LIKE comm_prprdcatr-category_guid, END OF it_zzclsp. ** DATA: BEGIN OF it_comm_prshtext OCCURS 0, product_guid LIKE comm_prshtext-product_guid, short_text LIKE comm_prshtext-short_text, END OF it_comm_prshtext. * DATA: BEGIN OF it_comm_categoryt OCCURS 0, category_guid LIKE comm_categoryt-category_guid, category_text LIKE comm_categoryt-category_text, END OF it_comm_categoryt. DATA: BEGIN OF it_category_guid OCCURS 0, category_id LIKE comm_category-category_id, category_guid LIKE comm_category-category_guid, END OF it_category_guid. DATA: BEGIN OF it_process_type OCCURS 0, process_type LIKE ztr_tran_check-process_type, p_description_20 LIKE ztr_tran_check-p_description_20, END OF it_process_type. DATA: BEGIN OF it_out OCCURS 0, service_org LIKE zt0134-zsales_org, service_org_desc LIKE hrp1000-stext, zzclsp LIKE zt0134-zzclspid, zzclsp_desc LIKE comm_prshtext-short_text, zzclspz LIKE zt0116-zzclspz, zzclspz_desc LIKE comm_categoryt-category_text, zzfwddlx LIKE zt0116-zzfwddlx, zzfwddlx_desc LIKE crmc_proc_type_t-p_description_20, zzdqspz LIKE zt0116-zzdqspz, zzdqspz_desc LIKE comm_categoryt-category_text, zzspxz(10), zztcbl LIKE zt0116-zztcbl, END OF it_out. DATA: BEGIN OF it_zt0134 OCCURS 0, zsales_org LIKE zt0134-zsales_org, zzclspid LIKE zt0134-zzclspid, END OF it_zt0134. DATA: BEGIN OF it_zt0135 OCCURS 0, zsales_org LIKE zt0135-zsales_org, zzclspz LIKE zt0135-zzclspz, END OF it_zt0135. DATA: it_out1 LIKE it_out OCCURS 0 WITH HEADER LINE. SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001. SELECT-OPTIONS: s_seorg FOR zt0116-service_org OBLIGATORY, "服务组织 s_zzclsp FOR zt0116-zzclsp OBLIGATORY, "材料商品ID s_type FOR zt0116-zzfwddlx, "服务订单类型 s_dqspz FOR zt0116-zzdqspz MODIF ID md1. "电器商品组 SELECTION-SCREEN END OF BLOCK b1. SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002. PARAMETERS: r1 RADIOBUTTON GROUP ran1 DEFAULT 'X' USER-COMMAND rb1, r2 RADIOBUTTON GROUP ran1, r3 RADIOBUTTON GROUP ran1. SELECTION-SCREEN END OF BLOCK b2. SELECTION-SCREEN COMMENT /2(83) com1 VISIBLE LENGTH 120. AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_type-low. PERFORM sub_pro_type_select USING s_type-low. AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_type-high. PERFORM sub_pro_type_select USING s_type-low. AT SELECTION-SCREEN OUTPUT. PERFORM frm_pbo. AT SELECTION-SCREEN. PERFORM frm_authority_check. PERFORM frm_input_check. CHECK is_seorg[] IS NOT INITIAL. START-OF-SELECTION. PERFORM frm_data_process. PERFORM frm_data_output. END-OF-SELECTION. *&---------------------------------------------------------------------* *& Form SUB_PRO_TYPE_SELECT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->P_S_TYPE_LOW text *----------------------------------------------------------------------* FORM sub_pro_type_select USING p_s_type_low. DATA : f4help LIKE TABLE OF ddshretval WITH HEADER LINE. DATA: BEGIN OF list OCCURS 0, process_type LIKE ztr_tran_check-process_type, p_description_20 LIKE ztr_tran_check-p_description_20, END OF list. *带搜索帮助,服务订单类型的值:ZS01-ZS12、ZGS1-ZGS3 r_process_type-sign = 'I'. r_process_type-option = 'BT'. r_process_type-low = 'ZS01'. r_process_type-high = 'ZS12'. APPEND r_process_type. CLEAR r_process_type. r_process_type-sign = 'I'. r_process_type-option = 'BT'. r_process_type-low = 'ZGS1'. r_process_type-high = 'ZGS3'. APPEND r_process_type. CLEAR r_process_type. SELECT process_type p_description_20 INTO CORRESPONDING FIELDS OF TABLE lt_process_type FROM crmc_proc_type_t WHERE langu = sy-langu AND process_type IN r_process_type. LOOP AT lt_process_type INTO ls_process_type. MOVE-CORRESPONDING ls_process_type TO list. APPEND list. ENDLOOP. CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING retfield = 'PROCESS_TYPE' dynpprog = sy-repid dynpnr = sy-dynnr stepl = '1' window_title = '订单类型查询' value_org = 'S' TABLES value_tab = list return_tab = f4help. p_s_type_low = f4help-fieldval. ENDFORM. " SUB_PRO_TYPE_SELECT *&---------------------------------------------------------------------* *& Form FRM_PBO *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM frm_pbo . CONCATENATE '注:服务组织、材料商品ID必填,材料提成比率优先取提成比率1,' '提成比率1无数据再取提成比率2,' '提成比率2也无数据再取提成比率3' INTO com1. IF r3 = 'X'. LOOP AT SCREEN. IF screen-group1 = 'MD1'. screen-input = '0'. MODIFY SCREEN. ENDIF. ENDLOOP. ENDIF. ENDFORM. " FRM_PBO *&---------------------------------------------------------------------* *& Form FRM_AUTHORITY_CHECK *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM frm_authority_check . *权限控制到服务组织 *ZSN_ORG001 REFRESH is_seorg. SELECT * INTO CORRESPONDING FIELDS OF TABLE i_hrp1000 FROM hrp1000 WHERE hrp1000~otjid IN s_seorg AND hrp1000~plvar = '01' AND hrp1000~otype = 'O' AND hrp1000~begda < sy-datum AND hrp1000~endda > sy-datum. IF i_hrp1000[] IS INITIAL. MESSAGE e398(00) WITH '没有找到合适的组织数据!'. ELSE. LOOP AT i_hrp1000. is_seorg-sign = 'I'. is_seorg-option = 'EQ'. is_seorg-low = i_hrp1000-otjid. APPEND is_seorg. CLEAR is_seorg. ENDLOOP. LOOP AT is_seorg. * 需控制到服务组织。只可查看本服务组织的下的单据。权限对象:ZSN_ORG001 AUTHORITY-CHECK OBJECT 'ZSN_ORG001' ID 'SALES_ORG' FIELD is_seorg-low. IF sy-subrc <> 0. DELETE is_seorg[]. MESSAGE i398(00) WITH '您没有操作组织' is_seorg-low '的权限!'. EXIT. ENDIF. ENDLOOP. ENDIF. ENDFORM. " FRM_AUTHORITY_CHECK *&---------------------------------------------------------------------* *& Form FRM_INPUT_CHECK *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM frm_input_check . FIND '*' IN TABLE s_zzclsp. IF sy-subrc = 0. MESSAGE e398(00) WITH '材料商品ID不允许输入*'. EXIT. ENDIF. ENDFORM. " FRM_INPUT_CHECK *&---------------------------------------------------------------------* *& Form FRM_DATA_PROCESS *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM frm_data_process . *1、若勾选提成比率1,点执行,则根据查询条件中录入的:服务组织、材料商品ID、 *服务订单类型、电器商品组筛选条件,查询ZT0116表,并显示字段(见下)。 *若查询条件中服务订单类型、电器商品组字段不输入,则显示ZT0116表中所有的服务订单类型和电器商品组。 *2、若勾选提成比率2,点执行,则根据查询条件录入的服务组织、材料商品ID、 *服务订单类型、电器商品组筛选条件,查询ZT0117表,并显示字段(见下)。其中, *通过查询条件中录入的材料商品ID先查找该ID对应的材料商品组, *再根据该材料商品组查找ZT0117表。若查询条件中服务订单类型、电器商品组字段不输入, *则显示ZT0117表中所有的服务订单类型和电器商品组。 *3.若勾选提成比率3,点执行,则根据查询条件录入的服务组织、材料商品ID、 *服务订单类型筛选条件,查询ZT0118表,其中,通过查询条件中录入的材料商品ID *先查找该ID对应的材料商品组,再根据该材料商品组查找ZT0118表。 *其中查询条件中的电器商品组不作为查询筛选字段。 *根据输入的材料商品ID来找其对应的材料商品组 SELECT a~product_id a~product_guid b~category_id b~category_guid INTO CORRESPONDING FIELDS OF TABLE it_zzclsp FROM comm_product AS a INNER JOIN comm_prprdcatr AS b ON a~product_guid = b~product_guid INNER JOIN comm_hierarchy AS c ON b~hierarchy_guid = c~hierarchy_guid WHERE a~product_id IN s_zzclsp AND c~hierarchy_id = 'R3MATCLASS'. * CHECK it_zzclsp[] IS NOT INITIAL. IF r1 = 'X'. CLEAR: it_out.REFRESH: it_out. SELECT service_org zzclsp zzclspz zzfwddlx zzdqspz zztcbl FROM zt0116 INTO CORRESPONDING FIELDS OF TABLE it_out WHERE service_org IN is_seorg AND zzfwddlx IN s_type AND zzfwddlx IN r_process_type AND zzdqspz IN s_dqspz AND zzclsp IN s_zzclsp. ELSEIF r2 = 'X'. SELECT service_org zzclspz zzfwddlx zzdqspz zztcbl FROM zt0117 INTO CORRESPONDING FIELDS OF TABLE it_out FOR ALL ENTRIES IN it_zzclsp WHERE service_org IN is_seorg AND zzfwddlx IN s_type AND zzfwddlx IN r_process_type AND zzdqspz IN s_dqspz AND zzclspz = it_zzclsp-category_id. ELSEIF r3 = 'X'. SELECT service_org zzclspz zzfwddlx zztcbl FROM zt0118 INTO CORRESPONDING FIELDS OF TABLE it_out FOR ALL ENTRIES IN it_zzclsp WHERE service_org IN is_seorg AND zzfwddlx IN s_type AND zzfwddlx IN r_process_type AND zzclspz = it_zzclsp-category_id. ENDIF. * CHECK it_out[] IS NOT INITIAL. IF it_out[] IS NOT INITIAL. SELECT process_type p_description_20 INTO CORRESPONDING FIELDS OF TABLE it_process_type FROM crmc_proc_type_t WHERE langu = sy-langu AND process_type IN r_process_type. SELECT product_guid short_text FROM comm_prshtext INTO TABLE it_comm_prshtext FOR ALL ENTRIES IN it_zzclsp WHERE product_guid = it_zzclsp-product_guid. SELECT category_guid category_text FROM comm_categoryt INTO TABLE it_comm_categoryt FOR ALL ENTRIES IN it_zzclsp WHERE category_guid = it_zzclsp-category_guid. IF r3 <> 'X'. SELECT category_id category_guid FROM comm_category INTO TABLE it_category_guid FOR ALL ENTRIES IN it_out WHERE category_id = it_out-zzdqspz. IF it_category_guid[] IS NOT INITIAL. SELECT category_guid category_text FROM comm_categoryt APPENDING TABLE it_comm_categoryt FOR ALL ENTRIES IN it_category_guid WHERE category_guid = it_category_guid-category_guid. ENDIF. ENDIF. ENDIF. SORT i_hrp1000 BY otjid. SORT it_zzclsp BY product_id. SORT it_comm_prshtext BY product_guid. SORT it_zzclsp BY category_id. SORT it_comm_categoryt BY category_guid. SORT it_category_guid BY category_id. SORT it_process_type BY process_type. LOOP AT it_out. READ TABLE i_hrp1000 WITH KEY otjid = it_out-service_org BINARY SEARCH. IF sy-subrc = 0. it_out-service_org_desc = i_hrp1000-stext. ENDIF. IF r1 = 'X'. READ TABLE it_zzclsp WITH KEY product_id = it_out-zzclsp BINARY SEARCH. IF sy-subrc = 0. READ TABLE it_comm_prshtext WITH KEY product_guid = it_zzclsp-product_guid BINARY SEARCH. IF sy-subrc = 0. it_out-zzclsp_desc = it_comm_prshtext-short_text. ENDIF. ENDIF. ENDIF. READ TABLE it_zzclsp WITH KEY category_id = it_out-zzclspz BINARY SEARCH. IF sy-subrc = 0. READ TABLE it_comm_categoryt WITH KEY category_guid = it_zzclsp-category_guid BINARY SEARCH. IF sy-subrc = 0. it_out-zzclspz_desc = it_comm_categoryt-category_text. ENDIF. ENDIF. IF r3 <> 'X'. READ TABLE it_category_guid WITH KEY category_id = it_out-zzdqspz BINARY SEARCH. IF sy-subrc = 0. READ TABLE it_comm_categoryt WITH KEY category_guid = it_category_guid-category_guid BINARY SEARCH. IF sy-subrc = 0. it_out-zzdqspz_desc = it_comm_categoryt-category_text. ENDIF. ENDIF. ENDIF. READ TABLE it_process_type WITH KEY process_type = it_out-zzfwddlx BINARY SEARCH. IF sy-subrc = 0. it_out-zzfwddlx_desc = it_process_type-p_description_20. ENDIF. MODIFY it_out.
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 管理财经 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服