Skip to content

Posts from the ‘Basis’ Category

21
Mar
SAP Tricks

Search Transports by IMG

So picture the scenario: You see an article which is configured has been changed in the IMG, but you do not know which transport was responsible. You could search with SE10 via table names , but did you know there is an easier method?

If you are trying to locate a transport/s of a specific IMG activity or object it is very easy to do, without even using the table names, simply use transaction SE 10 with the following steps:

1) Select Transport and organizer tools (Shift +F6).

2) Select “Search for Objects in Requests/Tasks”.

3) Select 1/2 down the page for “IMG Activity” then select F4.

4) Now select the place in the IMG, the lowest drill down level possible, for which you wish to search for transports, which include those changed objects.

5) Then select the date range and Status “modifiable” or “Released” and execute.

13
Mar
SAP Tricks

Place your image in the right-hand side of the initial screen

You can place your image/company logo in the right-hand side of the initial screen, simply proceed as follows:

Transcation SMW0 – Create and import the picture/logo in the database with the transaction SMW0 and radio button “Binary Data For WebRFC applilcations” e.g. in “.GIF” format.

Transaction SM30 – with table SSM_CUST – Enter a record with the picture name in the key “START_IMAGE“.

If you wish to resize the image – Transaction SM30 – with table SSM_CUST – You can use values of ”YES” or “NO” with parameter key “RESIZE_IMAGE“.

If you wish to hide user specific picture display settings – Transaction SM30 – with table SSM_CUST – You can use values of ”YES” or “NO” with parameter key “HIDE_START_IMAGE“.

- I have heard that an HTML page may also be included, however have not tested it – If anyone has used an HTML page with hyperlinks please tell us as this would be great functionality to use.

22
Feb
SAP Tricks

Execute a Function Module without using SE37

A number of companies restrict the execution of function modules in quality, pre-prod and prod environments, for good reason. Therefore you may find you do not have access to the transaction code SE37.  Generally experienced developers may however have access to SE38.

So how do you execute or test a function module in a system/client but wish to get around the authorization issue? Simply use SE38 with program RSFUNCTIONBUILDER.

TIP – You can sometimes use the same technique by using SE93 with the problem transaction and using the program name however do not expect to be able to bypass all authorizations.

10
Feb
SAP Tricks

Deactivate SAP menu or All user menus

You may have a requirement to control your user navigation in SAP, either you may wish to create your own area menus, or you may wish to restrict a user specific menu from being created.

You can deactivate the menus for the entire system by creating or changing records in the global settings table SSM_CUST in the view maintenance transaction SM30.

  • To globally deactivate the SAP menu, enter a record “SAP_MENU_OFF” “YES” in upper-case letters.
  • To globally deactivate all user menus enter a record “ALL_USER_MENUS_OFF” “YES” in upper-case letters.

(Note the value “CUSTOMER_MENU_OFF” is obsolete and has no effect.)

For more information refer to OSS Note 380029.

–> Dont forget you can use transaction SSM2 to set which area menu in a system is to be used as the SAP menu.

30
Jan
SAP Tricks

Change SAP menu

Do you know you can set the default area menu that all users will go to when opening a new session, system wide. This is beneficial should you wish to create a specific area menu for your company. If no setting is made, the standard entry point (area menu S000) is used.

The SAP menu entry point is specified in the transaction SSM2.

22
Jan
SAP Tricks

Customer-specific text on the SAP Gui logon screen

Why change the SAP login Screen?

Some companies choose to modifiy the login screen to:

  • Give security notice warnings to potential unauthorised access.
  • List client numbers and their use within a system.

The history:

Before Release 4.6 the logon screen was modified through program SAPMSYST screen 0020. From release 4.6 onwards it is simply modified using transaction SE61.

Proceed as follows:

Go to Transaction SE61and select the document class ‘General Text’ (selection using F4 help).

Create a text with the name ZLOGIN_SCREEN_INFO in the system language. (If the text does not exist in the system language, no output is made.)

TIP – Check profile parameter “zcsa/system_language” in transaction RZ11 to determine your system language.

