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 grid coding....problems

Former Member
0 Likes
694

tables: zfm_handy, pa0002

zfm_handy table contains 19 fields and the other table contains two fields(nachn, vorna) the output list has to be a alv grid list.

condition: plz read the fields nachn and vorna from the table pa0002 and list it in the output along with zfm_handy fields.

here i m enclosing coding what i have written but i m not getting output and the statement read is not executed.plz sent the modifications.

REPORT ZFM_MOBLIST.

TABLES: ZFM_HANDY , PA0002.

TYPE-POOLS : SLIS.

DATA: G_REPID LIKE SY-REPID,

GS_PRINT TYPE SLIS_PRINT_ALV,

GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,

GT_LIST_END_OF_PAGE TYPE SLIS_T_LISTHEADER,

GT_EVENTS TYPE SLIS_T_EVENT,

GT_SORT TYPE SLIS_T_SORTINFO_ALV,

GS_LAYOUT TYPE SLIS_LAYOUT_ALV,

GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

FIELDCAT_LN LIKE LINE OF GT_FIELDCAT,

COL_POS TYPE I.

data : BEGIN OF ty_MOBLIST occurs 0.

include structure zfm_handy.

data : NACHN type pa0002-nachn,

VORNA type pa0002-vorna,

END OF ty_MOBLIST.

data : BEGIN OF ty_zfm_handy occurs 0.

include structure zfm_handy.

data : END OF ty_zfm_handy.

data : BEGIN OF ty_pa0002 occurs 0,

NACHN type pa0002-nachn,

VORNA type pa0002-vorna,

END OF ty_pa0002.

data : it_MOBLIST like table of ty_MOBLIST,

wa_MOBLIST like ty_MOBLIST ,

it_zfm_handy like table of ty_zfm_handy,

wa_zfm_handy like ty_zfm_handy ,

it_pa0002 like table of ty_pa0002,

wa_pa0002 like ty_pa0002 .

INITIALIZATION.

G_REPID = SY-REPID.

PERFORM PRINT_BUILD USING GS_PRINT. "Print PARAMETERS

START-OF-SELECTION.

SELECT * from

zfm_handy

into table it_zfm_handy.

if not it_zfm_handy[] is initial.

select NACHN

VORNA

from pa0002

into table it_pa0002

for all entries in it_zfm_handy

where pernr = it_zfm_handy-pernr.

endif. " not it_zfm_handy

loop at it_zfm_handy into wa_zfm_handy.

read table it_pa0002 into wa_pa0002 with key pernr = wa_zfm_handy-pernr.

if sy-subrc = 0.

clear wa_MOBLIST.

move wa_zfm_handy to wa_MOBLIST.

move wa_pa0002 to wa_MOBLIST.

append wa_MOBLIST to it_MOBLIST .

endif. " sy-subrc

endloop.

PERFORM BUILD.

PERFORM EVENTTAB_BUILD CHANGING GT_EVENTS.

PERFORM COMMENT_BUILD CHANGING GT_LIST_TOP_OF_PAGE.

PERFORM CALL_ALV.

&----


*& Form BUILD

&----


FORM BUILD.

  • DATA FIELD CATALOG

  • Explain Field Description to ALV

DATA: FIELDCAT_IN TYPE SLIS_FIELDCAT_ALV.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'TELNUM'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'TELNUM'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'KARTNR'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'KARTNR'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'ZUTART'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'ZUTART'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'PERNR'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'PERNR'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'ZDATE'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'ZDATE'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'PINNR'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'PINNR'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'PUKNR'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'PUKNR'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'TARIF1'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'TARIF1'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'TARIF2'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'TARIF2'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'TARIF3'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'TARIF3'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'GTYPE'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'GTYPE'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'IMEI'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'IMEI'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'TWINCARD'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'TWINCARD'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'TWINBILL'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'TWINBILL'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'EINBAU'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'EINBAU'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'BESCHAR'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'BESCHR'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'TEXT1'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'TEXT1'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'TEXT2'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'TEXT2'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'TEXT3'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'TEXT3'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'NACHN'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'NACHN'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_IN.

FIELDCAT_LN-FIELDNAME = 'VORNA'.

FIELDCAT_LN-TABNAME = 'ty_moblist'.

FIELDCAT_LN-NO_OUT = ' '.

FIELDCAT_LN-SELTEXT_L = 'VORNA'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

  • DATA SORTING

DATA: GS_SORT TYPE SLIS_SORTINFO_ALV.

CLEAR GS_SORT.

GS_SORT-FIELDNAME = 'TELNUM'.

GS_SORT-SPOS = 1.

GS_SORT-UP = 'X'.

  • GS_SORT-SUBTOT = 'X'.

APPEND GS_SORT TO GT_SORT.

  • CLEAR GS_SORT.

  • GS_SORT-FIELDNAME = 'KARTNR'.

  • GS_SORT-SPOS = 2.

  • GS_SORT-UP = 'X'.

*GS_SORT-SUBTOT = 'X'.

APPEND GS_SORT TO GT_SORT.

ENDFORM. "BUILD

&----


*& Form CALL_ALV

&----


