2008 Mar 29 12:03 PM
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
2008 Mar 29 12:15 PM
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.
2008 Mar 29 12:16 PM
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.
2008 Mar 29 1:32 PM
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
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |