SSL Configuration in SAP ABAP AS and JAVA AS – Step-by-step procedure

Applies to:
All releases of SAP ECC and NetWeaver systems except PI as of release 7.1x. We have a separate procedure for PI systems as of release 7.10.
Summary
This document will guide you to setup Secure Socket Layer (SSL) configuration, nothing but enabling secure data transfer (through HTTPS) between server and client in both ABAP AS and JAVA AS.

Benefits

It allows the exchange of encrypted information through SAP systems Secure Socket Layer (SSL). SSL use asymmetric method for interchange the secret key, this method use a private key and public key. The private key is in server side and the public key is used by client for encrypt or decrypt the messages.
HTTPS redirect configuration is not covered in this document.

Pre-requisites

  1. Update the instance profile with the following parameters.
Parameter Name
Value
ssf/nameSAPSECULIB
ssl/ssl_lib/usr/sap/<SID>/SYS/exe/run/libsapcrypto.o
sec/libsapsecu/usr/sap/<SID>/SYS/exe/run/libsapcrypto.o
ssf/ssfapi_lib/usr/sap/<SID>/SYS/exe/run/libsapcrypto.o
icm/HTTPS/verify_client0 (zero)
icm/server_port_<x>PROT=HTTPS,PORT=84$$,TIMEOUT=900,PROCTIMEOUT=600

Note: PORT value is a unique number. It means HTTPS, SMTP and HTTP port numbers should not be same.
2. Create directory sec under /usr/sap/<SID>/<Instance> and update SAP environment variable .sapenv_<hostname>.sh (or .sapenv_<hostname>.sh) with the following value with user SIDADM.
SECUDIR=/usr/sap/<SID>/<Instance>/sec; export SECUDIR


Installation in ABAP Application Server


I. Create Private key and Certificates and generate CSR certificate
     1. Execute transaction STRUSTSSO2 and right click on “SSL server Standard” and click on “Create”.
   Provide the details like DN, Algorithm and Key Length as shown below:
  
    Note: CN=<Fully Qualified Name>, O=<Ogranisation>, L=<City>, SP=<State>, C=<Country>
Click Continue.
 
  2. Now you should be able to see the instance in GREEN as shown below.
      3. Now we need to create a CSR request for CA.

4. Click on the first arrow mark icon under Own Certificate --> Owner. Save the file with .csr extension.
     
    
     5. We have to send this file to Certificate Authority (CA) to get it signed.
II. Import digitally signed entrust certificates into ABAP AS.
    1. Go to STRUSTSSO2 and open SSL Server Standard and double click on instance.
    2. Under Owner click on ‘Import Cert. Response
      
    3. Once it is imported, Add to Certificate List and SAVE.
    4. Now you should be able to see the screen like below
       
     5. Go to SMICM and restart ICM
        Administration --> ICM --> Exit Hard --> Global
       
     6. Go to SMICM again and make sure HTTPS service is ACTIVE as shown below.
       
       
     7. Verify SSL configuration as follows.
        Open https://<fullyqualifiedname>:<HTTPS_Port> and click on LOCK icon at the bottom of the browser.
        The certificate should show Issued by: <Your Certificate Authority Name>
Installation in JAVA Application Server
I. Create Private key and Certificates and generate CSR certificate
     1. Open Visual Administration. Go to serveràservicesà Keystorageàservice_ssl
Note: Existing (or default) ssl-credentials which got generated during SAP installation may not have correct CN and DN values. In this case, we need to rename the existing ssl-credentials to old and create new ssl-credentials with CN and DN values.
     Click on create button at the bottom of the screen
    
     2. Click on Generate CSR Request button at the bottom of the page.
    
     3. Send the CSR certificate to CA to generate digitally signed Entrust certificates.
III. Import digitally signed entrust certificates into ABAP AS.
      1. Visual Admin --> server<x>-->services--> service_ssl àssl-credentials
Click on Import CSR Response at the right bottom, and then it prompts for the certificate name.
     2. Once CSR response is imported, you should see ‘Issuer DN’ is signed by your Certificate Authority.
    
     3. Now we need to restart SSL Provider service to take effect of changes we made.
    
     4. Verify SSL configuration as follows.
     Open https://<fullyqualifiedname>:5<inst num>01 and click on LOCK icon at the bottom of the browser.
     The certificate should show Issued by: <Your Certificate Authority Name>
Related Content
http://help.sap.com/saphelp_nw70/helpdata/en/3a/7cddde33ff05cae10000000a128c20/frameset.htm
http://help.sap.com/saphelp_nw70/helpdata/en/52/31683ab81fd846e10000000a11402f/content.htm
http://help.sap.com/saphelp_nw70/helpdata/en/5b/2e423c0bcc4a7ee10000000a114084/frameset.htm





Output Devices in the SAP Spool System

Print Architecture and Printing Methods

 All hardware and software components involved in printing are combined in the print architecture.

Depending on the order of these individual components, an architecture that fulfills different purposes and requires a specific print method, such as those listed below, is produced:
  • Local printing
  • Remote printing (network)
  • Front-End Printing (SAP GUI for Windows)
  • Front-End Printing (SAP GUI for HTML)

Structure

The figure below shows the individual components of the print architecture that are required to print from the SAP System:

 This graphic is explained in the accompanying text.

 

The individual components interact as follows:
  1. After the user triggers the print process, the print requests are sent to the spool server, which contains the dialog and spool work processes required for the processing.
  2. A dialog work process (D-WP) of the spool server forwards the spool data to the spool database for temporary storage.
  3. When the data is explicitly sent to an output device, an output request is generated from the spool request.
  4. This is forwarded to the spool work process (S-WP).
    The spool work process formats the output request data. This converts an internal data stream of the SAP Systems to a data stream that the output device understands.
  5. After formatting, the spool work process forwards the print request to the host spool system (operating system spooler). The host spool system has the following tasks:
    • Wait queue management
    • Transferring the data to the output device
    Depending on the situation of the host spool system, one of the following print types is used:
    • Local: The print requests are forwarded to the printer through a local network. The host spool system and the spool work process are on the same host.
      It is irrelevant whether the output device is directly connected to the server, or whether it is defined using a remote print server.
    • Remove: The print requests are forwarded from the spool work process to the printer through a remote network. The host spool system is on a different host to the spool work process. This remote host is called the target host.
    For information about the optimal planning of your print architecture, see Planning the SAP Print Architecture.
Every architecture requires a specific print method that is explained in the corresponding sections:

 

