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

problem in creating dynamic internal table

Former Member
0 Likes
5,430

Hi Experts,

I am trying creating a dynamic internal table.

But I am getting the error 'The field string "LT_GENTAB" contains no fields. 4 LT_GENTAB".

Can anybody tell me what is the error and how to solve it.

Thanks,

Sudheer

23 REPLIES 23
Read only

Former Member
0 Likes
3,443

We dont have telepathic powers. Please post the code you are using

Read only

0 Likes
3,443

Hi,

Please find the below code.

data : wa_fieldcat type slis_fieldcat_alv,

wa_fieldcat1 type slis_fieldcat_alv,

wa_fieldcat2 type LVC_S_FCAT,

it_fieldcat type slis_t_fieldcat_alv,

it_fieldcat1 type slis_t_fieldcat_alv,

it_fieldcat2 type LVC_T_FCAT,

V_LAYOUT TYPE SLIS_LAYOUT_ALV,

LS_LVC_FIELDCATALOGUE TYPE LVC_S_FCAT,

LT_LVC_FIELDCATALOGUE TYPE LVC_T_FCAT,

IT_EVENTS TYPE SLIS_T_EVENT,

WA_EVENTS TYPE SLIS_ALV_EVENT.

data : L_TABLE TYPE REF TO DATA.

FIELD-SYMBOLS : <IT_TABLE> TYPE STANDARD TABLE.

FIELD-SYMBOLS : <IT_ITEM1> TYPE STANDARD TABLE.

v_col = 1.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'PRUEFLOS'.

wa_fieldcat2-seltext = 'Inspection Lot'.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'WERKS'.

wa_fieldcat2-seltext = 'Plant'.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'ART'.

wa_fieldcat2-seltext = 'Inspection Type'.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'HERKUNFT'.

wa_fieldcat2-seltext = 'Lot Origin'.

WA_FIELDCAT1-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'STAT35'.

wa_fieldcat2-seltext = 'Usage Decision Made'.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'ENSTEHDAT'.

wa_fieldcat2-seltext = 'Lot created on'.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'ERSTELLER'.

wa_fieldcat2-seltext = 'Created by'.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'PASTRTERM'.

wa_fieldcat2-seltext = 'Insp. Start Date'.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'PAENDTERM'.

wa_fieldcat2-seltext = 'End of Inspection'.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'PLNTY'.

wa_fieldcat2-seltext = 'Task List Type'.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'AUFNR'.

wa_fieldcat2-seltext = 'Order No.'.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'KTEXTMAT'.

wa_fieldcat2-seltext = 'Object short text'.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'KURZTEXT'.

wa_fieldcat2-seltext = 'Short Text for Code'.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'KATALGART1'.

wa_fieldcat2-seltext = 'Catalog Type'.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'GRUPPE1'.

wa_fieldcat2-seltext = 'Code Group'.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'CODE1'.

wa_fieldcat2-seltext = 'Code'.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

*WA_FIELDCAT2-COL_POS = v_col.

*WA_FIELDCAT2-FIELDNAME = 'ORIGINAL_INPUT'.

*WA_FIELDCAT2-SELTEXT_M = 'Original Value'.

**WA_FIELDCAT2-OUTPUTLEN = 20.

*v_col = v_col + 1.

*

*APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

*CLEAR WA_FIELDCAT2.

loop at it_qamv1 into wa_qamv1.

read table it_qasr into wa_qasr with key wa_qamv1-prueflos.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = wa_qamv-kurztext.

wa_fieldcat2-seltext = wa_qasr-original_input.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

endloop.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'EQUNR'.

wa_fieldcat2-seltext = 'Equipment'.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'TPLNR'.

wa_fieldcat2-seltext = 'Functional Location'.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'TPLMA'.

wa_fieldcat2-seltext = 'Superior Funct Loc.'.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'STATUS'.

wa_fieldcat2-seltext = 'Status'.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'INACT'.

wa_fieldcat2-seltext = 'Status Inactive'.

WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

  • Create internal table dynamic

CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE

EXPORTING

IT_FIELDCATALOG = LT_LVC_FIELDCATALOGUE

IMPORTING

EP_TABLE = L_TABLE.

ASSIGN L_TABLE->* TO <IT_TABLE>.

I am getting the error when the method CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE

is executed.

Please help me

Thanks,

Sudheer

Read only

0 Likes
3,443

Hi Experts,

Can anybody please help me

Thanks,

Sudheer

Read only

0 Likes
3,443

Hi Experts,

I tried my self, and I am getting the below error.

"LT_GENTAB-" has already been declared 21 DATA".

Can anybody please help me how to solve this issue.

Thanks,

Sudheer

Read only

0 Likes
3,443

