Getting access to xiContext object in mapping

Can someone please tell me how you get access to the xiContext object in XI mapping?

What do you by "xiContext object"?

Similar Messages

  • What is table where we can have access to all objects in a order

    Hi all,
    could you tell me what is the table name where i can get access to all objects to an order in crm..

    check CRMD_LINK

  • Getting error on Portal : Access via 'NULL' object reference not possible

    hi friends,
    While executing a bapi,I am getting this error : Access via 'NULL' object reference not possible., error key: RFC_ERROR_SYSTEM_FAILURE
    I am calling a bapi with only one required parameter from Portal as per the design of the bapi and the bapi itself is calling some other functions internally.
    I a using ECC 5.00 i,e. EA-HR 5.00. On SDN it is suggested to Apply OSS Note 1018036. But it is applicable to EA-HR 6.00 and subsequent releases,I guess.
    Need your suggestions and also need to know if the above Note can be applied to EA-HR 5.00.
    P.S: Points would be assigned, thanks is advance.
    Regards,
    Sudeep Das

    Hi,
    ESS Personal information scenarios
    Reason and Prerequisites
    In case record is not modified successfully it should discard the
    trial.Due to program error this was not happening correctly
    Solution
    Code changes were done in ESS adapter to handle this scenario
    Hope this helps
    Regards
    Krishna

  • IBaseMessage.Context getting disposed for large message processing (There was a failure executing the receive pipeline: Reason: Cannot access a disposed object. Object name: 'MessageContext'.

    Hi,
    I am trying to parse a large message (2.7 MB file) in a custom Flat file Disassembler (inherited from the Microsoft.BizTalk.Component.FFDasmComp) this does exactly the same work for FFDasmComp but also promotes the count of disassembled messsages. This
    works fine for small messages but for large messages I get this error
    There was a failure executing the receive pipeline: "<pipeline name>, <Pipeline assembly>" Source: "Custom FlatFile Disassembler" Receive Port: "ReceivePort7" URI: "<the input file location>" Reason: Cannot access a disposed object.
    Object name: 'MessageContext'.
    In the event log
    what I am doing inside the custom flat file assembly is, I am saving all the disassembled messages in a List<IBaseMessage> and then finally when GetNext() method returns null I am promoting the nRecordCount in the messageContext of all the disassembled
    messages. This is where I get the error when trying to promote to the message context.(Cannot access a disposed object, Object name: 'MessageContext'). I think the messagecontext is getting disposed, but it should not as I still hold its reference in
    the List<IBaseMEssage);
    private long nRecordCount = 0;
    private List<IBaseMessage> oDisassembledMessages = new List<IBaseMessage>();
    Any idea why this happens ?
    Thanks in advance, PLEASE HELP
    Surya

    Hi Surya,
    Are you still facing this issue? and are you using Flat File Disassembler in your Receive pipeline?
    If yes then set 'RecoverableInterchangeProcessing' to True.
    Please have a look in below articles-
    BizTalk
    Pipeline - Flat File Disassembler Cannot Access a Disposed Object 'DataReader'
    biztalk-esb-toolkitflat-file-debatching
    BizTalk
    Server: List of Errors and Warnings, Causes, and Solutions
    This issue can also occur if you are using Large Size message, in this case you will have to optimize your code.
    Thanks,
    Prashant
    Please mark this post accordingly if it answers your query or is helpful.

  • Please tell me you can get access to the messages through the sdk? Using the protocol Bluetooth (MAP)

    please tell me you can get access to the messages through the sdk? Using the protocol Bluetooth (MAP)

    If you're referring to iMessage, you can't.
    That data is off limits.

  • Access vis NULL object reference.

    Hi experts,
    I have a component having context->node1->usernr
    usernr is one of the attributes in node1.
    node1 has cardinality 0..n
    I have two views, view1 and view2 in the window.
    both the view contexts have mapping with node1 of component controller context.
    View1 has a table that shows usernr as a column and view2 has an inputfield, the value of which is bound to usernr.
    On clicking a button in view1, I am creating an element of node1 and binding it to the node. this os working fine. Also I am firing the outplug of view1 which is connected to inplug of view2.
    I debugged the view2 and it is going upto the HANDLEIN_view2_inputplug
    Then I just get this dump "Access via 'NULL' object reference not possible."
    Error in the ABAP Application Program
    The current ABAP program "CL_WDR_VIEW_ELEMENT_ADAPTER===CP" had to be terminated because it has come across a statement that unfortunately cannot be executed.
    Error analysis
    You attempted to use a 'NULL' object reference (points to 'nothing') access a component (variable: " ").
    An object reference must point to an object (an instance of a class) before it can be used to access components.
    Either the reference was never set or it was set to 'NULL' using the CLEAR statement.
    Information on where terminated
    Termination occurred in the ABAP program "CL_WDR_VIEW_ELEMENT_ADAPTER===CP" -     in "GET_ATTRIBUTE_EXTERNAL".
    The main program was "SAPMHTTP ".
    In the source code you have the termination point in line 10 of the (Include) program "CL_WDR_VIEW_ELEMENT_ADAPTER===CM00Q".
    Source Code Extract
    Line  SourceCde
        1 method get_attribute_external.
        2
        3   data data_container type ref to cl_wdr_data_container.
        4   data attribute type wdr_attribute_pointer.
        5   data client_component type ref to cl_wdr_client_component.
        6
        7   attribute-attribute_name = i_binding->attribute_name.
        8   attribute-element ?= get_bound_element( i_binding ).
        9   client_component ?= attribute-element->node->controller->component->data_container_superio
       11   data_container = client_component->data_container.
       12
       13   e_value = data_container->get_and_format( attribute = attribute ).
       14
       15 endmethod.
    Error is at line 9
    Chosen variables
    Name
        Val.
    No.      21 Ty.          METHOD
    Name  CL_WDR_VIEW_ELEMENT_ADAPTER=>GET_ATTRIBUTE_EXTERNAL
    I_BINDING
        0000000C
        D0000002
    E_VALUE
    SY-REPID
        CL_WDR_VIEW_ELEMENT_ADAPTER===CP
        0000000000000000000000000000000000000000
        0000000000000000000000000000000000000000
        4455455544554444445544455453334522222222
        3CF742F6957F5C5D5E4F1410452DDD3000000000
    %_DUMMY$$
        0000
        0000
        2222
        0000
    ATTRIBUTE-ATTRIBUTE_NAME
        USERNR
        000000
        000000
        554545
        5352E2
    I_BINDING->ATTRIBUTE_NAME
        USERNR
        000000
    =======================================================================
    The thing that is worrying me is that nothing like this was happening at all earlier. I tested the application quite a few number of times and then suddenly this started. Since then it has not stopped.
    I am unable to understand the reason for this. Pl help.
    Regards,
    Reema.
    Edited by: Reema Shahbazkar on Jun 12, 2008 3:28 AM

    Hey Reema,
    Were you able to resolve this error. I am facing exactly the same issue currently . My primary data container nodes belong to the component controller. I did verify the same for any change in the cardinality and dont see anythign thats changed which could be impacting my views. In any case, I had kept the cardinality as 0...n initially to be safe since there cud be scenarios where no values can exist for the same at runtime.
    Please do let me know how you happened to resolve this.
    Thanks,
    Puja.

  • Need help in Object-Relational Mapping

    I'm writing a simple two-tiered business application with Swing application on the client side and a DBMS on the server side. To make my client code more maintainable, I decided to create Business Objects instead of having my client accessing the database directly via SQL. For simplicity, I'm not using any features from the J2EE framework, and the Business Objects will be hosted on the client side, with one-to-one mapping to tables in the database. Since this is my first attempt in Object-Relational Mapping, I'm faced with the following problems:
    1. What kind of methods are appropriate for business objects? For example, if I have a Machine and Employee entity. A Machine is owned by an employee, and this is represented in the DB by storing the employee ID (not the name) as a foreign key in the Machine table. Let's say in the user interface I have a table that needs to display the list of Machines, but instead of displaying the owner employee's ID, I want to display the owner employee's name by doing a join select. Should the findMachines() method always perform a join select to get owner's name and store it in the Machine object which is returned, or should findMachines() simply return the owner's ID so the UI will need to make another SQL call (through the Employee object) to get the employee's name? The latter is more elegant, but would it be horribly inefficient if there are lots of machines to be displayed (and for each machine we make a separate select call to get the owner's name).

    Business objects should be separate from how they're persisted.
    When you say object-relational mapping, do you mean a tool like Hibernate? Or are you writing your own persistence layer using JDBC and SQL?
    I'd recommend that you read about the Data Access Object pattern and keep the persistence code out of the business objects themselves:
    http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html
    url=http://www-106.ibm.com/developerworks/java/library/j-dao/

  • SSO2DB / Use Business Objects Credential Mapping

    Hi,
    We standardized our universe connections to SQL Server on "Use Single Sign On when refreshing reports at view time". There however is an issue with this when scheduling reports, see
    1199774 - How to schedule Web Intelligence documents based on SSO2DB universes for Oracle and SQL Server to avoid scheduling issues
    Given the solution proposed there is not optimal for us, we are looking at an alternative by standardizing on: "Use Business Objects Credential Mapping" on the universe connection. We want to use OLE DB (SQL Server native connection) for querying.
    There are 2 ways to do this:
    1. On universe connection, in the tab "Database Middleware", we directly select OLE DB. This way we do not need to create a DSN. We however get: A database error occured. The database error text is: Microsoft SQL Native Client : Login failed for user '<user>'.. (WIS 10901)
    Apparently the default authentication mode to SQL server is "native". SQL server specific user. When we create a native SQL server <user> with same password as in the mapped database credentials in the CMC, it works fine. Indicating native SQL server authentication is used instead Integrated Windows authentication.
    Can we somehow change the authentication mode towards SQL server to Win AD?
    Can we get to the SSO2DB functionality in this way?
    2. When selecting ODBC on universe connection in tab"Database Middleware", we can still use OLE DB by creating a DSN based on the SQL Server native drivers. This also allows use to fix the DSN on authentication setting "With Integrated Windows authentication".
    When we run a WebI report from InfoView and select as one of the objects the "system_User", we get the service account running the SIA. This account is also running the WebIntelligenceProcessingServer.
    Does the credential mapping setting not work in this setup?
    We expected the DBUSER/DBPWD to be passed.
    See also SSO2DB / Use Database Credentials
    Quote "Use DB credentials is not kerberos it uses DBuser/DBpass variable for accounts if they are populated. I currently have an escalation in on this with SQL there may be a bug with AD users although SQL users work fine."
    Thx in advance!
    Raf

    Ganesh, using BO credentials will only work if you have BO logins that map to specific users in SAP BW.
    It may be that you wish to section the BW reporting differently to the SAP reporting or that there are specific requirements for a particular reporting area where you can in effect use an "overrule" to replace an individual's log in with one that has a wider set of access privileges for reporting purposes. Quite why you'd let them report on more than they can see in SAP, I don't know, but there you go!
    It's more traditionally used in database-based universes for a variety of reasons, particularly access.

  • Get name of XI System in mapping

    Hi,
    we have a three system landscape, i.e. we have an XI installation for development, test und production. In a mapping program, is it possible to retrieve dynamically the name of the XI system, on which the mapping is running?
    I need this to replace an e-mail adress in test scenarions, so I want to determine, if I'm on test or on production system. In a productive scenario, the dynamically determined e-mails adresse are not to be replaced.
    Regards,
    Torsten

    Hi,
    In IP we can access through context object ,
    also we can access this info from username and the part of the username
    yes you can use context objects:
    http://help.sap.com/saphelp_nw04/helpdata/en/6e/ff0bf75772457b863ef5d99bc92404/content.htm
    how to get them fomr the mapping (take a look at my weblog):
    /people/michal.krawczyk2/blog/2005/02/25/simple-java-code-in-graphical-mapping--xi
    if you're using idocs then you have those values in edi_dc40 segment (sender port, receiver port) which are sap sid numbers
    also see the below link
    Availability of System id value in a BPM
    Regars
    Chilla..
    <i>reward points ..</i>

  • Cannot access a disposed object. Object Name : DataReader.

    "Cannot access a disposed object. Object Name : DataReader."
    This issue occurs when i use two custom pipeline component in the validate
    stage of recv pipeline.
    1)frst custom component is to validate the FF file (if i use this component alone everything works fine)
    2)2nd custom component is to execute map in the pipeline after the frst component
    Is there a soultion for this ?
    Other than setting RecoverableInterchangingProcessing to "True" and adding pContext.ResourceTracker.AddResource(Stream) ??
    Thanks
    Ismail

    It would be easy if you had your code copied here..
    One thing I suspect and we normally forgot to do is to reset the position of the stream to the beginning when we go from one component to another, something like below:
    yourStream.Position=0 
    or 
    yourStream.Seek(0, SeekOrigin.Begin);
    (may be DataReader is yourStream in your case?) 
    This statement can be added at the last of your Execute method just before your return statement. "yourStream" is the stream variable associated with your message.
    We need to re-position the stream before we read it again (when you get control to execute method, default position is 0). When you have more than one components, the message (IBaseMessage) then needs to be passed from one component to another and the current
    position needs to be 0.
    FYI: RecoverableInterchangingProcessing is to allows an interchange to be processed completely even if one or more messages in the interchange fail at the following stages/phases and ResourceTracker is used to manage the lifetime of the objects (e.g. you will
    track those objects which you want to be disposed after execution of your component).
    Please mark it as Answer if this answers your question
    Thanks.
    Mo
    The contents I write here is my personal views, not the view of my employer and anyone else.

  • Web-UI error message "Access via 'NULL' object reference not possible"

    I need some help, I'm not a Basis person but I need to get this connection problem resolve.
    This problem is in our DEV ICWeb system.  After logging in to Web-UI, I got a error message "Access via 'NULL' object reference not possible".  We have 3 clients (100, 220, & 310) in DEV and all 3 clients are giving me the same error message.
    From the help.sap.com, I found this topic http://help.sap.com/saphelp_nwes70/helpdata/en/84/43f0d786304e19a652a8f80909a8ec/content.htm
    but in the document it asked to go to SM59 to check the ESH_APPL_WS_TEMPLATEENGINE destination.  But we don't have that destination setup in all our systems.
    Here is the complete error message:
    Error when processing your request
    What has happened?
    The URL http://crm-dev.staff.copa:8000/sap/bc/bsp/sap/crm_ui_frame/BSPWDApplication.do was not called due to an error.
    Note
    ■The following error text was processed in the system CD1 : Access via 'NULL' object reference not possible.
    ■The error occurred on the application server CRM-DEV_CD1_00 and in the work process 0 .
    ■The termination type was: RABAX_STATE
    ■The ABAP call stack was:
    Method: GET_DATA_LOSS_HANDLER of program CL_CRM_UI_CORE_APPL_CONTROLLERCP
    Method: GET_DATA_LOSS_HANDLER of program CL_CRM_UI_CORE_APPL_CONTROLLERCP
    Method: EH_TRIGGER_NAVIGATION of program CL_CRM_UI_CORE_APPL_CONTROLLERCP
    Method: SET_WORKAREA_CONTENT of program CL_CRM_UI_CORE_APPL_CONTROLLERCP
    Method: PROCESS_NAV_QUEUE of program CL_BSP_WD_VIEW_MANAGER========CP
    Method: DO_INIT of program CL_CRM_UI_FRAME_APP_CONTROLLERCP
    Method: DO_INIT of program CL_BSP_CTRL_ADAPTER===========CP
    Method: GET_PAGE_CONTEXT_CURRENT of program CL_BSP_CONTEXT================CP
    Method: ON_REQUEST_ENTER of program CL_BSP_RUNTIME================CP
    Method: ON_REQUEST of program CL_BSP_RUNTIME================CP
    What can I do?
    ■If the termination type was RABAX_STATE, then you can find more information on the cause of the termination in the system CD1 in transaction ST22.
    ■If the termination type was ABORT_MESSAGE_STATE, then you can find more information on the cause of the termination on the application server CRM-DEV_CD1_00 in transaction SM21.

    Hi Michael,
    Refer to the link below and check the procedure.
    http://help.sap.com/saphelp_nwes70/helpdata/en/84/43f0d786304e19a652a8f80909a8ec/content.htm
    Regards,
    Arjun

  • How to get access to the local file system when running with Web Start

    I'm trying to create a JavaFX app that reads and writes image files to the local file system. Unfortunately, when I run it using the JNLP file that NetBeans generates, I get access permission errors when I try to create an Image object from a .png file.
    Is there any way to make this work in Netbeans? I assume I need to sign the jar or something? I tried turning "Enable Web Start" on in the application settings, and "self-sign by generated key", but that made it so the app wouldn't launch at all using the JNLP file.

    Same as usual as with any other web start app : sign the app or modify the policies of the local JRE. Better sign the app with a temp certificate.
    As for the 2nd error (signed app does not launch), I have no idea as I haven't tried using JWS with FX 2.0 yet. Try to activate console and loggin in Java's control panel options (in W7, JWS logs are in c:\users\<userid>\appdata\LocalLow\Sun\Java\Deployment\log) and see if anything appear here.
    Anyway JWS errors are notoriously not easy to figure out and the whole technology in itself is temperamental. Find the tool named JaNeLA on the web it will help you analyze syntax error in your JNLP (though it is not aware of the new syntax introduced for FX 2.0 and may produce lots of errors on those) and head to the JWS forum (Java Web Start & JNLP Andrew Thompson who dwells over there is the author of JaNeLA).

  • Problem with Dynamically accessing EJB Class objects in WL 7.0 SP1

    I am trying to build a component which has the ability to instantiate and execute
    an known EJB method on the fly.
    I have managed to build the component but when I try and execute it I get a ClassNotFoundException.
    I know that the EJB I am trying to invoke is deployed and available on the server,
    as I can see it in the console, I also seen to have been able to get the remote
    interface of the object, my problem occurs when I try and access the class object
    so I can perform a create on the object and then execute my method
    The code I have written is below:
    private Object getRemoteObject(Context pCtx, String pJNDIName, String pHomeBean)
    throws Exception {
         String homeCreate = "create";
         Class []homeCreateParam = { };
         Object []homeCreateParamValues = {};           
    try {  
    //This call seems to work and doesn't throw an exception     
    Object home = pCtx.lookup(pJNDIName);
    //However this call throws a java.lang.ClassNotFoundException
    Class homeBean = Class.forName(pHomeBean);
    Method homeCreateMethod = homeBean.getMethod(homeCreate,homeCreateParam);
    return homeCreateMethod.invoke(home, homeCreateParamValues);
    } catch (NamingException ne) {             
    logStandardErrorMessage("The client was unable to lookup the EJBHome.
    Please make sure ");
    logStandardErrorMessage("that you have deployed the ejb with the JNDI
    name "+pJNDIName+" on the WebLogic server ");
    throw ne;
    } catch (Exception e) {
    logStandardErrorMessage(e.toString());
    throw e;     
    Any advice would be really appreciated, I'm fast running out of ideas, I suspect
    it has something to do with the class loader but I'm not sure how to resolve it
    Regards
    Jo Corless

    Hello Joanne,
    Congratulations! I'm very happy that you've managed to fix your problem. It's
    always essential to understand how to package applications when deploying on BEA
    WebLogic. Usually, by throwing everything into an EAR file solves just about all
    the class loader problems. :-) Let us know if you have any further problems that
    we can assist you with.
    Best regards,
    Ryan LeCompte
    [email protected]
    http://www.louisiana.edu/~rml7669
    "Joanne Corless" <[email protected]> wrote:
    >
    >
    I've fixed it!!!!!!!!
    Thanks to everyone who gave me help!!!!
    The class loader was the culprit which is what I suspected all along.
    As soon
    as I put the 2 jar files I was using into an EAR file the problem went
    away!!!!!
    Thanks again
    Jo Corless
    "Ryan LeCompte" <[email protected]> wrote:
    Hello Joanne,
    As Mr. Woollen mentioned, I also believe it's a problem with the class
    loader.
    You need to be careful how you arrange your EJBs, because WebLogic has
    a specific
    method in which it loads classes in an EAR, JAR, and WAR file(s). Please
    refer
    to http://dev2dev.bea.com/articles/musser.jsp for more information about
    BEA WebLogic
    class loading mechanisms and caveats. Also, try printing out the various
    methods
    that are available on the object that was returned to you via reflection.
    For
    example, use the getMethods() method, which returns an array of Method
    objects
    that you can subsequently cycle through and print out the various method
    names.
    This way you can discover if the class found/returned to you is indeed
    the one
    you intend to locate.
    Hope this helps,
    Ryan LeCompte
    [email protected]
    http://www.louisiana.edu/~rml7669
    Rob Woollen <[email protected]> wrote:
    I believe the issue is the home interface class for this EJB is not
    available in the class loader which is doing the reflection.
    If you do:
    getClass().getClassLoader().loadClass(homeInterfaceClassName)
    I suspect it will fail. Reflection still requires that the class be
    loadable.
    -- Rob
    Joanne Corless wrote:
    Hi Slava,
    If I make my code look like you describe below I get a compliationerror telling
    me that
    home.getMethod() is not recognised (no such method)
    If I change it slightly and use
    Method homeCreateMethod =
    home.getClass().getMethod(homeCreate,homeCreateParam);
    The code will compile OK but when executed it still throws a NoSuchMethodException
    Any ideas ?
    Thanks for your help so far
    Regards
    Jo Corless
    Your code should look like
    Object home = pCtx.lookup(pJNDIName);
    Method homeCreateMethod =
    home.getMethod(homeCreate,homeCreateParam);
    return homeCreateMethod.invoke(home, homeCreateParamValues);
    Regards,
    Slava Imeshev
    "Joanne Corless" <[email protected]> wrote in message
    news:[email protected]...
    Hi Ryan,
    I also wanted to mention that if you do a "header search" in this
    particular
    newsgroup
    with the search query as "reflection", you will see many previousmessages
    regarding
    reflection and EJBs. I believe you could learn a lot from thedifficulties
    that
    others have faced and solved.I tried that and although there was a number of similar cases noneof them
    actually
    seem to fix my issue. Thanks for the suggestion though
    Are the EJBs that you are trying to access accessible via your
    system
    classpath?
    Try to avoid having them accessible via the main system classpath,and
    only bundle
    them in your appropriate EJB jar files (contained in an EAR file,for
    example).Maybe I should have laid the problem out a little clearer.
    I have a number of EJB's bundled up in a JAR file which is hot deployedto
    the
    server. Within this first JAR file is an EJB (SSB) component that
    needs
    to
    be
    able to invoke a known method on another EJB. This second EJB may
    or
    may
    not be
    within the first JAR file but it also will be hot deployed.
    The component trying to invoke the method on the 2nd EJB has to
    be
    able to
    create
    an instance of the 2nd EJB without actually knowing anything bar
    a
    JNDI
    Name which
    is passed in at runtime.
    I can get as far as doing the
    Object home = pCtx.lookup(pJNDIName);
    This returned a class with the name
    "com.csc.edc.projects.allders.httppostoffice.postman.PostmanBean_mp8qy2_Home
    Impl_WLStub"
    My problem seems to occur when I try and invoke the create method
    Method homeCreate = home.getClass().getMethod("create", new Class[0]);
    My code throws a java.lang.NoSuchMethodException at this point so
    I
    am
    unable
    to progress to the next step of :
    Object bean = homeCreate.invoke(home, null);
    So I can return the instantiated bean back to the calling client.
    Why am I getting the NoSuchMethodException, is is because I am gettinga
    stub
    back rather than the home interface and if so how do I get the truehome
    interface
    from the bean
    Thanks in advance
    Jo Corless

  • The following error text was processed in the system IDS : Access via 'NULL' object reference not possible.

    Hi all ,
    Im getting the below error , actually recently i created my own custom table zstudent, later i wrote select query to fetch data from the same and dump at internal table and then bind this to the table node.
    But im getting below error, even i removed the select query still same error is occuring.
    Error when processing your request
      What has happened?
    The URL http://********00.*****b.com:8000/sap/bc/webdynpro/sap/zdemo_student/ was not called due to an error.
    Note
    The following error text was processed in the system IDS : Access via 'NULL' object reference not possible.
    The error occurred on the application server axsids00_IDS_00 and in the work process 0 .
    The termination type was: RABAX_STATE
    The ABAP call stack was:
    Method: WDDOINIT of program /1BCWDY/YUSM2Q74A826Y0JY1I4V==CP
    Method: IF_WDR_COMPONENT_DELEGATE~WD_DO_INIT of program /1BCWDY/YUSM2Q74A826Y0JY1I4V==CP
    Method: DO_INIT of program CL_WDR_DELEGATING_COMPONENT===CP
    Method: INIT_CONTROLLER of program CL_WDR_CONTROLLER=============CP
    Method: INIT_CONTROLLER of program CL_WDR_COMPONENT==============CP
    Method: INIT of program CL_WDR_CONTROLLER=============CP
    Method: INIT of program CL_WDR_CLIENT_COMPONENT=======CP
    Method: INIT of program CL_WDR_CLIENT_APPLICATION=====CP
    Method: IF_WDR_RUNTIME~CREATE of program CL_WDR_MAIN_TASK==============CP
    Method: HANDLE_REQUEST of program CL_WDR_CLIENT_ABSTRACT_HTTP===CP

    Thanks Rama,
    Acutally i accidentally commented the lo_nd_student = wd_context ....etc
    this line was commented .
    i have one small requirement to fetch data from local customised table and fill the same to internal table and bind that to table node.
    my table node is student having attributes as name , city and number , all are of type strings.
    now i created one custom table zstudent having ID - char of length 10,
    name of type string
    city of type string
    num of type string
    i have inserted records
    but when i use select query to fill data from this zstudent to my internal table of type lt_student type wd_this->elements_student ,
    im getting same above error.

  • Dump - Access using NULL object reference is not possible!!!

    Hi,
    I'm using the BCS class for sending HTM format email so i use the below code for that its working,
    DATA: gr_document      TYPE REF TO cl_document_bcs,
    gr_document = cl_document_bcs=>create_document(
                          i_type    = 'HTM'
                           i_text    = t_html
                           i_importance = '5'
                           i_subject = gc_subject ).
    Next task is to send the image so i'm creating an another object to the same class, below code
    *Image from MIME
    DATA: o_mr_api         TYPE REF TO if_mr_api.
    DATA is_folder TYPE boole_d.
    DATA l_img1 TYPE xstring.
    DATA l_img2 TYPE xstring.
    DATA l_loio TYPE skwf_io.
    DATA: lo_document   TYPE REF TO cl_document_bcs.
    IF o_mr_api IS INITIAL.
       o_mr_api = cl_mime_repository_api=>if_mr_api~get_api( ).
    ENDIF.
    CALL METHOD o_mr_api->get
       EXPORTING
         i_url              = '/SAP/PUBLIC/ZDEMO/tick.png'
       IMPORTING
         e_is_folder        = is_folder
         e_content          = l_img1
         e_loio             = l_loio
       EXCEPTIONS
         parameter_missing  = 1
         error_occured      = 2
         not_found          = 3
         permission_failure = 4
         OTHERS             = 5.
    CALL METHOD o_mr_api->get
       EXPORTING
         i_url              = '/SAP/PUBLIC/ZDEMO/Delete.png'
       IMPORTING
         e_is_folder        = is_folder
         e_content          = l_img2
         e_loio             = l_loio
       EXCEPTIONS
         parameter_missing  = 1
         error_occured      = 2
         not_found          = 3
         permission_failure = 4
         OTHERS             = 5.
    *Convert XSTRING to ITAB
    DATA :lt_hex1 TYPE solix_tab,
           lt_hex2 TYPE solix_tab,
           ls_hex LIKE LINE OF lt_hex1,
           lv_img1_size TYPE sood-objlen,
           lv_img2_size TYPE sood-objlen.
    CLEAR : lt_hex1, lt_hex2, ls_hex, lv_img1_size, lv_img2_size.
    WHILE l_img1 IS NOT INITIAL.
       ls_hex-line = l_img1.
       APPEND ls_hex TO lt_hex1.
       SHIFT l_img1 LEFT BY 255 PLACES IN BYTE MODE.
    ENDWHILE.
    WHILE l_img2 IS NOT INITIAL.
       ls_hex-line = l_img2.
       APPEND ls_hex TO lt_hex2.
       SHIFT l_img2 LEFT BY 255 PLACES IN BYTE MODE.
    ENDWHILE.
    *Findthe Size of the image
    DESCRIBE TABLE lt_hex1 LINES lv_img1_size.
    DESCRIBE TABLE lt_hex2 LINES lv_img2_size.
    lv_img1_size = lv_img1_size * 255.
    lv_img2_size = lv_img2_size * 255.
    *Attach Images
    clear: lo_document.
    lo_document->add_attachment(
       EXPORTING
         i_attachment_type     =  'png'                  " Document Class for Attachment
         i_attachment_subject  =  'img1'                " Attachment Title
         i_attachment_size     =  lv_img1_size           " Size of Document Content
         i_att_content_hex     =  lt_hex1  " Content (Binary)
    lo_document->add_attachment(
       EXPORTING
         i_attachment_type     =  'png'                  " Document Class for Attachment
         i_attachment_subject  =  'img2'                " Attachment Title
         i_attachment_size     =  lv_img2_size           " Size of Document Content
         i_att_content_hex     =  lt_hex2  " Content (Binary)
    but it throws the dump " Access using NULL object reference is not possible"  when i tries to access for method add_attachment...
    Thanks,
    Siva

    Yes there is commit work after that, Below code
          gr_document = cl_document_bcs=>create_document(
                           i_type    = 'HTM'
                            i_text    = t_html
                            i_importance = '5'
                            i_subject = gc_subject ).
    *Image from MIME
    DATA: o_mr_api         TYPE REF TO if_mr_api.
    DATA is_folder TYPE boole_d.
    DATA l_img1 TYPE xstring.
    DATA l_img2 TYPE xstring.
    DATA l_loio TYPE skwf_io.
    DATA: lo_document   TYPE REF TO cl_document_bcs.
    IF o_mr_api IS INITIAL.
       o_mr_api = cl_mime_repository_api=>if_mr_api~get_api( ).
    ENDIF.
    CALL METHOD o_mr_api->get
       EXPORTING
         i_url              = '/SAP/PUBLIC/ZDEMO/tick.png'
       IMPORTING
         e_is_folder        = is_folder
         e_content          = l_img1
         e_loio             = l_loio
       EXCEPTIONS
         parameter_missing  = 1
         error_occured      = 2
         not_found          = 3
         permission_failure = 4
         OTHERS             = 5.
    CALL METHOD o_mr_api->get
       EXPORTING
         i_url              = '/SAP/PUBLIC/ZDEMO/Delete.png'
       IMPORTING
         e_is_folder        = is_folder
         e_content          = l_img2
         e_loio             = l_loio
       EXCEPTIONS
         parameter_missing  = 1
         error_occured      = 2
         not_found          = 3
         permission_failure = 4
         OTHERS             = 5.
    *Convert XSTRING to ITAB
    DATA :lt_hex1 TYPE solix_tab,
           lt_hex2 TYPE solix_tab,
           ls_hex LIKE LINE OF lt_hex1,
           lv_img1_size TYPE sood-objlen,
           lv_img2_size TYPE sood-objlen.
    CLEAR : lt_hex1, lt_hex2, ls_hex, lv_img1_size, lv_img2_size.
    WHILE l_img1 IS NOT INITIAL.
       ls_hex-line = l_img1.
       APPEND ls_hex TO lt_hex1.
       SHIFT l_img1 LEFT BY 255 PLACES IN BYTE MODE.
    ENDWHILE.
    WHILE l_img2 IS NOT INITIAL.
       ls_hex-line = l_img2.
       APPEND ls_hex TO lt_hex2.
       SHIFT l_img2 LEFT BY 255 PLACES IN BYTE MODE.
    ENDWHILE.
    *Findthe Size of the image
    DESCRIBE TABLE lt_hex1 LINES lv_img1_size.
    DESCRIBE TABLE lt_hex2 LINES lv_img2_size.
    lv_img1_size = lv_img1_size * 255.
    lv_img2_size = lv_img2_size * 255.
    *Attach Images
    create object lo_document type cl_document_bcs.
    lo_document->add_attachment(
       EXPORTING
         i_attachment_type     =  'png'                  " Document Class for Attachment
         i_attachment_subject  =  'img1'                " Attachment Title
         i_attachment_size     =  lv_img1_size           " Size of Document Content
         i_att_content_hex     =  lt_hex1  " Content (Binary)
    lo_document->add_attachment(
       EXPORTING
         i_attachment_type     =  'png'                  " Document Class for Attachment
         i_attachment_subject  =  'img2'                " Attachment Title
         i_attachment_size     =  lv_img2_size           " Size of Document Content
         i_att_content_hex     =  lt_hex2  " Content (Binary)
           "Add document to send request
           CALL METHOD gr_send_request->set_document( gr_document ).
           TRY.
             CALL METHOD gr_send_request->SET_SEND_IMMEDIATELY
               EXPORTING
                 I_SEND_IMMEDIATELY = 'X'.
    *    CATCH CX_SEND_REQ_BCS INTO BCS_EXCEPTION .
    **Catch exception here
           ENDTRY.
           DATA: LO_SENDER TYPE REF TO IF_SENDER_BCS VALUE IS INITIAL.
           TRY.
             LO_SENDER = CL_SAPUSER_BCS=>CREATE( SY-UNAME ). "sender is the logged in user
    * Set sender to send request
             gr_send_request->SET_SENDER(
             EXPORTING
             I_SENDER = LO_SENDER ).
    *    CATCH CX_ADDRESS_BCS.
    ****Catch exception here
           ENDTRY.
           "Send email
           CALL METHOD gr_send_request->send(
             EXPORTING
               i_with_error_screen = 'X'
             RECEIVING
               result              = gv_sent_to_all ).
           IF gv_sent_to_all = 'X'.
             WRITE 'Email sent!'.
           ENDIF.
           "Commit to send email
           COMMIT WORK.
           "Exception handling
         CATCH cx_bcs INTO gr_bcs_exception.
           WRITE:
             'Error!',
             'Error type:',
             gr_bcs_exception->error_type.
       ENDTRY.

Maybe you are looking for