Output Devices in the SAP Spool System

 A target device must be specified for the output for every document to be printed in the SAP system. As the document can be output using not only printers, but also archiving devices, these devices are called Output Devices in the SAP system.
In the SAP system, output devices are the logical representations of the real output devices.

You must create a device definition in the SAP system for every output device. This definition contains all the important data for addressing the device; otherwise the device cannot be correctly addressed. This data includes, for example:

Oracle Database V$ Views

This covers Some Oracle Database V$ Views  -- Good for SAP Environment

v$version
Use this view to find out what version you actually work on:select * from v$version;
BANNER
----------------------------------------------------------------
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
PL/SQL Release 8.1.7.0.0 - Production
CORE 8.1.7.0.0 Production
TNS for 32-bit Windows: Version 8.1.7.0.0 - Production
NLSRTL Version 3.4.1.0.0 - Production


v$archive_dest
Shows all archived redo log destinations. Use this view to find out to which place archived redo logs are copied: select dest_id,destination from v$archive_dest
These values correspond to the init parameterlog_archive_dest_n.

v$archive_dest_status
This view allows to find status and errors for each of the defined
v$archived_log
Displays successfully archived redo logs.
shows received logs on a primary standby database.

v$archive_gap
Lists sequence numbers of the archived los that are known to be missing for each thread on a (physical?) standby database (highest gap only).

v$archive_processes
This view provides information on the archive processes. It can be used to find out if an ARCH process is active or not.

v$controlfile
Displays the location and status of each controlfile in thedatabase.

v$controlfile_record_section
See sections in a controlfile.

v$bh
This dynamic view has an entry for each block in the database buffer cache.
The column status can be:
• free
This block is not in use
• xcur
Block held exclusively by this instance
• scur
Block held in cache, shared with other instance
• cr
Block for consistent read
• read
Block being read from disk
• mrec
Block in media recovery mode
• irec
Block in instance (crash) recovery mode

v$buffer_pool
See buffer pools.
This view's column id can be joined with x$kcbwds.indx
See also x$kcbwbpd

v$buffer_pool_statistics
v$database
This view lets you access database information. For example, you can check (using log_mode) whether or not the database is in archivelog mode:
ADPDB>select log_mode from v$database;

LOG_MODE
------------
ARCHIVELOG
checkpoint_change# records the SCN of the last checkpoint.
switchover_status: can be used to determine if it is possible to perform a switchover operation Only available for physical standby databases. Can be:
• NOT ALLOWED,
• SESSIONS ACTIVE,
• SWITCHOVER PENDING,
• SWITCHOVER LATENT,
• TO PRIMARY,
• TO STANDBY or
• RECOVERY NEEDED.
See protection modes in data guard for the columnsprotection_mode and protection_level.
database_role determines if a database is a primary or alogical standby database or a physical standby database.
force_logging tells if a database is in force logging mode or not.

v$datafile
This view contains an entry for each datafile of the database.
This view can be used to find out which datafiles must be backed up in a cold backup: select name from v$datafile

v$datafile_header
Various information about datafile headers. For example, if you're interested in when the a file's last checkpoint was:
select name, checkpoint_change#, to_char(checkpoint_time, 'DD.MM.YYYY HH24:MI:SS') from v$datafile_header

v$dataguard_status
Shows error messages in a data guard environment.

v$db_object_cache
This view displays objects that are cached (pinned) in thelibrary cache. See also dbms_shared_pool.

v$enqueue_stat
If there are a lot of enqueue waits "in" v$session_event orv$system_event, v$enqueue_stat allows to break down those enqueues in enqueue classes. For each such class, the gets,waits, failures and the cumulative sum of waited time can be found.
For a list of enqueue types, refer to enqueue types in x$ksqst.
The column cum_wait_time stems from x$ksqst.ksqstwtim.

v$eventmetric
This view is new in Oracle 10g and allows improved timing and statistics.

v$event_name
Contains a record for each wait event.

v$filemetric
This view is new in Oracle 10g and allows improved timing and statistics.

v$filestat

v$fixed_table
This view contains the name of all V$, X$ and GV$ tables. In oracle 8.1.7, there are 187 different v$ tables:
ORA81> select count(*) from v where name like 'V$%';

COUNT(*)
----------
185
If you want to know, which x$ tables there are, do a select name from v$fixed_table where name like 'X$%';

v$fixed_view_definition
Contains the defintion in its attribute view_definition for the views of v$fixed_table.
v$flash_recovery_area_usage
See also v$recovery_file_dest

