Unicode Compliance
Hi All,
I am working on conversion of the programs from non Unicode to Unicode.
I am getting the error at the statement of
TRANSLATE KNA1 TO UPPER CASE.
I know that if I write field by filed like TRANSLATE KNA1-KUNNR TO UPPER CASE. the error wont appear.Is there any simple method rather than doing field by field method. Please let me know.
Thanks in advance.
Regards,
Ameer.
Hello Ameer
Here is possible solution for your problem. You cannot skip the field-by-field step because you will get an error when translating fields of type 'P'.
*& Report ZUS_SDN_UC_TRANSLATE
REPORT zus_sdn_uc_translate.
TYPE-POOLS: abap.
DATA:
go_struct TYPE REF TO cl_abap_structdescr,
gs_comp TYPE abap_compdescr,
gt_kna1 TYPE STANDARD TABLE OF kna1.
FIELD-SYMBOLS:
<gd_fld> TYPE ANY,
<gs_kna1> TYPE kna1.
START-OF-SELECTION.
SELECT * FROM kna1 INTO TABLE gt_kna1.
go_struct ?= cl_abap_structdescr=>describe_by_name( 'KNA1' ).
LOOP AT gt_kna1 ASSIGNING <gs_kna1>.
LOOP AT go_struct->components INTO gs_comp
WHERE ( type_kind NE 'P' ). " exclude non-Charlike
ASSIGN COMPONENT gs_comp-name OF STRUCTURE <gs_kna1>
TO <gd_fld>.
TRANSLATE <gd_fld> TO UPPER CASE.
ENDLOOP.
ENDLOOP.
END-OF-SELECTION.
Regards
Uwe
Similar Messages
-
WAS 640 UNICODE COMPLIANCE?
Hello,
How could it be determined if a SAP WAS in Unicode Compliance or not? It is a SAP WAS SP 14.
Someone have a clue?
regards,
JBLHello,
is there any system property which indicate that the WAS is unicode? I have been looking for it, but with no luck.
let me know if you have any idea.
regards,
JBL -
Testing function groups for unicode compliance
Hi,
i just checked alot of programs for their unicode compliance, using UCCHECK. No problem here.
Now my task is to check if all the functional groups would work properly in an unicode-system, but how do i do that ? UCCHECK just works for reports or at least it doesnt take the functional groups...
best regards,sven
points will be awarded...Hi ,
Recently tested the Function Groups and corrected them .
Now After you do the UCCHECK ,OR if you have list of the function groups,
Go to
SE37 GoTo->FunctionGroups-> Display Group
Give the Corresponding FG
Check the Uncode checks Active Flag
Now Click Main Program and make it active.
Once you Activate you can see the syntax errors if any in the Function modules in that Function Group. -
How to check Unicode compliance for BW Routines
Hello Experts,
We are planning to convert our BW 3.5 systems to UNICODE. We already identified a few errors in some programs via UCCHECK, but it seems that this test does not check our own code in User Exits, routines, Start Routines, ABAP routines...
How can you test these parts of code prior to run a conversion test?
PS: I already checked this forum and I didn't find any solution.Hi,
I assume you're running with the default options;
Unchecked the following ones;
Check only programs where the Unicode flag is unchecked
Include only Objects with Object Repository Entry(TADIR)
Exclude $* Packages
And check this one
Check modified SAP objects also
Cheers
Tansu -
Could you pls give the details about the Unicode conversion during Upgrade
Hi,
Can anyone give details about the Unicode conversion during SAP Upgradation fro 4.6C to ECC6.
Waiting for quick response
Best Regards,
PadhyHi,
These are the few points i gathered during my upgradation project.
Before starting any upgradation project, it is necessary to take up the back-up of the existing systems. As we are going to upgrade the entire system, we will be changing so many things and if something happens, without back-up, we will be in a trouble.
So it is advised to keep a back-up of the existing system.
Say for example we have the existing system E4B which is of Version 4.6C. Now we want to upgrade it to Version 4.7. Let us see how we can do it.
Version upgrades not only means that we need to run the new Version CD over the existing Version System but only involves some other thing.
Version Upgrade involves the following Steps.
Say we want to upgrade for Version 4.7 from Version 4.6, which is in the System E4B. Now we created one more system called as E1B in which the upgradation for Version 4.7 can be done.
First copy the entire E4B system into the E1B System which is created for Version 4.7.
Apply the Version 4.7 CD provided by SAP over the E1B System.
Now check whether all the functionalities that was in E4B system works fine with E1B system also.
Thus the Version Upgrade involves two steps.
1. SAP Upgradation with the help of the CD
2. Manual Upgradation.
1. SAP Upgradation with the help of the CD
This is nothing but after taking the copy of the existing system into a new system, the upgradation CD from SAP is applied over the new system.
2. Manual Upgradation.
This Manual Upgradation involves
2.1 Upgradation of Standard Objects
2.1.1 SPAU Objects
2.1.2 SPDD Objects
2.2 Upgradation of Custom Objects.
Upgradation of Custom Objects can be placed under the following three categories.
Unicode Compliance
Retrofit
Upgrade
Please Find below some of the common Unicode Errors and their solutions
1. Error:
In case of Translate Error; Dangerous use of Translate in Multilingual system.
Correction:
To correct the Error occurring on TRANSLATE statement use this additional statement before the Translate statement.
SET LOCALE LANGUAGE sy-langu.
This statement defines the Text Environment of all the programs & internal sessions in the language specified in the LANGUAGE KEY, which in this case is sy-langu, i.e. the log on language of the user.
2. Error:
In case of Open Dataset Error; Encoding Addition must be included.
Correction:
This Error occurs only when the MODE is TEXT.
To correct the Error occurring on OPEN DATASET statement use this statement instead.
OPEN DATASET dataset_name FOR access IN TEXT MODE ENCODING DEFAULT.
Where: dataset_name NAME OF THE DATASET.
Access INPUT or OUTPUT or APPENDING or UPDATE.
DEFAULT - Corresponds to UTF-8 in UNICODE systems &
NON_UNICODE in NON-UNICODE systems.
3. Error:
In case of the usage of the Obsolete FM UPLOAD/DOWNLOAD or WS_UPLOAD/DOWNLOAD; Function module UPLOAD is flagged as obsolete.
Correction:
The FM GUI_DOWNLOAD/UPLOAD is used.
The variations to be made in the parameters of the FM:
1. Filename It must be of STRING type.
2. Filetype DAT is not used any longer, instead ASC is used.
3. Field Separator The default value SPACE is used, incase for a TAB separated file X can be used.
4. Error:
In case of CURRENCY/UNIT Addition Error; Use addition CURRENCY/UNIT when outputting.
Correction:
The CURRENCY addition specifies the currency-dependant decimal places for the output of the data objects of type i or p. To obtain the currency-key, the field CURRKEY of the table TCURX is used. The system determines the number of the decimal places from the field CURRDEC of the selected CURRKEY.
To correct this error follow the following method:
WRITE: /3 'TOTAL',' ', TOTAL.
WRITE: /3 TOTAL, , TOTAL CURRENCY 2. --- Where 2is the Currency Key for Getting 2 decimal places.
5. Error:
In case of TYPE X Error; Variable must be of C, N, D, T or STRING type.
Correction:
We need to change all the Type X (Hexadecimal) variables to Type C with their values unchanged.
So the method to be followed is:-
1. Load the definition of the class CL_ABAP_CONV_IN_CE or CL_ABAP_CHAR_UTILITIES.
2. Declare the variable as Type C, and use the method UCCP(XXXX) of the class CL_ABAP_CONV_IN_CE where XXXX represents the 8-bit Hexadecimal value and incase the variable holds a Hex value for a Horizontal Tab , then the Attribute HORIZONTAL_TAB of the class CL_ABAP_CHAR_UTILITIES can be used directly instead of using the method UCCP.
E.g.:
i) *DATA: TAB TYPE X VALUE 09, Tab character
CLASS: CL_ABAP_CHAR_UTILITIES DEFINITION LOAD.
DATA TAB TYPE C VALUE CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
ii) * DATA: CHAR TYPE X VALUE 160.
CLASS: CL_ABAP_CONV_IN_CE DEFINITION LOAD.
DATA CHAR TYPE C.
CHAR = CL_ABAP_CONV_IN_CE=>UCCP(00AO).
(Here 00A0 is the Hexadecimal equivalent of the decimal 160).
3. Incase the TYPE X Variable has a length more than 1, then an internal table must be created for the variable.
E.g.:
CLASS: CL_ABAP_CONV_IN_CE DEFINITION LOAD.
DATA : LF(2) TYPE X VALUE 'F5CD'.
DATA : BEGIN OF LF,
A1 TYPE C,
A2 TYPE C,
END OF LF.
LF-A1 = CL_ABAP_CONV_IN_CE=>UCCP('00F5').
LF-A2 = CL_ABAP_CONV_IN_CE=>UCCP('00CD').
6. Error:
In case of the Character -Error; The Character -cant appear in names in Unicode Programs.
Correction:
The Character -(Hyphen) appearing in Variable names is replaced by the character _ (Under Score) for Unicode/Upgrade Compliance.
E.g.:
*wk-belnr LIKE bkpf-belnr,
*wk-xblnr LIKE bkpf-xblnr,
*wk-date LIKE sy-datum,
*wk-wrbtr LIKE bseg-wrbtr,
*wk-name1 LIKE lfa1-name1,
*wk-voucher(8) TYPE c.
wk_belnr LIKE bkpf-belnr,
wk_xblnr LIKE bkpf-xblnr,
wk_date LIKE sy-datum,
wk_wrbtr LIKE bseg-wrbtr,
wk_name1 LIKE lfa1-name1,
wk_voucher(8) TYPE c.
7. Error:
In case of The SUBMIT-TO-SAP-SPOOL Error; you should not use the statement SUBMIT-TO-SAP-SPOOL without the WITHOUT SPOOL DYNPRO addition.
Correction:
1. Declare variables of type PRI_PARAMS, ARC_PARAMS, and a variable of TYPE C which would be used as a VALID FLAG.
2. Call the FM GET_PRINT_PARAMETERS:
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
ARCHIVE_MODE = '3'
DESTINATION = P_DEST
IMMEDIATELY = 'X'
IMPORTING
OUT_ARCHIVE_PARAMETERS = archive_parameters
OUT_PARAMETERS = print_parameters
VALID = valid_flag
EXCEPTIONS
INVALID_PRINT_PARAMS = 2
OTHERS = 4
3. Use the SUBMIT-TO-SAP-SPOOL statement.
E.g.:
submit zrppt500
using selection-set 'AUTO3'
with res_no eq lo_rsnum
with sreserv in preserv
to sap-spool destination p_dest
immediately 'X'. "print immediate
DATA: print_parameters type pri_params,
archive_parameters type arc_params,
valid_flag(1) type c.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
ARCHIVE_MODE = '3'
DESTINATION = P_DEST
IMMEDIATELY = 'X'
IMPORTING
OUT_ARCHIVE_PARAMETERS = archive_parameters
OUT_PARAMETERS = print_parameters
VALID = valid_flag
EXCEPTIONS
INVALID_PRINT_PARAMS = 2
OTHERS = 4
Submit zrppt500
Using selection-set 'AUTO3'
With res_no eq lo_rsnum
with sreserv in preserv
to sap-spool
SPOOL PARAMETERS PRINT_PARAMETERS
ARCHIVE PARAMETERS ARCHIVE_PARAMETERS
WITHOUT SPOOL DYNPRO.
8. Error:
In case of Message Error; Number of WITH fields and number of Place Holders are not same .
Correction:
Split the statement after WITH into the same number as the place holder for that Message ID.
E.g.:
1. * MESSAGE E045.
MESSAGE E045 WITH '' ''.
2. in program ZIPI0801
Start of change for ECC6
message e398(00) with 'Could not find access sequence'
'for condition type:'
p_ptype.
message e398(00) with 'Could not find '
'access sequence'
'for condition type:'
p_ptype.
End of change made for ECC6
9. Error:
In case of Move between 2 different Structures; The structures are not mutually convertible in a Unicode program.
Correction:
Make both the Data Types compatible and then assign the contents.
E.g.:
The statement move retainage_text to temp_text. Gives an error, where RETAINAGE_TEXT is an internal table and TEMP_TEXT is a string of length 200.
A Feasible solution for this is to specify from which position to which position of the string, the fields of RETAINAGE_TEXT should be assigned.
TEMP_TEXT+0(1) = RETAINAGE_TEXT-DQ1.
TEMP_TEXT+1(1) = RETAINAGE_TEXT-HEX.
TEMP_TEXT+2(20) = RETAINAGE_TEXT-FILLER1.
TEMP_TEXT+22(15) = RETAINAGE_TEXT-AMT_DUE.
TEMP_TEXT+37(8) = RETAINAGE_TEXT-TEXT.
TEMP_TEXT+45(10) = RETAINAGE_TEXT-DUE_DATE.
TEMP_TEXT+55(1) = RETAINAGE_TEXT-DQ2.
10. Error:
In case of no description found; add a GUI title.
Correction:
In this type of error gui title is generally missing so add a GUI title to the module pool.
11. Error:
In case of writing internal or transparent table
Correction:
Write individual fields.
E.g.:
WRITE: / EXT. --> EXT should be a character type field
WRITE: / EXT-ZZSTATE, EXT-LINE_NO, EXT-LINE_TXT, EXT-AMT, EXT-ZZSKUQTY.
12. Error:
In case of combination reference table/field S541-UMMENGE does not exist
Correction:
Was due to error in reference table S541. TABLE S541 has errors
1)Foreign key S541- ZZMARKET (ZZMARKET AND KATR2 point to different domains)
2)Foreign key S541-ZZACQUIGRP (ZZACQUIGRP AND KATR8 point to different domains)
Changed the domain of ZZMARKET (from ZMKCODE to ATTR2)
And that of ZMKCODE (from ZACCODE to ATTR8)
13. Error:
In case of KEY does not exist
Correction:
The reference table for field KBETR was KNOV earlier changed it to RV61A as KNOV was in turn referring to RV61A.
14. Error:
Incase of WRITE statement, Literals that take more than one line is not permitted in Unicode systems.
Correction: To correct this error, we need to align the spaces accordingly so that the statement doesnt go beyond the line.
15. Error:
Incase of Data statement, The data type ZWFHTML can be enhanced in any way. After a structure enhancement, this assignment or parameter might be syntactically incorrect ..
Correction: To correct this error, instead of like in the Data statement, use type.
16. Error:
Incase of DESCRIBE statement, DESCRIBE can be used only with IN BYTE... Or IN CHARACTER mode in Unicode systems.
Correction: To correct this error, use additional text, IN BYTE MODE / IN CHARACTER MODE along with this statement.
CHARACTER MODE is added when the data object is of flat/ character type.
BYTE MODE is added when the data object is a deep structure.
Syntax: DESCRIBE FIELD data_obj : LENGTH blen IN BYTE MODE,
LENGTH clen IN CHARACTER MODE.
Where blen and clen must be of type I.
17. Error:
Incase of DO-LOOP Error, In Do loop range addition needed
Correction:
An internal tables is declared and the two fields (VARYING field and NEXT field) were
Included inside the internal table
E.g.: In program SAPMZP02
DO 11 TIMES
VARYING STATION_STATE FROM STATION1 NEXT STATION2. ECC6
CASE SYST-INDEX.
WHEN 1
STATION_STATE = STATION1.
WHEN 2
STATION_STATE = STATION2.
WHEN 3
STATION_STATE = STATION3.
WHEN 4
STATION_STATE = STATION4.
WHEN 5
STATION_STATE = STATION5.
WHEN 6
STATION_STATE = STATION6.
WHEN 7
STATION_STATE = STATION7.
WHEN 8
STATION_STATE = STATION8.
WHEN 9
STATION_STATE = STATION9.
WHEN 10
STATION_STATE = STATION10.
WHEN 11
STATION_STATE = STATION11.
18. Error:
Incase of the parameter QUEUE-ID Error, QUEUE-ID is neither a parameter nor a select option in program rsbdcbtc.
Correction:
The parameter in program rsbdcbtc is QUEUE_ID and so is changed in this program
E.g.: In program Z_CARRIER_EDI_INTERFACE
submit rsbdcbtc with queue-id = apqi-qid and return. "ECC6
The parameter name changed by replacing '-' with '_' as in program rsbdcbtc "ECC6
Submit rsbdcbtc with queue_id = apqi-qid and return. "ECC6
19. Error:
Incase of EPC Error, Field symbol <TOT_FLD> is not assigned to a field .
Correction:
This error couldn't be rectified as the error occurs in a Standard SAP include- LSVIMF29.
The OS Note - 1036943 needs to be applied.
Error:
OPEN DATASET P_FILE FOR OUTPUT IN TEXT MODE.
Correct:
OPEN DATASET P_FILE FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
Error:
Constants : c_tab type x value '09' .
Correct:
Constants : c_tab type abap_char1 value cl_abap_char_utilities=>horizontal_tab .
Error:
Data : begin of output_options occurs 0 . Include structure ssfcompop.
Data : end of output_options .
Correct:
Data : output_options type standard table of ssfcompop with header line .
Error:
PARAMETERS : NAST TYPE NAST .
Correct:
PARAMETERS : NAST TYPE NAST NO-DISPLAY .
Replace WS_DOWNLOAD and WS_UPLOAD by
GUI_UPLOAD and GUI_DOWNLOAD and check the import and export parameter types , do the changes accordingly. Because FILENAME paramater type is different because of this it will give dump.
For issue during Issue using SO_NEW_DOCUMENT_ATT_SEND_API1 Function module, the solution is After this FM we should put COMMIT WORK.
Issue:
Moving data from one structure to another structure if those two structures are not compatible
Solution:
we should use move-corresponding or field by filed we need to move it.
If database structures are different in 4.6c and ECC6.0,
Then we should go with append structure concept.
While testing the report if it gives dump at Select query level or any database or view level,then just goto that table or view and goto the data base utility(se14) adjust the database. But make sure that selected radio button in se14 transaction should be activate and adjust database
Also Check this link.
http://help.sap.com/saphelp_nw04/helpdata/en/62/3f2cadb35311d5993800508b6b8b11/frameset.htm
Reward points if helpful.
Regards,
Ramya -
Extraction unicode BW & unicode R/3 source system
Hello,
I have a situation where I need to load a material master data from R/3 to BW. In source system for material description, language key used as "EN" and description maintained in Chinese language. Both R/3 and BW systems are unicode compliance. When I load a data in to BW, I get corrupted data. In BW all characters are replaced by '#'. Conversion takes place correctly where language key= "ZH" and material descriptions are maintained in same language i.e Chinese.
I need to know, if this is normal. I'm expecting that, since both R3 and BW are unicode compliance sytem, there should not be any problem if language key is maintained one language and description maintained in another language.
System Details:
BW : 3.5
R/3 : 4.7
Please advice me on this.
Thank you and appreciate your help.
regards
Raj.Hi Dinesh,
Thanks for the link. I had earlier gone through the links you mentioned. After doing some research, I found the solution. I need to change the RFC destination parameter for BW client in R/3 system.
1. Go to SM59 in R/3 source system.
2. select BW client
3. Go to special option tab
4. Change 'Character width in source system' to 'unicode'
After changing this parameter, BW load was success without any data corruption.
Thank you.
Regards
Raj. -
Character conversion Unicode - clarification
Hello,
I have a situation where I need to load a material master data from R/3 to BW. In source system for material description, language key used as "EN" and description maintained in Chinese language. Both R/3 and BW systems are unicode compliance. When I load a data in to BW, I get corrupted data. In BW all characters are replaced by '#'. Conversion takes place correctly where language key= "ZH" and material descriptions are maintained in same language i.e Chinese.
I need to know, if this is normal. I'm expecting that, since both R3 and BW are unicode compliance sytem, there should not be any problem if language key is maintained one language and description maintained in another language.
System Details:
BW : 3.5
R/3 : 4.7
Please advice me on this.
Thank you and appreciate your help.
regards
Raj.
Message was edited by: raj
Message was edited by: rajPl identify your database characterset
SQL> select * from NLS_DATABASE_PARAMETERS;If the NLS_CHARACTERSET is WE8ISO8859P1, it is not capable of storing the Euro symbol (pl do a google search to find various references).
To store the Euro symbol, you will most likely need to change the database characterset to UTF8 - pl see the MOS Docs mentioned in this thread for details - Adding Greek & German language to R12
HTH
Srini -
How do i know if interfaces developed are unicode compatible
hi,
I have some idocs extended and its in ECC 6.0. These idocs are used in process integartion as part of project.
Now i need to know if these are unicode compatible.? How do i check?
Thanks
Pradeep.You have to ensure that ports are defined with 'Unicode' (RFC destination, XML file port) .. Please check the following OSS Notes regarding the Unicode compliance for extended idocs.
Note 493387 - Potential effects of table- and structure - extensions
Note 494441 - Enhancing IDOC structures in Unicode-enabled programs -
Role of unicodes in upgrades.
Dear members,
Please explain me the role of unicode in upgradation.
Regards,
Niraj.
Edited by: Neerajpatro on May 30, 2009 3:45 PMWhat is Unicode?
In non-Unicode system, each character is represented with 8 bit code. Unicode provides a unique number for every character independent of platform, program, and language.
Unicode is a 16-bit code to represent universal character set, which is used to facilitate a better exchange of data between different systems.
E.g.: problems that may arise when communicating systems use different code pages. These problems mainly arise, because a code page is only applicable to specific languages and cannot be combined at with other code pages. Using Unicode helps you avoid these problems.
Unicode Compliance
Transaction UCCHECK
The transaction UCCHECK is used to find Unicode related issues. 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. -
Hello to all,
I have a question. Where can I find the table of compatibilities for SAP's Unicode ERP? I explain am looking for the areas affected in case of a migration of the systems Unicode. That systems would see Applications affected, CRM, Cross, Portal etc? I realize it to document the effects of the above mentioned plan.
Thanks in advance
Rafael PadillaHi,
I'm not sure what you are exactly looking for. Are you looking for dependencies that you should take care of when you convert your SAP ERP system to unicode?
If this is the question, then there the area I would check for detailed information is http://service.sap.com/unicode@sap
Off the top of my head, I would say your biggest challenge is all related to interfaces (I am not including all new development needs for new feature implementations):
- Data loads into and from the SAP ERP system. The formatting and the interface programs will need to be checked
- UI: SAPGUI will have to be changed to the new code page. Anything using SAPGUI will have to be checked like file uploads and printing. The Portal is already unicode so this should not be an issue.
- Printing: All printing/faxing/etc will have to be checked to ensure they can be used
- 3rd party software: All connected software will have to be validated for unicode compliance (back-up software all the way through to tax and EDI software)
- SAP apps: All the SAP apps support connectivity to unicode systems so there should be little to do here.
If you are converting from MDMP to unicode, you will also have to undo any workarounds you had for supporting the MDMP golden rules.
I hope this helps,
Mike. -
SAP R/3 4.6/c and 4.7
hai what is the main diff between both of these to versions can anybody pls list out some differences
Hi Karnam,
SAP 4.7 was with built in WAS and CIN patches are included and Unicode came into picture in 4.7 onwards.
SAP 4.7 has all the features such as development workbench, transport management system, monitoring, versioning and business object repository of already existing SAP 4.6C.
Web Application Server6.20 of 4.7 includes all the features of SAP Basis of SAP 4.6C.
<u><b>Differences:</b></u>
SAP 4.7 has a more structured approach as compared to SAP 4.6C from a technical perspective. It is based on mySAP.com technology, which is actually the Web Application Server 6.2C. This not only includes SAP Basis Technologies with their latest advancements but also the new features of SAP Web AS 6.20.
SAP 4.7 is more structured even from a functional perspective as this version has been developed after functional and infrastructure developments of earlier SAP R/3 4.6C.
In SAP 4.7 the functional and infrastructure developments are made on separate levels. The functional developments are made in the Enterprise Extensions and infrastructure developments are made in the Enterprise Core unlike SAP 4.6C in which both the developments take place within the systems.
SAP in its Web AS has additional enhancements in the form of package concept, global parameterization with business configuration sets, Unicode compliance and accessibility that are not present in 4.6C.
SAP 4.7 Core supports the above-mentioned enhancements that SAP 4.6C does not.
SAP 4.7 unlike 4.6C has Enterprise Extensions that can be separately deployed and have their own releases.
<b>Reward points... if you feel helpful...
Regards,
Moqeeth.</b> -
Short Dump with Fetch in ECC 6.0
Hello Friends,
I have a query sth like this.
<b>fetch next cursor wc_cursor
into table it_bdi_entry
package size s_pkg.</b>
it_bdi_entry is a internal table of type bdi_entry.
When i use this fetch statement in ECC 6.0 and the fetching row is not all char (like bdi_entry) then i see a short dump saying sth like the source and target are not of same types. How do i overcome this error. please suggest. Thanks in advance.HI Ramu
I doubt the dump is due to UNICODE compliancy.
In UNICODE systems, we can transfer data between structures only when the structure are similar or having only character fields.
To avoid the dump, we might need to handle field by field.
Hope this helps.
Kind Regards
Eswar -
Hi Guys,
We are upgrading from 4.6c to ECC 6.0 and a lot of our programs are giving unicode compliance error on the OPEN DATASET statement. Even though we are moving to a unicode system, the systems we talk to are not unicode compliant yet so we donot want to read/write files in unicode format yet. After a lot of research I am still consfused between the following 2 statements. Which one should we use?
OPEN DATASET O_DSN FOR OUTPUT IN TEXT MODE ENCODING NON-UNICODE
OR
OPEN DATASET O_DSN FOR OUTPUT IN LEGACY TEXT MODE.
Does anyone know if they are any different or both serve the same purpose?
We basically want to retain the same functionality as was in 4.6c when it comes to read/write files...
Please suggest
Thanks,
SanketIN LEGACY BINARY MODE [CODE PAGE cp]
Data is read or written in a form which is compatible to BINARY MODE in Releases <= 4.6. This addition is primarily used to convert a file into the code page format specified already when it is opened. At runtime, the system uses the format of the system code page of the application server. The system saves the file then again in the code page specified. This procedure is important if data is exchanged between systems using different code pages.
IN LEGACY TEXT MODE [CODE PAGE cp]
Data is read or written in a form which is compatible to BINARY MODE in Releases <= 4.6. This addition is primarily used to convert a file into the code page format specified already when it is opened. At runtime, the system uses the format of the system code page of the application server. The system saves the file then again in the code page specified. This procedure is important if data is exchanged between systems using different code pages.
For more information, check the below link.
[http://www.s001.org/ABAP-Hlp/abapopen_dataset.htm|http://www.s001.org/ABAP-Hlp/abapopen_dataset.htm]
Hope this helps.
Thanks,
Balaji -
ECC 6.0 Upgrade & changes required in programs
In case of a version upgrade to ECC 6.0, the programs would need to be changed. Some changes in the programs would be required to meet unicode compliance, while some changes would be required due to version upgrade (constructs becoming obsolete, etc). I guess the unicode related issues could be found by using the UCCHECK transaction and then resolved by making changes and again checking using this transaction, but is there some way to find out what issues would arise due to version upgrade? (The programs work fine in the lower version which is 4.6c). One way would be to actually check the programs in runtime and then handling the issues faced. But if we don't want to test all the programs, then is there some tool, or any best practice which would minimize the chance of having issues in the programs (and might be in help in solving the issues)?
SAMT is a transaction that will allow you to create sets for syntax check. We generally do it for Z* and Y* objects if the count does not exceed 3000.
Batch objects are the BDCs and Conversions as explained by Hema. Earlier upgrades had more than 80% of these objects failing becuase the screens may have changed or the screen fields may be missing, screen flow changed ... But now it has reduced especially from 46c to Ecc6 upgrade. However it still warrants testing them thoroughly.
Clones are copies of standard SAP objects in Z space and modified. These objects generally tend to have standard includes within them or the program definition may still have the original SAP name. It is tricky to find all of them but simple rules like matching name strings (eg SAPMV45A -> ZAPMV45A or Z_SAPMV45A) would help. It may vary from customer to customer depending on their naming standards.
Standard function modules used in the program can be easily found out using SCAN command in ABAP (see my example for SCAN in code snippets). Use the list of function modules identified and pass to the program below to see if their interfaces have changed. Test all objects affected by changed interfaces.
*& Report YACN_FUNC_ANALYSIS
REPORT YACN_FUNC_ANALYSIS.
Tables: tfdir.
DATA: v_found TYPE c.
DATA: v_func LIKE enlfdir-funcname.
DATA: BEGIN OF i_import OCCURS 0.
INCLUDE STRUCTURE rsimp.
DATA: END OF i_import.
DATA: BEGIN OF i_changing OCCURS 0.
INCLUDE STRUCTURE rscha.
DATA: END OF i_changing.
DATA: BEGIN OF i_export OCCURS 0.
INCLUDE STRUCTURE rsexp.
DATA: END OF i_export.
DATA: BEGIN OF i_table OCCURS 0.
INCLUDE STRUCTURE rstbl.
DATA: END OF i_table.
DATA: BEGIN OF i_exceptions OCCURS 0.
INCLUDE STRUCTURE rsexc.
DATA: END OF i_exceptions.
DATA: BEGIN OF i_doc OCCURS 0.
INCLUDE STRUCTURE rsfdo.
DATA: END OF i_doc.
DATA: BEGIN OF i_source OCCURS 0,
INCLUDE STRUCTURE RSSOURCE.
line(256) TYPE c,
END OF i_source.
DATA: BEGIN OF e_import OCCURS 0.
INCLUDE STRUCTURE rsimp.
DATA: END OF e_import.
DATA: BEGIN OF e_changing OCCURS 0.
INCLUDE STRUCTURE rscha.
DATA: END OF e_changing.
DATA: BEGIN OF e_export OCCURS 0.
INCLUDE STRUCTURE rsexp.
DATA: END OF e_export.
DATA: BEGIN OF e_table OCCURS 0.
INCLUDE STRUCTURE rstbl.
DATA: END OF e_table.
DATA: BEGIN OF e_exceptions OCCURS 0.
INCLUDE STRUCTURE rsexc.
DATA: END OF e_exceptions.
DATA: BEGIN OF e_doc OCCURS 0.
INCLUDE STRUCTURE rsfdo.
DATA: END OF e_doc.
DATA: BEGIN OF e_source OCCURS 0,
INCLuDE STRUCTURE RSSOURCE.
line(256) TYPE c,
END OF e_source.
DATA: BEGIN OF i_tab OCCURS 0,
line(71) TYPE c,
END OF i_tab.
PARAMETERS: p_file LIKE rlgrap-filename DEFAULT 'D:\Documents and Settings\prakash.bhatia\Desktop\funcmods.txt'.
START-OF-SELECTION.
CALL FUNCTION 'UPLOAD'
EXPORTING
CODEPAGE = ' '
filename = p_file
filetype = 'DAT'
ITEM = ' '
FILEMASK_MASK = ' '
FILEMASK_TEXT = ' '
FILETYPE_NO_CHANGE = ' '
FILEMASK_ALL = ' '
FILETYPE_NO_SHOW = ' '
LINE_EXIT = ' '
USER_FORM = ' '
USER_PROG = ' '
SILENT = 'S'
IMPORTING
FILESIZE =
CANCEL =
ACT_FILENAME =
ACT_FILETYPE =
TABLES
data_tab = i_tab
EXCEPTIONS
CONVERSION_ERROR = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
GUI_REFUSE_FILETRANSFER = 6
OTHERS = 7
LOOP AT i_tab.
v_func = i_tab-line.
select single * from tfdir where funcname = v_func.
if sy-subrc <> 0.
continue.
endif.
PERFORM get_func_details TABLES i_import
i_changing
i_export
i_table
i_exceptions
i_doc
i_source
USING ' ' v_func.
PERFORM get_func_details TABLES e_import
e_changing
e_export
e_table
e_exceptions
e_doc
e_source
USING 'D02' v_func.
WRITE:/ v_func.
CLEAR v_found.
IF i_import[] = e_import[].
WRITE: 'N'.
ELSE.
LOOP AT i_import.
READ TABLE e_import WITH KEY parameter = i_import-parameter.
IF sy-subrc <> 0.
IF i_import-optional <> 'X'.
WRITE: 'Y'.
v_found = 'X'.
EXIT.
ENDIF.
ELSE.
IF i_import-typ <> ' '.
IF i_import-typ <> e_import-dbfield.
WRITE: 'Y'.
v_found = 'X'.
EXIT.
ENDIF.
ELSE.
IF i_import-dbfield <> ' '.
IF i_import-dbfield <> e_import-dbfield.
WRITE: 'Y'.
v_found = 'X'.
EXIT.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
IF v_found = ' '.
WRITE: 'N'.
ENDIF.
ENDIF.
CLEAR v_found.
IF i_changing[] = e_changing[].
WRITE: 'N'.
ELSE.
LOOP AT i_changing.
READ TABLE e_changing WITH KEY parameter = i_changing-parameter.
IF sy-subrc <> 0.
IF i_changing-optional <> 'X'.
WRITE: 'Y'.
v_found = 'X'.
EXIT.
ENDIF.
ELSE.
IF i_changing-typ <> ' '.
IF i_changing-typ <> e_changing-dbfield.
WRITE: 'Y'.
v_found = 'X'.
EXIT.
ENDIF.
ELSE.
IF i_changing-dbfield <> ' '.
IF i_changing-dbfield <> e_changing-dbfield.
WRITE: 'Y'.
EXIT.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
IF v_found = ' '.
WRITE: 'N'.
ENDIF.
ENDIF.
CLEAR v_found.
IF i_export[] = e_export[].
WRITE: 'N'.
ELSE.
LOOP AT i_export.
READ TABLE e_export WITH KEY parameter = i_export-parameter.
IF sy-subrc = 0.
IF i_export-typ <> ' '.
IF i_export-typ <> e_export-dbfield.
WRITE: 'Y'.
v_found = 'X'.
EXIT.
ENDIF.
ELSE.
IF i_export-dbfield <> ' '.
IF i_export-dbfield <> e_export-dbfield.
WRITE: 'Y'.
v_found = 'X'.
EXIT.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
IF v_found = ' '.
WRITE: 'N'.
ENDIF.
ENDIF.
CLEAR v_found.
IF i_table[] = e_table[].
WRITE: 'N'.
ELSE.
LOOP AT i_table.
READ TABLE e_table WITH KEY parameter = i_table-parameter.
IF sy-subrc <> 0.
IF i_table-optional <> 'X'.
WRITE: 'Y'.
v_found = 'X'.
EXIT.
ENDIF.
ELSE.
IF i_table-typ <> ' '.
IF i_table-typ <> e_table-dbstruct.
WRITE: 'Y'.
v_found = 'X'.
EXIT.
ENDIF.
ELSE.
IF i_table-dbstruct <> ' '.
IF i_table-dbstruct <> e_table-dbstruct.
WRITE: 'Y'.
v_found = 'X'.
EXIT.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
IF v_found = ' '.
WRITE: 'N'.
ENDIF.
ENDIF.
IF i_exceptions[] = e_exceptions[].
WRITE: 'N'.
ELSE.
WRITE: 'Y'.
ENDIF.
*if I_doc[] = e_doc[].
write: 'N'.
*else.
write: 'Y'.
*endif.
IF i_source[] = e_source[].
WRITE: 'N'.
ELSE.
WRITE: 'Y'.
ENDIF.
ENDLOOP.
*& Form get_func_details
text
-->P_TRG text
FORM get_func_details TABLES t_import
t_changing
t_export
t_table
t_exceptions
t_doc
t_source
USING p_trg
p_func.
CALL FUNCTION 'RPY_FUNCTIONMODULE_READ'
DESTINATION p_trg
EXPORTING
functionname = p_func
IMPORTING
GLOBAL_FLAG =
REMOTE_CALL =
UPDATE_TASK =
SHORT_TEXT =
FUNCTION_POOL =
TABLES
import_parameter = t_import
changing_parameter = t_changing
export_parameter = t_export
tables_parameter = t_table
exception_list = t_exceptions
documentation = t_doc
SOURCE = t_source
EXCEPTIONS
ERROR_MESSAGE = 1
FUNCTION_NOT_FOUND = 2
INVALID_NAME = 3
OTHERS = 4
ENDFORM. " get func details
-Cheers -
Hello
I would like know difference between version 4.6 & 4.7 and when do the version was released,Hi,
SAP 4.7 has all the features such as development workbench, transport management system, monitoring, versioning and business object repository of already existing SAP 4.6C.
Web Application Server6.20 of 4.7 includes all the features of SAP Basis of SAP 4.6C.
Differences:
SAP 4.7 has a more structured approach as compared to SAP 4.6C from a technical perspective. It is based on mySAP.com technology, which is actually the Web Application Server 6.2C. This not only includes SAP Basis Technologies with their latest advancements but also the new features of SAP Web AS 6.20.
SAP 4.7 is more structured even from a functional perspective as this version has been developed after functional and infrastructure developments of earlier SAP R/3 4.6C.
In SAP 4.7 the functional and infrastructure developments are made on separate levels. The functional developments are made in the Enterprise Extensions and infrastructure developments are made in the Enterprise Core unlike SAP 4.6C in which both the developments take place within the systems.
SAP in its Web AS has additional enhancements in the form of package concept, global parameterization with business configuration sets, Unicode compliance and accessibility that are not present in 4.6C.
SAP 4.7 Core supports the above-mentioned enhancements that SAP 4.6C does not.
SAP 4.7 unlike 4.6C has Enterprise Extensions that can be separately deployed and have their own releases.
Chek these out
Here is the link for the same
http://help.sap.com/saphelp_nw2004s/helpdata/en/5b/8c3842bb58f83ae10000000a1550b0/frameset.htm
http://service.sap.com/releasenotes
Regards,
Vinod
Maybe you are looking for
-
Voice recognition in general has come a long way however it's still got a long way to go. Siri so far has shown itself to be quite superior but I have a few ideas how it could improve. For the new next generation iPhone (i.e. iPhone 5) and iOS update
-
Please Can Someone Help Me??????
Please, I've been working on this for a few weeks now, and have had to learn everything pretty much on my own, because no one can seem to give me an answer and help me. No one has even replied to 3 different posts about this subject, so I'm trying it
-
Conditions within subclass constructors?
My assignment is to create a Ticket class with three subclasses, WalkupTicket, AdvanceTicket and StudentAdvanceTicket. AdvanceTicket and StudentAdvanceTicket both must have two parameters, the ticket number, and the number of days in advance the tick
-
Is there anybody working with JMF?
hi, i am going to manipulate mpeg2 video format using JMF, can anybody guide me from where i should start and provide some link for useful study. is any special sort of development kit is needed? thanx in advance, amt
-
Can i use my iphone sim card in my ipad as iphone has just died??,
Was wondering if its possible to use my iphone4s sim card in my Ipad (3rd)??