Application Development 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: 

alv problem

Former Member
0 Kudos

Hi,

I have created the program with alv list display.When i run the program only one value getting displayed.Where might be the problem.Itab having the data.

<b>And how to pass the itab data into ALV list.</b>

here is the code...

REPORT YQM_NOTIFICATION MESSAGE-ID ZM NO STANDARD PAGE HEADING

LINE-SIZE 255.

TYPE-POOLS: SLIS.

tables: qpct,

qpgt,

qmel,

ihpa.

DATA: fieldcat TYPE slis_t_fieldcat_alv,

ITAB_EXTAB TYPE SLIS_T_EXTAB.

DATA: it_field TYPE slis_t_fieldcat_alv,

w_layout TYPE slis_layout_alv,

it_exclu TYPE slis_t_extab,

GS_EXTAB TYPE SLIS_EXTAB.

data: begin of t_hdr occurs 0,

group like qpgt-CODEGRUPPE,

code like qpct-code,

TEXT like qpct-KURZTEXT,

name like qpgt-KURZTEXT,

end of t_hdr.

data: begin of t_det occurs 0,

sno type i,

QMNUM like qmel-QMNUM, " notification number(ref no)

REFNUM like qmel-refnum, " contract no

parnr like ihpa-parnr,

qmtxt like qmel-qmtxt,

QMGRP like qmel-QMGRP,

QMCOD like qmel-QMCOD,

objnr like qmel-objnr,

desc(72),

end of t_det.

data: sno type i.

DATA: v_repid TYPE sy-repid.

data: ITAB_LINES LIKE tline OCCURS 0 WITH HEADER LINE.

SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE text-001.

select-options:s_QMNUM for qmel-QMNUM,

s_qmart for qmel-qmart,

s_qmdat for qmel-QMDAT.

SELECTION-SCREEN END OF BLOCK a1.

start-of-selection.

perform get_data.

perform display_alv.

end-of-selection.

&----


*& Form display_alv

&----


  • text

----


form display_alv.

PERFORM field_cat USING fieldcat.

v_repid = sy-repid.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

i_callback_program = v_repid

it_fieldcat = fieldcat

IT_EXCLUDING = ITAB_EXTAB

TABLES

t_outtab = t_det

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.

endform. "display_alv

&----


*& Form field_cat

&----


  • text

----


  • -->P_FIELDCAT text

----


FORM field_cat USING p_fieldcat.

  • FIELD CATELOG FOR ALV DISPLAY.

DATA: i_fieldcat TYPE slis_fieldcat_alv.

CLEAR i_fieldcat.

i_fieldcat-fieldname = 'sno'.

i_fieldcat-tabname = 't_det'.

i_fieldcat-no_out = ' '.

i_fieldcat-seltext_l = 'S.no'.

i_fieldcat-outputlen = 4.

APPEND i_fieldcat TO fieldcat.

i_fieldcat-fieldname = 'QMNUM'.

i_fieldcat-tabname = 't_det'.

i_fieldcat-no_out = ' '.

i_fieldcat-seltext_l = 'Ref.no'.

i_fieldcat-outputlen = 18.

APPEND i_fieldcat TO fieldcat.

i_fieldcat-fieldname = 'refnum'.

i_fieldcat-tabname = 't_det'.

i_fieldcat-no_out = ' '.

i_fieldcat-seltext_l = 'Contract no'.

i_fieldcat-outputlen = 18.

APPEND i_fieldcat TO fieldcat.

i_fieldcat-fieldname = 'parnr'.

i_fieldcat-tabname = 't_det'.

i_fieldcat-no_out = ' '.

i_fieldcat-seltext_l = 'A-Div'.

i_fieldcat-outputlen = 10.

APPEND i_fieldcat TO fieldcat.

i_fieldcat-fieldname = 'qmtxt'.

i_fieldcat-tabname = 't_det'.

i_fieldcat-no_out = ' '.

i_fieldcat-seltext_l = 'Description'.

i_fieldcat-outputlen = 25.

APPEND i_fieldcat TO fieldcat.

i_fieldcat-fieldname = 'desc'.

i_fieldcat-tabname = 't_det'.

i_fieldcat-no_out = ' '.

i_fieldcat-seltext_l = 'Defect'.

