ABAP实例
- 格式:doc
- 大小:55.00 KB
- 文档页数:17
*&---------------------------------------------------------------------* *& Report Z_SD_R011 *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------*
REPORT Z_SD_R011. type-pools: slis,ibco2.
DATA: lt_zcabw LIKE TABLE OF zcabw WITH HEADER LINE. DATA: atbez TYPE string, tmp2 TYPE string. DATA: config TYPE ibco2_instance_tab2, con LIKE LINE OF config, vl LIKE ibvalue0. TABLES: vbak, vbap, zhlt0011, MARA, MARC, mseg.
DATA: name LIKE user_addr-name_textc. DATA: gt_fieldcat TYPE TABLE OF slis_fieldcat_alv, tmp_fieldcat TYPE TABLE OF slis_fieldcat_alv, wa_fieldcat LIKE LINE OF gt_fieldcat.
data: tmp_line type i value 0, tmp_cntr type i. data: tmp_control_parameters type SSFCTRLOP.
DATA: gs_layout TYPE slis_layout_alv. DATA: gt_list_top_of_page TYPE slis_t_listheader. DATA: REMARK LIKE zpp_sr002-REMARK, TBFS LIKE zpp_sr002-TBFS, PJYQ LIKE zpp_sr002-PJYQ, SBMS LIKE zpp_sr002-SBMS.
data: BEGIN OF T_zmseg OCCURS 0 , kdauf like mseg-kdauf, kdpos like mseg-kdpos, MENGE like mseg-MENGE, BWART like mseg-BWART, END OF T_zmseg.
DATA: BEGIN OF lt_cabn OCCURS 0, atinn LIKE cabn-atinn, atnam LIKE cabn-atnam, atbez LIKE cabnt-atbez, END OF lt_cabn.
data:BEGIN OF T_getdata OCCURS 0. include structure ZSDR011. data:END OF T_getdata .
data:BEGIN OF ITAB1 OCCURS 0. include structure ZSDR011. data:END OF ITAB1 .
data:BEGIN OF ITAB2 OCCURS 0. include structure ZSDR011. data:END OF ITAB2 .
DATA:zinstance_rec TYPE ibco2_instance_rec2, zinstance TYPE ibco2_part_of_link_rec, zvalues LIKE LINE OF zinstance_rec-values. DATA: BEGIN OF t_out OCCURS 0. INCLUDE STRUCTURE zvalues. DATA: END OF t_out.
DATA: satinn LIKE cabn-atinn, zatwtb(200) TYPE c, yatwtb(200) TYPE c, agamng TYPE i, c_gamng(15) TYPE c, satwtb(200) TYPE c, xatwtb(200) TYPE c, bzfs(30) TYPE c, i_kdpos LIKE afpo-kdpos, i_menge LIKE mseg-menge, ii_menge LIKE mseg-menge, sdsnam LIKE t024d-dsnam, atwrt LIKE cawn-atwrt.
SELECTION-SCREEN:BEGIN OF BLOCK a WITH FRAME TITLE Text-F01. SELECT-OPTIONS: SO_LABOR FOR MARA-LABOR , SO_FEVOR FOR MARC-FEVOR, S_ZFHZS FOR zhlt0011-ZFHZS, S_VBELN FOR VBAK-VBELN, S_KUNNR FOR VBAK-KUNNR, S_SPART FOR VBAK-SPART, S_AUART FOR VBAK-AUART, S_ERDAT FOR VBAK-ERDAT, S_VDATU FOR vbak-VDATU, S_MVGR2 FOR VBAP-mvgr2, D_ZDATE FOR ZHLT0011-ZDATE. SELECTION-SCREEN:END OF BLOCK a.
START-OF-SELECTION. PERFORM GET_DATA. PERFORM get_selectdata. PERFORM disposal_data. PERFORM build_alv. PERFORM display_screen. ********************************************************************** * FORM : * Created : 12.07.2007 09:09:00 ********************************************************************** FORM GET_DATA. select vbak~KUNNR vbak~BSTNK vbak~VKGRP vbap~ARKTX vbap~VGBEL vbak~VDATU vbap~KDMAT vbap~cuobj vbep~EDATU zhlt0011~vbeln zhlt0011~posnr zhlt0011~ZFHZS zhlt0011~KWMENG ZHLT0011~matnr ZHLT0011~ZDATE ZHLT0011~ORDER_QTY INTO CORRESPONDING FIELDS OF TABLE T_getdata from vbak inner join vbap on vbap~vbeln = vbak~vbeln inner join zhlt0011 on zhlt0011~vbeln = vbap~vbeln and zhlt0011~posnr = vbap~posnr INNER JOIN VBEP ON VBEP~VBELN = VBAP~VBELN AND VBEP~POSNR = VBAP~POSNR inner join VBUK on VBUK~VBELN = VBAK~VBELN inner join mara on ZHLT0011~matnr = mara~matnr inner join marc on mara~matnr = marc~matnr where zhlt0011~ZFHZS in S_ZFHZS and vbak~vbeln in S_VBELN AND vbak~kunnr in S_KUNNR AND VBAK~SPART IN S_SPART AND VBAK~AUART IN S_AUART AND VBAK~ERDAT IN S_ERDAT AND vbak~VDATU IN S_VDATU and MARA~LABOR in SO_LABOR AND vbap~mvgr2 IN S_MVGR2 AND ZHLT0011~ZDATE IN D_ZDATE AND MARC~FEVOR IN SO_FEVOR AND VBUK~LFGSK <> 'C' AND VBEP~ETENR = '1'.
select * from mseg into CORRESPONDING FIELDS OF TABLE T_zmseg where ( mseg~BWART = '601' or mseg~bwart = '602' or mseg~bwart = '653' ) order by kdauf.
SELECT SINGLE name_textc "get user name text. FROM user_addr