SD 客户销售金额

来源:互联网 发布:著名网络老虎机平台 编辑:程序博客网 时间:2024/05/01 07:04

001 进一步选择 10 10
002 机构数据 8 8
003 合作伙伴功能 12 12
B10 我的订单 8 8
B11 未清销售订单 12 12
B12 计划行项目 10 10
B13 所有订单 8 8
B14 排除拒绝发货 12 12
B15 排除未审核通过订单 18 20
E01 订单数据 8 8
E02 发货数据 8 8
E03 选择标准 8 8
E04 销售区域 8 8
E05 K 1 1

 

LABGRU ?...
LLABST ?...
PEDATU 计划行日期
PVDATU 请求交货日期
P_AUART 订单类别
P_AUDAT 凭证日期
P_BBANME 创建者
P_BZIRK 销售区域
P_HZ 客户汇总
P_KKBERR 采购订单编号
P_MATKL 物料组
P_MATNR 物料编号
P_SHZT ?...
P_SPART 产品组
P_VBELN 凭证编号
P_VKBUR 办事处

SHOW_NRM ?...
SHOW_ZER 所有订单
S_KUNNR 售达方
S_VKORG 账户类型
________ ______________________________

 

************************************************************************
*& 修改日期:2010.05.25
*& 修 改 人:zhouxu V1.0
*& 修改原因:1 加客户取消数量和金额显示字段
*&           2 当冻结项目时,部分发货的记录保留,有效订单数量为已发货量,有效订单金额为已发货金额
*&
*& 修改日期:2010.06.13
*& 修 改 人:zhouxu V1.1
*& 修改原因:1 显示ZK07和ZK05的折扣原因

*& 修改日期:2010.08.12
*& 修 改 人:zhouxu V1.2
*& 修改原因:1 增加订单审批状态 默认排除“未审核通过的”
*& 修改日期:2010.08.23
*& 修 改 人:zhouxu V1.3
*& 修改原因:1 增加订单审批状态 取消默认排除“未审核通过的”
*& 修改日期:2010.09.1
*& 修 改 人:zhouxu V1.4
*& 修改原因:1 取消订单金额  = 本位币总金额 - 本位币实际发货金额
*&
*& 修改日期:2010.10.27
*& 修 改 人:zhouxu V1.5
*& 修改原因:按客户汇总
*&
REPORT  ysd0015 MESSAGE-ID pp
LINE-SIZE 30
        NO STANDARD PAGE HEADING.

DATA: inp(2) TYPE c, top(2) TYPE c.
TABLES: kna1,mara,t171t,m_mat1t,vbak,vbap,likp,lips,knvv,vbuk,
        vbep,makt,vbkd,usr02,tvakt,vbup,tj30t,jsto,jest.
INCLUDE yppr006b.
INCLUDE ybdcinclude.
TABLES:sscrfields.

DATA:BEGIN OF it_show OCCURS 0 ,                            " ADD V1.5
kunnr LIKE   kna1-kunnr ,
name1 LIKE kna1-name1,
ktokd LIKE kna1-ktokd,
knkli LIKE knkk-knkli,"信贷账号
kkber LIKE knkk-kkber,"信贷控制范围
klimk LIKE knkk-klimk,"信贷限额
skfor LIKE knkk-skfor,"应收总额
cashc LIKE knkk-cashc,"货币
ctlpc LIKE knkk-ctlpc,"风险种类
 crblb LIKE knkk-crblb,"信贷冻结
 wqdd TYPE p LENGTH 16 DECIMALS 2," 未清订单 ,
 wqjhd TYPE p LENGTH 16 DECIMALS 2 ,"未清交货单
 wqjhzt TYPE c LENGTH  20 , " 未清项状态
 wqjhsl TYPE p LENGTH 16 DECIMALS 3,"未清数量
 ddje  TYPE p LENGTH 16 DECIMALS 2,"订单 金额
 ddsl  TYPE p LENGTH 16 DECIMALS 3,"订单数量
  END OF it_show.
DATA: BEGIN OF choose_data_get1,
      vbeln LIKE vbak-vbeln,  " 凭证编号
      vgbel LIKE  lips-vgbel,   "参考凭证
      audat LIKE vbak-audat,  " 凭证日期
      auart LIKE vbak-auart,  " 订单类别
      matkl LIKE vbap-matkl,  "物料组
      wgbez LIKE t023t-wgbez, "物料组描述
      vkbur LIKE knvv-vkbur,  "办事处
      bzirk  LIKE knvv-bzirk,   "销售地区
      bztxt  LIKE t171t-bztxt,"销售地区描述
      bezeii LIKE tvkbt-bezei,
      dispo LIKE marc-dispo,  "MRP控制者kaijunli
      kunnr LIKE vbak-kunnr,  " 客户编码"送达方kaijunli
      vdatu LIKE vbak-vdatu,  "请求交货日期lkj
      kunag LIKE likp-kunag,  " 客户编码"售达方kaijunli
      kunnr1 LIKE likp-kunnr, "送达方kaijunli
      ernam LIKE vbap-ernam,   "创建者姓名
      abgru LIKE vbap-abgru,   "拒绝发货原因kaijunli
      bezeiabg LIKE tvagt-bezei,  "拒绝原因中文kaijunli
      posnr LIKE vbup-posnr,  "订单项目
      sposnr LIKE vbup-posnr,  "订单项目
      knumv LIKE vbak-knumv,  "价格条件
      kbetr LIKE konv-kbetr,     "单价
      netwr1 TYPE p DECIMALS 7,     "结算金额
      netwr2 TYPE p DECIMALS 7,     "结算金额
      netwr3 TYPE p DECIMALS 7,     "结算金额
      netwr4 TYPE p DECIMALS 7,     "结算金额
      netwr5 TYPE p DECIMALS 7,     "结算金额
      netwr6 TYPE p DECIMALS 7,     "结算金额
      netwr7 TYPE p DECIMALS 7,     "结算金额
      kbetr1 LIKE konv-kbetr,     "订单金额
      kbetr2 LIKE konv-kbetr,     "未清金额
      kbetr3 LIKE konv-kbetr,     "发货金额
      kbetr4 LIKE konv-kbetr,     "发货金额
      kbetr5 LIKE konv-kbetr,     "经销折扣金额 add by lkj 2009/02/24
      kbetr6 LIKE konv-kbetr,     "订单折扣金额 add by lkj 2009/02/24
      kbetrz3 LIKE konv-kbetr,                              "ZK03订单金额
      kbetr7 LIKE konv-kbetr,     "订单折扣金额海外 add by lkj 2009/04/09
      kbetr8 LIKE konv-kbetr,     "订单折扣金额海外 add by lkj 2009/04/09


      zhekoo LIKE konv-kbetr,     "特价金额
      zheko1 LIKE konv-kbetr,     "发货金额

      vgpos LIKE lips-vgpos,  "参考项目
      umvkz LIKE lips-umvkz,  "转换因子
      umvkn LIKE lips-umvkn,  "转换因子
      umrez LIKE marm-umrez,
      umren LIKE marm-umren,
      umziz LIKE vbap-umziz,
      umzin LIKE vbap-umzin,
      bstnk LIKE vbak-bstnk,    "客户采购订单编号"目前叫订单备注kaijunli
      bsark LIKE vbak-bsark,    "客户采购订单类型
      bstdk LIKE vbak-bstdk,    "客户采购订单日期
      bstzd LIKE vbak-bstzd,    "采购单编号补充

      objnr LIKE vbak-objnr,    "订单状态审批条件编号LKJ 2009/04/21
      stsma LIKE tj30-stsma,
      estat LIKE tj30-estat,
      txt04 LIKE tj30t-txt04,
      txt30 LIKE tj30t-txt30,
      txtstat(100) TYPE c,
      stat LIKE jest-stat,
      inact LIKE jest-inact,

      name1 LIKE kna1-name1,    "客户名称"售达方名称kaijunli
      name2 LIKE kna1-name1,    "客户名称"送达方名称kaijunli
      maktx LIKE makt-maktx,    "物料名称
      bismt LIKE mara-bismt,    "旧物料编码
      etenr LIKE vbep-etenr,    "计划行号
      kwmeng LIKE vbep-wmeng,   "以表示的累计订单数量(销售单位)
      kwmengx LIKE vbep-wmeng,  "以表示的累计订单数量件数
      bmeng LIKE vbep-bmeng,
      matnr LIKE vbap-matnr,    "物料编码
