// ]]>

Thursday, 18 September 2014

ST22 ABAP programming errors

ST22 ABAP programming errors
1) STORAGE_PARAMETERS_WRONG_SET

The problems with the dump STORAGE_PARAMETERS_WRONG_SET are mainly related to the general restrictions of the 32bit OS. You can address up to 4GB of virtual memory. Each process in OS is running in its own context and can address max. 4GB. the parameters which are related to ‘heap memory’ ie- abap/heap_area_dia,
abap/heap_area_nondia,
abap/heap_area_total
are should be set to 2 GB. Common approaches which we can take for this dump are:
a) Please use in the ‘boot.ini’ file the switch ‘/3GB’ and restart your whole computer as described in the below SAP Notes:
SAP Note 552209 – Maximum memory utilization for processes on NT/Win 2000
SAP Note 313347 – Windows NT, 2000, 2003: Editions and memory usage.

b) Another way to avoid this problem is to try to add more criteria to your report/program/transaction so that there will be fewer entries that need to be retrieved from your database or buffers. This way, the system would not need to use up much resource to complete the transaction. The query may have been quite big already and the load cannot be accommodated. So please do add more criteria or options so that there will less data to fetch.
c) To decrease the value of the parameters: rdisp/ROLL_SHM, rdisp/PG_SHM
d) Migrate to 64-bit OS (as per SAP Note 931024 and SAP Note 996600)


2)
 TSV_TNEW_PAGE_ALLOC_FAILED
The error TSV_NEW_PAGE_ALLOC_FAILED means that more memory was requested by the system because the program needed to expand an internal table, but not is available. When Extended Memory is completely used up, the process will go into PRIV mode and it will start using Heap Memory in case of Windows or vice versa in case of UNIX. Once this enters into PRIV mode, no other user will be able to use the corresponding work process. If there is enough memory for it to finish, you will not see the error.
Roll area
extended memory area(EM)    
fixed storage space (HEAP)  
Short area
Paging area
Max address area
Please refer the following SAP notes:
SAP Note 649327 – Analysis of memory consumption.
SAP Note 20527 - Runtime error TSV_TNEW_PAGE_ALLOC_FAILED
SAP Note 185185 – Application: Analysis of memory bottlenecks
SAP Note 369726 - TSV_TNEW_PAGE_ALLOC_FAILED





3)
 TSV_TNEW_OCCURS_NO_ROLL_MEMORY
The dump TSV_TNEW_BLOCKS_NO_ROLL_MEMORY usually means that the roll buffer has been exhausted. Please check the usage of your roll buffer with ST02->History->Page. Near the bottom of the screen you can see ROLL BUFFER history. If the roll buffer has been exhausted, you can increase the size with parameter rdisp/ROLL_MAXFS, but make sure you have sufficient disk space to handle the additional size of this buffer if it writes to disk.
Please refer the following SAP note:
SAP Note 185185 - Application: Analysis of memory bottlenecks

4)
 LOAD_PROGRAM_LOST
The LOAD_PROGRAM_LOST error can occur when there are two or more versions of a given program loaded into the buffer at any given time. This happens when the program is changed by one user while it is still in use by another user. When a user gets to the program that is having this problem and R/3 attempts to load the generated version from the buffer, it sees that the version is not the most current and tries to swap it out for the most current, but the load was lost from the PXA buffer, hence it throws the dump of LOAD_PROGRAM_LOST. LOAD_PROGRAM_LOST are the result of the combination of not enough PXA space + changes of programs which are in use currently. A running program can’t run with two different versions of one program. Ask the users restart their transactions (/nST22). By the way, if the PXA would be big enough then the user who does not leave their transaction for weeks will not see the changes to this application until they restart the transaction.
Other way to correct the error is you need to run transaction SAMT & regenerate the program(s) that are listed in the dump. You can then do a $SYNC in the command field in the affected application server, but make sure that the other application servers are not running at that time. After the $SYNC, the other app servers can be brought up and the buffers should then be in sync.
Please refer the following SAP notes:
SAP Note 5451 – LOAD_PROGRAM_LOST
SAP Note 24824 – Inconsistencies in a Program Load
SAP Note 10367 – Termination LOAD_PROGRAM_LOST