v$instance
instance_role can be used to determine if an instance is an active instance (=primary instance) or a secondary instance (in a standby environment.
dbms_utility.db_version can be used to retrieve the same version as the field version in v$instance.

v$instance_recovery
Can, for example, be used to determine the optimal size of redo logs.

v$latch
Oracle collects statistics for the activity of all latches and stores these in this view. Gets is the number of successful willing to wait requests for a latch. Similarly, misses is how many times a process didn't successfully request a latch. Spin_gets: number of times a latch is obtained after spinning at least once. Sleepsindicates how many times a willing to wait process slept.Waiters_woken tells how often a sleeping process was 'disturbed'.

v$librarycache

v$lock
This view stores all information relating to locks in the database. The interesting columns in this view are sid(identifying the session holding or aquiring the lock), type, and the lmode/request pair.
Important possible values of type are TM (DML or Table Lock),TX (Transaction), MR (Media Recovery), ST (Disk Space Transaction).
Exactly one of the lmode, request pair is either 0 or 1 while the other indicates the lock mode. If lmode is not 0 or 1, then the session has aquired the lock, while it waits to aquire the lock if request is other than 0 or 1. The possible values forlmode and request are:
• 1: null,
• 2: Row Share (SS),
• 3: Row Exclusive (SX),
• 4: Share (S),
• 5: Share Row Exclusive (SSX) and
• 6: Exclusive(X)
If the lock type is TM, the column id1 is the object's id and the name of the object can then be queried like so: select name from sys.obj$ where obj# = id1
A lock type of JI indicates that a materialized view is being refreshed.
A more detailed example can be found here
See also x$kgllk.

v$locked_object
Who is locking what:
select
oracle_username
os_user_name,
locked_mode,
object_name,
object_type
from
v$locked_object a,dba_objects b
where
a.object_id = b.object_id

v$log
Contains information on each log group. See also online redo log.
Comman values for the status column are:
• UNUSED:
Oracle8 has never written to this group,
• CURRENT:
This is the active group.
• ACTIVE:
Oracle has written to this log before, it is needed for instance recovery.
The active log is the one with the current log sequence number
• INACTIVE:
Oracle has written to this log before; it is not needed for instance recovery.

v$logfile
This view can be queried to find the filenames, group numbersand states of redo log files. For example, to find all files of group 2, use select member from v$logfile where group# = 2

v$logmnr_contents
See dbms_logmnr.

v$log_history
This view contains an entry for each Log Switch that occured. The column first_time indicates the time of the first entry???
On physical standby databases, this view shows applied logs.

v$logstdby
Can be used to verify that archived redo logs are being applied to standby databases.

v$managed_standby
Monitors the progress of a standby database in managed recovery mode, more exactly, it displays information about the activities of log transport service and log apply service.
see here
select process, pid, status, client_process, group# "Stdby Redo Log Gr", block# from v$managed_standby;
client_process: the corresponding primary database process. If lgwr log transmission is chosen, one row should have client_process=LGWR. If ARCH transmission is chosen, one row should have ARCH.

v$mystat
This view records statistical data about the session that accesses it. Join statistic# with v$statname.

v$sesstat is also similar to v$sysstat, except that v$sysstat accumulates the statistics as soon as a session terminates.
See also recording statistics with oracle.

v$nls_parameters
The NLS parameters that are in effect for the session quering this view. The view NLS_SESSION_PARAMETERS is based on v$nls_parameters. See also v$nls_valid_values.
v$nls_valid_values
This view can be used to obtain valid values for NLS parameters such as
• supported character sets
• languages
• territories
• sorting orders

v$object_usage
v$object_usage gathers information about used (accessed) indexes when an index is monitored using alter index ... monitoring usage.
See On verifying if an index is used.
v$open_cursor

v$option
This view lets you see which options are installed in the server.
See also dba_registry.

v$parameter
Lists the name-value pairs of the init.ora file (or their default, if not in the init.ora). For example, if you need to know what your block size is:
select value from v$parameter where name = 'db_block_size'
The columns isses_modifiable and issys_modifiable can be used to determine if a parameter can be changed at session level using alter session or at system level using alter system. A parameter is modifiable at session level if isses_modifiable = 'TRUE'. A parameter is modifiable at system level if issys_modifiable = 'DEFERRED' or issys_modifiable = 'IMMEDIATE'. However, if a parameter is changed at system level if issys_modifiable = 'DEFERRED' it only affects sessions that are started after chaning the parameter. Additionally, thealter system set ... deferred option must be used.
There are also some undocumented (or hidden?) parameters.

v$pgastat
See also pga.
Thanks to Oleg who notified me of a typo (v$pgastat instead of v$pga_stat).

v$process
Join v$process's addr with v$session paddr.
The column traceid is equal to the value used in alter session set .

v$pwfile_users
Lists all users who have been granted sysdba or sysoperprivileges. See adding user to a password file.

v$recover_file
Useful to find out which datafiles need recovery.
Join with v$datafile to see filenames instead of numbers....

v$recovery_file_dest
See also v$flash_recovery_area_usage

v$reserved_words
This view can be consulted if one is in doubt wheter a particular word is a reserved word (for example when writing PL/SQL Code or assigning a password to a user).
Until 10g, the view only consist of two columns: keyword andlength. From 10gR2 onwards, it has also the columnsreserved, res_type, res_attr, res_semi and duplicate. Each of these new columns can only be either 'Y' (meaning: yes) or 'N' (meaning: no)
See also reserved words in SQL and reserved words in PL/SQL.
v$resource_limit

v$rollname
The names of online rollback segments. This view's usn field can be joined with v$rollstat's usn field and with v$transaction's xidusn field.
v$transaction can be used to track undo by session.

v$rollstat
Statistics for rollback segements

v$session
The column audsid can be joined withsys_context('userenv','SESSIONID') to find out which session is the "own one". Alternatively, dbms_support.mysid can be used.
The fields module and action of v$session can be set withdbms_application_info.set_module. (See v$session_longopsfor an example.
The field client_info can be set withdbms_application_info.set_client_info
Join sid with v$sesstat if you want to get some statistical information for a particular sesssion.
A record in v$session contains sid and serial#. These numbers can be used kill a session (alter system kill session).
A client can set some information in client_info. For example,RMAN related sessions can be found with
.... where client_info like 'rman%';
What a session is waiting for can be queried withv$session_wait. However, with Oracle 10g, this is not nessessary anymore, as v$session_wait's information will be exposed within v$session as well.
See also sessions.

v$sessmetric
This view is new in Oracle 10g and allows improved timing and statistics.

v$session_event
This views is similar to v$system_event. However, it breaks it down to currently connected sessions.
v$session_event has also the column max_wait that shows the maximum time waited for a wait event.

v$session_longops
Use v$session_longops if you have a long running pl/sql procedure and want to give feedback on how far the procedure proceeded.
If the following Procedure is run, it will report its progress in v$session_longops. The Procedure will also set the moduleattribute in v$session which makes it possible to find the sidand serial# of the session.
create table f(g number);

create or replace procedure long_proc as
rindex pls_integer := dbms_application_info.set_session_longops_nohint;
slno pls_integer;
-- Name of task
op_name varchar2(64) := 'long_proc';

target pls_integer := 0; -- ie. The object being worked on
context pls_integer; -- Any info
sofar number; -- how far proceeded
totalwork number := 1000000; -- finished when sofar=totalwork

-- desc of target
target_desc varchar2(32) := 'A long running procedure';

units varchar2(32) := 'inserts'; -- unit of sofar and totalwork
begin

dbms_application_info.set_module('long_proc',null) ;

dbms_application_info.set_session_longops (
rindex,
slno);

for sofar in 0..totalwork loop

insert into f values (sofar);

if mod(sofar,1000) = 0 then
dbms_application_info.set_session_longops (
rindex,
slno,
op_name,
target,
context,
sofar,
totalwork,
target_desc,
units);

end if;

end loop;
end long_proc;
If the procedure long_proc is run, you can issue the following query to get feedback on its progress:
select time_remaining,sofar,elapsed_seconds
from v$session_longops l, v$session s
where l.sid=s.sid and l.serial# = s.serial# and s.module='long_proc'

v$session_wait
This views shows what wait event each session is waiting for, or what the last event was that it waited for.
In contrast, v$session_event lists the cumulative history of events waited for in a session.
The columns P1, P2 and P3 are parameters that are dependant on the event. With Oracle 10g, v$session_wait's information will be exposed within v$session as well.
Since 10g, Oracle displays the v$session_wait information also in the v$session view.

v$session_wait_history
This view is new in Oracle 10g and allows improved timing and statistics.

v$sesstat
This view is similar to v$mystat except that it shows cumulated statistics for all sessions.
Join sid with v$session and join statistic# with v$statname.

v$sesstat is also similar to v$sysstat, except that v$sysstat accumulates the statistics as soon as a session terminates.

v$sga
Shows how much memory the shared global area uses. Selecting * from v$sga is roughly the same as typing show sgain sql plus with the exeption that the latter also show the total.

v$sgastat
Showing free space in the sga:
select * from v$sgastat where name = 'free memory'
v$sga_dynamic_components
Information about SGA resize operations since startup.
This view can also be used to find out the granule size of SGA components.

v$sga_resize_ops

v$sort_usage
See temporary tablespaces

v$sort_segment
See Temporary Tablespaces

v$spparameter
Returns the values for the spfile.

v$sql
v$sql is similar to v$sqlarea, the main difference being that v$sql drills down to select * from x$kglob whereas v$sqlarea drills down to select sum from x$kglob. See also here.

v$sqlarea
Join v$sqlarea's address with v$session's sql_address.
Find the SQL-text of currently running SQL statements:
select sql_text from v$sqlarea where users_executing > 0;
The field version_count indicates how many versions an sql statement has.
v$sqltext

v$sql_plan
variable addr varchar2(20)
variable hash number
variable child number

exec :addr := '&sqladdr'; :hash := &hashvalue; :child := &childno;

select lpad(' ', 2*(level-1))||operation||' '||
decode(id, 0, 'Cost = '||position) "OPERATION",
options, object_name
from v$sql_plan
start with (address = :addr
and hash_value = :hash
and child_number = :child
and id=0 )
connect by prior id = parent_id
and prior address = address
and prior hash_value = hash_value
and prior child_number = child_number
order by id, position ;
In order to find valid values for sqladdr, hashvalue and childno, this SQL statement can be used:
select sql_text,address,hash_value,child_number from v$sql where users_executing > 0;
v$sqltext_with_newlines
This view can be used to construct the entire text for each session's actual SQL statement. Use the following statement to to that:
set serveroutput on size 1000000

declare
v_stmt varchar2(16000);
v_sql_text v$sqltext_with_newlines.sql_text%type;
v_sid v$session.sid%type;
begin
for r in (
select
sql_text,s.sid
from
v$sqltext_with_newlines t,
v$session s
where
s.sql_address=t.address
order by s.sid, piece) loop

v_sid := nvl(v_sid,r.sid);

if v_sid <> r.sid then
dbms_output.put_line(v_sid);
<a href='oru_10028.html'>put_line</a>(v_stmt,100);
v_sid := r.sid;
v_stmt := r.sql_text;
else
v_stmt := v_stmt || r.sql_text;
end if;

end loop;
dbms_output.put_line(v_sid);
dbms_output.put_line(v_stmt,100);
end;

v$sql_bind_data
Join cursor_num with cno of v$sql_cursor.

v$sql_bind_capture
New with Oracle 10g
This view captures bind variables for all sessions and is faster than setting 10046 on level 4.

v$sql_cursor
Join parent_handle with address of v$sql or v$sqlarea.

v$sql_workarea
v$sql_workarea can be joined with v$sqlarea on address and hash_value, and it can be joined with v$sql on address, hash_value and child_number.

v$standby_log

v$statname
Use this view to get decoded names for the statistic# field ofv$mystat, v$sysstat and

v$sesstat.

v$sysaux_occupants

v$sysaux_occupants doesn't exist in Oracle versions prior toOracle 10g.
See occupants in the sysaux tablepsaces.

v$sysmetric
This view is new in Oracle 10g and allows improved timing and statistics.

v$sysmetric_history
This view is new in Oracle 10g and allows improved timing and statistics.

v$sysstat
v$sysstat is similar to v$sesstat. While v$sesstat displays statitics for the current session, v$sysstat displays the cumulated statitics since startup of the database.
For example, it is possible to find out the CPU time (name = 'CPU used by this session')
This view is (among others) used to calculate the Hit Ratio.

v$system_event
This view displays the count (total_waits) of all wait eventssince startup of the instance.
If timed_statistics is set to true, the sum of the wait times for all events are also displayed in the column time_waited.
The unit of time_waited is one hundreth of a second. Since 10g, an additional column (time_waited_micro) measures wait times in millionth of a second.
total_waits where event='buffer busy waits' is equal the sum of count in v$waitstat.



v$enqueue_stat can be used to break down waits on theenqueue wait event.
While this view totals all events in an instance,v$session_event breaks it down to all currently connectedsessions.
v$undostat
undo tablespaces
v$tempfile
v$tempseg_usage
v$tempseg_usage is a public synonym for v$sort_usage.
v$tempstat
v$thread
The Oracle SID can be retrieved through select instance from v$thread
v$timer
This view has only one column (hsecs) which counts hundreths of seconds. Whenever it overflows four bytes, it starts again with 0.

v$transaction
Important fields of v$transaction are used_ublk andused_urec. They tell of how many blocks and records the undo for a transaction consists. In order to find out the name of the corresponding rollback segemnt, join the xidusn field with theusn field of v$rollname. This is demonstrated in
Transactions generate undo

v$timezone_names
See also timezones for some values of tzabbrev.
v$transportable_platform
Which platforms are supported for cross platform transportable tablespaces.


v$waitstat
total_waits where event='buffer busy waits' is equal the sum of count in v$system_event.

How to Basis troubleshoot IDOCS error status 51 and status 68

Step by Step Idoc Trouble Shooting
 Steps:
  1. From Basis point of view, the technical problem that we have to look at is the transmission of the IDOC.
  2. Firstly we execute BD87.
  3. Enter IDOCS status 51 and press enter. You shall see below screen shot. As we can see, error
    “Status 51″ are application or data related error.
    0004-idosc001
  4. For status 68 error, we do the same thing. Use BD87 ‘ Enter 68 on IDOC status.
    0004-idosc002
  5. As there is no error message. We double click ‘Without error message’ to see the IDOC details.
    0004-idosc003
  6. Go to status record to see what has happened with the IDOC process. As seen in the picture, the error 68 was because the IDOC had status 51 which is caused by application/data error.
    0004-idosc004
  7. Look at transaction SM58 for any hanging or error tRFC (most of IDOC use tRFC/Asynchronous). If any check the error message.
  8. If the partner type is LS which is logical system, you can check and test connection of RFC connection via SM59.
  9. In this case, there is no error tRFC on SM59 which proves those error are not Basis issue.

SAP "idoc" Transaction codes 

 IDOC - IDoc: Repair and check programs  Basis - ALE Integration Technology



WE02 - Display IDoc  Basis - ALE Integration Technology
WE05 - IDoc Lists  Basis - ALE Integration Technology
WE30 - IDoc Type Development  Basis - ALE Integration Technology
IDX2 - Meta Data Overview in IDoc Adapter  Basis - ALE Integration Technology
IDX1 - Port Maintenance in IDoc Adapter  Basis - ALE Integration Technology
WE60 - Documentation for IDoc types  Basis - ALE Integration Technology
WE31 - Development IDoc Segment  Basis - ALE Integration Technology
IDX5 - IDoc Adapter - Monitoring  Basis - Integration Server
WE82 - Assign Messages for IDoc Type  Basis - ALE Integration Technology
WE09 - Search for IDocs by Content  Basis - ALE Integration Technology
INOT - Create SM/PM Notification IDoc  PM - Plant Maintenance
WE07 - IDoc statistics  Basis - ALE Integration Technology
BD59 - Allocation object type -> IDoc type  Basis - ALE Integration Technology
BD79 - Maintain IDoc Conversion Rules  Basis - ALE Integration Technology
WE06 - Active IDoc monitoring  Basis - ALE Integration Technology
BDM2 - Monitoring: IDocs in Receiving Sys.  Basis - ALE Integration Technology
BD20 - IDoc passed to application  Basis - ALE Integration Technology
BD56 - Maintain IDoc Segment Filters  Basis - ALE Integration Technology
BD55 - Maintain IDoc Conversion  Basis - ALE Integration Technology
WE10 - Search for IDocs by Content  Basis - ALE Integration Technology
RSEIDOC2 - IDoc List  Basis - Audit Information System
WTR1 - Request for Additionals IDoc  Logistics - Additionals Management
WE11 - Delete IDocs  Basis - ALE Integration Technology


 



Note 50088 - Creating OPS$ users on Windows NT/Oracle

Key Point is to execute @ORADBUSR.SQL with a following parameter for example if you're sidadm is Doman1/ATCADM then you should follow the following command, details can be obtained from the usefull sap note below.

Steps summary from the note if you are running on Oracle 10g
stop sap system

F:\>sqlplus /nolog @oradbusr.sql SAPDAT NT DOMAINA ATC

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~












Summary
Symptom
Creating OPS$ users on Windows NT/Oracle
Other terms
SQL*NetV2
SQL*NetV1
OPS$
ops$
Password change
Changing the password
OPS$ user
Reason and Prerequisites
OPS$ users should be created on the ORACLE database for R/3 users SAPService<SAPSID> and <SAPSID>ADM.
Solution
You can use the ORACLE OPS$ user mechanism to assign a password other than 'sap' to the user 'sapr3' in the SAP System. This prevents unauthorized access to the database, as only the operating system users of the SAP System (normally SAPService <SAPSID> and <SAPSID>ADM) have access to the password of user 'sapr3' in the database.

Furthermore, the OPS$ mechanism is required for backup planning using transaction DB13 in CCMS.

In Windows NT SQL*Net V1, this mechanism only works in central systems.
With the ORACLE network protocol SQL*Net V2, you can use the OPS$ user mechanism in both central and distributed SAP Systems. However, if you use the OPS$ in distributed systems, the following parameter must be set in the file init<SAPSID>.ora.
"remote_os_authent=TRUE" (not Oracle 8.*)

To set up SQL*Net V2, refer to Note 48736.

Contents
Ia  Creating OPS$ users (up to Release 4.0B)
Ib  Creating OPS$ users (as of Release 4.0B)
Ic  Creating OPS$ users (as of Oracle 8.1.6)
Id  Creating OPS$ users in mixed environments (as of 8.1.6)
IIa Changing the password for user 'sapr3' (< Oracle 8.1.6)
IIb Changing the password for user 'sapr3' (Oracle 8.1.6)
IIc Changing the password for user 'SAP<SID>'(> Oracle 8.1.6)

Ia  Creating OPS$ users (up to Release 4.0B)

The OPS$ user has to be created for the following users:
    1. A user who logs on to the database outside of the SAP system.
              If you call programs which make a connection to the database via another user (for example, program "tp"), then you must create an OPS$ user for this user. In general, this is user <SAPSID>ADM.
    2. A user under which the SAP System is started.
              You can find this specified user under "Control Panel" -> "Administrative Tools" -> "Services".
      a) Select the service SAP<SAPSID>_<Instance_ID> from the service list.
      b) Choose "Startup". The specified user, under which the SAP system is started, is shown in the field "Log on As".
              In general, the SAP System is started under user SAPService<SAPSID>.
              Note that you may need to adapt the commands given below (How to create user <SAPSID>ADM) to the user that you are using. This might be the case, for example, if you installed the latest R/3 Version by repeated upgrades starting from a very old R/3 Release.

