2007 Aug 30 8:43 AM
Hi
I have some problem with the drilldown list.
Actually i ve one table i.e.T_main where i have 4 records which is used for the first ALV .
The Content of T_main table are ::
Docs.Type Field Descriptions Field name No of Changes.
1 B1E ORDNR_FI_S 1
2 B1E XBLNR_FI_S 1
3 B2 ORDNR_FI_S 2
4 B2 XBLNR_FI_S 3
And i have another table T_main2 where all the details of the above records are stored .
The content of T_main2 table are :
Field Descriptions Field name And some more fields are .....
B1E ORDNR_FI_S
B2 ORDNR_FI_S
B2 ORDNR_FI_S
B1E XBLNR_FI_S
B2 XBLNR_FI_S
B2 XBLNR_FI_S
B2 XBLNR_FI_S
So my requiremets is that when i double click on any row of the T_main table
it'll fetch all the data from T_main2 table and display in the list.
I ve written some code but it is showing one the detail of the last record of t_main table .
DATA : T_MAIN_TEMP LIKE T_MAIN2.
CLEAR LWA_OUTPUT_DATA2.
IF T_RULES-NUM_OF_CHNG_IND = 'X'.
CLEAR W_COUNT.
REFRESH LWA_OUTPUT_DATA2.
LOOP AT T_MAIN2 WHERE FLDNM EQ T_MAIN-FLDNM AND
FKART EQ T_MAIN-FKART."T_RULES-FIELD_NAME.
MOVE-CORRESPONDING T_MAIN2 TO LWA_OUTPUT_DATA2.
W_COUNT = W_COUNT + 1.
LWA_OUTPUT_DATA-SEQNO = W_COUNT.
APPEND LWA_OUTPUT_DATA2 .
ENDLOOP.
REFRESH T_MAIN[].
T_MAIN[] = LWA_OUTPUT_DATA2[].
PERFORM EXIT_PROGRAM.
PERFORM DISP_DATA USING W_FCODE.
EXIT.
ENDIF.
Hi
I have some problem with the drilldown list.
Actually i ve one table i.e.T_main where i have 4 records which is used for the first ALV .
The Content of T_main table are ::
Docs.Type Field Descriptions Field name No of Changes.
1 B1E ORDNR_FI_S 1
2 B1E XBLNR_FI_S 1
3 B2 ORDNR_FI_S 2
4 B2 XBLNR_FI_S 3
And i have another table T_main2 where all the details of the above records are stored .
The content of T_main2 table are :
Field Descriptions Field name And some more fields are .....
B1E ORDNR_FI_S
B2 ORDNR_FI_S
B2 ORDNR_FI_S
B1E XBLNR_FI_S
B2 XBLNR_FI_S
B2 XBLNR_FI_S
B2 XBLNR_FI_S
So my requiremets is that when i double click on any row of the T_main table
it'll fetch all the data from T_main2 table and display in the list.
I ve written some code but it is showing one the detail of the last record of t_main table .
DATA : T_MAIN_TEMP LIKE T_MAIN2.
CLEAR LWA_OUTPUT_DATA2.
IF T_RULES-NUM_OF_CHNG_IND = 'X'.
CLEAR W_COUNT.
REFRESH LWA_OUTPUT_DATA2.
LOOP AT T_MAIN2 WHERE FLDNM EQ T_MAIN-FLDNM AND
FKART EQ T_MAIN-FKART."T_RULES-FIELD_NAME.
MOVE-CORRESPONDING T_MAIN2 TO LWA_OUTPUT_DATA2.
W_COUNT = W_COUNT + 1.
LWA_OUTPUT_DATA-SEQNO = W_COUNT.
APPEND LWA_OUTPUT_DATA2 .
ENDLOOP.
REFRESH T_MAIN[].
T_MAIN[] = LWA_OUTPUT_DATA2[].
PERFORM EXIT_PROGRAM.
PERFORM DISP_DATA USING W_FCODE.
EXIT.
ENDIF.
2007 Aug 30 8:45 AM
hi,
U mean to say that u want an ALV interactive list.
Check this example
*-----tables declaration
TABLES:EKKO.
TYPE-POOLS:SLIS.
*-----data declaration
TYPES:BEGIN OF X_EKKO,
EBELN type EKKO-EBELN, "PO Number
BUKRS type EKKO-BUKRS, "Company code
BSART type EKKO-BSART, "Purchasing Document type
LIFNR type EKKO-LIFNR, "Vendor
SPRAS type EKKO-SPRAS, "Language Key
ZTERM type EKKO-ZTERM, "Terms of payment key
END OF X_EKKO,
BEGIN OF X_EKPO,
EBELN type EKPO-EBELN,
EBELP type EKPO-EBELP, "Item number
WERKS type EKPO-WERKS, "Plant
MATNR type EKPO-MATNR, "Material Number
MATKL type EKPO-MATKL, "Material Group
END OF X_EKPO.
DATA:IT_EKKO TYPE STANDARD TABLE OF X_EKKO,
IT_EKPO TYPE STANDARD TABLE OF X_EKPO,
WA_EKKO TYPE X_EKKO,
WA_EKPO TYPE X_EKPO, "#EC *
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
IT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
WA_FIELDCAT1 TYPE SLIS_FIELDCAT_ALV.
*-----Selection-screen design
SELECTION-SCREEN BEGIN OF BLOCK B1.
SELECT-OPTIONS:S_EBELN FOR EKKO-EBELN.
SELECTION-SCREEN END OF BLOCK B1.
*-----SELECTION-SCREEN VALIDATION
AT SELECTION-SCREEN.
SELECT EBELN
FROM EKKO
INTO TABLE IT_EKKO
WHERE EBELN IN S_EBELN.
*-----if there are no values display an error
IF SY-SUBRC NE 0.
MESSAGE E009.
ENDIF.
*-----Data retrieval
START-OF-SELECTION.
*-----retrieving data from the PO header
SELECT EBELN BUKRS BSART LIFNR SPRAS ZTERM
FROM EKKO
INTO TABLE IT_EKKO
WHERE EBELN IN S_EBELN.
*-----if there are no records display an error
IF SY-SUBRC NE 0.
MESSAGE E003.
ENDIF.
*-----Field catalog for the PO Header
REFRESH IT_FIELDCAT[].
WA_FIELDCAT-COL_POS = '1'.
WA_FIELDCAT-FIELDNAME = 'EBELN'.
WA_FIELDCAT-TABNAME = 'IT_EKKO'.
WA_FIELDCAT-KEY = 'X'.
WA_FIELDCAT-HOTSPOT = 'X'.
WA_FIELDCAT-REF_FIELDNAME = 'EBELN'.
WA_FIELDCAT-REF_TABNAME = 'EKKO'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-COL_POS = '2'.
WA_FIELDCAT-FIELDNAME = 'BUKRS'.
WA_FIELDCAT-TABNAME = 'IT_EKKO'.
WA_FIELDCAT-REF_FIELDNAME = 'BUKRS'.
WA_FIELDCAT-REF_TABNAME = 'EKKO'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-COL_POS = '3'.
WA_FIELDCAT-FIELDNAME = 'BSART'.
WA_FIELDCAT-TABNAME = 'IT_EKKO'.
WA_FIELDCAT-REF_FIELDNAME = 'BSART'.
WA_FIELDCAT-REF_TABNAME = 'EKKO'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-COL_POS = '4'.
WA_FIELDCAT-FIELDNAME = 'LIFNR'.
WA_FIELDCAT-TABNAME = 'IT_EKKO'.
WA_FIELDCAT-REF_FIELDNAME = 'LIFNR'.
WA_FIELDCAT-REF_TABNAME = 'EKKO'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-COL_POS = '5'.
WA_FIELDCAT-FIELDNAME = 'SPRAS'.
WA_FIELDCAT-TABNAME = 'IT_EKKO'.
WA_FIELDCAT-REF_FIELDNAME = 'SPRAS'.
WA_FIELDCAT-REF_TABNAME = 'EKKO'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-COL_POS = '6'.
WA_FIELDCAT-FIELDNAME = 'ZTERM'.
WA_FIELDCAT-TABNAME = 'IT_EKKO'.
WA_FIELDCAT-REF_FIELDNAME = 'ZTERM'.
WA_FIELDCAT-REF_TABNAME = 'EKKO'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
*-----to display the header details
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IT_FIELDCAT = IT_FIELDCAT[]
TABLES
T_OUTTAB = IT_EKKO[].
&----
*& Form USER_COMMAND
&----
text
----
-->UCOMM text
-->FIELD1 text
----
FORM USER_COMMAND USING UCOMM LIKE SY-UCOMM FIELD1 TYPE "#EC CALLED
SLIS_SELFIELD. "#EC *
READ TABLE IT_EKKO INTO WA_EKKO INDEX FIELD1-TABINDEX.
*-----retrieving item details from the PO Item table
SELECT EBELN EBELP WERKS MATNR MATKL
FROM EKPO
INTO TABLE IT_EKPO
WHERE EBELN = WA_EKKO-EBELN.
*-----to display an error if other than PO Number is clicked
IF SY-SUBRC NE 0.
MESSAGE E001.
ENDIF.
*-----Fieldcatalog for the PO item details
REFRESH IT_FIELDCAT1[].
WA_FIELDCAT1-COL_POS = '1'.
WA_FIELDCAT1-FIELDNAME = 'EBELN'.
WA_FIELDCAT1-TABNAME = 'IT_EKPO'.
WA_FIELDCAT1-REF_FIELDNAME = 'EBELN'.
WA_FIELDCAT1-REF_TABNAME = 'EKPO'.
APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
CLEAR WA_FIELDCAT1.
WA_FIELDCAT1-COL_POS = '2'.
WA_FIELDCAT1-FIELDNAME = 'EBELP'.
WA_FIELDCAT1-TABNAME = 'IT_EKPO'.
WA_FIELDCAT1-REF_FIELDNAME = 'EBELP'.
WA_FIELDCAT1-REF_TABNAME = 'EKPO'.
APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
CLEAR WA_FIELDCAT1.
WA_FIELDCAT1-COL_POS = '3'.
WA_FIELDCAT1-FIELDNAME = 'WERKS'.
WA_FIELDCAT1-TABNAME = 'IT_EKPO'.
WA_FIELDCAT1-REF_FIELDNAME = 'WERKS'.
WA_FIELDCAT1-REF_TABNAME = 'EKPO'.
APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
CLEAR WA_FIELDCAT1.
WA_FIELDCAT1-COL_POS = '4'.
WA_FIELDCAT1-FIELDNAME = 'MATNR'.
WA_FIELDCAT1-TABNAME = 'IT_EKPO'.
WA_FIELDCAT1-REF_FIELDNAME = 'MATNR'.
WA_FIELDCAT1-REF_TABNAME = 'EKPO'.
APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
CLEAR WA_FIELDCAT1.
WA_FIELDCAT1-COL_POS = '5'.
WA_FIELDCAT1-FIELDNAME = 'MATKL'.
WA_FIELDCAT1-TABNAME = 'IT_EKPO'.
WA_FIELDCAT1-REF_FIELDNAME = 'MATKL'.
WA_FIELDCAT1-REF_TABNAME = 'EKPO'.
APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
CLEAR WA_FIELDCAT1.
*-----to display the item details
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IT_FIELDCAT = IT_FIELDCAT1[]
TABLES
T_OUTTAB = IT_EKPO[].
ENDFORM. "user_command_form
2007 Aug 30 8:51 AM
hi ,
In this prog u did not difine field cataloge .first difine field cataloge for which fields u want to display. than use field cataloge merge function module. than ur prog run properly.
Regds,
Paras
2007 Aug 30 8:53 AM
Hi ,
Thanks for the response.
I ve done everything for displaying just check my code and tell me solutions .
Regards,
Satya
2007 Aug 30 8:55 AM
hi,
U are clearing the count value.So only the last record will be there.
2007 Aug 30 9:01 AM
Hi,
Even i comment that clear counter then also the same output is coming .
Please give me some suggestions . Its urgent .
Regards,
Satya
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |