// Source File Name:   GetApplicationData.java
  /** Method for ExternalPreConfirm_INIT State and confirmbut Event. */
  public ExternalConfirmForm externalPreConfirm_INIT_confirmbut() throws Exception {
    EBWLogger.trace(this, "Starting ExternalPreConfirm_INITconfirmbut()");
    EBWLogger.trace(this, "Service name       : setPaymentDetails");

    ExternalConfirmForm objExternalConfirmForm = new ExternalConfirmForm();
    BeanUtils.copyProperties(objExternalConfirmForm, objExternalPreConfirmForm);

    Object objOutput = null;
    String strStatement = "";

    // Mapping payment attributes...
    PaymentDetailsTO objPaymentDetails = new PaymentDetailsTO();
    FromMSAcc_DetailsTO objFromMSAcc_Details = new FromMSAcc_DetailsTO();
    ToMSAcc_DetailsTO objToMSAcc_Details = new ToMSAcc_DetailsTO();
    MSUser_DetailsTO objMSUserDetails = new MSUser_DetailsTO();

    Object objTOParam[] = {
      objPaymentDetails, objFromMSAcc_Details, objToMSAcc_Details, objMSUserDetails
    };

    objUserSessionObject.put("isDiffScreen", "false");

    Object objParams[] = {strStatement, objTOParam, new Boolean(false)};
    Class clsParamTypes[] = {String.class, Object[].class, Boolean.class};

    // Pre business delegate hook population...
    com.tcs.ebw.payments.businessdelegate.ExternalPreConfirmDelegateHook objBusinessDelegateHook =
        new com.tcs.ebw.payments.businessdelegate.ExternalPreConfirmDelegateHook();
    objBusinessDelegateHook.preExternalPreConfirmExternalPreConfirm_INITconfirmbut(
        objExternalPreConfirmForm,
        objParams,
        clsParamTypes,
        objUserPrincipal,
        objRetainDataMap,
        objUserSessionObject);

    EBWLogger.trace(this, "After Prepopulate Service Parameters : " + objParams);
    EBWLogger.trace(this, "After Prepopulate Service Param Type : " + clsParamTypes);

    // Service Call.....
    IEBWService objService = EBWServiceFactory.create("setPaymentDetails");
    objOutput = objService.execute(clsParamTypes, objParams);
    objExternalConfirmForm.setState("ExternalConfirm_INIT");

    // Post delegate hook population...
    objBusinessDelegateHook.postExternalPreConfirmExternalPreConfirm_INITconfirmbut(
        objExternalPreConfirmForm,
        objExternalConfirmForm,
        objOutput,
        objParams,
        objUserPrincipal,
        objRetainDataMap,
        objUserSessionObject);

    EBWLogger.trace(this, "After post populate Return Value : " + objOutput);
    EBWLogger.trace(this, "After post populate Param  Value : " + objParams);

    EBWLogger.trace(this, "Return bean object : " + objExternalConfirmForm);
    EBWLogger.trace(this, "Finished ExternalPreConfirm_INITconfirmbut()");
    return objExternalConfirmForm;
  }