Please proceed as follows to create both OPS$ users (sample commands for user <SAPSID>ADM and SAPSERVICE<SAPSID>):
How to create user <SAPSID>ADM
    1. Stop the SAP System.
    2. Log on as user <SAPSID>ADM to the host on which the R/3 database for the SAP System is running.
    All the following actions have to be carried out on this host.
    3. Start sqldba72 (or svrmgr23, svrmgr30) and log on to the database with 'connect internal'.
    4. Execute the following commands in the database one after the other. Replace <SAPSID> with the corresponding SAP system ID for your system:
          
'create user OPS$<SAPSID>ADM default tablespace psapuser1d
temporary tablespace psaptemp identified externally;'

'grant connect, resource to OPS$<SAPSID>ADM;'

'connect /'

'create table SAPUSER
( USERID VARCHAR2(256), PASSWD VARCHAR2 (256));'

'insert into SAPUSER values ('SAPR3', '<password>');'

'connect internal'

'alter user sapr3 identified by <password>;'
How to create user SAPSERVICE<SAPSID>
    1. Log on as user <SAPSID>ADM to the host on which the R/3 database for the SAP System is running.
    2. Start sqldba72 (or svrmgr23, svrmgr30) and log on to the database with 'connect internal'.
    3. Execute the following commands in the database one after the other: Replace <SAPSID> with the corresponding SAP system ID for your system:
          
