Please Read These Topics from Peoplebooks
Total Page:16
File Type:pdf, Size:1020Kb
Please read these topics from PeopleBooks
SetTracePC – peoplcode function SetTraceSQL - peoplcode function (Server level and peoplecode level both) Apart from using trace=y at signon page trace options can be set at server level also.
;------; PeopleCode Debugger Trace Settings ; ; Level Type of tracing ; ------; 0 Off (default) ; 1 Level 1 - log connection activity ; 2 Level 2 - log debug broker transactions (getsession, register/unregister, acquire/unacquire) ; 3 Level 3 - log primary debuggee/debugger transactions (register, modechange, seteventflag, break) ; 4 Level 4 - log debuggee/debugger variables transactions ; 5 Level 5 - log debuggee/debugger command responses and gotbreaks ; Warning: Levels 3 thru 5 result in lots of transaction data being logger and require plenty of disk space. DebuggerMsgLogEnable=0 http://pbfin88.syr.edu/PSOL/htmldoc/eng/psbooks/tape/chapter.htm?File=tape/htm/tape09.htm %23H4013 – Application engine trace – Very interesting Use –trace 128 for trace on statement timings Read Optimizer hint in oracle as peoplecode optimization may need optimizing underlying SQL / Views - http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/hintsref.htm
Option 1 for PC trace
Option 2 for PC trace
Make some changes to below and trace starts immediately after you save.. Peoplecode Optimization a. Points of view for peoplecode:- 1. Application engine 2. PIA code
Peoplecode should be handled in diff ways in app engine and pia and hence their optimization has diff effects and techniques. You can consult peoplebooks for details.
1. Application engine techniques for optimizaton is as under: ....check for if-then-exit to handle cases and shorten execution time...exit is very useful command ....use api processes whereever possible as in the case of executing and processing queries through app engine ....use file layouts, if possible, for file processing ....sql/peoplecode tracing
2. PIA code ...loads of possibilities...need to explore into peoplebooks for the diff categories of commands doing the same thing...example, if u r in HR module, you might like to explore getnextnumber() or getnextnumberwithgaps() or something like that for employee ids i believe. this method is again used for sequencing in newer versions of peopletools tables. i can suggest that you might just ask someone who is an expert in at least 3 diff versions of peopletools. usually if u note the diff ways a particular module is implemented by Oracle Corp. in diff version of peopletools you get get a lot of points on this type of optimization. You can consult CRM peopletools expert in your case :) ...minimize use of secondary pages in ur code and design...if possible, in case, try to use subpages ...try to use domodal() techniques in ur designs. this is a work-around. it does not necessarily give an advantage in the real sense but the user-experience is enhanced and the user feels that the page is responding better than before! ...use the tracing to better ur sqlexecs....i would suggest to use less sqlexecs since they impact database directly. though they are fast and some people might suggest to go in for them, it is much better way to use createsql() and %sql and operate for better control. ...always use exception handling if u can...example try-catch...again, in the application engine peoplecode this wont work so u need to use %Session.PSMessages.count to trap ur errors at the message log level and do the processing...... check out using %perftime or something like that in peoplebooks. this will be be really helpful when u have large chunks of peoplecode in ur programs and the project only concentrates on performance optimization.
CreateSQL is slow as it is not pre-compiled and takes more time better go for GetSQL which is pre-compiled.
Following link can also be useful: https://peoplebooks.uta.edu/PSOL/pt846books/eng/psbooks/topt/chapter.htm? File=topt/htm/topt05.htm.