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 OUTPUT PROBLEM.

Former Member
0 Likes
437

here i m sending code for u r reviews.

i have two tables: pa0002, zfm_handy

i have to display alv grid by using these tables, i m getting output but the fields in the table pa0002(nachn,vorna) r not populated i m getting output for the fields those which r in the table zfm_handy only.

plz modify this code and suggest according to my requirement...

&----


*& Report ZFM_MOBLIST *

*& *

&----


*& *

*& *

&----


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:

  • t_HANDY LIKE TABLE OF ZFM_HANDY,

  • t_pa0002 like table of PA0002,

  • f_handy like line of t_handy.

*DATA : BEGIN OF I_ZFM OCCURS 0.

*INCLUDE STRUCTURE ZFM_HANDY.

*DATA : NACHN LIKE PA0002-NACHN,

  • VORNA LIKE PA0002-VORNA,

  • END OF I_ZFM.

DATA : BEGIN OF ty_MOBLIST.

include structure zfm_handy.

data: NACHN like pa0002-nachn,

VORNA like pa0002-vorna,

END OF ty_MOBLIST.

DATA : BEGIN OF ty_zfm_handy.

include structure zfm_handy.

data : END OF ty_zfm_handy.

DATA : BEGIN OF ty_pa0002,

NACHN type pa0002-nachn,

VORNA type pa0002-vorna,

pernr type pa0002-pernr,

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 .

*DATA : BEGIN OF IT_ZFM_MOBLIST OCCURS 0.

  • include structure zfm_handy.

  • data: NACHN like pa0002-nachn,

  • VORNA like pa0002-vorna,

  • END OF IT_ZFM_MOBLIST.

*

  • DATA : BEGIN OF IT_ZFM_HANDY OCCURS 0.

  • include structure zfm_handy.

  • END OF IT_ZFM_HANDY.

*

*

*DATA : BEGIN OF IT_ZFM_PA0002 OCCURS 0,

  • NACHN type pa0002-nachn,

  • VORNA type pa0002-vorna,

  • pernr type pa0002-pernr,

  • END OF IT_ZFM_PA0002.

*

INITIALIZATION.

G_REPID = SY-REPID.

PERFORM PRINT_BUILD USING GS_PRINT. "Print PARAMETERS

START-OF-SELECTION.

SELECT * from

zfm_handy

into corresponding fields of 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 = ty_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.

*SELECT * from

  • zfm_handy

  • into corresponding fields of 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.

  • read table it_pa0002 FROM PA0002 with key pernr = ty_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 .

  • APPEND IT_ZFM_MOBLIST.

  • endif. " sy-subrc

  • endloop.

*

  • SELECT *

  • FROM zfm_handy

  • INTO TABLE t_handy.

*SELECT ZFM_HANDY~TELNUM ZFM_HANDY~KARTNR ZFM_HANDY~ZUTART ZFM_HANDY~PERNR

  • ZFM_HANDYZDATE ZFM_HANDYPINNR ZFM_HANDYPUKNR ZFM_HANDYTARIF1

  • ZFM_HANDYTARIF2 ZFM_HANDYTARIF3 ZFM_HANDYGTYPE ZFM_HANDYIMEI ZFM_HANDY~TWINCARD

  • ZFM_HANDYTWINBILL ZFM_HANDYEINBAU ZFM_HANDYBESCHR ZFM_HANDYTEXT1 ZFM_HANDY~TEXT2

  • ZFM_HANDYTEXT3 PA0002NACHN PA0002~VORNA INTO TABLE I_ZFM FROM ZFM_HANDY INNER JOIN PA0002

  • ON ZFM_HANDYPERNR = PA0002PERNR.

  • select atelnum akartnr azutart apernr azdate apinnr apuknr atarif1 atarif2 atarif3 agtype aimei a~twincard

  • atwinbill aeinbau abeschr atext1 atext2 atext3 bnachn bvorna into table i_zfm from zfm_handy as a inner join pa0002

  • as b on apernr = bpernr where apernr = bpernr.

*

*

*telnum , kartnr , zutart , pernr , zdate , pinnr , puknr ,

  • tarif1 , tarif2 , tarif3 , gtye , imei , twincard , twinbill , einbau , beschr , text1 , text2 , text3 , nachn , vorna) from

  • zfm_handy as a inner join pa0002 as b on apernr = bpernr where apernr = bpernr.

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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = IT_ZFM_HANDY[]

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

here i m sending code for u r reviews.

i have two tables: pa0002, zfm_handy

i have to display alv grid by using these tables, i m getting output but the fields in the table pa0002(nachn,vorna) r not populated i m getting output for the fields those which r in the table zfm_handy only.

plz modify this code and suggest according to my requirement...

&----


*& Report ZFM_MOBLIST *

*& *

&----


*& *

*& *

&----


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:

  • t_HANDY LIKE TABLE OF ZFM_HANDY,

  • t_pa0002 like table of PA0002,

  • f_handy like line of t_handy.

*DATA : BEGIN OF I_ZFM OCCURS 0.