FORM CALL_ALV.

  • ABAP List Viewer

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = G_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_STRUCTURE_NAME = 'ITAB1'

IS_LAYOUT = GS_LAYOUT

IT_FIELDCAT = GT_FIELDCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

IT_SORT = GT_SORT

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = GT_EVENTS

  • IT_EVENT_EXIT =

IS_PRINT = GS_PRINT

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_HYPERLINK =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = ty_moblist

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2.

ENDFORM. "CALL_ALV

  • HEADER FORM

FORM EVENTTAB_BUILD CHANGING LT_EVENTS TYPE SLIS_T_EVENT.

CONSTANTS:

GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',

GC_FORMNAME_END_OF_PAGE TYPE SLIS_FORMNAME VALUE 'END_OF_PAGE'.

DATA: LS_EVENT TYPE SLIS_ALV_EVENT.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = LT_EVENTS.

READ TABLE LT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE

INTO LS_EVENT.

IF SY-SUBRC = 0.

MOVE GC_FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.

APPEND LS_EVENT TO LT_EVENTS.

ENDIF.

  • define END_OF_PAGE event

READ TABLE LT_EVENTS WITH KEY NAME = SLIS_EV_END_OF_PAGE

INTO LS_EVENT.

IF SY-SUBRC = 0.

MOVE GC_FORMNAME_END_OF_PAGE TO LS_EVENT-FORM.

APPEND LS_EVENT TO LT_EVENTS.

ENDIF.

ENDFORM. "EVENTTAB_BUILD

*& Form COMMENT_BUILD

&----


FORM COMMENT_BUILD CHANGING GT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.

DATA: GS_LINE TYPE SLIS_LISTHEADER.

data: today_date(10) type c.

concatenate

sy-datum+6(2) '.'

sy-datum+4(2) '.'

sy-datum(4) into today_date.

CLEAR GS_LINE.

GS_LINE-TYP = 'H'.

GS_LINE-INFO = 'MOBLIST DETAILS'.

APPEND GS_LINE TO GT_TOP_OF_PAGE.

CLEAR GS_LINE.

GS_LINE-TYP = 'S'.

GS_LINE-KEY = 'Date:'.

GS_LINE-INFO = today_date.

APPEND GS_LINE TO GT_TOP_OF_PAGE.

  • GS_LINE-KEY = 'User:'.

  • GS_LINE-INFO = sy-uname.

APPEND GS_LINE TO GT_TOP_OF_PAGE.

*

**

CLEAR GS_LINE.

GS_LINE-TYP = 'A'.

GS_LINE-INFO = 'ACTION'.

APPEND GS_LINE TO GT_TOP_OF_PAGE.

ENDFORM. "COMMENT_BUILD

&----


*& Form TOP_OF_PAGE

&----


FORM TOP_OF_PAGE.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.

WRITE: SY-DATUM, 'Page No', SY-PAGNO RIGHT-JUSTIFIED.

ENDFORM. "TOP_OF_PAGE

&----


*& Form END_OF_PAGE

&----


FORM END_OF_PAGE.

WRITE: /.

WRITE at (sy-linsz) sy-pagno CENTERED.

ENDFORM. "END_OF_PAGE

  • ### PRINT SETTINGS

FORM PRINT_BUILD USING LS_PRINT TYPE SLIS_PRINT_ALV.

LS_PRINT-PRINT = ' '. "PRINT IMMEDIATE

LS_PRINT-NO_PRINT_SELINFOS = 'X'. "NO SELECTION INFO

LS_PRINT-NO_COVERPAGE = ' '. "NO COVER PAGE

LS_PRINT-NO_NEW_PAGE = ' '. "NO NEW PAGE

LS_PRINT-NO_PRINT_LISTINFOS = 'X'. "NO PRINT LIST INFO

LS_PRINT-RESERVE_LINES = 2. " FOOTERLINE

ENDFORM. "PRINT_BUILD

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
662

Hi,

You are populating the internal table it_MOBLIST..But in the ALV you are using some other internal table..

IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = <b>it_moblist</b>

THanks,

Naren

5 REPLIES 5
Read only

Former Member
0 Likes
662

Hi Narendra,

ALV uses only one final table for processing.

So go and populate the data into one internal table and pass that internal table into the ALV.

This will definatly works,

------ Reward point if it works----


Read only

Former Member
0 Likes
662

Hi,

Did you check if there is any record in the table pa0002 for the corresponding entry in the table ZFM_HANDY??

Thanks,

Naren

Read only

Former Member
0 Likes
662

Your it_pa0002 has the following structure and i dont see PERNR in this. How come you are able to use PERNR in your READ?

data : BEGIN OF ty_pa0002 occurs 0,

NACHN type pa0002-nachn,

VORNA type pa0002-vorna,

END OF ty_pa0002.

Thanks,

Santosh

Read only

0 Likes
662

hi mr.santhosh,

thanks for u r reply

plz send the code for these logic

Read only

Former Member
0 Likes
663

Hi,

You are populating the internal table it_MOBLIST..But in the ALV you are using some other internal table..

IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = <b>it_moblist</b>

THanks,

Naren