*      vkorg LIKE likp-vkorg,                        "销售组织"即产业1010电工产业1020照明产业add by LKj 2008/10/20
      changye(10) TYPE c,                           "产业
      mvgr1 LIKE mvke-mvgr1,                        "品牌add by LKj 2008/10/20
      bezei1 LIKE tvm1t-bezei,                      "品牌的中文显示add by LKj 2008/10/20
      wmeng  LIKE vbap-kwmeng,  "以销售单位计的订单数量
      kbmeng LIKE vbap-kbmeng,  "用销售单位表示的累计确认数量(销售单位)
      klmeng LIKE vbap-klmeng,  "用基本单位表示的累计确认数量
      edatu  LIKE vbep-edatu,   "计划行日期
      meins LIKE  vbap-meins,   "基本计量单位
      kpein LIKE vbap-kpein,                       "基本条件定价单位kaijunli
      vrkme LIKE  vbap-vrkme,   "销售单位
      lfimg LIKE  lips-lfimg,   "实际交货量
      lfimgx LIKE  lips-lfimg,   "装箱规格件数
      lgmngx LIKE lips-lgmng,  "未清数量
      lgmngxx LIKE lips-lgmng,  "未清件数
      vvbeln LIKE likp-vbeln,   "发货凭证
      wadat_ist  LIKE likp-wadat_ist,   "计划货物移动日期
      lfstk LIKE vbuk-lfstk,   "交货状态
      lfstkx(10) TYPE c,
      cmpsa LIKE vbuk-cmpsa,                      "信贷状态"B表示不通过"其它通过kaijunli
      cmpsax(10) TYPE c,
      gbstk  LIKE vbuk-gbstk,      "总览状态
      gbstkx(10) TYPE c,
      bezei LIKE tvakt-bezei,
      vkorg LIKE knvv-vkorg,
      vtweg LIKE knvv-vtweg,
         zheko(8),
         zheko4(8),
         zheko7(8),
      spart LIKE knvv-spart,
      waerk LIKE vbak-waerk,        "订单币别
      kbetr19 LIKE konv-kbetr,       "订单本币金额
      kbetr20 LIKE konv-kbetr, "add v1.4 本位币实际发货金额
      waers2(3) TYPE c,                "本位币别

      bbezei LIKE tvm1t-bezei,     "物料定价组--品牌
      zkbetr8 LIKE konv-kbetr,                              "返利折扣金额ZK08
      zkbetr9 LIKE konv-kbetr,"物流商折扣金额ZK09
      zkbetr10 LIKE konv-kbetr,     "末清返利金额
      zheko8(8),                                            "返利折扣ZK08
      zheko9(8),                                            "物流商折扣ZK09
      netwr8 TYPE p DECIMALS 7,     "结算金额
      netwr88 TYPE p DECIMALS 7,     "结算金额
      netwr99 TYPE p DECIMALS 7,     "结算金额
      netwr9 TYPE p DECIMALS 7,     "结算金额
      qxje LIKE konv-kbetr,     "取消金额V1.0 ADD
      qxsl LIKE vbep-bmeng, "取消数量V1.0 ADD
      qxjsl LIKE vbep-bmeng, "取消数量V1.0 ADD
      kvgr5 LIKE vbak-kvgr5,                                " V1.1 折扣原因
      yyms TYPE string,                                     "V1.1 原因描述
END OF choose_data_get1.

DATA:  choose_data_get LIKE choose_data_get1 OCCURS 0 WITH HEADER LINE,
       choose_data_getone LIKE choose_data_get1 OCCURS 0 WITH HEADER LINE,
       choose_data_get2 LIKE choose_data_get1 OCCURS 0 WITH HEADER LINE,
       choose_data_get3 LIKE choose_data_get1 OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF count_get_data OCCURS 0,
     vgbel  LIKE lips-vgbel,
     vgpos  LIKE lips-vgpos,
     lfimg  LIKE lips-lfimg,
     wadat_ist  LIKE likp-wadat_ist,
     umvkz  LIKE lips-umvkz,
     umvkn  LIKE lips-umvkn,
END OF count_get_data.

DATA: netwr(10),
      netw0(10).

DATA:netwr1 TYPE p DECIMALS 7,
     netwr2 TYPE p DECIMALS 7,
     netwr7 TYPE p DECIMALS 7,

     netwr8 TYPE p DECIMALS 7,
     netwr88 TYPE p DECIMALS 7,
     netwr9 TYPE p DECIMALS 7,
     netwr99 TYPE p DECIMALS 7,

     netwr5 TYPE p DECIMALS 7,
     netwr6 TYPE p DECIMALS 7,
     netwr3 TYPE p DECIMALS 7.

DATA: BEGIN OF count_get_data1 OCCURS 0,
     vgbel  LIKE lips-vgbel,
     vgpos  LIKE lips-vgpos,
     lfimg  LIKE lips-lfimg,
     wadat_ist  LIKE likp-wadat_ist,
     umvkz  LIKE lips-umvkz,
     umvkn  LIKE lips-umvkn,
END OF count_get_data1.

DATA: llfstk LIKE vbuk-lfstk,
      ggbstk LIKE vbuk-gbstk.
*&---------------------------------------------------------------------*
*&      Form  organisationsdaten
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
SELECT-OPTIONS user FOR vbak-bname NO-DISPLAY.

SELECTION-SCREEN SKIP.
*SELECT-OPTIONS : p_kunnr FOR likp-kunnr NO INTERVALS NO-EXTENSION.  "送达方kaijunli
SELECT-OPTIONS : s_kunnr FOR vbak-kunnr  .  "售达方
SELECT-OPTIONS p_vbeln FOR vbak-vbeln  .
SELECTION-SCREEN SKIP.

SELECTION-SCREEN BEGIN OF BLOCK erblock1 WITH FRAME TITLE text-e04.
SELECT-OPTIONS p_spart FOR mara-spart NO INTERVALS.
SELECT-OPTIONS p_vkbur FOR vbak-vkbur NO INTERVALS.
SELECT-OPTIONS p_auart FOR vbak-auart NO INTERVALS.
SELECT-OPTIONS : s_vkorg FOR knvv-vkorg NO INTERVALS.
SELECT-OPTIONS : p_bzirk FOR knvv-bzirk NO INTERVALS.
SELECT-OPTIONS: p_matkl FOR vbap-matkl NO INTERVALS.
SELECT-OPTIONS p_matnr FOR m_mat1t-matnr NO INTERVALS.
SELECT-OPTIONS : p_kkberr FOR vbkd-bstkd NO INTERVALS.
SELECTION-SCREEN END   OF BLOCK erblock1.

SELECTION-SCREEN BEGIN OF BLOCK erblock WITH FRAME TITLE text-e01.
SELECT-OPTIONS: pvdatu FOR vbak-vdatu.                  " 请求交货日期
SELECT-OPTIONS: pedatu FOR vbep-edatu.                  " 计划行日期
SELECT-OPTIONS p_audat FOR vbak-audat.
SELECT-OPTIONS: p_bbanme FOR usr02-bname.
*SELECT-OPTIONS p_POSNR FOR VBEP-ETENR.
SELECTION-SCREEN END   OF BLOCK erblock.