5
) CALL_FUNCTION_SIGNON_INCOMPL
The short dump CALL_FUNCTION_SIGNON_INCOMPL is typical of an RFC-Call with incorrect or missing logon-data. So, we have to find out where the call is coming from.
Please refer the following SAP notes:
SAP Note 171805 - Determining RFC client when sign-on problems occur.
SAP Note 684788 - Possible reason for CALL_FUNCTION_SIGNON_INCOMPL.
SAP Note 901256 – Rabax “CALL_FUNCTION_SIGNON_INCOMPL”.



6)
 RFC_NO_AUTHORITY
This error mostly appears with the user SAPSYS. The user SAPSYS is an internal user, it is not a personally used ID in the R/3 system. However, all system errors and ABAP programs are run via this user id. As per note
 93254, since release 4.0 the parameter auth/rfc_authority_check is set on 1 per default. This means, as long as you did not set it explicitly to value ‘0′, any incoming RFC call is checked as described in the mentioned note.
The common approaches which we can take on this dump are:
1. Deactivate RFC authority Check: set auth/rfc_authority_check to value ’0′ (zero) in your profile and restart the server. (This is the least secure option as any authorization checks are disabled for all RFC requests).
.
2. Assign full RFC authorities to the users who need to connect to your system via RFC.
Please also check the user id provided in RFC connection (check from SM59) which cause the dump RFC_NO_AUTHORITY. Make sure that this user has sufficient authorizations.

Please refer the following SAP notes:
SAP Note 171805 – Determining RFC client when sign-on problems
SAP Note 93254 - RFC short dump RFC_NO_AUTHORITY
SAP Note 91980 – Missing output of RFC short dump after login errors

7)
 SYSTEM_NO_TASK_STORAGE
For this error, please go to service market to download the latest patch for your SAP Application release and apply the patch. The latest patch would be useful for the problem. The SYSTEM_NO_TASK_STORAGE is a known problem and related to limitation of 32bit OS. Please see notes 110172, 552209, 546361 for details. As long term solution you have to use 64bit Windows (Note 996600).The cause for the dump SYSTEM_NO_TASK_STORAGE could also be an old sap collector. SAP recommends using the updated collector version always.
The common approaches which we can take on this dump are:
1. Check your settings match the recommendations mentioned in SAP Note 146289.
2. Are limits set according to SAP Note 323816? (Referenced in SAP Note 146289)
3. If there is no additional instances on same host then it should be possible to increase EM/TOTAL_SIZE_MB from 4096 MB towards the RAM and even higher so that ztta/roll_extension can be reached. Also the swap space should be set according to SAP Note 153641 for this.

Please refer the following SAP notes:
SAP note 789477 – Large extended memory on AIX (64-bit) as of Kernel
SAP note 191801 - AIX 64-bit with a lot of Extended Memory
SAP note 445533 - Lots of extended memory on AIX (64-bit)
SAP note 581319 - Signal 33 on AIX (64-bit only)
SAP note 153641 – Swap space requirement for R/3 64-bit kernel



8)
 CALL_FUNCTION_NOT_FOUND
The error CALL_FUNCTION_NOT_FOUND is due to the fact that the program called the function which doesn’t exist in the library. Means the requested function module is not found in table TFDIR. Also you may get this error if the buffered version of the TFDIR contains errors. The error needs to attention based on the function module. You may take a general approach mentioned in the SAP Note 98458.

Please refer the following SAP note:
Error causes:

(1) The function module does not exist (SE16 table=TFDIR)
(2) The buffered version of the TFDIR contains errors.

SAP Note 98458 - SAPMSSY1, CALL_FUNCTION_NOT_FOUND

9)
 CALL_FUNCTION_SINGLE_LOGIN_REJ
This error usually comes when you don’t have sufficient authorization to login to the trusted system. This dump accompanies with 4 different error codes:
0 – Incorrect logon data for valid security ID.
1 – Calling system is not a Trusted System or security ID is invalid.
2 – Either user does not have RFC authorization (authorization object S_RFCACL), or a logon was performed using one of the protected users DDIC or SAP*.
3 – Time stamp of the logon data is invalid.

Please refer the following SAP notes:
Note 986707 – No authorization to log on as a trusted system (RC=1)
SAP Note 128447 – Trusted/Trusting Systems
SAP Note 204039 – Authorization check in trusted system


10)
 SYSTEM_CORE_DUMPED
