Saturday 7 December 2013

ABAP Dumps is warning

ZDATE_LARGE_TIME_DIFF

As per OSS Notes : 369370

Symptom

You want to operate the SAP system in a specific time zone. All the application servers and the database must be running on the same time zone. To do this the time zone of the SAP Oracle database may need to be changed. This is usually done on UNIX by setting the TZ environment variables in the environment of Oracle and SAP operating system user (ora<sid> und <sid>adm). Even though the TZ environment variable is correct for both users and agree with each other, you nonetheless get the following error message when you log onto R/3: ZDATE_LARGE_TIME_DIFF.

Cause and prerequisites

If the Oracle TNS listener is started under a different user than (ora<sid> und <sid>adm), the TZ variable must also be correctly set in the environment of these other users:

           The R/3 kernel compares the time on the application server (by using the UNIX
 date command) with database time. If there is a big difference between these time stamps, the error ZDATE_LARGE_TIME_DIFF is triggered. 


The database time is determined by the R/3 on Oracle by
 


SELECT TO_CHAR (SYSDATE, 'YYYYMMDDHH24MISS') FROM DUAL; 

           The statement above is in this case executed by an Oracle shadow process on the database server. The result is
 the internal time of the Oracle shadow processes, which executed the statement. The shadow process is forked by the Oracle TNS listener for connection requests. It inherits the environment of the listener, therefore it also inherits the time zone environment variable. 
One special case is when several databases which are physically located in various time zones are being operated on the same database server:


           If several databases in various time zones are being run on the same data base server, then a separate listener with the respective, correct TZ environment variable must be started for each database.
 Solution 


The TZ environment variable must also be set correctly in the environment of the user who starts the Oracle TNS listener.


SOLUTION:

Large time difference between application server and database.The R/3 System synchronizes the times of the database and applicationserver regularly. As a result, a very large time difference was detected between these two systems.

The error probably occurred when installing the
SAP System.
If the local time is set incorrectly, the SAP System can continue
to run. The local time in the SAP System is automatically
synchronized with the database. Please check your system setting
as soon as possible.
Another cause of error could be that the application server and
the database are operating in different time zones. In this case,
your SAP System cannot work properly, so you should correct the
error as soon as possible.

DBIF_RSQL_SQL_ERROR

As per OSS Notes : 136791

Symptom

With certain database systems you find the system sometimes generates the runtime error DBIF_RSQL_SQL_ERROR (due to an SQL error) in the generated program GP$GLX$<table name>, where <table name> is the name of a profit center table or an FI-SL table.
With ADABAS, the system outputs SQL error "-1013".

Cause and prerequisites

In a SELECT statement a "GROUP BY" or "ORDER BY" addition with more than 16 fields is entered in the database. However, in certain cases the aggregation with "GROUP BY" is not required (for example if the complete primary key is specified in the field list).

Solution

Implement the corrections set out in the attachment.
Corrections Instructions
Correction
Instruction
Valid
from
Valid
to
Software
Component
Type *)
Ref.
Correction
Last
Modifcation
40B
40B
SAP_APPL
C
P4BK040026
07.03.1999  01:13:53





SYSTEM_CORE_DUMPED

           Process terminated by signal " ".
What happened?
The current ABAP program had to be terminated because the
ABAP processor detected an internal system error.
The current ABAP program "????????????????????????????????????????" had to be
 terminated because the ABAP
processor discovered an invalid system state.

Error analysis

An SAP System process was terminated by an operating system signal.

Possible reasons for this are:
1. Internal SAP System error.
2. Process was terminated externally (by the system administrator).

.
You may able to find an interim solution to the problem
in the SAP note system. If you have access to the note system 
OSS NOTES : 685625
Symptom
While you were activating ABAP programs, the work process terminated (either with an ABAP SYSTEM_CORE_DUMPED runtime error or with a "The work process was restarted" dialog message).

The active calls of the C functions in the SAP kernel which you can display in the long text of the ABAP SYSTEM_CORE_DUMPED runtime error using transaction ST22 or in the work process trace file using transaction SM50 are as follows:

[...]
addIDENT
addDATA
collect_data
addDATAPARAMS
addDATA
collect_data
collect_meth_event
collect_components
collect_class
sc_generatePreHdr
[...]
Reason and Prerequisites
This is a program error in the Precompiled header function of the ABAP compiler.
Solution
If the error mentioned above applies to your system, install a new kernel which contains the kernel patch with the following text, "SYSTEM_CORE_DUMPED in addIDENT (gen/scsymbc.c)".

You have this kernel patch if the kernel has, depending on your Release, at least the following patch level:
Kernel release 6.20: 1371
Kernel release 6.40:    5

DYNPRO_SEND_IN_BACKGROUND
Error analysis
During background processing, the system attempted to send a
screen to a user.
Screen output without connection to user.

As per the OSS Notes : 434054

Symptom
During the document processing via function modules, a program termination occurs.
The system generates dump DYNPRO_SEND_IN_BACKGROUND.


Cause and prerequisites
The problem is caused by a program error.
Solution
Implement the attached correction.
Corrections Instructions
Correction
Instruction
Valid
from
Valid
to
Software
Component
Type *)
Ref.
Correction
Last
Modifcation
45B
45B
SAP_APPL
C
P4DK169720
11.09.2001  11:46:46


As per the OSS NOTES  : 717442

Symptom
The dump analysis contains the following dump, which states:

DYNPRO_SEND_IN_BACKGROUND

The current "RSORACMP" ABAP program had to be interrupted, because it encountered a statement that, unfortunately, cannot be executed.

During background processing, an attempt was made to send a screen to a user.

Current screen: "RSORACMP" 0020.
Other terms
DYNPRO_SEND_IN_BACKGROUND RSORACMP Oracle RAC OPS
Reason and Prerequisites
The dump may occur when you use Oracle RAC (Real Application Cluster).
The dump occurs when the performance collector generates snapshot data. The RSORASNP report that causes the dump is called when the RSDBPREV report is scheduled.
Solution
Import the relevant Support Package.
Highest Implemented Support Package
Support
Packages
Release
Package
Name
SAP_BASIS
46C
SAP_BASIS
46D
SAP_BASIS
610
SAP_BASIS
620
SAP_BASIS
640


