




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SD-提取订单的定价过程的各类折扣的报表样例REPORT z_sales_discount.TYPES: BEGIN OF s_all, vkorg TYPE vkorg, sales organization fkart TYPE fkart, billing type fkdat TYPE fkdat, billing dateb_vbeln TYPE vbeln_vf, billing document kunag TYPE kunag, sold-to party spart TYPE spart, division gsber TYPE gsber, business area bstnk TYPE bstnk, po munber aubel TYPE vbeln_va, sales document matnr TYPE matnr, material number kwert TYPE kwert, gross value kbetr TYPE kbetr, rate(condition amount or percentage) knumv TYPE knumv, number of document condition kposn TYPE kposn, condition item number kschl TYPE kscha, condition typeb_posnr TYPE posnr_vf, billing item waerk TYPE waerk, sd document currency kurrf TYPE kurrf, exchange rate_accntg name1 TYPE name1_gp, name 1 kunnr TYPE name1, customer name 1 arktx TYPE arktx, short text for sales order item fkimg TYPE fkimg, actual billed quantity vrkme TYPE vrkme, sales unit netwr TYPE netwr_fp, net value of the billing item in document currencys_vbeln TYPE vbeln_va, sales document ra01_discount TYPE kbetr, ra01%discount ra01_dis_amt TYPE kwert, ra01 discount amount ra00_discount TYPE kbetr, ra00%discount ra00_dis_amt TYPE kwert, ra00 discount amounts_kwmeng TYPE kwmeng, sales order total quantitys_kwert TYPE kwert, sales order total gross value END OF s_all.TYPES: BEGIN OF s_konv, kwert TYPE kwert, gross value kbetr TYPE kbetr, rate(condition amount or percentage) knumv TYPE knumv, number of document condition kposn TYPE kposn, condition item number kschl TYPE kscha, condition type END OF s_konv.TYPES: BEGIN OF s_kna1, name1 TYPE name1_gp, name 1 kunnr TYPE name1, customer name 1 kunag TYPE kunag, sold-to party END OF s_kna1.TYPES: BEGIN OF s_vbap, kwmeng TYPE kwmeng, cumulative order quantity in sales units abgru TYPE abgru_va, reason for rejection of quotations and sales orderss_vbeln TYPE vbeln_va, sales document END OF s_vbap.TYPE-POOLS: slis. ALV DeclarationsTYPES: t_all TYPE STANDARD TABLE OF s_all, t_konv TYPE STANDARD TABLE OF s_konv, t_kna1 TYPE STANDARD TABLE OF s_kna1, t_vbap TYPE STANDARD TABLE OF s_vbap.DATA: it_all TYPE t_all, it_konv TYPE t_konv, it_kna1 TYPE t_kna1, it_vbap TYPE t_vbap, it_total TYPE t_all, it_total_out TYPE t_all.DATA: wa_all TYPE LINE OF t_all, wa_konv TYPE LINE OF t_konv, wa_kna1 TYPE LINE OF t_kna1, wa_vbap TYPE LINE OF t_vbap, wa_total TYPE LINE OF t_all, wa_total_out TYPE LINE OF t_all.DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE, gd_repid LIKE sy-repid.SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-000.SELECT-OPTIONS: x_vkorg FOR wa_all-vkorg, sales organization x_fkart FOR wa_all-fkart MATCHCODE OBJECT h_tvfk, billing type x_fkdat FOR wa_all-fkdat, billing date x_vbeln FOR wa_all-b_vbeln MATCHCODE OBJECT f4_vbrk, billing document x_kunag FOR wa_all-kunag MATCHCODE OBJECT debi. sold-to partySELECTION-SCREEN SKIP.SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.PARAMETERS x_check AS CHECKBOX.SELECT-OPTIONS: x_spart FOR wa_all-spart, division x_gsber FOR wa_all-gsber MATCHCODE OBJECT h_tgsb, business area x_matnr FOR wa_all-matnr, material x_bstnk FOR wa_all-bstnk, po munber x_aubel FOR wa_all-aubel. sales documentSELECTION-SCREEN END OF BLOCK b2.SELECTION-SCREEN END OF BLOCK b1.START-OF-SELECTION. PERFORM data_select. PERFORM data_processing.END-OF-SELECTION. PERFORM data_display.*&-*& Form data_select*&-* perform data selecting*-*FORM data_select. PERFORM select_from_vbrk_vbrp_vbak. PERFORM select_from_konv. PERFORM select_from_kna1. PERFORM select_from_vbap.ENDFORM. data_select*&-*& Form data_processing*&-* perform data processing*-*FORM data_processing. PERFORM get_gross_dis_amt. PERFORM get_total_gross. PERFORM get_total.ENDFORM. data_processing*&-*& Form data_display*&-* perform data displaying*-*FORM data_display. IF x_check = X. PERFORM build_fieldcatalog. PERFORM display_alv_report USING it_all. ELSE. PERFORM build_fieldcatalog. PERFORM display_alv_report USING it_total_out. ENDIF.ENDFORM. data_display*&-*& Form select_from_vbrk_vbrp_vbak*&-* 1select data from table vbrk/vbrp/vbak into it_all.* 2when billing type is s1,add negative to net value*-*FORM select_from_vbrk_vbrp_vbak. SELECT vbrkvkorg vbrkfkart vbrkfkdat vbrkvbeln AS b_vbeln vbrkkunag vbrpspart vbrpmatnr vbrpgsber vbrpaubel vbakbstnk vbrkknumv vbrpposnr AS b_posnr vbrkwaerk vbrkkurrf vbrpmatnr vbrparktx vbrpfkimg vbrpvrkme vbrpnetwr INTO CORRESPONDING FIELDS OF TABLE it_all FROM vbrp JOIN vbak ON vbakvbeln = vbrpaubel JOIN vbrk ON vbrkvbeln = vbrpvbeln WHERE vbrkvkorg IN x_vkorg AND vbrkvkorg NOT IN (4802,4803)Sale Organization AND vbrkfkart IN x_fkart AND vbrkfkart NOT IN (ZMF8,ZPF8) AND vbrkfkdat IN x_fkdat AND vbrkvbeln IN x_vbeln AND vbrkkunag IN x_kunag AND vbrpspart IN x_spart AND vbrpmatnr IN x_matnr AND vbrpgsber IN x_gsber AND vbrpaubel IN x_aubel. SORT it_all BY b_vbeln kunag. IF sy-subrc 0. MESSAGE i001(zjenni_msg). ENDIF. LOOP AT it_all INTO wa_all. IF wa_all-fkart = S1. wa_all-netwr = -1 * wa_all-netwr. MODIFY it_all FROM wa_all TRANSPORTING netwr. ENDIF. ENDLOOP. CLEAR wa_all.ENDFORM. select_from_vbrk_vbrp_vbak*&-*& Form select_from_konv*&-* select data from table konv into it_konv*-*FORM select_from_konv. IF it_all IS NOT INITIAL. SELECT kwert kbetr knumv kposn kschl FROM konv INTO CORRESPONDING FIELDS OF TABLE it_konv FOR ALL ENTRIES IN it_all WHERE knumv = it_all-knumv AND kposn = it_all-b_posnr AND kschl IN (PR00,RA00,RA01). ENDIF. SORT it_konv BY knumv kposn. IF sy-subrc 0. MESSAGE i001(zjenni_msg). ENDIF.ENDFORM. select_from_konv*&-*& Form select_from_kna1*&-* select data from table kna1 into it_all*-*FORM select_from_kna1. IF it_all IS NOT INITIAL. SELECT name1 kunnr FROM kna1 INTO CORRESPONDING FIELDS OF TABLE it_kna1 FOR ALL ENTRIES IN it_all WHERE kunnr = it_all-kunag. ENDIF. SORT it_kna1 BY kunnr. IF sy-subrc 0. MESSAGE i001(zjenni_msg). ENDIF. LOOP AT it_all INTO wa_all. READ TABLE it_kna1 INTO wa_kna1 WITH KEY kunnr = wa_all-kunag BINARY SEARCH. wa_all-name1 = wa_kna1-name1. MODIFY it_all FROM wa_all TRANSPORTING name1. ENDLOOP. CLEAR wa_all.ENDFORM. select_from_kna1*&-*& Form select_from_vbap*&-* 1select data from table vbap* 2get sales order total quantity*-*FORM select_from_vbap. DATA: it_temp TYPE t_vbap, wa_temp TYPE LINE OF t_vbap. IF it_all IS NOT INITIAL. SELECT kwmeng abgru posnr vbeln AS s_vbeln FROM vbap INTO CORRESPONDING FIELDS OF TABLE it_vbap FOR ALL ENTRIES IN it_all WHERE vbeln = it_all-aubel AND posnr = it_all-b_posnr AND abgru = . ENDIF. SORT it_vbap BY kwmeng. IF sy-subrc 0. MESSAGE i001(zjenni_msg). ENDIF. LOOP AT it_vbap INTO wa_vbap. COLLECT wa_vbap INTO it_temp. ENDLOOP. CLEAR wa_vbap. LOOP AT it_all INTO wa_all. READ TABLE it_temp INTO wa_temp WITH KEY s_vbeln = wa_all-aubel BINARY SEARCH. wa_all-s_kwmeng = wa_temp-kwmeng. MODIFY it_all FROM wa_all TRANSPORTING s_kwmeng. ENDLOOP. CLEAR wa_all.ENDFORM. select_from_vbap*&-*& Form get_gross_dis_amt*&-* get particular gross value, discount,discount amount*-*FORM get_gross_dis_amt. DATA: it_temp TYPE t_konv, wa_temp TYPE LINE OF t_konv. LOOP AT it_all INTO wa_all. READ TABLE it_konv INTO wa_konv WITH KEY knumv = wa_all-knumv kposn = wa_all-b_posnr BINARY SEARCH. IF wa_konv-kschl = PR00. wa_all-kwert = wa_konv-kwert. MODIFY it_all FROM wa_all TRANSPORTING kwert. ENDIF. IF wa_konv-kschl = RA01. wa_all-ra01_discount = wa_konv-kbetr / 10. wa_all-ra01_dis_amt = wa_konv-kwert. MODIFY it_all FROM wa_all TRANSPORTING ra01_discount. MODIFY it_all FROM wa_all TRANSPORTING ra01_dis_amt. ENDIF. IF wa_konv-kschl = RA00. wa_all-ra01_discount = wa_konv-kbetr / 10. wa_all-ra01_dis_amt = wa_konv-kwert. MODIFY it_all FROM wa_all TRANSPORTING ra00_discount. MODIFY it_all FROM wa_all TRANSPORTING ra00_dis_amt. ENDIF. CLEAR wa_konv. ENDLOOP. CLEAR wa_all.ENDFORM. get_gross_dis_amt*&-*& Form get_total_gross*&-* 1get total gross value* 2when billing type is s1,add negative to gross value and total gross*-*FORM get_total_gross. DATA: it_temp TYPE t_konv, wa_temp TYPE LINE OF t_konv, it_konv_temp TYPE t_konv, wa_konv_temp TYPE LINE OF t_konv. IF it_all IS NOT INITIAL. SELECT kwert knumv kschl FROM konv INTO CORRESPONDING FIELDS OF TABLE it_konv_temp FOR ALL ENTRIES IN it_all WHERE knumv = it_all-knumv AND kschl = PR00. ENDIF. LOOP AT it_konv_temp INTO wa_konv_temp. COLLECT wa_konv_temp INTO it_temp. ENDLOOP. CLEAR wa_konv_temp. LOOP AT it_temp INTO wa_temp.* write: at / wa_temp-kwert,* . ENDLOOP. LOOP AT it_all INTO wa_all. READ TABLE it_temp INTO wa_temp WITH KEY knumv = wa_all-knumv BINARY SEARCH. wa_all-s_kwert = wa_temp-kwert. MODIFY it_all FROM wa_all TRANSPORTING s_kwert. ENDLOOP. CLEAR wa_all. LOOP AT it_all INTO wa_all. IF wa_all-fkart = S1. wa_all-kwert = -1 * wa_all-kwert. wa_all-s_kwert = -1 * wa_all-s_kwert. MODIFY it_all FROM wa_all TRANSPORTING kwert s_kwert. ENDIF. ENDLOOP. CLEAR wa_all.ENDFORM. get_total_gross*&-*& Form get_total*&-* get all the total value into it_total_out*-*FORM get_total. DATA: it_total_temp TYPE t_all, wa_total_temp TYPE LINE OF t_all. LOOP AT it_all INTO wa_all. wa_total_temp-b_vbeln = wa_all-b_vbeln. wa_total_temp-fkart = wa_all-fkart. wa_total_temp-vkorg = wa_all-vkorg. wa_total_temp-kunag = wa_all-kunag. wa_total_temp-name1 = wa_all-name1. wa_total_temp-fkdat = wa_all-fkdat. wa_total_temp-fkimg = wa_all-fkimg. wa_total_temp-ra01_discount = wa_all-ra01_discount. wa_total_temp-ra00_discount = wa_all-ra00_discount. wa_total_temp-netwr = wa_all-netwr. wa_total_temp-vrkme = wa_all-vrkme. wa_total_temp-waerk = wa_all-waerk. APPEND wa_total_temp TO it_total. ENDLOOP. CLEAR wa_all. LOOP AT it_total INTO wa_total. COLLECT wa_total INTO it_total_out. ENDLOOP. CLEAR wa_total. LOOP AT it_total_out INTO wa_total_out. READ TABLE it_all INTO wa_all WITH KEY b_vbeln = wa_total_out-b_vbeln BINARY SEARCH. wa_total_out-kurrf = wa_all-kurrf. wa_total_out-kwert = wa_all-s_kwert. MODIFY it_total_out FROM wa_total_out TRANSPORTING kurrf kwert netwr. ENDLOOP. CLEAR wa_total_out.ENDFORM. get_total*&-*& Form build_fieldcatalog*&-* form fieldcatalog for both items and totals*-*FORM build_fieldcatalog. DATA count TYPE i VALUE 1. fieldcatalog-fieldname = B_VBELN. fieldcatalog-seltext_l = Billing Document(001). fieldcatalog-col_pos = count. APPEND fieldcatalog TO fieldcatalog. CLEAR fieldcatalog. count = count + 1. fieldcatalog-fieldname = FKART. fieldcatalog-seltext_l = Billing Type(003). fieldcatalog-col_pos = count. APPEND fieldcatalog TO fieldcatalog. CLEAR fieldcatalog. count = count + 1. fieldcatalog-fieldname = VKORG. fieldcatalog-seltext_l = Sales Org(002). fieldcatalog-col_pos = count. APPEND fieldcatalog TO fieldcatalog. CLEAR fieldcatalog. count = count + 1. fieldcatalog-fieldname = KUNAG. fieldcatalog-seltext_l = Sold-to Party(005). fieldcatalog-col_pos = count. APPEND fieldcatalog TO fieldcatalog. CLEAR fieldcatalog. count = count + 1. fieldcatalog-fieldname = NAME1. fieldcatalog-seltext_l = Name(011). fieldcatalog-col_pos = count. APPEND fieldcatalog TO fieldcatalog. CLEAR fieldcatalog. count = count + 1. fieldcatalog-fieldname = FKDAT. fieldcatalog-seltext_l = Billing date(004). fieldcatalog-col_pos = count. APPEND fieldcatalog TO fieldcatalog. CLEAR fieldcatalog. count = count + 1. fieldcatalog-fieldname = SPART. fieldcatalog-seltext_l = Division(006). fieldcatalog-col_pos = count. IF x_check X. fieldcatalog-no_out = X. count = count + 1. ENDIF. APPEND fieldcatalog TO fieldcatalog. CLEAR fieldcatalog. fieldcatalog-fieldname = MATNR. fieldcatalog-seltext_l = Material No(008). fieldcatalog-col_pos = count. IF x_check X. fieldcatalog-no_out = X. count = count + 1. ENDIF. APPEND fieldcatalog TO fieldcatalog. CLEAR fieldcatalog. fieldcatalog-fieldname = ARKTX. fieldcatalog-seltext_l = Material Description(012). fieldcatalog-col_pos = count. IF x_check X. fieldcatalog-no_out = X. count = count + 1. ENDIF. APPEND fieldcatalog TO fieldcatalog. CLEAR fieldcatalog. fieldcatalog-fieldname = FKIMG. fieldcatalog-seltext_l = Billing Qty(013). fieldcatalog-col_pos = count. APPEND fieldcatalog TO fieldcatalog. CLEAR fieldcatalog.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年航空公司飞机维护员新员工岗位专业知识笔试题目及答案
- 生药学试题试卷及答案
- 高校采购合同模板(3篇)
- 高粱种子买卖合同书模板(3篇)
- 高空施工合同范本售后(3篇)
- 地坪施工与设备租赁综合合同
- 农用土地租赁与农业绿色生产模式合作框架协议
- 汽车制造企业生产线员工招聘与安全生产协议
- 民航气象专业面试题及答案
- 幼师专业考试题及答案
- 海水鱼类增殖放流记录表格、人工标志、增殖放流验收报告
- 室内高尔夫行业分析
- 微商培训的课件目录
- 《农业保险承保理赔电子化作业规范》
- 常见呼吸道传染病课件
- 《影视艺术鉴赏》课件
- 老年心脏病护理课件
- 德国国家概况
- 服装立体裁剪课件
- 整本书读写《一颗遗失的扣子》(课件)三年级下册语文统编版
- 检测室安全操作规程
评论
0/150
提交评论