SELECTION-SCREEN BEGIN OF BLOCK strlock WITH FRAME TITLE text-e03.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS:  show_nrm RADIOBUTTON GROUP grp1.
SELECTION-SCREEN COMMENT 3(15) text-b11 FOR FIELD show_nrm.
SELECTION-SCREEN POSITION 20.
PARAMETERS: llabst LIKE am07m-xlabst.
SELECTION-SCREEN COMMENT 23(15) text-b10 FOR FIELD llabst.
PARAMETERS:  labgru AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN COMMENT 41(12)   text-b14 FOR FIELD labgru .
SELECTION-SCREEN POSITION 56.
PARAMETERS:  p_shzt AS CHECKBOX . "v1.3 mod DEFAULT 'X' to DEFAULT ''

SELECTION-SCREEN COMMENT (20)   text-b15 FOR FIELD  p_shzt .

*SELECTION-SCREEN POSITION 55.
*PARAMETERS:  p_spzt AS CHECKBOX DEFAULT 'X'.
*SELECTION-SCREEN COMMENT 58(12)   text-b15.

SELECTION-SCREEN END OF LINE.

PARAMETERS  show_zer RADIOBUTTON GROUP grp1.
PARAMETERS:  p_hz TYPE c NO-DISPLAY.                        "v1.5
SELECTION-SCREEN END   OF BLOCK strlock.


DATA k_user  LIKE vbak-ernam.
DATA: k_vkorg LIKE tvkot-vkorg,
      k_vtweg LIKE tvkot-vkorg,
      k_spart LIKE tvkot-vkorg,
      k_vkbur LIKE tvkot-vkorg,
      k_vkgrp LIKE tvkot-vkorg.
*SELECTION-SCREEN FUNCTION KEY 1.
*SELECTION-SCREEN FUNCTION KEY 2.
*SELECTION-SCREEN FUNCTION KEY 3.

INITIALIZATION.
  AUTHORITY-CHECK OBJECT 'YREPORT'
    ID 'BUKRS' FIELD 'HL01'
    ID 'WERKS' FIELD 'LN01'.
  IF sy-subrc NE 0.
    MESSAGE e005(ymess) WITH 'No Authorization!'.
  ENDIF.
*  MOVE text-001 TO sscrfields-functxt_01.
*  MOVE text-002 TO sscrfields-functxt_02.
*  MOVE text-003 TO sscrfields-functxt_03.

AT SELECTION-SCREEN.

START-OF-SELECTION.
  PERFORM grasp_data TABLES choose_data_get."销售订单内容
  PERFORM dispose_data2.
  PERFORM dispose_data1 TABLES  choose_data_get
                              choose_data_get2.
  PERFORM dispose_dataone TABLES choose_data_get
                            choose_data_getone.
  PERFORM dispose_data TABLES  choose_data_get
                               choose_data_get2.
*
*  PERFORM sub_list_get.
  PERFORM sub_list_data.
*&---------------------------------------------------------------------*
*&      Form  organisationsdaten
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*


  SELECT-OPTIONS: p_banme FOR usr02-bname NO INTERVALS NO-EXTENSION  NO-DISPLAY.
  DATA: p_lfsta(2) TYPE c,
        p_gbsta(2) TYPE c.
*&---------------------------------------------------------------------*
*&      Form  grasp_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->M_HEAD_DATA  text
*----------------------------------------------------------------------*
FORM grasp_data TABLES m_head_data STRUCTURE choose_data_get.

  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      input  = s_kunnr
    IMPORTING
      output = s_kunnr.
  IF  llabst = 'X'.
    p_banme-sign = 'I'.
    p_banme-option = 'EQ'.
    p_banme-low = sy-uname.
    APPEND p_banme.
    CLEAR p_banme.
  ENDIF.

  IF show_nrm = 'X'.
    SELECT
    vbak~audat vbak~kunnr vbak~auart vbak~vkbur vbak~knumv vbak~bstnk
    vbak~bsark vbak~bstdk vbak~bstzd vbak~vdatu vbak~objnr vbak~waerk
    vbap~vbeln vbap~kpein vbap~posnr vbap~matnr vbap~kwmeng vbap~kbmeng
    vbap~klmeng vbap~meins vbap~vrkme vbap~abgru
    vbap~ernam vbap~matkl vbap~umziz vbap~umzin vbap~ernam
    vbep~etenr vbep~wmeng vbep~edatu vbep~bmeng
    knvv~vkorg knvv~vtweg knvv~spart knvv~bzirk
    INTO CORRESPONDING FIELDS OF TABLE m_head_data
      FROM vbak
      INNER JOIN vbap ON vbak~vbeln = vbap~vbeln
      INNER JOIN knvv ON vbak~kunnr = knvv~kunnr
                      AND vbak~vkorg = knvv~vkorg
                      AND vbak~vtweg = knvv~vtweg
                      AND vbak~spart = knvv~spart
    INNER JOIN vbuk ON vbap~vbeln = vbuk~vbeln

    INNER JOIN vbup ON vbap~vbeln = vbup~vbeln
                   AND vbap~posnr = vbup~posnr

    INNER JOIN vbep ON vbap~vbeln = vbep~vbeln
                   AND vbap~posnr = vbep~posnr

    WHERE vbak~kunnr IN s_kunnr
      AND vbak~vbeln IN p_vbeln
      AND vbak~audat IN p_audat
      AND vbak~bstnk IN p_kkberr
      AND vbap~matnr IN p_matnr
      AND vbap~matkl IN p_matkl
      AND knvv~vkorg IN s_vkorg
      AND knvv~vkbur IN p_vkbur
      AND knvv~bzirk IN p_bzirk
      AND vbap~spart IN p_spart
      AND vbak~ernam IN p_banme
      AND vbak~ernam IN p_bbanme
      AND vbak~auart IN p_auart
      AND vbup~lfsta NE 'C'
      AND vbup~gbsta NE 'C'
    AND vbep~etenr = '0001'
     AND vbep~edatu IN pedatu
    AND vbak~vdatu IN pvdatu.

    SELECT lips~vbeln lips~vgbel lips~lfimg likp~wadat_ist lips~vgpos  lips~umvkz lips~umvkn
    vbap~matnr vbap~abgru vbak~audat vbak~kunnr lips~posnr vbak~vdatu vbak~objnr
    INTO CORRESPONDING FIELDS OF TABLE choose_data_get3
    FROM vbak
    INNER JOIN vbap ON vbak~vbeln = vbap~vbeln
    INNER JOIN knvv ON vbak~kunnr = knvv~kunnr
                    AND vbak~vkorg = knvv~vkorg
                    AND vbak~vtweg = knvv~vtweg
                    AND vbak~spart = knvv~spart
  INNER JOIN vbuk ON vbap~vbeln = vbuk~vbeln
  INNER JOIN lips ON vbap~vbeln = lips~vgbel "kaijunli从销售凭证找售达方和送达方
                 AND vbap~posnr = lips~vgpos
  INNER JOIN likp ON lips~vbeln = likp~vbeln "kaijunli从销售凭证找售达方和送达方
  INNER JOIN vbup ON vbap~vbeln = vbup~vbeln
                 AND vbap~posnr = vbup~posnr
    INNER JOIN vbep ON vbap~vbeln = vbep~vbeln
                   AND vbap~posnr = vbep~posnr
  WHERE    vbak~kunnr IN s_kunnr
    AND vbak~vbeln IN p_vbeln
    AND vbak~audat IN p_audat
    AND vbak~bstnk IN p_kkberr
    AND vbap~matnr IN p_matnr
    AND vbap~matkl IN p_matkl
    AND knvv~vkorg IN s_vkorg
    AND knvv~vkbur IN p_vkbur
    AND knvv~bzirk IN p_bzirk
    AND vbap~spart IN p_spart
    AND vbak~ernam IN p_banme
    AND vbak~ernam IN p_bbanme
    AND vbak~auart IN p_auart
    AND vbup~lfsta NE p_lfsta
    AND vbup~gbsta NE p_gbsta
    AND vbep~etenr = '0001'
    AND vbep~edatu IN pedatu
    AND vbak~vdatu IN pvdatu.

 


  ELSE.
    SELECT  vbap~vbeln vbap~kpein vbap~posnr vbap~matnr vbap~kwmeng vbap~kbmeng vbap~klmeng vbap~meins vbap~vrkme
    vbap~abgru vbak~waerk
    vbak~audat vbak~kunnr vbak~auart knvv~vkorg knvv~vtweg knvv~spart vbap~umziz vbap~umzin vbap~ernam
    vbep~etenr vbep~wmeng vbep~edatu vbep~bmeng vbak~knumv vbak~bstnk vbak~bsark vbak~bstdk vbak~bstzd vbak~vdatu
    vbak~objnr
    vbap~matkl knvv~vkbur knvv~vkorg knvv~bzirk
    INTO CORRESPONDING FIELDS OF TABLE m_head_data
      FROM vbak
      INNER JOIN vbap ON vbak~vbeln = vbap~vbeln
      INNER JOIN knvv ON vbak~kunnr = knvv~kunnr
                      AND vbak~vkorg = knvv~vkorg
                      AND vbak~vtweg = knvv~vtweg
                      AND vbak~spart = knvv~spart
    INNER JOIN vbuk ON vbap~vbeln = vbuk~vbeln
    INNER JOIN vbup ON vbap~vbeln = vbup~vbeln
                   AND vbap~posnr = vbup~posnr
    INNER JOIN vbep ON vbap~vbeln = vbep~vbeln
                   AND vbap~posnr = vbep~posnr