GETWA_TOO_MANY_SEGMENTS

No more data segments available.

Error analysis

The system attempted to create a new data segment, but this
exceeded the capacity limit of 32767 data segments per roll area.

As per the OSS Notes : 509950

Symptom
The GETWA_TOO_MANY_SEGMENTS dump occurs.
Reason and Prerequisites
Technical description (R/3 Release 4.0B - 4.6D)
Cause of error

You can manage a maximum of 32,768 global data segments in an internal mode. The administration occurs using the DSEG global segment table. If this limit is exceeded, the GETWA_TOO_MANY_SEGMENTS runtime error is triggered.

The upper limit of 32,768 global data segments for each internal mode is determined on a technical basis. You cannot change this limit via the profile parameter.

Importance of the DSEG table and explanation of the limit

The ABAP runtime uses global data segments to address (global and static) data. Simply expressed, a global data segment corresponds to an associated memory area. For instance, examples for these types of memory areas are the memory area for the global variables of a program or a table work area.

There is an entry in the DSEG global segment table for each global data segment. A global data segment can be addressed through the index of its entry in the DSEG (global segment index).

Each ABAP program (report, function group, module pool, global class, subroutine pool, EXCEPTIONS: global interface and TYPE POOL) requires global data segments. When the program is being loaded into the internal mode, the global data segments required from this program are allocated immediately in the DSEG (an exception creates data segments for text pools, which we will not deal with in more detail here). That is, an associated area of entries is assigned to each program in the DSEG. Therefore, the global data segments of a program can be addressed relatively at the beginning of this associated area (relative segment index).

Relative segment indexes are almost always used to address data in the ABAP. These are stored in a field of 15-bits in length. Unfortunately, in a few locations, absolute segment indexes must be placed in these 15 bits. Since a maximum of 32,768 global data segments can be addressed with 15 bits, no more than 32,768 data segments can be administered in a roll area.

The field in which segment indexes are stored could, of course, be extended to 32 bits. However, this would involve an unacceptable increase in the ABAP load.

Global data segments of a program
Each program (with the exception of global interfaces and TYPE POOLs) has the following six global data segments:

(1) A global data segment to address all global data of a program. The global data of a program includes all data objects declared with DATA outside FORM/FUNCTION/METHOD.

(2) A global data segment for all constants declared in the program (CONSTANTS declarations).

(3) A global data segment for addressing literals used in the program.

(4) A global data segment used for processing unassigned field symbols.

(5) A global data segment for the SY data area.

(6) A global data segment for the SYST data area.

Every program loaded in the internal mode therefore consumes at least six entries in the DSEG. A program also has other global data segments in addition to these six standard segments.

(7) Table work areas (TABLES ABAP statement)
      Each table work area declared globally or locally with TABLES requires its own global data segment and consequently an entry in the DSEG. While the actual memory for the table work area is only allocated during the access, the related entry in the DSEG is created even if the table work area is not accessed at all later. In short: Every TABLES declaration in a program consumes an entry in the DSEG.

(8) COMMON PARTs (DATA BEGIN OF COMMON PART... ABAP statement). Each COMMON PART requires its own global data segment and therefore an entry in the DSEG

(9) Global field symbols (for example, FIELD-SYMBOLS ABAP statement). Each global field symbol requires its own global data segment and consequently an entry in the DSEG. You notice that global field symbols can also be declared implicitly, for instance, when you use global interfaces of function modules or when you call a functional method.

(10) Controls (CONTROLS ABAP statement)
Each control requires its own global data segment and consequently an entry in the DSEG.

(11) Database tables (SELECT, INSRET, UPDATE, MODIFY, DELETE)
A separate entry is required in the DSEG for each database table that is accessed.

(12) Statements between MODULE and ENDMODULE
Since these statements do not open a local area in the ABAP, the definitions there are global. This has an effect on statements that create actual local field symbols.
These field symbols are also global if these statements are used between MODULE and ENDMODULE. The following statements are affected:
(a) Functional Method Calls - As many field symbols are required as the maximum number of functional method calls within an expression.
(b) Internal table commands with WHERE condition  A minimum of a field symbol is required for each of these statements, including a field symbol for each variable within the WHERE condition.
This does not apply to constants and literals in the WHERE condition.
(c) Perform parameter with offset/length - A field symbol is created for each actual parameter with an offset/length.

Displaying DSEG in the ABAP debugger
You can view the global segment table in the ABAP debugger as follows:

  (1) Goto -> System areas -> Internal areas
  (2) Enter DSEG

Below is a section of the debugger display of a DSEG. A more detailed description of the debugger is given below.

Index Segment Program name
...
3 DATA global data ZBGTEST (all ZBGTEST global data)
4 LITL constant data ZBGTEST (all ZBGTEST constants)
5 LITL constant data ZBGTEST (all ZBGTEST literals)
6 INVL not assigned ZBGTEST
7 TABL SYST ZBGTEST
8 TABL SY ZBGTEST
9 TABL RSJOBINFO ZBGTEST
10 COMM /%_SYS%% ZBGTEST
11 COMM /%_SSCR ZBGTEST
12 TABL VARI ZBGTEST
13 TABL SFLIGHT ZBGTEST (TABLES SFLIGHT)
14 TABL SBOOK ZBGTEST (TABLES SBOOK)
15 FSYM field symbol ZBGTEST (F1 field symbols)
16 FSYM field symbol ZBGTEST (F2 field symbols)
17 FSYM field symbol ZBGTEST (F3 field symbols)
18 COMM /TEST1 ZBGTEST (Common Part Test1)
19 COMM /TEST2 ZBGTEST (Common Part Test2)
20 TABL VBMOD ZBGTEST
21 DATA global data SAPMSSY0 ... Declarations of the next
22 LITL constant data SAPMSSY0 ... programs
23 LITL constant data SAPMSSY0
...
Solution
As of kernel Release 6.10, the 32K limit for the maximum line capacity of the DSEG no longer applies. As of this release the line capacity practically has no limit. (32K per program instead of per internal mode).

