function libCorpSaveIntegracaoPessoaInfoconv($integracaoPessoaInfoconv, $userCredential = NULL)
{
    $xmlResult = '<result><status>%s</status><errocode>%s</errocode><response>%s</response></result>';
    try {
        Registry::factory()->setCredential($userCredential);
        $voIntegracaoPI = IntegracaoPessoaInfoconvValueObject::factory()->loadData($integracaoPessoaInfoconv);
        $voIntegracaoPI = IntegracaoPessoaInfoconvBusiness::factory()->save($voIntegracaoPI);
        return sprintf($xmlResult, 'success', '00000', $voIntegracaoPI->toXml());
    } catch (\Exception $excp) {
        return sprintf($xmlResult, 'failure', $excp->getCode(), $excp->getMessage());
    }
}
 /**
  * Efetua a validação
  * @param IntegracaoPessoaInfoconvValueObject $voIntegracaoPessoaInfoconv
  * @throws BusinessException
  */
 private function _validateIntegracaoPessoaInfoconv(IntegracaoPessoaInfoconvValueObject $voIntegracaoPessoaInfoconv)
 {
     try {
         if (trim($voIntegracaoPessoaInfoconv->getSqPessoa())) {
             BusinessException::throwsExceptionIfParamIsNull(trim($voIntegracaoPessoaInfoconv->getSqPessoa()), self::REQUIRED_SQ_PESSOA);
         }
         if ($voIntegracaoPessoaInfoconv->getDtIntegracao()) {
             # Efetua sanitizacao de datas
             $dateFromVo = $voIntegracaoPessoaInfoconv->getDtIntegracao();
             $voIntegracaoPessoaInfoconv->setDtIntegracao(Date::factory($dateFromVo, 'd/m/Y')->output());
             //
             $voIntegracaoPessoaInfoconv->setTxJustificativa("");
         } else {
             if (trim($voIntegracaoPessoaInfoconv->getTxJustificativa())) {
                 $voIntegracaoPessoaInfoconv->setDtIntegracao(null);
             }
         }
     } catch (ModelException $mExcp) {
         throw new BusinessException($mExcp->getMessage(), $mExcp->getCode());
     }
 }