UMELoginException: PASSWORD_EXPIRED
Dear experts,
I am facing problem while log-in to the Visual admin using the user "administrator" in our protal inastalled system.
Following is the error:
#1.5^H#00151778AF8C005B0000011000003CD20004730A14D9C060#1252387043523#com.sap.engine.services.security.authentication.logonapplication#sap.com/com.sap.security.core.admin#com.sa
p.engine.services.security.authentication.logonapplication.doLogon#Guest#0##n/a##e4025a209c3611dea1cc00151778af8c#SAPEngine_Application_Thread[impl:3]_10##0#0#Error##Java###doLo
gon failed
[EXCEPTION]
#1#com.sap.security.core.logon.imp.UMELoginException: PASSWORD_EXPIRED
OS =SUN 5.10
kernel release 701
But i can able to access the systeminfo URL by using the same username & password..
Thanks in advance,
Regards
mn
Hi,
Yes you are right, the error message is for guest user!! i can able to log-in to the Portals with the admin user. but when i wanted to connect to the visual admin ..it is throwing error "error while connecting"
i also found following logs
#1.5^H#00151778AF8C007400000001000056CF0004721D11943E42#1251369081388#com.sap.tc.cbs.server.rt.bs.BSAdmin##com.sap.tc.cbs.s
erver.rt.bs.BSAdmin####n/a##c341368092f411deb86600151778af8c#Thread[CBS BSA Orc,10,SAPEngine_System_Thread[impl:5]_Group]##
0#0#Error##Java###
[EXCEPTION]
#3#Unable to instantiate a Build Space administrator!
Build Space "DG3_ZBD_C" [bsID: 8, version: 1] [in-queue: on, out-queue: "on", processing: on]#Server error [503 Service Una
vailable]#com.sap.tc.cbs.api.CommunicationException: Server error [503 Service Unavailable]
at com.sap.tc.cbs.comm.Repository.execute(Repository.java:64)
Now for me it is clear that no problem with user "admin"..
Please let me know ur responses..
Thanks,
mn
Similar Messages
-
Authentication issue getting "UMELoginException"
Dear Guys,
I am facing an authentication issue. The situation is like this,
My NT password was about to expire (had 6 more days for expiry). I was able to login till yesterday and all of the sudden today, when I was trying to login, I was not able to (it gave me password change message). So I went back and changed my NT password and tried to login again into the portal, however I am still not able to. I am pasting the stack trace,
#1.5#001143FDCEA7006700000008000018C40004196E4AD849E8#1153861399615#com.sap.security.core.imp#sap.com/irj#com.sap.security.core.imp.[cf=com.sap.security.core.sapmimp.logon.SAPMLogonLogic][md=doLogon][cl=20282]#Guest#192####fff21cf01c2011dba425001143fdcea7#SAPEngine_Application_Thread[impl:3]_0##0#0#Error##Java###doLogon failed
[EXCEPTION]
#1#com.sap.security.core.logon.imp.UMELoginException
at com.sap.security.core.logon.imp.SAPJ2EEAuthenticator.logon(SAPJ2EEAuthenticator.java:318)
at com.sapportals.portal.prt.service.authenticationservice.AuthenticationService.login(AuthenticationService.java:344)
at com.sapportals.portal.prt.connection.UMHandler.handleUM(UMHandler.java:126)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:186)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.runtime.RequestDispatcherImpl.doWork(RequestDispatcherImpl.java:312)
at com.sap.engine.services.servlets_jsp.server.runtime.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:368)
at com.sap.portal.navigation.Gateway.service(Gateway.java:101)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Please help.
Regards,
DeepakHi Deepak,
it is most times that it needs to replicate through your system(s).
Regards,
Kai
PS: Please reward points if that was helpful. -
Error while authenticating a user
Dear all,
Hope you all are doing well.
Production issue :
When an user tries to login with his username and password. He is getting error message "INTERNAL ERROR OCCURED".
And the standard RFC which i'm using for authenticating user is SUSR_LOGIN_CHECK_RFC
CALL FUNCTION 'SUSR_LOGIN_CHECK_RFC'
EXPORTING
bname = ip_empid
password = ip_password
EXCEPTIONS
wait = 1
user_locked = 2
user_not_active = 3
password_expired = 4
wrong_password = 5
no_check_for_this_user = 6
password_attempts_limited = 7
internal_error = 8
OTHERS = 9.
I want to know what is the meaning of this internal error ? something is going wrong with the standard RFC which I am referring to ? Some one please help me out..
Thanks in advance.Hi Syed,
Really need more of a context to your problem.
1. You've posted in the SSO forum. A SSO problem or a normal SAPGUI logon problem ?
2. You say .... "And the standard RFC which i'm using for authenticating user is SUSR_LOGIN_CHECK_RFC" .... Meaning what ??? you are using a home developed solution ?
3. Problem affects one user or all users ?
4. Backend version and kernel pl level please.
Cheers,
Amerjit -
Issue with DataApp Sample in JavaFX.
Okay so I downloaded the Samples pack here http://jdk8.java.net/download.html or here http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html at the bottom.
Inside is one called DataApp which requires setting up an SQL DB, and connecting to it.
In Netbeans8 I get an error about not having RestLib api inside the DataAppClient which according to the setup DataAppClient - The JavaFX 2.0 client application. inside there you can see a package with packages that wont import such as
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.UniformInterfaceException;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.api.json.JSONConfiguration;
So why am I in a Java 8 samples pack needing FX 2? Though I'm not sure if it's FX8 yet, I just didn't think the 2.0 client would work.
So I tried Netbeans 7.3 to see if it would work. At first the DataAppClient was fine, but I see the DataAppPreloader will not run because it uses Package javafx.something which apparently is new in Java 8.....
So now I'm stuck, wondering why Restlib doesn't exist... I looked it up, and it says it's used for Web services, but I don't have it, nor does it say to install it in the readme.
not existing, which I guess has to do with the RestLib?
Anyone have any ideas?
EDIT: So I just downloaded the version for FX2, and I am still getting the same error when I run it, though nothing shows "errors" in the packages. Maybe I just needed to run it correctly for it to work, so not what is this error tellingme
Creating "dataapp" user and "APP" database...
Executing commands
Failed to execute: INSERT INTO user VALUES ('localhost','dataapp','*B974A83D18BB105D0C9186756F485406E6E6039B','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'',NULL)
C:\Users\Konrad\Downloads\javafx_samples-2_2_7-windows\javafx-samples-2.2.7\src\DataApp\DataAppLoader\build.xml:84:
java.sql.SQLException: Column count doesn't match value count at row 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2618)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:842)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:681)
at org.apache.tools.ant.taskdefs.SQLExec.execSQL(SQLExec.java:775)
at org.apache.tools.ant.taskdefs.SQLExec.runStatements(SQLExec.java:745)
at org.apache.tools.ant.taskdefs.SQLExec$Transaction.runTransaction(SQLExec.java:1043)
at org.apache.tools.ant.taskdefs.SQLExec$Transaction.access$000(SQLExec.java:985)
at org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:653)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at sun.reflect.GeneratedMethodAccessor75.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:392)
at org.apache.tools.ant.Target.performTasks(Target.java:413)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:283)
at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:541)
at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:153)
BUILD FAILED (total time: 6 seconds)I have put the 1.18 derby file into glassfish, download and set up MySQL using a netbeans reference,I had set my root password and such as well.
The only thing I haven't done is created a DB, but I don't think I need one, and the instructions don't say anything.
I have Netbenans 7.3, 8, and Java vers 7_15 and 8 build 82.
GlassFish 3.1.2 as well as 4.0 build 76 which I haven't installed.
I hav e MySQL 5.6
Java FX 2.0 and 8 build 82.
The instructions are
DataApp Installation Guide
Table of Contents
Prerequisites
Setting Up the DataApp Sample
Running the Sample
NetBeans Projects for the Sample
Licensing
Prerequisites
You must have the following software installed to run the DataApp sample:
Java SDK 1.6.0_24 or later
Available at http://www.oracle.com/technetwork/java/javase/downloads/index.html.
JavaFX 2.0 SDK or later
Available at http://javafx.com/downloads/all.jsp.
MySQL 5.5 or later
Available at http://dev.mysql.com/downloads/.
You need to know the root password for your installation.
Netbeans 7.1 with Java EE and GlassFish 3.1.1 or later
Available at http://netbeans.org/downloads/.
Run the NetBeans installer to install NetBeans and GlassFish to the default locations.
Setting Up the DataApp Sample
Install the MySQL drivers into GlassFish.
Manually copy the mysql-connector-java-5.1.13-bin.jar file from the netbeans-install-dir\ide\modules\ext\ to the glassfish-install-dir/glassfish/lib directory, where netbeans-install-dir and glassfish-install-dir are the directories into which the products were installed. For example, on Windows the install directory for products is typically in the C:\Program Files\ or C:\Program Files (x86)\ directories.
Open the following DataApp projects in NetBeans by selecting File ->Open Project and navigating to the location of the DataApp sample:
DataAppClient
DataAppLibrary
DataAppLoader
DataAppPreloader
DataAppServer
Configure and create the database (only needs to be done once):
In NetBeans, right-click the DataAppLoader project.
Select Run.
Enter your MySQL root password when prompted.
Wait until you see the message that the build has successfully finished, which takes approximately 5 to 15 minutes.
Running the Sample
Start the server:
In NetBeans, right-click the DataAppServer project.
Select Run.
Wait until a browser window opens that says: YOU ARE DONE!
(Optional) Start the standalone client:
In NetBeans, right-click the DataAppClient project.
Select Run.
NetBeans Projects for the Sample
DataAppLibrary - Contains the following data:
Database tables
ORM model to database tables
DataAppLoader - Application that is run once to perform the following tasks:
Creates the database.
Loads all of the static data for the data app.
Creates some historical data.
DataAppServer - Web server that performs the following tasks:
Simulates auto sales and persists them to the database.
Provides access to the database through web services.
DataAppClient - The JavaFX 2.0 client application.
Licensing
The license for the DataAppLoader/zip_code_inserts.sql file is the Creative Commons Attribution-ShareAlike license, which is available at http://creativecommons.org/licenses/by-sa/2.0/.
The license for all other files is the BSD style license:
* Copyright (c) 2008, 2011 Oracle and/or its affiliates.
* All rights reserved. Use is subject to license terms.
* This file is available and licensed under the following license:
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the distribution.
* - Neither the name of Oracle Corporation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright © 2011, Oracle and/or its affiliates. All rights reservedEdited by: KonradZuse on Mar 27, 2013 9:39 AM
Edited by: KonradZuse on Mar 27, 2013 9:51 AM
Edited by: KonradZuse on Mar 27, 2013 9:58 AMI found the same issue but resolved it by myself. The user table of the MySQL changed, my guess. You need to add another 'Y' or 'N' to the end of this statement in the build.xml of DataAppLoader:
INSERT INTO user VALUES ('localhost','dataapp','*B974A83D18BB105D0C9186756F485406E6E6039B','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'',NULL,'N');
The original one is like this:
INSERT INTO user VALUES ('localhost','dataapp','*B974A83D18BB105D0C9186756F485406E6E6039B','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'',NULL);
The new column added is password_expired. Y or N to indicate the password is good or not. -
Hi all, need data file and co file after single transport in 6.4 or 6.7
hi all
following is the requirement
To process/compile the attached programs (given below) in 6.4/7 Kernel (SAP 6.4 version or 6.7 version )and send a single transport (Data File and Co File).
these data file and co file are flat files.
CAN ANYONE HELP ME GETTING THESE FLAT FILES. I need these flat files urgently.
WHAT U HAVE TO DO IS:
IF U HAVE 6.4 OR 6.7 VERSION, JUST TRANSPORT FOLLOWING 10 PROGRAMS IN SINGLE TRANSPORT IN TESTING SYSTEM OR DEVELOPEMENT SYSTEM AND AFTER GETTING DATA FILE AND CO FILE U CAN REVERT THE TRANSPORT.
Programs files are as follows: (total number of prog is 10)
1.
FUNCTION Z_3N_CKS_EXIST_USER .
""Local interface:
*" IMPORTING
*" VALUE(CKSUSRID) TYPE USR02-BNAME
*" VALUE(CKSMDTID) TYPE USR02-MANDT DEFAULT SY-MANDT
*" EXPORTING
*" VALUE(RCODE) TYPE SY-SUBRC
*" EXCEPTIONS
*" USER_DONT_EXIST
*" USER_EXISTS
FUNCTION TO CHECK IF USER EXISTS
CLEAR RCODE.
CALL FUNCTION 'USER_EXISTS'
EXPORTING
BNAME = CKSUSRID
CLIENT = CKSMDTID
EXCEPTIONS
USER_DONT_EXIST = 1
USER_EXISTS = 0.
RCODE = SY-SUBRC.
ENDFUNCTION.
2.
FUNCTION Z_3N_CKS_LOCKSTATE.
""Local interface:
*" IMPORTING
*" VALUE(CKSUSRID) TYPE USR02-BNAME
*" EXPORTING
*" VALUE(RCODE) TYPE SY-SUBRC
FUNCTION TO OBTAIN THE CURRENT LOCK STATUS FOR A USER
*{ PASSGOAPR06
*\DATA:LOCKSTATE(50) type c,
*\C_LOCKED_BY_ADMIN like usr02-uflag.
*\tables:usr02.
DATA:LOCKSTATE(50) type c.
*} PASSGOAPR06
CLEAR: RCODE, LOCKSTATE.
SELECT SINGLE * FROM USR02 WHERE BNAME = CKSUSRID.
IF SY-SUBRC <> 0.
RCODE = 01. "No such User
EXIT.
ENDIF.
*{ PASSGOAPR06
IF USR02-UFLAG Z C_LOCKED_BY_ADMIN AND
USR02-UFLAG Z C_LOCKED_BY_FAILED_LOGON.
LOCKSTATE = 'UNLOCKED'.
RCODE = 00.
ELSE.
IF USR02-UFLAG O C_LOCKED_BY_FAILED_LOGON.
LOCKSTATE = 'LOCKED_BY_FAILED_LOGON'.
RCODE = 02.
ENDIF.
IF USR02-UFLAG O C_LOCKED_BY_ADMIN.
LOCKSTATE = 'LOCKED_BY_ADMIN'.
RCODE = 02.
ENDIF.
ENDIF.
uflag = usr02-uflag.
IF UFLAG Z C_LOCKED_BY_ADMIN AND
UFLAG Z C_LOCKED_BY_FAILED_LOGON.
LOCKSTATE = 'UNLOCKED'.
RCODE = 00.
ELSE.
IF UFLAG O C_LOCKED_BY_FAILED_LOGON.
LOCKSTATE = 'LOCKED_BY_FAILED_LOGON'.
RCODE = 02.
ENDIF.
IF UFLAG O C_LOCKED_BY_ADMIN.
LOCKSTATE = 'LOCKED_BY_ADMIN'.
RCODE = 02.
ENDIF.
ENDIF.
*} PASSGOAPR06
ENDFUNCTION.
3.
FUNCTION Z_3N_CKS_PWDCHG_INITIAL.
""Local interface:
*" IMPORTING
*" VALUE(CKSUSRID) TYPE USR02-BNAME
*" VALUE(CKSUSRPWD) TYPE RSYST-BCODE
*" EXPORTING
*" VALUE(RCODE) TYPE SY-SUBRC
*" TABLES
*" RETURN STRUCTURE BAPIRET2
FUNCTION TO INITIALISE USERs PASSWORD, USER WILL BE FORCED
TO CHANGE PASSWORD ON NEXT LOGIN
CLEAR: USR02, RCODE.
SELECT SINGLE * from USR02 WHERE BNAME = CKSUSRID.
IF SY-SUBRC <> 0.
RCODE = 01.
else.
CALL FUNCTION 'BAPI_USER_CHANGE'
EXPORTING
USERNAME = CKSUSRID
PASSWORD = CKSUSRPWD
PASSWORDX = 'X'
TABLES
RETURN = RETURN.
loop at return.
if return-type eq 'E' or return-type eq 'A'.
rcode = 13.
endif.
endloop.
endif.
ENDFUNCTION.
4.
FUNCTION Z_3N_CKS_VERIFY_USER.
""Local interface:
*" IMPORTING
*" VALUE(CKSUSRID) TYPE RSYST-BNAME
*" VALUE(CKSUSRPWD) TYPE RSYST-BCODE OPTIONAL
*" EXPORTING
*" VALUE(RCODE) TYPE SY-SUBRC
FUNCTION TO VALIDATE A USER
*{ PASSGOAPR06
TABLES:USR02.
CLEAR: USR02, RCODE.
SELECT SINGLE * from USR02 WHERE BNAME = CKSUSRID.
IF SY-SUBRC = 4.
RCODE = 01. "no such user
EXIT.
ELSEIF CKSUSRPWD = SPACE.
RCODE = 03. "invalid old password
EXIT.
ELSE.
CALL FUNCTION 'SUSR_LOGIN_CHECK_RFC'
EXPORTING
BNAME = CKSUSRID
PASSWORD = CKSUSRPWD
EXCEPTIONS
WAIT = 1
USER_LOCKED = 2
USER_NOT_ACTIVE = 3
PASSWORD_EXPIRED = 4
WRONG_PASSWORD = 5
NO_CHECK_FOR_THIS_USER = 6
INTERNAL_ERROR = 7
OTHERS = 8
CASE SY-SUBRC.
WHEN '2'. RCODE = 02. "user disabled/blocked
WHEN '3'. RCODE = 02. "user disabled/blocked
WHEN '4'. RCODE = 03. "invalid old password
WHEN '5'. RCODE = 03. "invalid old password
WHEN '8'. RCODE = 12. "internal error
ENDCASE.
ENDIF.
*} PASSGOAPR06
ENDFUNCTION.
5.
*& Include ZMS01JTOP *
PROGRAM MS01JTOP MESSAGE-ID 01 LINE-SIZE 132. "Berechtigungsdatenpflege
13.08.93
INCLUDE MS01CTP2.
INCLUDE MS01CTCO.
TABLES: XU200, XU213, XU310, XU350, XU390, XU400.
TABLES: TSTC, TSP03, TPARA, TPARAT.
TABLES: *USR01, *USR03, USR15.
TABLES: SOUD, SOUD3.
*ABLES: ZCSA, ADRS.
*{ PASSGOAPR06
TABLES: usr02.
DATA: uflag type x.
DATA: begin of return occurs 0.
INCLUDE structure bapiret2.
DATA: end of return.
DATA calling_cksusrid like usr02-bname.
DATA: init_pass like BAPIPWD.
INCLUDE USER_CONSTANTS.
*} PASSGOAPR06
CONTROLS TC213 TYPE TABLEVIEW USING SCREEN 213.
CONTROLS TC520 TYPE TABLEVIEW USING SCREEN 350.
DATA: COPYOK TYPE I,
RENAMEOK TYPE I,
DATFM1,
DATFM2,
DATFM3,
DATFM4,
DCPFM1,
DCPFM2,
USERNAME LIKE USR01-BNAME,
LOCK,
UNLO,
STATFLAG TYPE I VALUE 0,
NAVIFLAG TYPE I VALUE 0,
PARTOPIX TYPE I,
PARFILL TYPE I,
PARAMETER LIKE USR05-PARVA,
PARID LIKE USR05-PARID,
PARLOOP LIKE SY-STEPL,
SHOW_ONLY VALUE ' ',
INTPRO_LOADED TYPE I VALUE 0,
EXT_SECURITY VALUE ' '.
DATA: H_201_USGRP LIKE USGRP-USERGROUP,
H_201_VALID TYPE C,
CC201 LIKE SY-CUCOL VALUE 2,
CR201 LIKE SY-CUROW VALUE 6,
SAVE_LINE201 LIKE SY-LILLI VALUE 1,
SAVE_LSIND201 LIKE SY-LSIND VALUE 1.
DATA: OFFICENAME LIKE SOUD-USRNAM.
DATA: BEGIN OF NAME_IN.
INCLUDE STRUCTURE SOUD3.
DATA: END OF NAME_IN.
DATA: BEGIN OF NAME_OUT.
INCLUDE STRUCTURE SOUD3.
DATA: END OF NAME_OUT.
DATA: BEGIN OF EMPTYPROF OCCURS 2.
INCLUDE STRUCTURE USREF.
DATA: END OF EMPTYPROF.
DATA: BEGIN OF PROFILES OCCURS 10.
INCLUDE STRUCTURE USREF.
DATA: END OF PROFILES.
DATA: MAXPAR TYPE I VALUE 300.
DATA: BEGIN OF TABPAR OCCURS 300,
PARID LIKE USR05-PARID,
PARVA LIKE USR05-PARVA,
END OF TABPAR.
DATA: BEGIN OF DELTAB OCCURS 50,
USGRP LIKE USR02-CLASS,
END OF DELTAB.
DATA: BEGIN OF ADDTAB OCCURS 50,
USGRP LIKE USR02-CLASS,
END OF ADDTAB.
DATA: BEGIN OF ADDRESS_DATA.
INCLUDE STRUCTURE SADRP_USR.
DATA: END OF ADDRESS_DATA.
DATA:
CLEAR TYPE X VALUE '00'.
*ATA: BEGIN OF ADRSDATEN.
INCLUDE STRUCTURE ADRS.
*ATA: END OF ADRSDATEN.
06.10.95 Tosun
DATA 930_FLAG.
"$$
6.
FUNCTION Z_3N_CKS_LOCK_USER.
""Local interface:
*" IMPORTING
*" VALUE(CKSUSRID) TYPE USR02-BNAME
*" EXPORTING
*" VALUE(RCODE) TYPE SY-SUBRC
CLEAR RCODE.
*{ PASSGOAPR06
*\ PERFORM LOCK_USER IN PROGRAM ZSAPMS01J USING CKSUSRID.
*\ IF SY-SUBRC <> 0.
*\ RCODE = SY-SUBRC.
*\ EXIT.
*\ ELSE.
*\ COMMIT WORK.
*\ ENDIF.
the report (form) is dumping.
so we try it with the correct BAPI
CALL FUNCTION 'BAPI_USER_LOCK'
EXPORTING
USERNAME = CKSUSRID
TABLES
RETURN = return
IF return-type <> 'S'.
RCODE = '8'.
rollback work.
EXIT.
ENDIF.
*} PASSGOAPR06
ENDFUNCTION.
7.
FUNCTION Z_3N_CKS_PWDCHG_DIRECT.
""Local interface:
*" IMPORTING
*" VALUE(CKSUSRID) TYPE USR02-BNAME
*" VALUE(CKSUSRPWD) TYPE RSYST-BCODE
*" EXPORTING
*" VALUE(RCODE) TYPE SY-SUBRC
*" TABLES
*" RETURN STRUCTURE BAPIRET2
FUNCTION TO CHANGE USERs PASSWORD
Password is initialised to a fixed value,
to avoid having to provide the valid old password
If the password change fails, the change is
rolled back - this is required because
BAPI_USER_CHANGE does an internal commit.
CLEAR: USR02, RCODE.
DATA: L_TIME LIKE SY-UZEIT,
ZLIN TYPE I.
*{ PASSGOAPR06
calling_cksusrid = cksusrid. "Save calling userid
init_pass = 'INITPASS'.
*} PASSGOAPR06
do 1 times.
SELECT SINGLE * from USR02 WHERE BNAME = CKSUSRID.
IF SY-SUBRC <> 0.
RCODE = 1.
else.
* Change login to initpass.
CALL FUNCTION 'BAPI_USER_CHANGE'
EXPORTING
USERNAME = CKSUSRID
*{ PASSGOAPR06
*\ PASSWORD = 'INITPASS'
PASSWORD = init_pass
*} PASSGOAPR06
PASSWORDX = 'X'
TABLES
RETURN = RETURN.
* Evaluate return table, if not success, rcode = 13
describe table return lines zlin.
IF zlin > 0.
IF return-type ne 'S'.
rcode = 13.
exit.
ENDIF.
ENDIF.
* Wait 1 second, otherwise table ush02 gets the same key as before.
* Not very good, but its the only way, because the wait up to
* statement includes a db-commit.
L_TIME = sy-uzeit.
WHILE L_TIME = sy-uzeit.
GET TIME.
ENDWHILE.
* Change 'INITPASS' to input login
CALL FUNCTION 'SUSR_USER_CHANGE_PASSWORD_RFC'
EXPORTING
BNAME = CKSUSRID
PASSWORD = 'INITPASS'
NEW_PASSWORD = CKSUSRPWD
NEW_BCODE = '0000000000000000'
NEW_CODVN = ' '
EXCEPTIONS
CHANGE_NOT_ALLOWED = 1
PASSWORD_NOT_ALLOWED = 2
INTERNAL_ERROR = 3
CANCELED_BY_USER = 4
OTHERS = 5.
case sy-subrc.
when '0'. rcode = 0.
when '1'. rcode = 2.
when '2'. rcode = 4.
when '3'. rcode = 12.
when '4'. rcode = 2.
when '5'. rcode = 12.
ENDCASE.
ENDIF.
exit. "end of do 1 times "
enddo.
* rollback if it didn't work
if not rcode is initial.
rollback work.
endif.
ENDFUNCTION.
8.
FUNCTION Z_3N_CKS_UNLOCK_USER.
""Local interface:
*" IMPORTING
*" VALUE(CKSUSRID) TYPE USR02-BNAME
*" EXPORTING
*" VALUE(RCODE) TYPE SY-SUBRC
CLEAR RCODE.
*{ PASSGOAPR06
*\ PERFORM UNLOCK_USER IN PROGRAM ZSAPMS01J USING CKSUSRID.
*\ IF SY-SUBRC <> 0.
*\ RCODE = SY-SUBRC.
*\ EXIT.
*\ ELSE.
*\ COMMIT WORK.
*\ ENDIF.
the report (form) is dumping.
so we try it with the correct BAPI
CALL FUNCTION 'BAPI_USER_UNLOCK'
EXPORTING
USERNAME = CKSUSRID
TABLES
RETURN = return
IF return-type <> 'S'.
RCODE = '8'.
rollback work.
EXIT.
ENDIF.
*} PASSGOAPR06
ENDFUNCTION.
9.
*& Include ZMS01JO10 *
MS01JO10 Module before Output
14.05.93
MODULE D150_SELECT *
Einen Eintrag aus der Liste uebernehmen. *
MODULE D150_SELECT OUTPUT.
IF SELE = 1.
IF SY-LILLI < 3.
MESSAGE S209.
ELSE.
IF USRFLAG = 10 AND SY-LILLI = 3.
MESSAGE S209.
ELSE.
IF USRFLAG = 10.
XU150-VON = SY-LISEL.
ELSE.
COUNTX = PUSR - 1.
ASSIGN SY-LISEL+COUNTX(12) TO <TEXT>. " unicode
WRITE <TEXT> TO XU150-VON.
ENDIF.
ENDIF.
ENDIF.
SELE = 0.
ENDIF.
IF FERTIG = 2.
FCODE = 'BACK'.
SUPPRESS DIALOG.
ENDIF.
ENDMODULE.
MODULE D150_SETSTATUS *
PF-Status setzen *
MODULE D150_SETSTATUS OUTPUT.
PERFORM SET_STATUS USING 150.
XU150-SELPROF = XU150-SELFEST = XU150-SELADRE = XU150-SELPARA = 'X'.
XU150-SELMENU = 'X'.
ENDMODULE.
MODULE D155_SETSTATUS *
PF-Status setzen *
MODULE D155_SETSTATUS OUTPUT.
PERFORM SET_STATUS USING 155.
ENDMODULE.
MODULE D200_SELECT *
Einen Eintrag aus der Liste ins Dynpro uebernehmen *
MODULE D200_SELECT OUTPUT.
IF SELE = 1.
IF SY-LILLI < 3.
MESSAGE S209.
ELSE.
XU200-XUSER = SY-LISEL.
ENDIF.
SELE = 0.
ENDIF.
IF FCODE2 = 'USER' OR FCODE2 = 'FEST' OR FCODE2 = 'ADRE' OR
FCODE2 = 'PARA' OR FCODE2 = 'ADMI' OR FCODE2 = 'RESE' OR
FCODE2 = 'N '.
SUPPRESS DIALOG.
ENDIF.
PERFORM SET_STATUS USING 200.
ENDMODULE.
MODULE D213_VALOUT *
Festwerte auf das Dynpro schreiben. *
MODULE D213_VALOUT OUTPUT.
DEL = 0.
XU213-DIA = '.'.
XU213-ODC = '.'.
XU213-BDC = '.'.
XU213-CPIC = '.'.
XU213-BATCH = '.'.
CASE USR02-USTYP.
WHEN TYPDIA.
XU213-DIA = 'X'.
WHEN TYPBATCH.
XU213-BATCH = 'X'.
WHEN TYPCPIC.
XU213-CPIC = 'X'.
WHEN TYPBDC.
XU213-BDC = 'X'.
WHEN TYPODC.
XU213-ODC = 'X'.
ENDCASE.
IF USR02-LTIME <> SPACE AND USR02-LTIME <> '000000'.
LOOP AT SCREEN.
CASE SCREEN-GROUP1.
WHEN 'MOD'.
SCREEN-INVISIBLE = '1'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDCASE.
ENDLOOP.
SET CURSOR FIELD 'USR02-CLASS'.
IF F <> ' ' AND L <> 0.
SET CURSOR FIELD F LINE L.
ENDIF.
CODEFLAG = 1.
ELSE.
CLEAR XU213-BCODE.
CLEAR XU213-BCODE2.
IF USR02-BCODE <> '0000000000000000' AND BCODE_C = SPACE.
CODEFLAG = 0.
ENDIF.
IF CODEFLAG = -2.
SET CURSOR FIELD 'XU213-BCODE'.
MESSAGE S290.
ELSE.
SET CURSOR FIELD 'USR02-CLASS'.
IF F <> ' ' AND L <> 0.
SET CURSOR FIELD F LINE L.
ENDIF.
ENDIF.
ENDIF.
ENDMODULE.
MODULE D213_SELECT *
Einen Eintrag aus der Liste uebernehmen. *
MODULE D213_SELECT OUTPUT.
IF SELE = 1.
IF SY-LILLI < 4.
MESSAGE S209.
ELSE.
ASSIGN SY-LISEL(PROFLNG) TO <TEXT>.
MOVE <TEXT> TO XU213-PROFILE.
PERFORM AUTH_CHECK USING OBJ_PROF
XU213-PROFILE SPACE ACT_INCLUDE RC.
IF RC <> 0.
MESSAGE S478 WITH XU213-PROFILE.
ELSE.
FOUND = 0.
LOOP AT TABUSR.
IF TABUSR-PROFILE = XU213-PROFILE.
FOUND = 1.
MESSAGE S268 WITH XU213-PROFILE.
EXIT.
ENDIF.
ENDLOOP.
IF FOUND = 0.
PERFORM EXIST_USR10
USING XU213-PROFILE AKTIVATED SPACE RC.
CLEAR TABUSR.
TABUSR-PROFILE = XU213-PROFILE.
IF USR10-TYP = COLECTPROF.
TABUSR-SAMPROF = 'X'.
ENDIF.
Profiletext lesen
CLEAR USR11.
SELECT SINGLE * FROM USR11
WHERE LANGU = SY-LANGU
AND PROFN = TABUSR-PROFILE
AND AKTPS = AKTIVATED.
TABUSR-PTEXT = USR11-PTEXT.
APPEND TABUSR.
XU213-FILL = XU213-FILL + 1.
IF XU213-FILL >= MAXUSR.
MESSAGE S269.
ENDIF.
UCHANGE = 1.
PERFORM NOTSAVED.
ENDIF.
ENDIF.
ENDIF.
SELE = 0.
ENDIF.
PERFORM SET_STATUS USING 213.
PERFORM MESSAGE.
IF EXT_SECURITY <> '1'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'EXT'.
SCREEN-INPUT = '0'.
SCREEN-INVISIBLE = '1'.
SCREEN-ACTIVE = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
ENDMODULE.
MODULE D213_PROFOUT *
Profiles auf den Bildschirm ausgeben. *
MODULE D213_PROFOUT OUTPUT.
include <symbol>.
COUNTX = XU213-TOPIX + SY-STEPL - 1. "Bild-oben-Pos. in Tab. feststell
IF COUNTX <= XU213-FILL. "Am Ende der Tabelle ?
READ TABLE TABUSR INDEX COUNTX. "Tab. lesen
IF SY-SUBRC = 0.
MOVE-CORRESPONDING TABUSR TO XU213. "Daten auf den Bildschirm
xu213-samprof = sym_documents.
ENDIF.
ENDIF.
USRLOOP = SY-LOOPC.
ENDMODULE.
MODULE D254_SUPPRESS *
Dialog fuer Dynpro 254 unterdruecken *
MODULE D254_SUPPRESS OUTPUT.
SUPPRESS DIALOG.
ENDMODULE.
MODULE D310_SETSTATUS *
PF-Status setzen *
MODULE D310_SETSTATUS OUTPUT.
IF SHOW_ONLY = SPACE.
PERFORM SET_STATUS USING 310.
IF STATFLAG = 1.
LOOP AT SCREEN.
IF SCREEN-NAME = 'USR01-CATTKENNZ '.
AUTHORITY-CHECK OBJECT 'S_DEVELOP'
ID 'DEVCLASS' DUMMY
ID 'OBJTYPE' FIELD 'SCAT'
ID 'OBJNAME' DUMMY
ID 'P_GROUP' DUMMY
ID 'ACTVT' FIELD '70'.
IF SY-SUBRC <> 0.
SCREEN-INPUT = 0.
SCREEN-INVISIBLE = 1.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
ELSE.
PERFORM SET_STATUS USING 330.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'RO '.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
CLEAR FCODE.
ENDMODULE.
MODULE D310_FORMAT_OUT. *
Datumsformat und Dezimalpunktformat entsprechend Daten aus usr01 *
ankreuzen. *
MODULE D310_FORMAT_OUT OUTPUT.
XU310-DATFM1 = ' '.
XU310-DATFM2 = ' '.
XU310-DATFM3 = ' '.
XU310-DATFM4 = ' '.
XU310-DATFM5 = ' '.
XU310-DCPFM1 = ' '.
XU310-DCPFM2 = ' '.
XU310-SPDB1 = ' '.
XU310-SPDA1 = ' '.
IF USR01-DATFM < 1 OR USR01-DATFM > 5.
CALL 'C_SAPGPARAM'
ID 'NAME' FIELD 'zcsa/moddatfm'
ID 'VALUE' FIELD USR01-DATFM.
ENDIF.
CASE USR01-DATFM.
WHEN 1.
XU310-DATFM1 = 'X'.
WHEN 2.
XU310-DATFM2 = 'X'.
WHEN 3.
XU310-DATFM3 = 'X'.
WHEN 4.
XU310-DATFM4 = 'X'.
WHEN 5.
XU310-DATFM5 = 'X'.
WHEN OTHERS.
XU310-DATFM1 = 'X'.
ENDCASE.
IF USR01-DCPFM = ' '.
XU310-DCPFM1 = 'X'.
ELSE.
XU310-DCPFM2 = 'X'.
ENDIF.
IF USR01-SPDB = 'G'.
XU310-SPDB1 = 'X'.
ENDIF.
IF USR01-SPDA = 'D'.
XU310-SPDA1 = 'X'.
ENDIF.
CLEAR TSP03.
SELECT SINGLE * FROM TSP03
WHERE PADEST = USR01-SPLD.
ENDMODULE.
MODULE D320_SETSTATUS *
PF-Status setzen *
MODULE D320_SETSTATUS OUTPUT.
IF SHOW_ONLY = SPACE.
PERFORM SET_STATUS USING 320.
ELSE.
PERFORM SET_STATUS USING 340.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'RO '.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
CLEAR FCODE.
ENDMODULE.
MODULE D330_SETSTATUS *
PF-Status setzen *
MODULE D330_SETSTATUS OUTPUT.
PERFORM SET_STATUS USING 330.
ENDMODULE.
MODULE D340_SETSTATUS *
PF-Status setzen *
MODULE D340_SETSTATUS OUTPUT.
PERFORM SET_STATUS USING 340.
ENDMODULE.
MODULE D350_SETSTATUS *
PF-Status setzen *
MODULE D350_SETSTATUS OUTPUT.
IF SELE = 1.
IF SY-LILLI < 3.
MESSAGE S209.
ELSE.
TABPAR-PARID = SY-LISEL.
APPEND TABPAR.
PARFILL = PARFILL + 1.
ENDIF.
SELE = 0.
ENDIF.
IF SHOW_ONLY = SPACE.
PERFORM SET_STATUS USING 350.
ELSE.
PERFORM SET_STATUS USING 360.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'RO '.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
CLEAR FCODE.
ENDMODULE.
MODULE D350_PAROUT *
Parameter auf den Bildschirm ausgeben. *
MODULE D350_PAROUT OUTPUT.
COUNTX = PARTOPIX + SY-STEPL - 1. "Bild-oben-Pos. in Tab. feststell
IF COUNTX <= PARFILL. "Am Ende der Tabelle ?
READ TABLE TABPAR INDEX COUNTX. "Tab. lesen
IF SY-SUBRC = 0.
MOVE-CORRESPONDING TABPAR TO XU350. "Daten auf den Bildschirm
SELECT SINGLE * FROM TPARAT
WHERE SPRACHE = SY-LANGU
AND PARAMID = TABPAR-PARID.
ENDIF.
ENDIF.
PARLOOP = SY-LOOPC.
ENDMODULE.
MODULE D351_SETSTATUS *
PF-Status setzen *
*ODULE D351_SETSTATUS OUTPUT.
IF SELE = 1.
IF SY-LILLI < 3.
MESSAGE S209.
ELSE.
XU350-PARID = SY-LISEL.
ENDIF.
SELE = 0.
ENDIF.
PERFORM SET_STATUS USING 352.
SUPPRESS DIALOG.
*NDMODULE.
MODULE D360_SETSTATUS *
PF-Status setzen *
MODULE D360_SETSTATUS OUTPUT.
PERFORM SET_STATUS USING 360.
ENDMODULE.
MODULE D390_STATUS *
PF-Status setzen. *
MODULE D390_STATUS OUTPUT.
data uflag_x type x. " unicode
SELECT SINGLE * FROM USR02
WHERE BNAME = XU200-XUSER.
uflag_x = USR02-UFLAG. " unicode
IF SY-SUBRC <> 0.
XU390-STATTEXT = ' Nicht vorhanden.'(222).
ELSE.
IF uflag_x Z YULOCK AND uflag_x Z YUSLOC. " unicode
PERFORM SET_STATUS USING 390.
XU390-STATTEXT = ' Nicht gesperrt. '(223).
ELSE.
IF uflag_x O YULOCK. " unicode
PERFORM SET_STATUS USING 391.
XU390-STATTEXT = ' Durch Falschanmeldungen gesperrt !!!'(224).
ENDIF.
IF uflag_x O YUSLOC. " unicode
PERFORM SET_STATUS USING 391.
XU390-STATTEXT = ' Durch Systemmanager gesperrt !!!'(225).
ENDIF.
ENDIF.
ENDIF.
LOCK = '.'.
UNLO = '.'.
ENDMODULE.
MODULE D400_CLEAR_CODE *
Passwortfeld loeschen. *
MODULE D400_CLEAR_CODE OUTPUT.
CLEAR XU400-NEWCODE.
CLEAR XU400-NEWCODE1.
ENDMODULE.
MODULE D400_SETSTATUS *
PF-Status setzen *
MODULE D400_SETSTATUS OUTPUT.
PERFORM SET_STATUS USING 400.
ENDMODULE.
MODULE D500_SUPPRESS *
Dynpro unterdruecken *
MODULE D500_SUPPRESS OUTPUT.
SET PF-STATUS '0200'.
SUPPRESS DIALOG.
ENDMODULE.
*& Module D214_SETSTATUS OUTPUT
MODULE D214_SETSTATUS OUTPUT.
SET PF-STATUS '0214'.
SET TITLEBAR '214'.
ENDMODULE. " D214_SETSTATUS OUTPUT
*& Module D216_PROFOUT OUTPUT
MODULE D216_PROFOUT OUTPUT.
COUNTX = XU213-TOPIX2 + SY-STEPL - 1. "Bild-oben-Pos. in Tab. festst
IF COUNTX <= XU213-FILL2. "Am Ende der Tabelle ?
READ TABLE INTPRO2 INDEX COUNTX. "Tab. lesen
IF SY-SUBRC = 0.
MOVE-CORRESPONDING INTPRO2 TO XU213. "Daten auf den Bildschirm
ENDIF.
ENDIF.
ENDMODULE. " D216_PROFOUT OUTPUT
*& Module D504_STATUS OUTPUT
MODULE D504_STATUS OUTPUT.
SET PF-STATUS '0504'.
SET TITLEBAR '604'.
ENDMODULE. " D504_STATUS OUTPUT
*& Module D217_SETSTATUS
MODULE D217_SETSTATUS OUTPUT.
PERFORM SET_STATUS USING 217.
PERFORM MESSAGE.
IF FERTIG = -1.
SUPPRESS DIALOG.
ENDIF.
ENDMODULE. " D217_SELECT OUTPUT
*& Module D202_SETSTATUS OUTPUT
text *
MODULE D202_SETSTATUS OUTPUT.
SET PF-STATUS '0203'.
SET TITLEBAR '203'.
ENDMODULE. " D202_SETSTATUS OUTPUT
*& Module D200_LESEN_MEMORY OUTPUT
Schnittstelle mit RSUSR008
call transaction su01 and skip first screen
MODULE D200_LESEN_MEMORY OUTPUT.
IMPORT FCODE FROM MEMORY ID 'OK_CODE'.
EXPORT FCODE FROM SPACE TO MEMORY ID 'OK_CODE'.
ENDMODULE. " D200_LESEN_MEMORY OUTPUT
"$$
10.
*& Report ZSAPMS01J *
23.10.92
set extended check off.
INCLUDE ZMS01JTOP.
*INCLUDE MS01JTOP. "Datendeklarationen
INCLUDE ZMS01JO10.
*INCLUDE MS01JO10. "PBO-Module
*INCLUDE ZMS01JI10.
INCLUDE MS01JI10. "PAI-Module
*INCLUDE ZMS01JF10.
INCLUDE MS01JF10. "Forms
*INCLUDE ZMS01JR10.
INCLUDE MS01JR10. "Reporting
*INCLUDE ZMS01CC10.
INCLUDE MS01CC10. "Checks
*INCLUDE ZMS01CD10.
INCLUDE MS01CD10. "Datenzugriffe
set extended check on.
see there are in total 10 prog that should go in one trasport order. this will creat data file and co file. these are flat files. i want these flat files.
do it in developement server or testing server and then delete it or revert it once you get data file or co file.
i will greatful to u if you could send me these flat files.
thanx in advance
rajhi all,
this can be done in 4.6 version also.
thanx for spending time on this.
thanx®ards
raj -
Not able to login to portal links
Hi,
I am not able to login to any link from index.html page except system information page.
When I try to access any other link and enter user name and password, only page is getting refreshed and it is not logging in.
Error from default trace:
#1.5 #00188B34FD33006C0000002800007AC8000461B1DE2BD2F2#1233316471589#com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl#sap.com/tcwddispwda#com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl#J2EE_ADMIN#2018##mysapbw_BW7_23635150#J2EE_ADMIN#c13b1ba1eec411dd9cbb00188b34fd33#SAPEngine_Application_Thread[impl:3]_2##0#0#Error#1#/System/Server/WebRequests#Plain###application [webdynpro/dispatcher] Processing HTTP request to servlet [dispatcher] finished with error.
The error is: java.lang.NoSuchMethodError: com.sap.security.core.wd.umeuifactory.wdp.IExternalUmeUiFactoryCompInterface.hasSimplePermission(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
Exception id: [00188B34FD33006C0000002600007AC8000461B1DE2BCF03]#
#1.5 #00188B34FD33005F000004A300007AC8000461B1E07DB217#1233316510512#com.sap.engine.services.security.authentication.logonapplication#sap.com/com.sap.security.core.admin#com.sap.engine.services.security.authentication.logonapplication.doLogon#J2EE_GUEST#0##n/a##d88d4300eec411dd9ac900188b34fd33#SAPEngine_Application_Thread[impl:3]_6##0#0#Error##Java###doLogon failed
[EXCEPTION]
#1#com.sap.security.core.logon.imp.UMELoginException
at com.sap.security.core.logon.imp.SAPJ2EEAuthenticator.logon(SAPJ2EEAuthenticator.java:949)
at com.sap.security.core.logonadmin.ServletAccessToLogic.logon(ServletAccessToLogic.java:208)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.doLogon(SAPMLogonLogic.java:914)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.uidPasswordLogon(SAPMLogonLogic.java:578)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.executeRequest(SAPMLogonLogic.java:158)
at com.sap.security.core.sapmimp.logon.SAPMLogonServlet.doPost(SAPMLogonServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
Please help me in resolving this issue.
Regards,
Nallasivam.DProcessing HTTP request to servlet dispatcher finished with error.
Check std_dispatcher.out for errors.
com.sap.security.core.logon.imp.UMELoginException
Check your UME setting using configtool
Regards
Juan -
Not able to login to User management link in portal
Hi,
I am not able to login to "User Management" link from index.html page. When I enter user name and password, only page is getting refreshed and it is not logging in.
Error from default trace:
#1.5 #00188B34FD33006C0000002800007AC8000461B1DE2BD2F2#1233316471589#com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl#sap.com/tcwddispwda#com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl#J2EE_ADMIN#2018##mysapbw_BW7_23635150#J2EE_ADMIN#c13b1ba1eec411dd9cbb00188b34fd33#SAPEngine_Application_Thread[impl:3]_2##0#0#Error#1#/System/Server/WebRequests#Plain###application [webdynpro/dispatcher] Processing HTTP request to servlet [dispatcher] finished with error.
The error is: java.lang.NoSuchMethodError: com.sap.security.core.wd.umeuifactory.wdp.IExternalUmeUiFactoryCompInterface.hasSimplePermission(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
Exception id: [00188B34FD33006C0000002600007AC8000461B1DE2BCF03]#
#1.5 #00188B34FD33005F000004A300007AC8000461B1E07DB217#1233316510512#com.sap.engine.services.security.authentication.logonapplication#sap.com/com.sap.security.core.admin#com.sap.engine.services.security.authentication.logonapplication.doLogon#J2EE_GUEST#0##n/a##d88d4300eec411dd9ac900188b34fd33#SAPEngine_Application_Thread[impl:3]_6##0#0#Error##Java###doLogon failed
[EXCEPTION]
#1#com.sap.security.core.logon.imp.UMELoginException
at com.sap.security.core.logon.imp.SAPJ2EEAuthenticator.logon(SAPJ2EEAuthenticator.java:949)
at com.sap.security.core.logonadmin.ServletAccessToLogic.logon(ServletAccessToLogic.java:208)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.doLogon(SAPMLogonLogic.java:914)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.uidPasswordLogon(SAPMLogonLogic.java:578)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.executeRequest(SAPMLogonLogic.java:158)
at com.sap.security.core.sapmimp.logon.SAPMLogonServlet.doPost(SAPMLogonServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
Please help me in resolving this issue.
Regards,
Nallasivam.DHi,
After looking into the error first i dont think you are enter the right password.
In case if you are entering the right password then you might not have the necessary admin rights on portal.
Regards,
Ramanath -
Unable to login to portal and any links in index.html page
Hi,
I am not able to login to portal. Only able to login to System information link.
Whenever I try to login to other links, I have been taken to User input screen. After I enter the username and password, I am getting response as if Page is refreshed.
Only log geting updated is default trace during this action.
Few Error messages from default trace file during this action:
#1.5 #00188B34FD3300590000002E000065BC0004620157F23D55#1233657817007#com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl#sap.com/tcwddispwda#com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl#J2EE_GUEST#0##n/a##8310f2f3f1df11dda01a00188b34fd33#SAPEngine_Application_Thread[impl:3]_11##0#0#Error#1#/System/Server/WebRequests#Plain###application [webdynpro/dispatcher] Cannot send an HTTP error response [500 Application error occurred during request processing. (details: java.lang.NullPointerException: null)].
The error is: com.sap.engine.services.servlets_jsp.server.exceptions.WebIOException: An attempt to write after the stream had been closed.
Exception id: [00188B34FD3300590000002C000065BC0004620157F23ADA]#
#1.5 #00188B34FD33006500000035000065BC00046201585A3EDE#1233657823820#com.sap.engine.services.security.authentication.logonapplication#sap.com/com.sap.security.core.admin#com.sap.engine.services.security.authentication.logonapplication.doLogon#J2EE_GUEST#0##n/a##8722f8c0f1df11dd933700188b34fd33#SAPEngine_Application_Thread[impl:3]_4##0#0#Error##Java###doLogon failed
[EXCEPTION]
#1#com.sap.security.core.logon.imp.UMELoginException
at com.sap.security.core.logon.imp.SAPJ2EEAuthenticator.logon(SAPJ2EEAuthenticator.java:949)
at com.sap.security.core.logonadmin.ServletAccessToLogic.logon(ServletAccessToLogic.java:208)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.doLogon(SAPMLogonLogic.java:914)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.uidPasswordLogon(SAPMLogonLogic.java:578)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.executeRequest(SAPMLogonLogic.java:158)
at com.sap.security.core.sapmimp.logon.SAPMLogonServlet.doPost(SAPMLogonServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
Regards,
Nallasivam.DHi,
have already read this thread:
it´s nearly the same problem.
Have you checked if the java guest account is enabled? Please check note 1231650.
Best Regards,
Jens -
Can´t Logon to SAP Portal --- USER_AUTH_FAILED
Hi guys,
I got an issue, when i try to logon to portal with administrator user or any other user, the browser just acts like a refresh (f5) and do nothing, but i can access to visual administrator, config tool and http://server:50000/sap/monitoring/SystemInfo
Any clue?
This is part of the trace
#1.5 #001125C5C83E0016000000520000154C00045FC1442B82AD#1231183583871#com.sap.engine.services.security.authentication.loginmodule.ticket.CreateTicketLoginModule#sap.com/com.sap.security.core.admin#com.sap.engine.services.security.authentication.loginmodule.ticket.CreateTicketLoginModule#Guest#0####bd330870db5e11dd8d68001125c5c83e#SAPEngine_Application_Thread[impl:3]_106##0#0#Error##Java###Authentication
stack: [].
[EXCEPTION]
#2#ticket#java.security.NoSuchAlgorithmException: ID21109: Remote
call errored
at com.sap.engine.services.keystore.spi.EBSDKSKeyStoreSpiImpl.engineGetKey(EBSDKSKeyStoreSpiImpl.java:162)
at java.security.KeyStore.getKey(KeyStore.java:320)
at com.sap.security.core.server.jaas.CreateTicketLoginModule.commit(CreateTicketLoginModule.java:386)
at com.sap.engine.services.security.login.LoginModuleLoggingWrapperImpl.commit(LoginModuleLoggingWrapperImpl.java:211)
at com.sap.engine.services.security.login.ModulesProcessAction.run(ModulesProcessAction.java:96)
at java.security.AccessController.doPrivileged(AccessController.java:246)
at com.sap.engine.services.security.login.FastLoginContext.login(FastLoginContext.java:178)
at com.sap.engine.system.SystemLoginModule.login(SystemLoginModule.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
at java.lang.reflect.Method.invoke(Method.java:391)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:699)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:151)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:634)
at java.security.AccessController.doPrivileged(AccessController.java:246)
at javax.security.auth.login.LoginContext.invokeModule(LoginContext.java:631)
at javax.security.auth.login.LoginContext.login(LoginContext.java:557)
at com.sap.security.core.logon.imp.SAPJ2EEAuthenticator.logon(SAPJ2EEAuthenticator.java:864)
at com.sap.security.core.logonadmin.ServletAccessToLogic.logon(ServletAccessToLogic.java:208)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.doLogon(SAPMLogonLogic.java:914)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.uidPasswordLogon(SAPMLogonLogic.java:568)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.executeRequest(SAPMLogonLogic.java:148)
at com.sap.security.core.sapmimp.logon.SAPMLogonServlet.doPost(SAPMLogonServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(AccessController.java:219)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
#1.5 #001125C5C83E0024000000010000154C00045FC144972956#1231183590926#com.sap.engine.services.security.authentication.logonapplication#sap.com/com.sap.security.core.admin#com.sap.engine.services.security.authentication.logonapplication.doLogon#Guest#0####c168c2e0db5e11dda8fb001125c5c83e#SAPEngine_Application_Thread[impl:3]_107##0#0#Error##Java###doLogon
failed
[EXCEPTION]
#1#com.sap.security.core.logon.imp.UMELoginException: USER_AUTH_FAILED
at com.sap.security.core.logon.imp.SAPJ2EEAuthenticator.logon(SAPJ2EEAuthenticator.java:948)
at com.sap.security.core.logonadmin.ServletAccessToLogic.logon(ServletAccessToLogic.java:208)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.doLogon(SAPMLogonLogic.java:914)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.uidPasswordLogon(SAPMLogonLogic.java:568)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.executeRequest(SAPMLogonLogic.java:148)
at com.sap.security.core.sapmimp.logon.SAPMLogonServlet.doPost(SAPMLogonServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(AccessController.java:219)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)Hi
Just a wild guess but.....
Is your backend set up to accept logon tickets. I assume the logon ticket is being created from the portal end so you will have to configure R/3 to accept logon tickets from the portal.
Check the parameter settings for single sign on in R/3
login/accept_sso2_ticket = 1
Regards
Charmaine -
APEX: 2.0.0.00.49
DB: 10R2
I am using table based security. Upon login, I am setting a number of different context variables (e.g., sessionid, userid, name, etc). They are also being set in my application (F100_SESSIONID, F100_USERID, etc).
Recently, our company decided to host another company's data. Not having EE, I decided to add a column to the appropriate tables and then create views accessible through the application. Each view would have a predicate:<BR>
WHERE companycode = SYS_CONTEXT( 'PFS_CTX', 'COMPANYCODE' )<br>
Now, after submit, (I haven't tested every single page), session state seems to be lost.<br>
Debug info before Submit:<br>
0.00: S H O W: application="100" page="26" workspace="" request="" session="12483598699829578467"
0.00: ...Language derived from: FLOW_PRIMARY_LANGUAGE, current browser language: en-us
0.00: alter session set nls_language="AMERICAN"
0.00: alter session set nls_territory="AMERICA"
0.00: NLS: CSV charset=WE8MSWIN1252
0.00: ...Setting NLS Decimal separator="."
0.00: ...Setting NLS Group separator=","
0.00: ...Setting NLS date format="DD-MON-RR"
0.00: NLS: Language=en-us
0.00: Application 100, Authentication: CUSTOM2, Page Template: 653625525474071
0.02: ...Supplied session ID can be used
0.02: ...Application session: 12483598699829578467, user=USER_PFS
0.02: ...Determine if user PFS_ADMIN with SGID 635206529335328 can develop application 100 in workspace 635206529335328
0.02: Fetch session state from database
0.02: Fetch session header information
0.02: ...fetch page attributes: f100, p26
0.02: Branch point: BEFORE_HEADER
0.03: Fetch application meta data
0.03: Computation point: BEFORE_HEADER
0.03: Processing point: BEFORE_HEADER
0.03: Show page template header
0.03: Computation point: AFTER_HEADER
0.03: Processing point: AFTER_HEADER<br>
The Select List I have renders correctly. The query behind the Select List is:<br>
SELECT projectname, projectid
FROM pnet_projects<br>
The view text is:<br>
SELECT projectid, projectname,...
FROM vw_projects
WHERE companycode = SYS_CONTEXT( 'PFS_CTX', 'COMPANYCODE' )<BR>
After Submit, the Select List is empty and here is the Debug info:<br>
0.00: A C C E P T: Request="SUBMIT"
0.00: Fetch application info
0.00: wwv_flow.g_flow_language_derived_from=FLOW_PRIMARY_LANGUAGE: wwv_flow.g_browser_language=en-us
0.00: alter session set nls_language="AMERICAN"
0.00: alter session set nls_territory="AMERICA"
0.00: NLS: CSV charset=WE8MSWIN1252
0.00: ...Setting NLS Decimal separator="."
0.00: ...Setting NLS Group separator=","
0.00: ...Setting NLS date format="DD-MON-RR"
0.02: Fetch session state from database
0.02: ...Check instance 12483598699829578467 owner
0.02: ...Fetch iconbar, page, computation, process, ...
0.02: Fetch session header information
0.02: ...fetch page attributes: f100, p26
0.02: ...Check security schemes
0.02: Save form items and p_arg_values
0.02: ...P26_PROJECTID session state saving same value: "NONE"
0.02: ...P26_TIMEIN session state saving same value: ""
0.03: ...P26_PERSONID session state saving same value: ""
0.03: Processing point: ON_SUBMIT_BEFORE_COMPUTATION
0.03: Branch point: BEFORE_COMPUTATION
0.03: Computation point: AFTER_SUBMIT
0.03: Perform Branching for Tab Requests
0.03: Branch point: BEFORE_VALIDATION
0.03: Perform validations:
0.03: Display inline error messages that are a result of failed validations.
0.03: S H O W: application="100" page="26" workspace="" request="" session="12483598699829578467"
0.03: NLS: Language=en-us
0.03: Application 100, Authentication: CUSTOM2, Page Template: 653625525474071
0.05: ...Supplied session ID can be used
0.05: ...Application session: 12483598699829578467, user=USER_PFS
0.05: ...Determine if user PFS_ADMIN with SGID 635206529335328 can develop application 100 in workspace 635206529335328
0.05: ...fetch page attributes: f100, p26
0.05: Branch point: BEFORE_HEADER
0.05: Fetch application meta data
0.05: Computation point: BEFORE_HEADER
0.05: Processing point: BEFORE_HEADER
0.05: ......do not perform process because inline validation condition found.
0.05: ...Recompute field lables for fields in error.
0.05: Show page template header
0.05: Computation point: AFTER_HEADER
0.05: Processing point: AFTER_HEADER<br>
In the ACCEPT portion, there's a line "Fetch session state from database" which I am guessing gets the Application Context. There is no such line in the SHOW section.<br><br>
I have used Branch to Page Identified by Item and a Branch to Page or URL. Same result.<br><br>
Does anyone have a suggestion as to how I should proceed? Can I use APEX/Application Context in this manner?<br><br>
chetFUNCTION login
(p_username IN VARCHAR2,
p_password IN VARCHAR2,
p_systemcode IN VARCHAR2 DEFAULT 'PFS') RETURN NUMBER
IS
l_sessionid NUMBER(15);
l_password PERSON_SYSTEMS_TAB.PASSWORD%TYPE;
l_personsystemid PERSON_SYSTEMS_TAB.PERSONSYSTEMID%TYPE;
l_personid PERSON_SYSTEMS_TAB.PERSONID%TYPE;
l_passwordexpires PERSON_SYSTEMS_TAB.PASSWORD_EXPIRES%TYPE;
l_accountlocked PERSON_SYSTEMS_TAB.ACCOUNTLOCKED%TYPE;
l_expiredate DATE;
l_entityid ENTITY_TAB.ENTITYID%TYPE;
l_companyname VARCHAR2(150);
l_companycode VARCHAR2(30);
BEGIN
SELECT password, personsystemid, personid, password_expires, accountlocked, date_expired, companycode
INTO l_password, l_personsystemid, l_personid, l_passwordexpires, l_accountlocked, l_expiredate, l_companycode
FROM vw_person_systems
WHERE systemcode = p_systemcode
AND date_expired IS NULL
AND UPPER( username ) = UPPER( p_username );
IF l_password = p_common.hash(p_username, p_password) THEN --successful login
--1 create session
--2 set app context
--3 return sessionid
l_sessionid := create_session( l_personsystemid );
l_companyname := p_common.get_company_name( l_personid );
l_entityid := p_common.get_entityid( l_personid );
p_ctx.set_sessionid( l_sessionid );
p_ctx.set_context( 'NAME', p_login.get_name( l_personid ) );
p_ctx.set_context( 'PERSONSYSTEMID', l_personsystemid );
p_ctx.set_context( 'PERSONID', l_personid );
p_ctx.set_context( 'COMPANYID', SUBSTR( l_companyname, 1, INSTR( l_companyname, ':' ) - 1 ) );
p_ctx.set_context( 'COMPANYNAME', SUBSTR( l_companyname, INSTR( l_companyname, ':' ) + 1, LENGTH( l_companyname ) ) );
p_ctx.set_context( 'SESSIONID', l_sessionid );
p_ctx.set_context( 'EMAILADDRESS', p_username );
p_ctx.set_context( 'ENTITYID', l_entityid );
p_ctx.set_context( 'COMPANYCODE', l_companycode );
END IF;
RETURN l_sessionid;
EXCEPTION
WHEN no_data_found THEN
raise_application_error(-20002, 'invalid username');
END login;<br>
None of this code has changed in quite some time. The only thing that changed was the view reference from APEX. This seems to occur only when the page is submitted (with or without validations). -
Dear all,
This week we had done XQ1 operating system transformation from HP-UX to Linux environment,after that we test our Interfaces(Scenarios) and get the following error in runtime message mapping
We tested manually for our scenarios,every scenario Mapping is execute successfully,but in runtime it gives the below following dump
SXMB_Moni error Description:
<?xml version="1.0" encoding="utf-8" ?>
- <MappingTrace>
<Trace level="1" type="T">Mapping-Namespace:urn:pg-com:OLK001A1:PD2TCTP-OpenJob</Trace>
<Trace level="1" type="T">Mapping-Name:PD2001A1_PD2001A1_IDOC_ZXI0001_to_CWLD_RFC_EVENT_RETURN</Trace>
<Trace level="1" type="T">Mapping-SWCV:5D932D90E93411DC9277D3DB0A9E0151</Trace>
<Trace level="1" type="T">Mapping-Step:1</Trace>
<Trace level="1" type="T">Mapping-Type:JAVA</Trace>
<Trace level="1" type="T">Mapping-Program:com/sap/xi/tf/_PD2001A1_PD2001A1_IDOC_ZXI0001_to_CWLD_RFC_EVENT_RETURN_</Trace>
<Trace level="1" type="T">This program line cannot be accessed</Trace>
<Trace level="1" type="T">com.sap.aii.utilxi.misc.api.UnreachableException: This program line cannot be accessed at com.sap.aii.ibrun.server.mapping.StampPersistor.getCurrentStamp(StampPersistor.java:118) at com.sap.aii.ibrun.server.mapping.StampPersistor.getCurrentStamp(StampPersistor.java:69) at com.sap.aii.ibrun.server.mapping.MappingPool$MappingStamp.getCurrentStamp(MappingPool.java:382) at com.sap.aii.ibrun.server.mapping.pool.SynchronizedGlobalStamp.getCurrentStamp(Pool.java:155) at com.sap.aii.ibrun.server.mapping.pool.Pool.checkOut(Pool.java:50) at com.sap.aii.ibrun.server.mapping.MappingPool.checkOut(MappingPool.java:52) at com.sap.aii.ibrun.server.mapping.JavaMapping.load(JavaMapping.java:91) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:45) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:92) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:95) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:68) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0_0.processFunction(MappingServiceObjectImpl0_0.java:131) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:61) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy199.processFunction(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:61) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:107) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113) at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:157) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(AccessController.java:219) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)</Trace>
<Trace level="1" type="T" />
</MappingTrace>
At the same time our XI administator got the following below dump
#1.5^H#E41F1367D108006600000208000007790004A52B76288B1E#1307505991387#com.sap.engine.services.security.authentication.logincontext#sap.com/com.sap.security.core.admin#com.sap.engine.services.security.authentication.logincontext#J2EE_GUEST#0####b11663a0918411e0ac9ae41f1367d108#SAPEngine_Application_Thread[impl:3]_15##0#0#Error#1#/System/Security/Authentication#Plain###LOGIN.FAILED
User: N/A
Authentication Stack: ticket
Login Module Flag Initialize Login Commit Abort Details
1. com.sap.security.core.server.jaas.EvaluateTicketLoginModule SUFFICIENT ok exception true null
2. com.sap.engine.services.security.server.jaas.BasicPasswordLoginModule REQUISITE ok true
3. com.sap.security.core.server.jaas.CreateTicketLoginModule OPTIONAL ok true #
#1.5^H#E41F1367D10800660000020A000007790004A52B76288D65#1307505991388#com.sap.engine.services.security.authentication.logonapplication#sap.com/com.sap.security.core.admin#com.sap.engine.services.security.authentication.logonapplication.doLogon#J2EE_GUEST#0####b11663a0918411e0ac9ae41f1367d108#SAPEngine_Application_Thread[impl:3]_15##0#0#Error##Java###doLogon failed
[EXCEPTION]
#1#com.sap.security.core.logon.imp.UMELoginException: USER_AUTH_FAILED
at com.sap.security.core.logon.imp.SAPJ2EEAuthenticator.logon(SAPJ2EEAuthenticator.java:341)
at com.sap.security.core.logonadmin.ServletAccessToLogic.logon(ServletAccessToLogic.java:202)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.doLogon(SAPMLogonLogic.java:977)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.uidPasswordLogon(SAPMLogonLogic.java:630)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.executeRequest(SAPMLogonLogic.java:150)
at com.sap.security.core.sapmimp.logon.SAPMLogonServlet.doPost(SAPMLogonServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(AccessController.java:219)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
So please help us to solve this problem as soon as possible. We are looking forward to here from you.
Thank you very much,
SateeshHi,
Thank you very much for your responses,
JCO_Runtime_Server is fine.
Yes, We had login problem for our J2ee_Guest user, We are n't unable to login and get the below from Adminstator end.
#1.5^H#E41F1367D108006600000208000007790004A52B76288B1E#1307505991387#com.sap.engine.services.security.authentication.logincontext#sap.com/com.sap.security.core.admin#com.sap.engine.services.security.authentication.logincontext#J2EE_GUEST#0####b11663a0918411e0ac9ae41f1367d108#SAPEngine_Application_Thread[impl:3]_15##0#0#Error#1#/System/Security/Authentication#Plain###LOGIN.FAILED
User: N/A
Authentication Stack: ticket
Login Module Flag Initialize Login Commit Abort Details
1. com.sap.security.core.server.jaas.EvaluateTicketLoginModule SUFFICIENT ok exception true null
2. com.sap.engine.services.security.server.jaas.BasicPasswordLoginModule REQUISITE ok true
3. com.sap.security.core.server.jaas.CreateTicketLoginModule OPTIONAL ok true #
#1.5^H#E41F1367D10800660000020A000007790004A52B76288D65#1307505991388#com.sap.engine.services.security.authentication.logonapplication#sap.com/com.sap.security.core.admin#com.sap.engine.services.security.authentication.logonapplication.doLogon#J2EE_GUEST#0####b11663a0918411e0ac9ae41f1367d108#SAPEngine_Application_Thread[impl:3]_15##0#0#Error##Java###doLogon failed
[EXCEPTION]
#1#com.sap.security.core.logon.imp.UMELoginException: USER_AUTH_FAILED
at com.sap.security.core.logon.imp.SAPJ2EEAuthenticator.logon(SAPJ2EEAuthenticator.java:341)
at com.sap.security.core.logonadmin.ServletAccessToLogic.logon(ServletAccessToLogic.java:202)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.doLogon(SAPMLogonLogic.java:977)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.uidPasswordLogon(SAPMLogonLogic.java:630)
at com.sap.security.core.sapmimp.logon.SAPMLogonLogic.executeRequest(SAPMLogonLogic.java:150)
at com.sap.security.core.sapmimp.logon.SAPMLogonServlet.doPost(SAPMLogonServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(AccessController.java:219)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
Could you please help us out about this problem, Thank you very much.
Sateesh
Edited by: sateesh kumar .N on Jun 8, 2011 1:46 PM -
"Manage Users" IR report displaying incorrect user types
Home>Administration>Users
APEX 4.0.2.00.07
DB 11.2.0.2
Found a couple of question-raising things:
1) User type is showing "Workspace Administrator" for almost all users (many are only users) with a couple identified as "Developer" (who really do only have developer privs turned on). If I knew the sql for the IR report I might find the problem - checked wwv_flow_fnd_user and wwv_flow_developers and they both look OK (no recs in wwv_flow_developers for the end users and those with given admin privs are marked as admin, etc.). Did find one dup group name but removing it didn't seem to have an effect.
2) Trying to find out what is going on I found the second: It appears that if you have assigned more than one group to a user (apex group to apex user), then add the group_name column to the Manage Users IR, you get the "single row subquery returns more than one row".
Haven't found any other posts here on this. Any ideas?
Thanks,
SteveThanks Richard - forgot about the builder import.
After taking the IR sql and working it I found the following:
In this apex installation...
There seems to be a problem with the outer join between wwv_flow_developers and wwv_flow_fnd_user which brings non-null values for d.is_admin and d.is_developer (and for us these are 'Y' if there are no matching records in wwv_flow_developers.
Changing the decode for DEV_TYPE to use a nvl for d.userid to set all users to end user if they are not in the wwv_flow_developers table fixes the display of user type.
Now I am guessing this is a data anomaly rather than a bug. Anyone have any ideas on why the outer join to wwv_flow_developers shows a not-null value for is_admin and is_developer?
Steve
Here is a mostly-intact version of the region source (I shortened it considerably from the code below to focus on the incorrect USER TYPE display issue):
select /* APEX4350P55a */
USER_ID,
u.user_name "USER",
u.email_address "eMail",
u.first_name,
u.last_name,
replace(u.default_schema,'%'||'null%',null) df,
decode(nvl(d.is_developer,'N'),'Y', (select case
when (wwv_flow_fnd_user_api.workspace_account_days_left(
wwv_flow_user_api.get_username(user_id)) > 0)
then m.password_valid
else m.password_expired
end expiration from dual),
m.no_developer_priv) developer,
decode (nvl(d.is_developer,'N'),'Y',last_login,null) last_login,
decode (nvl(d.is_developer,'N'),'Y',last_login,null) last_login2,
decode (nvl(d.is_developer,'N'),'Y',
nvl(builder_login_count,0),null) builder_login_count,
decode(nvl(u.account_locked,'N'),'Y',m.yes,m.n)ul,
case
when (wwv_flow_fnd_user_api.end_user_account_days_left(
wwv_flow_user_api.get_username(user_id)) > 0)
then m.password_valid
else m.password_expired
end expiration,
u.DESCRIPTION,
u.PASSWORD_LIFESPAN_DAYS,
u.PASSWORD_LIFESPAN_ACCESSES,
u.PASSWORD_ACCESSES_LEFT,
u.LAST_AGENT,
u.LAST_IP,
u.ACCOUNT_EXPIRY,
u.FAILED_ACCESS_ATTEMPTS,
u.CHANGE_PASSWORD_ON_FIRST_USE,
u.FIRST_PASSWORD_USE_OCCURRED,
decode(nvl(d.is_admin,'N'),'Y',
m.admin,decode(nvl(d.is_developer,'N'),
'Y',m.dev,m.end_user)) dev_type,
(select group_id from WWV_FLOW_FND_GROUP_USERS where user_id = u.user_id) group_id,
(select GROUP_NAME from WWV_FLOW_FND_USER_GROUPS where id = (select group_id from WWV_FLOW_FND_GROUP_USERS where user_id = u.user_id)) group_name,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
nvl(d.developer_type,'END_USER') developer_type,
decode(nvl(ALLOW_APP_BUILDING_YN,'Y'),'Y',m.yes,m.n) ALLOW_APP_BUILDING,
decode(nvl(ALLOW_SQL_WORKSHOP_YN,'Y'),'Y',m.yes,m.n) ALLOW_SQL_WORKSHOP,
decode(nvl(ALLOW_WEBSHEET_DEV_YN,'Y'),'Y',m.yes,m.n) ALLOW_WEBSHEET_DEV,
decode(nvl(ALLOW_TEAM_DEVELOPMENT_YN,'Y'),'Y',m.yes,m.n) ALLOW_TEAM_DEVOPMENT
from WWV_FLOW_FND_USER u,
(select USERID,
decode(instr(DEVELOPER_ROLE,'ADMIN'),0,'N','Y') is_admin,
'Y' is_developer,
case
when instr(DEVELOPER_ROLE,'BASIC_DEV') > 0 then
'BASIC_DEV'
when instr(DEVELOPER_ROLE,'ADMIN') > 0 then
'ADMIN'
when instr(DEVELOPER_ROLE,'CREATE') > 0 then
'DEVELOPER'
else
'UNKNOWN'
end developer_type
from WWV_FLOW_DEVELOPERS
where security_group_id = :flow_security_group_id) d,
(select wwv_flow_lang.system_message('F4000.NO') n,
wwv_flow_lang.system_message('F4000.YES') yes,
wwv_flow_lang.system_message('PASSWORD_VALID') password_valid,
wwv_flow_lang.system_message('PASSWORD_EXPIRED') password_expired,
wwv_flow_lang.system_message('NO_DEVELOPER_PRIV') no_developer_priv,
wwv_flow_lang.system_message('DEVELOPER') dev,
wwv_flow_lang.system_message('ADMINISTATOR') admin,
wwv_flow_lang.system_message('END_USER') end_user,
wwv_flow_lang.system_message('BASIC_DEVELOPER') basic_developer
from dual) m
where
u.user_name = d.userid(+) and
u.security_group_id = :flow_security_group_id
Edited by: stevehoward on Jul 6, 2011 11:37 AM
Edited by: stevehoward on Jul 6, 2011 11:40 AM -
Function module to find/check saplogin password
Hi,
can any one tell me the function module to find/check saplogin password.
thankshi Bobby,
chk this FM SUSR_LOGIN_CHECK_RFC
call function 'SUSR_LOGIN_CHECK_RFC'
exporting
bname = signer
password = r3password
exceptions
wait = 1
user_locked = 2
user_not_active = 3
password_expired = 4
wrong_password = 5
no_check_for_this_user = 6
internal_error = 7
others = 8. -
FM asking for username and password
Is there a function module that will prompt for a username and password?
Hi Adrian
Hope the below code helps you.
DATA: L_NAME TYPE SYUNAME,
L_PWD TYPE XUBCODE,
L_STATE TYPE XUPWDSTATE.
CALL FUNCTION 'POC_CALL_USER_LOGIN_POPUP'
IMPORTING
EX_UNAME = L_NAME
EX_PASSWORD = L_PWD
EX_PWDSTATE = L_STATE
EXCEPTIONS
INPUT_CANCELED = 1
OTHERS = 2
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
CALL FUNCTION 'SUSR_LOGIN_CHECK_RFC'
EXPORTING
BNAME = L_NAME
PASSWORD = L_PWD
* XBCODE =
* XCODVN =
EXCEPTIONS
WAIT = 1
USER_LOCKED = 2
USER_NOT_ACTIVE = 3
PASSWORD_EXPIRED = 4
WRONG_PASSWORD = 5
NO_CHECK_FOR_THIS_USER = 6
INTERNAL_ERROR = 7
OTHERS = 8
IF SY-SUBRC <> 0.
* Error Message
ELSE.
* Login Successful
ENDIF.
ENDIF.
Explore the above and see if it can suit your requirement.
Kind Regards
Eswar
Note: Reward for helpful answers
Message was edited by: Eswar Rao Boddeti -
Portal authentication failing intermittently post self registration
We are in the process of upgrading from EP6 to EP7 and have hit a critical authentication problem that is proving difficult to diagnose and resolve.
Our self registration process leads straight into user logon:
1) the user fills in the registration form with their user ID, password etc and selects Submit which creates the user ID in our R/3 user store
2) the user is presented with text informing them that their registration has been successful and a Proceed button which when selected authenticates them with the portal with their newly created user ID
Step 2) above is working intermittently in our EP7 system - sometimes the process works exactly as expected others an exception is raised (com.sap.security.core.logon.imp.UMELoginException: USER_AUTH_FAILED).
It seems as though the cause is that the user creation process has not completed fully before the logon step.
We tried implementing a wait step (10 seconds) following selection of the Proceed button which reduced the incidence rate of the problem but didn't cure it entirely.
A possible contributing factor is hardware performance as we are testing the upgrade on an impact analysis system which is not as efficient as our live portal landscape.
I've pasted the code which performs the authentication and extracts from the DIAGTOOL portal logs below which show the login module configuration (SAP standard I believe).
Any help/advice what to try next would be greatly appreciated as we are running out of ideas.
Thanks,
Alan
The following code performs the authentication and redirection to the portal user's home page:
public void onRedirect(Event event) throws PageException {
getBean();
//Get resource bundle
ResourceBundle rbSetup =
ResourceBundle.getBundle(
"setup",
((IPortalComponentRequest) this.getRequest()).getLocale());
ILogonAuthentication logonAuthentication =
UMFactory.getLogonAuthenticator();
HttpServletRequest req =
((IPortalComponentRequest) this.getRequest())
.getServletRequest();
HttpServletResponse res =
(IPortalComponentRequest) this
.getRequest())
.getServletResponse(
true);
req.setAttribute(
ILoginConstants.LOGON_UID_ALIAS,
SelfRegBean.getLogonUid());
req.setAttribute(
ILoginConstants.LOGON_PWD_ALIAS,
SelfRegBean.getPassword());
Subject subject = null;
try {
subject = logonAuthentication.logon(req, res, AUTHSCHEME);
if (null != subject) {
res.sendRedirect(rbSetup.getString("REDIRECT_URL"));
} catch (LoginException e) {
SelfRegBean.setError(rb.getString(LOGIN_FAILED));
} catch (IOException e) {
SelfRegBean.setError(rb.getString(REDIRECT_FAILED));
Full exception thrown when the authentication process fails:
com.sap.security.core.logon.imp.UMELoginException: USER_AUTH_FAILED at com.sap.security.core.logon.imp.SAPJ2EEAuthenticator.logon(SAPJ2EEAuthenticator.java:949) at uk.ac.ncl.SelfRegistration$SelfRegistrationDynPage.onRedirect(SelfRegistration.java:507) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sapportals.htmlb.page.DynPage.doProcessCurrentEvent(DynPage.java:172) at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:115) at com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:134) at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209) at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114) at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328) at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136) at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189) at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215) at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:645) at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328) at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136) at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189) at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753) at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240) at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:524) at java.security.AccessController.doPrivileged(Native Method) at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:407) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172) -
Key log extracts from DIAGTOOL:
Exception on login:
[EXCEPTION]
com.sap.security.core.server.userstore.UserstoreException: Could not refresh user postsp15p
Caused by: com.sap.security.api.NoSuchUserAccountException: USER_AUTH_FAILED: User account for logonid "postsp15p" not found!
LOGIN.FAILED
User: N/A
Authentication Stack: ticket
Login Module Flag Initialize Login Commit Abort Details
1. com.sap.security.core.server.jaas.EvaluateTicketLoginModule SUFFICIENT ok false true
#1 ume.configuration.active = true
2. com.sap.engine.services.security.server.jaas.BasicPasswordLoginModule REQUISITE ok exception true Authentication did not succeed.
3. com.sap.security.core.server.jaas.CreateTicketLoginModule OPTIONAL ok true
#1 ume.configuration.active = true
com.sap.security.core.logon.imp.UMELoginException:
ObjectID handed over is 'null'!
Guest | LOGIN.ERROR | null | | Login Method=[uidpwdlogon], UserID=[null], IP Address=[10.64.65.191], Reason=[Authentication did not succeed.]
USER_AUTH_FAILEDWe are in the process of upgrading from EP6 to EP7 and have hit a critical authentication problem that is proving difficult to diagnose and resolve.
Our self registration process leads straight into user logon:
1) the user fills in the registration form with their user ID, password etc and selects Submit which creates the user ID in our R/3 user store
2) the user is presented with text informing them that their registration has been successful and a Proceed button which when selected authenticates them with the portal with their newly created user ID
Step 2) above is working intermittently in our EP7 system - sometimes the process works exactly as expected others an exception is raised (com.sap.security.core.logon.imp.UMELoginException: USER_AUTH_FAILED).
It seems as though the cause is that the user creation process has not completed fully before the logon step.
We tried implementing a wait step (10 seconds) following selection of the Proceed button which reduced the incidence rate of the problem but didn't cure it entirely.
A possible contributing factor is hardware performance as we are testing the upgrade on an impact analysis system which is not as efficient as our live portal landscape.
I've pasted the code which performs the authentication and extracts from the DIAGTOOL portal logs below which show the login module configuration (SAP standard I believe).
Any help/advice what to try next would be greatly appreciated as we are running out of ideas.
Thanks,
Alan
The following code performs the authentication and redirection to the portal user's home page:
public void onRedirect(Event event) throws PageException {
getBean();
//Get resource bundle
ResourceBundle rbSetup =
ResourceBundle.getBundle(
"setup",
((IPortalComponentRequest) this.getRequest()).getLocale());
ILogonAuthentication logonAuthentication =
UMFactory.getLogonAuthenticator();
HttpServletRequest req =
((IPortalComponentRequest) this.getRequest())
.getServletRequest();
HttpServletResponse res =
(IPortalComponentRequest) this
.getRequest())
.getServletResponse(
true);
req.setAttribute(
ILoginConstants.LOGON_UID_ALIAS,
SelfRegBean.getLogonUid());
req.setAttribute(
ILoginConstants.LOGON_PWD_ALIAS,
SelfRegBean.getPassword());
Subject subject = null;
try {
subject = logonAuthentication.logon(req, res, AUTHSCHEME);
if (null != subject) {
res.sendRedirect(rbSetup.getString("REDIRECT_URL"));
} catch (LoginException e) {
SelfRegBean.setError(rb.getString(LOGIN_FAILED));
} catch (IOException e) {
SelfRegBean.setError(rb.getString(REDIRECT_FAILED));
Full exception thrown when the authentication process fails:
com.sap.security.core.logon.imp.UMELoginException: USER_AUTH_FAILED at com.sap.security.core.logon.imp.SAPJ2EEAuthenticator.logon(SAPJ2EEAuthenticator.java:949) at uk.ac.ncl.SelfRegistration$SelfRegistrationDynPage.onRedirect(SelfRegistration.java:507) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sapportals.htmlb.page.DynPage.doProcessCurrentEvent(DynPage.java:172) at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:115) at com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:134) at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209) at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114) at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328) at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136) at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189) at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215) at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:645) at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328) at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136) at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189) at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753) at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240) at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:524) at java.security.AccessController.doPrivileged(Native Method) at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:407) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172) -
Key log extracts from DIAGTOOL:
Exception on login:
[EXCEPTION]
com.sap.security.core.server.userstore.UserstoreException: Could not refresh user postsp15p
Caused by: com.sap.security.api.NoSuchUserAccountException: USER_AUTH_FAILED: User account for logonid "postsp15p" not found!
LOGIN.FAILED
User: N/A
Authentication Stack: ticket
Login Module Flag Initialize Login Commit Abort Details
1. com.sap.security.core.server.jaas.EvaluateTicketLoginModule SUFFICIENT ok false true
#1 ume.configuration.active = true
2. com.sap.engine.services.security.server.jaas.BasicPasswordLoginModule REQUISITE ok exception true Authentication did not succeed.
3. com.sap.security.core.server.jaas.CreateTicketLoginModule OPTIONAL ok true
#1 ume.configuration.active = true
com.sap.security.core.logon.imp.UMELoginException:
ObjectID handed over is 'null'!
Guest | LOGIN.ERROR | null | | Login Method=[uidpwdlogon], UserID=[null], IP Address=[10.64.65.191], Reason=[Authentication did not succeed.]
USER_AUTH_FAILED
Maybe you are looking for
-
Regarding field description in report
HI, I had made a report in which i am displaying the changes made to a material in a purticular month. it is working fine but 1 field i am looking for is d description which is similar to MM04 tcode when we execute there is field called field descrip
-
Is there some way to import image files directly into an open document?
Is there some way of importing a series of image files, say jpegs, directly into an open document, rather than having to open all the image files and having to drag and drop each individual one into the open document? Specifically, I'm a dentist and
-
Can't get iMessage to work on iPad
I have a problem where I'm not receiving any new iMessages on my ipad. It was working fine up until a few weeks ago
-
How do I create NTSC version?
Hi, I need to create both PAL and NTSC versions a project created in Premiere Pro CC but am not sure of the correct way. The PAL version is no problem, but for the NTSC version I tried creating a new NTSC sequence and dragged the footage into it and
-
IPhoto disappeared, how can I reinstall it?
MacBook Pro OSX 10.8.2 I just got this Pro yesterday. Anyhow, I screwed up when I was trying to move some old files from a Time Machine backup on my old iMac so I reinstalled OSX according to Apple's instructions (Cmd/R). It took all night but all lo