i_fieldcat-outputlen = 100.

APPEND i_fieldcat TO fieldcat.

ENDFORM. "FIED_CAT

&----


*& Form get_data

&----


  • text

----


form get_data.

*to get header

select codegruppe code kurztext from qpct into table t_hdr.

loop at t_hdr.

select single * from qpgt where codegruppe = t_hdr-group.

if sy-subrc = 0.

t_hdr-name = qpgt-KURZTEXT.

modify t_hdr.

clear t_hdr.

endif.

endloop.

*to get details

select qmnum refnum QMDAT qmtxt objnr qmgrp QMCOD from qmel

into corresponding fields of table t_det

where qmnum in s_qmnum and

qmart in s_qmart and

qmdat in s_qmdat.

loop at t_det.

select single * from ihpa where objnr = t_det-objnr.

if sy-subrc = 0.

t_det-parnr = ihpa-parnr.

modify t_det.

clear t_det.

endif.

endloop.

loop at t_det.

delete t_hdr where group ne t_det-qmgrp.

endloop.

endform.

points guaranteed...

cheers

kaki

Message was edited by: Kaki R

6 REPLIES 6

Former Member
0 Kudos

Your internal table name and field names <b>have to be in uppercase</b> when you are building the field catalogue. Change it and you will get the output correctly.

Srinivas

0 Kudos

Thank u srinivas

got it and points alloted

cheers

kaki

0 Kudos

Here is how your fieldcat routine should be.


*&--------------------------------------------------------------------*
*& Form field_cat
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->P_FIELDCAT text
*---------------------------------------------------------------------*
FORM field_cat USING p_fieldcat.
  DATA: i_fieldcat TYPE slis_fieldcat_alv.
  CLEAR i_fieldcat.

  i_fieldcat-fieldname = 'SNO'.
  i_fieldcat-tabname = 'T_DET'.
  i_fieldcat-no_out = ' '.
  i_fieldcat-seltext_l = 'S.no'.
  i_fieldcat-outputlen = 4.
  APPEND i_fieldcat TO fieldcat.

  i_fieldcat-fieldname = 'QMNUM'.
  i_fieldcat-tabname = 'T_DET'.
  i_fieldcat-no_out = ' '.
  i_fieldcat-seltext_l = 'Ref.no'.
  i_fieldcat-outputlen = 18.
  APPEND i_fieldcat TO fieldcat.

  i_fieldcat-fieldname = 'REFNUM'.
  i_fieldcat-tabname = 'T_DET'.
  i_fieldcat-no_out = ' '.
  i_fieldcat-seltext_l = 'Contract no'.
  i_fieldcat-outputlen = 18.
  APPEND i_fieldcat TO fieldcat.

  i_fieldcat-fieldname = 'PARNR'.
  i_fieldcat-tabname = 'T_DET'.
  i_fieldcat-no_out = ' '.
  i_fieldcat-seltext_l = 'A-Div'.
  i_fieldcat-outputlen = 10.
  APPEND i_fieldcat TO fieldcat.

  i_fieldcat-fieldname = 'QMTXT'.
  i_fieldcat-tabname = 'T_DET'.
  i_fieldcat-no_out = ' '.
  i_fieldcat-seltext_l = 'Description'.
  i_fieldcat-outputlen = 25.
  APPEND i_fieldcat TO fieldcat.

  i_fieldcat-fieldname = 'DESC'.
  i_fieldcat-tabname = 'T_DET'.
  i_fieldcat-no_out = ' '.
  i_fieldcat-seltext_l = 'Defect'.
  i_fieldcat-outputlen = 100.
  APPEND i_fieldcat TO fieldcat.

ENDFORM. "FIED_CAT

Former Member
0 Kudos

While creating field catalog the strings in quotes are in small letters. Check once by giving them in caps.

Currently are you seeing value for QMNUM only? Or is there any other field?

Former Member
0 Kudos

add one more line to fieldctalog to all fields

i_fieldcat-col_pos = '1'.

i_fieldcat-col_pos = '2'.

to how many ever fields u have

dont forget to reward points

Former Member
0 Kudos

shailesh

you need to write perform for every field so write so do that and reply if you get the result properly

regards

siddarth