销售出货报表(销售收入)

P_AUART1 标准销售订单 
P_AUART2 寄售销售订单 
P_AUART3 移动保外订单
S_AUFNR 内部订单
S_BEZEI 业务项目
S_CMGST 信贷状态 
S_FKSTK 出具发票状态 
S_IST 实际货物移动日期
S_KDGRP 客户组 
S_KUNNR 客户
S_MATNR 物料号 
S_MVGR1 产品名称
S_MVGR2 回传及信号质量 
S_MVGR3 接收方式
S_MVGR4 物料组4
S_MVGR5 物料组5
S_POSNR 行项目 
S_PRODH 产品层次
S_SPART 产品线 
S_VBELN 销售订单 
S_VKBUR 销售办公室
S_VKORG 销售组织 
S_VTWEG 分销渠道
S_WBSTA 交货状态 
________ ______________________________
*&---------------------------------------------------------------------*

*& Report  销售出货报表
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
report  zsd_r_09.

type-pools slis.
typesslis_t_fieldcat_alv type slis_fieldcat_alv occurs 1.
data g_events_t          type slis_t_event,
       g_fieldcat_t        type slis_t_fieldcat_alv,
       g_layout_s          type slis_layout_alv,
       l_fieldcat_s        type slis_fieldcat_alv.

tablesmvke,vbup,knvv,likp,lips,vbap,vbak,vbpa,t151t,vbuk,
        tvm1t,tvm2t,tvm3t,tvm4t,tvm5t.

dataidx      type  i.
datag_id     like  thead-tdid,
      g_lagu   like  thead-tdspras,
      g_remark like  thead-tdname,
      g_obc    like  thead-tdobject,
      g_cnt1   type  value .

datastr1      type string,
      strvkorg  type string ,
      strvkbur  type string ,
      strresult type string .

datait_line like table of tline with header line.

dataadrnr like vbpa-adrnr,
      actvt like tact-actvt,
      prodh like t179t-prodh.

datakbetr type decimals 2,
      knumv like vbak-knumv.

data:begin of auth occurs 0,
       vkorg  like vbak-vkorg,
       vtweg  like vbak-vtweg,
       spart  like vbak-spart,
     end of auth.

