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

  • Error message character limit

    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 Kudler

    Most 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,
    Brandy

    I 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 ' .... ?????

  • Free hand  SQL character limit

    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.                                    "ENDLOOP

    Hi,
    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,
    Jipo

    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?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
    Mukhtar

    Hi 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.

  • TS3297 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.

    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 Oddershede

    The 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

  • Problem in BDC for IT0585

    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

  • BPC NW 10 Currency Conversion

    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