Title lines may be used, as well as very basic text formatting. You may also include standard SAP icons within the message. A tip is to change the editor from within SE61 (Goto–>change editor), this will clearly show you the available character and paragraph codes.

Note: Creating/changing this text requires a changeable system. Therefore, for production systems, SAP recommends maintaining the text in the upstream system and then transporting it. To do this, select a transportable (customer) development class when you create the text and save the active version prior to the export.
The transport is done via the transport object R3TR  DOCT  ZLOGIN_SCREEN_INFO

 

 

6
Jan
SAP Tricks

How to find the IP address of a SAP system

Scenario – You wish to connect to your SAP system from a remote connection, you require your SAP system IP address and port.

Option 1 – There are a few methods to discover the IP address of a system the easiest being to simply use the menu path:
System–>Status–> then press (SHIFT+F5) –> You will see your current systems IP address under the System Information.

Option 2 –  Alternativly you may use SM59 then select R/3 connections and double click on the system (RFC destination), then select the menu path:
System Information–>Target System –> You will see the target systems IP address under the “Network address”.

23
Nov
SAP Tricks

SGEN – The SAP Load Generator

The SAP Load Generator is executed through transacion code SGEN. SGEN may be required to be executed after a large upgrade or release of functionality in a system. If you don’t run SGEN and try to access specific objects the programs may start to be  compiled as they are individually accessed.

 

Quick Overview 

  • SGEN is used to “compile” ABAP programs.
  • It can be used to re-generate all the SAP programs after you change version of your SAP kernel, upgrade your SAP system or apply support packages.
  • It is best to execute it during a period of time with very low user activity.
  • SGEN is a client independent transaction.
  • SGEN can also be used to re-generate objects within a Transport Request from SGEN menu–>Regenerate Existing Load
  • If you want to regenerate loads, make sure that there is enough space available in the database. The space required can be several hundred MB. Generation over all components requires around 2 GB of free space.
  • The runtime depends on the type of hardware configuration and number of objects being generated. (It would not be uncommon for this to take 5 hours.)
  • You can limit the components to be generated, in order to reduce the runtime.
  • You can schedule RSGENINVLAS to automatically regenerate invalidated loads. (Note this report has no selection screen)

 Use

1. Select the generation task.

On the initial screen of transaction SGEN you can select the task that suits the purpose of the generation:

Generate all Objects of Selected Software Components

Choose this strategy if you want to generate the loads of all objects of certain software components. This may be the case, for example, if your system has been reinstalled. Here, the loads that are required for operation are not yet available and must be regenerated.

After selecting this task, the Selection of the Generation Set by Software Components screen appears. Here, you can restrict the amount of objects to be generated by selecting software components. Use the pushbuttons to select the software components you require.

Regenerate After an SAP System Upgrade

After an upgrade, you have to regenerate the ABAP object load in the system.

Regenerate the Objects of the Last Run

This task is suitable, for example, in the following cases:

    • The generation of objects of the generation set that was used in the previous run was terminated and you want to regenerate the remaining objects.
    • You want to regenerate all objects of the generation set that was used in the previous run.

After selecting this task, the following two options are available to you:

    • Restart
      The generation set that was used in the previous run in transaction SGEN is used. Only those objects that were not generated in the previous run or whose generation was terminated due to a system error, are generated.
    • Generation:
      All objects of the generation set used in the previous run of transaction SGEN are generated.

Regenerate Existing Loads

This task allows you to regenerate all ABAP loads and invalidated loads that exist in your system, and to generate loads for objects of a Support Package queue. You have the following options:

    • Generate all Objects with Existing Load
    • Generate Objects with Invalidated Load Only

An object load is invalidated if, since the time the load was generated, activated changes were made to the object or to objects used by this object, such as includes or tables. This may occur by importing a Support Package (SPAM) or a kernel patch.

If you want to generate loads for objects from a Support Package queue, start the task after importing the queue. The task determines the generation set using the invalidated loads in the system. Unlike the Generate objects of a transport request task, this task also takes into account ABAP loads that were invalidated by modified Dictionary objects.

