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

About ALV

Former Member
0 Likes
410

Hello Friends ,

Now i have generatd one report ,

In report there is matnr ,

if click on matnr then

generate a second report.

then click to back.

if again i click to matnr then second report field displays twice.

how i can solve it this problem.

Thanks,

Rahul

Hello Friends ,

Now i have generatd one report ,

In report there is matnr ,

if click on matnr then

generate a second report.

then click to back.

if again i click to matnr then second report field displays twice.

how i can solve it this problem.

Thanks,

Rahul

3 REPLIES 3
Read only

Former Member
0 Likes
391

hi rahul ..

do like this ..in the user command lines

clear itab in which u r displaying the secondary list fields..

means .

case sy-ucomm.

when 'SECO'.

clear : itab2.

write the coding.

when 'BACK'.

write the coding.

endcase.

regards,

venkat.

Read only

Former Member
0 Likes
391

Hi,

Refresh the itab(meant for field catalog) before filling it.......

u might be using a subroutine call ( preform ) for filling field catalog table.........rite.....

refresh <ur fieldcat int table>. 

must be the first statement in ur form(meant for filling fcat itab).........

post ur code if ur not getting it......

Cheers,

jose.

Read only

Former Member
0 Likes
391

Hi,

try this and compare with ur code.Let me know ur code,still if u facing the same problem.

TYPE-POOLS SLIS.

TYPES: BEGIN OF I_EKKO,

EBELN LIKE EKKO-EBELN,

AEDAT LIKE EKKO-AEDAT,

BUKRS LIKE EKKO-BUKRS,

BSART LIKE EKKO-BSART,

LIFNR LIKE EKKO-LIFNR,

END OF I_EKKO.

DATA: IT_EKKO TYPE STANDARD TABLE OF I_EKKO INITIAL SIZE 0,

WA_EKKO TYPE I_EKKO.

TYPES: BEGIN OF I_EKPO,

EBELN LIKE EKPO-EBELN,

EBELP LIKE EKPO-EBELP,

MATNR LIKE EKPO-MATNR,

MENGE LIKE EKPO-MENGE,

MEINS LIKE EKPO-MEINS,

NETPR LIKE EKPO-NETPR,

END OF I_EKPO.

DATA: IT_EKPO TYPE STANDARD TABLE OF I_EKPO INITIAL SIZE 0,

WA_EKPO TYPE I_EKPO.

DATA: V_REPID TYPE SY-REPID,

I_FLDCAT TYPE SLIS_T_FIELDCAT_ALV,

WA_FLDCAT TYPE SLIS_FIELDCAT_ALV,

I_FLDCAT1 TYPE SLIS_T_FIELDCAT_ALV,

WA_FLDCAT1 TYPE SLIS_FIELDCAT_ALV.

DATA: I_TITLE_EKKO TYPE LVC_TITLE VALUE 'FIRST ALV REPORT',

I_TITLE_EKPO TYPE LVC_TITLE VALUE 'SECONDARY ALV REPORT'.

INITIALIZATION.

V_REPID = SY-REPID.

PERFORM FLDCATALOG.

START-OF-SELECTION.

PERFORM DATA_RETRIEVAL.

PERFORM DISPLAY_ALV_REPORT.

FORM FLDCATALOG.

WA_FLDCAT-TABNAME = 'IT_EKKO'.

WA_FLDCAT-FIELDNAME = 'EBELN'.

WA_FLDCAT-SELTEXT_M = 'PO NUMBER'.

APPEND WA_FLDCAT TO I_FLDCAT.

CLEAR WA_FLDCAT.

WA_FLDCAT-TABNAME = 'IT_EKKO'.

WA_FLDCAT-FIELDNAME = 'AEDAT'.

WA_FLDCAT-SELTEXT_M = 'DATE'.

APPEND WA_FLDCAT TO I_FLDCAT.

CLEAR WA_FLDCAT.

WA_FLDCAT-TABNAME = 'IT_EKKO'.

WA_FLDCAT-FIELDNAME = 'BUKRS'.

WA_FLDCAT-SELTEXT_M = 'DOCUMENT TYPE'.

APPEND WA_FLDCAT TO I_FLDCAT.

CLEAR WA_FLDCAT.

WA_FLDCAT-TABNAME = 'IT_EKKO'.

WA_FLDCAT-FIELDNAME = 'LIFNR'.

WA_FLDCAT-SELTEXT_M = 'VENDOR CODE'.