*    inner join KONV on KONV-KNUMV = VBAK-KNUMV and
*                      KONV-KPOSN = VBAP-POSNR and KONV-KSTAT = 'X'
    WHERE    vbak~kunnr IN s_kunnr
      AND vbak~vbeln IN p_vbeln
      AND vbak~audat IN p_audat
      AND vbak~bstnk IN p_kkberr
      AND vbap~matnr IN p_matnr
      AND vbap~matkl IN p_matkl
      AND knvv~vkorg IN s_vkorg
      AND knvv~vkbur IN p_vkbur
      AND knvv~bzirk IN p_bzirk
      AND vbap~spart IN p_spart
      AND vbak~ernam IN p_banme
      AND vbak~ernam IN p_bbanme
      AND vbak~auart IN p_auart
    AND vbep~etenr = '0001'
    AND vbep~edatu IN pedatu
    AND vbak~vdatu IN pvdatu.

    SELECT lips~vbeln lips~vgbel lips~lfimg likp~wadat_ist lips~vgpos  lips~umvkz lips~umvkn
    vbap~matnr vbap~abgru vbak~audat vbak~kunnr lips~posnr vbak~vdatu vbak~objnr
  INTO CORRESPONDING FIELDS OF TABLE choose_data_get3
    FROM vbak
    INNER JOIN vbap ON vbak~vbeln = vbap~vbeln
    INNER JOIN knvv ON vbak~kunnr = knvv~kunnr
                    AND vbak~vkorg = knvv~vkorg
                    AND vbak~vtweg = knvv~vtweg
                    AND vbak~spart = knvv~spart
  INNER JOIN vbuk ON vbap~vbeln = vbuk~vbeln
  INNER JOIN lips ON vbap~vbeln = lips~vgbel "kaijunli从销售凭证找售达方和送达方
                 AND vbap~posnr = lips~vgpos
  INNER JOIN likp ON lips~vbeln = likp~vbeln "kaijunli从销售凭证找售达方和送达方
  INNER JOIN vbup ON vbap~vbeln = vbup~vbeln
                 AND vbap~posnr = vbup~posnr
    INNER JOIN vbep ON lips~vgbel = vbep~vbeln
                   AND lips~vgpos = vbep~posnr
  WHERE    vbak~kunnr IN s_kunnr
*      and likp~kunnr IN p_kunnr
    AND vbak~vbeln IN p_vbeln
    AND vbak~audat IN p_audat
    AND vbak~bstnk IN p_kkberr
    AND vbap~matnr IN p_matnr
    AND vbap~matkl IN p_matkl
    AND knvv~vkorg IN s_vkorg
    AND knvv~vkbur IN p_vkbur
    AND knvv~bzirk IN p_bzirk
    AND vbap~spart IN p_spart
    AND vbak~ernam IN p_banme
    AND vbak~ernam IN p_bbanme
    AND vbak~auart IN p_auart
    AND vbup~lfsta NE p_lfsta
    AND vbup~gbsta NE p_gbsta
    AND vbep~etenr = '0001'
    AND vbep~edatu IN pedatu
    AND vbak~vdatu IN pvdatu.

  ENDIF.
*---------------V1.0 ZHOUXU ---------------------
*  IF labgru = 'X'.
*    DELETE m_head_data WHERE abgru NE ''.
*    DELETE choose_data_get3 WHERE abgru NE ''.
*  ENDIF.

ENDFORM.                    "grasp_data

*&---------------------------------------------------------------------*
*&      Form  dispose_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->V_ITEM_GET text
*----------------------------------------------------------------------*
FORM dispose_data2.
  DATA: summm LIKE  lips-lfimg.
  SORT choose_data_get3 BY vgbel.
  LOOP AT choose_data_get3.
    count_get_data-vgbel = choose_data_get3-vgbel.
    count_get_data-vgpos = choose_data_get3-vgpos.
    count_get_data-lfimg = choose_data_get3-lfimg.
    count_get_data1-vgbel = choose_data_get3-vgbel.
    count_get_data1-vgpos = choose_data_get3-vgpos.
    count_get_data1-lfimg = choose_data_get3-lfimg.

    APPEND count_get_data.
    CLEAR count_get_data.
    APPEND count_get_data1.
    CLEAR count_get_data1.
  ENDLOOP.
  SORT count_get_data BY vgbel vgpos.
  SORT count_get_data1 BY vgbel vgpos.
  LOOP AT count_get_data.
    AT NEW vgbel.
      CLEAR summm.
    ENDAT.
    AT NEW vgpos.
      CLEAR summm.
    ENDAT.
    summm = summm + count_get_data-lfimg.
    AT END OF vgpos.
      LOOP AT count_get_data1 WHERE vgbel = count_get_data-vgbel
                                AND vgpos = count_get_data-vgpos.
        count_get_data1-lfimg = summm.
        MODIFY count_get_data1.
        CLEAR count_get_data1.
      ENDLOOP.
    ENDAT.

  ENDLOOP.
ENDFORM.                    "dispose_data2

*&---------------------------------------------------------------------*
*&      Form  dispose_data1
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->V_ITEM_GET text
*      -->L_ITEM_GET text
*----------------------------------------------------------------------*
FORM dispose_data1 TABLES v_item_get STRUCTURE choose_data_get
                         l_item_get STRUCTURE choose_data_get3.

  LOOP AT choose_data_get3.
    LOOP AT v_item_get WHERE vbeln = choose_data_get3-vgbel
                         AND posnr = choose_data_get3-vgpos
                         AND matnr = choose_data_get3-matnr
                         AND kunnr = choose_data_get3-kunnr
                         AND audat = choose_data_get3-audat.
      v_item_get-vvbeln = choose_data_get3-vbeln.
      v_item_get-sposnr = v_item_get-posnr.
      v_item_get-wadat_ist = choose_data_get3-wadat_ist.
      v_item_get-objnr = choose_data_get3-objnr.
      v_item_get-umvkz = choose_data_get3-umvkz.
      v_item_get-umvkn = choose_data_get3-umvkn.
      MODIFY v_item_get.
      CLEAR  v_item_get.
    ENDLOOP.
  ENDLOOP.
