O ponto de entrada P200AFC2 é utilizado pela funcao AFCNoIdx() utilizada na AFCAtuCode() antes da chamada da função PmsAltera(aCampos), permitindo que o usuario retorne um array com as mesmas caracteristicas do array aCampos e que ao retornar sera adicionado ao array aCampos, possibilitando ao usuario colocar no array aCampos as tabelas de customizacao referente a orcamento e projetos.
O ponto de entrada recebe o array aCampos e o array aParam onde o primeiro array contem as tabelas padrões do PMS que serao utilizadas na recodificacao de EDTs/tarefas e o segundo um array com os parametros recebidos pela funcao AFCAtuCode().
Exemplo de Ponto de Entrada:
//----------------------------------------------------------------------------------//
//UTILIZADO PELA FUNCAO AFCAtuCode()
//----------------------------------------------------------------------------------//
User Function P200AFC2()
Local a_Param := ParamIxb[2]
// aParam := { cFil, cProject, cRev, cTask, cNewTask }
Local aCampos := ParamIxb[1]
Local aCposUsr := {}
#IFDEF TOP
//o array aCposUsr tem que ter a mesma estrutura do array aCampos
// aCampos := {cAlias,
// cCampoAtu,
// cCampoChave1,
// cCampoChave2,
// cCampoChave3,
// cConteudoChave1,
// cConteudoChave2,
// cConteudoChave3,/*Nada*/,
// cNewValue}
aAdd(aCposUsr, {'ZFX', 'ZFX_EDT', 'ZFX_FILIAL', 'ZFX_PROJET', 'ZFX_EDT', cFil, cProject, cEDT, ,cNewEDT})
#ELSE
//o array aCposUsr tem que ter a mesma estrutura do array aCampos
// aCampos := {cAlias,
// cCampoAtu,
// cCamposChave, //(concatenados com +)
// cConteudoChave,/*Nada*/,
// cNewValue}
aAdd(aCposUsr, {'ZFX', 'ZFX_EDT', 'ZFX_FILIAL+ZFX_PROJET+ZFX_EDT', cFil+ cProject+ cEDT, ,cNewEDT})
#ENDIF
Return(aCposUsr)