APPEND WA_FLDCAT TO I_FLDCAT.

CLEAR WA_FLDCAT.

ENDFORM.

FORM DATA_RETRIEVAL.

SELECT EBELN AEDAT BUKRS BSART LIFNR

FROM EKKO INTO TABLE IT_EKKO.

ENDFORM.

FORM DISPLAY_ALV_REPORT.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = V_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

I_GRID_TITLE = I_TITLE_EKKO

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

IT_FIELDCAT = I_FLDCAT[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

I_SAVE = 'A'

  • IS_VARIANT =

  • IT_EVENTS = I_EVENTS

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • I_HTML_HEIGHT_TOP = 0

  • I_HTML_HEIGHT_END = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • IR_SALV_FULLSCREEN_ADAPTER =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT_EKKO

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

FORM USER_COMMAND USING R_COMM TYPE SY-UCOMM

RS_SELFIELD TYPE SLIS_SELFIELD.

CASE R_COMM.

WHEN '&IC1'.

IF RS_SELFIELD-FIELDNAME = 'EBELN'.

SET PARAMETER ID 'BES' FIELD WA_EKKO-EBELN. " BES is data element of EBELN

READ TABLE IT_EKKO INTO WA_EKKO INDEX RS_SELFIELD-TABINDEX.

PERFORM FLDCAT_EKPO.

PERFORM DATA_RETRIEVAL_EKPO.

PERFORM DISPLAY_ALV_REPORT_EKPO.

ENDIF.

ENDCASE.

ENDFORM.

FORM FLDCAT_EKPO.

WA_FLDCAT1-TABNAME = 'IT_EKPO'.

WA_FLDCAT1-FIELDNAME = 'EBELN'.

WA_FLDCAT1-SELTEXT_M = 'PO NUMBER'.

APPEND WA_FLDCAT1 TO I_FLDCAT1.

CLEAR WA_FLDCAT1.

WA_FLDCAT1-TABNAME = 'IT_EKPO'.

WA_FLDCAT1-FIELDNAME = 'EBELP'.

WA_FLDCAT1-SELTEXT_M = 'LINE NO'.

APPEND WA_FLDCAT1 TO I_FLDCAT1.

CLEAR WA_FLDCAT1.

WA_FLDCAT1-TABNAME = 'IT_EKPO'.

WA_FLDCAT1-FIELDNAME = 'MATNR'.

WA_FLDCAT1-SELTEXT_M = 'MATERIAL NUMBER'.

APPEND WA_FLDCAT1 TO I_FLDCAT1.

CLEAR WA_FLDCAT1.

WA_FLDCAT1-TABNAME = 'IT_EKPO'.

WA_FLDCAT1-FIELDNAME = 'MENGE'.

WA_FLDCAT1-SELTEXT_M = 'QUANTITY'.

APPEND WA_FLDCAT1 TO I_FLDCAT1.

CLEAR WA_FLDCAT1.

WA_FLDCAT1-TABNAME = 'IT_EKPO'.

WA_FLDCAT1-FIELDNAME = 'MEINS'.

WA_FLDCAT1-SELTEXT_M = 'BASE UNIT OF MEASURE'.

APPEND WA_FLDCAT1 TO I_FLDCAT1.

CLEAR WA_FLDCAT1.

WA_FLDCAT1-TABNAME = 'IT_EKPO'.

WA_FLDCAT1-FIELDNAME = 'NETPR'.

WA_FLDCAT1-SELTEXT_M = 'PRICE'.

APPEND WA_FLDCAT1 TO I_FLDCAT1.

CLEAR WA_FLDCAT1.

ENDFORM.

FORM DATA_RETRIEVAL_EKPO.

SELECT EBELN EBELP MATNR MENGE MEINS NETPR

INTO TABLE IT_EKPO

FROM EKPO.

ENDFORM.

FORM DISPLAY_ALV_REPORT_EKPO.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = V_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

I_GRID_TITLE = I_TITLE_EKPO

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

IT_FIELDCAT = I_FLDCAT1[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

I_SAVE = 'A'

  • IS_VARIANT =

  • IT_EVENTS = I_EVENTS

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • I_HTML_HEIGHT_TOP = 0

  • I_HTML_HEIGHT_END = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • IR_SALV_FULLSCREEN_ADAPTER =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT_EKPO

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

Reward,if it is useful.

Thanks,

Chandu