Regarding Unicode : cl_abap_char_utilities= horizontal_tab
Hi,
i have one doubt,i below mentioned is unicode syntax
can u please explain this.
What is horizotal_tab
data: l_tab(1) type c
value cl_abap_char_utilities=>horizontal_tab.
Regards,
Kalidas.T
This means the the variable l_tab is equal to TAB.
Example:
>data: lv type string,
> l_tab(1) type c value cl_abap_char_utilities=>horizontal_tab.
>CONCATANATE 'a' 'b' 'c' into lv SEPARATED BY l_tab.
the String will have value like
a b c.
the blank spaces between abc will be TABS.
hope this helps.
Amandeep
Edited by: Amandeep Bal on Dec 18, 2007 2:04 PM
Similar Messages
-
Hello Experts,
My code in 4.7 system was,
*DATA: gf_tab TYPE x VALUE '9'.
CONCATENATE '[bc^bd128]' gp_user gf_tab gp_pw '[/]'
INTO gf_anmeldung.
WRITE: 30 gf_anmeldung.*
The output will be printed to a barcode printer and we get the barcode. The barcode contains, the user name, tab delimiter and the password.
Now, Using a scanner (handheld device) we scan the barcode. The scanner is connected to the SAP server. So as we give the user name and the password in the SAP easy access screen, the scanner takes the values from the barcode. This means, the user name from the barcode ->to the user name field, tab delimter -> to come to the next field, password from the barcode ->to the password field. This logins the SAP in the handheld device.
Now, in ECC 6 system, the code was changed as below,
DATA: gf_tab TYPE c VALUE cl_abap_char_utilities=>horizontal_tab.
After this change, now the scanner is not recognizing and throws the error "fill in all the required fields"
I am not sure, if it is not retrieving the user name or the tab delimiter is creating the problem.
Any suggestion would be appreciated.
Cheers,
Balaji
Edited by: Balaji Dhandapani on Feb 3, 2010 6:34 PMHi ,
I think in the older version u r using the '09' as the end of line , So in the barcode it is consideringthe user id and then thinking that end of line and putting the next string say password in the correct postion.
Try to use the CR_LF( Carriage return and line feed).
Try this.
Regards,
Bharani. -
Cl_abap_char_utilities= horizontal_tab
Hi
Can someone explain me the use of class
cl_abap_char_utilities=>horizontal_tab; in programming.
I faced any issue working on upgradation object regarding mutual convertablity of the fields in hexadecimal and character modes.
Thanks in Advance
RgdsHi...am assigning a mixed structure (contains both char & int or packed) to a field symbol and then to a variable . But it is throwing dump........can anyone suggest a solution to this...
DATA: BEGIN OF I_DATA OCCURS 0,
V_WA(820) TYPE C,
END OF I_DATA.
DATA: V_COUNT TYPE I.
DATA: BEGIN OF I_JOB OCCURS 0,
LIST LIKE TBTCJOB, "len = 476
V_SEL(01) TYPE C,
END OF I_JOB.
DO.
ADD 1 TO V_COUNT.
ASSIGN COMPONENT V_COUNT OF STRUCTURE I_JOB TO <F>.
IF SY-SUBRC NE 0.
EXIT.
ENDIF.
MOVE <F> TO I_DATA-V_WA.
APPEND I_DATA.
ENDDO.
Thanks
Rgds -
Regarding unicode issue in upgrade
Hi,
DATA: BEGIN OF ESCAPE_TRICK,
X1(1) TYPE X value '1C'.
END OF ESCAPE_TRICK.
DATA: BEGIN OF ESCAPE_TRICK1,
X1(1) TYPE X value '13'.
END OF ESCAPE_TRICK1.
can u please tell replaced declaration for above code in unicode systems as type x is not allowed.
regards,
sandeep.Hi,
Try checking this way..
DATA: BEGIN OF ESCAPE_TRICK,
X1(2) TYPE c value '1C'.
END OF ESCAPE_TRICK.
DATA: BEGIN OF ESCAPE_TRICK1,
X1(2) TYPE c value '13'.
END OF ESCAPE_TRICK1.
check changing as stated above...
Hope this would help you.
Good luck
Narin -
HI everybody
I have the problem to replace the old TRANSLATE-command with CL_ABAP_CONV_X2X_CE.
Before the code was like:
TRANSLATE NAMEN FROM CODE PAGE '1800' TO CODE PAGE '9011'.(in 4.7EE)
Under unicode the translate statement is not allowed for changing data with codepages.
SAP is writing in the onlinedocu that there is the class cl_abap_conv_x2x_ce. I've tried this class with all the methods but couldnt get any idea. I dont know which method to use and how in ECC 6.0.
Has anyone an idea?
Please help.
Regards,
Srinivas Rao
[email protected]HI,
There is an alternative FM 'SCP_TRANSLATE_CHARS_46 which functions similar to TRANSLATE to CODE PAGE statement.
Please refer SAP NOTE 78076
Best regards,
Prashant -
Regarding Unicode compatibility for Interfaces
Hi,
I was just trying to understand if the interfaces developed in SAP ECC 6.0 are unicode compatible.These are IDOCS that are extended.How should i check? Kindly advice.
Thanks
Pradeep.Hi Pradeep,
in general in a Unicode conversion project, you need to test all your interfaces.
Rather critical cases are Unicode <> MDMP and Unicode <> Double-Byte languages.
Less critical is Unicode <> Unicode.
However in all cases you need to test your scenarios.
Please also have a look at
http://service.sap.com/~form/sapnet?_SHORTKEY=01100035870000380759&_OBJECT=011000358700000061542011E
Best regards,
Nils Buerckel
SAP AG -
Hi friends,
Iam converting report programs from 4.6 to ECC 6.0.
Error:
The type of database table and work area (internal table) I_TAB are not unicode convertible.
Statements:
table declaration:
DATA: BEGIN OF I_TAB OCCURS 100,
MANDT TYPE ZJE_AUDIT-MANDT,
BUKRS TYPE ZJE_AUDIT-BUKRS,
BELNR TYPE ZJE_AUDIT-BELNR,
GJAHR TYPE ZJE_AUDIT-GJAHR,
BUZEI TYPE ZJE_AUDIT-BUZEI,
BUDAT TYPE ZJE_AUDIT-BUDAT,
CPUDT TYPE ZJE_AUDIT-CPUDT,
SAKNR TYPE ZJE_AUDIT-SAKNR,
BLART TYPE ZJE_AUDIT-BLART,
BSCHL TYPE ZJE_AUDIT-BSCHL,
GSBER TYPE ZJE_AUDIT-GSBER,
SGTXT TYPE ZJE_AUDIT-SGTXT,
DMBTR TYPE ZJE_AUDIT-DMBTR,
USNAM TYPE ZJE_AUDIT-USNAM,
TCODE TYPE ZJE_AUDIT-TCODE,
R_USNAM TYPE ZJE_AUDIT-R_USNAM,
XBLNR TYPE ZJE_AUDIT-XBLNR,
R_GJAHR TYPE ZJE_AUDIT-R_GJAHR,
AMOUNT(15),
END OF I_TAB.
SELECT * FROM ZJE_AUDIT INTO TABLE I_TAB
WHERE BUKRS EQ P_BUKRS
AND GJAHR EQ P_GJAHR
AND BUDAT IN S_BUDAT
AND SAKNR IN S_SAKNR.
How to rectify this unicode problem.
Pl help in this regard,
Thanks,
vamsykrishnaChange the selection to:
SELECT * FROM ZJE_AUDIT INTO CORRESPONDING FIELDS OF TABLE I_TAB
WHERE BUKRS EQ P_BUKRS
AND GJAHR EQ P_GJAHR
AND BUDAT IN S_BUDAT
AND SAKNR IN S_SAKNR.
Regards,
John. -
Regarding unicode issue(UCCHECK- MESSAGEG-G error code)
hi guys,
I have below error in UCCHECK error analysis.
The length declaration "138" exceeds the length of the character-type start
(=43) of the structure. This is not allowed in Unicode programs . . . . . . .
In the source code.
MOVE EUDB_1(148) TO ATTCHK.
used like this.
EUDB_4 is Struc having 18 fields, ATTCHK is also struc having 1field length 211.
How to solve this problem.
Regards
AmbichanHi Yogita,
write in this way,
data ls_rgumd type rgumd.
data ls_glu1 type glu1.
*create new structure ls_glu1_c
*with all the fields type c and length of the as in structure glu1
*like i have shown below.
type begin of ls_glu1_c,
RCLNT(3),
RLDNR(2),
RRCTY(1),
end of ls_glu1_c.
*now pass the ls_glu1 structure to ls_glu1_c.
ls_glu1_c = ls_glu1.
*then
LS_RGUMD-RECORD_KEY = LS_GLU1_C.
try this way it should help you.
Ali -
Hi guys
After Upgrade Unicode Converstion, I found SAP standard objects(like Subroutine pool,Programs) which are not Unicode Check activated in Local objects($TMP). Could somebody know reason why it is.
And also i want to know whether we need to activate it manually for those objects.?
Because one of the SAP object(Subroutine pool) in localobject was dumping unicode compatible error. After manually checking the object unicode active, it works fine.
Suggestion please
regardss
AmbichanHi Prasanth,
You are right, During Basis upgrade we selected Unicode check option for unicode migration.
And also we confirmed all SAP standard objects are unicode activated. but when we saw the Standard objects in LOCAL objects($TMP SAP*), it was not unicode activated.
We are surprised why only Local Object directory objects are not unicode activated by default. Can you tell me where might be the problem.
Because recently we found Program(subroutine pool) RMCX0048 in Local object is not unicode activated flag and it throughs dump(Not unicode compatible) during MB1B transactions.After we changed RMCX0048 program as unicode active it started working correctly.
Suggestion please.<b>Any comments please</b>
regards
Ambichan -
Question Regarding Unicode Checks
Hi Abapers,
What is Need of Transaction:UCCODE, what are the things which i need to check after giving the program name , and executing , what sholud be the out come ... negative means what will happen....
positive means what will happen.....
With Regards
Bhaskar Rao.MHi,
Transaction code is UCCHECK.
ABAP Unicode Scan Tool UCCHECK
You can use transaction UCCHECK to examine a Unicode program set for syntax errors without having to set the program attribute "Unicode checks active" for every individual program. From the list of Unicode syntax errors, you can go directly to the affected programs and remove the errors. It is also possible to automatically create transport requests and set the Unicode program attribute for a program set.
Some application-specific checks, which draw your attention to program points that are not Unicode-compatible, are also integrated.
Selection of Objects:
The program objects can be selected according to object name, object type, author (TADIR), package, and original system. For the Unicode syntax check, only object types for which an independent syntax check can be carried out are appropriate. The following object types are possibilities:
PROG Report
CLAS Class
FUGR Function groups
FUGX Function group (with customer include, customer area)
FUGS Function group (with customer include, SAP area)
LDBA Logical Database
CNTX Context
TYPE Type pool
INTF Interface
Only Examine Programs with Non-Activated Unicode Flag
By default, the system only displays program objects that have not yet set the Unicode attribute. If you want to use UCCHECK to process program objects that have already set the attribute, you can deactivate this option.
Only Objects with TADIR Entry
By default, the system only displays program objects with a TADIR entry. If you want to examine programs that don't have a TADIR entry, for example locally generated programs without a package, you can deactivate this option.
Exclude Packages $*
By default, the system does not display program objects that are in a local, non-transportable package. If you want to examine programs that are in such a package, you can deactivate this option.
Also Examine Modified SAP Programs
By deafult, SAP programs are not checked in customer systems. If you want to check SAP programs that were modified in customer systems (see transaction SE95), you can activate this option.
Maximum Number of Programs:
To avoid timeouts or unexpectedly long waiting times, the maximum number of program objects is preset to 50. If you want to examine more objects, you must increase the maximum number or run a SAMT scan (general program set processing). The latter also has the advantage that the data is stored persistently. Proceed as follows:
- Call transaction SAMT
- Create task with program RSUNISCAN_FINAL, subroutine SAMT_SEARCH
For further information refer to documentation for transaction SAMT.
Displaying Points that Cannot Be Analyzed Statically
If you choose this option, you get an overview of the program points, where a static check for Unicode syntax errors is not possible. This can be the case if, for example, parameters or field symbols are not typed or you are accessing a field or structure with variable length/offset. At these points the system only tests at runtime whether the code is sufficient for the stricter Unicode tests. If possible, you should assign types to the variables used, otherwise you must check runtime behavior after the Unicode attribute has been set.
To be able to differentiate between your own and foreign code (for example when using standard includes or generated includes), there is a selection option for the includes to be displayed. By default, the system excludes the standard includes of the view maintenance LSVIM* from the display, because they cause a large number of messages that are not relevant for the Unicode conversion. It is recommended that you also exclude the generated function group-specific includes of the view maintenance (usually L<function group name>F00 and L<function group name>I00) from the display.
Similarly to the process in the extended syntax check, you can hide the warning using the pseudo comment ("#EC *).
Applikation-Specific Checks
These checks indicate program points that represent a public interface but are not Unicode-compatible. Under Unicode, the corresponding interfaces change according to the referenced documentation and must be adapted appropriately.
View Maintenance
Parts of the view maintenance generated in older releases are not Unicode-compatible. The relevant parts can be regenerated with a service report.
UPLOAD/DOWNLOAD
The function modules UPLOAD, DOWNLOAD or WS_UPLOAD and WS_DOWNLOAD are obsolete and cannot run under Unicode. Refer to the documentation for these modules to find out which routines serve as replacements.
Regards,
Sruthi -
Regarding unicode error in gui_upload
in 4.6c cancel and filename is passed in importing in download .after unicode checks how to pass cancel in gui_upload and how ever filename is present in exporting parameters in gui_downlaod there is no cancel parameter in gui_download. plz any one have any idea on where to pass cancel parameters in gui_download
CALL FUNCTION 'DOWNLOAD'
IMPORTING
ACT_FILENAME = V_pcfile
CANCEL = CANCEL_FLAGhi ram, maybe u can check the subrc when u press cancel,i think the value is 9,from there u can proceed to your logic
-
HI ,
i have a
string a="0621 0622 0623";
each 4 characters represents unicode character,when iam outputing the string as in following program
for(int i=0;i<a.length();i+=4){
String sub=a.substring(i,i+4);
stringbuffer.append("\\u"+sub);
then iam getting output as "\u0621 \u0622 \u0623" ,actually i should get output represented by those unicode characters 'which is an arabic characters,.
after trying i used second method like ,
for(int i=0;i<a.length();i+=4){
isub=a.substring(i,i+4);
int k=Integer.parseInt(isub,16);
stringbuffer.append(char(k));
when iam outputting stringbuffer iam getting output ???? characters,
Is there any way to convert that hexa string a, to utf-8 format,so that it can be furher processed by other application,
kindly reply,
Thankschar c = (char) Integer.parseInt("0621", 16);
System.out.println("The character is " + c);I get ? out too, but I think this an output problem and the char inside the Java program i correct.
"\\u" + "0621" is a string consisting of 6 chars: a backslash, a u and four digits. "\u0621" is a String consisting of one char, the one with unicode value 0621. There is no direct conversion between these two Strings. -
Regarding unicode basis related
Hi all
We have completed the upgrade from 4.7 to ECC.6 version.
Now we are going for unicode conversion, so for this we have changed abap programs according to UCCHECK transaction, now requests are created in the development system.
We have not released this requests, now BASIS started doing EXPORT & IMPORT of database, will these new changes under this requests will be there after the IMPORT, i mean in a UNICODE enabled system.
Kindly throw some light on this issue.
Thanks in advanceIf they are released, if TMS was correctly set up so that they are on the filesystem - yes.
Markus -
Hi
I have one statement " SET FUNCTION TRACE OFF.
can you please tell the replaced statement in ECC 6.0.
Its very urgent...please help me.
Regards
Sandeep reddy.Hi,
Try checking this way..
DATA: BEGIN OF ESCAPE_TRICK,
X1(2) TYPE c value '1C'.
END OF ESCAPE_TRICK.
DATA: BEGIN OF ESCAPE_TRICK1,
X1(2) TYPE c value '13'.
END OF ESCAPE_TRICK1.
check changing as stated above...
Hope this would help you.
Good luck
Narin -
Regarding Conversion Of ABAP program from non unicode to uni code
Hi Can you please let me know the procedure for converssion of non unicode to unicode?
Thanks in advance,
zuberaHi
The Link will be helpful to you.
Re: Upgrade 4.6 to ECC - What are the responsibilites
regarding Unicode influence in Standard programs
Very good document:
http://www.doag.org/pub/docs/sig/sap/2004-03/Buhlinger_Maxi_Version.pdf
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d37d1ad9-0b01-0010-ed9f-bc3222312dd8
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/589d18d9-0b01-0010-ac8a-8a22852061a2
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f8e316d9-0b01-0010-8e95-829a58c1511a
You need to use the transaction UCCHECK.
The report documentation is here
ABAP Unicode Scan Tool UCCHECK
You can use transaction UCCHECK to examine a Unicode program set for syntax errors without having to set the program attribute "Unicode checks active" for every individual program. From the list of Unicode syntax errors, you can go directly to the affected programs and remove the errors. It is also possible to automatically create transport requests and set the Unicode program attribute for a program set.
Some application-specific checks, which draw your attention to program points that are not Unicode-compatible, are also integrated.
Selection of Objects:
The program objects can be selected according to object name, object type, author (TADIR), package, and original system. For the Unicode syntax check, only object types for which an independent syntax check can be carried out are appropriate. The following object types are possibilities:
PROG Report
CLAS Class
FUGR Function groups
FUGX Function group (with customer include, customer area)
FUGS Function group (with customer include, SAP area)
LDBA Logical Database
CNTX Context
TYPE Type pool
INTF Interface
Only Examine Programs with Non-Activated Unicode Flag
By default, the system only displays program objects that have not yet set the Unicode attribute. If you want to use UCCHECK to process program objects that have already set the attribute, you can deactivate this option.
Only Objects with TADIR Entry
By default, the system only displays program objects with a TADIR entry. If you want to examine programs that don't have a TADIR entry, for example locally generated programs without a package, you can deactivate this option.
Exclude Packages $*
By default, the system does not display program objects that are in a local, non-transportable package. If you want to examine programs that are in such a package, you can deactivate this option.
Display Modified SAP Programs Also
By default, SAP programs are not checked in customer systems. If you also want to check SAP programs that were modified in a customer system (see transaction SE95), you can activate this option.
Maximum Number of Programs:
To avoid timeouts or unexpectedly long waiting times, the maximum number of program objects is preset to 50. If you want to examine more objects, you must increase the maximum number or run a SAMT scan (general program set processing). The latter also has the advantage that the data is stored persistently. Proceed as follows:
- Call transaction SAMT
- Create task with program RSUNISCAN_FINAL, subroutine SAMT_SEARCH
For further information refer to documentation for transaction SAMT.
Displaying Points that Cannot Be Analyzed Statically
If you choose this option, you get an overview of the program points, where a static check for Unicode syntax errors is not possible. This can be the case if, for example, parameters or field symbols are not typed or you are accessing a field or structure with variable length/offset. At these points the system only tests at runtime whether the code is sufficient for the stricter Unicode tests. If possible, you should assign types to the variables used, otherwise you must check runtime behavior after the Unicode attribute has been set.
To be able to differentiate between your own and foreign code (for example when using standard includes or generated includes), there is a selection option for the includes to be displayed. By default, the system excludes the standard includes of the view maintenance LSVIM* from the display, because they cause a large number of messages that are not relevant for the Unicode conversion. It is recommended that you also exclude the generated function group-specific includes of the view maintenance (usually L<function group name>F00 and L<function group name>I00) from the display.
Similarly to the process in the extended syntax check, you can hide the warning using the pseudo comment ("#EC *).
Applikation-Specific Checks
These checks indicate program points that represent a public interface but are not Unicode-compatible. Under Unicode, the corresponding interfaces change according to the referenced documentation and must be adapted appropriately.
View Maintenance
Parts of the view maintenance generated in older releases are not Unicode-compatible. The relevant parts can be regenerated with a service report.
UPLOAD/DOWNLOAD
The function modules UPLOAD, DOWNLOAD or WS_UPLOAD and WS_DOWNLOAD are obsolete and cannot run under Unicode. Refer to the documentation for these modules to find out which routines serve as replacements.
Regards
Anji
Maybe you are looking for
-
How to configure roles at runtime without changing application code?
Hi, We have implemented Custom Login Module security for our application. Our requirement is to configure the roles without changing the application code. Our Authentication Type is 'JAAS With Custom Login Module' and Authorization Type is 'JAAS'. Ac
-
Hi all, I had installed the Oracle 9i Infrastructure and Application server successfully on Win2000. Tested the services and demo forms. I Need to know post installation configuration details and steps on how to deploy the forms and reports into it.
-
Tab out event for messageInput Text field
Hi All, Can some of you please help me how to handle validation based on tab out. I have a field of messageInput text type in OAF standard page where user can enter a number in decimals like 11.19, 21.23 etcetera. I want to raise a message "Please en
-
Register a DB in OiD 2.0.6
In one NTServer it was installed OiD 2.0.6. In other NT there was the LdapDB (rdbms8.1.7). Two configSets (with and without SSL) were created using "oidctl", and got linked to the LdapDB. A second db TEST was created. Then using "netca" the ldap.ora
-
Material group values in Sales Order
In sales Order Additional data A tab /Item level, I need to add drop down vales for all material Groups could someone let me know what is the tcode to be used. Thanks in advance Satprk