Special Characters in Long Text Field of FI Documents

Hi,
Users entered the following in the long text field of a FI document:
"Settlement of claims for direct shipment (Refer to XXX/YY-053/2009, XXX/YY-018/2009, XX2120000031 and X2120000033)"
The default editor used is the one which looks like the MS Word.
When we changd to the other editor (Goto > Change Editor), we see the following:
"Settlement of claims for direct shipment to Thailand (Refer to"
"XXX/YY-053/2009<(>,<)> XXX/YY-018/2009, XX2120000031 and X2120000033)"
How did "<(>,<)> " comes about?
Any ideas?

I'd probably use a regex of "allowed" characters rather than a list of "disallowed" characters, but thats just a difference in approach.
I would probably use a regular expression - alphanumeric is fairly easy to check
String value = request.getParameter("enteredField");
boolean alphaNumericOnly = value.matches("\\w+");As a matter of being nice to the user, you can also do this check in javascript on the client side.
ALWAYS validate server side.
Optionally validate client side to give the user a better experience (less round trip requests)
Cheers,
evnafets

Similar Messages

  • Need to find table/field behind "Item long text" field in Notes tab in FB70

    Hello,
    To print a custom FI invoice, I need to access the data entered in the "Item long text" field of the Notes tab in FB70. To test, I used 5000 characters in that field to make sure it stood out from the rest of the data. F1 help does nothing on that field, and even running an SQL trace (ST05) doesn't show the text in that field being entered into any table. I tried F1 on a nearby field and got a structure instead of a table, so I investigated the structure through SE11 but found no character field with such a large capacity. How else can I find where that field is stored?

    Thanks! It took a while, but with your help and a few other pages I managed to piece together an answer.
    Vinod helpfully explained that the text name is a concatenation of various fields, but didn't specify how to find the line item ID. If you go to table STXH (as hinted by Brad and confirmed [here|http://fuller.mit.edu/SAPWebDocs/LongComment.html]) and search for texts created today (or whenever you were testing), you'll see the text name ends in '001' after GJAHR, so the line item ID is '001' regardless of how many line items you enter in the invoice.
    Armed with that info, you can call READ_TEXT and loop through the results to concatenate the contents of each TDLINE field. (FB70 automatically breaks the user-entered text into different lines even if the user didn't press Enter, and each line gets its own record in the results.)
    Thanks again,
    Pedro

  • Number of characters in long text functionality

    Can anyone please help me as to how many characters are there in long text functionality in Standard SAP. If we create a document under FB01 , there is a long text field how many characters we can enter in that text field.
    Also can we have any number of characters in custom field or is there any restriction to it.

    Hi Isha,
    Please refer the solution for your problem on this link :
    Here i have explained in detail how you can go about with providing Custom Controls on the screen.
    [Re: long text in custom screen]
    Hope this helps.
    Regards,
    Samreen.

  • Problem viewing text in long text field

    Hi,
    I have a long text in the screen and it takes 65 characters per line in the long text field. iam able to populate data in the long text field but the text in the long text field is truncating in between the words as shown below.
    SAP Business One users can access and ru
    n reports by using the UI API provided as
    part of the SAP Business One SDK and the
    Crystal Reports .Net Winform viewer. Rea
    d the new ---
    Could any one suggest how to rectify this, my requirement is to end the lines at spaces like
    SAP Business One users can access and run
    reports by using the UI API provided as
    part of the SAP Business One SDK and the
    Crystal Reports .Net Winform viewer. Read
    the new ---
    Appriciate your time.
    Reward points for useful answer.
    Thanks,
    Sreeni.

    here is how I would do it:
    1) convert the input (short text) table to string
    2) apply this code to the string:
    DATA: lv_text TYPE text40,
              lv_length TYPE i.
    WHILE lv_string IS NOT INITIAL.
      lv_length = 39.
      lv_text = lv_string.
      WHILE lv_text+lv_length(1) NE space AND lv_length GE 0.
           lv_text = lv_text(lv_length).
           lv_length = lv_length - 1.
      ENDWHILE.
      IF lv_length GE 0.
         APPEND lv_text TO lt_short_text.
      ENDIF.
       lv_length = lv_length + 1.
       SHIFT lv_string LEFT BY lv_length PLACES.
    ENDWHILE.

  • Display long text field in multiple rows using CL_GUI_ALV_TREE

    Hi,
    I am working on ALV using CL_GUI_ALV_TREE. My last column in this ALV is a long text field which is a text editor field in a standard transactiion. As this text can have more than 250 characters value also, I want to display this field in more than one line , restricting each line to 75 characters. Is it possible to display a field content in more than one line? Please help.
    Thanks.

    HI,
    I dont think it is possible., but instead what i can suggest is  under last node which u want to split automatically, create 3 text edit fields and split ur text manually through program.

  • Limit the amount of characters of a text field based on first digit

    Hello and thanks in advance for your help!
    I would like to limit the amount of characters of the text field based on the first digit of the number (the text field is only limited to a number format...no decimals, no commas).
    For example, if the number begins with a 3, I would like to limit the text field to allow only ten characters. I have three scenarios but if I could get started with some code and what is the best place to add it (keystroke or validation?) I can take it from there. Thanks again for your help!!

    I've written this code for you that does that. Use it as the field's custom Keystroke code:
    // Validate that only digits are entered
    if (event.change) {
        event.rc = /^\d+$/.test(event.change);
    // Validate string length if it starts with 3
    if (/^3/.test(AFMergeChange(event))) {
        event.rc = AFMergeChange(event).length <= 10;
        if (!event.rc) app.alert("If the number starts with \"3\" it may not be longer than 10 digits.",1); // optional error message
    You can duplicate the second part of it for additional conditions, but keep in mind that this code won't even let you remove the first character in the field if the result is an invalid one.
    For example, if you enter "234567890123456" then you can't remove the "2" at the start because that would result in an invalid number. You can remove any of the other digits, though, and when it's 10 digits or less then you could remove the starting "2" as well.

  • Modifying the lengh of a long text field- Crystal Report version 2011

    Hello,
    I'm having a problem with the long text field in my crystal report.
    I'll desribe the problem:
    We work with BW version 7.4 sp 5.
    I created a BEX Report with an infobject of type Long Text (Long Text is XL).
    I know the length of this field is 1,333 char.
    When I run the Bex Report the field is displayed correctly (long text).
    I then created a Crystal Report 2011 version 14.0.6.1036 RTM based on my BEX Query.
    The problem is that the Crystal report brought this database long text field as a
    String[70]. Thus I get only the first 70 characters of the field.
    Can we modify the settings of the field to enlarge it to be 1,333 characters in
    length?
    Thank you,
    Ayelet

    Hi Jothi,
    Short Text and Long Text are associated objects of a Characteristic from a BEx query.
    The 'Short Text' will not turn to 'Long Text' by setting the 'Can Grow' option.
    In Fact, both are completely different objects.
    -Abhilash

  • Is it possible to Create a Long Text Field (more than 255 Char Long)?

    Is it possible to Create a Long Text Field (more than 255 Char Long) as like Description field in Service Request Object??
    Thanks!

    Hi
    User can only create custom Long text field (255 Charcter) . Currently system does not support custom note creation

  • G/L Account Long Text Field in Display

    Dear Sir,
    I want G/L Account long text field be displayed along with G/L account number in G/L Account line item display report (FBL3N)
    I cheched the layout, the option of G/L account number is available but option of G/L account Long text is not available.
    Kindly guide me as to how can I do it?
    Regards
    Chirag Shah

    You must do some development for it.
    You can add additional field to FBL*N reports with using BTE exit.
    First of all, if you don't use BTE before, you must create a product on FIBF.
    Call FIBF transaction -> Settings -> Products -> ...of a customer
    Create a new line,
    Product: ZFI
    Text: BTE Products for FI Exit
    Product active: tick checks from activation.
    Then you must call SE11 for structure RFPOS.
    You must use append structure function for this structure and you can define ZFI_RFPOS append structure
    Define 4 fields.
    Component: KUNNR - Component type: KUNNR
    Component: NAMED - Component type: NAME1
    Component: LIFNR - Component type: LINFR
    Component: NAMEK - Component type: NAME1
    Then save and active your RFPOS structure.
    After that, you must do same step for structure RFPOSX.
    Then go to SE37 and copy from SAMPLE_INTERFACE_00001650 to ZFI_INTERFACE_00001650 FM.
    After copy action, you must uncomment this line on ZFI_INTERFACE_00001650 FM's source code. It's very important;
    E_POSTAB = I_POSTAB.
    Then you should add some ABAP code for getting customer & vendor details.
    I give you some examples, you can use it. (Next message on this thread, please check)
    Then save and active FM.
    Call FIBF transaction again.
    FIBF -> Settings -> Process Modules -> ...of a customer
    Define a new line.
    Process: 00001650
    Function Module: ZFI_INTERFACE_00001650
    Product: ZFI
    and this customizing.
    Then you go to SE38 transaction.
    start report RFPOSXEXTEND. After starting, a pop-up appears, you must click YES.
    After those operations, you can see customer/vendor code and their names on FBL3N.
    ABAP source example,
    TABLES : bseg, kna1, lfa1.
    IF sy-tcode = 'FBL3N'.
      CLEAR: bseg.
      SELECT SINGLE *
      FROM bseg
      WHERE bukrs = i_postab-bukrs
           AND belnr = i_postab-belnr
           AND gjahr = i_postab-gjahr
           AND koart = 'K'.
      IF sy-subrc EQ 0.
        e_postab-lifnr = bseg-lifnr.
        CLEAR: lfa1.
        SELECT SINGLE *
        FROM lfa1
        WHERE lifnr = bseg-lifnr.
        IF sy-subrc EQ 0.
          e_postab-namek = lfa1-name1.
        ENDIF.
      ENDIF.
      CLEAR : bseg.
      SELECT SINGLE *
      FROM bseg
      WHERE bukrs = i_postab-bukrs
           AND belnr = i_postab-belnr
           AND gjahr = i_postab-gjahr
           AND koart = 'D'.
      IF sy-subrc EQ 0.
        e_postab-kunnr = bseg-kunnr.
        CLEAR: kna1.
        SELECT SINGLE *
        FROM kna1
        WHERE kunnr = bseg-kunnr.
        IF sy-subrc EQ 0.
          e_postab-named = kna1-name1.
        ENDIF.
      ENDIF.
    ENDIF.

  • To Make the Long text field as required using OA Framework Personalization

    Hi All
    In IProcurement requisition, we have long text field called 'Justification' a long text field. I have made this field as mandatory by setting the required property as 'Yes' at site level. This works for Most of the cases. However if the user just presses Enter key and skip without entering something in this field . So how to stop the user without entering something except spaces or enterkey to proceed further.
    Regards
    Rajkumar

    Hi,
    Very Interesting question, I never thought of it.
    In your case you may try to extend the controller of that page and in the controller trim the text and set that value to the text.
    In other way, You can try in USER hook function : POR_CUSTOM_PKG package, check if you are getting that value.
    Regards
    Apurba K Saha

  • BAPI_ACC_DOCUMENT_POST long text field missing

    Hi,
    I will have to transfer our vendor open items from v 3.1 to ERP 2004. I
    am using <b>BAPI_ACC_DOCUMENT_POST</b> to upload these open items. However, I
    cannot find the <b>'LONG TEXT'</b> field in the said BAPI. In using <b>F-02</b>, a
    long text field/button is available. <u><b>How can i post an entry in the long text
    field of the line item in f-02 using BAPI_ACC_DOCUMENT_POST</b></u>.
    Also, i have used the extension1 table and a BTE (note 487722) in
    uploading the posting key. Since field bschl is available in table
    accit, there was no problem in doing this. However, i cannot seem to
    find the field long text in this table. Is it available? If not, what
    can I do with the above situation.
    Thanks.

    Hi
    Excuse me! you can't use RFBIBL00, use the fm SAVE_TEXT.
    After calling the BAPI you should have the number of FI document will be created and know in which item you need to insert the long text so:
    THEAD-TDOBJECT     = <Object text>.
    THEAD-TDNAME(4)    = <Company code>
    THEAD-TDNAME+4(10) = <Document number>
    THEAD-TDNAME+14(4) = <Fyscal year>
    THEAD-TDNAME+18(3) = <Item number>.
    THEAD-TDID         = <Id text>.
    THEAD-TDSPRAS      = <Language>.
    THEAD-TDLINESIZE   = 72.
    These are the header data, transfer the text in LINES parameters.
    Max

  • Long Text Field in a Table

    Hello Everyone,
    I am looking for a solution for including a Long Text Field in a Table. I was not able to find any UI Element for LongText Field in a table. Could anyone suggest me a solution for this. I greatly appreciate your help.
    Regards,
    Gopal.

    Hi Pankaj,
    Thanks for your reply. I know that we cannot insert "TextEdit" UI Element in a table as this option is not available in ABAP WD. I also know that we can increase the width of the table Cell editor. But we dont want the Long text field to look like that.
    We are looking for some thing that looks a bit meanigful for entering short paragraphs. It would be great if you can suggest us with some other ways of doing this.
    I hope you can understand my requirement. I appreciate your help.
    Regards,
    Gopal.

  • How to pass long text field in BAPI_MATERIAL_MAINTAINDATA_RT

    Hi Guru's,
    I am using funtion module BAPI_MATERIAL_MAINTAINDATA_RT for uploading material master.
    In this I have to pass long text field for that one I am passing data to   MATERIALLONGTEXT table but it is throwing fallowing error.
    Long text for article THIS IS FOR TESTIN has no header segment.
    Will any body please guid me what are the parameters I have to pass for long text field.
    Thanks,
    Santhosh

    Hi ,
    your config is missing , what is ur TD object ?
    you can cross check in SE75-->Under MARA
    regards
    Prabhu

  • BAPI : "BAPI_REQUISITION_CREATE" pass the Long Text Field of *Header Note*,

    Hi Experts,
            i am using the BAPI : "BAPI_REQUISITION_CREATE". it' is working Fine.But i need to pass the Long Text Field of Header Note, Item Text, Item Note,Delivery text and Material P.O text through the BAPI.
    Plz,Help me to Achieve this.
    Thanks in Adv.
    V.S.Naidu.

    Below is the code for BAPI_PR_CREATE just go through it and your dbout will be solved
    it has example for multi line header text as well as line items...!
    Hope it helps
    CLEAR GV_BAPIMEREQHEADER.
    MOVE 'NB' TO GV_BAPIMEREQHEADER-PR_TYPE.
    move 'X' To GV_BAPIMEREQHEADER-AUTO_SOURCE.
    CLEAR GV_BAPIMEREQHEADERX.
    MOVE 'X' TO GV_BAPIMEREQHEADERX-PR_TYPE.
    MOVE 'X' TO GV_BAPIMEREQHEADERX-auto_source.
    CLEAR WA_BAPIMEREQITEMIMP.
    MOVE :
    '00010' TO WA_BAPIMEREQITEMIMP-PREQ_ITEM,
    **'001' TO  WA_BAPIMEREQITEMIMP-PUR_GROUP,
    *'TWISTED PAIR CABLE' TO  WA_BAPIMEREQITEMIMP-SHORT_TEXT,
    'C-1030' TO WA_BAPIMEREQITEMIMP-MATERIAL,
    '1000' TO WA_BAPIMEREQITEMIMP-PLANT,
    '100' TO WA_BAPIMEREQITEMIMP-QUANTITY,
    '20091001' TO WA_BAPIMEREQITEMIMP-DELIV_DATE.
    APPEND WA_BAPIMEREQITEMIMP TO GT_BAPIMEREQITEMIMP.
    CLEAR WA_BAPIMEREQITEMX.
    MOVE :
    '00010' TO WA_BAPIMEREQITEMX-PREQ_ITEM,
    'X' TO WA_BAPIMEREQITEMX-PREQ_ITEMX,
    *'X' TO  WA_BAPIMEREQITEMX-PUR_GROUP,
    'X' TO  WA_BAPIMEREQITEMX-SHORT_TEXT,
    'X' TO WA_BAPIMEREQITEMX-MATERIAL,
    'X' TO WA_BAPIMEREQITEMX-PLANT,
    'X' TO WA_BAPIMEREQITEMX-QUANTITY,
    'X' TO WA_BAPIMEREQITEMX-DELIV_DATE,
    'X' TO WA_BAPIMEREQITEMX-EXT_PROC_PROF.
    *EXT_PROC_REF_DOC
    *EXT_PROC_REF_ITEM
    APPEND WA_BAPIMEREQITEMX TO GT_BAPIMEREQITEMX.
    CLEAR EXTRA_FIELDS.
    MOVE '00010' TO EXTRA_FIELDS-BNFPO.
    MOVE '12345678901' TO EXTRA_FIELDS-ZZDANOSPR_NO.
    MOVE 'MUM01' TO EXTRA_FIELDS-ZZPORT.
    MOVE '20100505' TO EXTRA_FIELDS-ZZETD.
    MOVE '20100506' TO EXTRA_FIELDS-ZZETA.
    MOVE '123456789123456789' TO  EXTRA_FIELDS-ZZEXTWG.
    MOVE TEMP TO  EXTRA_FIELDS-ZZrob.
    CLEAR WA_EXTENSIONIN.
    MOVE 'BAPI_TE_MEREQITEM' TO  WA_EXTENSIONIN-STRUCTURE.
    MOVE EXTRA_FIELDS TO WA_EXTENSIONIN-VALUEPART1.
    APPEND WA_EXTENSIONIN TO GT_EXTENSIONIN.
    CLEAR WA_EXTENSIONIN.
    MOVE 'BAPI_TE_MEREQITEMX' TO  WA_EXTENSIONIN-STRUCTURE.
    MOVE EXTRA_FIELDS TO WA_EXTENSIONIN-VALUEPART1.
    APPEND WA_EXTENSIONIN TO GT_EXTENSIONIN.
    CLEAR WA_EXTENSIONOUT.
    MOVE 'BAPI_TE_MEREQITEMX' TO  WA_EXTENSIONOUT-STRUCTURE.
    *MOVE EXTRA_FIELDS TO WA_EXTENSIONOUT-VALUEPART1.
    APPEND WA_EXTENSIONOUT TO GT_EXTENSIONOUT.
    clear wa_PRITEMTEXT.
    MOVE '00010' TO wa_pritemtext-preq_item.
    move 'B01' TO WA_PRITEMTEXT-TEXT_ID.
    MOVE 'THIS IS JUST FOR TEST' TO WA_PRITEMTEXT-TEXT_LINE.
    APPEND WA_PRITEMTEXT TO GT_PRITEMTEXT.
    clear wa_PRITEMTEXT.
    MOVE '00010' TO wa_pritemtext-preq_item.
    move 'B01' TO WA_PRITEMTEXT-TEXT_ID.
    MOVE 'THIS IS THE SECOND LINE' TO WA_PRITEMTEXT-TEXT_LINE.
    APPEND WA_PRITEMTEXT TO GT_PRITEMTEXT.
    BREAK-POINT.
    CALL FUNCTION 'BAPI_PR_CREATE'
    EXPORTING
       PRHEADER                     = GV_BAPIMEREQHEADER
       PRHEADERX                    = GV_BAPIMEREQHEADERX
    *   TESTRUN                      =
    IMPORTING
       NUMBER                       = GV_NUMBER
       PRHEADEREXP                  = GV_PRHEADEREXP
      TABLES
        RETURN                       = GT_BAPIRET2
        PRITEM                       = GT_BAPIMEREQITEMIMP
        PRITEMX                      = GT_BAPIMEREQITEMX
    *   PRITEMEXP                    =
    *   PRITEMSOURCE                 =
    *   PRACCOUNT                    =
    *   PRACCOUNTPROITSEGMENT        =
    *   PRACCOUNTX                   =
    *   PRADDRDELIVERY               =
        PRITEMTEXT                   = GT_PRITEMTEXT
    *   PRHEADERTEXT                 =
        EXTENSIONIN                  = GT_EXTENSIONIN
    *    EXTENSIONOUT                 = GT_EXTENSIONOUT
    *   PRVERSION                    =
    *   PRVERSIONX                   =
    *   ALLVERSIONS                  =
    *   PRCOMPONENTS                 =
    *   PRCOMPONENTSX                =
    *   SERVICEOUTLINE               =
    *   SERVICEOUTLINEX              =
    *   SERVICELINES                 =
    *   SERVICELINESX                =
    *   SERVICELIMIT                 =
    *   SERVICELIMITX                =
    *   SERVICECONTRACTLIMITS        =
    *   SERVICECONTRACTLIMITSX       =
    *   SERVICEACCOUNT               =
    *   SERVICEACCOUNTX              =
    *   SERVICELONGTEXTS             =
    *   SERIALNUMBER                 =
    *   SERIALNUMBERX                =
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    * EXPORTING
    *   WAIT          =
    * IMPORTING
    *   RETURN        =
    WRITE : 'THE PR CREATED IS : -',GV_NUMBER.

  • How to  remove the Special characters like @,#,$ ,..from field

    How to  remove the Special characters like @,#,$<,..from text  field. we nedd to remove any specila char from text field .
    ex:text  = just#fi%cation@text
    the text should be justification.

    hi check this ..
    data:char(25) value '5#4#2#&1#&',
         char1(9) .
           replace all occurrences of '#' in char with 'and' .
           replace all occurrences of '&' in char with 'num' .
         write: char.
    or use this..
    data:char(25) value 'test@ing*5#4#2#&1#&',
         char1(9) .
           replace all occurrences of '#' in char with space .
           replace all occurrences of '&' in char with space .
           replace all occurrences of '@' in char with space .
           replace all occurrences of '*' in char with space .
         write: char.
    regards,
    venkat.

Maybe you are looking for