ENDFORM.                    "dispose_data1

*&---------------------------------------------------------------------*
*&      Form  dispose_dataone
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->V_ITEM_GET text
*      -->L_ITEM_GET text
*----------------------------------------------------------------------*
FORM dispose_dataone TABLES v_item_get STRUCTURE choose_data_get
                            l_item_get STRUCTURE choose_data_getone.
  LOOP AT v_item_get.
    MOVE-CORRESPONDING v_item_get TO l_item_get.
    APPEND l_item_get.
    CLEAR l_item_get.
  ENDLOOP.
ENDFORM.                    "dispose_dataone

*&---------------------------------------------------------------------*
*&      Form  dispose_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->V_ITEM_GET text
*      -->L_ITEM_GET text
*----------------------------------------------------------------------*
FORM dispose_data TABLES v_item_get STRUCTURE choose_data_get
                         l_item_get STRUCTURE choose_data_get2.
  DATA : summ LIKE  lips-lfimg.
  DATA: knumh LIKE konv-knumh.                              "v1.1 条件记录号
  DATA: kosrt  LIKE konh-kosrt .                            "v1.1 查询条款
  DATA: kzust LIKE konh-kzust.                              "v1.1 责任
  CLEAR it_show[].
  SORT v_item_get BY vbeln.
  LOOP AT v_item_get.
*    CLEAR  v_item_get.
    CLEAR  summ.
    SELECT SINGLE name1
     INTO v_item_get-name1
     FROM kna1
     WHERE kunnr = v_item_get-kunnr.


***根据订单号中的条件记录号取条件类型kaijunli***
    SELECT SINGLE stsma
    INTO v_item_get-stsma
    FROM jsto
    WHERE objnr = v_item_get-objnr.

***根据订单号中的条件记录号取条件类型kaijunli***
    SELECT SINGLE stat
    INTO v_item_get-stat
    FROM jest
    WHERE objnr = v_item_get-objnr AND inact = 'X'.
    IF v_item_get-stat = 'E0001'.
      v_item_get-stat = 'E0002'.
    ELSE.
      v_item_get-stat = 'E0001'.
    ENDIF.

***根据订单号中的条件记录号取审批状态文本kaijunli***
    SELECT SINGLE txt04 txt30
    INTO (v_item_get-txt04,v_item_get-txt30)
    FROM tj30t
    WHERE stsma = v_item_get-stsma AND estat = v_item_get-stat.
    CONCATENATE v_item_get-txt04 v_item_get-txt30 INTO v_item_get-txtstat.
***  begin v1.2   订单审批对象状态
    IF p_shzt IS NOT INITIAL.
**INIT  审核冻结
*SMAC 审批通过
      IF v_item_get-txt04 = 'INIT'.
        DELETE v_item_get.
        CONTINUE.
      ENDIF.
    ENDIF.
**    END V1.2
***根据交货单号取送达方kaijunli***
    SELECT SINGLE kunnr
    INTO v_item_get-kunnr1
    FROM likp
    WHERE vbeln = v_item_get-vvbeln.
***取送达方名称***
    SELECT SINGLE name1
      INTO v_item_get-name2
      FROM kna1
      WHERE kunnr = v_item_get-kunnr1.
***清除送达方左边多余的零kaijunli***
    SHIFT v_item_get-kunnr1 LEFT DELETING LEADING '0'.


**取销售大区数据
*     select single BZIRK
*     INTO V_ITEM_GET-BZIRK
*     FROM KNVV
*     WHERE KUNNR = V_ITEM_GET-KUNNR
*      AND VKORG = V_ITEM_GET-VKORG
*      AND VTWEG = V_ITEM_GET-VTWEG
*      AND SPART = V_ITEM_GET-SPART.

*销售大区名称2009/03/16 LKJ
    SELECT SINGLE bztxt
     INTO v_item_get-bztxt
      FROM t171t
      WHERE bzirk = v_item_get-bzirk.


    SELECT SINGLE bismt
       INTO v_item_get-bismt
       FROM mara
       WHERE matnr = v_item_get-matnr.

***提取MRP控制者kaijunli***
    SELECT SINGLE dispo
     INTO v_item_get-dispo
     FROM marc
     WHERE matnr = v_item_get-matnr.
***提取MRP控制者kaijunli***

***提取拒绝发货原因中文kaijunli***
    SELECT SINGLE bezei
     INTO v_item_get-bezeiabg
     FROM tvagt
     WHERE abgru = v_item_get-abgru AND spras = '1'.
***提取拒绝发货原因中文kaijunli***


*取物料的品牌add by LKJ 2008/10/20
    SELECT SINGLE mvgr1
    INTO v_item_get-mvgr1
    FROM mvke
    WHERE matnr = v_item_get-matnr
     AND  vkorg = v_item_get-vkorg.

*取物料的品牌add by LKJ 2008/10/20
    SELECT SINGLE bezei
    INTO v_item_get-bezei1
    FROM tvm1t
    WHERE mvgr1 = v_item_get-mvgr1.
    v_item_get-bbezei = v_item_get-bezei1.


    SELECT SINGLE wgbez
    INTO v_item_get-wgbez
    FROM t023t
    WHERE matkl = v_item_get-matkl.

    SELECT SINGLE bezei
    INTO v_item_get-bezeii
    FROM tvkbt
    WHERE vkbur = v_item_get-vkbur.

    SELECT SINGLE umrez umren
FROM marm
INTO (v_item_get-umrez,v_item_get-umren)
WHERE matnr = v_item_get-matnr
  AND meinh NE 'PCS'.

***加信贷状态显示
    SELECT SINGLE lfstk gbstk cmpsa
      INTO (v_item_get-lfstk,v_item_get-gbstk,v_item_get-cmpsa)
      FROM vbuk
      WHERE vbeln = v_item_get-vbeln.

* 原始订单金额-------------------------------------------------------------------------
    SELECT SINGLE kwert FROM konv
    INTO v_item_get-kbetr1
    WHERE knumv = v_item_get-knumv
      AND kposn = v_item_get-posnr
      AND kschl = 'PR01'.
    IF sy-subrc = 0.
      v_item_get-zheko = 'PR01'.

    ELSE.
      SELECT SINGLE kwert FROM konv
      INTO v_item_get-kbetr1
      WHERE knumv = v_item_get-knumv
        AND kposn = v_item_get-posnr
        AND kschl = 'PR03'.
      IF sy-subrc = 0.
        v_item_get-zheko = 'PR03'.
      ENDIF.
    ENDIF.

*抓取折扣ZK01-ZK02---add by FOK 2009/12/15----------------------------------------------------------

    SELECT SINGLE kwert FROM konv
      INTO v_item_get-kbetr5
      WHERE knumv = v_item_get-knumv
        AND kposn = v_item_get-posnr
        AND kschl = 'ZK02'
        AND kinak NE 'A'.
    IF sy-subrc = '0'.
      v_item_get-zheko = 'ZK02'.

    ELSE.
      SELECT SINGLE kwert FROM konv
         INTO v_item_get-kbetr5
         WHERE knumv = v_item_get-knumv
         AND kposn = v_item_get-posnr
         AND kschl = 'ZK01'
         AND kinak NE 'A'.
      IF sy-subrc = 0.
        v_item_get-zheko = 'ZK01'.
      ENDIF.
    ENDIF.

*抓取折扣zk05-zk06--add by FOK 2009/12/15----------------------------------------------------------

    SELECT SINGLE kwert FROM konv
      INTO v_item_get-kbetr5
      WHERE knumv = v_item_get-knumv
        AND kposn = v_item_get-posnr
        AND kschl = 'ZK05'
        AND kinak NE 'A'.
    IF sy-subrc = '0'.
      v_item_get-zheko = 'ZK05'.

    ELSE.
      SELECT SINGLE kwert FROM konv
         INTO v_item_get-kbetr5
         WHERE knumv = v_item_get-knumv
         AND kposn = v_item_get-posnr
         AND kschl = 'ZK06'
         AND kinak NE 'A'.
      IF sy-subrc = 0.
        v_item_get-zheko = 'ZK06'.
      ENDIF.
    ENDIF.

