Sender IDOC with HEX characters
Hi Chaps,
I have a situation i.e. my sender IDOC is sending some HEX characters in the text fields, XI should interpret them and convert it into text fields to the target system.
Could some one guide me on the best approach for this?
Your inputs are highly appreciable.
Regards,
Vijaya
Hi,
You will need to loop at the string array and read it character by character. You can convert from HEX to unicode using the following line of code in your UDF -
char c = (char) Integer.parseInt("str", 16);
where str is the four digit HEX character at i'th position.
Hope this helps.
Regards,
Riyaz
PS: Calling community members as 'Chaps' does NOT sound professional.
Similar Messages
-
RFC error "No authorization to send IDOCs with message type ..."
Hi all,
I have now tried just about everything I could think of, applied all the notes mentioned on this forum but still no luck. Can anyone please help ...
I have got a file to idoc scenario, the status in the sxmb_moni is successful, but the outbound processing logs an error. When I go to transaction SM58 I get an error for the user XIAFUSER with the message "No authorization to send IDOCs with message type WPUUMS".
I have tried giving this user SA_ALL access and still got the same error thus concluding that this is not an authorisation error.
Any suggestions?
Regards,
LieselHi Liesel,
The RFC destination that you have put in IDoc communication channel must be present in your SAP XI system, transaction SM59 also.
Please check if the user id/Password that you have given has all the authorization.
Also check the User ID and passwrord in SM59 in R3 and see if a Remote Login is possible.
There is also some configuration by which the clients are allowed / blocked from receiving Idocs from XI. Basis guys can do it for you. Please approach your basis consultant. Hopefully that helps..
Regards,
Abhy Thomas -
Error : No authorization to send IDocs with message type MATMAS
Hi All,
My scenario is FILE-XI-IDOC.
I am getting chequered flag in SXMB_MONI,but in that under outbound status I am getting red flag.
When I check in SM58 I am getting message as "No authorization to send IDocs with message type MATMAS".
Do I need to give any authorizations on XI side or on R/3 side?
If so, what is the authorization required?
I could not find the note :837595.<i>You use the IDoc Adapter in the Exchange Infrastructure and you try to use the IDocs to receive or send data. For these IDocs, an attempt is made to load the IDoc metadata from an R/3 reference system with an SAP NetWeaver Release lower than 6.20.
This occurs either at runtime, whereby the relevant messages run into 'System error' status, or when you use transaction IDX2 during manual loading of the metadata. In this case, the reference ystem is called by RFC and the logon user of the RFC destination does not have the necessary authorizations for determining the metadata.
Solution
In transaction PFCG, extend the role of the logon user by adding the following authorizations:
Authorization object S_RFC
Field name RFC_TYPE value FUGR
Field name RFC_NAME value EDIMEXT, SDTX
Field name ACTVT value 16
Authorization object S_IDOCDEFT
Field name ACTVT value 03
Field name EDI_CIM value ' '
Field name EDI_DOC value TXTRAW01
Field name EDI_TCD value WE30
Authorization object S_CTS_ADMI
Field name CTS_ADMFCT value TABL
Authorization object S_TABU_DIS
Field name ACTVT value 03
Field name DICBERCLS value</i>
from the note mentioned above.
Regards
Bhavesh -
Workflow Ends in Error " No auth to send IDocs with message type ORDRSP"
Hello All,
I have created an RFC user with limited Authoprizations including WE* tciodes and a few ME* transactons for an ALE Set up. I want to make sure i would not be giving more authorizations (extensive) to this RFC user and assign Just required authorizations. So i started testing testing and the inbound IDOC ended in error with a message " No auth to send IDocs with message type ORDRSP" Message no. SR053. Is there any way to find out what is the missing authorization object for the User. Any inputs would be really apprecaited.
Br,
SriHi !
Becaus alle this happens in beckgound, things are a bit difficult but solvable....
What you should do is a "Authority trace" ... as follows....:
- Go to the ST01
- Mark "Authorisation Check"
- Swich the trace on for your Workflow user
- Execute the Workflow until the error uccurs
- Go back to the ST01
- Press the "Analyze" button and see what error occurs
Dont forget to swicht the trace off... otherwise the tracefiles become realle BIG !
Regards
rainer
Some Reward poins would be nice if that helped.... -
Send attachment with maximum characters
I need to extract data from a table into a .csv and then send that .csv as an attachment.
I am converting the data to csv and assigning it to clob variable but table has huge data therefore procedure gets error out after around 7000 characters with
ORA-06502: PL/SQL: numeric or value error.
Please suggest a way to send attachment with maximum characters.
With the below sample code i am able to send atttachement upto 7000 characters.
DECLARE
v_From VARCHAR2(80) := '[email protected]';
v_Recipient VARCHAR2(80) := '[email protected]';
v_Subject VARCHAR2(80) := 'test subject';
v_Mail_Host VARCHAR2(30) := 'mail.mycompany.com';
v_Mail_Conn utl_smtp.Connection;
crlf VARCHAR2(2) := chr(13)||chr(10);
v_message clob;
BEGIN
v_Mail_Conn := utl_smtp.Open_Connection(v_Mail_Host, 25);
utl_smtp.Helo(v_Mail_Conn, v_Mail_Host);
utl_smtp.Mail(v_Mail_Conn, v_From);
utl_smtp.Rcpt(v_Mail_Conn, v_Recipient);
utl_smtp.Data(v_Mail_Conn,
'Date: ' || to_char(sysdate, 'Dy, DD Mon YYYY hh24:mi:ss') || crlf ||
'From: ' || v_From || crlf ||
'Subject: '|| v_Subject || crlf ||
'To: ' || v_Recipient || crlf ||
'MIME-Version: 1.0'|| crlf || -- Use MIME mail standard
'Content-Type: multipart/mixed;'|| crlf ||
' boundary="-----SECBOUND"'|| crlf ||
crlf ||
'-------SECBOUND'|| crlf ||
'Content-Type: text/plain;'|| crlf ||
'Content-Transfer_Encoding: 7bit'|| crlf ||
crlf ||
'some message text'|| crlf || -- Message body
'more message text'|| crlf ||
crlf ||
'-------SECBOUND'|| crlf ||
'Content-Type: text/plain;'|| crlf ||
' name="excel.csv"'|| crlf ||
'Content-Transfer_Encoding: 8bit'|| crlf ||
'Content-Disposition: attachment;'|| crlf ||
' filename="excel.csv"'|| crlf ||
crlf ||
v_message|| crlf || -- Content of attachment
crlf ||
'-------SECBOUND--' -- End MIME mail
utl_smtp.Quit(v_mail_conn);
EXCEPTION
WHEN utl_smtp.Transient_Error OR utl_smtp.Permanent_Error then
raise_application_error(-20000, 'Unable to send mail: '||sqlerrm);
END;
Thanks,Thanks for your help Billy.
I am able to segment the data but I am not getting any attachment instead segmented data is showing in the mail body.
Can you please have a look and let me where it is going wrong?
DECLARE
v_From VARCHAR2(80) := '[email protected]';
v_Recipient VARCHAR2(80) := '[email protected]';
v_Subject VARCHAR2(80) := 'test mail';
v_Mail_Host VARCHAR2(30) := 'localhost';
v_Mail_Conn utl_smtp.Connection;
crlf VARCHAR2(2) := chr(13)||chr(10);
v_message clob;
message clob;
BEGIN
v_Mail_Conn := utl_smtp.Open_Connection(v_Mail_Host, 25);
utl_smtp.Helo(v_Mail_Conn, v_Mail_Host);
utl_smtp.Mail(v_Mail_Conn, v_From);
utl_smtp.Rcpt(v_Mail_Conn, v_Recipient);
v_message := 'date: ' || to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS')||chr(10)||
'from: '||v_From|| chr(10) ||
'to: '||v_Recipient ||chr(10)||
'subject: '||v_Subject || chr(10) || chr(10);
utl_smtp.open_data (v_Mail_Conn);
utl_smtp.write_data(v_Mail_Conn , v_message );
--MIME header.
UTL_SMTP.WRITE_DATA(v_Mail_Conn,'MIME-Version: 1.0' || crlf);
UTL_SMTP.WRITE_DATA(v_Mail_Conn,'Content-Type: multipart/mixed;' || crlf);
UTL_SMTP.WRITE_DATA(v_Mail_Conn,' boundary="-----SECBOUND"' ||crlf);
UTL_SMTP.WRITE_DATA(v_Mail_Conn,crlf);
-- Mail Body
UTL_SMTP.WRITE_DATA(v_Mail_Conn,'-------SECBOUND'|| crlf);
UTL_SMTP.WRITE_DATA(v_Mail_Conn,'Content-Type: text/plain;' || crlf);
UTL_SMTP.WRITE_DATA(v_Mail_Conn,'Content-Transfer_Encoding: 7bit' || crlf);
UTL_SMTP.WRITE_DATA(v_Mail_Conn, crlf);
UTL_SMTP.WRITE_DATA(v_Mail_Conn, 'Please see the attachments' || crlf);
UTL_SMTP.WRITE_DATA(v_Mail_Conn, crlf);
-- Mail Attachment
utl_smtp.write_data(v_Mail_Conn,'-------SECBOUND' || crlf);
utl_smtp.write_data(v_Mail_Conn,'Content-Type: text/plain;' || crlf);
utl_smtp.write_data(v_Mail_Conn,'name="excel.csv"' ||crlf);
utl_smtp.write_data(v_Mail_Conn,'Content-Transfer_Encoding: 8bit' ||crlf);
utl_smtp.write_data(v_Mail_Conn,'Content-Disposition: attachment;' ||crlf);
utl_smtp.write_data(v_Mail_Conn,'filename="excel.csv"' ||crlf);
utl_smtp.write_data(v_Mail_Conn,crlf);
message := 'OBJECT_TYPE, OBJECT_FOREIGNKEY, OPERATION, EVENT_ID, STATUS_ID, NUM_BLOCKED, MODIFIED_DATE, INT_UPDATEEVENT_FMWID, ERROR_DESCRIPTION';
utl_smtp.write_data(v_Mail_Conn , message );
for rec in (
select object_type, object_foreignkey, operation, x.event_id, x.status_id, num_blocked,
e.modified_date, e.INT_UPDATEEVENT_FMWID, replace(substr(e.error_description,1,100),',',' ') error_description
from (
select b2.object_type, b2.object_foreignkey, t.operation, e2.event_id, e2.status_id, count(1) num_blocked
from EVENT e
INNER JOIN TRANSACTION t
ON e.transaction_id = t.transaction_id
inner join transaction_dependency d
on t.transaction_id = d.transaction_id
inner join transaction_block b
on t.transaction_id = b.transaction_id
inner join transaction_block b2
on d.transaction_id <> b2.transaction_id
and d.object_type = b2.object_type
and d.object_foreignkey = b2.object_foreignkey
inner join transaction t2
on b2.transaction_id = t2.transaction_id
and t.source_type = t2.source_type
inner join event e2
on t2.transaction_id = e2.transaction_id
where t.source_type = 'CRM_OD_To_OP'
and e.created_date >=(sysdate - 1)
and e.status_id <1000
and e2.status_id <1000
group by b2.object_type, b2.object_foreignkey, t.operation, e2.event_id, e2.status_id
) x
inner join event e
on x.event_id = e.event_id
and e.status_id = 900
order by num_blocked desc, object_type, object_foreignkey
) loop
message := crlf || rec.object_type||','||rec.object_foreignkey||','|| rec.operation|| ','|| rec.event_id||
','||rec.status_id||','||rec.num_blocked||','||rec.modified_date||','||rec.INT_UPDATEEVENT_FMWID||','||rec.error_description;
utl_smtp.write_data(v_Mail_Conn , message );
end loop;
utl_smtp.write_data(v_Mail_Conn,crlf);
utl_smtp.write_data(v_Mail_Conn,'-------SECBOUND');
utl_smtp.close_data(v_mail_conn);
utl_smtp.quit( v_mail_conn );
EXCEPTION
WHEN others then
dbms_output.put_line('error ' || sqlerrm);
END; -
Issue: "No Authorization to send Idocs with message type Orders" - IDX5
Hi All,
I am working on a File to IDoc(Orders.Orders05) scenario. The sender is PI Server and the receiver is the SAP ISR system. A technical system has been created in PI SLD for the ISR system and a Business system is added to that. The logical system created in ISR system using Tcode BD54 is added to the business system in PI. A new RFC destination is created in PI system to connect to the ISR system.
On the ISR system Partner profile is created using TCode we20 with the same logical system name already created using Tcode BD54.
When sxi_monitor is executed on the PI system, It shows checked flag on the Inbound side and Red flag on the Outbound side. And when idx5 is executed, it shows the new Idoc number and when it is double clicked, it shows the Status Text as
"No Authorization to send IDocs with message type Orders".
All authorizations have been provided on the Sender side.
Please let me know if any authorization need to be provided on the ISR system or Is this an error on any settings.
Thanks in Advance.
Stalin S.Hi,
Check this Thread which deals with the Authorization Issue
RFC Adapter
And also check this how to check whether u have sufficient authorization to send the Idocs or not
To test the Authorization check
Double click the RFC Destination that u have created in XI towards R/3 in SM59
Select UtilitiesTestAuthorization test
By this you can come to know whether your user is having the propper authorization or not
REgards
Seshagiri -
No authorization to send IDocs with message type R
I'm in the process of installing some business content for a 3.5 prototype. When trying to load some master data I get the following error in the transactional RFC in the source system.
"No authorization to send IDocs with message type R"
Any clues to what may be causing this?
Any help appreciated.
thanks
MikeHi Michael,
the suggestion for SAP_ALL was just for testing purposes in order to see whether it works then. If security is an issue you should reduce the authorization to the ones really needed (see note).
Another security option is to make the background user a system user and not a dialog user.
Regards, Klaus -
Send email with Asian characters
Hi
Does anyone know how to send email with Asian characters? Sample code will be useful. I got ?? instead of the real characters, please help....
Thanks in advance
KenHello.
How are you doing?
Good Day.
I think I have the concepts down some, I'm just gonna
ask some questions for confirmation. First I'll list a
statement then I'll as the question about the
statement.
If the statement is correct answer yes, on the other
hand if the statement is false. Answer no to the
question and explain.
My purpose for asking you questions. Is to get a better understanding of JavaMail and to clear up any doubt. That, I may have on this subject that is related to the statements and questions.
By having some one like you respond to my questions with answers.
Here we go!
The content of the Part Interface and Message class are not attributes at all.
If this statement is correct or not correct please explian why.
Is this statement correct?
A DataHandler is the class called DataHandler and the
object of the DataHandler class, which programmers
would call the DataHandler object; which is (normally
created by using the DataHandler class constructor). The DataHandler class, wraps the data into the DataHandler object which is called DataHandler; by you or I using the DataHandler class constructor.
This statement is correct right?
The DataHandler class takes the data you pass to it's
constructor and wraps it into the DataHandler's object
as one entity called an email message.
Is this statement correct?
Thanks in advance.
Please email me as soon as possible;
at [email protected]
Peace out, have a good day.
-Leroy -
How to send IDOC with extended message type MATMAS
Hi Experts,
I am looking for a solution to send open PR & open PO related data for diffrent materials through as IDCO in XML file.
Scenario is i have to show a report in a 3rd party system for open PR & open PR that too will come after selection some materials. That means select a materials & it will show all the open PO & related data in a report.
The rough idea for the solution i got is I can save the data in XML file in the system. For this i have to send IDOC. but the problem is there is no message type for PR. IF i am not wrong i can extend the MATMAS05 for a segment that will have PR related info.
Now what to do with that how to send the IDOC do i need to create another report to send IDOC or i can send the extended one through BD10. I tried it but it shows error message "0 communication idoc sent" so I dont no y such error is coming i think i am not filling the extended idoc. But again my QUestion is how to do that.
Can i use BAPI also for such work, if then how it can be helpful.
If anyone have any other solution Please help me out of this.
Regards,
NikHi Mahesh,
Thanks for your reply.
My requirement is bit different. i have to send Open PR data for diffrent materials. In a 3rd party application user will search for few materials which will generate a report that will show the PR related data for those material.
That means for few selected materials there will be few PR's which may be open, i have to show those in my report.
Eg: material A, B. are in PR 00001 & material B, C in PR 00002.
After selecting materials A to C report will show
Material PR No Item No Quantity
A 00001 10 1
B 00001 20 3
B 00002 10 3
C 00002 10 1
Same thing i have to do for open PO & open Sales order also.
Can u please help me to provide the solution how can i proceed for it. U have given the Message type & a bapi how it will help in my issue?
I got a suggesion from someone that extend message type matmas for PR, PO, SD related data & send the idoc. but i am confused how to pass that much data ina single IDOC.
Regards,
Nik -
Inbound IDOC with UNICODE issues
We are trying to send in an IDOC with Romanian characters that are outside of latin-1. We have upgraded our 4.7 SAP system to be UNICODE, but when loading these characters via IDOC they are not being represented correctly in R/3. We have tried setting our login language to RO when doing the input and it doesn't seem to matter. Is there a setting somewhere that we are missing to designate an inbound IDOC as UTF-8?
TIA...
DarrinHi Darrin,
if the sender of the IDOC is an external RFC program, you should use the "Codepage" parameter in the logon string, to declare your character set. The SAP RFC lib will then translate between external and R/3 internal codepage.
If you find my answer useful, please don't forget the reward.
Regards,
Juergen -
Sending IDOCs from an MDMP to a Unicode system
Colleagues
I have been trying to send IDOCs containing Chinese characters from an MDMP system to a Unicode system. The data is not being translated from the Chinese code page 8400 to Unicode format.
To date I have created a new IDOC segment, within the original IDOC, which contains the language dependant data preceded by a language element. I have also maintained SM59 on the receiving system (Unicode) to mark the sending system (in SM59 defined as an R/3 connection) as non-unicode, and activated the MDMP settings and mapping the language key ZH to codepage 8400. I have also checked that the language key and code page is valid in the unicode box.This still doesnt work.
I was under the impression that the RFC system would translate the IDOC line by line and if it found a language key in the segment translate it using the code page assigned to that language, but this doesnt seem to be the case. The sending system is 4.5C and the receiving system 4.7.
Is there anyway to get this to work without playing with the IDOC processing routines such as IDOC_INBOUND_ASYNCHRONOUS? Is there something Im missing?
Thanks in advance for your help.Hi,
Perhaps you may want to try to use IDoc file interface instead of RFC.
You can use standard program RSEINB00 to process and post the IDoc file.
Regards,
Ferry Lianto -
Send IDocs internally in a client
Dear all,
I am not sure if this really fits in this forum. But perhaps someone can help me.
I need to send IDocs internally wihin a given client (inter company). So I created a port and a RFC connection pointing on the system itself. My problem is now, that I do not know the "right" authorizations for the service user of the RFC connection to post these IDocs. I prepared it to the user the IDoc adapter uses, but this user seems to be rather powerfull.
Does anyone have an idea how to find this out?
Kind regards
FlorianSure I was able to create & test the rfc connection. However I receive an error in SM58 "No authorization to send IDocs with message type DELINS". The current authorization of the RFC user are:
Y_RFC_IDOC Y_RFC_IDOC
Manually Cross-application Authorization Objects
Manually Authorization Check for RFC Access
Manually Authorization Check for RFC Access
Activity Execute
Name of RFC to be protected *
Type of RFC object to be prote Function group
Best regards
Florian -
Hex Characters in Comments Field
Hey there,
I was wondering if I could get an opinion/confirmation about something weird that I'm seeing after installing 5.0 on my Windows XP Home Operating System.
I get pretty elaborate in my Comments field, filling in Mood or "Feel" for each individual song, so I can pull up smart playlists of the exact soundtrack that I want to hear at any given time.
too much information here
So I download iTunes 5.0 and all of the sudden I notice that many of my comments have been overwritten with Hex characters.
Again, too much info here and here.
Do you think this may be related to iTunes' "SoundCheck" functionality? There is some talk on the innerweb about that, but not really confirmed anywhere.
Thoughts?
Would this make any sense?
The links I gave illustrate the issue with screenshots, pie charts and everything except blood samples, so it may help describe what I'm talking about.
Anyhoo, I'd be interested in any opinion/thoughts.
Thanks,
ZacIs it possible that version 5 is "calling up" the wrong portion of the comment?
Possible? Obviously so. You're seeing it, after all.
Weird as ****? Definitely. It doesn't do that to me.
I don't know what to tell you other than to retag the comments on these files. I don't understand how an MP3 tag could break in that particular way. It's possible that Windows Media Player changed the tag in such a way that it damaged that bit (WMP likes to retag files that it finds without any sort of notification or anything), but it's very odd nevertheless.
There is a script available for "The Godfather" tagging program that will remove these hexadecimal comments. These comments are not actually needed by iTunes anyway, so removing them won't break anything. I don't know much about the godfather and scripting though. Go here for more info: http://users.otenet.gr/~jtcliper/tgf/ -
Issue in sending IDOC from BODS to SAP
I am getting issue while sending IDOC from BODS to SAP.
Job is getting failed with error : "No authorization to send Idoc with message type CREMAS"
I have checked last authorization in SU53 and it is Successful !!
What would be reason because of which job is getting failed with Authorization error?Go to sm58-->Select IDOC_INBOUND_ASYNCHRONOUS this function module, in menu mar select edit--> execute LUW.
or take help from sap basis team, can you please check user in the source system have authorizations profile. 'S_BI-WX_RFC' for this u can refer sap note :150315.
if you need more information refer this document:
How to check a BW - SAP source system connection - SAP NetWeaver Business Warehouse - SCN Wiki -
Sending Idocs from Change pointers
Hi All,
When using RHALESMD or RBDMIDOC, is it possible to send Idocs with transfer mode Insert instead of Update?
Currently when I create new P objects and run the programs the Idocs sent is of transfer type Update. But since the object doesn't exist in receiving system there is nothing to update.
Please let me know if you have any thought what action i can take to solve this problem.
Best regards
MikaelDear Karyna,
The data is fetched from tables TBDME and TBDA2. Neither of the tables has partner system.
You can use below parameters by copying the program and modifying as per your requirement. See if you can link them to receiver partner system.
The data is fetched from TBDME.
You can use below parameters.
MESTYP Message Type
REFMESTYP Reference message type
IDOCFBNAME ALE: IDoc editing function module
OBTAB Name of database table for object
CREUSER Created by
CREDATE Created on
CHAUSER Changed by
CHADATE Changed On
OBJTYPE ALE Object Type
REDUCIBLE ID for reducible message type
BDCP2_SUP Message Type Supports Change Pointers in Table BDCP2
Table TBDA2:
MESTYP EDI_MESTYP
ACTIVE ALE_ACTIVE
BDCP2_ACT BDCP2_ACT
Regards,
Naveen.
Maybe you are looking for
-
How to find out the position in which an application hangs
Hi, is there any possibility to find out the position in a source, in which a deployed application hangs? For example, there is an endless loop in an application, which is already deployed. In runtime the application hangs in this loop. How can I fin
-
HT1420 How do I authorize my computer on a Windows 8 with the latest iTunes???
The "Authorize this computer" button is nowhere to be found :S
-
Tab Purchase Order Information
Hi, Please How make required the fields: Ledger and Default Expense Account. Thank a lot Eduardo Silva Edited by: user12033133 on 02/05/2013 16:11
-
FM CS_BOM_EXPLOSION generates an exception NO_SUITABLE_BOM_FOUND
Hello I execute FM CS_BOM_EXPLOSION (get components of material BOM) within my FM. For one of the materials this FM generates an exception NO_SUITABLE_BOM_FOUND (BOM has marked for deletion). Execution of FM (code2) stops. How to enable to execution
-
How to control keithley 6221 just to change the frequency of a wave at intervals .
Hello, I'm very new to LabVIEW. I'm trying to control keithley 6221 using RS-232. What I want to do is just to change the frequency of a sine wave at every 30 seconds, and the series of the required frequencies could be input at the beginning. Does a