Note: You can also periodically schedule an automatic regeneration of invalidated loads (every night, or at other times when the system load is low, for example). To do this, schedule the RSGENINVLAS report for the relevant time and period. The report then determines the invalidated loads for every type of host in your system at the specified time, and regenerates them.

Generate Objects from a Transport Request

You can use this generation task to regenerate the ABAP load for all objects in a transport request that can be generated. However, this task does not take into consideration ABAP loads that were invalidated by modified Dictionary objects. To include these loads, choose Regenerate Existing Loads -> Generate Objects with Invalidated Load Only.

After choosing this task, a screen appears that allows you to search for the name of the transport request using the selection button, or to specify it directly.

Generation of BSP Applications

This task enables you to generate BSP applications of selected software components.

Each Business Server Page is realized technically by an ABAP object class. When BSP applications are generated, these classes and their ABAP loads are generated. BSP applications are not included in the generation sets of the Generate All Objects of Selected Software Components, Regenerate After an SAP System Upgrade and Regenerate All Existing Loads tasks, since they are optional. You can use this task to deal with these.

After selecting this task, the Selection of the Generation Set by Software Components screen appears. Here you can restrict the amount of BSP applications to be generated by selecting software components. Use the pushbuttons to select the software components you require.

If you quit the generation of BSP applications before it has finished, or if the system terminates generation, the Regenerate the Objects of the Last Run task allows you to resume the generation.

 

2. Select the servers for parallel generation.

The generation is based on a method where the generation set is divided into small subsets that are processed by parallel processes. Depending on resources, available servers are included in the parallel processing, whereby multiple parallel processes run on one server.

From the Selection of Servers for Parallel Generation screen, you can select the servers that are to be used in the parallel processing. Note that loads depend on the machine type (MT) of a host. This means that it only makes sense to parallel process the generation set of servers of the same machine type.

The default selection uses the server that you are logged on to. It corresponds to your logon server and all servers on your system that have the same machine type. If you want to use the default selection, choose Continue.

If you want to exclude individual servers from the generation, or if you want to generate the load for a particular machine type that is different to that of the logon server, then use the pushbutton to select the corresponding servers and choose Continue.

Note: The parallel servers are depicted via the logon groups in transaction RZ12. For transaction SGEN, logon group ‘parallel_generators‘ is created. Do not use this group for your own purposes, as transaction SGEN uses and continually redefines this group.

After you have selected the servers, the system starts to define the generation set dynamically, and stores it in the database (database table GENSETC). This can take several minutes.

Job Monitor Pushbutton

This function allows you to call the job process control directly, without redefining the generation set. By choosing Job Monitor -> Job Overview ->  Spool or Job Log, you can display logs from previous generation jobs.

26
Sep
SAP Tricks

Transport of Copies

Issue: Imagine you create and release a few transports before setting up the target system and Landscape. Because of this, the transports can be released without target clients. How do you fix this problem?

Fix: Fix is done using Transport of Copies Method:

  1. Execute transaction SE10
  2. Select the create icon.
  3. Select “Transport of Copies”
  4. Enter short description and save, this will create your transport number.
  5. Now follow the menu path to place your objects into this transport copy:
    1. Request Type–>Object List–>Include Objects
  6. Select “Object List from Request” and enter your old transport number.

Thats it! Your new transport is a copy of your old transport with all associated objects.

———-

Post contributed by: Sundar Raghuraman

Contact: sundar.raghuraman@gmail.com

6
Sep
SAP Tricks

So which system is connected?

I work on a large landscape of 110 SAP systems (not clients). Every now and then someone asks if a specific system is connected to another, there is no way I can remember which systems are connected. Depending on what system they are referring to one may be able to execute a system specific transaction. However as a dependable alternative one may simply use SM59 and view the connected systems.

Here you can view the following connections:

  • R/3 connections
  • HTTP Connections to R/3 System
  • Internal connections
  • Logical destinations
  • TCP/IP connections
  • Connections via ABAP/4 driver

