Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Alv report

Former Member
0 Likes
580

I have to generate the alv report in following format.Please guide me.

How can i display the particulars horizontally?

Particulars Current Year 1st Previous Year 2nd Previous Year

1. Land & Building

2. Plant & Machinery

3. Staff quarters and colony

4. Others

5. Total Amount =SUM(Above) =SUM(Above) =SUM(Above)

6. Amount capitalized / deferred during the year NIL NIL NIL

7. Net Amount (5-6)

8. Deferred amount of earlier years, if any NIL NIL NIL

9. Total amount provided in the cost records (7+8)

I have to generate the alv report in following format.Please guide me.

How can i display the particulars horizontally?

Particulars Current Year 1st Previous Year 2nd Previous Year

1. Land & Building

2. Plant & Machinery

3. Staff quarters and colony

4. Others

5. Total Amount =SUM(Above) =SUM(Above) =SUM(Above)

6. Amount capitalized / deferred during the year NIL NIL NIL

7. Net Amount (5-6)

8. Deferred amount of earlier years, if any NIL NIL NIL

9. Total amount provided in the cost records (7+8)

3 REPLIES 3
Read only

Former Member
0 Likes
553

TYPE-POOLS: slis.

DATA: i_qmel LIKE qmel OCCURS 0.

data v_repid type repid.

SELECT * FROM qmel INTO TABLE i_qmel.

v_repid = sy-repid.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = v_repid

I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

i_structure_name = 'QMEL'

TABLES

t_outtab = i_qmel

EXCEPTIONS

program_error = 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.

form set_pf_status using rt_extab type slis_t_extab.

set pf-status 'TEST'.

endform.

FORM user_command USING ucomm LIKE sy-ucomm

selfield TYPE slis_selfield.

data lv_ucomm type sy-ucomm.

lv_ucomm

= sy-ucomm.

CASE lv_ucomm.

WHEN 'BUTTON'. "Double Click line Item

**Write ur functinality here

endcase.

endform.

Also have a look at below links.

http://www.sap-basis-abap.com/abap/add-button-to-alv-toolbar-with-reuse-alv-list-display.htm

Read only

Former Member
0 Likes
553

hi Vishal,

Try this part of code ..it might give you some idea..

*****************************************************************************

data: gt_list_top_of_page type slis_t_listheader. " Top of page text.

Initialization.

perform comment_build using gt_list_top_of_page[].

form top_of_page.

  • Note to self: the gif must be loaded into transaction OAOR with

  • classname 'PICTURES' AND TYPE 'OT' to work with ALV GRID Functions.

  • I Loaded NOVALOGO2 into system.

call function 'REUSE_ALV_COMMENTARY_WRITE'

exporting

  • I_LOGO = 'NOVALOGO2'

  • i_logo = 'ENJOYSAP_LOGO'

it_list_commentary = gt_list_top_of_page.

endform. " TOP_OF_PAGE

form comment_build using e04_lt_top_of_page type slis_t_listheader.

data: ls_line type slis_listheader.

clear ls_line.

ls_line-typ = 'A'.

ls_line-info = 'Special'(001).

fgrant = xgrant.

concatenate ls_line-info fgrant

'Stock Option Report to the board'(002)

into ls_line-info separated by space.

condense ls_line-info.

append ls_line to e04_lt_top_of_page.

endform. " COMMENT_BUILD

Use following syntex for footer print in alv:

  • For End of Page

form END_OF_PAGE.

data: listwidth type i,

ld_pagepos(10) type c,

ld_page(10) type c.

write: sy-uline(50).

skip.

write:/40 'Page:', sy-pagno .

endform.

  • For End of Report

form END_OF_LIST.

data: listwidth type i,

ld_pagepos(10) type c,

ld_page(10) type c.

skip.

write:/40 'Page:', sy-pagno .

endform.

***********************************************************

<b>Sample Code 2.</b>

  • Type-pools

TYPE-POOLS: slis.

  • Data declarations.

DATA: BEGIN OF t_vbak OCCURS 0,

vbeln TYPE vbeln,

bstnk TYPE vbak-bstnk,

erdat TYPE vbak-erdat,

kunnr TYPE vbak-kunnr,

END OF t_vbak.

DATA: BEGIN OF t_vbap OCCURS 0,

vbeln TYPE vbeln,

matnr TYPE vbap-matnr,

netpr TYPE vbap-netpr,

waerk TYPE vbap-waerk,

kwmeng TYPE vbap-kwmeng,

meins TYPE vbap-meins,

END OF t_vbap.

DATA: t_fieldcatalog1 TYPE slis_t_fieldcat_alv.

DATA: t_fieldcatalog2 TYPE slis_t_fieldcat_alv.

DATA: v_repid TYPE syrepid.

DATA: s_layout TYPE slis_layout_alv.

DATA: v_tabname TYPE slis_tabname.

DATA: t_events TYPE slis_t_event.

  • start-of-selection event.

START-OF-SELECTION.

v_repid = sy-repid.

  • Get the fieldcatalog for the first block

PERFORM get_fieldcat1 CHANGING t_fieldcatalog1.

  • Get the fieldcatalog for the second block

PERFORM get_fieldcat2 CHANGING t_fieldcatalog2.

  • Get the data for the first block

SELECT vbeln bstnk erdat kunnr UP TO 10 ROWS

INTO TABLE t_vbak

FROM vbak WHERE vbeln > '0060000100'.

  • Get the data for the second block

SELECT vbeln matnr netpr waerk kwmeng meins UP TO 10

ROWS

INTO TABLE t_vbap

FROM vbap WHERE vbeln > '0060000100'.

  • init

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'

EXPORTING

i_callback_program = v_repid.

  • First block

v_tabname = 'ITAB1'.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

