Problem in getting a session object  from FacesContext into a Servlet

Hi,
I am new to JSF. I had a session bean and I want to get the instance of the session bean in a servlet. I wrote the below code to get the bean object, but some times it is failing and giving NullPointer Exception.
Can anyone send the code which works perfectly to retrieve the Faces Context session bean object into a Servlet.

Which code are you talking about? I don't see any code :)
Well, this snippet here might be useful: http://balusc.xs4all.nl/srv/dev-jep-com.html#AccessingTheFacesContextInsideHttpServletOrFilter

Similar Messages

  • Problem in getting the database connection from a connection pool

    Hai All,
    I am facing a problem in getting the database connection from a connection pool created on weblogic server 8.1.
    I am using the Oracle database 8.1.7.
    I have configured my connection pool, datasource and JNDI in weblogic.
    In my java program i have the following code to retrieve the connection.
    import java.sql.*;    
    import java.util.Hashtable;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    class jdbcshp1 {
        public static void main(String[] args) {
         Connection connection = null;
         try {
               Hashtable ht = new Hashtable();
               ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");  // Wanna get rid of this.
               ht.put(Context.PROVIDER_URL,"t3://localhost:7001"); // wanna get rid of this.
               // Get a context for the JNDI look up
               Context ctx = new InitialContext(ht);
            javax.sql.DataSource ds = (javax.sql.DataSource) ctx.lookup ("myjndi1");
              //Create a connection object
              connection = ds.getConnection();
         The above code is working fine but, the two ht.put statements are creating problem.
    The problem is, after converting the application into WAR file it can be deployed
    on any machine or different port on same machine. My application fails if its deployed on
    weglogicserver which is at different port.
    Is there any way that i can get rid of those ht.put statements or any other way to solve the problem.
    any help is appreciated.
    Thanks in advance
    Pooja.

    Hai All,
    Firstly, thanks for ur reply.
    Even i have seen some code which uses context constructor with out any parameter and works fine.
    i dont understand why its not working for my code.
    When i remove those ht.put code and use context constructor with out any parameter, it giving an error.
    Context ctx = new InitialContext();
    javax.sql.DataSource ds = (javax.sql.DataSource) ctx.lookup ("ocjndi");
    connection = ds.getConnection();The error is as follows:
    javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
    the above error is forcing me to include those code but if the port number is changed the code will not work. Plz let meknow if some setting have to be made.
    I appreciate all ur valuable help.
    Thanks once again.
    Pooja.

  • Getting at session objects

    Is there any way to get information from the session in business class
              without actually passing a reference down into my business classes. Here is
              what I want to do, lets say I have the fo0llowing classes:
              User -- contains username and password
              LoginServlet --- adds a User object to the session
              OrderServlet --- adds a new order to the database
              Order --- represents an order
              Log --- class used for logging transactions
              The user logins in using the LoginServlet which adds a user object to the
              session. Later the user creates a order. When I order is created it
              generates a log. In the log class I would like to be able to access the
              user object without having to pass the session object from OrderServlet ->
              Order -> Log.
              This is just a simple example. In my actual implementation I need to do
              this several classes further down the chain. Any ideas?
              -Fran
              

    You could also use a ugly singleton, but then you are on your own with
              classes reusability because they would be tight to the signleton.
              Or maybe you write it in a properties file used by the logging class,
              but really you should pass the objects : it's not fun but it's the way
              it should be done :)
              Mathieu
              Filip Hanik wrote:
              >
              > not really,
              > the session is only accessible from a servlet. You would have to pass the
              > information down through the method calls.
              >
              > imagine if everything could access the session, it would be kind of
              > confusing to debug.
              >
              > Filip
              >
              > "Francis Simon" <[email protected]> wrote in message
              > news:[email protected]...
              > > Is there any way to get information from the session in business class
              > > without actually passing a reference down into my business classes. Here
              > is
              > > what I want to do, lets say I have the fo0llowing classes:
              > >
              > > User -- contains username and password
              > > LoginServlet --- adds a User object to the session
              > > OrderServlet --- adds a new order to the database
              > > Order --- represents an order
              > > Log --- class used for logging transactions
              > >
              > > The user logins in using the LoginServlet which adds a user object to the
              > > session. Later the user creates a order. When I order is created it
              > > generates a log. In the log class I would like to be able to access the
              > > user object without having to pass the session object from OrderServlet ->
              > > Order -> Log.
              > >
              > > This is just a simple example. In my actual implementation I need to do
              > > this several classes further down the chain. Any ideas?
              > >
              > > -Fran
              > >
              > >
              

  • Record Management: get logical document object from physical doc. object

    Hello,
    I'd like to get logical document from physical document (sdok object - stricture containing class and objid).
    There is BAPI for "opposite direction": SDOK_LOIO_PHYSICAL_OBJECT_GET. By this FM I can get physical document's sdok object from logical document's sdok object.
    Can anybody tell me BAPI's name for it?
    I tried SDOK_PHIO_LOGICAL_OBJECT_GET, but this BAPI doesn't exist.
    Best regards,
    Josef Motl

    Josef,
    There are I don't believe there are any bapi's for this. You probably have to do this via ABAP OO. Create an object of the type CL_SRM_DOCUMENT. This is your logical (LOIO) object of your document. You have to enter the documentclass and the objectid of the document. This class has a method get_variant. This variant is your fysical (PHIO) object of the document. Use version and variant 0 so you will get the latest version object of your document.
    If this isn't the answer, can you please explain where do you get the fysical object from if you haven't got the logical first?
    Regards,
    Tjalling-Jan

  • Doubt in Getting and Adding ManagedBean from FacesContext???

    Hi all,
    I would like to know the proper way to get a managedBean instance from FacesContext.
    let us consider the ways i follow normally
    Way 1.
    Mbean mBean=  (Mbean )FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get(managedBean);
              if(mBean== null){
                        mBean = new Mbean();
                        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(managedBean,mBean );
         Way 2.
    Mbean  mBean = (Mbean)((ValueBinding) getValueBinding(getElExpr(beanName))).getValue(getFacesContext());Those two ways mentioned above are used to get the managed bean Mbean from context level,my query is which one out of
    these two ways is the best?
    what exactly getValueBinding(getElExpr(beanName))).getValue(getFacesContext()); line does?
    Thanks in advance,
    sundar.

    Way 1 will break if you change the scope of the bean in the faces-config.xml. Way 2 won't.
    Here are more ways: [http://balusc.blogspot.com/2006/06/communication-in-jsf.html#AccessingAnotherManagedBean].
    If you're using JSF 1.1, I would use the createValueBinding approach. If you're using JSF 1.2, I would use the evaluateExpressionGet approach. But I more prefer the approach of injecting the one bean as a managed property of the other bean: [http://balusc.blogspot.com/2006/06/communication-in-jsf.html#InjectingManagedBeansInEachOther].

  • How to get Request/Session objects in a Webdynpro application

    Hi
    I am working in Enterprise Portal 7.0.
    in one of the iViews which displays a JSP page, i have set a parameter in request and session objects.
    How can i get it in my Webdynpro ABAP Application?
    Thanks & Regards
    Abhimanyu L

    hi Abhimanyu
    I believe originally access to session was deliberately not made available inside WDA.
    Growing security concerns due to misuse of session information and
    perhaps other reasons as well.
    X.509  is considered a better approach.
    This may not help you in your problem.
    But you may see a trend in WDA pushing more robust and client independent
    approaches.
    Full x.509 access should remove the need for session fiddling.
    Also when developers access such session info directly, there is a possiblity
    when they dont understand the technology exactly that they create a security hole.
    You may know how to do safely, it is however discouraged.
    Im not aware of a way to get at the session info inside the WDA framework.
    Well not without a mod to the framework.
    It may be possible without a mod, but I dont know the trick.
    If someone has a little trick... please post.
    You may need to use BSP, if your only solution requires access to the session info.
    regards
    Phil

  • How to Use AccessibleObjectFromWindow API in VBA to Get Excel Application Object from Excel Instance Window Handle

    I need to get the Excel.application object from a window handle using AccessibleObjectFromWindow. I can't seem to make the code work. First, I successfully search for the XLMAIN windows. Then, when I get a handle, I execute the AccessibleObjectFromWindow
    function. It seems to return a value of -2147467262 in all cases. Therefore, I believe that it is returning an error value. I can't figure out how to determine the meaning of this value.
    If it is an error value, I believe that one or more arguments are in error. My best guess at present is that the GUID argument is incorrect. I have tried two GUID values: {00020400-0000-0000-C000-000000000046} and {90140000-0016-0409-0000-0000000FF1CE}.
    I have seen both used in conjunction with OBJID_NATIVEOM. Neither one seems to work. I really would prefer not to use the second one as it has an Excel major and minor version number. I would hate to have to change this code, if a new minor version appeared.
    The attached code has been commented to show which parts have been shown to work and which not. I'm at my wits end and really need help.
    Thanks
    'This module is located in Access 2010, but this is an Excel question.
    Option Compare Database
    Option Explicit
    ' Module-Level Declarations
    'The GetDesktopWindow function and FindWindowEx function work just fine.
    Public Declare Function GetDesktopWindow Lib "user32" () As Long
    Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" _
    (ByVal hWnd1 As Long, _
    ByVal hWnd2 As Long, _
    ByVal lpsz1 As String, _
    ByVal lpsz2 As String) _
    As Long
    'I'm not getting the expected output from this function (see below)
    Private Declare Function AccessibleObjectFromWindow& Lib "oleacc.dll" _
    (ByVal hwnd&, _
    ByVal dwId&, _
    riid As GUID, _
    xlwb As Object)
    Type GUID
    lData1 As Long
    iData2 As Integer
    iData3 As Integer
    aBData4(0 To 7) As Byte
    End Type
    Function ExcelInstances() As Long
    ' Procedure-Level Declarations
    ' Value of OBJID_NATIVEOM verified by checking list of Windows API constants _
    on this site: http://www.lw-tech.com/q1/base.htm
    Const OBJID_NATIVEOM = &HFFFFFFF0
    Dim hWndDesk As Long 'Desktop window
    Dim hWndXL As Long 'Child window
    Dim objExcelApp As Object 'Final result wanted: Excel application object
    'Following variable (xlapp) to be set by AccessibleObjectFromWindow function
    Dim xlapp As Object
    Dim IDispatch As GUID 'GUID used in call to AccessibleObjectFrom Window function
    'Set up GUID to be used for all instances of Excel that are found
    Dim tmp1 As Variant 'Return value from AccessibleObjectFromWindow
    ' Executable Statements
    SetIDispatch IDispatch
    IDispatch = IDispatch
    'Get a handle to the desktop
    hWndDesk = GetDesktopWindow 'This seems to work
    Do
    'Get the next Excel window
    'The following statement seems to work. We are finding and counting _
    correctly all the instances of Excel. hWndXL is non-zero for each _
    instance of Excel
    hWndXL = FindWindowEx(GetDesktopWindow, hWndXL, "XLMAIN", vbNullString)
    'If we got one, increment the count
    If hWndXL > 0 Then
    'This works. We correctly count all _
    instances of Excel
    ExcelInstances = ExcelInstances + 1
    'Here is the problem. The following statement executes and returns a value of _
    -2147467262. xlapp, which is passed by reference to AccessibleObjectFromWindow, _
    is set to nothing. It should be set to the object for Excel.application. _
    I believe that this value is not an object. I tried to reference tmp1. in the _
    immediate window. There was no Intellisense.
    'I think that the function in returning an error value, but I can't figure _
    out what it is. I believe that AccessibleObjectFromWindow returns error _
    values, but I don't know where to find their values so I can interpret the _
    function's results.
    'As best I can tell, the hWndXL parameter is correct. It is the handle for _
    an instance of Excel. OBJID_NATIVEOM is set correctly (see constant declaration _
    above). xlapp is passed by reference as a non-initialized object variable, which _
    will be set by AccessiblObjectFromWindow. IDispatch may be the problem. It is set _
    as shown below in the procedure SetIDispatch(ByRef ID As GUID). This procedure _
    appears to work. I can see that IDispatch is set as I intended and correctly _
    passed to AccessibleObjectFromWindow.
    tmp1 = AccessibleObjectFromWindow(hWndXL, OBJID_NATIVEOM, IDispatch, xlapp)
    'Need to write code to test tmp1 for error. If none, then set objExcelApp = _
    object. Also, I exect xlapp to be set to Excel.application
    End If
    'Loop until we've found them all
    Loop Until hWndXL = 0
    End Function
    Private Sub SetIDispatch(ByRef ID As GUID)
    'Defines the IDispatch variable. The interface _
    ID is {90140000-0016-0409-0000-0000000FF1CE}.
    'NOT USING {00020400-0000-0000-C000-000000000046}, _
    which could be the problem
    '9 is release version - first version shipped (initial release)
    '0 is release type - retail/oem
    '14 is major version
    '0000 is minor version
    '0016 is product ID - MS Excel 2010
    '0409 is language identifier - English
    '0 is x86 or x64 - this is x86
    '000 reserved
    '0 is debug/ship
    '000000FF1CE is office family ID
    With ID
    .lData1 = &H90140000
    .iData2 = &H16
    .iData3 = &H409
    .aBData4(0) = &H0
    .aBData4(1) = &H0
    .aBData4(2) = &H0
    .aBData4(3) = &H0
    .aBData4(4) = &H0
    .aBData4(5) = &HF
    .aBData4(6) = &HF1
    .aBData4(7) = &HCE
    End With
    End Sub
    DaveInCalabasas

    I don't think you can return a reference to Excel's main window like that as you are attempting to do.
    Ref:
    http://msdn.microsoft.com/en-us/library/windows/desktop/dd317978(v=vs.85).aspx 
    It's relatively straightforward to return any workbook's window in any given instance, and in turn it's parent Excel app. Try the following and adapt as required (and include error handling) -
    Option Explicit
    Private Declare Function FindWindowEx Lib "User32" Alias "FindWindowExA" _
    (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, _
    ByVal lpsz2 As String) As Long
    Private Declare Function IIDFromString Lib "ole32" _
    (ByVal lpsz As Long, ByRef lpiid As GUID) As Long
    Private Declare Function AccessibleObjectFromWindow Lib "oleacc" _
    (ByVal hWnd As Long, ByVal dwId As Long, ByRef riid As GUID, _
    ByRef ppvObject As Object) As Long
    Private Type GUID
    Data1 As Long
    Data2 As Integer
    Data3 As Integer
    Data4(7) As Byte
    End Type
    Private Const S_OK As Long = &H0
    Private Const IID_IDispatch As String = "{00020400-0000-0000-C000-000000000046}"
    Private Const OBJID_NATIVEOM As Long = &HFFFFFFF0
    Sub test()
    Dim i As Long
    Dim hWinXL As Long
    Dim xlApp As Object ' Excel.Application
    Dim wb As Object ' Excel.Workbook
    hWinXL = FindWindowEx(0&, 0&, "XLMAIN", vbNullString)
    While hWinXL > 0
    i = i + 1
    Debug.Print "Instance_" & i; hWinXL
    If GetXLapp(hWinXL, xlApp) Then
    For Each wb In xlApp.Workbooks
    Debug.Print , wb.Name
    Next
    End If
    hWinXL = FindWindowEx(0, hWinXL, "XLMAIN", vbNullString)
    Wend
    End Sub
    'Function GetXLapp(hWinXL As Long, xlApp As Excel.Application) As Boolean
    Function GetXLapp(hWinXL As Long, xlApp As Object) As Boolean
    Dim hWinDesk As Long, hWin7 As Long
    Dim obj As Object
    Dim iid As GUID
    Call IIDFromString(StrPtr(IID_IDispatch), iid)
    hWinDesk = FindWindowEx(hWinXL, 0&, "XLDESK", vbNullString)
    hWin7 = FindWindowEx(hWinDesk, 0&, "EXCEL7", vbNullString)
    If AccessibleObjectFromWindow(hWin7, OBJID_NATIVEOM, iid, obj) = S_OK Then
    Set xlApp = obj.Application
    GetXLapp = True
    End If
    End Function
    Note as written if an instance does not have any loaded workbooks a reference will not be returned (though a workbook can be added using DDE, but convoluted!)
    FWIW there are two other very different approaches to grab all running Excel instances though something along the lines of the above is simplest.
    Peter Thornton

  • How to obtain a session object from session id

    Hi all,
    let say that I have a list of session ids, and I want by scheduald task to check whether the session is alive\active.
    I saw that the HttpSessionContext was deprecated. (see: http://javasolution.blogspot.com/2007/08/getting-session-object-using-session-id.html)
    Is there any other way to check if the session is alive?

    Do it the other way: let the session itself notify that it is not alive anymore.
    Implement a HttpSessionListener which adds the session to list/set/map on create and removes the session from it on destroy, register it in the web.xml and run it.

  • How can I get the underlying object from the ObjectReference

    Dear friends,
    I think this question has been asked a couple of times. But, I am still wondering if anybody has found an answer to it. Maybe this is some common need ...
    I would like to get the underlying object for which the ObjectReference is
    a mirror For example, I have a class Customer in my application, and I can get an ObjectReference through JDI during runtime. But how can I get the target VM's object which is a real instance of Customer, by which I can invoke methods defined in Customer?
    Thank you so much for any input!
    SunnyDay

    I'll preface this response by admitting this far from an elegant solution, but I did write a function addressing this question, mostly as an exercise.
    If passed an object with an InTextFrame property (Pgf, AFrame, Cell, Fn) that resides in an open document, the function will return the Doc object. Otherwise, it returns undefined.
    function getParentDoc(testObj) {
        //Get object for current page
        try { var curPage = testObj.InTextFrame.FrameParent.PageFramePage; }
        catch(er) {return;}
        //Step backwards to first page in document
        var prevPage = curPage.PagePrev;
        while (prevPage.ObjectValid())
            curPage = prevPage;
            prevPage = prevPage.PagePrev;
        //Compare with first pages of open documents
        var testDoc = app.FirstOpenDoc;
        while (testDoc.ObjectValid())
            if (curPage.id==testDoc.FirstBodyPageInDoc.id) return testDoc;
            testDoc = testDoc.NextOpenDocInSession;    
        return;
    To your PPS: Rather than seeing the native framework grow bloated to address additional features, I would love to see Adobe and other developers publish libraries of useful functions and class extensions.

  • Failed retrieval of the session object from the portal server in the WebApp

    hello out there,
    i tried to realize a multipartform file upload with a jsp-Channel (in .../portal/dt ) which sends the data into the same WebApp ( .../portal/ )to a different jsp-File but which is not using the desktopServlet of the potal. The Information where the file must be stored is generated in the jsp-Channel of the portalDesktop and saved in a session object. the problem i have is this: the session object generated in the jsp-Channel isn`t available outside .../portal/dt. But the WebAppContext is .../portal/ and the jsp File which processes the upload resides in .../portal/fileProcess.jsp . Does the PortalServer manage SessionManagement in a different way than an ordinary servlet/jsp container ?? if yes, how can i create a session object for the whole webAppContext ".../portal/ " ??
    i am very thankful for answers
    sincerely
    martin

    you may try to set usehttpsession to true in ../SUNWam/lib/AMConfig.properties file (restart after change). But using httpsession in portal is not an optimal solution for performance - performance tuning in production environment sets the value to false. I remember there is a good posting here about using session in portal, you may want to find it out.
    Hope this helps.
    Joe Zhou

  • Get all the objects from an application

    Hi
    Does anybody know how to get all the expression from an application via ABAP?
    Thanks !

    Try this:
    * Get the BRFplus factory and query.
      lo_factory = cl_fdt_factory=>get_instance( ).
      lo_query = lo_factory->get_query( ).
    * Get Application id.
      lo_query->get_ids(
        EXPORTING
          iv_name        = p_appln
          iv_object_type = if_fdt_constants=>gc_object_type_application
        IMPORTING
          ets_object_id  = lt_id_application ).
      READ TABLE lt_id_application INTO lv_id_application
                 INDEX 1.
    * Build selection.
      ls_selection-queryfield = if_fdt_admin_data_query=>gc_fn_application_id.
      ls_selection-sign   = 'I'.
      ls_selection-option = 'EQ'.
      ls_selection-low    = lv_id_application.
      INSERT ls_selection INTO TABLE lt_selection.
      ls_selection-queryfield = if_fdt_admin_data_query=>gc_fn_object_type.
      ls_selection-sign   = 'I'.
      ls_selection-option = 'EQ'.
      ls_selection-low    = if_fdt_constants=>gc_object_type_expression.
      INSERT ls_selection INTO TABLE lt_selection.
      ls_object_category_sel-customizing_objects = abap_true.
      ls_object_category_sel-masterdata_objects  = abap_true.
      ls_object_category_sel-system_objects      = abap_true.
    * Perform selection.
      lo_query->select_data(
        EXPORTING
          its_selection          = lt_selection
          is_object_category_sel = ls_object_category_sel
        IMPORTING
          eta_data               = lt_id_expression ).
    * Process the Expressions.
      LOOP AT lt_id_expression INTO lv_id_expression.
    *   Get Expression object.
        lo_expression = lo_factory->get_expression( lv_id_expression ).
    *   Check Expression is not deleted or obsolete.
        lo_expression->if_fdt_admin_data~get_change_info(
          IMPORTING
            ev_deleted           = lv_flg_deleted
            ev_marked_for_delete = lv_flg_marked_for_delete
            ev_obsolete          = lv_flg_obsolete ).
        IF lv_flg_deleted           EQ abap_true OR
           lv_flg_marked_for_delete EQ abap_true OR
           lv_flg_obsolete          EQ abap_true.
          CONTINUE.
        ENDIF.
    *   Process the Expression.
        lv_name_expression = lo_expression->if_fdt_admin_data~get_name( ).
        WRITE: / lv_id_expression, lv_name_expression.
      ENDLOOP.
    Regards,
    Grogan

  • How can I get a List Objects from my NameSpace

    Hello to All.
    I need a list of objects an specifc documentation about these. ( SAP XI)
    Any transaction o maybe tables , where located this objects .
    Thanks and Regards
    Edited by: Luis Ortiz on Oct 10, 2008 2:58 PM

    Location of XI objects in R/3.
    Please find the repository APIu2019s in the SE24 class builder that can be used for accessing repository objects from the ABAP stack of SAP XI. Check CL_SRAPI* in the SE24 transactions for digging further.
    location of interface objects
    CL_SRAPI_DATA_TYPE---data type
    CL_SRAPI_DATA_TYPE_ENH---data type enhancement
    CL_SRAPI_FAULT_MESSAEG_TYPE--fault message type
    CL_SRAPI_MESSAGE_TYPE--message type
    CL_SRAPI_INTEGRATION_SCENARIO--integration scenario
    chek this blog for more info
    Ripping off SAP XI Stack …Sharing the goodies of ABAP API’s..!!
    Regards,
    Sarvesh

  • Importing objects from excel into drop down menu

    Hi!
    I have tried to copy objects from excel while constructing a drop menu in forms central. Sadly, my 500+ objects appear as one choice instead of uniqe items. 
    Is it possible to import values from an excel column to be shown as single items in a drop down menu?
    /Martin

    Hej
    I have the opportunity to choose Acrobat Forms as an alternative form for this survey.
    Do you know if there is possible to get the 500+ into a list in a more elegant way than manual input?
    Hope you have an "elegant" solution for me even if the Forum is not all correct for this question.
    Martin

  • I am having a problem opening images in the Editor from iPhotos into photoshop elements

    I am having a problem opening images in the Editor from iphoto (on my macbook pro) to the photoshop elements

    What exactly is the problem? What happens when you try, and how are you trying to do this?

  • How can I get the Doc object from any other object?

    Dear colleagues,
    in FrameScript it is dead-simple to get to the document part of any object, just add .Doc to the variable.
    How can I achieve the same with ExtendScript? I amtired of passing the document object next to AFrames or Pgfs along into subroutines, because those objects already contain the information about their document. But how do I access this?
    Thanks for pointers,
    - Michael
    PS: Almost the same is true for the page an object lives on. With FrameScript we use .Page, with ExtendScript you have to move up the object tree until you reach the UnanchoredFrame.PageFramePage…
    PPS: It would be great to see some convenience properties like .Doc and .Page implemented natively.

    I'll preface this response by admitting this far from an elegant solution, but I did write a function addressing this question, mostly as an exercise.
    If passed an object with an InTextFrame property (Pgf, AFrame, Cell, Fn) that resides in an open document, the function will return the Doc object. Otherwise, it returns undefined.
    function getParentDoc(testObj) {
        //Get object for current page
        try { var curPage = testObj.InTextFrame.FrameParent.PageFramePage; }
        catch(er) {return;}
        //Step backwards to first page in document
        var prevPage = curPage.PagePrev;
        while (prevPage.ObjectValid())
            curPage = prevPage;
            prevPage = prevPage.PagePrev;
        //Compare with first pages of open documents
        var testDoc = app.FirstOpenDoc;
        while (testDoc.ObjectValid())
            if (curPage.id==testDoc.FirstBodyPageInDoc.id) return testDoc;
            testDoc = testDoc.NextOpenDocInSession;    
        return;
    To your PPS: Rather than seeing the native framework grow bloated to address additional features, I would love to see Adobe and other developers publish libraries of useful functions and class extensions.

Maybe you are looking for

  • Can I see how many times a shared album has been viewed?

    I primarily use Revel to share photos of events since the files get too big to email more than 2 at a time.  Usually, there is a very limited group of people that would be interested but the link to one album was shared on Facebook and I'm curious to

  • Want to use Time Capsule as a back up AND external storage device-help!

    I know there's been a few variations on this question but I can't seem to find the answer that relates to me so probably being dumb but help would be greatly appreciated. I bought a 500gb Time Capsule yesterday and finally got it set up through AirPo

  • Dynamic variant - time variable

    Hello! I want to create a variant for an IDoc housekeeping program (rbdmani2) and I want to save the following in a program variant: For the current date (I have managed to use a dynamic variable for this) and IDocs created in the past hour, i.e. the

  • Rename file in a portfolio

    In an acrobat 9 pro portfolio, when I attempt to rename a file  I get the message "this file is locked" This issue only appeared after I installed Adobe Acrobat Pro on a new computer. I did not have this issue on the previous installation

  • Currupted File from files Recoverd

    I get Acrobat cannot open file because it has been Damaged... These files were recoved after being restored.  Not all have this problem, just the ones restored that were scanned into 8.1 Professional