For all kernel releases < Release 6.10 (R/3 < 4.7), it is not possible to change this 32K limit. Therefore, you must try to reduce the number of global data segments consumed in the internal mode. The following options are available:

Use several internal modes
The number of global data segments can be reduced by using several internal modes. The required functions can be stored in a separate internal mode using CALL TRANSACTION, CALL DIALOG or SUBMIT REPORT.

Frequently, working in a transaction for hours, in combination with lots of navigations to different application areas, results in the DSEG overflowing. In this case, the simplest option is to close the current transaction using "/n" and to call the transaction again. (For example, by calling /nva01 you open a new DSEG.

Relocate less used functions into separate programs
Large programs should be split into several programs so that seldomly required functions are stored in separate programs. These programs and their global data segments are only loaded into the internal mode if the function implemented by them is actually needed.

Reduction of the number of table work areas
Every table work area declared with TABLES occupies an entry in the DSEG. You should first check which table work areas are actually used in the program. You should then delete declarations for unused table work areas.

Table work areas that are only used for some local programs, not used for all programs, and particularly those that are not used in any screen should be replaced with normal global variables. The "TABLES TABLE." declaration is replaced with "DATA TABLE TYPE TABLE". SELECT statements that use this table work area must be replaced with an explicit "INTO TABLE". Since work areas shared by several programs are part of the most complex and error-prone ABAP features, this conversion allows you to reduce the complexity of the affected programs as well as the number of DSEG entries. Naturally, this also facilitates maintenance of the affected programs.

Reducing global field symbols
As of Release 46D, you can replace global field symbols with date references. To do this, you replace the declaration of the global field symbol "FIELD-SYMBOLS <FS> TYPE T." with the declaration of a global data reference DATA FS_DREF TYPE REF TO DATA.". The assignment of the field symbol ASSIGN FIELD TO <FS>." is replaced with "GET REFERENCE OF FIELD INTO FS_DREF.". Uses of the global field symbol <FS> are transformed as follows: you declare a local work field symbol <FS> which does not need an entry in the global DSEG, and add the statement "ASSIGN FS_DREF->* TO <FS>" before the use or uses.

Since global function module interfaces are implemented by means of global field symbols, global function module interfaces represent a further source for saving global field symbols. However, you should note that no global field symbols, but rather global variables are used for fully typed value parameters in global interfaces. In other words, only reference parameters and incompletely typed value parameters are candidates for saving global field symbols. This gives rise to the following options for saving global field symbols:

(1) Global interface -> Local interface
Global interfaces can be completely converted to local interfaces. For this, parameters of the function module used globally in subroutines (forms) must be explicitly passed on to the subroutines. This procedure is useful if the call hierarchy of the subroutines is flat and clear within the function module.

(2) Completely type value parameters
If there are incompletely typed value parameters you should check whether you actually need this generosity. If not, you should completely type the value parameter.

(3) Reference parameter -> Value parameter
"Narrow" completely typed reference parameters, for instance of the category INT4, should be converted to value parameters. While this makes the parameter transfer fractionally slower, a global field symbol is saved.

Summarizing COMMON PART declarations
Several COMMON PART declarations in a program can be grouped together to form ONE COMMON PART declaration. TABLES work areas that are used across programs can be replaced by DATA statements within a COMMON PART declaration and can also be optimized as a result. An explicit "INTO WA" must be added to SELECT statements that use these TABLES work areas.

Global registration of programs involved in a transaction
With transactions there are often times, for instance INITIALIZE/CLEANUP, where corresponding callback routines must be called on the programs involved in the transaction. With complex transactions you often have the problem that you no longer know exactly which programs have actually been involved up to now in the transaction. These callback routines can therefore also be called for programs which were not involved at all in the transaction. As a result, programs are loaded unnecessarily into the roll area, where they consume global data segments. You can avoid the loading of unrequired programs if the programs required by the transaction that have such callback routines register on a global event at the time LOAD-OF-PROGRAM. The callback routines can then be called on the actual programs involved in the transaction for the times, via Events.
Attachment: Analysis of the Current DSEG (Information for Technical Experts)
If you have to adjust the programs, it may be helpful to know which programs require the most DSEG entries.
For this it must be possible to be able to read the DSEG in the current process (debugger), or a post mortem in the dump.

Debugger (start using /h)

To display the table DSEG in the ABAP Debugger, proceed as follows:
·                                             In the debugger menu, select Goto -> System -> System areas
·                                             Area = DSEG (then select Return)
·                                             All DSEG lines are displayed.

By entering the "SAFI" function code, you can write the current system area display on file into the standard application server directory (DIR_HOME profile parameter). The BC_DSEG_ANALYSIS program provides you with an overview of the TABLES segments (see above) that are marked with "TABL" in the display.

Dump Analysis (transaction ST22)

You can reconstruct the DSEG start index of all involved programs at the time of the termination:
·                                             Navigate to the long text view of the /h runtime error in the ok field -> Select any function to access the debugger (for example, overview: F6)
·                                             In the debugger, display the internal table FT[]
·                                             Menu: Select Go to-> Display data object -> Structure editor or display the table contents directly.
·                                             The lines with ID = 'PG' (loaded programs) are relevant
·                                             The Value column contains entries such as:

------------Program name-------------------------------- DSEG Index
0: Prg ZBGTEST 20020408160013 65535 D 26802 3 X 0
1: Prg SAPMSSY0 20020211150614 65535 D 14882 21 1
2: Prg SAPMSSYD 20020211150614 65535 D 14389 36 1
-----------------------------------------------------------^^^

Therefore, the ZBGTEST program starts at DSEG index 3 and ends at index 20. ZBGTEST therefore needs 18 DSEG entries.
STORAGE_PARAMETERS_WRONG_SET

Installation error.

What happened?
The current program had to be terminated because of an
error when installing the R/3 System.
The program had already requested 72889680 bytes from the operating
system with 'malloc' when the operating system reported after a
further memory request that there was no more memory space
available.


What can you do?
Restart the SAP System.

Error analysis
When the program was running, it was established that more
memory was needed than the operating system is able safely
to provide. To avoid a system crash, you must prevent this
situation from occurring.

How to correct the error
Report the error to the group responsible for installing your
R/3 System.

As per OSS Notes: 51959

Symptom
Runtime error STORAGE_PARAMETERS_WRONG_SET
Additional key words
Memory Management 3.0
Cause and prerequisites
The SAP System attempts to allocate memory areas from the memory area 'HEAP'. However, this memory is exhausted, although
1. one of the following profile parameters has not yet been reached.

- abap/heap_area_dia    (Memory that a single dialog process ..)
- abap/heap_area_nondia (.. a single non-dialog process ..)
                        (.. can allocate (maximum) )

These profile parameters are obviously not checked against the available SWAP memory on the application server. You can determine this memory with the SAP program 'memlimits', which can be found in the exe directory of your application server.
Solution
1. 1. Note the value that is given as the allocated memory under 'What happened' in the short dump, and subtract 10000000.
2. 2. Set the system profile parameter ABAP/heap_area_nondia to this value. If the parameter ABAP/heap_area_dia is now larger than ABAP/heap_area_nondia, set this parameter to the noted value as well.
3. 3. Restart the SAP System.
4. 4. If a short dump occurs again, but with a different text, there is an infinite loop in application that probably fills a table using APPENDs.

As per the OSS Notes : 44528

Symptom
The ABAP program terminates with short dump STORAGE_PARAMETERS_WRONG_SET.
Reason and Prerequisites
The session terminates because the maximum permitted or technically possible amount of memory (or, more exact: address space) has been exceeded.
·                     On 64-bit platforms, the address space that can technically be used is sufficient. This termination usually occurs if operating system quotas or SAP system quotas have been exceeded.
·                     On 32-bit platforms, the maximum address space that is technically possible is severely restricted. Here, the termination usually occurs because the technical limits of the operating system, which are usually below set quotas, have been exceeded The maximum address space available to an ABAP session is limited to a few 100 MB in the standard setting. Under certain circumstances, the space can be increased by a few 100 MB using special parameter settings; however, this will affect buffer sizes and therefore performance negatively.

Quotas are used to terminate sessions with unreasonably high address space and memory requirements in time to prevent other programs or the actual operating system from being negatively affected by resource bottlenecks.
If the error mentioned above occurred, you must determine if the terminated session exceeded a reasonable size, if the operating system limits or quotas have been exceeded, or whether higher quotas can be set.

The following explains how to determine the size of a session:
·                     While the session is active:
           SM50-> Details: Size of the session while it is processed in a work process 
           SM04-> Memory: Total size of all sessions within a log on, and sizes of the individual subsessions
 
·                     After the session ended:
           ST22: Size at the time of termination 
           STAT,STAD: Consumption at roll-out in the various process steps
 
           ST02-> Memory: Consumption of extended memory and process-local memory (heap)
 

The actual consumed address space may in some cases be larger than the size displayed. The reasons for this are:
·                     The alignment data and administration data requires further bytes for each allocated memory portion. Depending on the average size of the allocated memory portions, an additional requirement of 10 % or more may result.
·                     A fragmented address space may, in problematic cases, result in the problem that the memory can no longer be allocated, although sufficient address space is available. Fragmentation means that the free areas of the address space have, due to repeated allocation and release of space with unfavorable portion sizes, become too small to meet the requirement for a large, contiguous portion of memory space.
·                     The session size at the end of the processing step is displayed in the overview of the statistic records. A temporary maximum size that occurred within the processing step is only displayed in the detail view. The maximum size provides more information especially for long-running steps such as batch jobs.
Memory classes
There are several strategies according to which address space is allocated in sessions depending on the platform and configuration. The goal is to optimally use all available resources.
Three different memory classes can be used.
·                     Roll:
is located in the local address space of the work process, and is copied to or from the rollfile or roll buffer at the start and end of a processing step.
·                     Extended Memory (EM):
is located in the shared address space, and is made available or unavailable to the address space of the work process at the start and the end of a processing step by mapping or memory protection mechanisms.
·                     Heap (process-local memory):
is located in the local address space of the work process and cannot be separated from the work process.
Allocation strategies:
1. Strategy: First minimal roll, then EM, then rest roll, then heap.
This strategy is used in sessions that do not require a work process at the moment, for example, dialog sessions. As long as a heap is not used, you can free-up the previously used work process for other sessions.
This strategy is also used for sessions that occupy a work process continuously (for example, batch) on platforms where the total amount of EM could be very large due to the implementation (for example, Windows, Linux, special EM implementation for AIX).
2. Strategy: First complete roll, then heap, then EM
This strategy is used in sessions if the total amount of EM is subject to tight limits, and the session occupies the work process continuously, so that the work process is not required to be freed for other sessions (for example, batch).

Settings for individual memory classes:
·                     Roll:
ztta/roll_area: Size of the area in the work process
ztta/roll_first: Roll section used in strategy 1 before EM is used.
rdisp/ROLL_MAXFS: Size of the total swap area for roll for all sessions (rollfile).
rdisp/ROLL_SHM: Size of the part of the rollfile buffered in the memory.
·                     Extended Memory EM:
ztta/roll_extension: Quota for the maximum EM amount that a session can use.
Different parameters exist for setting the EM total amount of an instance, which depend on the platform-specific implementation.
·                                             Unix standard implementation:
em/initial_size_MB
·                                             Windows, Linux:
em/initial_size_MB, em/max_size_MB, em/address_space_MB
·                                             Special implementation for AIX:
ES/SHM_SEG_COUNT, ES/SHM_SEG_SIZE, ES/PROC_SEG_COUNT, EM/TOTAL_SIZE_MB
·                     Heap: Quota for the maximum heap amount that a session can use.
abap/heap_area_dia, abap/heap_area_nondia, abap/heap_area_total
Operating system limits:
You can use the memlimits test program to assess the limits of the address space on a certain platform, and check the correct settings and operation of the operating system.
Caution:
In extreme cases, this program could set the server to be tested to a status that requires a restart of the server.

Example:
memlimits -h      ...issues help text
memlimits -l 40000   assess address space up to 40 GB
Solution
Determine the memory consumption of the application program or the session and compare it to the existing limits.
Determine whether you want to make more address space available to the session, and increase the relevant settings if required or possible.
Decide whether the session size of the application program could be kept smaller, for example, by reducing the data amount processed.
Determine whether the application program requires too much memory, and whether you could decrease it. See Note 185185 to analyze the memory requirement.
Documentation
A detailed description of SAP Memory Management and all relevant profile parameters is available in the documentation at:
http://help.sap.com/saphelp_nw2004s/helpdata/de/02/96253c538111d1891b0000e8322f96/frameset.htm
TIME_OUT

Time limit exceeded.

Error analysis
After a certain time, the program terminates to free the work process
for other users who are waiting.
This is to stop work processes being blocked for too long by
- Endless loops (DO, WHILE, ...),
- Database acceses with large result sets,
- Database accesses without an apporpriate index (full table scan)
- database accesses producing an excessively large result set,
The maximum runtime of a program is set by the profile parameter
 "rdisp/max_wprun_time".
The current setting is 7200 seconds. After this, the system gives the
program a second chance. During the first half (>= 7200 seconds), a
call that is blocking the work process (such as a long-running SQL
statement) can occur. While the statement is being processed, the
database layer will not allow it to be interrupted. However, to
stop the program terminating immediately after the statement has been
successfully processed, the system gives it another 7200 seconds.
Hence the maximum runtime of a program is at least twice the value of
the system profile parameter "rdisp/max_wprun_time".

As per OSS Notes: 505585

Symptom
The purchase orders mass maintenance terminates with
           ABAP runtime error TIME_OUT.
 Other terms 
MASS, MEMASSPO, BUS2012, MASS_CHANGE_PURCHASE_ORD,
TIME_OUT, PERFORMANCE, long runtime, NAST,
/1BCDWB/DBNAST, /1BCDWB/DBNAST,
SELECT_COUNT_STAR
Reason and Prerequisites
The problem is caused by a program error.
Before posting, the mass maintenance examines whether there are any notifications for the purchase order. The selection of notifications for a purchase order of table NAST terminates with ABAP runtime error TIME_OUT since the selection is only restricted to object key ekpo-ebeln.
The correction provides the selection of notifications for a purchase order in the mass maintenance with condition NAST-KAPPL = 'EF' (application for notification conditions).
Solution
Implement the attached advance correction.
Corrections Instructions
Correction
Instruction
Valid
from
Valid
to
Software
Component
Type *)
Ref.
Correction
Last
Modifcation
46C
46C
SAP_APPL
C
P9CK249266
21.03.2002  13:17:19
46B
46B
SAP_APPL
C
P9BK220218
13.09.2002  16:32:42
45B
45B
SAP_APPL
C
P4DK196533
21.03.2002  14:40:53


