cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple Retrieve and Retrieve By Association calls in BOPF

bharath_k6
Active Participant
0 Kudos

Hi,

I am new to SAP TM and working in version 8.1.

I have been debugging for one production issue and found there are multiple Retrieve and Retrieve by Association calls are happening inbetween.

I have couple of questions to understand the behaviour of BOPF in this regard.

1.There are multiple nodes and subnodes created under every BO in T-code /BOBF/CONF_UI.
   How to find the cross association between nodes from different BO's. Is it maintained somewhere?

2.When retrieve method is called from generic service manager class, it flows through several standard FRW classes.
   I observed, need to spend a lot of time(Spent almost 1 day in debugging without solution) on arriving at the exact class where actual data retriaval logic is written.
   Is there any direct way or shortest way of finding the exact class in which data retrieval / updation is happening?

Please help and guide.

Thanks,
Bharath.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Try searching layer aware debugging, use the new debugger. From one of the menu you can enable layer aware debug.

You can say that only stop if the debugger reaches classes of packages with /SCMTMS/XXX.

Hope this helps.

bharath_k6
Active Participant
0 Kudos

Dear Murugesh,

Thanks for your quick response.

I have created a object set and profile and went to debuggin.

When i click on 'Next Object Set' button in debugging it takes me through all the methods of a class.

If i specify a package in the object set, it triggers me all the classes and all of it's methods of package.

Can i still have some other way to filter them and find the relevant class or method?

Can i get any help from BOPF T-codes /BOBF/CONF_UI or /BOBF/TEST_UI to find the exact class?

Thanks,

Answers (4)

Answers (4)

vickyokrm
Participant
0 Kudos

Hi Bharath,

For your First for Finding the cross BO Association , You can find the Associations maintained in the Corresponding BO Model, and the association can be designed using the configuration or either it can be also implemented via code.

And for your second Question , i hope the generic Retrieval is implemented in the framework class,

/BOBF/CL_FRW.

Thanks,

Vignesh.

bernd_dittrich
Active Participant
0 Kudos

ONe more comment: If the assoc is implemented by a specific calss, this class is maintained in the assoc, you can see it in the BOBF conf ui. Otherwise it is modelled and you should rather check the definition (key bindings) than debugging it.

0 Kudos

Hi,

1. cross BO associations are maintained in /BOBF/CONF_UI using association category cross business object association. you can see that under a node in the association section.

2. BO data retrieval and update happens by BOPF itself (FRW classes). the transaction service manager class is the API for that. You passes the context like node, bo, kind of operation(retrieve,modify), data to update and based on that BOPF reads the BO metamodel(the BO structure that you defined in /BOBF/CONF_UI) and identifies the tables to update, read...

there are other classes for determination, action... which you configure in /BOBF/CONF_UI.

these class will be called depending on their defined call sequence like before retrieve etc.

bharath_k6
Active Participant
0 Kudos

Hi Manas,

Thanks for helpful information.

I am new to BOPF concept. I have understood the same behvaiour of BOPF from my experience.

We were facing issue during data retrieval as data displayed in the application was wrong. Then i started debugging and i come across with transaction manager class RETRIEVE_BY_ASSOCIATION method executed. but when i further debug it i went in to BOPF framework classes and buffer classes.

I had to spent lot of time pressing F5 during debugging to arrive at the actual class where business logic has written to retrieve the data.

If i would like to bypass all standard framework classes and would like to directly keep a breakpoint in actual class where data retrieval logic is written. How can i achieve that.

How do i find which classes are executed for particular concept of Forwarding order or freight booking, so that i can directly keep a breakpoint and debug. It will reduce lot of efforts and reduce the time for solving the issue.

Please guide.

Thanks a lot in advance.

Thanks,

Bharath.

tarunkumar
Active Participant
0 Kudos

Hi Bharath,

Framework will not return you wrong data, it completely works upon the keys you pass for the retrieval; one more possibility is that data retrieved from buffer/DB is modified by some determinations(possibly "on load") before it is displayed on UI.

Actual retrieval of data is done in data access classes, this class is maintained in your BO model and can be located from BOPF conf ui.

Thanks & Regards,

Tarun Kumar

Former Member
0 Kudos

Hi Bharath,

Exactly which actual data retrieval logic you want??

If you want to find out any particular node's data, look for the determination & action classes for that particular node. Set a break-point in that classes.

Hope this helps you.

Regards,

Sanket.