databegin of result occurs 100,
        wbsta      like vbup-wbsta,      "货物移动状态
        cmgst      like vbuk-cmgst,      "信贷状态
        fksta      like vbup-fksta,      "出具发票状态
        wadat_ist  like likp-wadat_ist,  "实际货物移动日期
        vbeln      like vbak-vbeln,      "销售凭证
        posnr      like vbap-posnr,      "销售凭证项目
        bezei      like tvakt-bezei,     "订单类型文本
        aufnr      like vbap-aufnr,      "内部订单
        atext      like aufk-ktext,      "内部订单描述
        vkorg      like vbak-vkorg,      "销售组织
        vkbur      like vbak-vkbur,      "销售办事处
        bztxt      like t171t-bztxt,     "销售地区
        matnr      like vbap-matnr,      "物料号
        arktx      like vbap-arktx,      "行项目物料描述
        werks      like vbap-werks,
        vtext      like tvzbt-vtext,     "付款条件
        nachn1     like kna1-name1,      "销售人员
        nachn2     like kna1-name1,      "跟单人员
        kunnr      like vbak-kunnr,      "售达方
        name1(70)  type c,               "售达方全称
        name2      like kna1-name1,
        kwmeng     type p,               "销售订单数量
        lfimg      type p,               "实际交货数量
        netpr      like vbap-netpr,      "单价(不含税)
        netpr1     like vbap-netpr,      "单价
        netwr      type decimals 3,    "总价(不含税)
        netwr1     type decimals 3,    "总价
        waerk      like vbap-waerk,      "SD 凭证货币
        kursk      like vbkd-kursk,      "汇率
        rmbwr      like vbap-netwr,      "RMB总价(不含税)
        rmbwr1     like vbap-netwr,      "RMB总价
        kpein      like vbap-kpein,      "条件定价单位
        lips_vbeln like lips-vbeln,      "交货单号
        lips_posnr like lips-posnr,      "交货项目
        charg      like lips-charg,      "批次
        budat      like mkpf-budat,      "发货过账日期
        likp_kunnr like likp-kunnr,      "送达方
        sname      like kna1-name1,      "送达方名称
        street(80type c,               "交货地址
        suppl1     like adrc-str_suppl1"交货地址一
        suppl2     like adrc-str_suppl2"交货地址二
        name_co    like adrc-name_co,    "收货人
        telno      like adrc-tel_number"联系电话
        bstnk      like vbak-bstnk,      "客户采购订单编号
        mvgr1      like tvm1t-bezei,     "产品名称
        mvgr2      like tvm2t-bezei,     "回传及信号质量
        mvgr3      like tvm3t-bezei,     "接收方式
        mvgr4      like tvm4t-bezei,     "物料组四
        mvgr5      like tvm4t-bezei,     "物料组五
        ktext      like t151t-ktext,     "客户组名称
        prodh      like t179t-prodh,     "产品层次编号
        vtext1     like t179t-vtext,     "产品系列
        vtext2     like t179t-vtext,     "产品型号
        gtext      type string,          "物料长文本
        knumv      like vbak-knumv,      "条件记录号
        xcpdk      like kna1-xcpdk,
        inco1      like vbkd-inco1,    "国际贸易条件一
        inco2      like vbkd-inco2,    "国际贸易条件二
      end of result.

databegin of itab occurs 0,
        kunnr like vbpa-kunnr,
        adrnr like vbpa-adrnr,
        xcpdk like vbpa-xcpdk,
      end of itab.

databegin of itab_vkorg occurs ,
        vkorg like vbak-vkorg ,
      end of itab_vkorg.

databegin of itab_auth_vkorg occurs ,
        vkorg like vbak-vkorg ,
      end of itab_auth_vkorg.

databegin of itab_vkbur occurs ,
        vkbur like vbak-vkbur ,
      end of itab_vkbur .

databegin of itab_auth_vkbur occurs ,
        vkbur like vbak-vkbur ,
      end of itab_auth_vkbur .

databegin of itab1 occurs 0,
        vbeln like vbpa-vbeln,
        nachn like pa0002-nachn,
      end of itab1.

ranges s_auart for vbak-auart.

selection-screen begin of block bl1 with frame title text-001.
select-options:
  s_wbsta  for vbup-wbsta,     "发货过账状态
  s_cmgst  for vbuk-cmgst,     "信贷状态
  s_fkstk  for vbup-fksta,     "出具发票状态
  s_ist    for likp-wadat_ist"实际货物移动日期
  s_kunnr  for knvv-kunnr,     "客户编号
  s_vkorg  for vbak-vkorg,     "sale orgnization
  s_vtweg  for vbak-vtweg,     "distribution
  s_spart  for vbak-spart,     "division
  s_vkbur  for vbak-vkbur,     "sale office
  s_kdgrp  for knvv-kdgrp,     "客户组
  s_bezei  for vbak-kvgr2,     "业务项目
  s_prodh  for vbap-prodh,     "产品层次
  s_mvgr1  for tvm1t-mvgr1,    "产品名称
  s_mvgr2  for tvm2t-mvgr2,    "回传及信号质量
  s_mvgr3  for tvm3t-mvgr3,    "接收方式
  s_mvgr4  for tvm4t-mvgr4,    "物料组四
  s_mvgr5  for tvm5t-mvgr5,    "物料组五
  s_aufnr  for vbap-aufnr,
  s_vbeln  for vbap-vbeln,
  s_posnr  for vbap-posnr,
  s_matnr  for vbap-matnr.
selection-screen end of block bl1.

selection-screen skip 1.

selection-screen begin of block bl2 with frame title text-002.
parameter:p_auart1 as checkbox default 'X',
          p_auart2 as checkbox,
          p_auart3 as checkbox.
selection-screen end of block bl2.

initialization.
  perform layout_init    using g_layout_s.    "ALV GRID LAYOUT
  perform eventtab_build using g_events_t[].  "ALV GRID EVENT

start-of-selection.
  perform sel_init.

  call function 'ZSD_SALESAREA'
    tables
      auth auth.

  perform get_data.
  perform displaycatalog_merge using  g_fieldcat_t[] 'RESULT'.
  perform alv_display          tables result[].


*&--------------------------------------------------------------------*
*&      Form  get_data
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
form get_data.
  select distinct
      vbak~vkorg                "销售组织
      vbak~vkbur                "销售办事处
      vbak~vbeln                "销售凭证
      vbak~bstnk                "客户采购订单编号
      vbak~kunnr                "售达方
      vbak~knumv                "条件记录号
      vbap~posnr                "销售凭证项目
      vbap~arktx                "物料文本
*      vbap~netpr                "净价
*      vbap~netwr                "总价
      vbap~waerk                "SD 凭证货币
      vbap~matnr                "物料号
      vbap~werks
      vbap~kwmeng               "以销售单位表示的累计订购数量
      vbap~kpein                "价格单位
      vbap~aufnr
      vbkd~kursk                "汇率
      lips~vbeln as lips_vbeln  "交货
      lips~posnr as lips_posnr  "交货项目
      lips~lfimg                "实际已交货量(按销售单位)
      lips~charg                "批次
      likp~kunnr as likp_kunnr  "送达方
      likp~wadat_ist            "实际货物移动日期
      vbup~wbsta                "货物移动状态
      vbup~fksta                "出具发票状态
      vbuk~cmgst                "信贷状态
      "mkpf~budat                "发货过账日期
      kna1~name1                "客户名称
      kna1~name2
      t151t~ktext               "客户组名称
      tvakt~bezei               "订单类型文本
      aufk~ktext  as atext      "内部订单
      t179t~prodh               "产品层次编号
      t179t~vtext as vtext2     "产品系列
      tvm1t~bezei as mvgr1      "产品名称
      tvm2t~bezei as mvgr2      "回传及信号质量
      tvm3t~bezei as mvgr3      "接收方式
      tvm4t~bezei as mvgr4      "物料组四
      tvm5t~bezei as mvgr5      "物料组五
    into corresponding fields of table result

    from vbak
    inner join vbap    on vbak~vbeln vbap~vbeln
    left  join vbkd    on vbap~vbeln vbkd~vbeln
                      and vbap~posnr vbkd~posnr
    inner join lips    on vbap~vbeln lips~vgbel
                      and vbap~posnr lips~vgpos
    inner join likp    on lips~vbeln likp~vbeln
    inner join vbup    on vbup~vbeln lips~vbeln
                      and vbup~posnr lips~posnr
    inner join vbuk    on lips~vbeln vbuk~vbeln
    "LEFT  JOIN mkpf    ON mkpf~xblnr = lips~vbeln
    inner join kna1    on kna1~kunnr vbak~kunnr
    inner join knvv    on vbak~kunnr knvv~kunnr
                      and knvv~vkorg vbak~vkorg
                      and knvv~vtweg vbak~vtweg
                      and knvv~spart vbak~spart
    left  join t151t   on knvv~kdgrp t151t~kdgrp  and t151t~spras '1'
    inner join tvakt   on vbak~auart tvakt~auart  and tvakt~spras '1'

    left  join aufk    on aufk~aufnr  vbap~aufnr
    left  join t179t   on t179t~prodh vbap~prodh
                      and t179t~spras '1'
    left  join tvm1t   on vbap~mvgr1  tvm1t~mvgr1
                      and tvm1t~spras '1'
    left  join tvm2t   on vbap~mvgr2  tvm2t~mvgr2
                      and tvm2t~spras '1'
    left  join tvm3t   on vbap~mvgr3  tvm3t~mvgr3
                      and tvm3t~spras '1'
    left  join tvm4t   on vbap~mvgr4  tvm4t~mvgr4
                      and tvm4t~spras '1'
    left  join tvm5t   on vbap~mvgr5  tvm5t~mvgr5
                      and tvm5t~spras '1'
*    INNER JOIN tvaut   ON tvaut~augru = vbak~augru  "订单原因
*    INNER JOIN mvke    ON vbap~matnr = mvke~matnr
*                      AND vbak~vkorg = mvke~vkorg
*                      AND vbak~vtweg = mvke~vtweg
    for all entries in auth
    where vbak~vkorg auth-vkorg
      and vbak~vtweg auth-vtweg
      and vbak~spart auth-spart

      and vbup~wbsta in s_wbsta
      and vbuk~cmgst in s_cmgst
      and vbup~fksta in s_fkstk
      and likp~wadat_ist in s_ist
      and vbak~auart in s_auart
      and vbak~vkorg in s_vkorg
      and vbak~vtweg in s_vtweg
      and vbak~spart in s_spart
      and vbak~vkbur in s_vkbur
      and vbak~kvgr2 in s_bezei
      and knvv~kunnr in s_kunnr
      and knvv~kdgrp in s_kdgrp
      and vbap~prodh in s_prodh
      and vbap~mvgr1 in s_mvgr1
      and vbap~mvgr2 in s_mvgr2
      and vbap~mvgr3 in s_mvgr3
      and vbap~mvgr4 in s_mvgr4
      and vbap~vbeln in s_vbeln
      and vbap~posnr in s_posnr
      and vbap~matnr in s_matnr
      and vbap~aufnr in s_aufnr.

  idx 1.
  loop at result.
***发货过账日期
    select maxbudat into result-budat
      from mkpf
      where xblnr result-lips_vbeln.

***物料长文本
    clear:prodh,adrnr.
    move result-matnr to str1.
    g_id     'GRUN'.
    g_lagu   '1'.
    g_obc    'MATERIAL'.
    g_remark str1 .

    call function 'READ_TEXT'
      exporting
        client                  sy-mandt
        id                      g_id
        language                g_lagu
        name                    g_remark
        object                  g_obc  "delivery number '10' digital
      tables
        lines                   it_line
      exceptions
        id                      1
        language                2
        name                    3
        not_found               4
        object                  5
        reference_check         6
        wrong_access_to_archive 7
        others                  8.

    loop at it_line.
      concatenate result-gtext it_line-tdline into result-gtext.
    endloop.
    modify result.

    clear it_line.
    refresh it_line.

***客户名称
    if result-xcpdk 'X'.
      select single adrc~name1
        into result-name1
        from adrc inner join vbpa on adrc~addrnumber vbpa~adrnr
        where vbpa~vbeln result-vbeln
          and vbpa~xcpdk 'X'.
    else.
      concatenate result-name1 result-name2 into result-name1.
    endif.

***收货地址信息
    select single adrnr into adrnr from vbpa
    where  vbeln result-lips_vbeln
      and  parvw 'WE'.
    modify result.

    select single street str_suppl1 name_co tel_number
    into (result-suppl1,result-suppl2,result-name_co,result-telno)
    from adrc
    where addrnumber eq adrnr.

    concatenate result-suppl1 result-suppl2
    into result-street.
    modify result.
    clear adrnr.

***付款条件文本
    select single vtext from zvtvzbt
      into result-vtext
      where vbeln result-vbeln.

***销售地区文本
    select single t171t~bztxt
      from t171t
      inner join vbkd on vbkd~bzirk t171t~bzirk
      into result-bztxt
      where vbkd~vbeln result-vbeln.

***产品系列
    prodh result-prodh+0(5).
    select single vtext as vtext1
      from t179t
      into result-vtext1
      where prodh prodh.

***计算含税/不含税
    clear:knumvkbetr.
    select single knumh
      into knumv
      from konv
      where knumv result-knumv
        and kposn result-posnr
         and kinak ''
        and kschl 'MWSI'.

    select single kbetr
      into kbetr
      from konp as p
      where knumh knumv.

    kbetr kbetr / 1000.

    select single kbetr
      into result-netpr  "单价含税价
      from konv
      where knumv result-knumv
        and kposn result-posnr
        and kappl 'V'
         and kinak ''
        and kschl 'ZR00'.

    result-netpr1  result-netpr / + kbetr ).       "单价净价
    result-netwr   result-netpr  * result-kwmeng / result-kpein.  "总价含税价
    result-netwr1  result-netpr1 * result-kwmeng / result-kpein.  "总价净价