Tip – Depending on your settings (If the logon data is saved on the Logon/security tab) you may even be able to login to a connected system remotely from within SM59, simply select the R/3 connection and selecting “Remote logon” button.

 

12
Aug
SAP Tricks

Spool – Output

The output controller – Spool Request Selection Screen can be used in transaction code SP01.

This will give you spool requests and output requests by system.

If you wish to limit a user access to their own individual spool requests you can give them access to SP02.

If you wish to completely control the spool and output functionality of a system you can use the administration transaction SPAD (or additionally transaction SPAT.)

When working with output/messages you can access the objects message status in table NAST.

If you are looking for a simple single table overview of all output/message condition types which have a condition record you can use table NACH. (This will give you the Condition Type+Access Sequence Table+Application+Partner function and a variable key which will show you the key fields for the access sequence table.)

17
May
SAP Tricks

System Performance Analysis Transaction Codes

Here are some transaction codes I find useful when checking for performance related issues in a system:

Depending on the issue, I start with ST05 with all trace options (SQL, Enqueue, RFC, Buffer) active with a very small time frame where data is captured so as not to have more than +-2000 records.

I then compare the results with an identical capture of the same process and time frame using standard SAP.

With both recordings I activate the extended results, which gives times for each execution. Permitting one to easily see the time differences between the executions. These results should point you in the right direction.

Here are the transaction codes I find useful in this analysis:

  • SM21 – System Log
  • ST03N - R3 Workload statistics
  • ST03G - Global System Workload Analysis
  • STAD - Statistical Records
  • STATTRACE - Functional Trace
  • ST05 - Performance Trace (SQL, Enqueue, RFC, Buffer)
  • SLIN - ABAP Program Syntax Check
  • SE30 - ABAP Runtime Analysis
12
May
SAP Tricks

Send a SAP message via a dialog box in the GUI

This one has been a personal trick of mine for a few years. Use it with caution and hopefully all you system administrators have restricted this functionality (Function Module testing) to responsible users.

There are a number of requirements where you may wish to send a message to a specific user or all users in a system. Yes there are alternative solutions in doing this, but here is a simple and powerful method.

You can send a message which will be pushed to the user on the users desktop via a dialog box through the SAP GUI.  To do this  simply use SE37 and the Function Module “TH_POPUP”.

Beware what values you use in the import parameters.

If you do not use a user ID, the system will send the message to everyone in the system.

If you use a user ID the system will send the message to that user only.  The user must be logged into the system to receive the message.

An example of settings you can use:

  • CLIENT                          211   (Your client)
  • USER                            S1010631     (Your user ID)
  • MESSAGE                         PLEASE RELEASE SALES DOC 1234567 URGENTLY    (Any Message)
  • MESSAGE_LEN                     0
  • CUT_BLANKS

 

2
May
SAP Tricks

Background Job Variants

You may know how to check the parameter values of a variant in SM37 by checking the variant name associated with the program being executed. But what do you do if the variant was created ad-hoc and has not been saved. That is it was a temporary variant with a name similar to SAP&0001.

You can see the values used in temporary variants by doing the following:

From the job overview within SM37:

  1. Select the Job that was run/is running.
  2. Select the “Step” button (Ctrl+Shift+F9)
  3. Select the program name.
  4. Then select the menu path Goto–>Variant

Also – A tip is changing the defaulted Job Overview screen Layout to add the “Executing server” to the display. Do this from within the Job Overview of SM37 by selecting (Ctrl+F7).

26
Apr
SAP Tricks

SM12 – Lock Entries Tips

If you check SM12 you may find some lock entries – this is not a problem. Locked entries are required in standard SAP processing. In most instances the entry will remain in SM12 for a few seconds milliseconds, however they could remain in SM12 for a lot longer depending on the logical unit of work.

Factors which can impact the entry in SM12:

  • Sizing and performance of the enqueue server.
  • Sizing and performance of the application server/number of available processing sessions. (indirectly related)
  • Program logic being executed on the application server.

What you may not know is that there is a hidden menu path for SM12 analysis. To activate this menu path you can do the following:

Run SM12, then enter OK code “test”. You will now see the top menu path has included a new Menu Option labelled “Error Handling”.

