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 DasHi,
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 -
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
SuryaHi 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)
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 AMHey 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!
RafGanesh, 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,
TorstenHi,
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
IsmailIt 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 CorlessHello 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 -
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===CPThanks 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,
SivaYes 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
-
My ipad is not able to find my printer the message- no airprint printer can be found is displayed, but I am able to email to my printer from my ipad and successfully print??? I want to be ale to print a picture directly. How do I get my ipad to find
-
How can i make perticular row or perticular cell Editable of a JTable
Dear al, can u help me by guiding me for the problem of... i am having a JTable, in which a (first)column of each row is having a checkbox field. If the checkbox is checked then and then i should able to modify the cells in that row where the checkbo
-
Photoshop still pops up the help page
Had this issue in PS7. PS CS6 was fine until recently, but now it does the same thing. Pops up a help page (usually several) in a browser. Seems to occur primarily when the fx (layer style) pane is open. Thanks for any help.
-
Galaxy nexus, mms is not working at all
My mms is not working at all, cant group chat nor can I send or recieve pic. I try doing a hard reset, which did work but only for a few hrs. I can also get it to work temporarily by removing the sim card and reinserting it. I even went to verizon st
-
Regarding training and placement program for SAP-ABAP at simens
Dear all, i am an MCA completed fresher planning to join in simens for SAP-ABAP module. I have quires like 1 After training whether they will provide placement ? 2 How much will be the fees for that module? and last what is duration for that m