***RMB总价
    result-rmbwr  result-netwr  * result-kursk.
    result-rmbwr1 result-netwr1 * result-kursk.

***销售人员、跟单人员
    select single name1
      into result-nachn1
      from kna1
      inner join vbpa on vbpa~kunnr kna1~kunnr
      where vbpa~vbeln result-vbeln
        and vbpa~parvw 'VE'.

    select single name1
      into result-nachn2
      from kna1
      inner join vbpa on vbpa~kunnr kna1~kunnr
      where vbpa~vbeln result-vbeln
        and vbpa~parvw 'ZM'.

***送达方名称
    select single adrc~name1
     into result-sname
     from  vbpa
     inner join adrc  on vbpa~adrnr adrc~addrnumber
     where vbpa~kunnr result-likp_kunnr
       and vbpa~vbeln result-lips_vbeln
       and vbpa~parvw 'SH' or vbpa~parvw 'WE' ).

***汇率、国际贸易条款
    select single  inco1 inco2
      into (result-inco1,result-inco2)
      from vbkd
      where vbeln result-vbeln
        and posnr ''.

    call function 'CONVERSION_EXIT_ALPHA_OUTPUT'
      exporting
        input  result-kunnr
      importing
        output result-kunnr.

    call function 'CONVERSION_EXIT_ALPHA_OUTPUT'
      exporting
        input  result-likp_kunnr
      importing
        output result-likp_kunnr.


    call function 'CONVERSION_EXIT_ALPHA_OUTPUT'
      exporting
        input  result-matnr
      importing
        output result-matnr.

    call function 'CONVERSION_EXIT_ALPHA_OUTPUT'
      exporting
        input  result-lips_vbeln
      importing
        output result-lips_vbeln.

    modify result.
    idx idx + 1.

  endloop.

