Skip to Content
0
Former Member
Dec 06, 2006 at 02:59 PM

help for asset aqusition report

52 Views

hi,

here i am sending my code for asset aqusition report but not getting right output ie i am not able to get all the line items for particular asset no.

bcoz an asset has different line items with different doc no.

REPORT XXXXXX .

TABLES : sflight.

TYPE-POOLS: slis.

DATA : w_repid LIKE sy-repid.

w_repid = sy-repid.

DATA : BEGIN OF it_sflight OCCURS 0,

checkbox(1),

carrid LIKE sflight-carrid,

END OF it_sflight.

*layout

DATA: wa_layout TYPE slis_layout_alv.

*field catalog

DATA: it_fieldcatalog TYPE slis_t_fieldcat_alv,

wa_fieldcatalog TYPE slis_fieldcat_alv.

START-OF-SELECTION.

SELECT carrid FROM sflight INTO CORRESPONDING FIELDS OF TABLE

it_sflight.

END-OF-SELECTION.

CLEAR it_fieldcatalog.

REFRESH it_fieldcatalog.

wa_fieldcatalog-fieldname = 'CHECKBOX'.

wa_fieldcatalog-outputlen = '3'.

wa_fieldcatalog-col_pos = '1'.

wa_fieldcatalog-seltext_m = 'Chk'.

wa_fieldcatalog-checkbox = 'X'.

wa_fieldcatalog-edit = 'X'.

APPEND wa_fieldcatalog TO it_fieldcatalog.

CLEAR wa_fieldcatalog.

wa_fieldcatalog-fieldname = 'CARRID'.

wa_fieldcatalog-outputlen = '10'.

wa_fieldcatalog-col_pos = '2'.

wa_fieldcatalog-seltext_m = 'Carrid'.

APPEND wa_fieldcatalog TO it_fieldcatalog.

CLEAR wa_fieldcatalog.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = w_repid

is_layout = wa_layout

i_callback_user_command = 'USER_COMMAND'

it_fieldcat = it_fieldcatalog

TABLES

t_outtab = it_sflight

EXCEPTIONS

program_error = 1

OTHERS = 2.

&----


*& Form USER_COMMAND

&----


FORM user_command USING p_ucomm TYPE sy-ucomm

p_selfld TYPE slis_selfield.

CASE p_ucomm.

WHEN '&DATA_SAVE'.

DATA ref1 TYPE REF TO cl_gui_alv_grid.

CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'

IMPORTING

e_grid = ref1.

CALL METHOD ref1->check_changed_data.

LOOP AT it_sflight WHERE checkbox = 'X'.

DELETE it_sflight INDEX sy-tabix.

ENDLOOP.

p_selfld-refresh = 'X'.

ENDCASE.

ENDFORM. "user_command

Check the following code...

DATA: BEGIN OF itab OCCURS 0,

check,

value(20),

END OF itab.

SET PF-STATUS 'TEST1'.

itab-value = 'ETSAT'.

APPEND itab.

itab-value = 'ETSATADSF'.

APPEND itab.

itab-value = 'ETSAT'.

APPEND itab.

LOOP AT itab.

WRITE: / itab-check AS CHECKBOX,

itab-value.

ENDLOOP.

AT USER-COMMAND.

DATA: wa LIKE itab.

DATA: itab_download LIKE itab OCCURS 0 WITH HEADER LINE.

IF sy-ucomm = 'DOWNLOAD'.

DESCRIBE TABLE itab.

DO sy-tfill TIMES.

READ LINE sy-index FIELD VALUE itab-check.

IF sy-subrc <> 0.

EXIT.

ENDIF.

CHECK itab-check = 'X'.

itab_download-value = itab-value.

APPEND itab_download.

ENDDO.

  • DOWNLOAD

CALL FUNCTION 'WS_DOWNLOAD'

EXPORTING

filename = 'C:\TEST.XLS '

TABLES

data_tab = itab_download.

ENDIF.

Thanks

Shobi