How to verify RFC user?

I have maintained RFC desctination in SM59.
In my application I make RFC calls using these RFC destinations. Before I use this application, I need to make sure that the logon information(user and password) for the RFC destination is correct.
Is there a way to do it programmatically in ABAP?

Hi Shakir,
I think, your RFC would be called from other system. So you need logon info. of your SAP system.
THis logon info. would be used in the 3rd party system, which is going to call your RFC.
So to test SAP User ID & pwd, simply logon with the details & verify.
Please let me knw, if this is not the requirement.
Best regards,
Prashant

Similar Messages

  • How to verify the user information pass by the form with a stored procedure?

    Hi,
    I would like to know how to verify user information pass by the form with a stored procedure.
    I want make a portal which accepts to new user registration, but I want verify the new user's informations (like the name don't contain a number etc).
    Thanks for your help
    regards
    jla

    Hi Samson,
    You can use the UI API to do this. You can catch the form_ADD event and then validate the input from the users. You can even block the event from completing (and stop the document from being added) if your code finds some incorrect data using the bubbleEvent functionality.
    I don't have one specific example to show you, but if you look at some of the SDK samples (for example C:\Program Files\SAP\SAP Business One SDK\Samples\COM UI\VB.NET\02.CatchingEvents) to see how to work with events, you can then create your own validation to ensure the users data is valid.
    Regards,
    Niall

  • How to verify if user already exists in MySQL database using JSP?

    Hi, I am trying to create a website that allows users to register and then login. All regsitration details are stored in a MySQL table and I am attempting to have a java bean check that a new user does not already exist by looking up the username. However, I cannot get this to work, the bean is allowing anyone through. I believe there may be a problem with my while loop as the bean checks through the stored usernames in the database. Any suggestions appreciated thanks. See my code below:[
    code]package foo;
    import java.sql.*;
    import java.util.*;
    public class FormBean {
         private String firstName;
         private String lastName;
         private String email;
         private String userName;
         private String password1;
         private String password2;
         private Hashtable errors;
         public boolean validate() {
              boolean allOk=true;
              if (firstName.equals("")) {
                   errors.put("firstName","Please enter your first name");
                   firstName="";
                   allOk=false;
              if (lastName.equals("")) {
                   errors.put("lastName","Please enter your last name");
                   lastName="";
                   allOk=false;
              if (email.equals("") || (email.indexOf('@') == -1)) {
                   errors.put("email","Please enter a valid email address");
                   email="";
                   allOk=false;
              if (userName.equals("")) {
                   errors.put("userName","Please enter a username");
                   userName="";
                   allOk=false;
    try {
              String database = "******hidden******";
              Class.forName("com.mysql.jdbc.Driver");
              Connection conn = DriverManager.getConnection(database,"********hidden*******");
              Statement stat = conn.createStatement();
              String query="SELECT u_name FROM users;";
              String DbUserName="";
              ResultSet rst=stat.executeQuery(query);
              while(rst.next()) {
    DbUserName=rst.getString("u_name");
    if (userName.equals(DbUserName)) {
    allOk=false;
    errors.put("userName","User name already exists, please choose another");
    userName="";
    conn.close();
    break;
    } catch (Exception ex) {
    ex.printStackTrace();
              if (password1.equals("") ) {
                   errors.put("password1","Please enter a valid password");
                   password1="";
                   allOk=false;
              if (!password1.equals("") && (password2.equals("") || !password1.equals(password2))) {
                   errors.put("password2","Please confirm your password");
                   password2="";
                   allOk=false;
    return allOk;
         public String getErrorMsg(String s) {
              String errorMsg =(String)errors.get(s.trim());
         return (errorMsg == null) ? "":errorMsg;
         public FormBean() {
         firstName="";
         lastName="";
         email="";
    userName="";
         password1="";
         password2="";
         errors = new Hashtable();
         public String getFirstName() {
              return firstName;
         public String getLastName() {
              return lastName;
         public String getEmail() {
              return email;
         public String getUserName() {
              return userName;
         public String getPassword1() {
              return password1;
         public String getPassword2() {
              return password2;
         public void setFirstName(String fname) {
              firstName =fname;
         public void setLastName(String lname) {
              lastName =lname;
         public void setEmail(String eml) {
              email=eml;
         public void setUserName(String u) {
              userName=u;
         public void setPassword1(String p1) {
              password1=p1;
         public void setPassword2(String p2) {
              password2=p2;
         public void setErrors(String key, String msg) {     
              errors.put(key,msg);

    Hmm, tried that and now have more build errors in the finally section.
    init:
    deps-jar:
    Compiling 1 source file to C:\resin-2.1.11\doc\examples\basic\WEB-INF\classes\JavaLibrary1\build\classes
    C:\resin-2.1.11\doc\examples\basic\WEB-INF\classes\JavaLibrary1\test\FormBean.java:57: cannot resolve symbol
    symbol  : variable rst
    location: class foo.FormBean
                if (rst != null) rst.close();
    C:\resin-2.1.11\doc\examples\basic\WEB-INF\classes\JavaLibrary1\test\FormBean.java:57: cannot resolve symbol
    symbol  : variable rst
    location: class foo.FormBean
                if (rst != null) rst.close();
    C:\resin-2.1.11\doc\examples\basic\WEB-INF\classes\JavaLibrary1\test\FormBean.java:58: cannot resolve symbol
    symbol  : variable stat
    location: class foo.FormBean
                if (stat != null) stat.close();
    C:\resin-2.1.11\doc\examples\basic\WEB-INF\classes\JavaLibrary1\test\FormBean.java:58: cannot resolve symbol
    symbol  : variable stat
    location: class foo.FormBean
                if (stat != null) stat.close();
    C:\resin-2.1.11\doc\examples\basic\WEB-INF\classes\JavaLibrary1\test\FormBean.java:59: cannot resolve symbol
    symbol  : variable conn
    location: class foo.FormBean
                if (conn != null)  conn.close();
    C:\resin-2.1.11\doc\examples\basic\WEB-INF\classes\JavaLibrary1\test\FormBean.java:59: cannot resolve symbol
    symbol  : variable conn
    location: class foo.FormBean
                if (con != null)  conn.close();
    6 errors
    BUILD FAILED (total time: 1 second)Just for a quick test, I deleted the sql exception and finally code and replaced it with a regular exception just to see what happened and got no build errors, however when I run the form I am getting an sql exception from the prepared statement, parameter out of range (1 > 0). I tried reading into prepared statements, and although I now understand their basics, I still have no idea why I'm getting this error?

  • RFC User s

    How is create RFC users ? thru Sm59 ? Su01?
    Thanks

    No no no! Alex's posts are much better and older.
    He survived the great depression of '02 while I was still auditing R/2 systems for a company which survived the other depression...
    There are many sources of information from which you can gain SAP and SAP security information.
    The better ones (in my opinion) for gaining SAP Security knowledge are those which help you to help yourself without making you dependent on them (though SAP can be addictive because of it's crispy internal business security logic - which makes it fascinating even for accountants...:-)
    Some of the best ones (in my opinion) to search:
    - The system itself.
    - SAP Service Marketplace (OSS)
    - http://help.sap.com
    - SDN (here you have an advantage when asking or answering questions, in that SAP themselves are participants)
    - using google or other "SAP" sites with knowledgable contributers, such as SAPfans (there are many such sites; the ones which will give you a sustainable solution are better than those which give you a shortcut).
    Last, but by no means least, you can gain invaluable information from questions, and folks who follow-up on answers (and question them as well) - like you do George
    A technical discussion forum takes 2 to tango: questions and answers.
    From your recent posts, I have learnt that I should have more courage to ask questions.
    Thank you George,
    Julius

  • How to select which RFC USERS have been accessed my host ?

    Hi, guru
    how to select which RFC USERS have been accessed my host ?
    or how to record the RFC users's trace ?
    because the auditor wants to know it.
    Best regards,
    Michael

    how to select which RFC USERS have been accessed my host ?
    did you check ST03N->User profile ?
    or how to record the RFC users's trace ?
    Check ST01 for system trace.

  • How to set Current User in moss 2007 for Authentication....

    Hi Team,
    We have current running website where we have user id to login but now requirement is that user will login with his Email address. Email is stored in active directory, I'm able to login with fba authentication.  
    I'm able to retrieve the user id of current user using Email but
    I am NOT able to set that user id for current user for further authentication using Moss 2007.
    Please find the source code for login and authentication page:
    //---------------------------Login Page--------------------//
        public partial class Login : System.Web.UI.UserControl
            #region Decleration
            string LoginStatus = null;
            string UserCurrent = null;
           static SPUser siteuser;
           // private static string _randomNumbercheck;
            //private static bool IsLoggedin;      
            Random random;
            #endregion       
            #region Page Load
            protected void Page_Load(object sender, EventArgs e)
                this.hplchangepw.Visible = false;
                this.hplmytask.Visible = false;
                string desturl = SPContext.Current.Site.Url;
                if (!IsPostBack)
                    try
                        string str;
     SPWeb web = SPContext.Current.Web;
                             SPUser siteuser = web. .CurrentUser; 
                        //SPUser siteuser = spWeb.EnsureUser(username);
                        str = (siteuser == null ? "" : siteuser.ToString());
                        this.Login.TitleText = "";
                        this.Login.DestinationPageUrl = desturl;
                        //if (HttpContext.Current.Request.UrlReferrer != null)
                        //    if (this.Page.User.Identity.IsAuthenticated && ((Session["test1"].ToString() == _randomNumbercheck) || LoginControl.Class1.IsLoggedIn))
                         if (this.Page.User.Identity.IsAuthenticated)
                               // _randomNumbercheck = "";
                                this.hplregister.Visible = false;
                                this.hplforgetpassw.Visible = false;
                                this.hplchangepw.Visible = true;
                                this.hplmytask.Visible = true;
                                this.Login.Visible = false;
      if (str.StartsWith("fba_"))
                                    string name = str.Split(':').GetValue(1).ToString();
                                    LoginnameLbl.Text = "<b>" + name.ToString() + "</b>,<br><br>Haryana Urban Development Authority Welcomes
    You. <br><br><br><b><i>\"In The Service Of Masses\"</i></b>";
                                else
                                    string name = str.Split('\\').GetValue(1).ToString();
                                    LoginnameLbl.Text = "<b>" + name.ToString() + "</b>,<br><br>Haryana Urban Development Authority Welcomes
    You. <br><br><br><b><i>\"In The Service Of Masses\"</i></b>";
                            else
                                this.hplchangepw.Visible = false;
                                this.hplmytask.Visible = false;
                                this.Login.Visible = true;
                                LoginnameLbl.Text = "";
                                HttpContext.Current.Session.Clear();
                                HttpContext.Current.Session.Abandon();
                    catch (Exception ex)
                        //HttpContext.Current.Session.Clear();
                        //HttpContext.Current.Session.Abandon();
            #endregion
            #region Get Audit Informations
            public void GetUserInfo()
                try
                    string user = Login.UserName;
                    SPSecurity.RunWithElevatedPrivileges(new SPSecurity.CodeToRunElevated(delegate()
                        using (SPSite oSite = new SPSite(SPContext.Current.Site.ID))
                            using (SPWeb web1 = oSite.OpenWeb(SPContext.Current.Web.ID))
                                SPListItem item = null;
                                SPListItemCollection listItems = null;
                                web1.AllowUnsafeUpdates = true;
                                siteuser = web1.EnsureUser(Session["User"].ToString());// spWeb.EnsureUser(login);
                                listItems = web1.Lists["Audit_Trail"].Items;
                                item = listItems.Add();
                                item["User_ID"] = UserCurrent.ToString(); //Request.ServerVariables["AUTH_USER"];
                                string ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
                                if ((ip == null) || (ip == "") || (ip.ToLower() == "unknown"))
                                    ip = Request.ServerVariables["REMOTE_ADDR"];
                                item["IP_Address"] = ip;
                                item["Login_Date"] = System.DateTime.Now;
                                item["Login_Status"] = LoginStatus.ToString();
                                item.Update();
                                web1.AllowUnsafeUpdates = false;
                                web1.Dispose();
                                oSite.Dispose();
                catch (Exception ex)
            #endregion
            #region MD5Encryption
            private string MD5Encryption(string strToEncrypt)
                System.Text.UTF8Encoding ue = new System.Text.UTF8Encoding();
                byte[] bytes = ue.GetBytes(strToEncrypt);
                // encrypt bytes
                System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
                byte[] hashBytes = md5.ComputeHash(bytes);
                // Convert the encrypted bytes back to a string (base 16)
                string hashString = "";
                for (int i = 0; i < hashBytes.Length; i++)
                    hashString += Convert.ToString(hashBytes[i], 16).PadLeft(2, '0');
                return hashString.PadLeft(32, '0');
            #endregion
            #region Generate Random Code
            private string GenerateRandomCode()
                random = new Random();
                string s = "";
                for (int i = 0; i <= 6; i++)
                    s = string.Concat(s, this.random.Next(10).ToString());
               // _randomNumbercheck = s;
                return s;
            #endregion
            #region Generate Random String
            public string GenerateHashKey()
                StringBuilder myStr = new StringBuilder();
                myStr.Append(Request.Browser.Browser);
                myStr.Append(Request.Browser.Platform);
                myStr.Append(Request.Browser.MajorVersion);
                myStr.Append(Request.Browser.MinorVersion);
                myStr.Append(Request.LogonUserIdentity.User.Value);
                SHA1 sha = new SHA1CryptoServiceProvider();
                byte[] hashdata = sha.ComputeHash(Encoding.UTF8.GetBytes(myStr.ToString()));
                return Convert.ToBase64String(hashdata);
            #endregion
            #region Check User Authentication
            protected void Login_Authenticate(object sender, AuthenticateEventArgs e)
                Utility hu=new Utility();
                int CheckValue = 0;
                string user = Login.UserName;
                if(user.Contains("@"))
                    CheckValue=1;
                //Encrypted Password
                string HPassword = hash.Value;
                // Verify that the username/password pair is valid
                SqlConnection con = new SqlConnection();
                SqlCommand cmd = new SqlCommand();
                con.ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["FBAPortalConnection"];
                if (con.State == ConnectionState.Closed)
                    con.Open();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "sp_Portal_ValidatePortalUser";
                cmd.Connection = con;
                cmd.Parameters.Add("@ID", SqlDbType.NVarChar, 256).Value = Login.UserName;
                cmd.Parameters.Add("@Password", SqlDbType.NVarChar, 300).Value = HPassword.ToString();
                cmd.Parameters.Add("@CheckVal", SqlDbType.Int).Value = CheckValue;
                cmd.Parameters.Add(new SqlParameter("@P_Return", SqlDbType.NVarChar, 256));
                cmd.Parameters["@P_Return"].Direction = ParameterDirection.Output;
                cmd.ExecuteNonQuery();
                string CurrentUserName = cmd.Parameters["@P_Return"].Value.ToString();
                cmd.Dispose();
                con.Close();
                //int x = hu.ValidatePortalUser(Login.UserName, HPassword.ToString(), CheckValue);
                if (CurrentUserName != "0")
                    Page.Session["User"] = CurrentUserName;
                    string UserName = Session["User"].ToString();
                    UserCurrent = UserName;
                    LoginStatus = "Successfull";
                    GetUserInfo();
                    e.Authenticated = true;
                    //Session["CustomAuthKey"] = MD5Encryption(Request.ServerVariables["Remote_Addr"] + Request.ServerVariables["Http_Cookie"] + Request.ServerVariables["Auth_User"]);
                    Session["CustomAuthKey"] = MD5Encryption(Request.ServerVariables["Remote_Addr"] + Request.ServerVariables["Http_Cookie"] + UserCurrent.ToString());
                    FormsAuthenticationTicket tkt;
                    String cookiestr;
                    HttpCookie ck;
                    tkt = new FormsAuthenticationTicket(1, UserName, DateTime.Now, DateTime.Now.AddMinutes(15), false, GenerateHashKey());
                    cookiestr = FormsAuthentication.Encrypt(tkt);
                    ck = new HttpCookie(FormsAuthentication.FormsCookieName, cookiestr);
                    ck.Path = FormsAuthentication.FormsCookiePath;
                    Response.Cookies.Add(ck);
                else
                    // Username/password are not valid...
                    Login.FailureText = "Invalid Username / password";
                    e.Authenticated = false;
            #endregion
            #region Login Error
            protected void Login_LoginError(object sender, EventArgs e)
                // Determine why the user could not login
                Login.FailureText = "Your login attempt was not successful. Please try again.";
                // Does there exist a User account for this user
                MembershipUser usrInfo = Membership.GetUser(Login.UserName);
                if (usrInfo != null)
                    // Is this user locked out?
                    if (usrInfo.IsLockedOut)
                        Login.FailureText = "Your account has been locked out because of too many invalid login attempts. Please contact the administrator to have your account unlocked.";
                    else if (!usrInfo.IsApproved)
                        Login.FailureText = "Your account has not yet been approved. You cannot login until an administrator has approved your account.";
                    else
                        Login.FailureText = "Invalid UserName / Password";
                        UserCurrent = usrInfo.UserName;
                        LoginStatus = "UnSucessfull";
                        GetUserInfo();
                else
                    Login.FailureText = "Invalid UserName / Password";
            #endregion
            #region Logged In
            protected void Login_LoggedIn(object sender, EventArgs e)
                string UserName = Session["User"].ToString();           
                LoginControl.Class1.IsLoggedIn = true;
                //If User Email is [email protected] it will be invalid. Prompt the user to update the email id. 
                LoginControl.Utility hu = new LoginControl.Utility();
                DataSet dsuser = hu.getUserDetails(UserName);
                string email;
                if (dsuser.Tables[0].Rows.Count > 0)
                    email = dsuser.Tables[0].Rows[0]["Email"].ToString();
                    if (email.Equals("[email protected]"))
                        Response.Redirect("/Pages/UserUpdates.aspx", true);
                    else
            #endregion
    //-------------------------------- Authentication code----------------------------//
      private void authenticateuser()
                try
                    if (SPContext.Current.Web.CurrentUser != null)
                        using (SPSite spSite = new SPSite(SPContext.Current.Site.Url))
                            using (SPWeb spWep = spSite.OpenWeb())
                                Utility hu = new Utility();
    _userid = spWep.CurrentUser.Name;
                                DataSet ds = new DataSet();
                                ds = hu.GetPlotid(_userid);
                                if (ds.Tables[0].Rows.Count > 0)
                                    _plotid = ds.Tables[0].Rows[0]["plotid"].ToString();
                                else
                                    if (!SPContext.Current.Web.UserIsSiteAdmin && !SPContext.Current.Web.UserIsWebAdmin)
                                        if (!SPContext.Current.Web.IsCurrentUserMemberOfGroup(SPContext.Current.Web.Groups["Allottee"].ID))
                                            SPUtility.HandleAccessDenied(new Exception("You do not have access to this page"));
                    else
                    { SPUtility.HandleAccessDenied(new Exception("Please login")); }
                catch (Exception ex)
                    //  lblMessage.Text = "Error:" + ex.Message;
                    ShowMessage("Following error has occured while executing the desried event :- " + ex.Message);
    Mohan Prakash

    1. Current work flow :-In web site the user have to register themselves in the web site and enters his details along with user id, password and email id. Once user
    is registered then he will login with his user id and password. The user id is picked from login control and that set in “SPWeb.CurrentUser” as user id and system uses "Membership.ValidateUser" method to Authenticate user for login. 
    2. New Requirement: we would like to facilitate the user to login with Email id as well as user id. 
    Problem: 
    We replaced "Membership.ValidateUser" method to our own method to Authenticate user with email id/user id and password. 
    When user is login with user id and password it is working successfully but in the case of email id and password –“the email id is picked from user control and set as
    "HttpContext.Current.User.Identity.Name" but we are not getting “SPWeb.CurrentUser” and it shows null value.” 
    We are able to get user id from database using email id of user. Please help us how we can set user id in "SPContext.Current.Web.CurrentUser".
    Mohan Prakash

  • Password inconsistancy issue with RFC users in ECC 6.0 System after upgrade

    Hi,
    We have upgraded the system from 4.7 to ECC 6.0, but facing the password inconsistancy problem for RFC users. We have set the parameters like "login/min_password_lng" as "8" and "login/password_downwards_compatibility" as "3" & RFC user Type is "system". Could you please suggest how to resolve the password inconsistancy issue.

    Hi Chandan,
    you need to run the txn. SECSTORE and there it will shows you all the RFCs that have inconsistent passwords. Please maintain the correct passwords there.
    In case the existing passwords are no longer acceptable due to new security policies as per the new SAP version, you will have to change the password from SU01.
    Regards,
    Shitij

  • How to restore a user's calendar agenda

    How to restore a user's Calendar agenda
    When you delete users from LDAP and then re-add them to a Calendar node, they
    will be assigned new nscalxitemid's.
    However, if you have not run any of the tools for removing these
    "orphan" entries, the old
    nscalxitemid's should
    still exist in the Calendar database.
    <P>
    To restore a user's agenda from the Calendar database, use the following steps:
    <P>
    <OL>
    <LI>Use ldapsearch to
    locate the user entries for the user who you are trying to restore.
    <P>
    Depending on what version of Directory Server you have, the
    ldapsearch command line
    utility will be in one of the following locations:
    <P>
    (Directory Server 3.x): <I>
    ServerRoot</I>/bin/slapd/server
    <P>
    (Directory Server 4.x): <I>
    ServerRoot</I>/shared/bin
    To search for the user with the UserID "bbunny," the syntax for
    ldapsearch would be as follows:
    <P>
    ldapsearch -D "cn=directory manager" -w <I>password</I>
    -b o=netscape.com uid=bbunny | more (All on one line)
    <P>
    It is also possible to dump the output of this command into a file, as in the
    following example:
    <P>
    ldapsearch -D "cn=directory manager" -w <I>password</I>
    -b o=netscape.com uid=bbunny > bbunny.txt (All on one line)
    <P>
    The LDAP entry for a Calendar user would appear something as follows (<B>Note:
    </B> The Calendar attribute, nscalxitemid
    is in <B>bold</B>, and the ID number
    is in <B>red</B>):
    <P>
    dn: uid=bbunny,o=netscape.com
    objectclass: top
    objectclass: person
    objectclass: organizationalPerson
    objectclass: inetOrgPerson
    objectclass: nsLicenseUser
    objectclass: mailRecipient
    objectclass: nsCalUser
    givenname: Bugs
    sn: Bunny
    cn: Bugs Bunny
    uid: bbunny
    nslicensedfor: mail
    nslicensedfor: calendar
    mail: [email protected]
    mailhost: st-thomas.netscape.com
    multilinedescription: I'm da wabbit!
    maildeliveryoption: mailbox
    <B>nscalxitemid: 10000:</B><B>00257</B>
    nscalflags: 0
    nscallanguageid: 0
    nscalsysopcanwritepassword: 0
    nscalpasswordrequired: 1
    nscaldefaultnotereminder: 0:0
    nscaldefaultreminder: 0:10
    nscaldefaulttaskreminder: 0:0
    nscaldisplayprefs: 4:480:1080:1:30:190:2
    nscaloperatingprefs:
    0:255:0:0:0:0:0:1440:0:1440:0:0:1440:0:1440:0:0:1440:0:14
    40:0:0:1440:0:1440:0:0:1440:0:1440:0:0:1440:0:1440:0:0:1440:0:1440
    nscalrefreshprefs: 1:60
    nscalnotifmechanism: 1
    nscaltimezone: 0
    <P>
    In the line <B>nscalxitemid: 10000:</B><B>00257</B>
    , "<B>10000</B>" is the node number and
    "<B>00257</B>" is the
    calID number.
    The number you will need to change is the
    calID number,
    "<B>00257</B>".
    <P>
    <LI>From the /unison/bin
    directory for Calendar, run
    unidsdiff
    or ctxdirdiff (whichever
    is available) to find the Calendar agenda that is missing an LDAP entry.
    <P>
    The syntax for these utilities will be as follows:
    <P>
    unidsdiff -n 10000
    or
    ctxdirdiff -n 10000
    <P>
    These utilities should list any entries that don't have a matching directory
    entry, usually in the following format:
    <P>
    nscalxItemid="10000:<B>00256</B>" (S="Bunny",G="Bugs")
    <P>
    The ID number in <B>red</B> is the ID that you will
    use to replace the ID number in the LDAP entry.
    <P>
    <LI>Use one of the following two options to update the LDAP entry:
    <P>
    <B>Option#1:</B>
    <P>
    <LI>Edit the file from the ldapsearch
    output by changing the
    nscalxitemid in this
    file to the correct <B>ID</B> from the
    unidsdiff/ctxdirdiff
    output (from step 2 above).
    <LI>Delete the user from LDAP.
    <LI>Use ldapmodify to
    re-add the user from the file you edited.
    (ldapmodify is located
    in the same directory as ldapsearch
    <P>
    For example,
    <P>
    ldapmodify -D "cn=directory manager" -w <I>password</I> -a -f <I>filename</I>
    </UL>
    <B>Option#2:</B>
    <P>
    <LI>Edit the file from the ldapsearch
    output using update statements that
    will update the LDAP entry without having to delete it.
    <P>
    For example, you can edit the output in step 1 above so that the file contains
    only the following lines with the correct
    nscalxitemid:
    <P>
    dn: uid=bbunny,o=netscape.com
    changetype: modify
    replace: nscalxitemid
    nscaxitemid: 10000:00256
    <P>
    <LI>Use ldapmodify to
    update the entry in the file, as follows:
    <P>
    ldapmodify -D "cn=directory manager" -w <I>password</I> -f <I>filename</I>
    </UL>
    </OL>
    After performing the above steps, you can use
    ldapsearch to locate
    the entry and verify that it was changed. The user should now be
    able to log into the Calendar Client and see her previous agenda entries.

    How to restore a user's Calendar agenda
    When you delete users from LDAP and then re-add them to a Calendar node, they
    will be assigned new nscalxitemid's.
    However, if you have not run any of the tools for removing these
    "orphan" entries, the old
    nscalxitemid's should
    still exist in the Calendar database.
    <P>
    To restore a user's agenda from the Calendar database, use the following steps:
    <P>
    <OL>
    <LI>Use ldapsearch to
    locate the user entries for the user who you are trying to restore.
    <P>
    Depending on what version of Directory Server you have, the
    ldapsearch command line
    utility will be in one of the following locations:
    <P>
    (Directory Server 3.x): <I>
    ServerRoot</I>/bin/slapd/server
    <P>
    (Directory Server 4.x): <I>
    ServerRoot</I>/shared/bin
    To search for the user with the UserID "bbunny," the syntax for
    ldapsearch would be as follows:
    <P>
    ldapsearch -D "cn=directory manager" -w <I>password</I>
    -b o=netscape.com uid=bbunny | more (All on one line)
    <P>
    It is also possible to dump the output of this command into a file, as in the
    following example:
    <P>
    ldapsearch -D "cn=directory manager" -w <I>password</I>
    -b o=netscape.com uid=bbunny > bbunny.txt (All on one line)
    <P>
    The LDAP entry for a Calendar user would appear something as follows (<B>Note:
    </B> The Calendar attribute, nscalxitemid
    is in <B>bold</B>, and the ID number
    is in <B>red</B>):
    <P>
    dn: uid=bbunny,o=netscape.com
    objectclass: top
    objectclass: person
    objectclass: organizationalPerson
    objectclass: inetOrgPerson
    objectclass: nsLicenseUser
    objectclass: mailRecipient
    objectclass: nsCalUser
    givenname: Bugs
    sn: Bunny
    cn: Bugs Bunny
    uid: bbunny
    nslicensedfor: mail
    nslicensedfor: calendar
    mail: [email protected]
    mailhost: st-thomas.netscape.com
    multilinedescription: I'm da wabbit!
    maildeliveryoption: mailbox
    <B>nscalxitemid: 10000:</B><B>00257</B>
    nscalflags: 0
    nscallanguageid: 0
    nscalsysopcanwritepassword: 0
    nscalpasswordrequired: 1
    nscaldefaultnotereminder: 0:0
    nscaldefaultreminder: 0:10
    nscaldefaulttaskreminder: 0:0
    nscaldisplayprefs: 4:480:1080:1:30:190:2
    nscaloperatingprefs:
    0:255:0:0:0:0:0:1440:0:1440:0:0:1440:0:1440:0:0:1440:0:14
    40:0:0:1440:0:1440:0:0:1440:0:1440:0:0:1440:0:1440:0:0:1440:0:1440
    nscalrefreshprefs: 1:60
    nscalnotifmechanism: 1
    nscaltimezone: 0
    <P>
    In the line <B>nscalxitemid: 10000:</B><B>00257</B>
    , "<B>10000</B>" is the node number and
    "<B>00257</B>" is the
    calID number.
    The number you will need to change is the
    calID number,
    "<B>00257</B>".
    <P>
    <LI>From the /unison/bin
    directory for Calendar, run
    unidsdiff
    or ctxdirdiff (whichever
    is available) to find the Calendar agenda that is missing an LDAP entry.
    <P>
    The syntax for these utilities will be as follows:
    <P>
    unidsdiff -n 10000
    or
    ctxdirdiff -n 10000
    <P>
    These utilities should list any entries that don't have a matching directory
    entry, usually in the following format:
    <P>
    nscalxItemid="10000:<B>00256</B>" (S="Bunny",G="Bugs")
    <P>
    The ID number in <B>red</B> is the ID that you will
    use to replace the ID number in the LDAP entry.
    <P>
    <LI>Use one of the following two options to update the LDAP entry:
    <P>
    <B>Option#1:</B>
    <P>
    <LI>Edit the file from the ldapsearch
    output by changing the
    nscalxitemid in this
    file to the correct <B>ID</B> from the
    unidsdiff/ctxdirdiff
    output (from step 2 above).
    <LI>Delete the user from LDAP.
    <LI>Use ldapmodify to
    re-add the user from the file you edited.
    (ldapmodify is located
    in the same directory as ldapsearch
    <P>
    For example,
    <P>
    ldapmodify -D "cn=directory manager" -w <I>password</I> -a -f <I>filename</I>
    </UL>
    <B>Option#2:</B>
    <P>
    <LI>Edit the file from the ldapsearch
    output using update statements that
    will update the LDAP entry without having to delete it.
    <P>
    For example, you can edit the output in step 1 above so that the file contains
    only the following lines with the correct
    nscalxitemid:
    <P>
    dn: uid=bbunny,o=netscape.com
    changetype: modify
    replace: nscalxitemid
    nscaxitemid: 10000:00256
    <P>
    <LI>Use ldapmodify to
    update the entry in the file, as follows:
    <P>
    ldapmodify -D "cn=directory manager" -w <I>password</I> -f <I>filename</I>
    </UL>
    </OL>
    After performing the above steps, you can use
    ldapsearch to locate
    the entry and verify that it was changed. The user should now be
    able to log into the Calendar Client and see her previous agenda entries.

  • RFC function module always creating BPs with the same user name (RFC user )

    Hi All
    I posted the below question in a different area before. But thought it would be more suitable here.
    Moderators - Please let me know if am doing any mistake.
    Question:
    I have a RFC function module in CRM that creates Business Partners in ECC (XD01 tcode).
    I am using a dialog RFC destination configured in SM59 in CRM.
    But my RFC function module in CRM is always creating the Business Partners in ECC with the RFC user id (the user that we maintain for the RFC destination in SM59).
    This is a problem for the users because they are not able to track the actual person responsible for creating these Business Partners.
    Can somebody please let me know how to solve this problem?
    Thanks
    Raj

    Hi.
    You may use the trust relationship between CRM and R/3 and in SM59 instead of set a specific username, you set the flag "current user".
    With this flag, the system will access R/3 system with the user logged in CRM system. The Trust relationship must be created between CRM and R/3 in order to the system doesn't ask for a password to login in R/3.
    If you need more details please reply.
    Kind regards,
    Susana Messias

  • How do i know user distribution whether WAP user in application monitor

    Hi when i use Txn ST07 i go to  Application Monitor: User Distribution but how do i know how many of them are WAP user  &  Application Server value indicates WAp also  & wt is in WP in table.
    Please help

    Hi Aarti Krishna,
    As per my understanding, WAP users which u mean is Mobile users?
    You can find the different kind of users logged on in Transaction AL08.
    Also, you can find the classification in transaction AL08 as
    1. Number of active users  
    2. No. of interact. users  
    3. No. of RFC-users 
    Now coming to 'In WP'----> which means 'Number of users connected to one work process'
    If you want more information regarding each name there, you may use F1 placing the cursor there.
    Hope this answer your question. Please let me know, if you need anything else.
    Thanks and Regards,
    Pavan Kumar Gali.

  • How to verify the status of lock object???

    Hello,
    How to verify the status of lock object???
    I need to know the status of the lock object and put the user in list.
    Exists a FM for this?
    Thanks!

    You can check the list of lock objects for the ztable by this way....
    Go to SE11, click the radibutton for lock object, then do F4 on the field. Click the "All Selections" icon, in the "Basis Table" field, put the table that you want the lock object for. click green check.
    Regards.

  • How to verify  if an IPV6 address entered in a textbox is valid ?

    Hi,
    How to verify if an IPV6 address entered in a text box is valid. I have a swing application. Until now we used only IPV4 address and we had a gui component with only four entries, which checked if the number entered is <= 255, so the user had to enter a correct address. Now with IPV6 there are IPV6 addresses, IPV4 mapped addresses, IPV6 zero compressed addresses and leading zeroes dropped kinds. We cannot supply a fix gui component.
    So if I provide a textcomponent which accepts strings - how do i check if the ip addresses entered by the user is valid. Can I use INET6Address to do this ? is there a way ?
    Thanks.

    InetAddress.getByName(String host)
    If it returns an Inet6Address without throwing an exception, I guess that would work.

  • How to determine best User Device Affinity Settings

    We've configured User Device Affinity for our site based on the canned defaults. Initially we started with 14 days and 1440 minutes. But after a recent deployment, we discovered that our Antivirus service account is registering as a "Primary User"
    on all of our machines which has triggered a very bad situation.
    My question is how do you determine these settings? My first try was to find a report that showed how many minutes each user was registering in the given period so that I could adjust it accordingly. I assume that my regular users are using the computers
    a lot more than my service account but I have no way of verifying this.
    I've tried combing through the security logs, but I'm not sure what SCCM is picking up on to determine the time period.
    To me, it seems that 24 hours is a really low threshold and that I could bump that up to 120 hours over 14 days pretty easily without issue. My concern is that there is a reason that they are setting it so low to begin with that I'm missing. Even then, I'm
    just randomly trying things hoping to get it right as I don't have the proper information to make the right decisions.
    Any ideas? Feedback?  

    Yeah, I saw those logs but it still seems mysterious to me. I'm not sure where it's getting it's info. I assume it's the security log for each machine but I have nothing to confirm that. It's odd because our service account for our antivirus solution isn't
    actually logging onto the machines so I'm not sure how it decides that this user is a primary user. 
    Ultimately, we worked around the problem by switching antivirus solutions but that won't be an option next time. 
    My guess is that we could have fixed our problem by adjusting our security logging settings in windows. But it wasn't something I wanted to do without direct confirmation with how this all works. 
    Thank you for your help on this though. 

  • How to configure RFC

    Dear Expert,
    I have make a program in VB . Through VB when I connect SAP . My Login Pad comes.then I give user name & password . But its give RFC error  and say check CPIC.
    So please help me how I Configure RFC link in SAP via sm59  . Please tell me step by step.
    So that I come in sap via my this VB program.
    Thanks
    manu

    Hi Manu,
    Here I am giving example of connection Non SAP ( Informatica system) to SAP system. For this,
    You need to type logical system name in RFC destination field. You can give the logical system name of non-sap system in SAP thorugh tcode BD54.
    Then You need to select the connection type. As it is non-sap it wont be R3.It will be T ( Start an external program  via TCp/IP).
    Also you need to register the program id filed in Informatica & select radio button regiatered server program
    Hope this helps.

  • Password for RFC USer

    Hi experts,
    We need to set the password for RFC User in small letters.But we are not able to do it ,because of our 'login/*' parameter values.
    Is there is any other method to create the password for User ID with small letters(Ex:welcome,hello)?
    Thanks in Advance,
    Karthika

    > > Login rules are not specific to user types. It is same for all type of users.
    > Sorry, this is not correct. The password validity rules are a good example which don't apply to SYSTEM and SERVICE type users. Other examples are the idle time rules and compliance to policy rules and the logon ticket rules and remote login via debugging rules and...
    >
    I tried to talk about is as per the ongoing discussion topic i.e. Case sensitiveness of Passwords and not other attributes. So from this point of view there is no such separate rule applies during admin imposed password or during a change (the cases where system prompts for changing password).
    > > From NAS 7 there is a change in the password rules.
    > There were major changes in 46B, and 6.10 and 6.40 as well, and Karthika still has not told us which release she is on.
    >
    Agreed totally.
    > > [Note 750390 - USR02: various problems with password attributes|https://service.sap.com/sap/support/notes/750390]
    > > [Note 624635 - Error messages with password change using RFC function|https://service.sap.com/sap/support/notes/624635]
    > I cannot see how these notes are related to this silly requirement of setting a lower-case only password.
    >
    I didn't went through in details fully but seen it contains a considerable error details.... may be of any help to OP.
    > I think either Karthika is playing a joke on us, or the person interviewing Karthika is playing a joke on her... These would be the only logical explanations left which I can see for for such a requirement.
    >
    May be.. but of course need more information and purpose of such strictness for setting such password. Also the FM PASSWORD_FORMAL_CHECK can be used with required customizations but you are the best person to tell this properly.
    regards,
    Dipanjan

Maybe you are looking for

  • 2 Sites don't work on iPhone but SHOULD + more problems = no complaints?

    For informative purposes only... Long story short, I made a call on the iPhone and arranged to meet an individual at a specific location and call them when I arrived there to complete rendezvous. I first received their email from my .mac email on my

  • How to split the data based on one column

    Dear All, I have the table data like this. type quantity revenue_mny count country a 10           10          2 India a 20          12          3 India b 30          15          1 India a 35          20          2 US b 20          10          1 US b

  • Select-option variable length

    hi experts, i am using select-options in my report prg. i want to make its display length more than 8 characters since select-option variable can be upto 8 characters long. how can i achieve this? thanx in advance... Thanx & Regards, Viral Patel

  • Bridge with Linksys

    Im looking to buy the Airport Extreme. Im told it can bridge to another wireless router/Access Point. In my basement I have a cable modem connected to a Linksys WRT300N. But it will not reach my whole house, so I need to add another Access point. Due

  • Portal Server - SAM Authentication

    Hi All, I installed Portal Sevrer 7 with SRA . After installation when I access the portal server desktop http://host.domain/portal/dt , it threw authentication page from SAM...This is the expected funtionlaity. After that I cutomized something in SA