07-03-2007 10:54 AM
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
07-03-2007 11:09 AM
07-03-2007 11:03 AM
07-03-2007 11:03 AM
Instead of using <b><fs_any2> TYPE any</b>.
use <b><fs_any2> TYPE any table</b>.
07-03-2007 11:09 AM
07-03-2007 11:11 AM
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>.
07-03-2007 11:25 AM
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
07-03-2007 12:04 PM
07-04-2007 10:18 AM
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