SAP Knowledge Base Article
1849381 - How to debug CRM WebUI using Conditional Breakpoints Version 1 Validity: 21.04.2013 - active Language English
Symptom
You want to debug CRM WebUI and you do not know where to set a breakpoint.
Environment
SAP CRM 2007 and later Conditional breakpoints
l l
were originally introduced in CRM 2007 and got extended during higher releases (note 1225639)
The screenshots are based on a CRM 7.0 EHP1 system.
Reproducing the Issue
You want to debug the WebUI Framework but you do not know where to set a breakpoint. You want to use conditional breakpoints but you are not able to activate it.
Cause
DebuggingCRMWebUIFrameworkiscomplexastheclassesandmethodsarebeingprocessedseveraltimesduringnestedoperations.
Resolution
How to activate conditional breakpoints
To be able to use conditional breakpoints, you have to 1. ActivatecheckpointgroupCRMUIF_CONDITIONAL_BREAKPOINTS in transaction SAAB
2. start the CRM WebUI using transaction CRM_UI_DBG (CRM 7.0),WUI_DGB(CRM7.0EHP1andlater)or transactionSTART_BSP with "BSP Application": CRM_UI_START (CRM 7.0 and later), CRM_UI_FRAME (CRM 2007) Flag for "External Debugging On"
3. Logon to CRM WebUI and open the conditional breakpoint popup using F2 + ALT
How to use conditional breakpoints?
1. Open the conditional breakpoint popup using hot-key Alt-F2 2. "In:" Select the software layer where you want to set a breakpoint Business Object Layer (responsibleforprocessingofBusinessObjects):toinvestigatewhenentitiesofagiventypeareadded, searchedorremovedfromaBOLentitycollection,whenentitiesaredeletedortextmessagesarecreated.Usetheevent"Delete BusinessObject"tofindoutwhyyougetthemessagethattheprogramwastryingtoaccessaentitywhichhasalreadybeendeleted. BOL Entity Manager(centralbufferforBusinessObjectstospeedupBOLoperations):"RemoveEntity"helpstofindout,whyaBOL entity disappears in the application unexpectedly, or detect unassigned entities which have lost the connection to their parent entity Tag Library for Configurable and Thin HTML: helps to find out how UI elements are created in configurable views or were a value help comes from UIFramework:to investigate MVC processing, the processing of inbound plugs or delta handling (sorting of events = sequence during runtime) Design Layer (definitionoffieldlabelsandfieldvisibility):tofindouthowthelabelandvisibilityofafieldisdeterminedinthedesign layer Common Application Features in the CRM UI Framework: to investigate how data loss handling works, if a custom enhancement is loaded or cross component navigation 3. "At event": Select an event for the software layer 4. "When", "Is": define a "Break condition" to ensure that the conditional breakpoint depending on your investigation purposes, to ensure that itonlystopswhenneeded.
An Example
We want to use conditional breakpoints to debug searching and displaying of accounts using business role SALESPRO:
We want to stop 1. wheneventforsearchingistriggered(Breakpoint2)and 2. whenthemessageonhowmanysearchresultsgetsadded(Textmessage) 3. thetheattributewithvalue7000043636(=numberoftheexamplebusinesspartner)isreadfromthecontextnode(Breakpoint1)and Then we search for an account with Name 1 is "Test Organization":
The debugger stops three times 1. when the search event is triggered:
2. when the message gets added to the message container
3. when the attribute is added to context node
Header Data
Released On Release Status Component Priority Category 22.04.2013 13:45:12 Released to Customer CRM Customer Relationship Management Normal How To
Other Components CA-WUI WebClient UI
Product
This document is not restricted to a product or product version
References
This document refers to:
CSS SAP Notes 1225639 Conditional Breakpoints - Improved Error & Program Analysis