Skip to Content
0
Former Member
Jul 11, 2012 at 11:13 AM

How to modify internal table in a BADI(Enhancement Spot)

629 Views

Hi Team,

I created an implementation for enhancement spot "HRPAD00INFTYUI".

As per my requirement I have to modify the internal table content,but when I tried to modify

the internal table "FIELD_METADATAS" in method OUTPUT_CONVERSION it's giving the error " The field "FIELD_METADATAS" cannot be changed".

I tried with the below logic which is not successful.

DATA:WA TYPE HRPAD_FIELD_METADATA,
ITAB TYPE HRPAD_FIELD_METADATA_TAB.

FIELD-SYMBOLS: <P0006> TYPE P0006,
<FINAL> TYPE ANY TABLE.

ASSIGN PNNNN TO <P0006>.
ASSIGN FIELD_METADATAS TO <FINAL>.
IF SY-SUBRC EQ 0.
ITAB[] = <FINAL>.
ENDIF.

*move field_metadatas to itab.

IF <P0006>-SUBTY = '5'.
LOOP AT ITAB INTO WA.
IF WA-FNAME = 'LAND1'.
WA-UNUSED = 'X'.
MODIFY ITAB FROM WA INDEX SY-TABIX.
ENDIF.
ENDLOOP.
ENDIF.

* MODIFY field_metadatas FROM wa.
* move itab to field_metadatas.
FIELD_METADATAS[] = ITAB[].


Please advice me how to modify the internal table content .

Thanks,

Hari