*&---------------------------------------------------------------------*
*& Report ZMMF001
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zmmf001.
INCLUDE zmmf001_top.
INCLUDE zmmf001_scr.
INCLUDE zmmf001_frm.
START-OF-SELECTION .
PERFORM frm_radio_btn .
PERFORM frm_get_data .
PERFORM frm_process_data.
PERFORM frm_display_data.
*&---------------------------------------------------------------------*
*& 包含 ZMMF001_TOP
*&---------------------------------------------------------------------*
*采购订单抬头: EKKO
*采购订单行项目: EKPO
*采购订单行项目条件(含税单价): PRCD_ELEMENTS
*供应商基本数据:BUT000
*供应商采购组织数据:LFM1
*前面查看事务代码:采购订单ME23N、供应商主数据BP
TABLES : ekko ,lfa1 ,ekpo.
DATA: gv_bsart TYPE ekko-bsart . "凭证类型
DATA: gs_ekko TYPE ekko .
DATA: gt_ekko LIKE TABLE OF ekko .
DATA: gs_ekpo TYPE ekpo .
DATA: gt_ekpo LIKE TABLE OF ekpo .
*DATA: BEGIN OF GS_OUT ,
* EBELN TYPE EKKO-EBELN, " 凭证编号
* BEDAT TYPE EKKO-BEDAT, "凭证日期
* LIFNR TYPE LFA1-LIFNR , "供应商编号
* NAME1 TYPE LFA1-NAME1 , "供应商名称
* MARK ,
* END OF GS_OUT .
DATA: BEGIN OF gs_out .
INCLUDE STRUCTURE zmms001_head .
DATA: mark .
DATA: END OF gs_out .
DATA: BEGIN OF gs_ekkn ,
ebeln TYPE ekkn-ebeln, "凭证编号
ebelp TYPE ekkn-ebelp, "序号
aufnr TYPE ekkn-aufnr,
kostl LIKE ekkn-kostl, " 成本中心
anln1 LIKE ekkn-anln1 , " 资产编号
END OF gs_ekkn .
DATA gt_ekkn LIKE TABLE OF gs_ekkn .
DATA: gv_zbz_h TYPE zbz_h .
DATA: BEGIN OF gs_eban ,
banfn LIKE eban-banfn, "采购申请号
bnfpo LIKE eban-bnfpo, "行项目
ebeln LIKE eban-ebeln, "采购单号
ebelp LIKE eban-ebelp, "采购单行项目
END OF gs_eban .
DATA gt_eban LIKE TABLE OF gs_eban .
DATA: BEGIN OF gs_prcd ,
knumv TYPE prcd_elements-knumv,
kposn TYPE prcd_elements-kposn,
kbetr TYPE prcd_elements-kbetr,
kpein TYPE prcd_elements-kpein,
END OF gs_prcd .
DATA: gt_prcd LIKE TABLE OF gs_prcd . " 取含税价格
DATA: gt_prcd2 LIKE TABLE OF gs_prcd . "取税率
DATA: gs_zmms001_head TYPE zmms001_head.
DATA: gt_zmms001_head LIKE TABLE OF zmms001_head .
DATA: gs_zmms001_item TYPE zmms001_item .
DATA: gt_zmms001_item LIKE TABLE OF zmms001_item .
DATA lt_zmms001_item LIKE TABLE OF zmms001_item .
DATA: gt_out LIKE TABLE OF gs_out .
DATA: gv_order_type TYPE string . " 订单类型
DATA: gv_ver TYPE c LENGTH 4 . "版本
*DATA: BEGIN OF gs_ekkn,
* ebeln LIKE ekkn-ebeln, "凭证编号
* ebelp LIKE ekkn-ebelp, "序号
* kostl LIKE ekkn-kostl, " 成本中心
* END OF gs_ekkn .
DATA: BEGIN OF gs_cskt ,
kostl LIKE cskt-kostl, " 成本中心
ktext LIKE cskt-ktext , "部门
END OF gs_cskt .
DATA: gt_cskt LIKE TABLE OF gs_cskt .
DATA: BEGIN OF gs_aufk ,
aufnr LIKE aufk-aufnr , " 工单号
ktext LIKE aufk-ktext , " 模号
END OF gs_aufk .
DATA: gt_aufk LIKE TABLE OF gs_aufk.
DATA: BEGIN OF gs_anlz ,
anln1 LIKE anlz-anln1 , "资产编号
kostl LIKE anlz-kostl, "成本中心
END OF gs_anlz .
DATA: gt_anlz LIKE TABLE OF gs_anlz .
" 获取打印次数
DATA: gs_zmmt001p LIKE zmmt001p .
DATA: gt_zmmt001p LIKE TABLE OF gs_zmmt001p .
DATA: gt_fieldcat TYPE TABLE OF slis_fieldcat_alv.
DATA: gs_fieldcat TYPE slis_fieldcat_alv.
DATA: gs_layout TYPE slis_layout_alv .
DATA: g_fm_name TYPE rs38l_fnam.
DATA: gw_options TYPE ssfcompop,
gw_control TYPE ssfctrlop.
*&---------------------------------------------------------------------*
*& 包含 ZMMF001_SCR
*&---------------------------------------------------------------------*
SELECT-OPTIONS s_ekorg FOR ekko-ekorg OBLIGATORY . "
SELECT-OPTIONS p_ebeln FOR ekko-ebeln .
SELECT-OPTIONS p_bedat FOR ekko-bedat .
SELECT-OPTIONS p_lifnr FOR lfa1-lifnr.
SELECT-OPTIONS p_ernam FOR ekko-ernam .
PARAMETERS : r_1 RADIOBUTTON GROUP g1 .
PARAMETERS : r_2 RADIOBUTTON GROUP g1 .
PARAMETERS : r_3 RADIOBUTTON GROUP g1 .
PARAMETERS : r_4 RADIOBUTTON GROUP g1 .
PARAMETERS : r_5 RADIOBUTTON GROUP g1 .
PARAMETERS : r_6 RADIOBUTTON GROUP g1 .
PARAMETERS : r_7 RADIOBUTTON GROUP g1 .
* cb_01 AS CHECKBOX DEFAULT 'X',
*PARAMETERS: cb_1 AS CHECKBOX .
*&---------------------------------------------------------------------*
*& 包含 ZMMF001_FRM
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form FRM_GET_DATA
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM frm_get_data .
SELECT a~ebeln "采购编号
a~bedat "采购日期
a~lifnr " 供应商编码
b~name_org1 " 供应名称
c~telf1 " 电话
a~waers " 货币码
b~bu_sort1 "供应商类别
a~bsart "订单类型
c~verkf " 联络人
a~zterm " 付款条件代码
d~text1 "付款条件名称
a~knumv "凭证条件号 主要指价格
a~ernam " 创建人
INTO CORRESPONDING FIELDS OF TABLE gt_out
FROM ekko AS a
INNER JOIN but000 AS b ON a~lifnr = b~partner
INNER JOIN lfm1 AS c ON b~partner = c~lifnr AND a~ekorg = c~ekorg
INNER JOIN t052u AS d ON a~zterm = d~zterm AND d~spras EQ '1'
WHERE a~bsart = gv_bsart "凭证类型 选择界面获取
AND a~ernam IN p_ernam
AND a~lifnr IN p_lifnr
AND a~ebeln IN p_ebeln
AND a~bedat IN p_bedat
AND a~memory EQ space
AND a~ekorg IN s_ekorg . "排除暂存订单
IF r_7 EQ 'X' . "转储订单
SELECT a~ebeln "采购编号
a~bedat "采购日期
a~lifnr " 供应商编码
* b~name_org1 " 供应名称
* c~telf1 " 电话
a~waers " 货币码
* b~bu_sort1 "供应商类别
a~bsart "订单类型
* c~verkf " 联络人
a~zterm