This menu option has many parameters and test functions which you can use to analyse the enqueue and dequeue processes.

If you require advice on how to use this new functionality you can refer to OSS note 5424 which is the SM12 FAQ! Success!

14
Apr
SAPTricks

Work Faster in the IMG – Restrict Selections

It is possible you may be in a configuration screen which either has too many entries from which you wish to select to analyse, or you may need to select specific entries based upon values  which are not part of the key of the table/configuration screen.

You could navigate to the table and do checks in SE16N or SQVI etc. Or…… the next time you are in a configuration node of the IMG, try the following tip:………

Select the following from the Top Menu Navigation Bar: Selection–>By Contents

Then select the Fields you require to filter the configuration entries.

 

11
Apr
SAP Tricks

External Send – email Output and Transaction SCOT

Question: How does the external sending of email for output messages for example standard Order Confirmation occur with SAPconnect?

Answer: The format of the output must be adjusted to be used by the SMTP email server as used in SAPconnect (transaction SCOT). Here is a quick guideline for email outbound processing only:

1) You have to adjust the profile of the SAP Web Application Server if you want to use the SMTP function. The SAPconnect send job can only be scheduled for servers on which SMTP has been activated. For this reason, you must activate SMTP for all of the SAP system’s application servers. – Use transaction RZ10.

2) You maintain the SAPconnect settings for the SMTP node. For more information on SCOT see standard SAP help:  Here

3) Next the original format of your standard output,for example order confirmation output could be in SCR (Standard SAPscript). In this case the SD messages are transferred to SAPconnect in SCR format (SAPscript) these are then converted to OTF format and may be converted to PDF format in accordance with the conversion rules in the IMG.

The configuration for the system is done in “SAP Customizing Implementation Guide–> SAPNetWeaver –>SAP Web Application Server -> Basis Services -> Communication Interfaces -> SAPconnect Client-Wide Settings -> General Settings -> Conversion Rules”.

4) Lastly the emails from the SAP spplication are stored in a queue. A background job needs to be created to collect the emails from the queue and process/send them. You can schedul ethe job in SAPconnect with SCOT as follows:

  • From the user menu in SCOT select View–>Jobs
  • Select Create
  • Enter a job name and confirm it.
  • Select the variant SAP&CONNECTALL Sending requests
  • Schedule the job to run periodically for example every 10 mins.

For more information, refer to the online documentation for SAPconnect (component BC-SRV-COM).

4
Apr
SAP Tricks

Efficiency in SAP with Parameters

Using SAP as a consultant or super user you may find yourself always entering the same data over and over again. You may save time by having the system automatically populate these fields. Some common culprits are:

  • Sales organisation
  • Distribution Channel
  • Division

You can set the value automatically for any field that has a parameter by settings its value in your user profile. To do this first locate the fields parameter, by selecting the field and then selecting F1 (Help) followed by F9 (Technical Information).

Some common parameters are:

  • Sales organisation VBAK-VKORG – parameter = VKO
  • Distribution Channel VBAK-VTWEG - parameter = VTW
  • Division VBAK-SPART - parameter = SPA

Proceed to your user profile, either with SU3 or SU01 and enter the Parameter ID and Parameter Value  in the “Parameter” tab.

Now each time you access that field the value will automatically be defaulted.

21
Mar
SAP Tricks

Default SAP User SAP*

The User SAP* is a “hard-coded” user that does not have a user master record in the delivery system, it is not subject to any authorization checks (and therefore has all authorizations), and has an unchangeable default password.

The User SAP* is not treated like a “normal” user until a user master record is created for it.  Once the user master record exists, SAP* is subject to authorization checks and can be assigned a different password.

In most systems people assign the user all authorizations.

Some default passwords used for SAP* are:

06071992

PASS

But in most cases these should have already been changed in any system/client you are working in. However as the password is system and client specific it could be that the password change has not been carried out in a specific client, for example the SAP Earlywatch client of “066″. So if you feel like experimenting you could try access client “066″ with user “SAP*” and password “PASS “.

