Application Development 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: 

help in eroor in field symbol

Former Member
0 Kudos

Hallow I have this error

"<FS_ANY2>" is not an internal table.

I try to change <FS_ANY2> to TYPE STANDARD TABLE but I have DUMP in

<b>CONCATENATE 'LT_P' l_infty INTO l_field2</b>. what is the best way to solve it?

regards

FIELD-SYMBOLS: <fs_any> TYPE ANY,

<fs_any2> TYPE any.

DATA: l_field TYPE string,

l_field2 TYPE string.

DATA: l_infty TYPE char4.

IF ( <wa_lcl_pers_tab>-infty EQ '0000' ) OR ( <wa_lcl_pers_tab>-infty EQ '0002').

l_infty = <wa_lcl_pers_tab>-infty.

CONCATENATE 'LS_P' l_infty INTO l_field .

<b>CONCATENATE 'LT_P' l_infty INTO l_field2.</b>

ASSIGN (l_field) TO <fs_any>.

ASSIGN (l_field) TO <fs_any2>.

LOOP AT infty_tab_after INTO ls_prelp.

CALL METHOD cl_hr_pnnnn_type_cast=>prelp_to_pnnnn "Convert: semi-transparent -> transparent infotype

EXPORTING

prelp = ls_prelp

IMPORTING

pnnnn = <fs_any>.

APPEND <fs_any> TO <fs_any2>.

ENDLOOP.

ENDIF.

REGARDS

1 ACCEPTED SOLUTION

uwe_schieferstein
Active Contributor
0 Kudos

Hello Shnya

Code:

FIELD-SYMBOLS:
  <fs_any2> TYPE TABLE.

Regards

Uwe

7 REPLIES 7

0 Kudos

Hi,

try

<fs_any2> TYPE any table.

Steffen

Former Member
0 Kudos

Instead of using <b><fs_any2> TYPE any</b>.

use <b><fs_any2> TYPE any table</b>.

uwe_schieferstein
Active Contributor
0 Kudos

Hello Shnya

Code:

FIELD-SYMBOLS:
  <fs_any2> TYPE TABLE.

Regards

Uwe

Former Member
0 Kudos

you are assigning (l_field) 2 times to different variables , change the second line

ASSIGN (l_field) TO <fs_any>.

ASSIGN <b>(l_field2)</b> TO <fs_any2>.

uwe_schieferstein
Active Contributor
0 Kudos

Hello Shnya

Your logic looks to complicated for me. The semi-transparent ls_prelp "knows" its infotype. Thus, you could simplify your coding as following:

DATA:
  ldo_data            TYPE REF TO DATA.
  ld_tabname    TYPE tabname.

FIELD-SYMBOLS:
  <ls_pnnnn>  TYPE any.

LOOP AT infty_tab_after INTO ls_prelp.
  CONCATENATE 'PA' ls_prelp-infty INTO ld_tabname.

  CREATE DATA ldo_data TYPE (ld_tabname).
  ASSIGN ldo_data->* TO <ls_pnnnn>.

CALL METHOD cl_hr_pnnnn_type_cast=>prelp_to_pnnnn
  EXPORTING
    prelp = ls_prelp
  IMPORTING
    pnnnn = <ls_pnnnn>.

  CASE ls_prelp-infty.
    WHEN '0000'.
      APPEND <ls_pnnnn> TO <lt_any>.  " line type PA0000
    WHEN '0002'.
      APPEND <ls_pnnnn> TO <lt_any1>.  " line type PA0002  
   WHEN others.
   ENDCASE.

ENDLOOP.

Regards

Uwe

0 Kudos

Uwe Schieferstein

thankes for your answer

i try it !

regards

0 Kudos

hi uwe

sorry for timeing

i use your code and its working maybe u can explain to me the code in bold.

regards

Hello Shnya

Your logic looks to complicated for me. The semi-transparent ls_prelp "knows" its infotype. Thus, you could simplify your coding as following:

DATA:

ldo_data TYPE REF TO DATA.

ld_tabname TYPE tabname.

FIELD-SYMBOLS:

<ls_pnnnn> TYPE any.

LOOP AT infty_tab_after INTO ls_prelp.

CONCATENATE 'PA' ls_prelp-infty INTO ld_tabname.

<b> CREATE DATA ldo_data TYPE (ld_tabname). "this code

ASSIGN ldo_data->* TO <ls_pnnnn>.</b>

CALL METHOD cl_hr_pnnnn_type_cast=>prelp_to_pnnnn

EXPORTING

prelp = ls_prelp

IMPORTING

pnnnn = <ls_pnnnn>.

CASE ls_prelp-infty.

WHEN '0000'.

APPEND <ls_pnnnn> TO <lt_any>. " line type PA0000

WHEN '0002'.

APPEND <ls_pnnnn> TO <lt_any1>. " line type PA0002

WHEN others.

ENDCASE.

ENDLOOP.

Regards

Uwe