Friday, March 23, 2012

Database error text: "ORA-28001 : the password has expired"




Category               ABAP Server Resource Shortage
Runtime Errors         DBIF_RSQL_SQL_ERROR
Except.                CX_SY_OPEN_SQL_DB
Date and Time          23.03.2012 12:27:33




Short text



SQL error 28001 while accessing table "RSDDTALOC".





What happened?



Database error text: "ORA-28001: the password has expired"





Error analysis



An exception occurred that is explained in detail below.



The exception, which is assigned to class 'CX_SY_OPEN_SQL_DB', was not caught



 in



procedure "UPDATE_DTALOC" "(METHOD)", 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:



Database error text: "ORA-28001: the password has expired"





Missing RAISING Clause in Interface


    Program
CL_RSD_DTA====================CP


    Include
CL_RSD_DTA====================CM02O


    Row
1


    Module type
(METHOD)


    Module Name
UPDATE_DTALOC





Trigger Location of Exception


    Program
CL_RSD_DTA====================CP


    Include
CL_RSD_DTA====================CM02O


    Row
7


    Module type
(METHOD)


    Module Name
UPDATE_DTALOC





Source Code Extract


Line
SourceCde


    1
METHOD update_dtaloc.


    2



    3
  CONSTANTS: l_c_db_conn TYPE dbcon_name VALUE 'R/3*DTALOC'.


    4



    5
  DATA: l_s_dtaloc       TYPE rsddtaloc.


    6



>>>>> 
  SELECT SINGLE FOR UPDATE *


    8
           FROM rsddtaloc CONNECTION (l_c_db_conn)


    9
           INTO l_s_dtaloc


   10
          WHERE infoprov = i_s_dtaloc-infoprov.


   11
  MODIFY rsddtaloc CONNECTION (l_c_db_conn) FROM i_s_dtaloc.


   12
  COMMIT CONNECTION (l_c_db_conn).


   13



   14
ENDMETHOD.





Active Calls/Events


No.   Ty.          Program                             Include                             Line


      Name


   23 METHOD       CL_RSD_DTA====================CP    CL_RSD_DTA====================CM02O     7


      CL_RSD_DTA=>UPDATE_DTALOC


   22 METHOD       CL_RSD_DTA====================CP    CL_RSD_DTA====================CM02M    26


      CL_RSD_DTA=>INSERT_IPRO


   21 METHOD       CL_RSD_DTA====================CP    CL_RSD_DTA====================CM003   166


      CL_RSD_DTA=>CONSTRUCTOR


   20 METHOD       CL_RSD_DTA====================CP    CL_RSD_DTA====================CM01P    34


      CL_RSD_DTA=>FACTORY


   19 FORM         SAPLRSDU_CUBE                       LRSDU_CUBEF01                         537


      GET_DTA_INFO


   18 FORM         SAPLRSDU_CUBE                       LRSDU_CUBEF01                         488


      GET_CUBETYPE


   17 FUNCTION     SAPLRSDU_CUBE                       LRSDU_CUBEU10                          96


      RSDU_DATA_EXISTS_INFOCUBE


   16 METHOD       CL_RSD_CUBE===================CP    CL_RSD_CUBE===================CM007    22


      CL_RSD_CUBE=>IF_RSD_DTA~EXISTS_DATA


   15 METHOD       CL_RSD_CUBE===================CP    CL_RSD_CUBE===================CM04G    23


      CL_RSD_CUBE=>EXISTS_DATA_FOR_UI


   14 METHOD       CL_RSD_MDOB_VERS==============CP    CL_RSD_MDOB_VERS==============CM01R    36


      CL_RSD_MDOB_VERS=>IF_RSD_STRUCT_MAINT~SET_GET_IOBJ_LOCD


   13 METHOD       CL_RSD_MDOB===================CP    CL_RSD_MDOB===================CM02G     6


      CL_RSD_MDOB=>IF_RSD_STRUCT_MAINT~SET_GET_IOBJ_LOCD


   12 METHOD       CL_RSD_GUI_CUBE===============CP    CL_RSD_GUI_CUBE===============CM001   155


      CL_RSD_GUI_CUBE=>CONSTRUCTOR


   11 METHOD       CL_RSD_GUI_CUBE_MAINT=========CP    CL_RSD_GUI_CUBE_MAINT=========CM002    49


      CL_RSD_GUI_CUBE_MAINT=>CONSTRUCTOR


   10 FORM         SAPLRSD_GUI_MDOB_MAINT              LRSD_GUI_MDOB_MAINTOO6                121


      CREATE_FOR_SCREEN_MAIN


    9 MODULE (PBO) SAPLRSD_GUI_MDOB_MAINT              LRSD_GUI_MDOB_MAINTOO6                 10


      PBO_MAIN


    8 FUNCTION     SAPLRSD_GUI_MDOB_MAINT              LRSD_GUI_MDOB_MAINTU01                 20


      RSD_MDOB_MAINT


    7 FUNCTION     SAPLRSDG_CUBE                       LRSDG_CUBEU01                         479


      RSO_CUBE_MAINTAIN


    6 METHOD       CL_RSD_RSAWBN_CUBE============CP    CL_RSD_RSAWBN_CUBE============CM004     4


      CL_RSD_RSAWBN_CUBE=>CALL_MAINTENANCE


    5 METHOD       CL_RSD_RSAWBN_MDOB============CP    CL_RSD_RSAWBN_MDOB============CM003    70


      CL_RSD_RSAWBN_MDOB=>HANDLE_REQUEST


    4 METHOD       CL_RSAWBN_TOOLREQ=============CP    CL_RSAWBN_TOOLREQ=============CM005    15


      CL_RSAWBN_TOOLREQ=>EXECUTE


    3 METHOD       CL_RSAWBN_AWB=================CP    CL_RSAWBN_AWB=================CM003    25


      CL_RSAWBN_AWB=>CALL_TOOL


    2 METHOD       CL_RSAWBN_AWB=================CP    CL_RSAWBN_AWB=================CM006    64


      CL_RSAWBN_AWB=>START


    1 EVENT        RSAWBN_START                        RSAWBN_START                           23


      START-OF-SELECTION



Error Analysis/ Solution:

Here the issue was SAPSR3 user password has expired after 180 days . We should change the password of SAPSR3 , only through BRconnect ., otherwise it would get locked due to inconsistency. The command to change the same is :
brconnect -u / -f chpass -o SAPSR3 -p  
Note that we should unlock the user if its  locked .  Login sqlplus / as sysdba ; alter user sapsr3 account unlock;

If it is a Java system , unlock the SAPSR3DB and change password from Configtool also , secure store.