Refer to the below link which has an example on Dynamic internal table..

http://divulgesap.com/blog.php?p=MjE=

Regards,

Ravikiran

Read only

0 Likes
3,443

Hi,

I am not able to see the link.

Can you please post what is there in the link

Thanks,

Sudheer

Read only

0 Likes
3,443

Its difficult to get your issue to be understood.

Hope you get some help via link:

[Dynamic Internal Tables|]

Read only

0 Likes
3,443

Hi Mishra,

I have created the dynamic fieldcatalog.

and when I call the method "CALL METHOD cl_alv_table_create=>create_dynamic_table"

I am getting the error "Unable to interpret FITTINGS(000010). 21 FITTINGS(000010)".

Can you please let me know why this error occurs and how solve the issue

Thanks,

Sudheer

Read only

0 Likes
3,443

Hi,

Still getting the same error.

Thanks,

Sudheer

Read only

0 Likes
3,443

Hi Sudheer,

Here is one of the ways of creating dynamic table-

1. create your fieldcatlog.

2. use the CALL METHOD cl_alv_table_create=>create_dynamic_table

EXPORTING

it_fieldcatalog = g_it_fieldcat <---- fieldcat

IMPORTING

ep_table = g_it_data.

Now using field symbols -

FIELD-SYMBOLS : <g_wa_final> TYPE ANY.

FIELD-SYMBOLS : <g_wa_final1> TYPE ANY.

ASSIGN g_it_data->* TO <g_it_final>.

CREATE DATA g_wa_data LIKE LINE OF <g_it_final>.

ASSIGN g_wa_data->* TO <g_wa_final>.

<g_it_final> <g_wa_final> are your dynamic table and work area.

Regards,

Edited by: Mukesh Dhakar on Apr 19, 2010 7:20 AM

Read only

0 Likes
3,443

Hi Mukesh,

I am following the same method.

But there is a field 'Hardware Fittings" in the fieldcatalog.

it is giving the error as 'Unable to interpret "FITTINGS(000010)". Possible c 21 FITTINGS(000010)'.

I dont understand why it is giving this error.

It is giving the error when the Method 'CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE'.

Can you please help me to solve this issue.

Thanks,

Sudheer

Edited by: sudheer kumar on Apr 19, 2010 7:27 AM

Read only

SuhaSaha
Product and Topic Expert
Product and Topic Expert
0 Likes
3,443

I dont know if this helps.

In your "garbled" code snippet i find you have appended IT_FIELDCAT2. But in the method call you are using LT_LVC_FIELDCAT.

Can you please check the fieldcat you are passing to the method is not empty ?

BR,

Suhas

PS: From next time please be a lil' prudent while posting your code since there is a limit of 2500 characters.

Read only

0 Likes
3,443

Hi Suhas,

I am passing the fieldcatalog it_fieldcat2 only which I am creating for this purpose.

And fieldcatalog is getting created correctly.

Thanks,

Sudheer

Read only

SuhaSaha
Product and Topic Expert
Product and Topic Expert
0 Likes
3,443

Can you post the code for the "fittings" field ?

Read only

0 Likes
3,443

Hi Suhas,

Please find below the code.

v_col = 1.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'PRUEFLOS'.

wa_fieldcat2-seltext = 'Inspection Lot'.

*WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'WERKS'.

wa_fieldcat2-seltext = 'Plant'.

*WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'ART'.

wa_fieldcat2-seltext = 'Inspection Type'.

*WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'HERKUNFT'.

wa_fieldcat2-seltext = 'Lot Origin'.

*WA_FIELDCAT1-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'STAT35'.

wa_fieldcat2-seltext = 'Usage Decision Made'.

*WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'ENSTEHDAT'.

wa_fieldcat2-seltext = 'Lot created on'.

*WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'ERSTELLER'.

wa_fieldcat2-seltext = 'Created by'.

*WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'PASTRTERM'.

wa_fieldcat2-seltext = 'Insp. Start Date'.

*WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'PAENDTERM'.

wa_fieldcat2-seltext = 'End of Inspection'.

*WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'PLNTY'.

wa_fieldcat2-seltext = 'Task List Type'.

*WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'AUFNR'.

wa_fieldcat2-seltext = 'Order No.'.

*WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'KTEXTMAT'.

wa_fieldcat2-seltext = 'Object short text'.

*WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'KURZTEXT'.

wa_fieldcat2-seltext = 'Short Text for Code'.

*WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'KATALGART1'.

wa_fieldcat2-seltext = 'Catalog Type'.

*WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'GRUPPE1'.

wa_fieldcat2-seltext = 'Code Group'.

*WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'CODE1'.

wa_fieldcat2-seltext = 'Code'.

*WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

*WA_FIELDCAT2-COL_POS = v_col.

*WA_FIELDCAT2-FIELDNAME = 'ORIGINAL_INPUT'.

*WA_FIELDCAT2-SELTEXT_M = 'Original Value'.

**WA_FIELDCAT2-OUTPUTLEN = 20.

*v_col = v_col + 1.

*

*APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

*CLEAR WA_FIELDCAT2.

loop at it_qamv1 into wa_qamv1.

read table it_qasr into wa_qasr with key wa_qamv1-prueflos.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = wa_qamv1-kurztext.

wa_fieldcat2-seltext = wa_qamv1-kurztext. "wa_qasr-original_input.

*WA_FIELDCAT2-OUTPUTLEN = 40.

v_col = v_col + 1.

*read table IT_FIELDCAT2 into WA_FIELDCAT2 with key

  • fieldname = WA_FIELDCAT2-fieldname.

  • if sy-subrc ne 0.

  • APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

    • APPEND xfc TO ifc.

  • endif.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

endloop.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'EQUNR'.

wa_fieldcat2-seltext = 'Equipment'.

*WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'TPLNR'.

wa_fieldcat2-seltext = 'Functional Location'.

*WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'TPLMA'.

wa_fieldcat2-seltext = 'Superior Funct Loc.'.

*WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'STATUS'.

wa_fieldcat2-seltext = 'Status'.

*WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = 'INACT'.

wa_fieldcat2-seltext = 'Status Inactive'.

*WA_FIELDCAT2-OUTPUTLEN = 20.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE

EXPORTING

IT_FIELDCATALOG = IT_FIELDCAT2[]

IMPORTING

EP_TABLE = L_TABLE.

ASSIGN L_TABLE->* TO <IT_TABLE>.

Thanks,

Sudheer

Read only

0 Likes
3,443

Hi,

I am creating a field called 'HARDWARE FITTINGS'.

It is giving the error as 'unable to interpret FITTINGS(000010)'.

It is the outputlength as 000010 by default.

Can anybody help me.

Thanks,

Sudheer

Read only

SuhaSaha
Product and Topic Expert
Product and Topic Expert
0 Likes
3,443

1. If you remove the "Hardware Fittings" field from the fiedlcat is the method call ok ?

If so then you have some problem with this field, right ? *So post only the fieldcat declaration for the "Hardware Fittings" field, we are not interested in other fields as they are OK*

Cheer,

Suhas

Read only

0 Likes
3,443

Hi Suhas,

I am creating the fieldcatlog for the field 'HARDWARE FITTINGS' as below.

loop at it_qamv1 into wa_qamv1.

read table it_qasr into wa_qasr with key wa_qamv1-prueflos.

WA_FIELDCAT2-COL_POS = v_col.

WA_FIELDCAT2-FIELDNAME = wa_qamv1-kurztext.

wa_fieldcat2-seltext = wa_qamv1-kurztext. "wa_qasr-original_input.

*WA_FIELDCAT2-OUTPUTLEN = 40.

v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

endloop.

value of wa_qamv1-kurztext is HARDWARE FITTINGS'

based on the no. of records in the internal table it_qamv1 I need to create multiple fields in our dynamic internal table.

Thanks,

Sudheer

Edited by: sudheer kumar on Apr 19, 2010 9:09 AM

Read only

0 Likes
3,443

Hi Sudheer,

I don't know if my post will still help as this issue has been open since April, I reckon that you've probably figured out the answer to your question. For the benefit of others, you're passing a wrong data to the field wa_fieldcat2-fieldname.

Basing on your code, if i were to place the value of the wa_qamv1-kurztext, it will look like this..


  LOOP AT it_qamv1 INTO wa_qamv1.

    READ TABLE it_qasr INTO wa_qasr WITH KEY wa_qamv1-prueflos.

    wa_fieldcat2-col_pos = v_col.
    wa_fieldcat2-fieldname = 'HARDWARE FITTINGS'.
    wa_fieldcat2-seltext = wa_qamv1-kurztext. "wa_qasr-original_input.
*WA_FIELDCAT2-OUTPUTLEN = 40.
    v_col = v_col + 1.

    APPEND wa_fieldcat2 TO it_fieldcat2.
    CLEAR wa_fieldcat2.

  ENDLOOP.

.

Checking on the documentation of the ALV field catalog field 'fieldname' from SAP, it says "FIELDNAME - Name of the field of the internal output table." In your case, you declared the a data with a space in it.

it's like trying to code like this


data: field fittings type string.

.

which is wrong. try to code it like this.

.
    wa_fieldcat2-col_pos = v_col.
    wa_fieldcat2-fieldname = 'HARDWARE_FITTINGS'.
    wa_fieldcat2-seltext = wa_qamv1-kurztext. "wa_qasr-original_input.
