Wie setzt man ein Passwort in SAP mit BAPI zurück?
Ich versuche, das Kennwort für SAP mithilfe von BAPI zurückzusetzen, erhalte jedoch die Fehlermeldung "Kennwort ist keine Art der Feldeingabe".
Ich poste meinen Code unten.
HiergetRandomString()
ist eine benutzerdefinierte Funktion. Ich habe diesen Code aus dem Internet kopiert und bin mir dessen nicht bewusst.
String newPassword = getRandomString();
try{
JCO.Function bapiUserChange = repository.getFunctionTemplate("BAPI_USER_CHANGE").getFunction();
if(bapiUserChange != null){
JCO.ParameterList userChangeInput = bapiUserChange.getImportParameterList();
JCO.Structure sPassword = userChangeInput.getStructure("PASSWORD");
//sPassword.setValue(newPassword, ????) //what do I assign it to?
userChangeInput.setValue(userId, "USERNAME");
userChangeInput.setValue(newPassword, "PASSWORD"); // this gives an error
userChangeInput.setValue("X","PASSWORDX"); //I know "X" is true, this will give an error too I believe
mConnection.execute(bapiUserChange);
//send E-mail
boolean emailSent = sendEmail(userId, newPassword, "XXX200");
msgMgr.reportSuccess("Password Reset Done");
if(mConnection != null){
mConnection.disconnect();
}
}
}catch(Exception e){
msgMgr.reportException("Could not change password " + e.getMessage(),true);
}
aberString newPassword = getRandomString();
hier gibt es da fehlergetRandomString()
ist benutzerdefinierte Funktion und ich bin nicht darüber informiert. Gibt es eine Rolle beim Zurücksetzen des Passworts oder kann ich direkt verwendenString newpassword=" ";