Generally, SYSTEM_CORE_DUMPED is related to R/3 system kernel. Upgrade the kernel patch to the latest may solve the issue. But without a detail analysis of the core dump at the Kernel, we cannot conclude the reason behind the dump. I would recommend contacting SAP for this dump.
SAP Note 19466 – Downloading SAP kernel patches

11) PXA_NO_SHARED_MEMORY
In most situations where the ST22 DUMP PXA_NO_SHARED_MEMORY occurs there is not enough contiguous address space to create the buffer of size
xMB Approx (where x is size in mega bytes).
 
The SAP note 129813 may be relevant as some DLLs may be positioned that are stopping the creation of this large buffer on Windows platforms.
Also SAP note 307976 gives information about this dump type PXA_NO_SHARED_MEMORY.
 

12)  Message_Type_X/RAISE_EXCEPTION … CNTL_ERROR
      
 Is a GUI related error. Go for latest GUI version to avoid this error.
How to check patch level of GUI-
àopen GUI-àF10-àabout SAP logon
You will get a File Version similar to:
7100.2.9.1039……7100 means SAPGUI 7.10……..2 means Compilation 2…….9 means Patch level…….1039 is a build number (it is of no use for us)
Message_Type_X Dump also occurs when proper date format is not maintained in SU01 transaction of the user who have faced this dump. 

Incase you have received a complaint from customer that he is receiving this dump while running some transactions, please go to SU01 and check the date format in the defaults tab. If there is any date format other than DD.MM.YYYY, please change that to this format to avoid this error

13)   EXSORT_NOT_ENOUGH MEMORY
Memory bottleneck encountered by the program while sorting.

14)   SYSTEM_ROLL_IN_ERROR
Not enough memory for user context.

15)   SYSTEM_NO_MORE_PAGING
Not enough SAP Paging Memory. Set “rdisp/pg_maxfs” to sufficiently large value ( say 32,000 ).If the problem exists even after assigning this value then there could be a fault in the program itself.

16)   SET_PARAMETER_MEMORY_OVERFLOW
Not enough memory for SET/GET Parameter (Otherwise known as SPA/GPA Memory ).Try extending the memory area with SAP profile “ztta/parameter_area”.

17)   SAPSQL_ARRAY_INSERT_DUPREC
Number range problem, likely document number exists.

18)   EXSORT_FWRITE_FAILED
Is related to disk space. There is not enough disk space for the external sorting process in the sort directory. To avoid this move either the extract files (DIR_EXTRACT) or the sort files (DIR_SORTTMP) to a separate directory with enough space.


LOAD_PROGRAM_LOST:-  In most of the case its not a big issue. Someone has changed the source program when someone was using it. Mostly Development & Quality systems get this error. 

RABAX SYSTEM_CANCELED:- If an administrator actively cancels a running transaction, this error is shown. In cases like this, no error correction is required.
  
SYSTEM_CANCELED:- The program was not terminated due to an error, but rather due to deliberately performed actions.

RAISE_EXCEPTION:- This error message you can see in lot of problems. So it is hard to give solution. Most of the case will be with SAPGUI. Try to get latest version or patch of SAPGUI. You should also try to reinstall Internet Explorer on the affected workstation as GUI uses some components of IE.  You must also load newest Microsoft patches too.

CNTL_ERROR:- This dump is due to a problem in the interaction between R/3 and the workstation. Do the same things as in the case if RAISE_EXCEPTION. Both are somewhat same kind of errors. CNTL_ERRORs are created when a program attempts to do something with a GUI element in background. Since the GUI is not available, the program raises an exception. If this transaction / screen / program was never intended to be run in background then there may not be any handling for this exception. The CNTL_ERROR can also be caused by a virus infection. Installing Microsoft's latest patch(es) dealing with the this viruses  can solve the problem.

TSV_TNEW_PAGE_ALLOC_FAILED:- This is a buffer related error. This error comes when processing memory intensive background jobs. Adjusting abap/heap limit will solved the problem temporarily. Better to use dedicated apps server for processing memory intensive background jobs. Parameters affecting this error are : Ztta/roll_area , Abap/heap_area_total , Abap/heap_area_dia , Abap/heap_area_nondia.

