EH&S Native Language Support

Use

An important area of use for the SAP component Environment, Health and Safety (EH&S) is creating and managing documents. As a result of the international marketing of products, EH&S documents (reports) and the data they contain are often required in many languages. Examples are safety data sheets that are to be printed in numerous EU languages, tremcards that may be needed in all ADR languages, and labels that include data in several languages.

In EH&S, these reports are generated using data from the SAP system. It must therefore be possible to enter the required data in any language and display it at the front end or print it on reports. This enables EH&S Native Language Support (EH&S NLS).

Integration

Data recording in several languages is relatively problem-free in an SAP system without Unicode character sets (non-Unicode system) as long as the languages can be displayed using the character set on the code page of the application server. However, in certain cases, the character set on a standard SAP(ISO) code page is not adequate for all required languages.

Prerequisites

You must have set up EH&S NLS in Customizing for Basic Data and Tools . To do this, edit the IMG activity Set Up EH&S Native Language Support and set the MULTI_CODEPAGE_SUPPORT parameter in the IMG activity Specify Environment Parameters

You must set up EH&S NLS in any case, regardless of whether you are using a Unicode system or a non-Unicode system. Only then will the conversions described in the Features section be performed correctly.

Up to EH&S Release 2.2B it was possible to enter EH&S data so that it was available in the database in Microsoft code page format. SAP no longer supports this scenario.

Until SAP release mySAP ERP2004, the Blended Code Page or Multi Display / Multi Processing Code Pages (MDMP) were supported.

For more prerequisites, see the Features section.

Features

The code pages used in the front-end operating systems and the SAP(front-end) code pages assigned to them in the SAP system do not always correspond with the code pages used in the SAP system. If the code pages are different from one another, data has to be converted so that it is stored uniformly in the SAP system in Unicode format (Unicode systems). For an overview of the conversions that are performed for this in a non-Unicode system according to the SAP standard, see Conversions in Accordance with the SAP Standard .

In EH&S, data records may have to be transferred via Remote Function Call (RFC). These data records may have to be displayed in a non-Unicode system using different code pages (such as phrase texts or identifiers in different languages). As data that is transferred via RFC can only be converted as a whole in the standard SAP system and not on a record-by-record basis, additional conversion programs have been set up with EH&S NLS. For example, these also ensure that all data is converted correctly to the code page used by the application to which the data records are transferred via RFC.

The following graphic illustrates the points at which data is converted in accordance with the SAP standard (yellow) and the points at which conversions are performed that were set up in addition with EH&S NLS (pink).

If you set the environment parameter MULTI_CODEPAGE_SUPPORT (see Prerequisites ), EH&S NLS performs the additionally set-up conversions at the following points:

Layout test

Report generation

Secondary data determination via EH&S Expert

Import of data in Microsoft code page format

Export of data in Microsoft code page format

Language-dependent data (specification keys, material keys, phrase keys, language-independent identifiers, and so on) is not converted, or not converted correctly and must therefore be made up only of characters that are displayed the same by all code pages used in the SAP system and the front-end operating systems. You should therefore only use the characters from the syntactical character set for language-independent data.

The following sections are detailed descriptions of how data is correctly converted at the appropriate points by the SAP standard or by separate conversions from EH&S NLS.

Business Application Programming Interface and Application Programming Interface

The Business Application Programming Interfaces and Application Programming Interfaces (BAPIs and APIs) used in EH&S can read and process data both in Unicode format and in SAP(ISO) code page and Microsoft code page format. The BAPI and API calls contain a parameter that controls the conversion in accordance with the environment parameter MULTI_CODEPAGE_SUPPORT. If the parameter is set, the conversion is activated during the BAPI or API call and deactivated at the end of the call.

Entering and Outputting Data in the SAP System

During communication between the SAP GUI and the application server, EH&S data is entered, output, and thus converted in the SAP system in accordance with the SAP standard. Additional conversion via EH&S NLS is therefore not necessary.

Data Output in the Specification Information System with Microsoft Excel

When outputting data with Microsoft Excel in the specification information system, data is sent to the Windows front end using the function module GUI_DOWNLOAD and then converted according to the following criteria in accordance with the SAP standard:

Data in the Excel template

Data in the Excel template is transferred in hexadecimal format and therefore does not need to be converted.

Data file

The data file contains language-dependent data for the logon language and language-independent data. When the file is downloaded, the data is converted from SAP code page format to Microsoft code page format in accordance with the SAP standard during communication between the SAP GUI and the application server.

Additional conversion via EH&S NLS is therefore not necessary.

Import and Export

