SAP Language Configuration

The language environment that comes with the standard SAP installation includes German and English. To use SAP with other languages, you must perform a language import or supplement (use transaction SMLT). Changes in the language environment usually require changes in the codepage setup, which requires changes in some database tables and in the profile files.

Most language administration can be done with transactions SMLT and SP12, and reports RSCP0001, RSCP0004, RSCP0017, and RSCP0020.

The codepage environment is summarized in the report RSCP0001. Running the report will generate a screen with codepage parameters drawn from different places. A proper codepage setup usually requires that all codepage parameters are the same. This table show the output of the RSCP0001 report, and where its data is drawn from:


Report outputSource
1. Table TCPDB

Code page for transparent data in the database Entry in TCPDB table

Code page for non-transparent data in the
database (for example, pools and clusters)
Entry in TCP0C table (can change from online report above)
2. System profile parameters

Code page for transparent data in the database install/codepage/db/transp = 8300

Code page for non-transparent data in the
database (for example, pools and clusters)
install/codepage/db/non_transp = 8300

Code pages used by this application server install/codepage/appl_server = 8300

Code pages used by SAPTEMU saptemu/Codepage = 8300

For example, changes in the instance profile, for Traditional Chinese, might look like:

# Change Installed languages to include M (Traditional Chinese)
zcsa/installed_languages = DEM

# Change to desired language for logon screen
zcsa/system_language = E

# Add the following parameters for Chinese Character Set
install/codepage/appl_server = 8300
install/codepage/db/transp = 8300
install/codepage/db/non_transp = 8300
saptemu/Codepage = 8300
abap/locale_ctype = Chinese(Taiwan)_Taiwan.950
install/collate/active = 0
abap/locale_all/needed = 0
rscp/TCP0B = TCP0D
abap/set_text_env_at_new_mode =1
abap/import_char_conversion = 0

Transport System

The transport system moves data, objects, and customizations from one system to another system. Some general concepts about the transport system are:

  • The purpose of a transport is to make changes in one system take effect in another system. Some examples of situations that would require a transport are:

  • There are several types of transports. Some transports (such as those for company codes) can occur between clients within one system. Some transports (such as those for ABAP reports) are client-independent, and only occur between two systems.

  • In order to preserve data consistency, transports should only occur between systems running the same R/3 version. Transporting between different R/3 versions is possible but should be scrutinized first (especially when changing table data that affects program behavior) to make sure that no unprediced side effects occur. Transporting data dictionary objects between different versions is usually OK if they are all custom objects.

  • Before transports can be performed, the transport layers must be set up. Use transaction SE06 and read the related help files for setting up the transport layers.

  • The tp command has several unconditional modes that are useful with troublesome transports (from The SAP R/3 Handbook):
    • 0. Import from buffer without deleting and then use unconditional mode 1 to allow another import into the correct location.
    • 1. During export, ignore the incorrect status of the transport control file. During import, execute the request even if it has already been imported.
    • 2. During import, overwrite original objects. During export, do not expand selection with TADIR brackets.
    • 3. During import, overwrite system-specific objects.
    • 4. Import into system other than the target system that was defined in the transport request.
    • 6. During import, overwrite objects that are unconfirmed repairs.
    • 8. During import, ignore transport restrictions based on table classes.
    • 9. Import into system even if it is locked against this type of transport.

Cleaning the System

There are a number of jobs that should be scheduled to run on a daily, weekly, or monthly basis. You can run the jobs manually first, and devide how often they should run for the particular system, and then schedule them to run automatically. These jobs delete obsolete files such as print logs, job logs, and ABAP dumps.

  • RSBTCDEL: Deletes old batch jobs (sugg. older than 30 days)
  • RSPO0041: Deletes old print jobs (sugg. older than 7 days)
  • RSBDCREO: Reorganizes batch sessions and logs (sugg. older than 7 days)
  • RSSNAPDL: Deletes short dumps (sugg. default values)
  • RSBPSTDE: Deletes old job statistics (sugg. older than 30 days)
  • RSCOLL00: Statistics collector for performance monitor (this actually is not a cleanup job, but it should be scheduled hourly).
Additionally, there are some cleanup jobs that should be executed manually on a regular basis (usually once a month). These include:
  • sqldba: Use the Show/Cleanup commands.
  • tp: Use the check all and clearold all commands. Make sure to backup the transport directory first.
  • TemSe (temporary seuential data) database check: Transaction SP12. Execute the menu command TemSe database->Consistency Check and delete inconsistent data.