CALL_FUNCTION_SINGLE_LOGIN_REJ:- This dump is created if some authorizations for S_RFC or S_RFCACL are missing. CALL_FUNCTION_SYSCALL_ONLY is another dump related to this error.

MEMORY_NO_MORE_PAGING:- you can set the the value of paging. Set the value of parameter rdisp/PG_MAXFS=300000. Also refer the note :- Note 133909 - Maximum value for PG_MAXFS, PG_SHM, ROLL_MAXFS, ROLL_SHM.

19. OPEN_DATASET_NO_AUTHORITY

This is an authorization issue.
Add the authorization object S_DATASET to the user-id and give all the values depending on your requirement. 

 

20. Dump UNCAUGHT_EXCEPTION - CX_SOCM_NOT_IMPLEMENTED
Please remove the following entries using SM30 to resolve the short dump CX_SOCM_NOT_IMPLEMENTED.

View: TSOCM_COND_MAPP
Table entries:
SLMO SLMO0001 E0002 40 SYSTEM_ASSIGNMENT
SLMO SLMO0001 E0006 10 FREED_FROM_LOCKING
SLMO SLMO0001 E0007 10 MOPZ_LU_WITHDRAWN
SLMO SLMO0001 E0007 20 FREED_FROM_LOCKING

The entries are normally created due to implementation of IMG
Activity "Configuration of Extended Maintenance Optimizer Functions".

22. MESSAGE TYPE UNKNOWN   I’m not sure about this
try implementing   notes548121,676245,321767,392649,411846,129238,215949,117852,155094,144536,305159,
425212,305159,605273,452513,64289,460254,202640,138886,508702,130022,119773,400859,336085,
78412,377910,126826,542666.
These are all notes that are directly associated with this program and helped us with issues in this process.

23. dynpro not found
this is a Z program, your ABAPPER created a bug
You can try doing a search at service.sap.com/notes


24. table invalid index      I’m not sure about this

->
SAP Note 1512979 (updated January 2011) contains the correction you need to overcome this error. 
->Check Note 166487
->Re-process your  BPC " application " can re-index automatically. There you choose option index .
25. SYMPTOM: UNCAUGHT_EXCEPTION
An UNCAUGHT_EXCEPTION ABAP dump is generated when loading data into the target Info Provider. The text of the dump is:
"UNCAUGHT_EXCEPTION" "CX_RSR_X_MESSAGE"
"SAPLRRMS" or "LRRMSU13"
"RRMS_X_MESSAGE"
Also the I_IOBJNM = 0REQUEST
REPRODUCING THE ERROR:
This erorr is caused when loading data into an InfoProvider. It could be a DSO or InfoCube.
CAUSE:
The dump is caused because the InfoObject 0REQUEST is not referenced to the InfoObject 0REQUID. This can be checked in transaction RSD5. Compare the delivered version with the active version in transaction RSD5. Instead InfoObject 0REQUEST is most likely referenced to itself.
SOLUTION:
To solve the problem ensure that SAP Note 1157796 is applied in the system and install the content version of 0REQUEST again, following these steps from the Note: Transaction RSOR-> BI Content-> Object Types-> under InfoObjects select 0REQUEST and transfer it to the right (note the following settings: "Only Necessary Objects"; collection mode: "Collect Automatically").

26. UNCAUGHT_EXCEPTION CX_NWBC
ANS- deleted the instance in rz04 and recreated
27. objects_objref_not_assigned cx_sy_ref_is_initial     not sure
ANS- 1.
ANS 2. Increase the Background processor
28. RPERF_ILLEGAL_STATEMENT
ANS-1
SE38 or SE80 ->Utilities → Settings → ABAP Editor → Debugging->classic Debugger   (try this)
When you switch from the new Debugger to the classic Debugger, the system may reach ABAP code which the classic Debugger cannot edit. This is ABAP code that is called directly from the kernel of the Web application server. This concerns primarily conversion and field exits. If these kinds of modules are analyzed using the new Debugger, the runtime error RPERF_ILLEGAL_STATEMENT is triggered whenever you change to the classic Debugger.
ANS 2-
Note 686710 - ABAP runtime error RPERF_ILLEGAL_STATEMENT
Note 675042 - RPERF_ILLEGAL_STATEMENT in asynchronous RFC



29. DATA_LENGTH_0 CX_SY_RANGE_OUT_OF_BOUNDS
ANS- Note-1167944