endform.                    "get_data

*&--------------------------------------------------------------------*
*&      Form  LAYOUT_INIT
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
*      -->P_G_LAYOUT_text
*---------------------------------------------------------------------*
form layout_init using    p_g_layout_s type slis_layout_alv.
  p_g_layout_s-detail_popup         'X'.
  p_g_layout_s-colwidth_optimize    'X'.
endform.                    " LAYOUT_INIT

*--------------------------------------------------------------------
*       FORM EVENTTAB_BUILD
*--------------------------------------------------------------------
form eventtab_build using  p_g_events_t  type slis_t_event.
  datal_event type slis_alv_event.
  call function 'REUSE_ALV_EVENTS_GET'
    exporting
      i_list_type 0
    importing
      et_events   p_g_events_t.
* GUI STATUS
  read table p_g_events_t with key name slis_ev_pf_status_set
                          into l_event.
  if sy-subrc eq 0.
    move 'PF_STATUS_SET' to l_event-form.
    append l_event      to p_g_events_t.
  endif.
endform.                    " EVENTTAB_BUILD

*--------------------------------------------------------------------
*       FORM ALV_DISPLAY
*--------------------------------------------------------------------
form alv_display tables p_int_t.
  call function 'REUSE_ALV_GRID_DISPLAY'
    exporting
      i_callback_program      sy-repid
      i_callback_user_command 'USER_CALLBACK'
      is_layout               g_layout_s
      it_fieldcat             g_fieldcat_t[]
      i_save                  'A'
    tables
      t_outtab                p_int_t
    exceptions
      program_error           1
      others                  2.