'create user OPS$SAPSERVICE<SAPSID> default tablespace psapuser1d
temporary tablespace psaptemp identified externally;'

'grant connect, resource to OPS$SAPSERVICE<SAPSID>;'

'create public synonym sapuser for OPS$<SAPSID>ADM.SAPUSER;'

'connect /'

'grant select on sapuser to OPS$SAPSERVICE<SAPSID>;'

The R/3 processes can now log on with the new password after reading the password from table SAPUSER in the database.
Ib  Creating OPS$ users (as of Release 4.0B)
For the creation and change of OPS$ users SQL scripts are available as of SAP R/3 Version 4.0B under Oracle 8.0.6.
Oracle 8.0.6:  Open a DOS BOX, and change to the directory \orant\orainst.
Oracle 8.1.5: the scripts are no longer automatically copied to Orainst during the Oracle installation and must therefore be copied manually from the RDMBS CD (directory \SAP) to a writeable working directory.

Execute the following command under user <SID>ADM:

    plus80 internal @sapuser.sql        (Oracle 8.0.6)
    sqlplus internal @sapuser.sql       (Oracle 8.1.5)
You will be prompted for a new password for the database user sapr3. After successful completion of sapuser.sql the following line is displayed:

    | Script sapuser.sql successfully finished |

If this line is not displayed, check the file sapuser.log in the same directory for possible error causes and consult your SAP Support center, if necessary.
You can also use this procedure to change the password for the database user sapr3.
Ic  Creating OPS$ users (as of Oracle 8.1.6)
On Oracle 8.1.6, security for OPS$ access has been enhanced by including the domain name in the OPS$ user names.
Creating the OPS$ user is done using script oradbusr.sql.
By mistake, there are two different scripts that share the same name but with a different number of parameters. With the older script, two parameters are used. With the new script, three parameters ('schemaowner' added) are used.
The old version with two parameters is contained on the RDBMS CD, on earlier Kernel CDs, and in the installation directory. A current version has also been appended to this note.
The new version with three parameters is contained in the new installation kits. The new version must be used as of Version 6.10 and in MCOD systems as of 4.6.
As of Oracle Version 10 use the script contained in archive oradbusr10.zip.
You can find out whether you have the new script or the old script installed as follows:
Open script 'oradbusr.sql' using a text editor.
If 'oradbusrSD.sql' is listed under 'Usage', you have the new version.
If 'oradbusr.sql' is listed, you have the old version.
Execute the following command to set up the OPS$ user:

