cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Access BOL Objects from PROCESS_EVENT

Former Member
0 Likes
356

Hello everyone,

I would really appreciate your help with this!

Situation:

I have a list GUIBB, where a user can change a value (possibly in all lines).

After a user has changed a value and pressed the enter-key, I need to recalculate other values depending on the changed one. I have created my own feeder class for the list and want to implement the method PROCESS_LIST_CELL_ACTION, which is called in just this case.

Problem:

How do I get access to my BOL (root) objects from within the feeder class?

As a user might have changed multiple lines before pressing the enter-key, I need to do the recalculation for all objects. But I do not know, how to access them...

I would be gratefull for your help!

Kind Regards,

Robert

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Likes

Hi,

Meanwhile I found a solution!

I will give a short description for everyone on Google and the forum search to find...

In a feeder class you can access the instance variable MO_COLLECTION which is a collection of all your BOL entities.

By requesting an iterator from it, you have all means to process your BOL entities/objects.

After modifying the entities you have to use the service method ACTIVATE_BOL_SENDING to ensure an update of BOL for an entity.

For details see the code snippet below:


lo_iterator = mo_collection->get_iterator( ).

"process all Cash Concentration proposals
lo_entity = lo_iterator->get_first( ).

WHILE lo_entity IS BOUND.

  "ensure update of BOL for this object
  activate_bol_sending( lo_entity ).

  "get data of object
  me->get_entity_data(
    EXPORTING
      io_access = lo_entity
    CHANGING
      cs_data   = [attribute_structure] ).

  "update values on object
  lo_entity->set_property(
    iv_attr_name = [attribute_name]
    iv_value     = [attribute_value] ).

  "next entity
  lo_entity = lo_iterator->get_next( ).
ENDWHILE.

I hope this is helpful to someone!

Kind Regards,

Robert

Edited by: Robert Schulz on Nov 20, 2009 10:50 AM