*抓取折扣zk04-zk07--add by FOK 2009/12/15----------------------------------------------------------
    DATA:kbetr6 LIKE  v_item_get-kbetr6.
    CLEAR kbetr6.
    SELECT  kwert FROM konv
     INTO kbetr6
     WHERE knumv = v_item_get-knumv
       AND kposn = v_item_get-posnr
       AND kschl = 'ZK04'
       AND kinak NE 'A'.
      v_item_get-kbetr6  =  v_item_get-kbetr6 + kbetr6.
    ENDSELECT.
    IF sy-subrc = '0'.
      v_item_get-zheko4 = 'ZK04'.

    ELSE.
      CLEAR kbetr6.
      SELECT   kwert FROM konv
         INTO kbetr6
         WHERE knumv = v_item_get-knumv
         AND kposn = v_item_get-posnr
         AND kschl = 'ZK07'
         AND kinak NE 'A'.
        v_item_get-kbetr6  =  v_item_get-kbetr6 + kbetr6.
      ENDSELECT.

      IF sy-subrc = 0.
        v_item_get-zheko4 = 'ZK07'.
      ENDIF.
    ENDIF.

* --------------Begin V1.1 折扣原因----------------------------------------------
    IF  v_item_get-zheko4 = 'ZK04' OR  v_item_get-zheko4 = 'ZK07'.
      SELECT SINGLE kvgr5 FROM vbak
      INTO v_item_get-kvgr5
      WHERE vbeln = v_item_get-vbeln.
      SELECT SINGLE bezei FROM tvv5t
      INTO v_item_get-yyms
      WHERE kvgr5 =  v_item_get-kvgr5 AND spras = sy-langu.
    ENDIF.
*抓取订单折扣zk09--add by FXL 2009/12/15----------------------------------------

    SELECT SINGLE kwert FROM konv
     INTO v_item_get-zkbetr9
     WHERE knumv = v_item_get-knumv
       AND kposn = v_item_get-posnr
       AND kschl = 'ZK09'
       AND kinak NE 'A'.
    IF sy-subrc = '0'.
      IF v_item_get-zheko9 EQ ''.
        v_item_get-zheko9 = 'ZK09'.
      ENDIF.
    ENDIF.

*抓取折扣ZK08--add by FXL 2009/12/15---------------------------------------
    CLEAR: knumh,kosrt,kzust.                               "v1.1

    SELECT SINGLE kwert knumh FROM konv
      INTO (v_item_get-zkbetr8,knumh)
      WHERE knumv = v_item_get-knumv
        AND kposn = v_item_get-posnr
        AND kschl = 'ZK08'
        AND kinak NE 'A'.
    IF sy-subrc = '0'.
      IF v_item_get-zheko4 EQ ''.
        v_item_get-zheko4 = 'ZK08'.
      ENDIF.
      IF v_item_get-zkbetr8 <> 0.
        v_item_get-kbetr6 = v_item_get-zkbetr8.
      ENDIF.
    ENDIF.
*-------Begin V1.1    ZK08 回扣原因 kosrt 查询条件 kzust 责任-----------------
    IF   v_item_get-yyms IS INITIAL.
      SELECT SINGLE kosrt kzust FROM konh
      INTO (kosrt,kzust)
      WHERE  knumh = knumh .
*      IF sy-subrc = 0 .
      SELECT SINGLE vtext FROM t686d
      INTO v_item_get-yyms
      WHERE kzust = kzust AND spras = sy-langu.

      CONCATENATE v_item_get-yyms  kosrt INTO v_item_get-yyms SEPARATED BY space.
*        ENDIF.
*      ENDIF.
*      v_item_get-yyms
    ENDIF.
*    KONH
*    v_item_get-zkbetr8 = v_item_get-kbetr6.

*抓取折扣ZK03-------------------------------------------------------------

    SELECT SINGLE kwert FROM konv
     INTO v_item_get-kbetrz3
     WHERE knumv = v_item_get-knumv
       AND kposn = v_item_get-posnr
       AND kschl = 'ZK03'
       AND kinak NE 'A'.
    IF sy-subrc = '0'.
      IF v_item_get-zheko EQ ''.
        v_item_get-zheko = 'ZK03'.
      ENDIF.
    ENDIF.

 

    SELECT SINGLE maktx
      INTO v_item_get-maktx
      FROM makt
      WHERE matnr = v_item_get-matnr.


*特价金额 = ZK01/ZK02/ZK05/ZK06 + ZK03+ZK04/ZK07/ZK08 + ZK09 ---------------
    v_item_get-zhekoo = v_item_get-kbetr5 + v_item_get-kbetrz3 + v_item_get-kbetr6 + v_item_get-zkbetr9 ."特价金额

*订单总金额----------------------------------------------------
    v_item_get-kbetr1 = v_item_get-kbetr1 + v_item_get-zhekoo.

*抓取单价-------------------------------------------------------------
    v_item_get-kbetr = v_item_get-kbetr1 / v_item_get-kwmeng.

    IF v_item_get-etenr = '1'.
      LOOP AT count_get_data1 WHERE vgbel = v_item_get-vbeln
                               AND  vgpos = v_item_get-posnr.
        v_item_get-lfimg = count_get_data1-lfimg.
      ENDLOOP.
    ENDIF.

 

    IF v_item_get-etenr = '1'.
      v_item_get-lgmngx = v_item_get-kwmeng - v_item_get-lfimg.
    ENDIF.


    v_item_get-kbetr3 = v_item_get-lgmngx * v_item_get-kbetr1 / v_item_get-kwmeng."末清订单金额


    IF v_item_get-vrkme NE 'PCS'.
      v_item_get-kwmeng = v_item_get-kwmeng * ( v_item_get-umziz / v_item_get-umzin  ).
    ENDIF.
    IF v_item_get-etenr = '1'.
      v_item_get-kwmengx = v_item_get-kwmeng * ( v_item_get-umren / v_item_get-umrez ).
    ENDIF.


    v_item_get-kbetr2 = v_item_get-lfimg * v_item_get-kbetr1 / v_item_get-kwmeng.  "实际交货金额


    v_item_get-zkbetr10 = v_item_get-zkbetr8 / v_item_get-kwmeng * v_item_get-lgmngx."末清返利金额

    IF v_item_get-zhekoo EQ ''.
      v_item_get-zhekoo = v_item_get-lfimg * v_item_get-kbetr * v_item_get-netwr1 * v_item_get-netwr6 / 10 / v_item_get-kpein.       "订单金额
      v_item_get-zhekoo = v_item_get-zhekoo + ( v_item_get-lfimg * v_item_get-kbetr * v_item_get-netwr1 * v_item_get-netwr2 * v_item_get-netwr5 / v_item_get-kpein ) * v_item_get-netwr7 / 10.  "订单特价总金额
    ENDIF.

    IF v_item_get-vrkme NE 'PCS'.
      v_item_get-lfimg = v_item_get-lfimg * ( v_item_get-umvkz  / v_item_get-umvkn  ).
    ENDIF.

    v_item_get-lfimgx = v_item_get-lfimg * ( v_item_get-umren / v_item_get-umrez ).

    IF v_item_get-etenr = '1'.
      v_item_get-lgmngx = v_item_get-kwmeng - v_item_get-lfimg.
    ENDIF.

    v_item_get-lgmngxx = v_item_get-lgmngx * ( v_item_get-umren / v_item_get-umrez ).


    IF v_item_get-etenr NE '1'.
      v_item_get-lfimg = '0'.
      v_item_get-kwmeng = '0'.
    ENDIF.


    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        input  = v_item_get-matnr
      IMPORTING
        output = v_item_get-matnr.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        input  = v_item_get-vbeln
      IMPORTING
        output = v_item_get-vbeln.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        input  = v_item_get-kunnr
      IMPORTING
        output = v_item_get-kunnr.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        input  = v_item_get-vvbeln
      IMPORTING
        output = v_item_get-vvbeln.