New script:
   sqlplus /NOLOG @oradbusr.sql <schemaowner> NT <userdomain>
Old script:
   sqlplus /NOLOG @oradbusr.sql NT <userdomain>

Set the domain name of the domain for <userdomain> in which the user <SID>ADM was created. This usually corresponds to the value of the environment variable USERDOMAIN if you have logged on as <SID>ADM. You can find out what the current value of the environment variable is
      set USER
in a command prompt.
For <schemaowner>, you may need to set a different value if you use the new oradbusr.sql script:
Up to Version 4.6D, use 'SAPR3' for 'schemaowner'.
As of Version 6.10, use 'SAP<SID>' for 'schemaowner'.
You can also use the environment variable to check which value you need to set for 'schemaowner':
If the environment variable was set to DBS_ORA_SCHEMA, use the value specified there (SAPR3 or SAP<SID>).
If DBS_ORA_SCHEMA was not set, use 'SAPR3'.

Now you need to set the password for user sapr3 acc. to IIb or IIc.
Id Creating OPS$ users in mixed environments (as of 8.1.6)
This section describes the creation of the OPS$ access in mixed environments, i.e. the Oracle client (R/3 Application Server) and the Oracle database are operated on different platforms (Unix / Windows).
    1. Log on to the database server as user <SID>adm.
    2. Start sqlplus:
        sqlplus /nolog
        sqlplus> connect / as sysdba
  • If the database server runs on a Unix computer:
        sqlplus> create user "OPS$<DOMAIN>\SAPSERVICE<SID>" identified
                externally;
        sqlplus> grant connect, resource to
                "OPS$<DOMAIN>\SAPSERVICE<SID>";
        sqlplus> connect /
        sqlplus> grant select, insert, update on sapuser to
                "OPS$<DOMAIN>\SAPSERVICE<SID>"
        sqlplus> exit
  • If the database server runs on a Windows computer:
        sqlplus> create user OPS$<SID>ADM identified externally;
        sqlplus> grant connect, resource to OPS$<SID>ADM;
        sqlplus> connect /
        sqlplus> grant select, insert, update on sapuser to
                 OPS$<SID>ADM;
Note:
As a general rule, the user name and the domain of the Windows user, under which the SAP service was started on the NT computer, must be used. If the service is started with a local user, use the host name of the Application Server as the domain name.
Some Unix derivatives can only manage users with a user name length of 8 characters. In this case, unlike with the SAP standard, user <SID>adm was entered as service user. Likewise, user "OPS$<DOMAIN>\<SID>ADM" must be registered in the Oracle database.
The OPS$ user names for the Windows users must be delimited by double quotes, since the character string contains the "\" character. In this case, the user name must be written in uppercase letters as the case is observed when inserting character strings that are limited by quotes!
IIa  Changing the password for the user 'sapr3'
If the OPS$ user has already been created as described above, the password for the 'sapr3' user can be changed at any time. As user <SAPSID>ADM, you must follow two steps (replace <new password> with the new password for the user 'sapr3'):
    1. Stop the SAP System.
    2. Log on as user <SAPSID>ADM to the host on which the R/3 database for the SAP System is running.
    All the following actions have to be carried out on this host.
    3. Change the entry for the user 'sapr3' in table SAPUSER.
      a) Start sqldba72 (or svrmgr23, svrmgr30) and log on to the database with 'connect internal'.
      b) Execute an update on the table SAPUSER.
      'update OPS$<SAPSID>ADM.SAPUSER set PASSWD='<new password>'
      where USERID='SAPR3';'
    4. Change the password for the 'sapr3' user the database with the following commands:
          
'connect internal'

'alter user sapr3 identified by <new password>;'
IIb Changing the password for user 'sapr3' (Oracle 8.1.6)

To do this, call BRCONNECT as follows:


  brconnect -u system/<syst_pwd> -f chpass -o sapr3 -p <new_sap_pwd>

