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,
    JBL

    Hello,
    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,
    Padhy

    Hi,
    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 ‘2’is 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 “-“can’t 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 doesn’t 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: raj

    Pl 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 PM

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

  • Unicode ERP

    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 Padilla

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

  • OPEN DATASET in ECC6.0

    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,
    Sanket

    IN 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

  • Difference between version

    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

  • Improvements for Siri?

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