17
Mar
SAP Tricks

2 Click Hard Copy Screen print

Did you know that you can generate an instant Hard Copy printout of any SAP screen by simply selecting:

Customizing of Local Layout (Rainbow Icon top right  of navigation bar) (Alt+F12)

Followed by “Hard Copy”.

This is a simple method of capturing information on your screen, without needing to open applications and configure special settings.

14
Feb
SAP Tricks

Compare ABAP objects across systems

So you know how to use OY19 to see and compare cross system customising objects and you know how to use SE39 to see and compare an ABAP program across systems. But do you know how to search and compare all ABAP objects across a system?

For example you have made a system copy and want to compare all Z* and Y* programs?

You can do this with Transaction Code – SREPO - Repository Comparison.

1) Select the RFC destination (you can use SM59 to do this).

2) Select “Customer Objects and Modified SAP objects”

Then follow the wizard.

7
Feb
SAP Tricks

How to change Servers on a System

So you login to server X on a system and you would like to move to server Y on the same system without logging off and back on again – How do you do it?

You can do this a number of ways – the method I follow is:

  1. Go to transaction SM51. (see server overview)
  2. Double click on a server to see the processes.
  3. Then open a new session, you will now be on the new server you double clicked.

Be careful NOT to use the back arrow from the work process overview or else you will move back to the old server.

11
Jan
SAP Tricks

Support Packages

To check the support packages in the System we can go to the menu and select System –> Status then select the component information (magnifying glass) under Sap System Data.

One will then see the following:

  • Software Component
  • Release
  • Level
  • Highest Support
  • Short description

But did you know that the information is depicted in a transaction code SPAM – the Support Package Manager.

Select “All Support Packages” then button “Display”.

If you open the Package header for example: SAP_APPL      -   Logistics and Accounting

You will see the Support packages and their Numbers.

6
Jan
SAP Tricks

Set System Time Out

Question - Is it possible to set a user specific Time Out?

Answer - The system time out is set at the system level not user level, by maintaining the parameter value in transaction RZ10 for a specific profile and version under “Extended Maintenance”.
Maintain the parameter – rdisp/gui_auto_logout with a value that is in seconds, for example 600 = 10 minutes.

Read more »

14
Dec
SAP Tricks

Quick and Easy Tut – EDI – Pricing Condition Records

Introduction

So you know that SAP can send pricing condition records from your SAP system to another system using ALE/EDI. An investigation of transaction WE60 can show you the structure of the Basic Type “COND_A03″.

But what is the easiest method of sending the initial data load from SAP to another system for pricing condition records, or how do you use it? Read more »

10
Dec
SAP Tricks

Great SAP Tip – Specify Default Directory

Did you know that you can specify the default download location for files?

No longer do you need to download to or navigate away from the sapworkdir whenever you wish to download files from SAP. Simply use transaction SO21.

9
Dec
SAP Tricks

Number Range Buffering

Basic Introduction to NRIV

The document number is assigned in chronologically ascending order based on the table NRIV. For this, the table NRIV is locked until the application (LUW) is terminated by either a COMMIT WORK or ROLLBACK (OSS Note 639754). Another application cannot take a document number during this time. Read more »

23
Nov
SAP Tricks

System Workload Transaction and User Analyses

If you have access to transaction ST03 or ST03N in your system you can access some very important information.

For example do you want to know if a transaction code is used in your SAP instance? Read more »

4
Nov
SAP Tricks

Check Background Jobs

How do I check all background jobs running at a particular time frame? Read more »

11
Oct
LEARN_LOGO-s

Understanding the Application Server

ERP/ R/3 system architecture consists of amongst others:

  • Presentation Server
  • Application Server
  • Database Server
  1. You can display a list of application servers that have registered themselves with the SAP message server by executing Transaction SM51, or by choosing Administration –> System Administration –>Monitor –>System Monitoring –>Servers.

The application server may have the following Message Types: Services provided by the application server This contains the configured SAP Work Process types (Dialog, update (Update and Upd2), Enqueue, Batch and Spool) as well as the following services:

Read more »