You can import and export language-dependent EH&S data for phrases, specifications, and sources in the code page format used in the SAP system and Microsoft code page format. Conversion programs in the API modules ensure that data is stored correctly in SAP(ISO) code page format (non-Unicode systems) or in Unicode format (Unicode systems) in the database when importing, and that data is exported in the format required.

When importing, the +SC parameter contains the formatting information in the administration part of the transfer file:

+SC:ISO-R/3orUTF-8

The data from the transfer file is in SAP(ISO) code page format (parameter value ISO-R/3, non-Unicode systems) or in Unicode format (parameter value UTF-8, Unicode systems), and is stored on the application server without being converted and written to the database using the API modules without being converted.

+SC:MS-NT

The data in the transfer file is in Microsoft code page format. The data is first stored on the application server without being converted. The API modules convert the data from Microsoft code page format to SAP(ISO) code page format (non-Unicode systems) or to Unicode format (Unicode systems). Language-dependent data is converted in accordance with the assigned language. Language-independent data is not converted and should therefore only contain characters from the syntactical character set

Under no circumstances should you import data in Unicode format into a non-Unicode system. The following data formats are possible:

Permissible Data Formats for Import

Data Format in the Transfer File

Import into Non-Unicode System

Import into Unicode System

Microsoft code pages

Possible

Possible

SAP(ISO) code pages

Possible

Possible

Unicode

Not possible

Possible

When exporting, the environment parameter EXPORT_CHARACTER_NORM controls the format in which data is exported. You assign values to the parameter in Customizing for Basic Data and Tools under Specify Environment Parameters . The value of this parameter is transferred to the API modules for reading the data.

EXPORT_CHARACTER_NORM:ISO-R/3orUTF-8

The data is written to the transfer file without being converted.

EXPORT_CHARACTER_NORM:MS-NT

The API modules convert the data from SAP(ISO) code page format or from Unicode format to Microsoft code page format. Language-dependent data is converted in accordance with the assigned language. Language-independent data is not converted and should therefore only contain characters from the syntactical character set .

In the administration part of the export transfer file, the +SC parameter is automatically set in accordance with the value determined for the EXPORT_CHARACTER_NORM parameter so that the conversions will be performed correctly when this file is imported in the future.

You can import and export property trees and report templates in unconverted form only, that is in SAP(ISO) code page format (non-Unicode systems) or in Unicode format (Unicode systems). A conversion to Microsoft code page format is not necessary here because property trees and report templates are only transferred between SAP systems.

Application Link Enabling

When distributing data via Application Link Enabling (ALE), data is transferred via RFC communication in the code page format used in the SAP system from one SAP system to other SAP systems. The system is set up so that no conversion is necessary.

If data is transferred via ALE between non-Unicode systems, it is possible that this data must be displayed using different SAP(ISO) code pages. In this case, conversion must then be prevented for language-dependent data that must be displayed using several code pages. This is because in RFC communication, data is not converted on a record-by-record basis and it could therefore be corrupted when being transferred (see Conversions in Accordance with the SAP Standard ).

Under no circumstances should you distribute data via ALE between a non-Unicode system and a Unicode system.

Generally, data is not converted in RFC communication if the active code pages in the recipient and sending systems are the same. This is achieved through the following:

In an ALE distribution model, one code page must be selected as the code page for the transfer (SAP(ISO) code page 1100, for example). This code page must be set up on all SAP systems involved in the distribution.

In the sending system in Customizing for Basic Data and Tools under Specify Environment Parameters , you must specify a language that can be displayed by this code page as the transfer language in the parameter ALE_TRANSFER_LANGUAGE. This language controls which code page is active in the sending system when transferring data.

You must define the RFC destinations of the recipient systems with the logon language that you specified in the ALE_TRANSFER_LANGUAGE parameter in Customizing for Basic Data and Tools

If data is to be transferred that must be displayed using different SAP(ISO) code pages, the operating systems of the sending and recipient systems must use the same ASCII character sets.

Also note the general restrictions for EBCDIC systems as described in the Implementation Guide (IMG) for Basic Data and Tools under Set Up EH&S Native Language Support

Report Template Editing

When editing report templates, data is loaded from the SAP system to the Windows front end using the function module GUI_DOWNLOAD and then converted in accordance with the SAP standard according to the following criteria:

Word document (contains the report template)

The Word document is transferred in hexadecimal format and is therefore not converted.

Structure file (contains the symbols and repeating groups)

The structure file is made up only of characters from the syntactical character set . The file is transferred in text format and converted if necessary.

Language-dependent data such as descriptions for symbols and phrase texts for displaying in WWI dialog boxes

This data is read in the logon language via RFC communication and correctly converted from SAP(ISO) code page format (non-Unicode systems) or from Unicode format (Unicode systems) to Microsoft code page format.