endform.                    " ALV_DISPLAY

*&--------------------------------------------------------------------*
*&      Form  USER_CALLBACK
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
*      -->RF_UCOMM   text
*      -->RS_SELFIELDtext
*---------------------------------------------------------------------*
form user_callback using rf_ucomm type sy-ucomm
                        rs_selfield type slis_selfield.
  datalips_vbeln like lips-vbeln .
  case rf_ucomm.
    when '&IC1'.
      datawa_result like line of result .
      read table result index rs_selfield-tabindex into wa_result.
      lips_vbeln wa_result-lips_vbeln .
      if sy-subrc 0.
        set parameter id'VL' field lips_vbeln.
        call transaction 'VL03N' and skip first screen.
      endif.
  endcase.
endform.   " user_callback

*&--------------------------------------------------------------------*
*&      Form  DISPLAYCATALOG_MERGE1
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
*      -->对应汇总表
*      -->P_TABNAME  text
*---------------------------------------------------------------------*
form displaycatalog_merge using p_g_fieldcat_t
                                type slis_t_fieldcat_alv
                                p_tabname.
  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'BSTNK'.
  l_fieldcat_s-seltext_m '合同号'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'BEZEI'.
  l_fieldcat_s-seltext_m '销售订单类型'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'VKORG'.
  l_fieldcat_s-seltext_m '销售组织'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'VKBUR'.
  l_fieldcat_s-seltext_m '销售办事处'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'BZTXT'.
  l_fieldcat_s-seltext_m '销售地区'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'VBELN'.
  l_fieldcat_s-seltext_m '销售订单号'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'POSNR'.
  l_fieldcat_s-seltext_m '行项目'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'LIPS_VBELN'.
  l_fieldcat_s-seltext_m '交货单号'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'LIPS_POSNR'.
  l_fieldcat_s-seltext_m '交货项目'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'CHARG'.
  l_fieldcat_s-seltext_m '批次'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'CMGST'.
  l_fieldcat_s-seltext_m '信贷状态'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'BUDAT'.
  l_fieldcat_s-seltext_m '发货过账日期'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'WADAT_IST'.
  l_fieldcat_s-seltext_m '实际发货日期'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'LFIMG'.
  l_fieldcat_s-seltext_m '实际交货数量'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'KWMENG'.
  l_fieldcat_s-seltext_m '销售订单数量'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'NETPR'.
  l_fieldcat_s-seltext_m '单价'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'NETPR1'.
  l_fieldcat_s-seltext_m '单价(不含税)'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s .
  l_fieldcat_s-fieldname 'KPEIN'.
  l_fieldcat_s-seltext_m '定价单位'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s .
  l_fieldcat_s-fieldname 'NETWR'.
  l_fieldcat_s-seltext_m '总金额'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'NETWR1'.
  l_fieldcat_s-seltext_m '总金额(不含税)'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s .
  l_fieldcat_s-fieldname 'WAERK'.
  l_fieldcat_s-seltext_m '货币'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'KURSK'.
  l_fieldcat_s-seltext_m '汇率'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'RMBWR'.
  l_fieldcat_s-seltext_m 'RMB总金额'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'RMBWR1'.
  l_fieldcat_s-seltext_m 'RMB总金额(不含税)'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s .
  l_fieldcat_s-fieldname 'VTEXT'.
  l_fieldcat_s-seltext_m '付款条件'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'NACHN1'.
  l_fieldcat_s-seltext_m '销售人员'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'NACHN2'.
  l_fieldcat_s-seltext_m '跟单人员'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'NAME1'.
  l_fieldcat_s-seltext_m '客户名称'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'KUNNR'.
  l_fieldcat_s-seltext_m '售达方'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'MATNR'.
  l_fieldcat_s-seltext_m '物料编码'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'ARKTX'.
  l_fieldcat_s-seltext_m '物料描述'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'WERKS'.
  l_fieldcat_s-seltext_m '工厂'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'LIKP_KUNNR'.
  l_fieldcat_s-seltext_m '送达方'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'SNAME'.
  l_fieldcat_s-seltext_m '送达方名称'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'STREET'.
  l_fieldcat_s-seltext_m '收货地址'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'NAME_CO'.
  l_fieldcat_s-seltext_m '收货人'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'TELNO'.
  l_fieldcat_s-seltext_m '联系电话'.
  append l_fieldcat_s to p_g_fieldcat_t.

