on 10-08-2007 12:12 PM
Hello,
We have a problem dealing with multiple languages in custom FPM apps for editing infotype 22 and 23 with portal.
The apps are working correctly when the selected language is spanish but it fails with a NULL reference to xss_adapter object when the selected language is catalan.
When debugging I can see how global variable xss_adapter of function pool HRXSS_PER_MAC is correctly instantiated with the call to HRXSS_PER_INIT_PERNR function. Althought when my custom function ZHRXSS_PER_READ_P0023_ES is executed to read the data for overview, this global variable is initial so I get the error: "Access via NULL object reference not possible., error key: RFC_ERROR_SYSTEM_FAILURE:"
This does not happen for my application when the user has selected the spanish language, neither using standard app (i.e. essesaddr) in catalan.
Did I miss any setup in my custom FM?
Thanks for your help, points rewarded,
Gabriel.
could you please check st22 in r/3 and revert.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Sure...
Errores tiempo ejec. OBJECTS_OBJREF_NOT_ASSIGNED_NO
Excepción CX_SY_REF_IS_INITIAL
Fecha y hora 08.10.2007 12:55:40
-
-
-
-
Texto breve |
Access via 'NULL' object reference not possible. |
-
-
-
-
¿Qué ha sucedido? |
Error in the ABAP Application Program |
The current ABAP program "SAPLHRXSS_PER_MAC" had to be terminated because it |
has |
come across a statement that unfortunately cannot be executed. |
-
-
-
-
¿Qué puede hacer? |
Note down which actions and inputs caused the error. |
To process the problem further, contact you SAP system |
administrator. |
Using Transaction ST22 for ABAP Dump Analysis, you can look |
at and manage termination messages, and you can also |
keep them for a long time. |
-
-
-
-
Anál.errores |
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 "HRXSS_PER_CLEANUP" "(FUNCTION)", 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. |
-
-
-
-
Notas para corregir errores |
Probably the only way to eliminate the error is to correct the program. |
- |
You may able to find an interim solution to the problem |
in the SAP note system. If you have access to the note system yourself, |
please use the following search criteria: |
"SAPLHRXSS_PER_MAC" "OBJECTS_OBJREF_NOT_ASSIGNED_NO" |
If you cannot solve the problem yourself, please send the |
following documents to SAP: |
1. A hard copy print describing the problem. |
Errores tiempo ejec. OBJECTS_OBJREF_NOT_ASSIGNED_NO
Excepción CX_SY_REF_IS_INITIAL
Fecha y hora 08.10.2007 12:55:40
-
-
To obtain this, select the "Print" function on the current screen. |
- |
2. A suitable hardcopy prinout of the system log. |
To obtain this, call the system log with Transaction SM21 |
and select the "Print" function to print out the relevant |
part. |
3. If the programs are your own programs or modified SAP programs, |
supply the source code. |
To do this, you can either use the "PRINT" command in the editor or |
print the programs using the report RSINCL00. |
4. Details regarding the conditions under which the error occurred |
or which actions and input led to the error. |
The exception must either be prevented, caught within proedure |
"HRXSS_PER_CLEANUP" "(FUNCTION)", or its possible occurrence must be declared |
in the |
RAISING clause of the procedure. |
To prevent the exception, note the following: |
-
-
-
-
Entorno sistema |
SAP-Release 700 |
Application server... "BLCGBS40" |
Network address...... "170.251.70.105" |
Operating system..... "Windows NT" |
Release.............. "5.2" |
Hardware type........ "4x AMD64 Level" |
Character length.... 16 Bits |
Pointer length....... 64 Bits |
Work process number.. 1 |
Shortdump setting.... "full" |
Database server... "BLCGBS40" |
Database type..... "ORACLE" |
Database name..... "HRD" |
Database user ID.. "SAPSR3" |
Char.set.... "C" |
SAP kernel....... 700 |
created (date)... "Jan 29 2007 00:36:16" |
create on........ "NT 5.2 3790 Service Pack 1 x86 MS VC++ 14.00" |
Database version. "OCI_10201_SHARE (10.2.0.1.0) " |
Patch level. 95 |
Patch text.. " " |
Database............. "ORACLE 9.2.0.., ORACLE 10.1.0.., ORACLE 10.2.0.." |
SAP database version. 700 |
Operating system..... "Windows NT 5.0, Windows NT 5.1, Windows NT 5.2" |
Memory consumption |
Roll.... 16192 |
EM...... 4189840 |
Heap.... 0 |
Page.... 0 |
MM Used. 1237568 |
Errores tiempo ejec. OBJECTS_OBJREF_NOT_ASSIGNED_NO
Excepción CX_SY_REF_IS_INITIAL
Fecha y hora 08.10.2007 12:55:40
-
-
MM Free. 2949648 |
-
-
-
-
Usuario y transacción |
Client.............. 100 |
User................ "MOYAG" |
Language Key........ "S" |
Transaction......... " " |
Program............. "SAPLHRXSS_PER_MAC" |
Screen.............. "SAPMSSY1 3004" |
Screen Line......... 2 |
Information on caller of Remote Function Call (RFC): |
System.............. "########" |
Database Release.... 645 |
Kernel Release...... 700 |
Connection Type..... "E" (2=R/2, 3=ABAP System, E=Ext., R=Reg. Ext.) |
Call Type........... "synchron and non-transactional (emode 0, imode 0)" |
Inbound TID.........." " |
Inbound Queue Name..." " |
Outbound TID........." " |
Outbound Queue Name.." " |
Client.............. "###" |
User................ "############" |
Transaction......... " " |
Call Program........." " |
Function Module..... "ZHRXSS_PER_READ_P0023_ES" |
Call Destination.... "BLCGBS40_HRD_00" |
Source Server....... "blcgbs39" |
Source IP Address... "170.251.70.107" |
Additional information on RFC logon: |
Trusted Relationship " " |
Logon Return Code... 0 |
Trusted Return Code. 0 |
Note: For releases < 4.0, information on the RFC caller are often |
only partially available. |
-
-
-
-
Info posición de cancelación |
Termination occurred in the ABAP program "SAPLHRXSS_PER_MAC" - in |
"HRXSS_PER_CLEANUP". |
The main program was "SAPMSSY1 ". |
In the source code you have the termination point in line 13 |
of the (Include) program "LHRXSS_PER_MACU04". |
The termination is caused because exception "CX_SY_REF_IS_INITIAL" occurred in |
procedure "HRXSS_PER_CLEANUP" "(FUNCTION)", but it was neither handled locally |
nor declared |
in the RAISING clause of its signature. |
The procedure is in program "SAPLHRXSS_PER_MAC "; its source code begins in |
line |
1 of the (Include program "LHRXSS_PER_MACU04 ". |
-
-
-
-
Errores tiempo ejec. OBJECTS_OBJREF_NOT_ASSIGNED_NO
Excepción CX_SY_REF_IS_INITIAL
Fecha y hora 08.10.2007 12:55:40
-
-
Detalle código fuente | |
Lín. | Txt.fte. |
1 | FUNCTION hrxss_per_cleanup. |
2 | *"---- - |
3 | ""Local interface: |
4 | *" EXPORTING |
5 | *" VALUE(MESSAGES) TYPE BAPIRETTAB |
6 | *"---- - |
7 | |
8 |
|
9 |
|
10 |
|
11 | |
12 |
|
>>>>> | CALL METHOD xss_adapter->cleanup |
14 | . |
15 |
|
16 |
|
17 | |
18 | ENDFUNCTION. |
-
-
-
-
Contenido campos sistema | |
Nom. | Val. |
SY-SUBRC | 0 |
SY-INDEX | 1 |
SY-TABIX | 0 |
SY-DBCNT | 0 |
SY-FDPOS | 0 |
SY-LSIND | 0 |
SY-PAGNO | 0 |
SY-LINNO | 1 |
SY-COLNO | 1 |
SY-PFKEY | |
SY-UCOMM | |
SY-TITLE | Control CPI-C y RFC |
SY-MSGTY | |
SY-MSGID | |
SY-MSGNO | 000 |
SY-MSGV1 | |
SY-MSGV2 | |
SY-MSGV3 | |
SY-MSGV4 | |
SY-MODNO | 0 |
SY-DATUM | 20071008 |
SY-UZEIT | 125506 |
SY-XPROG | SAPLZHRXSS_PER_P0023_ES |
SY-XFORM | ZHRXSS_PER_READ_P0023_ES |
-
-
-
-
Llamadas/Eventos activos |
Nº Cl. Programa Include Lín. |
Nom. |
Errores tiempo ejec. OBJECTS_OBJREF_NOT_ASSIGNED_NO
Excepción CX_SY_REF_IS_INITIAL
Fecha y hora 08.10.2007 12:55:40
-
-
6 FUNCTION SAPLHRXSS_PER_MAC LHRXSS_PER_MACU04 13 |
HRXSS_PER_CLEANUP |
5 FUNCTION SAPLHRXSS_PER_MAC LHRXSS_PER_MACU08 9 |
HRXSS_PER_READ_PNNNN |
4 FUNCTION SAPLZHRXSS_PER_P0023_ES LZHRXSS_PER_P0023_ESU05 11 |
ZHRXSS_PER_READ_P0023_ES |
3 FORM SAPLZHRXSS_PER_P0023_ES LZHRXSS_PER_P0023_ESU05 1 |
ZHRXSS_PER_READ_P0023_ES |
2 FORM SAPMSSY1 SAPMSSY1 85 |
REMOTE_FUNCTION_CALL |
1 MODULE (PBO) SAPMSSY1 SAPMSSY1 30 |
%_RFC_START |
-
-
-
-
Variables seleccionadas |
Nom. |
Val. |
Nº 6 Cl. FUNCTION |
Nom. HRXSS_PER_CLEANUP |
MESSAGES |
Table[initial] |
%_DUMMY$$ |
2222 |
0000 |
0000 |
0000 |
Nº 5 Cl. FUNCTION |
Nom. HRXSS_PER_READ_PNNNN |
MESSAGES |
Table[initial] |
RECORDS |
Table[initial] |
SYST-REPID |
SAPLHRXSS_PER_MAC |
5454455555545544422222222222222222222222 |
310C82833F052FD1300000000000000000000000 |
0000000000000000000000000000000000000000 |
0000000000000000000000000000000000000000 |
SCREEN |
2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 |
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 |
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 |
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 |
Nº 4 Cl. FUNCTION |
Nom. ZHRXSS_PER_READ_P0023_ES |
INFTY |
0023 |
3333 |
0023 |
0000 |
0000 |
Errores tiempo ejec. OBJECTS_OBJREF_NOT_ASSIGNED_NO
Excepción CX_SY_REF_IS_INITIAL
Fecha y hora 08.10.2007 12:55:40
-
-
MESSAGES |
Table[initial] |
RECORDS |
Table[initial] |
%_VIASELSCR |
# |
0 |
4 |
Nº 3 Cl. FORM |
Nom. ZHRXSS_PER_READ_P0023_ES |
%_%_INFTY |
0023 |
3333 |
0023 |
0000 |
0000 |
%_%_MESSAGES |
Table[initial] |
%_%_RECORDS |
Table[initial] |
Nº 2 Cl. FORM |
Nom. REMOTE_FUNCTION_CALL |
HEADER |
0.0.0.0.0.0.0.0.0.0.0.1. |
000000000000 |
000000000000 |
SY-XPROG |
SAPLZHRXSS_PER_P0023_ES |
5454545555554555333354522222222222222222 |
310CA82833F052F00023F5300000000000000000 |
0000000000000000000000000000000000000000 |
0000000000000000000000000000000000000000 |
RC |
0 |
0000 |
0000 |
SY-XFORM |
ZHRXSS_PER_READ_P0023_ES |
545555554555444553333545222222 |
A82833F052F2514F00023F53000000 |
000000000000000000000000000000 |
000000000000000000000000000000 |
%_SPACE |
2 |
0 |
0 |
0 |
Nº 1 Cl. MODULE (PBO) |
Nom. %_RFC_START |
%_PRINT |
000 0### |
2222333222222222222222222222222222222222222222222222222222222222222222222222222222222222223000 |
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 |
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 |
Errores tiempo ejec. OBJECTS_OBJREF_NOT_ASSIGNED_NO
Excepción CX_SY_REF_IS_INITIAL
Fecha y hora 08.10.2007 12:55:40
-
-
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 |
RFCTYPE_INTERNAL |
3 |
0000 |
3000 |
-
-
-
-
Notas internas |
The termination was triggered in function "method_call_iref" |
of the SAP kernel, in line 2207 of the module |
"//bas/700_REL/src/krn/runt/abmethod.c#8". |
The internal operation just processed is "METH". |
Internal mode was started at 20071008125409. |
-
-
-
-
-
-
Errores tiempo ejec. OBJECTS_OBJREF_NOT_ASSIGNED_NO
Excepción CX_SY_REF_IS_INITIAL
Fecha y hora 08.10.2007 12:55:40
-
-
-
-
Lista de programas ABAP implicados | |||||||
Índ. | Tp. | Programa | Grupo | Fecha | Tmpo | Tam. | Idioma |
0 | Prg | SAPMSSY1 | 0 | 11.04.2005 | 09:27:15 | 22528 | S |
1 | Prg | SAPLZHRXSS_PER_P0023_ES | 1 | 26.09.2007 | 16:43:43 | 14336 | S |
2 | Typ | SYST | 0 | 09.09.2004 | 14:18:12 | 31744 | |
3 | Typ | ZHCMT_BSP_PA_ES_R0023 | 0 | 19.09.2007 | 18:22:53 | 7168 | |
4 | Typ | BAPIRET2 | 0 | 20.08.1998 | 11:11:35 | 5120 | |
5 | Prg | SAPLHRXSS_PER_MAC | 5 | 06.09.2007 | 15:19:45 | 49152 | S |
6 | Prg | CX_SY_REF_IS_INITIAL==========CP | 6 | 05.07.2005 | 13:10:16 | 10240 | S |
7 | Typ | SCX_SRCPOS | 0 | 18.05.2004 | 14:07:11 | 2048 | |
8 | Prg | CX_DYNAMIC_CHECK==============CP | 8 | 05.07.2005 | 13:10:16 | 10240 | S |
9 | Prg | CX_ROOT=======================CP | 9 | 05.07.2005 | 13:10:16 | 11264 | S |
10 | Prg | CX_NO_CHECK===================CP | 10 | 05.07.2005 | 13:10:16 | 10240 | S |
11 | Prg | CX_SY_NO_HANDLER==============CP | 11 | 05.07.2005 | 13:10:16 | 10240 | S |
-
-
-
-
Directorio de tablas de aplicación |
Nom. Fecha Tmpo Long. |
Val. |
Programa SAPMSSY1 |
SYST . . : : 00004612 |
000000000000000000000000x000100 |
-
-
-
-
Bloq.control ABAP (CONT) | |||||||||||
Índ. | Nom. | Fl | PAR0 | PAR1 | PAR2 | PAR3 | PAR4 | PAR5 | PAR6 | Texto fuente | Lín. |
234 | FUNC | 03 | 001F | LHRXSS_PER_MACU03 | 1 | ||||||
235 | PAR2 | 02 | 0000 | 001E | C000 | LHRXSS_PER_MACU03 | 1 | ||||
237 | FUNC | 13 | 0003 | LHRXSS_PER_MACU03 | 1 | ||||||
238 | PAR2 | 01 | 0000 | 0013 | C001 | LHRXSS_PER_MACU03 | 1 | ||||
240 | FUNC | FF | 0000 | LHRXSS_PER_MACU03 | 1 | ||||||
241 | ENDF | 00 | 0000 | LHRXSS_PER_MACU03 | 1 | ||||||
242 | 00 | 0000 | LHRXSS_PER_MACU03 | 1 | |||||||
243 | STCK | 02 | C001 | LHRXSS_PER_MACU03 | 1 | ||||||
244 | CPOP | 00 | 0000 | LHRXSS_PER_MACU03 | 1 | ||||||
245 | 00 | 0000 | LHRXSS_PER_MACU03 | 1 | |||||||
246 | FUNP | 3E | 0000 | 0013 | 8000 | 0000 | 8000 | 0000 | 0000 | LHRXSS_PER_MACU04 | 1 |
250 | FUNP | 80 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | LHRXSS_PER_MACU04 | 1 |
>>>>> | METH | 03 | 0000 | 0000 | 8006 | 0000 | 0000 | 0000 | 0000 | LHRXSS_PER_MACU04 | 13 |
258 | PAR2 | 00 | 0000 | 0001 | 0000 | LHRXSS_PER_MACU04 | 13 | ||||
260 | FUNE | 00 | 0000 | LHRXSS_PER_MACU04 | 18 | ||||||
261 | 00 | 0000 | LHRXSS_PER_MACU04 | 18 | |||||||
262 | PERP | 00 | 0000 | LHRXSS_PER_MACU04 | 1 | ||||||
263 | FUNC | 03 | E844 | LHRXSS_PER_MACU04 | 1 | ||||||
264 | FUNC | 03 | 0020 | LHRXSS_PER_MACU04 | 1 | ||||||
265 | FUNC | 13 | 0003 | LHRXSS_PER_MACU04 | 1 |
-
-
It's a custom ES specific app. I think this note doesn't apply here.
Just a new tip. I have made an RFC trace with st05 for both executions, one with spanish language and one with catalan language. I can see one main difference, in spanish execution my custom FM ZHRXSS_PER_READ_P0023_ES is the next trace after the init pernr, but for catalan this custom FM does not appear in the traces... Is it possible that in the second case the FM call is not considered RFC by some strange cause?
For spanish execution we have this:
blcgbs39 ? Server RFCPING 723 34
blcgbs39 ? Server RFCPING 723 34
blcgbs39 BLCGBS40_HRD_00 Server SYSTEM_RESET_RFC_SERVER 146 34
blcgbs39 ? Server HRXSS_SER_INITSERVICE 4.382 353
blcgbs39 ? Server RFCPING 723 34
blcgbs39 BLCGBS40_HRD_00 Server HRXSS_SER_GETMENUDATA 3.071 847
blcgbs39 BLCGBS40_HRD_00 Server SYSTEM_RESET_RFC_SERVER 146 34
blcgbs39 BLCGBS40_HRD_00 Server SFW_GET_SW_STATUS 210 347
blcgbs39 BLCGBS40_HRD_00 Server RHXSS_SER_GET_EMPLOYEE_DATA 3.921 225
blcgbs39 BLCGBS40_HRD_00 Server HRXSS_PER_INIT_PERNR 612 293
blcgbs39 BLCGBS40_HRD_00 Server ZHRXSS_PER_READ_P0023_ES 2.188 255
For catalan execution we have this:
blcgbs39 ? Server RFCPING 723 34
blcgbs39 ? Server RFCPING 723 34
blcgbs39 BLCGBS40_HRD_00 Server SYSTEM_RESET_RFC_SERVER 146 34
blcgbs39 ? Server HRXSS_SER_INITSERVICE 4.382 353
blcgbs39 ? Server RFCPING 723 34
blcgbs39 BLCGBS40_HRD_00 Server HRXSS_SER_GETMENUDATA 3.071 847
blcgbs39 BLCGBS40_HRD_00 Server SYSTEM_RESET_RFC_SERVER 146 34
blcgbs39 ? Server RFCPING 723 34
blcgbs39 ? Server RFCPING 723 34
blcgbs39 BLCGBS40_HRD_00 Server SYSTEM_RESET_RFC_SERVER 146 34
blcgbs39 BLCGBS40_HRD_00 Server SFW_GET_SW_STATUS 210 347
blcgbs39 BLCGBS40_HRD_00 Server RHXSS_SER_GET_EMPLOYEE_DATA 3.921 225
blcgbs39 BLCGBS40_HRD_00 Server HRXSS_PER_INIT_PERNR 603 293
blcgbs39 BLCGBS40_HRD_00 Server HRXSS_PER_CLEANUP 191 225
blcgbs39 BLCGBS40_HRD_00 Server SYSTEM_RESET_RFC_SERVER 146 34
Definately Moya.... I am more than keen to help. Are you on SP12 please on EP wrt ESS/MSS dependent components
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I tried to run fm for AU hrxss_read_0023_au and it gave me a similar dump.
I have an advise instead of copying the fm, please create your own rfc as solving this issue may take quite a long time as that has to be done with debgu for method in class 'CX_SY_REF_IS_INITIAL'.
I can revert back but it will be quite time consuming.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Barin,
You cannot execute that fm without first have executed hrxss_per_init_pernr.
Define a FM with code like the one above you'll see that it works... The init function is the one which instantiate the xss_adapter object, if it's not instantiated then the second function gives you the error...
CALL FUNCTION 'HRXSS_PER_INIT_PERNR'
EXPORTING
PERNR = <Your employee number>
INFTY = '0023'.
CALL FUNCTION 'HRXSS_PER_READ_P0023_AU'
EXPORTING
INFTY = '0023'
IMPORTING
RECORDS = records
MESSAGES = messages.
I debugged the FPM app deeply and I determined that the problem are that app is generating two different JCo connections.
For standard components it's creating a JCo connection which key contains ES as language. For my custom componentes it's creating a JCo connection which key contains CA as language. So as they are different connections the global variable is not instantiated when my function is reach.
I have determined this but I don't know where this language is retrieved from so I have open other thread to try to solve this:
Thanks Barin for your interest and if you can help me with this new issue...
just a thout...
instead of copying can you pl try reusing is for diffrent country... ie.
use the table config in spro for reusing country specific application.... you may need not copy the fm itself... can you please try...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
108 | |
12 | |
11 | |
6 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.