TSV_TNEW_PAGE_ALLOC_FAILED
ShrtText
    No storage space available for extending an internal table.

What happened?
    You attempted to extend an internal table, but the required space was
    not available.

What can you do?
To resolve the problem, contact your SAP system administrator.

 You can use transaction ST22 (ABAP Dump Analysis) to view and administer
 termination messages, especially those beyond their normal deletion
 date.

 Try to find out (e.g. by targetted data selection) whether the
 transaction will run with less main memory.

 If there is a temporary bottleneck, execute the transaction again.
 -

 If the error persists, ask your system administrator to check the
 following profile parameters:

 o  ztta/roll_area            (1.000.000 - 15.000.000)
        Classic roll area per user and internal mode
        usual amount of roll area per user and internal mode
 o  ztta/roll_extension       (10.000.000 - 500.000.000)
        Amount of memory per user in extended memory (EM)
 o  abap/heap_area_total      (100.000.000 - 1.500.000.000)
        Amount of memory (malloc) for all users of an application
        server. If several background processes are running on
        one server, temporary bottlenecks may occur.
        Of course, the amount of memory (in bytes) must also be
        available on the machine (main memory or file system swap).
        Caution:
          The operating system must be set up so that there is also
          enough memory for each process. Usually, the maximum address
          space is too small.
          Ask your hardware manufacturer or your competence center
          about this.
          In this case, consult your hardware vendor
   abap/heap_area_dia:        (10.000.000 - 1.000.000.000)
          Restriction of memory allocated to the heap with malloc
          for each dialog process.
   Parameters for background processes:
   abap/heap_area_nondia:        (10.000.000 - 1.000.000.000)
          Restriction of memory allocated to the heap with malloc
          for each background process.
   Other memory-relevant parameters are:
   em/initial_size_MB:         (35-1200)
          Extended memory area from which all users of an
          application server can satisfy their memory requirement.