Additional conversion via EH&S NLS is not necessary.

WWI Generation Server

When generating a report, data from the SAP component EH&S and from other SAP components is merged. Data is sent by the WWI work process to the generation server via RFC communication and converted beforehand by EH&S NLS conversion programs according to the following criteria:

Word document (contains the report template or the report)

The Word document is transferred in hexadecimal format and is therefore not converted.

Structure file (contains the symbols and repeating groups)

The structure file is made up only of characters from the syntactical character set . The file is transferred in text format and converted if necessary (in the Unicode system).

Value file

Data is converted from SAP(ISO) code page format (non-Unicode systems) or from Unicode format (Unicode systems) to Microsoft code page format in the SAP system by EH&S NLS using the language key assigned to the data. A further conversion when transferring the value file to the front end could corrupt data. You can avoid this by transferring the file in hexadecimal format in RFC communication (see Communication Using Remote Function Calls section in Conversions in Accordance with the SAP Standard ).

When generating reports, symbols of type parameter can also be replaced with language-dependent data. This data is also converted, so when defining these symbols you no longer need to make sure that the appropriate conversion routines are called by the function modules you specified in the expansion mode Function module

Layout Control

In layout control for reports, data is downloaded from the SAP system to the Windows front end using the function module GUI_DOWNLOAD and converted beforehand by the EH&S NLS conversion programs according to the following criteria:

Word document (contains the report template)

The Word document is transferred in hexadecimal format and is therefore not converted.

Value file

Data is converted from SAP(ISO) code page format (non-Unicode systems) or from Unicode format (Unicode systems) to Microsoft code page format in the SAP system by EH&S NLS using the language key assigned to the data. A further conversion when transferring the value file to the front end could corrupt data. This situation is avoided by transferring data using the function module in BINARY mode.

EH&S Expert

In EH&S Expert secondary data determination, EH&S data is read using BAPI modules, processed on the Expert server and the results are written to the database. The Expert server is a self-registering server with a Microsoft Windows operating system. The EH&S Expert program is based on ASCII character sets. For this reason, data must be converted from the code page format used in the SAP system to Microsoft code page format when being read, and then back to the SAP code page format when being written.

The SAP system and the Expert server communicate with each other via RFC. In the standard conversion of data in RFC communication, the active code page on the application server determines the conversion. Furthermore, data cannot be converted on a record-by-record basis. Data is therefore converted by EH&S NLS from SAP(ISO) code page format (non-Unicode systems) or from Unicode format (Unicode systems) to Microsoft code page format in the SAP system (when being read) and back again (when being written) in the modules in accordance with the language key assigned to the data. Further conversion when transferring data in RFC communication could corrupt data. You can avoid this by transferring the corresponding language-dependent data (identifiers, user-defined texts, phrase texts) in hexadecimal format in RFC communication (see the Communication Using Remote Function Calls section in Conversions in Accordance with the SAP Standard ). Language-independent data (specification keys, material keys, and phrase keys, language-independent identifiers, and so on) is transferred in text format and thus converted if necessary by the RFC communication. This data can therefore only contain characters that can be displayed identically by all code pages in use in the SAP system and in the front-end operating systems. You should therefore only use the characters from the syntactical character set for language-independent data.

The rule editor is currently only available in English. If you log on in another language, the property tree and the phrase sets are shown in that language, provided the locale on your front end allows this language-dependent data to be displayed in the format of the correct Microsoft code page. The data for this is converted by the RFC communication if necessary.

If you want to read or write language-dependent data (an identifier or user-defined text in a certain language, for example) via sets of rules, when creating the set of rules you must make sure that the locale on your front end allows you to enter this language-dependent data in the format of the correct Microsoft code page. A conversion to the code page format used in the SAP system is not necessary here because the sets of rules are used only on the Expert server.

Dangerous Goods Documents

Dangerous goods documents are generated as SAPscript documents in the code page format used in the SAP system and then processed (printed, for example) via the SAP spool. The data is converted in accordance with the SAP standard. Dangerous goods documents can contain language-dependent data in the language of the SAPscript document and in other languages.

Electronic Data Interchange (EDI)

You can send dangerous goods data for a delivery or shipment in electronic form via Electronic Data Interchange (EDI) to a partner (forwarding agent or ship-to party, for example) (see EDI Processing for Dangerous Goods Data ). In a non-Unicode system, the intermediate documents (IDocs) used must generally contain only language-dependent data in languages that can be displayed using one SAP(ISO) code page because data is not converted on a record-by-record basis. The active code page on the application server in this case is the code page from which conversion is performed. To generate an IDoc with language-dependent data that requires a certain code page, you must therefore log on to the SAP System in a language of this code page.