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

ALV

Former Member
0 Likes
745

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.

5 REPLIES 5
Read only

Former Member
0 Likes
720

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

Read only

Former Member
0 Likes
720

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

Read only

0 Likes
720

Hi ,

Thanks for the response.

I ve done everything for displaying just check my code and tell me solutions .

Regards,

Satya

Read only

Former Member
0 Likes
720

hi,

U are clearing the count value.So only the last record will be there.

Read only

0 Likes
720

Hi,

Even i comment that clear counter then also the same output is coming .

Please give me some suggestions . Its urgent .

Regards,

Satya