Pág. 28
As modificações são efetuadas em três etapas:
Seleção dos registros do infotipos que serão modificados; Efetuar as modificações, colocando os dados em uma tabela alternativa; Efetivar a gravação da tabela alternativa na base de dados.
Exemplo: INFOTYPES:
nnnn NAME TAB_OLD, nnnn NAME TAB_NEW.
GET PERNR. PROVIDE * FROM TAB_OLD WHERE... (Nesse ponto, efetua-se as modificações necessárias) TAB_NEW[ ] = TAB_OLD[ ]. APPEND TAB_NEW. (Efetua a gravação na tabela alternativa) ENDPROVIDE. RP-UPDATE TAB_OLD TAB_NEW. A atualização da base de dados se efetua com a macro RP-UPDATE, utilizando como parâmetros a tabela interna TAB_OLD com os registros ainda não modificados e a tabela interna TAB_NEW com os registros modificados. Obs:
As modificações de chaves da tabela, deletar ou inserir dados não são possíveis. Não são efetuadas verificação de consistência dos dados modificados, por esse motivo é recomendado que os dados sejam alterados através de um batch-input.
EXERCÍCIO_D: Criar uma lista de funcionários , utilizando o banco de dados lógico PNP. Os seguintes campos deverão ser exibidos: Número Pessoal do Empregado ( PERNR-PERNR) Nome do Empregado (PERNR-ENAME) Área de Recursos Humanos ( nome (T001P-BTEXT) do código da área de recursos humanos (P001-WERKS) Considerar o registro mais recente do infotipo 1. Utilizar as macros: RP-PROVIDE-FROM-LAST e RP-READ-T001P
FUNÇÕES Dentro do HR, você pode ler registros de um infotipo sem a utilização de banco de dados lógico. Para isto, utlizamos a função HR_READ_INFOTYPE.