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

data retrieving code plz modify according to req

Former Member
0 Likes
308

i have two tables zfm_handy and pa0002

field in zfm_handy is pernr(personal number length 8 numeric )

pa002 is vorna nachn

i want to display the data for each pernr correspondig vorna nachn

in my pa0002 table has 990 records (vorna nachn) but i m getting output only 10 records

like this 00009856

00003544

00006585

but all the 980 has data like this 56760000

65830000

65750000

plz send the code for this logic how to get all the 990 records.

i m getting all the pernr but i m not getting vorna nachn because of above problem

code :

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 IT_MOBLIST OCCURS 0,

TELNUM TYPE ZFM_HANDY-TELNUM,

KARTNR TYPE ZFM_HANDY-KARTNR,

ZUTART TYPE ZFM_HANDY-ZUTART,

PERNR TYPE ZFM_HANDY-PERNR,

nachn TYPE pa0002-nachn,

VORNA TYPE pa0002-vorna,

ZDATE TYPE ZFM_HANDY-ZDATE,

PINNR TYPE ZFM_HANDY-PINNR,

PUKNR TYPE ZFM_HANDY-PUKNR,

TARIF1 TYPE ZFM_HANDY-TARIF1,

TARIF2 TYPE ZFM_HANDY-TARIF2,

TARIF3 TYPE ZFM_HANDY-TARIF3,

GTYPE TYPE ZFM_HANDY-GTYPE,

IMEI TYPE ZFM_HANDY-TARIF1,

twincard type zfm_handy-twincard,

twinbill type zfm_handy-twinbill,

einbau type zfm_handy-einbau,

beschr type zfm_handy-beschr,

text1 type zfm_handy-text1,

text2 type zfm_handy-text2,

text3 type zfm_handy-text3,

end of it_moblist.

DATA : BEGIN OF IT_zfm_handy OCCURS 0,

TELNUM TYPE ZFM_HANDY-TELNUM,

KARTNR TYPE ZFM_HANDY-KARTNR,

ZUTART TYPE ZFM_HANDY-ZUTART,

PERNR TYPE ZFM_HANDY-PERNR,

ZDATE TYPE ZFM_HANDY-ZDATE,

PINNR TYPE ZFM_HANDY-PINNR,

PUKNR TYPE ZFM_HANDY-PUKNR,

TARIF1 TYPE ZFM_HANDY-TARIF1,

TARIF2 TYPE ZFM_HANDY-TARIF2,

TARIF3 TYPE ZFM_HANDY-TARIF3,

GTYPE TYPE ZFM_HANDY-GTYPE,

IMEI TYPE ZFM_HANDY-TARIF1,

twincard type zfm_handy-twincard,

twinbill type zfm_handy-twinbill,

einbau type zfm_handy-einbau,

beschr type zfm_handy-beschr,

text1 type zfm_handy-text1,

text2 type zfm_handy-text2,

text3 type zfm_handy-text3,

end of it_zfm_handy.

*

*DATA : BEGIN OF it_zfm_handy OCCURS 0.

  • INCLUDE STRUCTURE zfm_handy.

*DATA END OF it_zfm_handy.

*

DATA : BEGIN OF it_pa0002 OCCURS 0,

pernr TYPE pa0002-pernr,

nachn TYPE pa0002-nachn,

vorna TYPE pa0002-vorna,

  • pernr TYPE pa0002-pernr,

END OF it_pa0002.

*

*data : zutart like zfm_handy.

INITIALIZATION.

g_repid = sy-repid.

PERFORM print_build USING gs_print. "Print PARAMETERS

START-OF-SELECTION.

PERFORM data_selection.

PERFORM build_fieldcat.

PERFORM eventtab_build CHANGING gt_events.

PERFORM comment_build CHANGING gt_list_top_of_page.

PERFORM call_alv.

&----


*& 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

&----


*& Form data_selection

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM data_selection .

SELECT * FROM

zfm_handy

INTO CORRESPONDING FIELDS OF TABLE it_zfm_handy where pernr ne space and pernr ne '00000000'.

IF NOT it_zfm_handy[] IS INITIAL.

delete it_zfm_handy where pernr = '00000000'.

SELECT pernr 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.

MOVE-CORRESPONDING it_zfm_handy TO it_moblist.

clear it_pa0002.

READ TABLE it_pa0002 WITH KEY pernr = it_zfm_handy-pernr.

if sy-subrc = 0.

move it_pa0002-nachn to it_moblist-nachn.

move it_pa0002-vorna to it_moblist-vorna.

move it_pa0002-pernr to it_moblist-pernr.

endif.

APPEND it_moblist .

clear it_moblist.

*endif.

ENDLOOP.

ENDFORM. " data_selection

&----


*& Form BUILD

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM build_fieldcat .

  • 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 = '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.

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 = 'BESCHR'.

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.

  • 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 EVENTTAB_BUILD

&----


  • text

----


  • <--P_GT_EVENTS text

----


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

&----


  • text

----


  • <--P_GT_LIST_TOP_OF_PAGE text

----


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 CALL_ALV

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM call_alv .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = g_repid

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

is_layout = gs_layout

it_fieldcat = gt_fieldcat

it_sort = gt_sort

it_events = gt_events

is_print = gs_print

TABLES

t_outtab = IT_MOBLIST

EXCEPTIONS

program_error = 1

OTHERS = 2.

ENDFORM. "CALL_ALV

1 REPLY 1
Read only

Former Member
0 Likes
280

Hi,

Change the SELECT query with inner join:

SELECT

a~elnum

a~kartnr

a~zutart

a~pernr

b~nachn

b~vorna

a~zdate

a~pinnr

a~puknr

a~tarif1

a~tarif2

a~tarif3

a~gtype

a~imei

a~twincard

a~twinbill

a~einbau

a~beschr

a~text1

a~text2

a~text3

INTO CORRESPONDING FIELDS OF it_moblist

FROM zfm_handy AS a

INNER JOIN pa0002 AS b

WHERE apernr = bpernr.

Then, CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' to create the fieldcatalog and modify as desired.

Then call your other subroutines...for events and comment and then call ALV FM.

This should give you the desired results.

Regards

Subramanian