You do not need to carry out the steps under IIa.
IIc Changing the password for user 'schemaowner>' (as of Oracle 8.1.7)
Applies to MCOD systems or installations with kernel version > 4.6D


  brconnect -u system/<syst_pwd> -f chpass -o sap<sid> -p <new_sap_pwd>

You do not need to carry out the steps under IIa.


 
575280 - Add info about upgrade to SAP Web AS 6.20 ORACLE 9.2.0
 
491598 - Additional info on upgrading to SAP Web AS 6.20 ORACLE 8.1.x
 
437648 - DB13: External program terminated with exit code 1/2
 
401721 - on upgrading to SAPWeb AS 6.10 ORACLE
 
400241 - Problems with ops$ or sapr3 connect to Oracle
 
357194 - ORA-00900 when importing SQL scripts
 
303461 - Additions to Upgrade to Basis 4.6D Oracle
 
201874 - Additions for upgrade to 4.6C/4.6C SR1/4.6C SR2 Oracle
 
186119 - Restricting DB access to specific hosts
 
134592 - Importing the SAPDBA role (sapdba_role.sql)
 
95719 - SAPDBA/BRBACKUP: ORA-1031 after migration to Oracle8
 
93292 - Additional Info: Upgrading to 4.0A ORACLE
 
89655 - ORA-1004:"default username feature not supported"
 
8523 - DB backups using CCMS do not work

CCMS Configuration and Use

The CCMS Monitoring Infrastructure can be utilised for local monitoring immediately after installation. You must execute numerous configuration procedures yourself if you wish to use the CCMS for central monitoring. The documents below demonstrate several setup situations, ranging from basic monitoring of your IT landscape to more specific alterations, such as setting up Auto Reaction Methods or constructing a rule-based monitor.

The First Steps 

The NW 2004s SP 10 CCMS Monitoring Setup Guide (PDF 663KB) 

This document explains how to configure a system landscape based on SAP NetWeaver 2004s for monitoring in a quick and easy manner. You must have finished the actual installation of the essential components before proceeding. 

Library of SAP: The Alert Monitor's Technical Infrastructure (in the SAP Help Portal) 

You can monitor a huge number of systems and servers with SAP's monitoring architecture.

More on CCMS Configuration and Use

CCMS Agents, autonomous processes that pass information to a central monitoring system from the hosts on which they execute, are supported by SAP NetWeaver for centrally monitoring a complete system landscape. This detailed tutorial explains how to set up and operate CCMS Agent networks, as well as how to use them.
You can create auto-reactions in the monitoring architecture, and they will be executed automatically in the event of an alert. These approaches can be used both locally (in the system that generated the warning) and centrally (in the central monitoring system). This tutorial will show you how to set up a local and central auto-reaction method.
When an alert occurs, the SAP Monitoring Infrastructure provides auto-reactions. 



Update 64bit Kernel - Note 1058988 - 640_EX2 Kernels

Symptom

The SAP Kernel is linked with a specific version of the database client software and built on a particular release of operating system compiler.
For some databases there is an updated / newer client version available from the database vendor. In some cases the current database client version runs out of vendor support in the near future. The same is also true for some of the operating system compiler versions.
In order for SAP customers to operate a fully supported environment an updated version of the 640 kernel (called the 640_EX2 kernel) is being released by SAP.
The 640_EX2 is the successor version of the 640 kernel. The applications running this kernel are themselves not impacted with the newer kernel version.
Other terms
640, 640_EX2, EX2 Kernel, Maintenance
Reason and Prerequisites
  • Attention
    For SCM 4.0 and SCM 4.1, where SAP liveCache 7.5 is used, one of the following minimum releases of the SQLDBC runtime is precondition for the usage of SAP Kernel 640_EX2:
    SQLDBC >= 7.6.03.17
    SQLDBC >= 7.6.04.09
    SQLDBC >= 7.6.05.05
    For information on how to install the SQLDBC runtime and check its version, read the section "Requirements to the MaxDB client software (SQLDBC runtime)" of SAP Note 1066891.

    Additionally a SAP DB database library patch >= 235 (lib_dbsl) is necessary. You will find this lib_dbsl patch under the SAP Kernel 640_EX2 (subfolder SAP DB) for your specific operating system on the SAP Service Marketplace:
    http://service.sap.com/patches
  • Customers may need to upgrade their operating system before they can implement the 640_EX2 kernel. To check if your operating system / database version is released with the 640_EX2 kernel please refer to the PAM (Product Availability Matrix) at https://service.sap.com/pam
  • In some cases a database upgrade may also be necessary before the 640_EX2 kernel can be implemented. To check whether the 640_EX2 kernel is supported on a particular database release, refer to the PAM or the following SAP Notes.
    • SAP Note 407314 (Oracle)
    • SAP Note 407317 (INFORMIX)
    • SAP Note 407320 (MaxDB)
    • SAP Note 407322 (DB2/UDB)
    • SAP Note 407325 (DB2/390)
    • SAP Note 407328 (MS SQL Server)
    • SAP Note 410783 (DB2/400)
  • Customers who are installing new SAP systems based on 640 kernel will NOT be able to install 640_EX2 kernel directly as part of the installation since the SAPINST (SAP Installation Tool) is not adapted accordingly. These customers will have to implement the 640_EX2 kernel as part of the post-installation steps.
  • When implementing the 640_EX2 kernel, the kernels on ALL application servers of the affected system must be replaced.
  • An update of the SAPGUI is not required after updating the system with the new 640_EX2 kernels. The existing / installed SAPGUI will also continue to work with 640_EX2 kernel.
  • The 640_EX2 kernel is a "binary only" release. This means that customers can implement the newer kernel without the need for an SAP upgrade.
  • After installing the 640_EX2 kernel customers must continue to import the support packages for the installed SAP release when updating / implementing corrections to the repository objects.
  • After installing the 640_EX2 kernel customers must use only 640_EX2 patches when implementing corrections to the kernel.
  • Customers who use the J2EE engine must also extract the SCS.SAR packet as part of the 640_EX2 kernel installation. This ensures the availability of the jcmon utility which is required during the upgrade procedure by the SAP upgrade tools.
Solution
Obtaining the 640_EX2 Kernel
Download the latest 640_EX2 kernel stack from the SAP Service Marketplace.
For Windows and Unix/Linux platforms, the 640_EX2 kernel stack consists of the database-independent SAPEXE.SAR and the database-dependent SAPEXEDB.SAR archives. For AS/400, there is only one archive, R3OPT.SAR.
Customers can also order the 640_EX2 kernel DVD by opening a customer message under component XX-SER-SWFL-SHIP.

