Hi,all I have a question which is how to locate button's process of form? As we know, the form is displayed by display application, where we can find displayoptions for toolbar button, now for example sc.manage.problem.g form, in which there is button named "New" and button id is 800, I want to locate it's process, but I don't know where I can find it's definition.
Thanks in advance! Any ideas will be very appreciated!
Hi, I forget another thing. sometimes I want to locate a toolbar button process, I only find display screen record, no display state record with displayscreen id. What reason for that? and how to find toolbar button process in that case?
Ok generally there will be a displayscreen, (scm.advanced) bottom right of screen, you can show the name in the RAD debugger by using... d 1 in $L.screen
The displayscreen displayoption can be used by the State record of the Document Engine to run a Process.
It can also be used by a RAD routine. To find where it is used in RAD you can usually look for a panel called display.decide, the RAD could then call a Process record to run or run another application directly.
Your example ID 800 New is controlled in the RAD application scm.advanced. Look at the display.decide panel and where $L.action="new". This action was passed from the displayoption ID 800 of scm.advanced. The next panel is check.new.application. Following through the RAD panels takes you to a point where the Add/Open Application (SC Manage TAB) in the probsummary Object record is run.
I am sorry if I am not explaing very well but you may get some idea of how there is more that one way of doing things in SC.
Hi,Kevin Thank you very much. I really learn a lot from you! Your explainations are very clear.
Now I have a question, and hope you could help me. You mentioned displayoption is used not only by States record but also by RAD routine. I have go through many panels from first panel, display.decide panel. That's OK. My question is when I check "check.new.application" panel, there are two exits, one is exit for condition, the other is "exit:normal", I am a little confused with them, which I should exit from that panel.
Another question is I have tried two exits, but anyone of them will not bring me to correct result I think. I will show each path below: for exit for condition which is from "pre.call.application". pre.call.application ->check.new.exceptions ->call.search -> display.queue. Another exit:normal which is from "check.new.exceptions": check.new.exceptions -> check.thread -> call.engine -> setup.display -> display.queue.
I don't know if my explaintion is clear, could you tell me how to find final action for Button ID 800?