Escolar Documentos
Profissional Documentos
Cultura Documentos
PRG
Campo Objetivo
ID Infotipo 9200 – Creche / Baba
Título Criação do Infotipo de PA 9200 – Creche Babá
Responsável Celso – 4253.celsokm@bradesco.com.br - tel.: (11) 3684 3403.
Estágio em que se encontra o desenvolvimento:
Status
E Em Fase de Especificação
Criar o Infotipo 9200, que fará a manutenção das informações das Creches e
Propósito
Babás, bem como os dependentes relacionados.
Data Aprovação
Aprovador
As informações constantes no item “Validações” de qualquer anexo deverão ser
desdobradas em tarefas na Estratégia de Testes Detalhada.
Os subinfotipos do infotipo 0021 deverão ter a ligação temporal 2, sendo
Informações
que aqueles que permitem mais de um objeto deverão ter marcado o flag
Adicionais
“Permitir Id.Objeto”. Este é um pré requisito para o funcionamento do
Infotipo de Creche Babá, pois os dependentes serão identificados pela
chave “Tipo Registro Parentesco” e “Identificação Objeto”.
Exemplo de cadastramento :
Validações :
1. Conceitos gerais
1.1. Para cada condição não satisfeita, dar mensagem de erro.
1.2. Na execução dos testes, após uma operação ter sido concluída (inclusão, alteração, etc),
sair da transação PA30 e entrar novamente para verificar se o registro foi efetivamente
gravado no banco de dados.
1.3. Respeitar sempre as regras de integridade da ligação temporal do infotipo.
1.4. Dentro de um mesmo período, um dependente não pode estar ligado a mais de uma creche
ou mais de uma babá, ou ainda a uma creche e a uma babá ao mesmo tempo.
1.5. Não existirá um cadastramento prévio das creches e das babás. Não haverá validação de
existência para estes prestadores de serviço.
1.6. Mesmo que tenha havido uma seleção de dependentes conforme as regras de elegibilidade,
no momento da gravação do infotipo, validar se o dependente já está cadastrado para outra
creche ou babá, para o mesmo período do infotipo que está sendo gravado. Se já estiver
cadastrado, dar mensagem de erro.
2. Inclusão
2.1. O sistema deverá disponibilizar na tela DEPENDENTES (com o flag desmarcado), todos
os dependentes elegíveis, conforme as regras :
2.1.1. Ler o infotipo 0021 para o período do infotipo 9200 que está sendo incluído –
somente os subtipos Filho/Enteado/Tutelado (se for alteração, desprezar o próprio
registro que está sendo alterado);
2.1.2. Se o dependente tiver marcado o flag de “Dependente Inválido”, ele está
automaticamente elegível (neste caso, desconsiderar a regra de idade para
elegibilidade);
2.1.3. Desconsiderar os dependentes cuja idade ultrapasse 6 anos e 11 meses (inclusive)
para a data inicial de validade do infotipo.
2.1.4. Ler o infotipo 9200 para o período do infotipo 9200 que está sendo incluído –
desconsiderar os dependentes que já estejam marcados em outro infotipo 9200 do
mesmo período considerado, independentemente do subinfotipo;
2.2. Todos e somente os dependentes marcados (selecionados) deverão ser gravados no infotipo
de tabela do infotipo 9200.
3. Alteração
3.1. O sistema deverá disponibilizar na tela DEPENDENTES todos os dependentes encontrados
no infotipo de tabela do infotipo 9200 (estarão na tela com o flag marcado) mais os
dependentes elegíveis, conforme as regras de elegibilidade de dependentes definidas no
item Inclusão (estarão na tela com o flag desmarcado).
Além dos campos padrões do infotipo, este deverá conter os seguintes campos :
Campo Descrição Observação Label na tela Categoria Tamanho Casas Validação Prevista
de Dados decimais
TIPO Tipo Pesquisa Tipo que indica o Tipo CHAR 4 0 Mover o conteúdo do
tipo do prestador campo SUBTY. A
de serviço -Creche tela deverá conter a
ou Babá – descrição deste
(próprio campo do campo.
subinfotipo)
NOME Nome do Nome da Creche Nome CHAR 60 Campo Obrigatório.
Prestador de ou da Babá Converter o conteúdo
Serviço informado para
maiúsculas. Se o
usuário preencher
com qualquer
caractere especial ou
acentos, dar
mensagem de erro.
CPF CPF do Prestador, CPF É obrigatório que seja
se Pessoa Física preenchido o CPF ou
o CNPJ. Seguir as
mesmas
características de
definição e validação
do campo CPF do
infotipo 0465
(subtipo 0001).
CNPJ CNPJ do CNPJ É obrigatório que seja
Prestador, se preenchido o CPF ou
Os dados relativos à repetição deverão conter os seguintes campos (seguir o mesmo padrão do infotipo 0008) :
FAMSA Subinfotipo Refere-se ao Tipo P0021-
de Parentesco – SUBTY ou
Na tela, mostrar a FAMSA
descrição deste
campo na coluna
GRAU
OBJPS Identificação do Este campo P0021-
Objeto refere-se ao OBJPS
campo ID da tela
de dependentes
ANEXO 5 – Procedimentos:
Criação do infotipo:
Na transação PM01 digitar o número do infotipo 9200 e clicar sobre o botão tudo
- No include MP920010 declarar as tabelas conforme abaixo, estas tabelas serão utilizadas
para controle da table control como a TBLGART no infotipo 0008:
DATA: BEGIN OF TBFAMSA OCCURS 15,
SEQNR(3),
SELEC(1),
FAMSA LIKE t591S-STEXT,
OBJPS LIKE P9200-OBJPS,
BENEFIC LIKE P0021-FCNAM,
END OF TBFAMSA.
- No screen painter gráfico, editar o layout da tela 2000, para que ela contenha o seginte
layout:
Campo 1
Campo 2 Campo 10
Campo 3
Campo 4 Campo 5
Campo 7
Campo 2: Campo apenas de saída que deve conter a descrição do valor exibido no campo 1 que
deve ser o conteúdo do campo STEXT da tabela T591S onde SPRSL = SY-LANGU, INFTY =
P9200-INFTY e SUBTY = P9200-SUBTY (chave primária).
Campo 3 (P9200-NOME): Campo obrigatório de entrada e saída que deve conter o conteúdo de
P9200-NOME converter o campo para letras maiúsculas (comando CONVERT TO UPPER
CASE). Se o usuário preencher com qualquer caractere especial ou acentos, emitir mensagem de
erro: “Não utilizar caracteres especiais ou acentos” (utilizar a função RS_CHARACTER_CHECK).
Campo 6 (VT_2000_CPF): Campo entrada e saída que deve conter o conteúdo de P9200-CPF,
formatar o layout do campo na tela usando a máscara, (999.999.999-99) para isso utilizar a função
“HR_BR_CHECK_CPF_FORMAT” passando o valor informado na tela, e retornando dois
campos: CPF_NUMBER_FORMATTED contendo o CPF formatado (movê-lo para
VT_2000_CPF) e CPF_NUMBER_RAW contendo apenas a parte numérica (movê-lo para P9200-
CNPJ), na gravação considerar apenas a parte numérica ( testar o retorno da função com isso,
verificar se o CPF é válido).
Campo 5 (VT_2000_CNPJ): Campo de entrada e saída, que deve conter o número do CNPJ,
formatar o layout do campo na tela usando a máscara, (999999999/9999-99) para isso utilizar a
função “HR_BR_CHECK_CGC_FORMAT” passando o valor informado na tela, e retornando dois
campos: CGC_NUMBER_FORMATTED contendo o CNPJ formatado (movê-lo para
VT_2000_CNPJ) e CGC_NUMBER_RAW contendo apenas a parte numérica (movê-lo para
P9200-CNPJ), na gravação, considerar apenas a parte numérica ( testar o retorno da função com
isso, verificar se o CNPJ é válido).
Campo 7 (TBFAMSA-FAMSA): Campo apenas de saída, que contem o tipo de parentesco, campo
P0021-FAMSA, definir como listbox.
TABLE-CONTROL
c. Observar que foram incluídos vários códigos no seu fonte. Você deve alterar o código de
forma que as primeiras chamadas do PBO sejam:
MODULE BEFORE_OUTPUT.
CALL SUBSCREEN subscreen_empl INCLUDING empl_prog empl_dynnr.
CALL SUBSCREEN subscreen_header INCLUDING header_prog header_dynnr.
MODULE P9200.
d. Definir:
Infotipos: 0021, 0397.
Variáveis: my_tabix like sy-tabix,
v_months like p0347-scrmm.
Deletar os registro da p0021 onde subty <> '2' e subty <> '5' e subty <> '6'.
Loop em p0021.
Limpar variável v_months.
Adicionar 1 em my-Tabix.
Chamar a função ‘HR_READ_INFOTYPE’
call function 'HR_READ_INFOTYPE'
exporting
pernr = p0021-pernr
infty = '0397'
begda = P9200-begda
endda = P9200-endda
tables
infty_tab = p0397
exceptions
infty_not_found = 1
others = 2.
Fim-se
Se P9200-FAMSA02 não é inicial.
Fim-se
Se P9200-FAMSA03 não é inicial.
Fim-se
Se P9200-FAMSA04 não é inicial.
Fim-se
Se P9200-FAMSA05 não é inicial.
Fim-se
Se P9200-FAMSA06 não é inicial.
Fim-se
Se P9200-FAMSA07 não é inicial.
Fim-se
Se P9200-FAMSA08 não é inicial.
Fim-se
Se P9200-FAMSA09 não é inicial.
Fim-se
Se P9200-FAMSA10 não é inicial.
Fim-se
Se P9200-FAMSA11 não é inicial.
Fim-se
Se P9200-FAMSA12 não é inicial.
736217840.doc Pág.: 15 de 17 3/18/2024
Mover P9200-FAMSA01 para t_p9200_aux-FAMSA.
Mover P9200-OBJPS01 para t_p9200_aux-OBJPS.
Append t_p9200_aux.
Limpar P9200-FAMSA12.
Limpar P9200-OBJPS12.
Fim-se
Se P9200-FAMSA13 não é inicial.
Fim-se
Se P9200-FAMSA14 não é inicial.
Fim-se
Se P9200-FAMSA15 não é inicial.
Loop em P0021.
tbfamsa-objps = p0021-objps.
tbfamsa-benefic = p0021-fcnam.
append tbfamsa.
Fim-se.
Fim-Loop.
Loop em t_p9200_aux.
Ler a tabela t_p9200 com a chave subty = p0021_aux-subty
objps = p0021_aux-objps.
tbfamsa-selec = ‘X’.
tbfamsa-stext = P0021-famsa.
tbfamsa-objps = p0021-objps.
tbfamsa-benefic = p0021-fcnam.
append tbfamsa.
Fim-Loop.
Fim-se.
Com isso a seleção de dependentes elegíveis e já gravados, já estará pronta, permitindo
assim, que o registro seja gravado conforme a seguinte lógica:
Gravação:
Criar um módulo dentro do loop da tabela TBFAMSA, criado previamente pelo Table-
control (modificar o código para garantir que esse loop estará antes do módulo
‘PRE_INPUT_CHECKS’), e no módulo criado implementar a seguinte lógica:
Se TBFAMSA-SELEC = ‘X’.
Se sy-subrc = 0.
Enviar mensagem de erro: “Dependente já cadastrado no Benefício Creche/Baba”.
Fim-se.