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,
AyeletHi 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 ShahYou 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
RajkumarHi,
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 -
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,
SanthoshHi ,
your config is missing , what is ur TD object ?
you can cross check in SE75-->Under MARA
regards
Prabhu -
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 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
-
Attachments in Mail with iLife '08
I "upgraded" to iLife '08 about two weeks ago. Ever since, I have been unable to attach a photo to my email. After my email is composed, I click on "Attach" click on "Photos" then go to iPhoto. At this point, no folders open up like before. I do not
-
Error occurs during the rendering of jsp component
Hi everyone, I have writting a webdynpro java program and it run well in j2ee engine. I wanted to display it in my portal, so I use sap webdynpro iview to integrate it.But when I preview it ,the following error occured. [code] Portal Runtime Error
-
How to delete photos quickly more than one at a time
How can you delete photos quickly
-
What happens when I click to "sync" button?
If I click on the "sync" button while "manually manage music and videos" is checked in the options section on the summary page in itunes, what will happen? Will iTunes sycn everything including the music or video or will it just sync everything else?
-
who can help me with this kernel panic ,i do not look all hard ware have tests done and there is noting in Unresolved kernel trap(cpu 1): 0x300 - Data access DAR=0x00000000000364FC PC=0x000000000001BA7C Latest crash info for cpu 1: Exception state