Authorizations in sap

Access control in SAP is composed of several concepts:

  1. Program code that calls an authorization check using the authority-check statement. This will look something like:
    authority-check object id field

  2. Authorization fields (corresponding to the in the above code) that define a scope of possible values. Examples of authorization fields would be:
    ACTIVITY: defines the type of activity the user is doing with the data. Possible values are 'DISPLAY', 'MODIFY', 'DELETE', etc.

    COMPANY_CODE: possible values are any single value, or any range of values, or any combination thereof (such as '0438' and '0600' thru '1100')

  3. Authorization objects that define a group of fields. For example, an authorization object called 'CO_MDATA', containing our above fields ACTIVITY and COMPANY_CODE, might used to control access to the company master data tables.

  4. Authorizations, each of which belong to exactly one authorization object, that define authorization values (within the scopes defined by the authorization objects) to be granted to users. Note that an authorization is different from an authorization object!! Extending our previous examples, we might have an authorization, belonging to the authorization object 'CO_MDATA', called 'CO_MDATA_ALL', that grants all access to all company master data. Then 'CO_MDATA_ALL' would have the following values:

    FIELDVALUE
    ACTIVITY*
    COMPANY_CODE*

  5. Profiles, each of which may contain several authorizations or profiles. A simple profile contains a group of authorizations. A composite profile contains a group of profiles (simple or composite). [Profiles can be conceptualized as forming the structure of a tree, in which end nodes (leaves) are authorizations, and all other nodes are profiles. Simple profiles are nodes whose children are all end nodes, and composite profiles are nodes, other than end nodes, who have no end nodes for children.]

    Profiles are designed to define set or one or more functions or positions. For example, a functional profile might define all the authorizations that are required for doing a goods receipt, or for making a payment in the AP module. A position profile, on the other hand, might define all of the authorizations that are granted to an accountant, or to a warehouse supervisor. Often, a position profile is a composite profile consisting of several functional profiles.

  6. Users, to whom profiles are assigned. A user is assigned one or more profiles by the system administrator. These profiles define all of the user's system authorizations.
It sounds complicated, but once you start working with authorizations, it's pretty easy.

Troubleshooting the Client Connection in sap

Checklist for troubleshooting the client connection (do in the listed order):

What to CheckHow to Check ItTips
Client IP configuration Make sure the client's IP configuration is properly set up. Find out from the systems administrator what your network settings should be, and check that your computer is configured properly if you are using Win95 or Win98, execute winipcfg from Start>>Run to see the IP configuration.
Network Connection without DNS Check that your computer can ping the SAP server (via IP address) using ping . If there is no reply, then probably your computer is configured incorrectly or there is a problem with the physical network connection of your computer. You can also try ping -w 10000 (the "-w 10000" option tells ping to wait 10 seconds before timing out). The problem might be in a faulty cable attached to your computer, or to a faulty outlet. Try using a network outlet and a network cable that has already been used by a client to successfully ping to the server's IP address.
Network Connection with DNS Check that your computer can ping the SAP server (via server name) using ping . If this step fails, but the previous step succeeded, then your computer is having problems finding the IP address of the server. If this step fails, there are several possible solutions:
  • Use the IP address instead of server name. This does not always work.
  • Add an entry for the server in the hosts file of the client machine.
  • Re-configure the DNS settings of the client and/or DNS server (verify with system administrator)
Connect to SAP with SAPIcon Use sapicon (Start>>Programs>>SAP>>SapIcon) to create a Start Menu shortcut to your SAP system. Use this shortcut to log onto SAP. If an error is encountered before the SAPGui progress bar fills, then there is a problem with the SAP client/server connection. Make sure the system ID (number) and SAPRouter string are correct in your SAPIcon settings. Check these values with the system administrator.
Connect to SAP with SAPLogon SAPLogon often messes up and won't connect when it should. If you cannot connect with SAPLogon, first verify the settings with your system administrator. Often SAPLogon problems go away after re-installation (run SAPSetup).
Connect to SAP: Other There are some other settings, such as routing, language code page, or special security, that may need to be changed before you can connect properly to SAP. Check with your system administrator.

Troubleshooting Server Startup

Checklist for troubleshooting SAP server startup:

What to CheckHow to Check ItTips
Network
  1. Make sure that your database is mounted and open.
  2. Use either Control Panel >> Services >> Oracle TNSListener, or the command lsnrctl (preferable) to start the listener service
  3. execute tnsping
  4. execute tp connect (from /usr/sap/trans/bin dir). If it doesn't work, do a tp go to show the environment variables.
