Hi All,
I want to create an ALV of termination and resignation data, data will be fetch from PA0000,
I want to create ALV for 12months and at end there will be a column which contain total for every month
Below is my code, can you please suggest query for that I will create fieldcatalogue
*&---------------------------------------------------------------------*
*& Report testreport.
*&
*&---------------------------------------------------------------------*
*& Developed by: test
*& Dated: 02-10-2012
*&---------------------------------------------------------------------*
REPORT test.
TABLES: PA0000.
TYPES: SLIS.
type-pools: slis. "ALV Declarations
DATA pve_year.
INCLUDE ZHEMAYA_ALV_INCLUDE.
*Data Declaration
*----------------
TYPES: BEGIN OF PRTAB,
YEAR TYPE pve_year,
JAN TYPE i,
FEB TYPE i,
MAR TYPE i,
APR TYPE i,
MAY TYPE i,
JUN TYPE i,
JUL TYPE i,
AUG TYPE i,
SEP TYPE i,
OCT TYPE i,
NOV TYPE i,
DEC TYPE i,
TOT TYPE i,
END OF PRTAB.
DATA : IT_PRTAB TYPE STANDARD TABLE OF PRTAB WITH HEADER LINE,
wa_PRTAB TYPE PRTAB.
Data: SNO TYPE int4. "s#
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-002 .
SELECT-OPTIONS: vYEAR FOR pve_year, " OBLIGATORY MEMORY ID R_EBELN.
MASSG FOR PA0000-MASSG.
SELECTION-SCREEN END OF BLOCK B1.
**PERFORM DECLARATIONS
START-OF-SELECTION.
PERFORM Get_Data.
PERFORM DISPLAY_DATA.
*&---------------------------------------------------------------------*
*& Form Get_Data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM Get_Data .
*DATA: BEGIN OF LINES OCCURS 50.
* INCLUDE STRUCTURE TLINE.
*DATA: END OF LINES.
*
*DATA: P_LIFNR TYPE LFA1-LIFNR,
* P_NAME1 TYPE LFA1-NAME1,
* P_EBELN TYPE EKKO-EBELN,
* P_BANFN TYPE EBAN-BANFN,
* VTENDTY(20) TYPE C.
*
*DATA: l_t_tendtyp TYPE STANDARD TABLE OF dd07v WITH HEADER LINE..
*
* SELECT BANFN ZZTENDERTYPE as ZTENDTYP SUM( PREIS ) AS PREIS "MENGE
* INTO CORRESPONDING FIELDS OF TABLE IT_PRTAB
* FROM EBAN
* WHERE BANFN IN vBANFN AND ZZTENDERTYPE IN ZTENDTYP
* GROUP BY BANFN ZZTENDERTYPE. "AND GJAHR = vGJAHR .
*
* Sno = 0.
* LOOP AT IT_PRTAB.
*************************************************************
* CALL FUNCTION 'GET_DOMAIN_VALUES' "Read data from domain
* EXPORTING
* domname = 'ZTENDER_TYPE'
* TABLES
* values_tab = l_t_tendtyp
* EXCEPTIONS
* no_values_found = 1
* OTHERS = 2.
* IF sy-subrc <> 0.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
* ENDIF.
* LOOP AT l_t_tendtyp .
* IF l_t_tendtyp-DOMVALUE_L = IT_PRTAB-ZTENDTYP.
* VTENDTY = l_t_tendtyp-DDTEXT.
* ENDIF.
* ENDLOOP.
*************************************************************
*
* SELECT BANFN EBELN
* INTO CORRESPONDING FIELDS OF TABLE IT_PRTAB_D
* FROM M_MEKKE
* WHERE BANFN = IT_PRTAB-BANFN AND EBELN LIKE '6%' .
*
* LOOP AT IT_PRTAB_D.
* SELECT SINGLE a~LIFNR b~name1
* INTO (P_LIFNR,P_NAME1)
* FROM EKKO AS a
* INNER JOIN lfa1 AS b
* ON a~lifnr = b~lifnr
* WHERE a~EBELN = IT_PRTAB_D-EBELN.
*
* SELECT SINGLE EBELN
* INTO P_EBELN
* FROM M_MEKKE
* WHERE BANFN = IT_PRTAB-BANFN AND ( EBELN LIKE '4%' OR EBELN LIKE '5%' ).
* IF SY-SUBRC = 0.
* MOVE 'Completed' TO IT_PRTAB_SUM-STATUS.
* ELSE.
* MOVE 'Inprogress' TO IT_PRTAB_SUM-STATUS.
* ENDIF.
* IF VTENDTY = ''.
* MOVE 'Direct Purchase' TO IT_PRTAB_SUM-STATUS.
* ENDIF.
* Sno = Sno + 1 .
*
* MOVE SNO TO IT_PRTAB_SUM-SNO.
*
* IF IT_PRTAB-BANFN = P_BANFN.
* MOVE '' TO IT_PRTAB_SUM-TENDTY.
* MOVE '' TO IT_PRTAB_SUM-BANFN.
* MOVE '' TO IT_PRTAB_SUM-STATUS.
* ELSE.
* MOVE VTENDTY TO IT_PRTAB_SUM-TENDTY.
* MOVE IT_PRTAB-BANFN TO IT_PRTAB_SUM-BANFN.
* ENDIF.
*
* MOVE IT_PRTAB-PREIS TO IT_PRTAB_SUM-PREIS.
* MOVE IT_PRTAB_D-EBELN TO IT_PRTAB_SUM-EBELN.
* MOVE P_LIFNR TO IT_PRTAB_SUM-LIFNR.
* MOVE P_NAME1 TO IT_PRTAB_SUM-NAME1.
* MOVE IT_PRTAB-BANFN TO P_BANFN.
*
* APPEND IT_PRTab_SUM.
*
* ENDLOOP.
* ENDLOOP.
ENDFORM. " Get_Data
FORM DISPLAY_DATA.
DATA : WA_PRTab TYPE TABLE OF PRTAB,
VHEAD(100) TYPE C,
Ldate(10) type c,
Hdate(10) type c,
Period(2) Type n.
APPEND LINES OF IT_PRTab TO WA_PRTab.
* CONCATENATE FROMDATE+6(2) '.' FROMDATE+4(2)'.' FROMDATE(4) INTO ldate.
* CONCATENATE TODATE+6(2) '.' TODATE+4(2)'.' TODATE(4) INTO hdate.
* Period = ( VPERIOD-HIGH - VPERIOD-LOW ) + 1.
* CONCATENATE TEXT-008 ldate TEXT-009 hdate INTO vHEAD SEPARATED BY space.
* CONCATENATE TEXT-008 Period TEXT-009 hdate INTO vHEAD SEPARATED BY space.
PERFORM fill_fieldcat USING 'TENDTY' 15 TEXT-001 'WA_PRTab_SUM'.
PERFORM fill_fieldcat USING 'BANFN' 10 TEXT-002 'WA_PRTab_SUM'.
PERFORM fill_fieldcat USING 'PREIS' 13 TEXT-003 'WA_PRTab_SUM'.
PERFORM fill_fieldcat USING 'EBELN' 10 TEXT-004 'WA_PRTab_SUM'.
PERFORM fill_fieldcat USING 'NAME1' 30 TEXT-005 'WA_PRTab_SUM'.
PERFORM fill_fieldcat USING 'STATUS' 20 TEXT-006 'WA_PRTab_SUM'.
PERFORM add_heading_alv USING c_alv_head_header '' TEXT-010.
* PERFORM add_heading_alv USING c_alv_head_header '' TEXT-002.
* PERFORM add_heading_alv USING c_alv_head_selection '' vHEAD.
* CASE SY-LANGU.
* WHEN 'A'. " ARABIC VERSION
* PERFORM add_heading_alv USING c_alv_head_header '' TEXT-010.
* PERFORM add_heading_alv USING c_alv_head_selection '' vHEAD.
* WHEN OTHERS.
* PERFORM add_heading_alv USING c_alv_head_header '' TEXT-005.
* CLEAR vHEAD.
* CONCATENATE 'As On' ':' vdate INTO vHEAD SEPARATED BY space.
* PERFORM add_heading_alv USING c_alv_head_selection '' vHEAD.
*
* ENDCASE.
PERFORM display_alv USING WA_PRTab[].
ENDFORM. "DISPLAY_DATA