Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Enhance Standard Business content extractor using “RSU5_SAPI_BADI”.

Hello,

I would like to enhance 0EQUIPMENT_ATTR. Standard Master Data Source BWE_EQUI is appended with the field GROES. The data for this field is filled from  EQUI - GROES. I tried to do exactly the same as in tutorial:

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/3001894b-b1fb-2910-77ba-e80b6f2053b7?overridelayout=t…

When I enhance 0PROFIT_CTR_ATTR, as in tutorial, it is working correctly. Unfortunately, in case of 0EQUIPMENT_ATTR, I can't activate my method.

The error is: "EQUI_GROES" is not defined in the ABAP Dictionary as a table, projection view, or database view.

The code looks similar to the one from the tutorial. What should I do to make EQUI table visible and activate my method?

Thank you in advance for any help!

The code:

method IF_EX_RSU5_SAPI_BADI~DATA_TRANSFORM.

   CHECK i_datasource = '0EQUIPMENT_ATTR'.

   DATA: lt_data TYPE TABLE OF BWE_EQUI.

   FIELD-SYMBOLS: <ls_data> TYPE BWE_EQUI.

*----------------------------------------------------------------*

* Internal table for EQUI_GROES

*----------------------------------------------------------------*

   TYPES:

   BEGIN OF ty_equimpent,

   EQUNR TYPE BWE_EQUI-EQUNR,

   GROES TYPE BWE_EQUI-GROES,

   END OF ty_equimpent.

   DATA:

   lt_equimpent type standard table of ty_equimpent,

    ls_equimpent type ty_equimpent.

   lt_data[] = c_t_data[].

*----------------------------------------------------------------*

* Read data into internal memory

*----------------------------------------------------------------*

   select EQUNR

   GROES

   from equi_groes

    into table lt_equimpent

     for all entries in lt_data

   where EQUNR eq lt_data-EQUNR.

   LOOP AT lt_data ASSIGNING <ls_data>.

     read table lt_equimpent into ls_equimpent

     with key EQUNR = <ls_data>-EQUNR.

     if sy-subrc eq 0.

       <ls_data>-GROES = ls_equimpent-GROES.

       MODIFY lt_data FROM <ls_data>.

     endif.

   ENDLOOP.

   REFRESH c_t_data.

   c_t_data[] = lt_data[].

endmethod.

Tags:
Former Member
Former Member replied

Hi,

In select statement u have mention the table name.

No need to use modify statement, if you are using field-symbol.

select EQUNR

   GROES

   from BWE_EQUI

    into table lt_equimpent

     for all entries in lt_data

   where EQUNR eq lt_data-EQUNR.


Thanks,

Somesh.

0 View this answer in context

Helpful Answer

by
Not what you were looking for? View more on this topic or Ask a question