*加产业add by LKJ 2008/10/20
    IF v_item_get-vkorg = '1010'.
      v_item_get-changye = '电工产业'.
    ELSEIF v_item_get-vkorg = '1020'.
      v_item_get-changye = '照明产业'.
    ELSE.
      v_item_get-changye = ''.
    ENDIF.

***信货状态显示
    IF v_item_get-cmpsa = 'B'.
      v_item_get-cmpsax = '不通过'.
    ELSE.
      v_item_get-cmpsax = '通过'.
    ENDIF.

    IF v_item_get-lfstk = 'A'.
      v_item_get-lfstkx = '没有处理'.
    ELSEIF v_item_get-lfstk = 'B'.
      v_item_get-lfstkx = '部分处理'.
    ELSE.
      v_item_get-lfstkx = '完全处理'.
    ENDIF.
    IF v_item_get-gbstk = 'A'.
      v_item_get-gbstkx = '没有处理'.
    ELSEIF v_item_get-gbstk = 'B'.
      v_item_get-gbstkx = '部分处理'.
    ELSE.
      v_item_get-gbstkx = '完全处理'.
    ENDIF.
*
    SELECT SINGLE bezei
    INTO v_item_get-bezei
    FROM tvakt
    WHERE auart = v_item_get-auart.


    MODIFY v_item_get.

  ENDLOOP.
ENDFORM.                    "dispose_data


*&---------------------------------------------------------------------*
*&      Form  sub_list_get
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM sub_list_get.
  LOOP AT choose_data_get.
    IF choose_data_get-auart = 'RE'.
      choose_data_get-kwmeng = choose_data_get-kwmeng * -1.
      choose_data_get-kwmengx = choose_data_get-kwmengx * -1.
      choose_data_get-kbetr1 = choose_data_get-kbetr1 * -1.
      choose_data_get-bmeng = choose_data_get-bmeng * -1.
      choose_data_get-lgmngx = choose_data_get-lgmngx * -1.
      choose_data_get-lgmngxx = choose_data_get-lgmngxx * -1.
      choose_data_get-kbetr3 = choose_data_get-kbetr3 * -1.
      choose_data_get-lfimg = choose_data_get-lfimg * -1.
      choose_data_get-lfimgx = choose_data_get-lfimgx * -1.
      choose_data_get-kbetr2 = choose_data_get-kbetr2 * -1.
      choose_data_get-zhekoo = choose_data_get-zhekoo * -1.
    ENDIF.
    MODIFY choose_data_get.
    CLEAR  choose_data_get.
  ENDLOOP.

  DELETE choose_data_get WHERE kwmeng EQ '0'.  "删除订单数量为零的行LKJ 2009/03/16

ENDFORM.                    "SUB_LIST_GET

*&---------------------------------------------------------------------*
*&      Form  sub_list_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM sub_list_data.
  DATA: ex_rate       TYPE tcurr-ukurs,
          f_factor      TYPE tcurr-ffact,
          l_factor      TYPE tcurr-tfact,
          v_date        TYPE datum,
          d_erate(12)   TYPE c.
  LOOP AT choose_data_get.

    choose_data_get-waers2 = 'CNY'.

    CALL FUNCTION 'READ_EXCHANGE_RATE'
      EXPORTING
        client           = sy-mandt
        date             = choose_data_get-audat
        foreign_currency = choose_data_get-waerk
        local_currency   = 'CNY'
        type_of_rate     = 'M'
      IMPORTING
        exchange_rate    = ex_rate
        foreign_factor   = f_factor
        local_factor     = l_factor
        valid_from_date  = v_date
      EXCEPTIONS
        no_rate_found    = 1
        no_factors_found = 2
        no_spread_found  = 3
        derived_2_times  = 4
        overflow         = 5
        zero_rate        = 6
        OTHERS           = 7.
    choose_data_get-kbetr19 = choose_data_get-kbetr1 * ex_rate.
*    choose_data_get-kbetr2 = choose_data_get-kbetr2 * ex_rate. del v1.4
    choose_data_get-kbetr20 = choose_data_get-kbetr2 * ex_rate." add v1.4
    MODIFY choose_data_get.
  ENDLOOP.
*------------------V1.0 ZHOUXU ADD ------------------------------*
  IF labgru = 'X'.
    DELETE choose_data_get WHERE abgru NE '' AND lfimg = 0.
  ENDIF.

  LOOP AT choose_data_get WHERE abgru NE ''.
**      取消订单数量 = 总订单数量 - 发货数量
    choose_data_get-qxsl =  choose_data_get-kwmeng - choose_data_get-lfimg.
**      取消订单金额 = 总订单金额 - 发货金额
*    choose_data_get-qxje =  choose_data_get-kbetr1 - choose_data_get-kbetr2."del v1.4
    choose_data_get-qxje =  choose_data_get-kbetr19 - choose_data_get-kbetr20."add v1.4
**      取消订单件数 = 总订单件数 - 发货件数
    choose_data_get-qxjsl =  choose_data_get-kwmengx -  choose_data_get-lfimgx.
    choose_data_get-kwmeng = choose_data_get-lfimg.
    choose_data_get-kbetr1 = choose_data_get-kbetr2.
    choose_data_get-kbetr19 = choose_data_get-kbetr20.      "add v1.4
    choose_data_get-kwmengx = choose_data_get-lfimgx.

    choose_data_get-lgmngx  = 0 .
    choose_data_get-lgmngxx = 0 .
    choose_data_get-kbetr3 = 0 .
    MODIFY choose_data_get.

  ENDLOOP.
  LOOP AT choose_data_get .
    CLEAR it_show.
    it_show-kunnr =  choose_data_get-kunnr.
    it_show-name1 =  choose_data_get-name1.
    it_show-wqdd =   choose_data_get-kbetr3.

    COLLECT it_show.
  ENDLOOP.
  DATA:kunnr LIKE  it_show-kunnr.
  LOOP AT it_show.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        input  = it_show-kunnr
      IMPORTING
        output = kunnr.
    SELECT SINGLE * FROM   knkk
    INTO CORRESPONDING FIELDS OF  it_show
    WHERE   kunnr =   kunnr.


    SELECT SUM( olikw ) FROM  s067
    INTO it_show-wqjhd
      WHERE kkber = it_show-kkber
      AND knkli = it_show-knkli.
    MODIFY it_show.
  ENDLOOP.
  IF p_hz <>  'X'.

    REFRESH  i_fieldcat.
    add_filed 'CHOOSE_DATA_GET' 'VBELN'  '凭证编号'  'L ' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'AUDAT'  '凭证日期' 'L ' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'BEZEI'  '订单类别' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'MATNR'  '物料编码' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'MAKTX' '物料名称' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'CHANGYE'  '产业' 'L' 'CHAR' '' '' .   "add by LKJ 2008/10/20
    add_filed 'CHOOSE_DATA_GET' 'BEZEI1'  '品牌' 'L' 'CHAR' '' '' .   "add by LKJ 2008/10/20
    add_filed 'CHOOSE_DATA_GET' 'BISMT'  '旧物料编码' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'MATKL'  '物料组' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'WGBEZ'  '物料组描述' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'DISPO' 'MRP控制者' 'L' 'CHAR' '' '' .  "MRP控制者kaijunli
    add_filed 'CHOOSE_DATA_GET' 'VKBUR'  '办事处' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'BEZEII'  '办事处描述' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'KUNNR'  '售达方' 'L'  'CHAR' '' '' . "售达方kaijunli客户名称
    add_filed 'CHOOSE_DATA_GET' 'NAME1'  '售达方名称' 'L' 'CHAR' '' '' . "客户名称售达方
    add_filed 'CHOOSE_DATA_GET' 'BZTXT'  '销售地区' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'CMPSAX'  '信贷状态' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'TXTSTAT'  '订单审批对象状态' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'KUNNR1'  '送达方' 'L'  'CHAR' '' '' . "送达方kaijunli
    add_filed 'CHOOSE_DATA_GET' 'NAME2'  '送达方名称' 'L' 'CHAR' '' '' . "送达方名称kaijunli
    add_filed 'CHOOSE_DATA_GET' 'POSNR'  '订单项目'  'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'ETENR'  '计划行号' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'KWMENG'  '订单数量(销售单位)' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'KWMENGX'  '订单件数' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'KBETR1'  '订单总金额(原)' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'BMENG'  '确认数量' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'LGMNGX'  '未清数量' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'LGMNGXX'  '未清件数' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'KBETR3'  '未清金额' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'LFIMG'  '实际交货量' 'L'  'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'LFIMGX'  '实际交货件数' 'L'  'CHAR' '' '' .