As per OSS Notes: 600176
Symptom
When you execute Transaction GD13 (FI-SL Display Totals Records), the system generates a termination with runtime error TSV_TNEW_PAGE_ALLOC_FAILED because of a shortage of main memory.
Reason and Prerequisites
Poor performance of programming, not enough main memory
Solution
Implement the attached corrections or import the appropriate Support Package.
If you implement the corrections manually, afterwards you have to adjust the following function module parameters using Transaction SE37 (only with IMPORT):
1. Function module G_GLU1_ACCUMULATE_FOR_GD13:
              Import parameters: 
Parameter Name
Optional
Pass value
I_FIELDS
   X
I_FIELDS_KEY
I_T_TABLE
I_PERIOD_AGG
   X
2. Function module G_GLU1_C_TAB_MODIFY_WITH_RANGE:
              Import parameters: 
Parameter Name
Optional
Pass value
I_SELECTION
I_GLU1_CUM_IN
3. Function module G_GLU1_WORKAREA_LIST_TO_RANGE:
              Import parameters: 
Parameter Name
Optional
Pass value
I_TABLEAREA
I_LIST
I_TABLEAREA_CUM
   X

If the termination with TSV_TNEW_PAGE_ALLOC_FAILED still occurs, then the physical memory of your application server is no longer sufficient for the selection criteria entered. In this case, the only thing that helps is a further restriction of the selections; however, an optimization of memory management may also be possible (see Note 103747).
 