is_layout = s_layout

it_fieldcat = t_fieldcatalog1

i_tabname = v_tabname

it_events = t_events

TABLES

t_outtab = t_vbak.

  • Second block

v_tabname = 'ITAB2'.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

is_layout = s_layout

it_fieldcat = t_fieldcatalog2

i_tabname = v_tabname

it_events = t_events

TABLES

t_outtab = t_vbap.

*Display

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'

.

----


  • FORM GET_FIELDCAT1

*

----


  • Get the field catalog for the first block

*

----


FORM get_fieldcat1 CHANGING lt_fieldcatalog TYPE

slis_t_fieldcat_alv.

DATA: s_fieldcatalog TYPE slis_fieldcat_alv.

  • Order number

s_fieldcatalog-col_pos = '1'.

s_fieldcatalog-fieldname = 'VBELN'.

s_fieldcatalog-tabname = 'T_VBAK'.

s_fieldcatalog-ref_tabname = 'VBAK'.

s_fieldcatalog-ref_fieldname = 'VBELN'.

APPEND s_fieldcatalog TO lt_fieldcatalog.

CLEAR s_fieldcatalog.

  • Customer purchase order.

s_fieldcatalog-col_pos = '2'.

s_fieldcatalog-fieldname = 'BSTNK'.

s_fieldcatalog-tabname = 'T_VBAK'.

s_fieldcatalog-ref_tabname = 'VBAK'.

s_fieldcatalog-ref_fieldname = 'BSTNK'.

APPEND s_fieldcatalog TO lt_fieldcatalog.

CLEAR s_fieldcatalog.

  • Creation date.

s_fieldcatalog-col_pos = '3'.

s_fieldcatalog-fieldname = 'ERDAT'.

s_fieldcatalog-tabname = 'T_VBAK'.

s_fieldcatalog-ref_tabname = 'VBAK'.

s_fieldcatalog-ref_fieldname = 'ERDAT'.

APPEND s_fieldcatalog TO lt_fieldcatalog.

CLEAR s_fieldcatalog.

  • Customer

s_fieldcatalog-col_pos = '4'.

s_fieldcatalog-fieldname = 'KUNNR'.

s_fieldcatalog-tabname = 'T_VBAK'.

s_fieldcatalog-ref_tabname = 'VBAK'.

s_fieldcatalog-ref_fieldname = 'KUNNR'.

APPEND s_fieldcatalog TO lt_fieldcatalog.

CLEAR s_fieldcatalog.

ENDFORM.

----


  • FORM GET_FIELDCAT2

*

----


  • Get the field catalog for the second block

*

----


FORM get_fieldcat2 CHANGING lt_fieldcatalog TYPE

slis_t_fieldcat_alv.

DATA: s_fieldcatalog TYPE slis_fieldcat_alv.

  • Order number

s_fieldcatalog-col_pos = '1'.

s_fieldcatalog-fieldname = 'VBELN'.

s_fieldcatalog-tabname = 'T_VBAP'.

s_fieldcatalog-ref_tabname = 'VBAP'.

s_fieldcatalog-ref_fieldname = 'VBELN'.

APPEND s_fieldcatalog TO lt_fieldcatalog.

CLEAR s_fieldcatalog.

  • Material number

s_fieldcatalog-col_pos = '2'.

s_fieldcatalog-fieldname = 'MATNR'.

s_fieldcatalog-tabname = 'T_VBAP'.

s_fieldcatalog-ref_tabname = 'VBAP'.

s_fieldcatalog-ref_fieldname = 'MATNR'.

APPEND s_fieldcatalog TO lt_fieldcatalog.

CLEAR s_fieldcatalog.

  • Net price

s_fieldcatalog-col_pos = '3'.

s_fieldcatalog-fieldname = 'NETPR'.

s_fieldcatalog-tabname = 'T_VBAP'.

s_fieldcatalog-ref_tabname = 'VBAP'.

s_fieldcatalog-ref_fieldname = 'NETPR'.

s_fieldcatalog-cfieldname = 'WAERK'.

s_fieldcatalog-ctabname = 'T_VBAP'.

APPEND s_fieldcatalog TO lt_fieldcatalog.

CLEAR s_fieldcatalog.

  • Currency.

s_fieldcatalog-col_pos = '4'.

s_fieldcatalog-fieldname = 'WAERK'.

s_fieldcatalog-tabname = 'T_VBAP'.

s_fieldcatalog-ref_tabname = 'VBAP'.

s_fieldcatalog-ref_fieldname = 'WAERK'.

APPEND s_fieldcatalog TO lt_fieldcatalog.

CLEAR s_fieldcatalog.

  • Quantity

s_fieldcatalog-col_pos = '5'.

s_fieldcatalog-fieldname = 'KWMENG'.

s_fieldcatalog-tabname = 'T_VBAP'.

s_fieldcatalog-ref_tabname = 'VBAP'.

s_fieldcatalog-ref_fieldname = 'KWMENG'.

s_fieldcatalog-qfieldname = 'MEINS'.

s_fieldcatalog-qtabname = 'T_VBAP'.

APPEND s_fieldcatalog TO lt_fieldcatalog.

CLEAR s_fieldcatalog.

  • UOM

s_fieldcatalog-col_pos = '6'.

s_fieldcatalog-fieldname = 'MEINS'.

s_fieldcatalog-tabname = 'T_VBAP'.

s_fieldcatalog-ref_tabname = 'VBAP'.

s_fieldcatalog-ref_fieldname = 'MEINS'.

APPEND s_fieldcatalog TO lt_fieldcatalog.

CLEAR s_fieldcatalog.

ENDFORM.

Plz reward ponits if answer is useful...

Regards,

Mandeep.

Read only

Former Member
0 Likes
553

t