Check listener.ora, tnsnames.ora, sqlnet.ora. Using lsnrctl gives more feedback, which is recorded in the file listener.log. Also see sqlnet.log
Database Use svrmgr or sqldba to check database startup and shutdown:
  1. connect internal
  2. shutdown
  3. startup
  1. add the immediate or abort options to shutdown if necessary
  2. divide startup into phases by starting startup nomount, then continuing with alter database mount and alter database open
  3. try alter database recover after a crash or power failure
Applications After successfully starting the database, start the application services (from NT, use the SAP Service Manager). From UNIX, use the startsap r3 script).
  • Check the logs in the directory usr/sap/SID/DVEBMGS/work
  • For NT, make sure the Oracle and SAP Services are started. Also check that the NT service RPC is started and working (test it by adding a new printer; if the first screen shows up, it should be OK).
SAP DB + Applications If both the DB and applications startup are fine when performed separately, try starting them together with the SAP Service Manager (NT) or startsap (UNIX). For NT, the startsap script can be found in usr/sap/SID/SYS/exe/run/strdbs.cmd

What do I do with all these transport files?

You can backup and delete old transport files every once in a while. Directories to be backed up and deleted in the /usr/sap/trans directory include: data, cofiles, log, olddata, EPS/out, EPS/log, and put/*. Note that SAP-delivered files can be deleted without backup; this includes directories such as put/exe, put/tools, and EPS/in.

The system says that I have to release all locked objects before I can perform a certain task. How do I find out what objects are locked?

Look in the tables TLOCK, E070, E071, and E070C. Sometimes, data in these tables can become orphaned, and may need to be processed manually (this is rarely necessary).

How do I delete all the old change request/task clutter from my system

f none of the tasks in the request have been released, the entire task/request can be deleted. Before deletion, however, you should check to make sure that the related objects are either changed back to the state they were in before the change that resulted in their being linked to the change request.

I have created local objects in both the target system and the source system. Now I want to organize development and create objects only in the DEV sy

They need to be reassigned to a development class before they can be transported. Create a development class (or use an existing one) and test to make sure its objects can be exported and imported successfully.

After using the override options, tp won't let me delete the request from the buffer.

Re-import the request, and then delete it from the buffer. If you cannot re-import (because, for instance, it is a very old request, and you do not know if re-importing will overwrite newer object), you can delete the entries directly from the file /usr/sap/trans/buffer/SID. This of course is not a "real" solution, but it does work (the "real" solution maybe would involve further editing of the E070, E071, or E070C tables, but I don't know).

How do I redo the system landscape?

This should be done by a consultant during installation, and should not be changed after installation. If you really want to do it yourself, release all locked objects, log onto client 000 with DDIC, go to SE06, choose the landscape you want (usually 2- or 3-system group, and press Create. Tell the system which SIDs do which roles, and the rest is set up automatically.

The system won't let me release a request because the the "target system is the same as the source system."

Click on the request, hit Shift+F6 (Change), and change the target system to a SID other than the source system. If your system won't let you change it to a SID that works, you are either trying to transport from the wrong system, or you need to redo your system landscape.

My change request is always local, but I want it to be transportable

The problem lies in either the workbench setup, the development class assigned to the objects you wish to transport, or both. Check the workbench setup with SE06->Display. Is your system set as a productive system? If so, change requests usually are not transportable. Try creating a new development class Z000, and choose any transport layer that the system allows you to choose (if your system does not allow you to choose any transport layers, then the workbench is not set up to allow any changes to be transportable). If it allows you to choose several layers, create on new class for each layer, and a new change request for each class. Then go to SE09 and check if your requests are transportable. If they are transportable, try to release one of the development classes (release the task and the request) and check that the files are created.

After releasing my change request, I can't find the transport files in the transport directory.

Make sure you released the request, as well as the tasks under it (the request is the part of the tree directly under the word "Transportable"). Check the action logs using SE09 for errors. If there were no errors, try re-transporting an object by changing it and creating a new request. Before releasing the task or request, go to SE09 and list the request. If the request is listed under "Local", it can NOT be transported to another system.

I want to dial-in to an SAP system and print from my computer. How do I do it?

If you are using MS Windows, you need to remove ALL network devices except the Dial-Up Adapter. Make sure that you can dial-in and log into the SAP system first. The server must be able to know your machine's IP address by its NAME. The easiest way to do this is to assign a static IP to the dial-up connection, and make sure that an entry is added to the application server's HOSTS file with that IP address bound to a host name (less than 8 characters long). After you have connected, start up SAPLPD. Make SURE that the IP address listed in the SAPLPD window is the same address as your dial-up adapter (from Win95/98, run winipcfg to see your dial-up adapter settings).

If possible, after you have dialed in to the network, ask the administrator to execute a
ping
where is the name of your computer AS DEFINED IN THE AFOREMENTIONED HOSTS FILE, and make sure that the app server can ping your dial-in machine successfully.

Configure a print device to use your computer as the SAPLPD host. The easiest way to do this is to find a device that works on some other computer running SAPLPD (on the LAN with the SAP server), copy all of its settings to a new device (SPAD->Printing Devices->Change), and change only the name of the host computer to the hostname defined in the aforementioned hosts file.

What do device formats (SPAD->Device Format) do?

They contain comands that are used to set features like font, font size, character set, orientation, margins, and vertical/horizontal spacing. If you are using SAPWIN, some common commands are:

  • \e%SAPWIN%: change to SAPWIN command set
  • \eWxxx;: change to character set xxx
  • \eFFONTNAME;: set to font FONTNAME
  • \ePP;: set to orientation P (Portrait)
  • \eSxxxX: set fontsize to zzz (where 200 = 10.0 pt, 240 = 12.0 pt)
  • \elx;: set vertical spacing to x lines per inch
  • \ecxx.y;: set horizontal spacing to xx.y (e.g. 12.0) chars per inch
  • \eMTxxx;: set top margin to xxx (where 567 = 1.0cm)
  • \eMLxxx;: set left margin to xxx (where 567 = 1.0cm)

I used SPAD->Device Print Control->Utilities->Copy Device Type to copy a device, now how do I delete it?

Go to SPAD->Device Print Control->Utilities->Delete. Don't use SPAD->Output Devices, because it can't delete the device if it has related data like print controls.

How do I copy a device plus its other settings (like print controls)?

Go to SPAD->Device Print Control->Utilities->Copy Device Type. Don't use the copy utility in SPAD->Output Devices, because it only copies basic info.

How do I change the codepage on a device?

Copy your DEVICE to ZDEVICE. Under the three listings for codepages, set the new codepage in listing 1. Leave the other two codepages as 1134 or whatever the codepage settings were for the original DEVICE.

Double-byte characters show up on the screen, but not when printed.

Create a new spool request, but don't print it. Check the output using the DISPLAY function in SP01. Do the characters show up properly? If they do, it may be a problem with SAPLPD or the device format. If not, SAPWIN or whatever device you are using may be misconfigured to the wrong code page, or it could be a problem in the SAPScript.

printer installation in sap

When I create a new printer (output device) in SAP and give a printout, it gives the output status as "WAIT" and when I double click on it, it says internal error printing. The spool request is being created but the spooler system is not processing the request. If I print the same spool request on any other previously configured printers then it prints without any problem. Only problem is when I configure new printer and try to print. Please guide me on this.

This could problem could be due to several things:
- Permissions on the printer itself. Check that the SAPService (SID) account has at least "print" permissions.
- The access method. Are you using Direct OS call (C) or Print locally via LP/LPR (L)?
- Is the spool server assigned correctly?

If you're using access method C then check that the OS is getting the spool requests from SAP.

Support packages and add-ons, why are they important?

1. Why do we require a support package and why it is not incorporated with the new version of SAP R/3?
2. What are add-ons and why do we require add-ons?
3. What is CRT and why we require it?
4. Who should decide which patch should be applied and when?

Support packages are a collection of fixes that have come out after the official release of an SAP software solution.

Notice, though, that some support packages are preloaded with the system. R/3 Enterprise SR1 is a good example of that.

An add-on is a component that can be loaded into an SAP software solution.
Examples: PI, PI_BASIS, SOA 1.0 (CGVMIC).
The CGVMIC is the Management of Internal Controls add-on, which is part of the Sarbanes & Oxley Compliance Tool. New SAP releases come with some add-on preloaded, too. PI (Plug-In) is a good example. It's used to exchange data with other applications such as BW and APO.

A CRT (Conflict Resolution Transport) is used when you have installed an Add-on and Support Packages that conflict with each other.

Who decides about what patch should be applied and when? That's a good question. The answer is: You, the customer.

What is the difference between Basis and the Application Server?

I have one question about the SAP R/3 architecture: What distinguishes BASIS from the Application Server? What is the role of Basis doing vs. the role of an Application Server? How are these two linked & finally are ABAP/4 programs interpreted or compiled or both? Please give me an insight into this.

Basis is part of the application server. But, think of Basis as the foundation of the SAP system. "Basis" has to do with the installation and configuration of components that make the system work. About the ABAP/4 language: programs are compiled to a program code that runs interpretively. The compilation process is referred as "generation".

How does one identify tcodes for user types?

I'm updating my users with their correct User Type for the User Audit. Is there any listing that identifies which tcodes are for which User Type? (Example: MM03-Informational, MM02-Operational)

As you know everything is in R/3 tables.
So, you can get a list of "users by type" by querying
table USR02.

The field 'USTYP' indicates the type of user
(Dialog, Background, CPIC).

Once you get a list of users by type, you can use
transaction SUIM to get the list of transactions
assigned to users.

After running SUIM, select Transactions->Transaction Lists
According to Selection With User, Profile or Object->Executable
for user.

You can create your own SQL script to get everything in a
pretty automated way.

Tip: declare cursors

To help you out, see the following SQL queries
(which you can then improve by declaring cursors).

-- This query lists all user accounts that are type Background
in client 400 select * from USR02 where USTYP='B' and MANDT='400'

-- This query lists all activity groups in client 400 assigned
to the user
JOHND
select * from AGR_USERS where MANDT='400' AND UNAME='JOHND'

-- This query lists all transactions assigned to
activity group 'AP_CLERK' in client 400
select TCODE from AGR_TCODES where MANDT='400' and AGR_NAME='AP_CLERK'

Does Basis administration involve the J2EE and ABAP engines?

I'm confused about what Basis administration entails. Does it involve the J2EE and ABAP engines? Please help me sort out my confusion.

Yes, Basis administration does involve the J2EE and ABAP engines, but not necessarily both at once. The most common is the administration of the Web Application Server (Web AS ABAP system). The J2EE applies to environments where Web development takes place.

As the Basis (technical) administrator you need to install, configure and maintain just about every aspect of the system architecture. For information about J2EE please visit this link: http://help.sap.com/saphelp_47x200/helpdata/en/13/a3bb3eff62847ae10000000a114084/frameset.htm.

How do I set up SAP Basis?

I am a new Basis administrator, and our systems are:
* SAP R/3 4.6C ( support patch: KA47, KB47, KH47 and KE84)
* Kernel 4.6D (Support Patch Level: 988)
* Solaris operating system is 64-bit, and Oracle database is 32-bit.
My questions:

1. How can I find out if our SAP kernel is 32-bit or 64-bit? I found only saposcol file is 64-bit, most of the files are 32-bit.
2. Do I have to download both DB-independent and DB-dependent files in order to upgrade our SAP kernel?
3. Do I have to download all files in DB-independent and DB-dependent into our system? Or just some files:
DB-independent: dw 1969, R3trans 1953, SAPEXE 1747, SAPEXE 1805, SAPEXE 1883, SAPEXE1913 and tp 1967. DB-dependent: SAPEXEDB, SAPEXEDB 1805, SAPEXEDB 1883, and SAPEXEDB 1913).




Run "disp+work -version". If you do NOT see anything saying, "compiled with 64-bit libraries," then your system is running the 32-bit R/3 kernel version.
Also, I encourage you to take a look at SAP Note 192822 titled, "FAQ: 32-bit/64-bit R/3-Oracle."
I am going to quote a section of this note for you:

"For all current releases, the patches are stored in the SAP service marketplace http://service.sap.com/swcenter_3pmain . After choosing Oracle, you have the option to go down the oracle 32-bit or oracle 64-bit path. Please note that in order to decide which of the two to choose the only thing tht matters is what bit version your Oracle software is. No matter whether your OS is 64-bit; as long as your Oracle is still 32-bit you would go down the Oracle 32-bit path."

2. Yes. You need both. Otherwise, the system will not work properly or won't even start at all.

3. You need to download the latest versions or at least one version before the last one.

In the example above, you should download these files: DW_1969, R3trans_1953, SAPEXE_1913, TP_1967 SAPEXEDB_1913 Then, you need to decompress each archive (.SAR) file using SAPCAR -XVF.

How do I set up user accesses?

I would like to know which users have access to particular transactions. Is this possible?

Yes. There are several ways.
I think the easiest one is for you to run transaction /nSUIM. In this transaction (User Information System), drill down to:

Infosystem authorization -User -Users by complex selection criteria -By transaction authorizations

Finally, enter the transaction in question and execute.

If you are running R/3 4.7, you can also run transaction /nPFCG.


topics