Corrections Instructions
Correction
Instruction
Valid
from
Valid
to
Software
Component
Type *)
Ref.
Correction
Last
Modifcation
46A
470
SAP_APPL
C
P6BK064996
27.02.2003  14:44:25
CONNE_IMPORT_WRONG_COMP_TYPE
ShrtText

    Error when attempting to IMPORT object "P_FCTPAR".

What happened?
    Error in ABAP application program.

    The current ABAP program "PPIO_ENTRY" had to be terminated because one of the
    statements could not be executed.

    This is probably due to an error in the ABAP program.

    When attempting to import data, it was discovered that the data
    type of the stored data was not the same as that specified in the
    program.

Error analysis
    An exception occurred. This exception is dealt with in more detail below
    . The exception, which is assigned to the class 'CX_SY_IMPORT_MISMATCH_ERROR',
     was neither
    caught nor passed along using a RAISING clause, in the procedure
     "%_IMPORT_VARI_CLNT" "(FORM)"
    .
    Since the caller of the procedure could not have expected this exception
     to occur, the running program was terminated.
    The reason for the exception is:
    When importing the object "P_FCTPAR", the component no. 1 in the
    dataset has a different type from the corresponding component
    of the target object in the program "PPIO_ENTRY".

    The data type is "C" in the dataset, but "y" in the program.

As per the OSS Notes : 734223

Symptom
During the revaluation run via Transaction OKQ3 the job terminates. Termination CONNE_IMPORT_WRONG_COMP_TYPE occurs in program RKKRMERK in form MERKMALE_NACHBEWERTEN.
Reason and Prerequisites
The problem is caused by a program error.
Solution
Implement the attached correction instructions.
Corrections Instructions
Correction
Instruction
Valid
from
Valid
to
Software
Component
Type *)
Ref.
Correction
Last
Modifcation
470
500
SAP_APPL
C
P6BK143124
05.05.2004  08:40:53

Runtime Error    CONVT_NO_NUMBER
Except.                CX_SY_CONVERSION_NO_NUMBER

ShrtText
    Unable to interpret "4.40UPLOADFEB2 " as a number.

As per  OSS Notes : 1006304

Symptom
You want to call a transaction of the extended evaluation (for example, transaction CM50) in ALV-mode. In the process, the system displays the runtime error CONVT_NO_NUMBER, CX_SY_CONVERSION_NO_NUMBER, "*****" cannot be interpreted as a number.



Reason and Prerequisites
This problem is caused by a program error.
The error occurs if you want to display the capacity utilization percentage in a period with an available capacity of zero and if the capacity load of this period is greater than zero.
Solution
Implement the attached correction.
Corrections Instructions
Correction
Instruction
Valid
from
Valid
to
Software
Component
Type *)
Ref.
Correction
Last
Modifcation
470
600
SAP_APPL
C
P6BK242606
08.12.2006  14:41:36

MESSAGE_TYPE_X

The current application triggered a termination with a short dump.

What happened?
The current application program detected a situation which really
should not occur. Therefore, a termination with a short dump was
triggered on purpose by the key word MESSAGE (type X).

How to correct the error
Probably the only way to eliminate the error is to correct the programyourself,
use the following search criteria:

"MESSAGE_TYPE_X" C
"SAPLRSM2 " or "LRSM2F16 "
"ODS_EINBUCHEN"

As per the OSS NOTES: 940654
Symptom
Open any hyperlink from a Winword document via SE38. The relevant document would be openedin Word. Here, when you select the 'BACK' option, a short dump occurs with error MESSAGE_TYPE_X, in SAPLCNTL.
Other terms
Document, Link, winword, BACK, short dump, MESSAGE_TYPE_X,SAPLCNTL
Reason and Prerequisites
This dump occurs due to some problem while releasing GUI containers/controls. Please also check the OSS note 815686 for more information.
Solution
Please apply the corrections in the note via SNOTE, or import the relevant Support Package.

Highest Implemented Support Package
Support
Packages
Release
Package
Name
SAP_BASIS
46C
SAP_BASIS
46D
SAP_BASIS
610
SAP_BASIS
620
SAP_BASIS
640
SAP_BASIS
700

SPOOL_INTERNAL_ERROR

ShrtText
    Internal error in the spool system.
What happened?
    The current ABAP program had to be terminated because the
    ABAP processor detected an internal system error.
    The current ABAP program "ZRSALERTDISP" had to be terminated because the ABAP
    processor discovered an invalid system state.
Error analysis
    When calling the SAP spool system, an (unspecified) internal
    error occurred.

As per the OSS Notes : 16534

Symptom
Batch job terminates due to errors in the spooler
SysLog F82:    Invalid writer count
No handle for an open TemSe object
(magic==X'4f444f23')
Some error in TemSe management
Runtime error "SPOOL_INTERNAL_ERROR" occurred
Transaction termination 00671
Other terms
Spool, RSPO0043, RSPO1043
Reason and Prerequisites
Spooler consistency check RSPO0043 or RSPO1043 is used in the productive system with a "lock-delete duration" that is too low.
The problem can arise both during online checks in the SPAD and in the batch.
To date, there has been no other definitive cause.

Important: RSPO0043 is obsolete. Use only RSPO1043 for the spooler TemSe consistency check.

The spooler consistency check RSPO1043 deletes the write locks on spool requests that are older than a certain duration. This duration (the "age" of the write locks) is specified as the parameter "Release locks after...minutes".
The standard value for RSPO1043 is 10080 minutes, or seven days. The problem cannot occur with this standard value, since there are normally no batch jobs that have a runtime up to seven days.
(RSPO0043 has a standard value of thirty minutes, RSPO0043 should no longer be used, see above)
Solution
Select the parameter "Release locks after ... minutes" so that it is large enough so that no write locks of spool requests of current batch jobs are affected during the daily execution of RSPO1043.
OBJECTS_OBJREF_NOT_ASSIGNED_NO
CX_SY_REF_IS_INITIAL

