Skip to Content
0
Former Member
Jan 03, 2008 at 10:44 AM

Reg: code problem in Function module

19 Views

Hi Friends,

I am facing problem while developing Function module.

i declared following things in Import.

*"----


""Local Interface:

*" IMPORTING

*" VALUE(SOURCETABLETXT) TYPE STRING

*" VALUE(SELECTTXT) TYPE STRING

*" VALUE(SOURCEINFOOBJECT) TYPE STRING

*" REFERENCE(ITAB_OUTTAB)

*" REFERENCE(ITAB_SOURCEPAK)

*"----


In source code writen as,

DATA DREF1 TYPE REF TO DATA.

FIELD-SYMBOLS: <ITAB_SPACK> TYPE ANY TABLE,

<WA1> TYPE ANY,

TYPES: BEGIN OF SOURCEIOJ,

SOURCEINFOOBJECT(72) TYPE C ,

END OF SOURCEIOJ.

DATA: ITAB_SOURCEIOJ TYPE TABLE OF SOURCEIOJ.

DATA: WA_SOURCEIOJ LIKE LINE OF ITAB_SOURCEIOJ.

ASSIGN ITAB_SOURCEPAK->* TO <ITAB_SPACK>.

CREATE DATA DREF1 LIKE LINE OF <ITAB_SPACK>.

ASSIGN DREF1->* TO <WA1>.

LOOP AT <ITAB_SPACK> assigning <WA1>.

READ TABLE ITAB_SOURCEIOJ INTO WA_SOURCEIOJ WITH KEY SOURCEINFOOBJECT = <WA1>-SOURCEINFOOBJECT.

IF SY-SUBRC <> 0.

WA_SOURCEIOJ-SOURCEINFOOBJECT = <WA1>-SOURCEINFOOBJECT.

INSERT WA_SOURCEIOJ INTO TABLE ITAB_SOURCEIOJ.

ENDIF.

ENDLOOP.

While checking i am getting error as The data object "<WA1>" has no structure and therefore no componentcalled "SOURCEINFOOBJECT". called "SOURCEINFOOBJECT".

SOURCEINFOOBJECT is not field in internal table which passing as reference and hence not in WA1.

But the input field which i give to SOURCEINFOOBJECT while calling the FM, that input field is the part of the intenal table

<ITAB_SPACK>, which ref of ITAB_SOURCEPAK passing to FM.

Please give some idea how to handle this.

Regards

MRK