как сбросить пароль в SAP используя BAPI?

Я пытаюсь сбросить пароль для SAP с помощью BAPI, но я получаю сообщение об ошибке, поскольку «пароль не является типом ввода поля».

Я публикую свой код ниже.

ВотgetRandomString() пользовательская функция Я скопировал этот код из Интернета, и я не знаю об этом.

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);
}

ноString newPassword = getRandomString(); здесь это дает ошибку, потому чтоgetRandomString() это пользовательская функция, и я не знаю об этом. Есть ли какая-либо роль этого при сбросе пароля, или я могу напрямую использоватьString newpassword=" ";

Ответы на вопрос(2)

Ваш ответ на вопрос