*  CLEAR l_fieldcat_s.
*  l_fieldcat_s-fieldname = 'KTEXT'.
*  l_fieldcat_s-seltext_m = '客户组'.
*  APPEND l_fieldcat_s TO p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'VTEXT1'.
  l_fieldcat_s-seltext_m '产品系列'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'VTEXT2'.
  l_fieldcat_s-seltext_m '产品型号'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'MVGR1'.
  l_fieldcat_s-seltext_m '产品名称'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'MVGR2'.
  l_fieldcat_s-seltext_m '回传及信号质量'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'MVGR3'.
  l_fieldcat_s-seltext_m '接收方式'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'MVGR4'.
  l_fieldcat_s-seltext_m '物料组4'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'MVGR5'.
  l_fieldcat_s-seltext_m '物料组5'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'AUFNR'.
  l_fieldcat_s-seltext_m '内部订单'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'ATEXT'.
  l_fieldcat_s-seltext_m '项目名称'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'GTEXT'.
  l_fieldcat_s-seltext_m '物料长文本描述'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'WBSTA'.
  l_fieldcat_s-seltext_m '出货状态'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'FKSTA'.
  l_fieldcat_s-seltext_m '开票状态'.
  append l_fieldcat_s to p_g_fieldcat_t.

      clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'INCO1'.
  l_fieldcat_s-seltext_m '国际贸易条件1'.
  append l_fieldcat_s to p_g_fieldcat_t.

  clear l_fieldcat_s.
  l_fieldcat_s-fieldname 'INCO2'.
  l_fieldcat_s-seltext_m '国际贸易条件2'.
  append l_fieldcat_s to p_g_fieldcat_t.

endform .                    "DISPLAYCATALOG_MERGE
*&---------------------------------------------------------------------*
*&      Form  SEL_INIT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
form sel_init .
  if p_auart1 ne 'X' and  p_auart2 ne 'X' and  p_auart3 ne 'X'.
    message '请选择销售订单类型!' type 'E'.
  endif.

  s_auart-option 'EQ'.
  s_auart-sign   'I'.
  if p_auart1 'X'.
    s_auart-low 'ZOR'.
    append s_auart.
  endif.

  if p_auart2 'X'.
    s_auart-low 'ZKE'.
    append s_auart.
  endif.

  if p_auart3 'X'.
    s_auart-low 'ZBW'.
    append s_auart.
  endif.
endform.                    " SEL_INIT
请使用浏览器的分享功能分享到微信等