The 640_EX2 Kernel DVD can also be downloaded from the SAP Service Marketplace from the following link:

https://service.sap.com/swdc
(Installations and Upgrades->Entry by Application Group->Miscellaneous Components->SAP Kernel->SAP KERNEL 64-BIT)->SAP KERNEL 6.40_EX2 64-BIT->Installation)

Installation
Install the 6.40 kernel from the kernel DVD by carrying out the following actions as the user <sapsid>adm (or <SID>OFR on OS/400) on the central instance computer and then on all application servers with local executables.

Preliminary tasks
  • Stop the SAP System (there is no need to stop the database).
  • Stop saposcol.
    • On Windows:
                    Stop the SAP<SID>_<system no.> and SAPOsCol services
    • On UNIX:
                    cd /usr/sap/<SAPSID>/SYS/exe/run
                    . /saposcol -k
    • On OS/400:
                    CALL PGM(SAPOSCOL) PARM('-k')
  • Terminate the SAProuter.
  • Delete the statistics file
           (/usr/sap/<SID>/<DVEBMGS00>/data/stat).
           Mount the 640_EX2 kernel DVD.

Importing the new kernel from CD/DVD

A. On UNIX / Linux Platforms
  • Operating System AIX:
           As a prerequisite to use the EX2 kernel on an AIX system, the runtime environment has to have at least the following minimal release
           - xlC.aix50.rte 8.0.0.5
           - xlC.rte 8.0.0.5
  • Switch to the /usr/sap/<SAPSID>/SYS/exe/run directory.
  • Save the old kernel using the following commands:
           mkdir oldkernel
           cp -p * oldkernel
           su - root
           chown <sapsid>adm /usr/sap/<SAPSID> /SYS/exe/run/*
           exit
The oldkernel directory will be deleted during the next regular upgrade.
CAUTION: With the OS/390 operating system, you must use the "su <user>" command instead of "su - root", where <user> must have the UID 0.
  • Unpack the new kernel using the following commands:
           - Unicode:
           /<sapcd>/K_640_EX2_UI_<OS>/DBINDEP/SAPCAR -xvf /<sapcd>/K_640_EX2_UI_<OS>/DBINDEP/SAPEXE.SAR
           /<sapcd>/K_640_EX2_UI_<OS>/DBINDEP/SAPCAR -xvf /<sapcd>/K_640_EX2_UI_<OS>/<DB>/SAPEXEDB.SAR
           - Non-Unicode:
           /<sapcd>/K_640_EX2_NI_<OS>/DBINDEP/SAPCAR -xvf /<sapcd>/K_640_EX2_NI_<OS>/DBINDEP/SAPEXE.SAR
           /<sapcd>/K_640_EX2_NI_<OS>/DBINDEP/SAPCAR -xvf /<sapcd>/K_640_EX2_NI_<OS>/<DB>/SAPEXEDB.SAR
  • In case igs is used the IGSINST_MT.SAR, located within the DBINDEP directory on the DVD should also be extracted to /usr/sap/<SID>/<INSTANCE>.
  • Logon as user root and execute saproot.sh script located under /usr/sap/<SAPSID>/SYS/exe/run

B. On Windows:
  • Before starting the installation of the 640_EX2 kernel the Microsoft C-Runtime libraries 8.0 need to be installed on the application server. For more details please refer to SAP Note 684106.
  • On the global host, Switch to your kernel directory, for example: <drive>usr\<SAPSID>\sys\exe\run
  • Unpack the new kernel from the kernel directory of the DVD in the specified sequence.
           IMPORTANT: Do not call SAPCAR. EXE directly without a path specification, instead use the specified directory structure for the kernel DVD.
    • <DVD-DRIVE>:K1\NT\<PROCESSOR TYPE>\SAPCAR.EXE -xvf <DVD-DRIVE>:K1\NT\<PROCESSOR TYPE>\SAPEXE.SAR
    • <DVD-DRIVE>:K1\NT\<PROCESSOR TYPE>\SAPCAR.EXE -xvf <DVD-DRIVE>:K1\NT\<PROCESSOR TYPE>\SAPEXEDB.SAR <DVD-DRIVE>:K1\NT\<PROCESSOR TYPE>\DBATOOLS.SAR
  • If you want to keep the old kernel executables, you must use the copy function and not the rename function (see SAP note 142100, point 18).
  • This step is only valid for MSCS:
           Update the files on all cluster nodes in the Windows\SAPCLUSTER directory with the corresponding files in the central kernel directory, for example in <dir>:/usr/sap/<SAPSID>/sys/exe/run.
  • Install the DLLs retrieved as an attachment in Note 684106.

C. On OS/400:
  • Before you can switch to the 640_EX2 kernel, you must have installed the 640 kernel according to SAP note 664679.
  • Since the 640_EX2 kernel is delivered as a stack kernel, you must apply this kernel like any other 640 stack kernel as described in SAP note 904977

Database Specific Actions
For information specific to a database platform or for additional action / steps needed to be performed for a particular database please refer to the relevant SAP Note for your platform:
    • SAP Note 1060539 (Oracle)
    • SAP Note 1070927(INFORMIX)
    • SAP Note 1066891 (MaxDB)
    • There are no additional actions necessary for MS SQL Server, DB2/400, DB2/LUW and DB2/390
Affected Releases
Software Component Release From Release To Release And subsequent
KRNL32NUC6.206.206.20
KRNL32NUC6.406.406.40
KRNL32UC6.206.206.20
KRNL32UC6.406.406.40
KRNL64NUC6.206.206.20
KRNL64NUC6.406.406.40
KRNL64UC6.206.206.20
KRNL64UC6.406.406.40
Related Notes
1271224Linux: Minimum versions for distribution w/ SAP EX2_Kernel
1114850Upgrade of SAP systems based on 46D_EX2 kernel to 640
1106096EX2 Kernels: Extended Kernel Maintenance
1070927Installing EX2 Kernels on Informix based SAP Systems
1066891SAP Kernel 46D_EX2/640_EX2 on systems with MaxDB/liveCache
1060539Installing EX2 Kernels on Oracle based SAP Systems
1047374IBM i: liveCache access for SCM 4.1 and the following
1037016IBM i: MaxDB Client Support for IBM i application server
904977iSeries: Support Package stacks for SAP Kernel 6.40
819829Oracle Instant Client Installation and Configuration on Unix