Short text
    Access via 'NULL' object reference not possible.

Error analysis
    An exception occurred that is explained in detail below.
    The exception, which is assigned to class 'CX_SY_REF_IS_INITIAL', was not
     caught in
    procedure "ACTION_001" "(FORM)", nor was it propagated by a RAISING clause.
    Since the caller of the procedure could not have anticipated that the
    exception would occur, the current program is terminated.
    The reason for the exception is:
    You attempted to use a 'NULL' object reference (points to 'nothing')
    access a component.
    An object reference must point to an object (an instance of a class)
    before it can be used to access components.
    Either the reference was never set or it was set to 'NULL' using the
    CLEAR statement.

As per the OSS Notes: 554303
Symptom
Runtime error OBJECTS_OBJREF_NOT_ASSIGNED_NO exception CX_SY_REF_IS_INITIAL in CL_UG_MD_CHAR->IF_UG_MD_CHAR~COUNT-VALUE.
Reason and Prerequisites
The object reference was not assigned.
Solution
Implement the note.
Corrections Instructions
Correction
Instruction
Valid
from
Valid
to
Software
Component
Type *)
Ref.
Correction
Last
Modifcation
1.0B
1.0B
FINBASIS
C
S19K002603
13.09.2002  09:46:39

As per the OSS Notes : 867606
Symptom
In the program /BA1/SAPLB1_EACC_SERVICES, the runtime error
OBJECTS_OBJREF_NOT_ASSIGNED_NO occurs when you access an object reference that was not referenced (zero).
Other terms
CX_SY_REF_IS_INITIAL
Reason and Prerequisites
The problem is due to a program error.
Solution
Implement the correction.
Corrections Instructions
Correction
Instruction
Valid
from
Valid
to
Software
Component
Type *)
Ref.
Correction
Last
Modifcation
40
40
BANK-ALYZE
C
PNNK008079
03.08.2005  07:43:04


DDIC_TYPES_INCONSISTENT
As per the OSS Notes: 595069

Symptom
·                     An ABAP program terminates with one of the following runtime errors:
·                                             DDIC_STRUCLENG_INCONSISTENT
·                                             DDIC_TYPES_INCONSISTENT
·                                             other runtime errors of the format DDIC_..._INCONSISTENT
·                     An error occurs that was apparently caused by an inconsistency of a DDIC runtime object, that is, the ABAP program does not work with the correct type description of a DDIC object.
However, when checking the runtime object in transaction SE11, the system reports that the runtime object is consistent.

The object is of a nested data type, that is, a DDIC object with Includes.
Reason and Prerequisites
A runtime object (also called NAMETAB object) is created from the description of a data type in the ABAP dictionary (DDIC). The ABAP runtime uses this runtime object if the relevant DDIC object is used in an ABAP program.

Inconsistencies may occur during the generation of the DDIC runtime object, that is, the header or the field list differ from the current source of the DDIC object. If such an inconsistent runtime object is used in an ABAP program, the system may issue the above-mentioned runtime errors.  This may also cause various other errors, for example, when internal tables or structures are accessed.

When checking a runtime object in transaction SE11, the system only performs a consistency check on the highest level of an object. However, if the object is a nested structure with Includes, the check in SE11 will not directly find inconsistencies in the Includes.
Solution
As of Release 6.20 of the SAP Web Application Server, the standard version contains a RSDDCHECK report. The report allows you to check DDIC runtime objects in a recursive way, that is, to perform a complete check that also comprises all included data types of a nested DDIC object.

You can check individual DDIC objects but also all dependent objects of an ABAP program or a class.

By importing the Support Packages listed below, the report is also made available in Basis Releases 4.5B to 6.10 (AS Web).

The source code of the report is attached to this note so that you can implement it if required if the relevant Support Package was not yet imported. A separate version exists for Release 4.5B. The version attached for Release 4.6X can also be used in Release 6.10/6.20.

An extended version of the report for Releases 4.6B until 6.40 extends the checks for (1) incorrect length of table types and (2) existing DDIC runtime objects without a source. To do this, import the corresponding Support Packages, which are also listed.

Description of the functions of the RSDDCHECK report
1. Selecting the objects to be checked
                    You can either select the objects to be checked directly on the selection screen of the report or you can specify a program or class. In this case, the report determines all DDIC objects that are used in the program and then checks this object set. 
2. Display options:
                    By default, only inconsistent runtime objects are displayed in the list of results. However, you can also display a complete list of all objects checked. This view also displays the hierarchical structure of nested objects. 
                    As of Release 6.20 of the Web Application Server, DDIC structures have an enhancement category. You can display the enhancement category for all structures checked. The display also shows if the implicit enhancement category corresponds to the explicit enhancement category (inconsistencies may occur in this case with nested structures).
 
3. List of results
                    If the check finds inconsistent DDIC runtime objects, they are listed in the following format: 
                    [Action][number]...name (internal type) header/field
 
                    [Action] or [number] represent two icons you can use to activate the DDIC object directly or to display the runtime object.
 
                    The number of dots before the object name specifies the maximum nesting depth used to include the inconsistent object in other objects.
 
                    The internal type shows if the object is, for example, a data element, a structure, and so on.
 
                    The end of the line shows if the header or the field list of the runtime object is inconsistent.
 
                     Caution: Bear in mind that when activating a central DDIC object, the system must also activate and generate a large number of additional DDIC objects and dependent ABAP programs. This may cause considerable performance problems. You should, therefore, only perform this step with caution in a production system.
Highest Implemented Support Package
Support
Packages
Release
Package
Name
SAP_APPL
45B
SAP_BASIS
46B
SAP_BASIS
46B
SAP_BASIS
46C
SAP_BASIS
46C
SAP_BASIS
46D
SAP_BASIS
46D
SAP_BASIS
610
SAP_BASIS
610
SAP_BASIS
620
SAP_BASIS
620
SAP_BASIS
640
CALL_FUNCTION_OPEN_ERROR
As per the OSS Notes : 507808
Symptom
The user menu of the Easy Access allows to start transactions in a system
via a Trusted/Trusting connection. By default, the transactions are
started via synchronous RFC in the same window. Unfortunately, this leads to some problems.

