Find Objects from Object operations
Hi,
I am getting following exception when I am using the objectoperations, find object method. Could you please let me know why is this happening?
object search: {Objects.Name=OID User}
java.lang.NullPointerException
at Thor.API.Operations.tcObjectOperationsClient.findObjects(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at Thor.API.Base.SecurityInvocationHandler$1.run(Unknown Source)
at Thor.API.Security.LoginHandler.jbossLoginSession.runAs(Unknown Source)
at Thor.API.Base.SecurityInvocationHandler.invoke(Unknown Source)
at $Proxy5.findObjects(Unknown Source)
I am using following code from my custom client.
HashMap search = new HashMap();
search.put("Objects.Name", objectName);
tcResultSet result = objIntf.findObjects(search);
I logged into OIM from my java class with the following code
tcSignatureMessage moSignature = tcCryptoUtil.sign(id, "PrivateKey");
logger.debug("Env = " + env);
tcUF = new tcUtilityFactory(env, moSignature);
Any help is greatly appreciated.
Thanks
This is news to me, interesting!
I've always used the meta data labels and never had a problem and the result set you get returned will have the meta data names too.
As for the code it should work but are you sure you're getting something back from the findObjects()? You understand that the OIM API employs the same security model as everything else, so if you're not allowed to see the object, then it will not get returned. Try the query with the sys admin account and make sure that there's a check that the result set isn't empty.
Ian
Edited by: user809225 on 25-Nov-2008 14:21
Similar Messages
-
How to convert from Finder Object reference to POSIX path
I'm new to AppleScript. I'm super close to getting what I need done, but I've ran across a snag in the middle.
The error I'm getting is Can’t make quoted form of POSIX path of item 1 of {«class docf» \"filename\" of «class cfol» \"foldername\" of «class cfol» \"Desktop\" of «class cfol» \"Username\" of «class cfol» \"Users\" of «class sdsk» of application \"Finder\"} into type Unicode text. the problem area is highlighted and notated below. I've looked all around online but can't find what I need.
Thanks in advance for any and all help!
set text item delimiters to "."
tell application "Finder"
set theFilestoChoose to every item of (choose file with prompt "Please select the file(s) you would like to move and rename" with multiple selections allowed) as list
display dialog "Would you like to move these files to an existing folder and then rename them, or create a new folder and then rename them?" buttons {"Move to an existing folder and rename", "Create a new folder and rename"}
if result = {button returned:"Move to an existing folder and rename"} then
set firstnewname to "Aauuttoommaattoorr"
repeat with index from 1 to the count of theFilestoChoose
set theFilesChosenbeingrenamedfirsttime to item index of theFilestoChoose
set filenamecount to text items of (get name of theFilesChosenbeingrenamedfirsttime)
if number of filenamecount is 1 then
set fileextension to ""
else
set fileextension to "." & item -1 of filenamecount
end if
set the name of theFilesChosenbeingrenamedfirsttime to firstnewname & index & fileextension as string
end repeat
log theFilesChosenbeingrenamedfirsttime
set choosingtheplacetomove to choose folder with prompt "Select the folder to move to"
set thechosenfoldersname to name of folder choosingtheplacetomove -- sets the folder name as text
set AppleScript's text item delimiters to {"-"}
set Numberofthemonthatthebeginningofthefoldername to text item 1 of thechosenfoldersname as string -- for later to append the number back on without having to ask again!
set shortenedname to text item 2 of thechosenfoldersname as string
set the name of choosingtheplacetomove to shortenedname as string
set thefolderstemporarynameaslocation to choosingtheplacetomove as string
move theFilestoChoose to folder thefolderstemporarynameaslocation
log theFilestoChoose
set allfilesindestinationfolder to every file in choosingtheplacetomove as alias list --
set aInitials to the text returned of (display dialog "Whose camera were this/these pictures taken on?" default answer "")
set filteredList to my filterList(allfilesindestinationfolder, aInitials) as list
log filteredList
-- everything above this is correct so far and works perfect
--TROUBLE SECTION BELOW
set theSortedfilterList to (sort filteredList by creation date) -- something happens here with the theSortedfilterList that makes it unintelligible to convert to POSIX later. but I need the files in the order that this line puts them.
log theSortedfilterList
set timetorenamelasttime to theSortedfilterList
set newbasename to shortenedname
repeat with index from 1 to the count of timetorenamelasttime
set theonefile to item index of timetorenamelasttime
set theonefilenamecount to text items of (get name of theonetwothreefile)
if number of theonefilenamecount is 1 then
set fileextensionone to ""
else
set fileextensionone to "." & item -1 of theonefilenamecount
end if
tell application "System Events" to set CreaDate to creation date of file theonefile
set CreaDate2 to CreaDate as text -- need to trim down to the first 10 characters and eliminate the "-"
set AppleScript's text item delimiters to {""}
set shorteneddatename to text items 1 thru 10 of CreaDate2 as string
set the name of theonefile to shorteneddatename & {"-"} & newbasename & {"-"} & aInitials & {"-"} & index & fileextensionone as string
end repeat
--Trouble section above
set the name of choosingtheplacetomove to Numberofthemonthatthebeginningofthefoldername & "-" & shortenedname as string -- returns the month prefix to the foldername
else if result = {button returned:"Create a new folder and rename"} then
set repeatConfirmation to true --Boolean to decided if script should be repeated; default is to repeat
repeat while (repeatConfirmation = true) --Repeat if Any Tests Are Failed
set thefirstquestion to choose from list {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"} with title "Event Month Selection" with prompt "Select the month in which the event started. Select only one month:"
set theMonthAnswer to result
if theMonthAnswer = false then --"For historical reasons, choose from list is the only dialog command that returns a result (false) instead of signaling an error when the user presses the “Cancel” button."
set repeatConfirmation to false
set exitingeventmonth to display dialog ("You are exiting selecting the event month phase of the program. You will need to manually fix this decision") buttons {"OK"} with title "Exiting Event Month Selection"
if button returned of exitingeventmonth = "OK" then
set theMonthAnswer to ""
end if
else
set confirmationanswer to display dialog "You selected " & theMonthAnswer & ", is this correct? " buttons {"Yes, that's correct.", "No, the picture(s) are from a different month."} with title "Confirm Event Month Selection"
if button returned of confirmationanswer = "Yes, that's correct." then
set repeatConfirmation to false
else
display dialog ("That's okay, you can select another again!") buttons {"OK"} with title "Return to Event Month Selection"
end if
end if
end repeat
log theMonthAnswer
if theMonthAnswer = "" then
set monthtonumber to "You have cancelled this action."
log monthtonumber
else if theMonthAnswer = {"January"} then
set monthtonumber to "01"
log monthtonumber
else if theMonthAnswer = {"February"} then
set monthtonumber to "02"
log monthtonumber
else if theMonthAnswer = {"March"} then
set monthtonumber to "03"
log monthtonumber
else if theMonthAnswer = {"April"} then
set monthtonumber to "04"
log monthtonumber
else if theMonthAnswer = {"May"} then
set monthtonumber to "05"
log monthtonumber
else if theMonthAnswer = {"June"} then
set monthtonumber to "06"
log monthtonumber
else if theMonthAnswer = {"July"} then
set monthtonumber to "07"
log monthtonumber
else if theMonthAnswer = {"August"} then
set monthtonumber to "08"
log monthtonumber
else if theMonthAnswer = {"September"} then
set monthtonumber to "09"
log monthtonumber
else if theMonthAnswer = {"October"} then
set monthtonumber to "10"
log monthtonumber
else if theMonthAnswer = {"November"} then
set monthtonumber to "11"
log monthtonumber
else if theMonthAnswer = {"December"} then
set monthtonumber to "12"
log monthtonumber
end if
set theNameofFoldertoMake to text returned of (display dialog "Please enter the name of the new folder you are creating:" default answer "" with title "New Folder Name")
set LocationOfNewFolder to choose folder with prompt "Choose the location of the new folder you are creating:"
set theNewNameofFoldertoMake to monthtonumber & "-" & theNameofFoldertoMake
set newfolderaction to make new folder at LocationOfNewFolder with properties {name:theNewNameofFoldertoMake}
move theFilestoChoose to newfolderaction
end if
end tell
--function
on filterList(allfilesindestinationfolder, aInitials)
set patterns to {aInitials as string, "Aauuttoommaattoorr"}
set output to {}
repeat with aFile in the allfilesindestinationfolder
repeat with aPattern in patterns
set filepath to aFile as string
if filepath contains aPattern then
set end of the output to aFile
exit repeat
end if
end repeat
end repeat
return output
end filterListOkay, so you wanted the debugging and error messages. Thank you for the coaching. Here is what I get from the following line:
set theSortedfilterList to (sort filteredList by creation date)
log theSortedfilterList
Log returns:
(*document file Aauuttoommaattoorr3.AVI of folder SnowDay of folder Desktop of folder Username of folder Users of startup disk, document file Aauuttoommaattoorr2.MOV of folder SnowDay of folder Desktop of folder Username of folder Users of startup disk, document file Aauuttoommaattoorr1.mov of folder SnowDay of folder Desktop of folder Username of folder Users of startup disk*)
set pxFile to POSIX path of ((theSortedfilterList) as alias)
Error: "Can’t make {«class docf» \"Aauuttoommaattoorr3.AVI\" of «class cfol» \"SnowDay\" of «class cfol» \"Desktop\" of «class cfol» \"Username\" of «class cfol» \"Users\" of «class sdsk» of application \"Finder\", «class docf» \"Aauuttoommaattoorr2.MOV\" of «class cfol» \"SnowDay\" of «class cfol» \"Desktop\" of «class cfol» \" Username \" of «class cfol» \"Users\" of «class sdsk» of application \"Finder\", «class docf» \"Aauuttoommaattoorr1.mov\" of «class cfol» \"SnowDay\" of «class cfol» \"Desktop\" of «class cfol» \" Username \" of «class cfol» \"Users\" of «class sdsk» of application \"Finder\"} into type alias." number -1700 from {«class docf» "Aauuttoommaattoorr3.AVI" of «class cfol» "SnowDay" of «class cfol» "Desktop" of «class cfol» "Username" of «class cfol» "Users" of «class sdsk», «class docf» "Aauuttoommaattoorr2.MOV" of «class cfol» "SnowDay" of «class cfol» "Desktop" of «class cfol» "Username" of «class cfol» "Users" of «class sdsk», «class docf» "Aauuttoommaattoorr1.mov" of «class cfol» "SnowDay" of «class cfol» "Desktop" of «class cfol» "Username" of «class cfol» "Users" of «class sdsk»} to alias
That is why I labeled it with Finder Object reference won’t return POSIX path, because I tried what was suggested about using the POSIX path of line. I thought seeing the lines above and around it would help set the context.
So I need those files, but I need them sorted by creation date so that they’re in that order for the next renaming step. -
Need help for finding objects impacted by size change for an infoobject
hi all,
need help for finding objects impacted by size change
for xxx infoobject, due to some requirements, the size to be changed from
char(4) to char(10), in the source database tables as well as adjustment
to be done in BI side.
this infoobject xxx is nav attribute of YYY as well as for WWW
infoobjects. and xxx is loaded from infopkg for www infoobject load.
now that i have to prepare an impact analysis doc for BI side.
pls help me with what all could be impacted and what to be done as a
solution to implement the size change.
FYI:
where used list for xxx infoobject - relveals these object types :
infocubes,
infosources,
tranfer rules,
DSO.
attribute of characteristic,
nav attribute,
ref infoobject,
in queries,
in variablesHi Swetha,
You will have to manually make the table adjustments in all the systems using SE14 trans since the changes done using SE14 cannot be collected in any TR.
How to adjust tables :
Enter the table name in SE14. For ex for any Z master data(Say ZABCD), master data table name would be /BIC/PZABCD, text table would be /BIC/TZABCD. Similarly any DSO(say ZXYZ) table name would be /BIC/AZXYZ00 etc.
Just enter the table name in SE14 trans --> Edit --> Select the radio button "Save Data" --> Click on Activate & adjust database table.
NOTE : Be very careful in using SE14 trans since there is possibility that the backend table could be deleted.
How to collect the changes in TR:
You can collect only the changes made to the IO --> When you activate, it will ask you for the TR --> Enter the correct package name & create a new TR. If it doesn't prompt you for TR, just goto Extras --> Write transport request from the IO properties Menu screen. Once these IO changes are moved successfully, then the above proceduce can be followed using SE14 trans.
Hope it helps!
Regards,
Pavan -
3D Picture Control: Find Object function closes scene reference when it has no children
I am using Labview 8.2
The "Find Object.vi" function is causing me some problems as it is closing the reference to the Scene Object passed into it when that Scene object does not contain any child objects. The attached screengrab shows the relevant part of the "Find Object.vi" function - the input (parent) reference is added to the front of the queue, and if the "ObjectCount" method returns 0, then the reference is closed (and hence unavailable from that point on. By removing the "Close Reference" function, the reference remains valid, but I am unsure of what other consequences this would have (and I don't like editing NI VI's!).
I have attached an example VI to illustrate this, hopefully it is clear enough what is happening. Basically, I want to be able to check for the existence of a child object without risking losing the parent object's reference. I could always write my own but perhaps the "Find Object.vi" function is incorrect?
Attachments:
Find Object Testing.vi 30 KB
Find Object_closingreference.png 5 KBpauldavey,
I agree with you again that the behavior of "Find Object.vi" does not appear to be optimal. It is almost as if it should be called "Select Object.vi" as it doesn't appear to be handling the case in which no objects are found very well.
The help file states that it:
Takes a 3D scene reference
and an object name and returns the first object in the scene with a matching
name.
As it's behavior is not defined for the event that a matching object is not found I would recommend writing your own VI to perform the function you need.
I plan on looking a little further into this and I may end up filing a CAR for this behavior too.
We appreciate the feedback and I apologize for the difficulties this VI is causing you.
Regards,
Simon H
Applications Engineer
National Instruments -
Find Object.vi function of 3D picture control - when object not found
I am using Labview 8.2, and this post is regarding the 3D Picture Control.
I am wanting to make use of the "Find Object" VI to either return a reference to a named object, or otherwise determine that it does not exist yet. However, if I call it with the name of an object that doesn't exist yet (i.e. just any random string), it returns an error message that arises from the attempt to release a queue (the reference to which gets lost when crossing a zero-iteration For Loop's tunnels), instead of an error message that says "Object not found" which I would find much more useful. With a simple modification of the "Find Object.vi" function, this behaviour can be changed, by replacing the For Loop's tunnels with shift registers.
The problem with the current function is that the error is not an intentionally thrown error, rather just the result of the queue's refnum being set to the default 0 as it "exits" the For Loop, since in the situation that an object is not found, the code passes a 0 to the N terminal.
The attached images show the problematic code and the simple modification
Attachments:
Find Object.png 2 KB
Find Object_modified.png 2 KBpauldavey,
I agree with you - the current way of handling the case of an object not being found does not appear to be ideal.
This was reported to R&D (# 43D8GSVQ) for further investigation.
Thanks for the feedback!
Regards,
Simon H
Applications Engineer
National Instruments -
JBO-25036: An invalid object operation was invoked on type View Object...
Hi,
Jdev 11.1.1.3 with BC & RC.
HR Schema - Employees & Departments Table.
In EmployeesViewImpl class overriding prepareVOForQuery() for adding dynamic where clause.
@Override
public void prepareVOForQuery() {
DepartmentsViewImpl deptImpl = new DepartmentsViewImpl();
int deptid = deptImpl.deptID(); //custom method in DepartmentsViewImpl returning deptid based on some condition
setWhereClause("DEPARTMENT_ID = :bvdeptid");
defineNamedWhereClauseParam("bvdeptid", null, null);
setNamedWhereClauseParam("bvdeptid", deptid);
super.prepareVOForQuery();
public int deptID(){
//return "IT_PROG";
int int_deptid = 0;
Row[] depts = this.getAllRowsInRange();
for(int i=0 ; i < depts.length; i++){
Row row = depts;
String deptname = (String)row.getAttribute("DepartmentName");
if(deptname.equalsIgnoreCase("it")){
Number deptid = (Number)row.getAttribute("DepartmentId");
int_deptid = deptid.intValue();
break;
return int_deptid;
// The error is coming
JBO-25036: An invalid object operation was invoked on type View Object with name DepartmentsViewImpl_2
Can I call a custom method deptID() like above, in EmployeesViewImpl class from DepartmentsViewImpl?
I need to change query based on some condition on page load in real scenario. I used beforePhase() but not giving perfect result.
What is best way to do this, similar to above case. However, providing plain value giving no error.
Thanks.Hi!
This doesn't work that way:
DepartmentsViewImpl deptImpl = new DepartmentsViewImpl();Take a look at ApplicationModule#findViewObject() if your DepartmentsView is already in your data model, executed, and you want to re-use it.
Otherwise take a look at ApplicationModule#createViewObject().
Besides that, if you want to execute a VO, then call executeQuery() on it, don't rely on other operations like first() or getAllRowsInRange() to implicitly execute it for you.
And: Why not use Number all the way through? Why the conversion to int? It will work in that example, since department ID is only NUMBER( 4 ). What if the ID column was a NUMBER( 22 )? int cannot handle that, not even close, so you should not make it a habit to convert to int.
Sascha -
Erro: An invalid object operation was invoked on type View Object
Hi
I try to run query from managed bean as below
SelectControlTextDescImpl selectControlTextDescImpl = new SelectControlTextDescImpl();
selectControlTextDescImpl.executeQuery();but there is error appear when i run the code
An invalid object operation was invoked on type View Object with name SelectControlTextDescImpl_8
Any one can help?Hi Hani,
You'll be able to get a lot out of this forum if you first go through some these resources first:
http://www.oracle.com/technology/obe/obe11jdev/ps1/ria_application/developriaapplication_long.htm
http://www.oracle.com/technology/products/jdev/11/cuecards111/index.html
Regards,
Jang Vijay -
Adobe Custom Commands:Finding Objects on Stage
I want to find out how to find objects on stage in order to change their names, using actionscript in run commands. Anybody have any ideas/methods?
You can make use of getChildAt() method from Stage class.
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayOb jectContainer.html#getChildAt() -
How to restrict to find object in authorization object c_klah_bse
Dear Experts,
I would like to restrict my user to find object/class in CL30Nn authorization object c_klah_bse, I did not find choice/object list to be restricted.
Kindly advice.
Thank you.> where can i find possible values of Authorization hierarchy, Cost centers , cost center groups in
Well, not in an internet forum. I think you should speak to the financial consultants who customized your system. These values will differ from company to company.
Maybe someone can give you a list of source tables for these values but that would be just it, a list of values without an idea of their relevance and validity...... -
To find objects changed in Year
Hi All,
Is there any table or query in getting information about the objects that are changed in a fisical year.
I tried using TADIR table but it gives me bulk..and I want changed objects just for 1 year.
Kindly suggest!
Regards,
mkc.Hi Santosh and Jaffer,
I guess MKC is not talking about authorization objects.
He has clearly mentioned TADIR.
Hi MKC,
I hope I am right.
I suppose you are looking for changes to repository objects.
Well all such changes would be recorded in transport requests.
Find out from E070 table all transport requests created in the fisical year.Note that it will give you tasks as well.
Then you need to extract the object list of these transport requests from E071.
Normally the objects withn PGMID as R3TR would intrest you.Howerver ignore entries whose OBJTYPE isTABU or VDAT as these are table entries. Check the other ones. For example for a eport the entries would be like R3TR PROG <report/include name>.
You have the list now.If you want objects changed in production only then find the import history of the year from STMS and then obtain object list for those transports only.
Regards.
Ruchit. -
How we find object list for SAP MM T codes.
Dear Experts,
How can i find object list for SAP MM T codes.
Actualy that is required for SAP User autorization review.
Regards
KumarGet t.codes list from table TSTCT using SE16,Enter t.code as MM* or M*. Execute it.
You will get a list of MM t.codes.
Also you can refer SU22 for authorization objects from above t.codes list. -
Openscript playback exception: Find Object timeout
I recorded the openscript successfully. When it playbacks, it try to click a link and throws exception. I tried many times and could not get through.
15:08:27,666 ERROR [1] Error in section Run at line (script.java:41).
Find Object timeout. Detail information:/web:window[@index='0' or @title='My Home - Microsoft Internet Explorer provided by My Home Ltd.']/web:document[@index='0']/web:a[@text='About My Home' or @href='http://tmgcorp:8989/portal/page/portal/ABOUT_MY_HOME' or @index='14'].
Please helpI've encountered the same probelm during playback for a recorded script.
If the main issue is with Object Time out one solution is increasing the default Timeout value for OpenScript.
Perform the following navigation:
If you are working with Oracle Forms:
View --> Open Script Preferences -->Expand Open Script --> Select Play back --> Oracle EBS / Form Functional
In the right pane You just try to increase the Timeout value from default 30sec to what extent of time you want (say 120)
If you are working with Web:
View --> Open Script Preferences -->Expand Open Script --> Select Play back --> Web Functional
Follow the same procedure for this.
2) If the above solution doesn't work for you, You just try with the following:
Change the object information in the .Properties files as
/web:window[@index='0' or @title='My Home - Microsoft Internet Explorer provided by My Home Ltd.']/web:document[@index='0']/web:a[@text='About My Home'].
I think any of these two solutions will work. I have done the same and they are working fine for me
Thanks,
Siva -
Finding objects that use certain colors in the palette
My document has RGB colors imported from the Word document. I'd like to be able to find the objects that are colored with these imported colors. Is there a way to sort and find objects based on color?
That's a little tricky. How do you prove a negative, as it were? You can do an object-based find/change, but only for for things you define, so for example you acan find all objects that DO have a certain color fill, but it won't find anything that doesn't match the criteria.
It might be possible to script a solutuion that would step through all objects and compare them to a list of criteria, then list the ones that don't match. -
Using Construct Object Operator
Hi,
I am having cust_id,cust_name,city,country,pincode in my source table. I want to use construct object operator in between to construct an address object and map it into the target table. but what expression should I write to achieve the same
any help will be highly appreciated
ThanksHi
The construct is for creating Oracle Object Types. If you have an ADDRESS object type with a constructor then import it into OWB, then you can map the input attributes to the construct type and the output of the operator will be an ADDRESS. Conversely, if you use the expand operator you can take an ADDRESS input and get all the constituent parts.
If you want to just do scalar style expressions use an expression operator.
Cheers
David -
Dbx: cannot find object file corresponding to
Hello
When I try to insert breakpoint I getting " dbx: cannot find object file corresponding to"
Debugger error msg , now the objects of the file is deftly there compiled in debug mode
how can I point sun studio to the corresponding objects?There are some other commands that can help you figure
out what's going wrong.
The modules command is good. (Type 'help modules' for more inof)
The 'module' command is also good (Type 'help module')
Apologies for having two separate commands with such
similar names.
(dbx) modules -debug
Read t.o
show you the object files that dbx thinks have debug info in them.
module -v <object file> will tell you some info about that object file.
(dbx) module -v t.o
Module: t.o
Language: c
Debugging information: read [stabs version: 0.0]
Source file: /home/quenelle/t.c
Object file: /home/quenelle/t.o
Loadobject: /home/quenelle/a.out
See if that helps you figure out what's going on.
--chris
Maybe you are looking for
-
Using FIFO as sql code for assigning indicator to data items
Hi All, We are looking for a solution based on FIFO algorithm. We have a table having following data: We need to perform FIFO on this table, and assign "object" as data items to other rows based on following conditions: 1. first we have to group the
-
Subject says it all, brand new Tecra M4 and the built-in Mat****a UJDA750 DVD/CDRW combo will not read DVD-R, in fact until I uninstalled the DLA & NTI software it got rather stroppy about reading a CDRW! Whats the point of a new DVD drive that can't
-
How to adjust animation start point for text presets
Hi All, I am applying text animation from standard presets - Multi-line group. The presetI am using is production.ffx. it works fine, but I cannot figure out how to adjust its start time. The animation starts in about 3 sec, but I need to trigger it
-
Hi all, I would like to show production order WIP values in an external system dashboard. Is any BAPI/RFC/IDoc available to fetch the data from SAP? If not, please let me know corresponding table to view the data in SAP? Thanks Guru
-
CS4 Reset View Keyboard Shortcut (ESC key) Not Working
Thanks in advance to anyone who can solve this: Every keyboard shortcut in Photoshop CS4 works fine for me except one: the keyboard shortcut to reset view after using view rotation (the ESC key). Oddly, the keyboard shortcut does work in CS5 (I insta