Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

BOPF Problem inside associations/determinations

matthias_flury
Explorer
0 Kudos

Situation:

Inside the determination of a subnode instance B1 of node A1 the data of another instance A2 is retrieved. In this retrieve the transient data of instance A2 is missing if it is retrieved by io_read. If it is retrieved by an new service manager the transient data of A2 is ok -> see image.

Question

- why is this happening

- what are the consequences of using another service manager inside the service manager ?

- what is the correct way of doing this

Thanks Matthias

1 REPLY 1

ivo_vollrath
Active Participant
0 Kudos

Hi Matthias,

transient data is filled by determinations. BOPF usually runs determinations only at the end of a service manager call. You can enforce the execution of pending determinations by executing `io_modify->end_modify(… iv_process_immediately = abap_true …)`. I guess you are talking about an implementation of `/bobf/if_frw_association~resolve`. In this case, you are in bad luck because the signature of this method does not offer the io_modify parameter. Therefore, using the service manager is a valid solution for you.

On the other hand, we are talking about BO-internal logic, both for the transient fields, and for the association. So, you could consider directly calling the code which fills the transient fields from within your implemented association, without violating "information hiding" principles or "separation of concerns".

Kind Regards,