*WA_FIELDCAT2-OUTPUTLEN = 40.
    v_col = v_col + 1.

.

Try removing the space from the value and replace it with some character like '_', see if it works.

Hope this helped.

Patrick

Read only

0 Likes
3,443

Hi Sudheer,


WA_FIELDCAT2-COL_POS = v_col.
WA_FIELDCAT2-FIELDNAME = wa_qamv1-kurztext.
wa_fieldcat2-seltext = wa_qamv1-kurztext. "wa_qasr-original_input.
*WA_FIELDCAT2-OUTPUTLEN = 40.
v_col = v_col + 1.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
CLEAR WA_FIELDCAT2.

endloop.

value of wa_qamv1-kurztext is HARDWARE FITTINGS'

your field name is HARDWARE FITTINGS, You can not use Space in declearation of the field, Please correct the field name and

Please post if you still getting the error.

Thanks,

Anmol

Read only

0 Likes
3,443

sorry was mistakenly posted

Read only

0 Likes
3,443

Hi Sudheer,

i am also getting the same error, do you remember what did u do to remove it. I need your help in this please.

Regards,

Nilanjana

Read only

Former Member
0 Likes
3,443

TYPE-POOLS: abap.

DATA:

lr_structdescr TYPE REF TO cl_abap_structdescr,

lr_tabledescr TYPE REF TO cl_abap_tabledescr,

lr_datadescr TYPE REF TO cl_abap_datadescr,

lt_components TYPE abap_component_tab,

ls_component TYPE LINE OF abap_component_tab,

lr_wa TYPE REF TO data,

lr_tab TYPE REF TO data.

DATA: lv_index_num(3) TYPE n.

DATA: lv_index_char(3) TYPE c.

FIELD-SYMBOLS: <fs_wa> TYPE ANY.

FIELD-SYMBOLS: <fs_tab> TYPE table.

START-OF-SELECTION.

DO 20 TIMES.

lv_index_num = sy-index.

lv_index_char = lv_index_num.

CONCATENATE 'value' lv_index_char INTO ls_component-name.

ls_component-type ?= cl_abap_elemdescr=>get_c( p_length = 10 ).

INSERT ls_component INTO TABLE lt_components.

ENDDO.

  • get structure descriptor -> lr_STRUCTDESCR

lr_structdescr ?= cl_abap_structdescr=>create( lt_components ).

  • create work area of structure lr_STRUCTDESCR -> lr_WA

CREATE DATA lr_wa TYPE HANDLE lr_structdescr.

ASSIGN lr_wa->* TO <fs_wa>.

lr_datadescr ?= lr_structdescr.

lr_tabledescr ?= cl_abap_tabledescr=>create( lr_datadescr ).

  • Create dynmaic internal table, <FS_TAB> will be your dynamic internal table

CREATE DATA lr_tab TYPE HANDLE lr_tabledescr.

ASSIGN lr_tab->* TO <fs_tab>.

data: begin of itab occurs 0,

material(10),

unit(5),

size(2) type n,

quant type i,

end of itab,

begin of wa_out,

material(10),

unit(4),

size1(2) type n,

size2(2) type n,

size3(2) type n,

size4(2) type n,

size5(2) type n,

size6(2) type n,

size7(2) type n,

size8(2) type n,

size9(2) type n,

sizea(2) type n,

sizeb(2) type n,

sizec(2) type n,

sized(2) type n,

sizee(2) type n,

sizef(2) type n,

end of wa_out,

wa_head like wa_out,

tab_out like table of wa_out.

data: begin of ftab occurs 0,

s_val(2) type n,

s_idx type i,

end of ftab.

field-symbols: <col>.

wa_head-material = 'Material'.

wa_head-unit = 'uom'.

SORT itab by size.

ftab-s_idx = 2.

LOOP AT itab.

on change of itab-size.

add 1 to ftab-idx.

ftab-s_val = itab-size.

append ftab.

assign COMPONENT ftab-s_idx OF STRUCTURE wa_head to <col>.

<col> = itab-size.

endon.

ENDLOOP.

sort itab by material.

LOOP AT itab.

on CHANGE OF itab-material.

IF wa_out is not initial.

append wa_out to tab_out.

ENDIF.

clear wa_out.

wa_out-material = itab-material.

endon.

wa_out-unit = itab-unit.

READ TABLE ftab WITH KEY s_val = itab-size.

if sy-subrc ne 0.

  • do something awfully impressive

endif.

ASSIGN COMPONENT ftab-s_idx OF STRUCTURE wa_out to <col>.

<col> = itab-quant.

ENDLOOP.