If user enters "/n" in Command-field of the target system (server),the
transaction is cancelled and the remote system is closed. Although this
works as designed many customers complain about this behavior.

Some transactions use the instruction "leave to transaction sy-tcode" to return to the initial screen. When these transactions are called remotely the system returns to the calling system and tries to start the transaction there. This behavior is undesired but unavoidable when synchronous RFC is used.
Other terms
RFC, TRANSACTION, CALL_FUNCTION_OPEN_ERROR
Solution
By setting a customizing flag, it is now possible to start remote transaction in a separate window using asynchronous RFC. To enable asynchronous RFC, the entry ASYNC_RFC=YES has to be added to table SSM_CUST. Please note: The new window flag is ignored if asynchronous RFC is turned on (for remote transactions only).
Corrections Instructions
Correction
Instruction
Valid
from
Valid
to
Software
Component
Type *)
Ref.
Correction
Last
Modifcation
610
610
SAP_BASIS
C
Y6AK014949
02.04.2002  11:58:48
620
620
SAP_BASIS
C
Y6BK003805
02.04.2002  12:01:55
46D
46D
SAP_BASIS
C
Y9DK024061
02.04.2002  12:06:28
46C
46C
SAP_BASIS
C
Y9CK026632
02.04.2002  12:08:18
46B
46B
SAP_BASIS
C
Y9BK019876
12.04.2002  08:22:35

As per the OSS Notes: 493396
Symptom
The following error is displayed when you process a transactional RFC:CALL_FUNCTION_OPEN_ERROR
Protocol error when communicating with SAP GUI
The termination occurred in the ABAP/4 program "SAPLOLEA" in "AC_FLUSH_CALL_INTERNAL".
Other terms
Error in middleware
Reason and Prerequisites
This is a side effect of a program correction contained in the SAP kernel.
The error occurs in Release 4.6D after you import patch level 944.
Solution
The error is corrected with patch level 956. You have to import the new kernel. A short-term solution for the error (workaround) is to comment out the GET PARAMETER ID 'GUI_IS_ON' FIELD GUI_IS_ON command in the GUI_IS_AVAILABLE function module.
If the error still occurs, this is most likely due to an incorrect GUI installation.
Install the GUI again.
DATASET_CANT_OPEN
As per the OSS Notes: 777057

Symptom
BCA_ALIAS is terminated with dump DATASET_CANT_OPEN because the error file cannot be opened.
Reason and Prerequisites
The problem is caused by a program error.
Solution
Implement the attached source code correction.
Corrections Instructions
Correction
Instruction
Valid
from
Valid
to
Software
Component
Type *)
Ref.
Correction
Last
Modifcation
20
20
BANK-TRBK
C
PBJK035016
27.09.2004  13:24:38
SPOOL_I/O_ERROR
As per the OSS Notes: 379482

Symptom
You start the RFDOPR10 report as a background job with a large dataset. The job terminates with the following error message: ABAP-processor: SPOOL_I/O_ERROR.
Other terms
RFAUSZ00, RFDAPO00, RFDEPL00, RFDOFW00, RFDOPO00, RFDOPO10, RFDOPR00 RFDOPR20, RFKAPO00, RFKEPL00, RFKOFW00, RFKOPO00, RFKOPR00, RFKLBU10, RFKLETT00, reporting, block table
Reason and Prerequisites
The block table with large datasets overflows.
Solution
Implement the modification note to solve the problem. Implement the source code corrections specified below.
Corrections Instructions
Correction
Instruction
Valid
from
Valid
to
Software
Component
Type *)
Ref.
Correction
Last
Modifcation
300
470
SAP_APPL
C
H9CK929097
25.07.2005  09:21:04

OPEN_DATASET_NO_AUTHORITY

As per the OSS NOTES : 927564

Symptom
When you terminate a measurement with the ABAP runtime analysis, the system generates the OPEN_DATASET_NO_AUTHORITY runtime error in the CL_ABAP_TRACE_SWITCH=>OFF( ) method.
Other terms
ABAP, runtime analysis, switch=>off
Reason and Prerequisites
The runtime measurement terminates with an error. When you attempt to determine the error cause from the header of the performance data file, the above-mentioned short dump occurs due to missing S_DATASET authorization.
Solution
If the user does not have the mentioned authorization, the system does not read the header of the performance data file. As a result, you cannot determine the exact error cause for the termination of the runtime measurement. The system then issues the following status message:
  "Measurement could not be completed ()"
A respective Support Package and correction instruction are available.
Highest Implemented Support Package
Support
Packages
Release
Package
Name
SAP_BASIS
620
Corrections Instructions
Correction
Instruction
Valid
from
Valid
to
Software
Component
Type *)
Ref.
Correction
Last
Modifcation
620
620
SAP_BASIS
C
Y6BK074894
27.02.2006  16:07:37




Runtime Errors         PERFORM_NOT_FOUND
Except.                CX_SY_DYN_CALL_ILLEGAL_FORM

Symptom
In Release ERP 2004 (ECC 5.00), when you select an entry in the hit list of the missing parts information system (transaction CO24) and choose the 'Refresh -> Selected objects' function, the PERFORM_NOT_FOUND short dump occurs with the CX_SY_DYN_CALL_ILLEGAL_FORM exception.
In Release ERP 2005 (ECC 6.00), when you select an entry and choose the 'Read -> Selected objects' function, the above short dump occurs as well.
Other terms
CO24, PPCMP000, missing parts information system, MissingPartsInfoSyst
Reason and Prerequisites
This problem is caused by a program error.
Solution
Implement the relevant correction for your release.
Corrections Instructions
Correction
Instruction
Valid
from
Valid
to
Software
Component
Type *)
Ref.
Correction
Last
Modifcation
500
500
SAP_APPL
C
P6DK096494
18.12.2006  17:00:29
600
600
SAP_APPL
C
P7DK062605
18.12.2006  17:02:48


No comments:

Post a Comment