*INCLUDE STRUCTURE ZFM_HANDY.

*DATA : NACHN LIKE PA0002-NACHN,

  • VORNA LIKE PA0002-VORNA,

  • END OF I_ZFM.

DATA : BEGIN OF ty_MOBLIST.

include structure zfm_handy.

data: NACHN like pa0002-nachn,

VORNA like pa0002-vorna,

END OF ty_MOBLIST.

DATA : BEGIN OF ty_zfm_handy.

include structure zfm_handy.

data : END OF ty_zfm_handy.

DATA : BEGIN OF ty_pa0002,

NACHN type pa0002-nachn,

VORNA type pa0002-vorna,

pernr type pa0002-pernr,

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 .

*DATA : BEGIN OF IT_ZFM_MOBLIST OCCURS 0.

  • include structure zfm_handy.

  • data: NACHN like pa0002-nachn,

  • VORNA like pa0002-vorna,

  • END OF IT_ZFM_MOBLIST.

*

  • DATA : BEGIN OF IT_ZFM_HANDY OCCURS 0.

  • include structure zfm_handy.

  • END OF IT_ZFM_HANDY.

*

*

*DATA : BEGIN OF IT_ZFM_PA0002 OCCURS 0,

  • NACHN type pa0002-nachn,

  • VORNA type pa0002-vorna,

  • pernr type pa0002-pernr,

  • END OF IT_ZFM_PA0002.

*

INITIALIZATION.

G_REPID = SY-REPID.

PERFORM PRINT_BUILD USING GS_PRINT. "Print PARAMETERS

START-OF-SELECTION.

SELECT * from

zfm_handy

into corresponding fields of 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 = ty_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.

*SELECT * from

  • zfm_handy

  • into corresponding fields of 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.

  • read table it_pa0002 FROM PA0002 with key pernr = ty_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 .

  • APPEND IT_ZFM_MOBLIST.

  • endif. " sy-subrc

  • endloop.

*

  • SELECT *

  • FROM zfm_handy

  • INTO TABLE t_handy.

*SELECT ZFM_HANDY~TELNUM ZFM_HANDY~KARTNR ZFM_HANDY~ZUTART ZFM_HANDY~PERNR

  • ZFM_HANDYZDATE ZFM_HANDYPINNR ZFM_HANDYPUKNR ZFM_HANDYTARIF1

  • ZFM_HANDYTARIF2 ZFM_HANDYTARIF3 ZFM_HANDYGTYPE ZFM_HANDYIMEI ZFM_HANDY~TWINCARD

  • ZFM_HANDYTWINBILL ZFM_HANDYEINBAU ZFM_HANDYBESCHR ZFM_HANDYTEXT1 ZFM_HANDY~TEXT2

  • ZFM_HANDYTEXT3 PA0002NACHN PA0002~VORNA INTO TABLE I_ZFM FROM ZFM_HANDY INNER JOIN PA0002

  • ON ZFM_HANDYPERNR = PA0002PERNR.

  • select atelnum akartnr azutart apernr azdate apinnr apuknr atarif1 atarif2 atarif3 agtype aimei a~twincard

  • atwinbill aeinbau abeschr atext1 atext2 atext3 bnachn bvorna into table i_zfm from zfm_handy as a inner join pa0002

  • as b on apernr = bpernr where apernr = bpernr.

*

*

*telnum , kartnr , zutart , pernr , zdate , pinnr , puknr ,

  • tarif1 , tarif2 , tarif3 , gtye , imei , twincard , twinbill , einbau , beschr , text1 , text2 , text3 , nachn , vorna) from

  • zfm_handy as a inner join pa0002 as b on apernr = bpernr where apernr = bpernr.

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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = 'IT_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 = IT_ZFM_HANDY[]

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

2 REPLIES 2
Read only

Former Member
0 Likes
398

hi narendra dont create duplicate threads, plese close other,

it take some to review the code u have given

Read only

0 Likes
398

replace this line

<b>1.</b>

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

with

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

.

<b>2.</b> when u r moving the data form work are to another work are make sure the types are same, other wise move field by field

LOOP AT IT_ZFM_HANDY INTO WA_ZFM_HANDY.

READ TABLE IT_PA0002 INTO WA_PA0002 WITH KEY PERNR = TY_ZFM_HANDY-PERNR.

IF SY-SUBRC = 0.

CLEAR WA_MOBLIST.

<b> MOVE WA_ZFM_HANDY TO WA_MOBLIST.

MOVE WA_PA0002 TO WA_MOBLIST.

APPEND WA_MOBLIST TO IT_MOBLIST .</b>

ENDIF. " sy-subrc

ENDLOOP.

<b>3.</b> loop the table which contains more enries measn inth your code you are looping the table IT_HANDY and reading IT_PA0002.., HERE YOU qwill get only one entry form the IT_PA0002 with eacch redocrd in the IT_HANDY,

i think it_PA0002 contains more number of records..

i suggest u to loop the IT_PA0002 and read the table IT_HANDY,

if u r sure about u r code no need to change point 3.

Message was edited by:

Naresh Reddy