*  add_filed 'CHOOSE_DATA_GET' 'KBETR2'  '实际交货金额' 'L'  'CHAR' '' '' .del v1.4
    add_filed 'CHOOSE_DATA_GET' 'KBETR20'  '实际交货金额' 'L'  'CHAR' '' '' ."add v1.4

    add_filed 'CHOOSE_DATA_GET' 'QXSL'  '取消订单量' 'L'  'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'QXJSL'  '取消订单件数' 'L'  'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'QXJE'  '取消订单金额' 'L'  'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'EDATU'  '计划行日期'  'L ' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'VDATU'  '请求交货日期'  'L ' 'CHAR' '' '' . "请求交货日期
    add_filed 'CHOOSE_DATA_GET' 'MEINS'  '基本计量单位' 'L ' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'VRKME'  '销售单位' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'VVBELN'  '发货凭证'  'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'WADAT_IST'  '货物移动日期' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'LFSTKX'  '交货状态' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'BEZEIABG'  '拒绝发货原因' 'L' 'CHAR' '' '' ."拒绝发货原因中文kaijunli
*  add_filed 'CHOOSE_DATA_GET' 'ABGRU'  '拒绝发货原因' 'L' 'CHAR' '' '' ."拒绝发货原因编号kaijunli
    add_filed 'CHOOSE_DATA_GET' 'GBSTKX'  '总览状态' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'ERNAM'  '创建者' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'BSTNK'  '客户采购订单编号' 'L' 'CHAR' '' '' . "订单备注kaijunli
    add_filed 'CHOOSE_DATA_GET' 'BSARK'  '客户采购订单类型' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'BSTDK'  '客户采购订单日期' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'BSTZD'  '采购单编号补充' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'ZHEKO'  '经销折扣' 'L' 'CHAR' '' ''.      "add by LKJ 2008/10/20
    add_filed 'CHOOSE_DATA_GET' 'KBETR5'  '经销折扣金额' 'L' 'CHAR' '' '' .
    add_filed 'CHOOSE_DATA_GET' 'ZHEKO4'  '订单折扣' 'L' 'CHAR' '' ''.     "add by LKJ 2008/10/20
    add_filed 'CHOOSE_DATA_GET' 'YYMS'  '订单折扣性质' 'L' 'CHAR' '' ''."add V1.1


    add_filed 'CHOOSE_DATA_GET' 'KBETR6'  '订单折扣金额' 'L' 'CHAR' '' '' .

*************物流商折扣****************************FXL
    add_filed 'CHOOSE_DATA_GET' 'ZHEKO9' '物流商折扣' 'L' 'CHAR' '' ''.
    add_filed 'CHOOSE_DATA_GET' 'ZKBETR9' '物流商折扣金额' 'L' 'CHAR' '' ''.
    add_filed 'CHOOSE_DATA_GET' 'ZKBETR10' '末清返利金额' 'L' 'CHAR' '' ''.

    add_filed 'CHOOSE_DATA_GET' 'ZHEKOO' '特价金额' 'L' 'CHAR' '' ''.
    add_filed 'CHOOSE_DATA_GET' 'ZHEKO1' '特价净值' 'L' 'CHAR' '' ''.

    add_filed 'CHOOSE_DATA_GET' 'WAERK' '外币币别' 'L' 'CHAR' '' ''.
    add_filed 'CHOOSE_DATA_GET' 'KBETR19' '本币订单金额' 'L' 'CHAR' '' ''.
    add_filed 'CHOOSE_DATA_GET' 'WAERS2' '本币币别' 'L' 'CHAR' '' ''.

    add_filed 'CHOOSE_DATA_GET' 'BBEZEI' '物料定价组' 'L' 'CHAR' '' ''.
    display_data choose_data_get ''.


  ELSE.

    REFRESH  i_fieldcat.
    add_filed 'IT_SHOW' 'KUNNR'  '客户编号'  'L ' 'CHAR' '' '' .
    add_filed 'IT_SHOW' 'NAME1'  '客户描述'  'L ' 'CHAR' '' '' .
*    add_filed 'IT_SHOW' 'KTOKD'  '账户组'  'L ' 'CHAR' '' '' .
    add_filed 'IT_SHOW' 'KNKLI'  '信贷账号'  'L ' 'CHAR' '' '' .
    add_filed 'IT_SHOW' 'KKBER'  '信贷控制范围'  'L ' 'CHAR' '' '' .
    add_filed 'IT_SHOW' 'KLIMK'  '信贷限额'  'L ' 'CHAR' '' '' .
    add_filed 'IT_SHOW' 'SKFOR'  '应收总额'  'L ' 'CHAR' '' '' .
    add_filed 'IT_SHOW' 'CASHC'  '货币'  'L ' 'CHAR' '' '' .
    add_filed 'IT_SHOW' 'WQDD'  '未清订单'  'L ' 'CHAR' '' '' .
    add_filed 'IT_SHOW' 'WQJHD'  '未清交货单'  'L ' 'CHAR' '' '' .


    display_data it_show ''.
  ENDIF.
ENDFORM.                    "sub_list_data
*&---------------------------------------------------------------------*
*&      Form  user_command
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->R_UCOMM      text
*      -->RS_SELFIELD  text
*----------------------------------------------------------------------*
FORM user_command  USING r_ucomm LIKE sy-ucomm
                           rs_selfield TYPE slis_selfield.
  CASE r_ucomm.
    WHEN '&IC1'.
      CASE rs_selfield-sel_tab_field.
        WHEN  'CHOOSE_DATA_GET-VBELN'.
          SET PARAMETER ID 'AUN' FIELD rs_selfield-value.
          CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
        WHEN  'CHOOSE_DATA_GET-VVBELN'.
          SET PARAMETER ID 'VL' FIELD rs_selfield-value.
          CALL TRANSACTION 'VL03N' AND SKIP FIRST SCREEN.
      ENDCASE.
    WHEN OTHERS.
  ENDCASE.
ENDFORM.                    "user_command
*&---------------------------------------------------------------------*
*&      Form  frm_change_sign
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->VALUE(P_CHANGE)  text
*----------------------------------------------------------------------*
FORM frm_change_sign CHANGING value(p_change).
  IF p_change CA '-'.
    CONCATENATE '-' p_change INTO p_change.
    CONDENSE p_change NO-GAPS.
    SHIFT p_change RIGHT DELETING TRAILING ' -'.
*     SHIFT p_change by 1 places left.
  ELSEIF p_change NA '123456789'.
    p_change = ''.
  ENDIF.
ENDFORM.                    "frm_change_sign