AE 5.2: Reminder message character limit error
Hi,
I was trying to add some additional information into reminder email messages and when saving the changes I receive the message:
"You can not enter more than 800 characters"
My changes were not saved. The total text I had in the message (excluding subject) was only about 600 characters. How can I get around this apparently arbitrary character limit? What controls this?
Hi Ian,
behind the visible, SAP saves a lot of HTML Code for paragraphs, font style and sizing. The limitation of the database field will be 800 characters, including all the HTML tags you don't see.
If you look into the database table VIRSA_AE_WF_RQNTFC field NOTIFICATIONCONTNT you will see the "invisible" can be quite a lot!
Regards
Daniela
Similar Messages
-
Hi,
Can anyone tell me the character limit of an error message if any?
Thanks in advance,
Ashan.Ashan, if it's for a validation error message then the limit is 1999 characters.
-
How can I increase the character limit of my text messages for Droid Maxx 4.4?
How can I increase the character limit of my text messages for Droid Maxx 4.4?
Send as a MMS.
-
Virtual mail hosts: 255 character limit on SPF records
This one was a surprise to me, and caused a lot of headache, so I thought I'd pass it along.
I'm running multiple virtual mail hosts off of my doughty PowerMac single G5 1.8GHz running OS X Server 10.4.11. Some of the outgoing mail was being bounced as spam because a) there wasn't an SPF record on any of the domains and b) the domain of the mailserver didn't always match the domain of the sender. (Most often, it went out under the hostname of the server, cerberus.limbo.jcf.org—which is useless, since that's a LAN address.)
Trying to be a good citizen (and make sure that all of everyone's mail got through), I added SPF records that explicitly named each and every mailserver on the machine, just so that everything was clear and aboveboard—but they ended up being about 500 characters long.
Fastforward a week or two... and I was having problems with my DNS zones loading—I'd get errors that they'd timed out. After pulling my hair out for a while, I discovered that TXT records have a limit of 255 characters (including spaces, etc.) Some folks running servers on non-OS X Server machines have split the records over multiple TXT records (does that even work?), but you get exactly one TXT record per OS X Server machine: the Comment box.
I've now simplified the SPF records so that they read something like this:
+v=spf1 a mx mx:cerberus.limbo.jcf.org mx:cerberus.jcf.org mx:jcf.org ip:173.164.140.96/30 ip:207.58.140.213/30 include:comcast.businessclass.net include:comcast.com -all+
To translate:
• +v=spf1 a mx+ It authorizes deliveries from any IP listed in the DNS zone, and from any mailserver defined in the zone
• +mx:cerberus.limbo.jcf.org mx:cerberus.jcf.org mx:jcf.org+ It also explicitly authorizes deliveries from the server's main LAN and internet DNS names as well as the domain of the foundation for which I work (and through which emails are occasionally relayed)
• +ip:173.164.140.96/30 ip:207.58.140.213/30+ Next it authorizes the public static IP blocks for the server and the foundation's remote server
• +include:comcast.businessclass.net include:comcast.com+ Finally it includes the domain names of the ISP through which most of the mail are relayed
• -all The last item says that if the mail didn't originate from one of those addresses, it isn't ours.
(I think that I've got that right. If I've botched it anywhere, let me know, okay?)
That's 169 characters. The DNS zones loaded happily, and the mail seems to be going out without getting bounced. So far so good!
(There's probably a way to get the hostname on each email to match the domain from which it is being addressed, but I haven't gotten there yet.)
Message was edited by: David KudlerMost often, it went out under the hostname of the server, cerberus.limbo.jcf.org—which is useless, since that's a LAN address.
You can control this via the myhostname setting in Postfix. This defines the name it uses to identify itself to remote mail servers, which sounds like it'll address a lot of your issues.
I added SPF records that explicitly named each and every mailserver on the machine, just so that everything was clear and aboveboard—but they ended up being about 500 characters long.
OK, this doesn't make sense. You don't need to list every virtual hostname for every domain.
All you need to do is add this specific mail server's address in each domain.
There's no requirement that the hostname of the mail server matches the domain name, so it's entirely valid to create an SPF record in domain1.com that lists mailserver.someotherdomain.com as authoritative. Then, as long as postfix's myhostname says it's mailserver.someotherdomain.com and your reverse DNS resolves to that address your problem is solved.
...but you get exactly one TXT record per OS X Server machine: the Comment box.
Unless you edit your zone file directly and add whatever other records you like. However, given the above, I don't think the 255-character limit should be an issue.
Even if you didn't want to mess with your zone files directly there's still a way around that - SPF allows for an 'include' record which basically tells remote servers to include the record from some other domain, so for each domain you could just tell it to include some other domain's record (which, in turn, could include another domain) allowing virtually unlimited record length (or, at least, 255 characters per domain you manage).
SPF Includes are covered here.
• include:comcast.businessclass.net include:comcast.com Finally it includes the domain names of the ISP through which most of the mail are relayed
Bzzzz. You've now allowed any other customer of comcastbusiness.net and comcast.com to send mail on your behalf. You probably don't want to do that. When you consider that 'comcast.com' includes every one of their residential customers you can see that you really don't want to do that. -
Character Limit to Custom Calculation Script?
Hi. I have a document that has a text form field. I want to run a custom calculation script that basically says if field "Group Number" = xxxxxxx, then field "Group Name" should = ABC Company.
I have a list of almost 575 group numbers and names that I need to put in the script. And I've got the script working just fine but I am guessing there is a character limit to the script field???? It won't let me put my full list in there.
Any suggestions on how to get around this??
Thanks,
BrandyI think I might have one error but I thought I had corrected it. Let me run this by you. My "if" lines are like this:
if(a == '88096') event.value = 'Stacy's Carpet Steam Cleaning Company';
But the code doesn't seem to like the ' in the Group's name. Is there a way to correct that without getting rid of the ' .... ????? -
Hi All,
Need help on this:
What is the Character limit for Free hand Sql in XIR2 and XIR3.
Thanks in advance,
swapna.Hi ,
Can you elloborate a little bit more.
what i understood is that
When you use a sql query like select emp_add from XY
And IF emp_add contains more then 1000 chracters then you are not able to see the full data on the report or on a column
Is it the case or are you looking into some other aspect.
Can you ellborate a bit , Do you receive an error ?
Regards
Kultar -
Time limit error no matter what optimization I do...
Hello Experts,
I am trying to optimize the code below since it always results in time limi error when we transport
it to production server. I have tried eliminating some select inside the loop and using for all entries
but it still gets the error. Anyway, below is the code and I hoe you can help me out on this one guys.
Thank you and take care!
LOOP AT lt_vbap ASSIGNING <wa_vbap>.
IF <wa_vbap>-auart EQ 'ZUCI' OR
<wa_vbap>-auart EQ 'ZURV' OR
<wa_vbap>-auart EQ 'ZUPR'.
Check if a delivery document has been created
CLEAR wa_vbill. "used wa_vbfa-vbeln instead of wa_vbill
*Start of modification - AVH - 04/11/07
*/ Used read table instead of fetching records from database every loop
SELECT SINGLE vbeln
FROM vbfa
INTO wa_vbill
WHERE vbelv = <wa_vbap>-vbeln
AND ( ( vbtyp_n EQ 'J' AND vbtyp_v = 'C' )
OR ( vbtyp_n EQ 'T' AND vbtyp_v = 'H' ) ).
CLEAR wa_vbfa.
READ TABLE lt_vbfa INTO wa_vbfa WITH KEY vbelv = <wa_vbap>-vbeln
vbtyp_n = 'J'
vbtyp_v = 'C'
BINARY SEARCH
TRANSPORTING vbeln.
IF sy-subrc <> 0.
READ TABLE lt_vbfa INTO wa_vbfa WITH KEY vbelv = <wa_vbap>-vbeln
vbtyp_n = 'T'
vbtyp_v = 'H'
BINARY SEARCH
TRANSPORTING vbeln.
ENDIF.
*End of modification - AVH - 04/11/07
IF sy-subrc <> 0.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ELSE.
Check if within selection parameters
CLEAR wa_likp.
*Start of modification - AVH - 04/11/07
READ TABLE lt_likp INTO wa_likp WITH KEY vbeln = wa_vbill.
READ TABLE lt_likp INTO wa_likp WITH KEY vbeln = wa_vbfa-vbeln.
*End of modification - AVH - 04/11/07
*Start of modification - AVH - 04/11/07
*/ Used wa_vbfa instead of variable wa_vbill
IF sy-subrc <> 0.
SELECT SINGLE *
FROM likp
INTO wa_likp
WHERE vbeln = wa_vbill.
SELECT SINGLE *
FROM likp
INTO wa_likp
WHERE vbeln = wa_vbfa-vbeln.
*End of modification - AVH - 04/11/07
APPEND wa_likp TO lt_likp.
ENDIF.
IF NOT wa_likp-wadat_ist IN s_erdat.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDIF.
ENDIF.
ELSE.
Check if this has already been billed
CLEAR wa_vbill. "Used wa_vbfa instead of wa_vbill
*Start of modification - AVH - 04/11/07
*/ Used read table instead of fetching records from database every loop
SELECT SINGLE vbeln
FROM vbfa
INTO wa_vbill
WHERE vbelv = <wa_vbap>-vbeln
AND ( ( vbtyp_n EQ 'M' AND vbtyp_v = 'C' )
OR ( vbtyp_n EQ 'O' AND vbtyp_v = 'H' ) ).
CLEAR wa_vbfa.
READ TABLE lt_vbfa INTO wa_vbfa WITH KEY vbelv = <wa_vbap>-vbeln
vbtyp_n = 'M'
vbtyp_v = 'C'
BINARY SEARCH
TRANSPORTING vbeln.
IF sy-subrc <> 0.
READ TABLE lt_vbfa INTO wa_vbfa WITH KEY vbelv = <wa_vbap>-vbeln
vbtyp_n = 'O'
vbtyp_v = 'H'
BINARY SEARCH
TRANSPORTING vbeln.
ENDIF.
*End of modification - AVH - 04/11/07
IF sy-subrc <> 0.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ELSE.
Check if within selection parameters
CLEAR wa_vbrk.
*Start of modification - AVH - 04/11/07
*/ Used wa_vbfa instead of variable wa_vbill.
READ TABLE lt_vbrk INTO wa_vbrk WITH KEY vbeln = wa_vbill.
READ TABLE lt_vbrk INTO wa_vbrk WITH KEY vbeln = wa_vbfa-vbeln.
IF sy-subrc <> 0.
SELECT SINGLE vbeln fkdat
FROM vbrk
INTO wa_vbrk
WHERE vbeln = wa_vbill.
APPEND wa_vbrk TO lt_vbrk.
SELECT SINGLE vbeln fkdat
FROM vbrk
INTO wa_vbrk
WHERE vbeln = wa_vbfa-vbeln.
APPEND wa_vbrk TO lt_vbrk.
ENDIF.
*End of modification
IF NOT wa_vbrk-fkdat IN s_erdat.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDIF.
ENDIF.
ENDIF.
Get Material Type and Division
IF <wa_vbap>-spart IS NOT INITIAL.
SELECT SINGLE mtart
FROM mara
INTO lv_mtart
WHERE matnr = <wa_vbap>-matnr.
ELSE.
SELECT SINGLE mtart spart
FROM mara
INTO (lv_mtart,<wa_vbap>-spart)
WHERE matnr = <wa_vbap>-matnr.
ENDIF.
If material division is same as parameter division
IF <wa_vbap>-spart = p_spart.
If material is subsidiary-owned
IF <wa_vbap>-spart in lr_spart.
If customer is the same as that of parameter division
IF <wa_vbap>-kunnr NE lr_kunnr OR <wa_vbap>-auart EQ 'ZUDO' OR <wa_vbap>-auart EQ 'ZUS3'.
If item is a free good, tag order type as 'ZUPR' to treat
the item the same way as 'ZUPR'
IF <wa_vbap>-pstyv = 'TANN' OR
<wa_vbap>-pstyv = 'ZKNF' OR
<wa_vbap>-pstyv = 'ZKNN' OR
<wa_vbap>-pstyv = 'ZFLO' OR
<wa_vbap>-pstyv = 'ZKBF' OR
<wa_vbap>-pstyv = 'ZKLN' OR
<wa_vbap>-pstyv = 'ZREN'.
lv_auart = <wa_vbap>-auart.
IF lv_auart EQ 'ZUPR'.
CLEAR <wa_vbap>-pstyv.
ENDIF.
<wa_vbap>-auart = 'ZUPR'.
CLEAR: lv_mtart.
ENDIF.
Set Cost of Goods Sold Account
<wa_vbap>-cogshkont = '0050000010'.
CASE <wa_vbap>-auart.
WHEN 'ZUDO' OR 'ZUPR' OR 'ZUCI'.
IF p_rtrns EQ 'X'.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDIF.
WHEN 'ZURD'.
IF p_issue EQ 'X'.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDIF.
WHEN OTHERS.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDCASE.
CASE <wa_vbap>-auart.
WHEN 'ZUPR'.
CASE lv_mtart.
WHEN 'ZUL4'.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
WHEN OTHERS.
Check if division is defined in mapping table
READ TABLE lt_ulsub INTO wa_ulsub
WITH KEY spart = <wa_vbap>-spart.
IF sy-subrc = 0.
<wa_vbap>-kostl = wa_ulsub-kostlp.
<wa_vbap>-bukrs = wa_ulsub-bukrsp.
<wa_vbap>-type = 'TP'.
Set Cost of Goods Sold Account
IF lv_auart = 'ZUPR'.
<wa_vbap>-cogshkont = '0050000006'.
ENDIF.
ELSE.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDIF.
ENDCASE.
WHEN 'ZUCI' OR 'ZUDO' OR 'ZURD' OR 'ZUS3'.
Get cost center from header text
PERFORM get_cost_center USING <wa_vbap>-vbeln
CHANGING <wa_vbap>-kostl.
* Change by LGTE 11-02-2006
Check if Medvale sales
IF <wa_vbap>-auart EQ 'ZUCI' AND <wa_vbap>-kostl IS INITIAL.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
Check if UL Cost Center
ELSEIF <wa_vbap>-kostl NE gv_ul_kostl.
IF <wa_vbap>-kostl NE gv_ul_kostl.
* End change.
Get material division and check if subsidiary product
SELECT SINGLE spart FROM mara INTO <wa_vbap>-spart
WHERE matnr = <wa_vbap>-matnr.
READ TABLE lt_ulsub INTO wa_ulsub
WITH KEY spart = <wa_vbap>-spart.
IF sy-subrc = 0.
Get requestor's company code from cost center data
SELECT SINGLE bukrs
FROM csks
INTO <wa_vbap>-bukrs
WHERE kokrs = lc_kokrs
AND kostl = <wa_vbap>-kostl
AND datbi GE sy-datum
AND datab LE sy-datum.
IF sy-subrc = 0.
For donations, only include if a subsidiary company is donating
IF <wa_vbap>-auart EQ 'ZUDO' OR <wa_vbap>-auart EQ 'ZUS3'.
IF NOT <wa_vbap>-kunnr IN lr_kunnrnt.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDIF.
CHECK <wa_vbap>-kunnr IN lr_kunnrnt.
ENDIF.
For ZUCI, if the company code of the costcenter is UL, do not include
IF <wa_vbap>-bukrs EQ gc_ul_bukrs.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDIF.
IF <wa_vbap>-bukrs = wa_ulsub-bukrsp.
<wa_vbap>-type = 'RV'.
ELSE.
<wa_vbap>-type = 'RV'.
ENDIF.
ELSE.
Check if customer defined in table ZFI_DONATIONS
SELECT SINGLE kunnr FROM zfi_donations INTO <wa_vbap>-kostl
WHERE kunnr = <wa_vbap>-kostl.
IF sy-subrc <> 0.
lv_error = 'X'.
CONCATENATE 'Cost center/Customer' <wa_vbap>-kostl
'does not exist. Please check Sales Order'
<wa_vbap>-vbeln
INTO lt_disp-message SEPARATED BY space.
lt_disp-type = 'E'.
<wa_vbap>-del_ind = 'X'.
APPEND lt_disp.
CONTINUE.
ELSE.
<wa_vbap>-type = 'RV'.
ENDIF.
ENDIF.
ELSE.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDIF.
ELSE.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDIF.
WHEN OTHERS.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDCASE.
ELSE.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDIF.
ELSE.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDIF.
Get company code description
SELECT SINGLE butxt
FROM t001
INTO <wa_vbap>-butxt
WHERE bukrs = <wa_vbap>-bukrs.
IF sy-subrc <> 0.
SELECT SINGLE name1
FROM kna1
INTO <wa_vbap>-butxt
WHERE kunnr = <wa_vbap>-kostl.
ENDIF.
Change by LGTE on 11-02-2006
Get Transaction Type
CASE <wa_vbap>-auart.
WHEN 'ZUPR'. "UL Promo/Samples
IF <wa_vbap>-pstyv = 'TANN' OR
<wa_vbap>-pstyv = 'ZKNF' OR
<wa_vbap>-pstyv = 'ZKNN' OR
<wa_vbap>-pstyv = 'ZFLO' OR
<wa_vbap>-pstyv = 'ZKBF' OR
<wa_vbap>-pstyv = 'ZKLN' OR
<wa_vbap>-pstyv = 'ZREN'.
<wa_vbap>-ltext = 'Free Goods'.
ELSE.
<wa_vbap>-ltext = 'Product Samples'.
ENDIF.
WHEN 'ZUDO'. "Donations - R/3
<wa_vbap>-ltext = 'Donations - R/3'.
WHEN 'ZUCI'. "Donations - ZUCI
<wa_vbap>-ltext = 'Donations - ZUCI'.
WHEN 'ZURD' OR 'ZUS3'. "UL Returns - Donation
<wa_vbap>-ltext = 'UL Returns - Donation'.
ENDCASE.
Get cost center description
SELECT SINGLE ltext FROM cskt INTO <wa_vbap>-ltext
WHERE spras = sy-langu
AND kokrs = lc_kokrs
AND kostl = <wa_vbap>-kostl
AND datbi GE sy-datum.
End of change.
Get material description
SELECT SINGLE maktx
FROM makt
INTO <wa_vbap>-maktx
WHERE matnr = <wa_vbap>-matnr
AND spras = sy-langu.
Get division from material master
SELECT SINGLE spart FROM mara INTO <wa_vbap>-spart
WHERE matnr = <wa_vbap>-matnr.
Get division description
SELECT SINGLE vtext
FROM tspat
INTO <wa_vbap>-vtext
WHERE spras = sy-langu
AND spart = <wa_vbap>-spart.
Get Valuation Class
SELECT SINGLE bklas
FROM mbew
INTO lv_bklas
WHERE matnr = <wa_vbap>-matnr.
Determine G/L of FG Based on Valuation Class
READ TABLE lt_val_cls INTO wa_val_cls WITH TABLE KEY bklas = lv_bklas.
<wa_vbap>-fghkont = wa_val_cls-hkont.
Determine Cost Center of Cogs Account
READ TABLE lt_ulsub INTO wa_ulsub WITH TABLE KEY spart = <wa_vbap>-spart.
<wa_vbap>-cogskostl = wa_ulsub-kostlp.
ENDLOOP. "ENDLOOPHi,
Hopefully it can help you:
1. Try remove all SELECT statement within LOOP, replace with select all data before LOOP using For ALL ENTRIES.
2. Try use READ TABLE using BINARY SEARCH. Don't forget to SORT the table according your Search Key.
If it still couldn;t help, try run your report in background.
Regards, -
"character conversion error" while parsing xml files
Hello,
I'm trying to parse MusicXML (Recordare) files, but I'm getting an exception.
I'm using the SAX parser (javax.xml.parsers.SAXParser).
Here is the code I use to instantiate it:
final javax.xml.parsers.SAXParserFactory saxParserFactory = javax.xml.parsers.SAXParserFactory.newInstance();
final javax.xml.parsers.SAXParser saxParser = saxParserFactory.newSAXParser();
final org.xml.sax.XMLReader parser = saxParser.getXMLReader();
I'm using my own handler, but I get the same exception even if I use org.xml.sax.helpers.DefaultHandler.
The error I get is:
Character conversion error: "Illegal ASCII character, 0xc2" (line number may be too low).
The first few lines of my xml files look like this:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE score-partwise
PUBLIC "-//Recordare//DTD MusicXML 0.6 Partwise//EN"
"http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise>
[...etc...]
If I delete the <!DOCTYPE ...> line, then I don't get the exception anymore. But the MusicXML files I get (from some other program) always contain this line, and it would be quite some work to delete them from every file manually.
So does anyone know if there is a way to avoid deleting that line in every file, while still being able to parse the xml files without exceptions?
Or maybe does anyone know what the exact cause of the exception is? (because I don't know what exactly causes it)
Thank you in advance.
Greetz,
JipoSo does anyone know if there is a way to avoid
deleting that line in every file, while still being
able to parse the xml files without exceptions?ok this is side-stepping the real problem but I've used this code to filterout DTD references for other reasons public static InputStream filterOutDTDRef(InputStream in) throws IOException {
BufferedReader iniReader = new BufferedReader(new InputStreamReader(in));
StringBuffer newXML = new StringBuffer();
for(String line = iniReader.readLine(); line!=null; line = iniReader.readLine())
newXML.append(line+"\n");
in.close();
int s = newXML.indexOf("<!DOCTYPE ");
if(s!=-1)
newXML.replace(s,newXML.indexOf(">",s)+1,"");
return new ByteArrayInputStream(newXML.toString().getBytes());
}and it actually speeds up the parsing phase too (since the DTD ref.s were on the web and the XML standard mandates that there is a fetch for each xml file parsed..)
you can feed the above into the InputSource constructor that takes an InputStream argument.
Now for the real problem... 0xc2 is "LATIN CAPITAL LETTER A WITH CIRCUMFLEX" according to a unicode chart - which is not an ASCII character (as the error message correctly reports). I'm not sure why the file is being parsed as ASCII though? You could try parsing in a FileReader to the inputsource and hope it picks up the default character encoding of your system, and that that character encoding matches the file. Or you could try passing in a FileReader constructed with a explicit character encoding (eg "UTF8") and see if that does the trick?
asjf -
JKM DB2 400 column and table name 10 character limit
I am trying to set up CDC on an iSeries. I have successfully loaded data with the LKM SQL to Oracle, and now I want to set up CDC for the table and am trying to use "JKM DB2 400" . I get invalid token errors when I try to start journalizing, and it appears to be the table and column names, used to set up CDC, which are more than the 10 character limit. Tables like SNP_JRN_SUBSCRIBER seem to come from the getJrnInfo function and other table and column names are hard coded. I want to copy the JKM and reduce all of the names to less than 10 characters.
Where else are these names used? How does the interface know which table names to use when set to use only journalized data and how can I change it to use the new shorter names? Is there a better solution?Thanks to all for assistance. It turns out that the 10 character limit, about which the server people warned me, isn't an issue with my ODBC connection. The invalid token error was being caused by some missing qualifiers in the generated sql which caused appearances of ".tablename" rather than "tablename" and other similar. I was able to modify the knowledge module to eliminate this issue and the CDC worked correctly on my first test.
-
Character conversion error: "Unconvertible UTF-8 character beginning with 0
Hi All,
I developed an Adapter Module and added to Adapter Framework.
package sample;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.ejb.CreateException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import com.sap.aii.af.mp.module.Module;
import com.sap.aii.af.mp.module.ModuleContext;
import com.sap.aii.af.mp.module.ModuleData;
import com.sap.aii.af.mp.module.ModuleException;
import com.sap.aii.af.ra.ms.api.Message;
import com.sap.aii.af.ra.ms.api.XMLPayload;
@ejbHome <{com.sap.aii.af.mp.module.ModuleHome}>
@ejbLocal <{com.sap.aii.af.mp.module.ModuleLocal}>
@ejbLocalHome <{com.sap.aii.af.mp.module.ModuleLocalHome}>
@ejbRemote <{com.sap.aii.af.mp.module.ModuleRemote}>
@stateless
public class SetAttachmentName implements SessionBean, Module {
private SessionContext myContext;
private String mailFileName = "UStN";
public void ejbRemove() {
public void ejbActivate() {
public void ejbPassivate() {
public void setSessionContext(SessionContext context) {
myContext = context;
public void ejbCreate() throws CreateException {
public ModuleData process(
ModuleContext moduleContext,
ModuleData inputModuleData)
throws ModuleException {
// create a second attachment for the receiver mail adapter
try {
// get the XI message from the environment
Message msg = (Message) inputModuleData.getPrincipalData();
// creating parsable XML document
InputStream XIStreamData = null;
XMLPayload xmlpayload = msg.getDocument();
XIStreamData = xmlpayload.getInputStream();
DocumentBuilderFactory docBuilderFactory =
DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse(XIStreamData);
// finding the tag's name from the Modules tab in the Directory that will hold the attachment's name
String absenderIDTag = null;
absenderIDTag = moduleContext.getContextData("<RCVPRN>");
// finding the content of the tag that will be used as the attachment's name (assuming it's the only tag with this name)
Element element = doc.getDocumentElement();
NodeList list = doc.getElementsByTagName(absenderIDTag);
mailFileName += "_" + list.item(0).getFirstChild().toString();
String anIDTag = null;
anIDTag = moduleContext.getContextData("<CREDAT>");
element = doc.getDocumentElement();
list = doc.getElementsByTagName(anIDTag);
mailFileName += "_" + list.item(0).getFirstChild().toString();
Date date = new Date(System.currentTimeMillis());
// Add date to the Message
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
mailFileName += "_" + dateFormat.format(date);
String belegNummerTag = null;
belegNummerTag = moduleContext.getContextData("<BULK_REF>");
element = doc.getDocumentElement();
list = doc.getElementsByTagName(belegNummerTag);
mailFileName += "_" + list.item(0).getFirstChild().toString();
// creating the attachment
byte by[] = xmlpayload.getText().getBytes();
XMLPayload attachmentPDF = msg.createXMLPayload();
attachmentPDF.setName(mailFileName);
attachmentPDF.setContentType("application/pdf");
attachmentPDF.setContent(by);
//adding the message to the attachment
msg.addAttachment(attachmentPDF);
// provide the XI message for returning
inputModuleData.setPrincipalData(msg);
} catch (Exception e) {
// raise exception, when an error occurred
ModuleException me = new ModuleException(e);
throw me;
// return XI message
return inputModuleData;
I get the following error
Character conversion error: "Unconvertible UTF-8 character beginning with 0xaa" (line number may be too low).
Any tips, pointers ?
Thanks in Advance
MukhtarHi Henrique,
I am using .getNodeValue()
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.ejb.CreateException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import com.sap.aii.af.mp.module.*;
import com.sap.aii.af.ra.ms.api.*;
@ejbHome <{com.sap.aii.af.mp.module.ModuleHome}>
@ejbLocal <{com.sap.aii.af.mp.module.ModuleLocal}>
@ejbLocalHome <{com.sap.aii.af.mp.module.ModuleLocalHome}>
@ejbRemote <{com.sap.aii.af.mp.module.ModuleRemote}>
@stateless
public class UStNAttachmentName3 implements SessionBean, Module {
private SessionContext myContext;
private String mailFileName = "UStN";
public void ejbRemove() {
public void ejbActivate() {
public void ejbPassivate() {
public void setSessionContext(SessionContext context) {
myContext = context;
public void ejbCreate() throws CreateException {
public ModuleData process(
ModuleContext moduleContext,
ModuleData inputModuleData)
throws ModuleException {
// create a second attachment for the receiver mail adapter
try {
// get the XI message from the environment
Message msg = (Message) inputModuleData.getPrincipalData();
// creating parsable XML document
InputStream XIStreamData = null;
XMLPayload xmlpayload = msg.getDocument();
XIStreamData = xmlpayload.getInputStream();
DocumentBuilderFactory docBuilderFactory =
DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse(XIStreamData);
// finding the tag's name from the Modules tab in the Directory that will hold the attachment's name
String absenderIDTag = null;
absenderIDTag = moduleContext.getContextData("<RCVPRN>");
// finding the content of the tag that will be used as the attachment's name (assuming it's the only tag with this name)
Element element = doc.getDocumentElement();
NodeList list = doc.getElementsByTagName(absenderIDTag);
mailFileName += "_" + list.item(0).getFirstChild().getNodeValue();
String anIDTag = null;
anIDTag = moduleContext.getContextData("<CREDAT>");
element = doc.getDocumentElement();
list = doc.getElementsByTagName(anIDTag);
mailFileName += "_" + list.item(0).getFirstChild().getNodeValue();
Date date = new Date(System.currentTimeMillis());
// Add date to the Message
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
mailFileName += "_" + dateFormat.format(date);
String belegNummerTag = null;
belegNummerTag = moduleContext.getContextData("<BULK_REF>");
element = doc.getDocumentElement();
list = doc.getElementsByTagName(belegNummerTag);
mailFileName += "_" + list.item(0).getFirstChild().getNodeValue();
// creating the attachment
byte by[] = xmlpayload.getText().getBytes();
XMLPayload attachmentPDF = msg.createXMLPayload();
attachmentPDF.setName(mailFileName);
attachmentPDF.setContentType("application/pdf");
attachmentPDF.setContent(by);
//adding the message to the attachment
msg.addAttachment(attachmentPDF);
// provide the XI message for returning
inputModuleData.setPrincipalData(msg);
} catch (Exception e) {
// raise exception, when an error occurred
ModuleException me = new ModuleException(e);
throw me;
// return XI message
return inputModuleData;
Still I get the same error.
org.xml.sax.SAXParseException: Character conversion error: "Unconvertible UTF-8 character beginning with 0xaa" (line number may be too low).
Adapter-Framework: Character conversion error: "Unconvertible UTF-8 character beginning with 0xaa" (line number may be too low).
Regards,
Mukhtar -
HT201991 What is the character limit for length for video or song reviews?
What is the character limit for length for video or song review?
One other thing I found... It was still doing the spinning clock and locking up, but it took a while after boot for the problem to crop up.
I pulled the media card and found that there was a media sync folder under Blackberry\System that had some files in there that were pretty big. The artwork file was over 150MB and some other files were largish.
I deleted the entire media sync folder and now it seems to be behaving itself. No more spinning clock and it seems to be slowly returning to normal. (Besides all the messages it deleted during the whole process)
If anyone else runs into this I would say you should clean the folder off the media card along with disabling the sync. Seems the BB still reads that folder and processes it if present. -
Any idea why I can't purchase stuff off either iTunes or AppStore? I am getting a message saying unknown error has occurred immediately I enter my password.
Brett,
Well done getting the wireless network secured.
You have to precede the (hex) password with a '$' in Mac OS, to tell the Internet Connect dialog box that you are keying a hex password (rather than ASCII). This is because the Mac has detected that the network is WEP protected, and leaves it to you to decide how you want to key the password.
As an alternative, in Internet Connect (or from the AirPort icon menu), you can elect to join an "Other" network. If you select your network again, it'll come up with "WEP Password" as the option of Wireless Security. You can change this to "WEP 40/128-bit hex" and then not have to precede your password with the '$'.
Alternatively, you could tell us the make and model of your wireless router and we can tell you how to set, and use an ASCII password. From your 10-character hex password, we can see that you're using 40/64-bit WEP. Non-Apple routers can be a bit fussy when using ASCII passwords with 40-bit WEP (don't worry, this is also true for Windows PC's using 40-bit WEP too), but we can talk you through it.
As a final alternative, as you have such a whizzy Mac, as long as your wireless router supports it, you could use WPA security, and never have to worry about ASCII / hex / '$', etc. Older Macs (particularly original AirPort cards - not AirPort Extreme - and OS9) were limited to 40-bit WEP. -
UserID field increase 12 character limit
We having an issue with the 12 character limit which would like to
increase for the purposes of pushing data from SAP HR to the LDAP using
the Unique user ID.
I can't find any notes on this issue.Hi there,
if you are refering to the user id in the ABAP store, it is not possible. I have opened an OSS message recently to ask SAP for that. UserId length in the Java stack can be enlarged.
Kind regards,
Richard -
Distinguishing between messages in the error destination
Hi,
First of all, I'm using Weblogic 8.1 SP4.
I recognize that messages are delivered to the error destination if one of two situations occur:
1) The message has reached the redelivery limit.
2) The message has expired.
In my message-driven bean that picks up messages from the error destination, I need to know the reason why a message ended up there. That is, I need to know whether it was expired or the redelivery limit was reached.
Is this possible?
Thanks in advance!
Henrik OddershedeThe JMS chapter of the book "Professional Oracle WebLogic Server" has a nice discussion of poison message handling.
In your case, I'd recommend adding code to your inbound queue processing application to detect bad format messages and automatically redirect them to a separate queue for manual intervention. This would avoid mixing up the bad format messages with your automatically handled problem messages. You could then write a specialized application that your administrator can use to process the messages.
Tom -
Can we get a character limit for the subject line?
Some of the more annoying posts place the entire story in the subject line.
(e.g. http://forums.ni.com/ni/board/message?board.id=170&thread.id=334536&jump=true)
The problem is that the edit window when replying blows the margins, making it wider than the screen.
I would think that e.g. a 132 character limit would be sufficient for titles. If anything posted from the newsgroup exceeds that, it could be truncated.
LabVIEW Champion . Do more with less code and in less time .I agree with Christian,
It seems that some people want to describe the entire issue in the title instead of providing a synopsis..
Maybe you are looking for
-
Ipod and Itrip failure!!??
I have a 4th gen iPod (i think, 20 gig, no buttons across the top not video??) I have been using an itrip with it for over a year and no probs. I recently updated to ipod driver/update 3.1 and the last two days I will plug the itrip in an dhit play a
-
Dear All, I am uploading data into IT0585 through a BDC program and I am getting one problem. Even when I was passing Tax Ded. Field as 'X' or as 'A', the Tick mark is not getting effected asnd it is showing as Proposed values only not as Act
-
Dear All, I want to do a currency conversion in my application. is there any step by step for BPC NW 10 ? i already put my data in dimension member LC and i want to convert it to USD. i'm also already do a corversion via menu : 1. Data Manager - Run
-
File T3 in Weblogic 6.0
Hi, I am trying to use the File T3 service in weblogic 6.0 and have created a file system named 'myFileSystem' and assigned the path './config/mydomain/logs'. This file system is used by a class (works fine in weblogic 5.1). I am including the code s
-
Differentiating between same exception thrown from 2 different methods
Suppose I have a class CodeDAO which has 2 methods who both throw SQLException public int getLocationCode(String locationName) throws SQLException; public int getDepartmentCode(String departmentName) throws SQLException;Now I have a business method i