Download - Curso Abap Hr
Pág. 1
PROGRAMAÇÃO
EM
ABAP HR
Pág. 2
SUMÁRIO INTRODUÇÃO ......................................................................................................................................................... 3
INFOTIPOS............................................................................................................................................................... 4
BANCO DE DADOS LÓGICO ............................................................................................................................. 14
MACROS ................................................................................................................................................................. 24
FUNÇÕES ............................................................................................................................................................... 28
CLUSTERS ............................................................................................................................................................. 31
FOLHA DE PAGAMENTO .................................................................................................................................. 35
Exemplo de leitura do cluster ........................................................................................................................... 39
ANEXO I – INFOTIPOS PA ................................................................................................................................. 40
ANEXO II – ESTRUTURAS PERNR E APPLICANT ...................................................................................... 48
Estrutura PERNR ........................................................................................................................................... 48 Estrutura APPLICANT ................................................................................................................................... 49
ANEXO III – SOLUÇÕES DOS EXERCÍCIOS.................................................................................................. 50
ANOTAÇÕES: ........................................................................................................................................................ 53
Pág. 3
O
O
S TC
T
A
INTRODUÇÃO
SAP AG 1999
Human Resource Process
Time
statement
Recruitment
Travel
Training
Payroll
Employee Development
& Salary Administration
Benefits
EnrollmentHiring
Time Reporting
& Shift Planning
H
O
T
E
L
Divisão do módulo de HR :
1. Administração de Pessoal (PA) 2. Estrutura organizacional (PD) 3. Gerenciamento de Tempo (TM) 4. Folha de Pagamento (PY)
Estrutura Organizacional:
Objetos:
O – Organizational Unit – Áreas de Negócio, Setores
C – Job - Cargos Genérico que descreve o Específico
S – Position – Cargo Específico
T – Task – Descrições das atividades dos cargos
A – Work Place – Identifica o local físico onde o trabalho acontece
K – Cost Center – Objeto de CO que pode ser relacionado com os objetos O ou S,
sempre em PD.
P – Person – Funcionários da Empresa, são criados em PA.
US – User – Usuários do Sistema SAP R/3.
Pág. 4
INFOTIPOS
Definição: conjunto de informações logicamente agrupadas. Delimitação de Datas: cada infotipo, usa uma data de início(BEGDA) e de término(ENDDA) para identificar o período de validade.
SAP AG 1999
Start End
Data Selection
...
PROVIDE * FROM Pnnnn
BETWEEN PN-BEGDA
AND PN-ENDDA.
...
ENDPROVIDE.
Na verdade, um infotipo é definido como uma tabela que agrupa os dados de acordo com as suas características. Por exemplo:
IT0000: Medidas ( Contratação, Demissão, etc)
IT0001: Atribuição Organizacional, Ligação do universo PA com PD
IT0002: Dados Pessoais ( Nome, Sobrenome, Sexo, Estado Civil, etc)
IT0008: Remuneração Base
IT1000: Objetos ( Cargo, Unidade Organizacional, Posição, Centro de Custo, etc)
IT1001: Ligações entre os objetos
Eles estão divididos em dois universos: infotipos de PA e infotipos de PD. Dentro dos infotipos de PA, consideramos os dados de empregados e os dados de candidatos, já nos infotipos de PD, contemplamos os dados dos objetos da estrutura organizacional ( unidade organizacional, cargos, posição, tarefa)
Existe uma numeração standard para os infotipos:
0000 a 0999: infotipos PA
4000 a 4999: infotipos Recrutamento
1000 a 1999: infotipos PD
2000 a 2999: infotipos de Time
9000 a 9999: novos infotipos Estrutura de um infotipo:
Pág. 5
SAP AG 1999
Infotype - Data Structures
PA0002PA0002
DB structure PAnnnn using infotype 0002 as an example
Infotype structure Pnnnn using infotype 0002 as an example
MANDT PAKEY PSHD1 PS0002
PSKEY PSHD1 PS0002
A estrutura Pnnnn é utilizada como uma interface entre o programa e o banco de dados. Ela contém os campos de dados da estrutura PSnnnn e os campos de dados que ocorrem em todo infotipo (PSHD1). O campo MANDT não é obrigatório nesta estrutura. Estrutura PSKEY: contém os campos chaves de mestre de pessoal ( PERNR, INFTY, SUBTY, ENDDA, BEGDA) Estrutura PSHD1: contém os campos de administração ( AEDTM, UNAME) A tabela PAnnnn contém o campo MANDT e as estruturas PAKEY, PSHD1, PSnnnn. Estrutura PAKEY: contém os campos chaves de mestre de pessoal. Nos infotipos de candidato, utilizamos a estrutura PBKEY ao invés da PAKEY. Ligação Temporal(Time Constraint): como os infotipos são tabelas, a ligação temporal é a forma com a qual indicamos que o infotipo pode ter registros iguais no mesmo intervalo de tempo. Os valores possíves de ligação temporal são:
Pág. 6
Exemplos de infotipos e as respectivas ligações temporais:
Ligação Temporal
Infotipo Descrição Considerações
2 IT2001 Ausências Podem existir várias ausências com quebra de tempo
3 IT0021 Familiares Podem existir filhos gêmeos, que tem a mesma data de nascimento
Criação de um novo infotipo:
1. Criação da estrutura PSnnnn
Transação SE11
Crie a estrutura com o nome PS9nnn
Insira a descrição breve
Pág. 7
Insira o nome dos campos, iniciando com a letra Z
Insira o elemento de dados correspondente ao campo que se está inserindo
Verificar , Salvar e Ativar
2. Criação da estrutura da tabela Pnnnn
Transação SE11
Crie a estrutura com o nome P9nnn
Insira a descrição breve
Insira os seguintes includes:
.INCLUDE PSHDR
.INCLUDE PS9XXX
Verificar , Salvar e Ativar
3. Criação da tabela transparente PAnnnn ou PBnnnn
Transação SE11
Crie a tabela com o nome PA9nnn ou PB9nnn
Insira a descrição breve
Em classe de entrega, informe "A", para a tabela ser utilizada como dados mestres e para movimentação
Marcar com a "Atualização de tabela permitida"
Insira os seguintes campos na tabela:
MANDT MANDT
.INCLUDE PAKEY ( se o infotipo for utilizado para recrutamento, utilize PBKEY)
.INCLUDE PSHD1
.INCLUDE PS9XXX
Verificar , Salvar e Ativar
4. Criação da estrutura de campos de telas Znnnn
Transação SE11
Crie a estrutura com o nome Z9nnn (No Stardard estas estruturas são encontradas normalmente com a letra "Q")
Insira a descrição breve
Insira o nome dos campos que se deseja concatenar na tela do infotipo. Serão utilizados, obviamente os mesmos campos inseridos na estrutura PS9xxx
Insira o elemento de dados correspondente ao campo que se está inserindo, utilizados na estrutura PS9xxx
Verificar , Salvar e Ativar
5. Criação do infotipo 9nnn
Transação PM01
Pág. 8
Clique no TAB "Criar Infotipo"
Digite o número 9xxx, correspondente ao seu infotipo
Selecionar uma das opções: Infotipo empregado, Infotipo candidato, Ambos
Clicar em “Tudo”
Após a criação, a tela do IMG será aberta para atualização do novo infotipo na tabela T582A. Uma request de customização será criada.
Modos de preenchimento da tabela T582A:
Copiando os dados de um infotipo previamente conhecido:
Selecione este infotipo conhecido;
Copie com o botão "Copiar";
Altere o número do infotipo e sua descrição breve;
Salve os dados da tabela
Inserindo uma nova entrada:
Selecione o botão "Novas Entradas";
Insira o código do infotipo;
Insira a descrição breve do infotipo;
Insira os dados básicos de cada campo da tabela
A seguir a tela usada como padrão em 70% dos infotipos
Pág. 9
6. Editando a tela do infotipo 9nnn
Transação SE51
Digite o programa MP9nnn00, onde 9nnn é o infotipo criado
Digite o nº da tela: 2000 para tela de entrada de dados, ou 3000 para lista de dados
Salve a tela depois das alterações
Gerar novamente
7. Inserindo dados no novo infotipo
Transação PA30
Colocar no campo <No. Pessoal> o número do empregado
Colocar o número do novo infotipo no campo <Infotipo>
Selecionar o botão Criar
A tela com os dados do novo infotipo será exibida para entrada dos dados
A transação PA20 é apenas de consulta
Criação de infotipo com subinfotipo: Crie na estrutura PS9nnn um campo para armazenar o código do Subinfotipo
Pág. 10
Crie na transação PE03 uma feature utilizada com a seguinte característica (cada subinfotipo tem um nó)
Na tabela T588M , crie uma entrada na tela 2000 do Module pool, para cada subinfotipo
Pág. 11
Aqui você pode habilitar e desabilitar campos que deverão ser exibidos em cada tela do subinfotipo
Na tabela T777d coloque a tabela de ligação T591A
Pág. 12
Na T591a crie os subinfotipos
Ampliação de infotipo:
Transação PM01
Colocar o infotipo que será ampliado no campo < Nº infotipo>
Pág. 13
Clicar na TAB Ampliar infotipo
Selecionar subobjeto Include CI
Clicar em <Tudo>
Se o include não estiver criado, a seguinte tela aparecerá:
Preencher <Descrição Breve> do include onde serão adicionados os novos campos do infotipo
Colocar os campos e data elemento
Salvar e Ativar a estrutura
Quando voltar, uma request de customização será exigida
OBS: Tanto na criação como na ampliação de infotipo existirão uma request de workbench e uma de customização.
EXERCÍCIO_A: Criar um infotipo 9nnn: Descrição do infotipo: Outros Dados Pessoais Campos: ZRG - CHAR 9 ZCPF - CHAR 11
Pág. 14
BANCO DE DADOS LÓGICO
SAP AG 1999
1. Data retrieval
2. Screening
3. Authorization check
Functions of Logical Database PNP
O banco de dados lógico permite uma avaliação conveniente e de alta performance das tabelas transparentes. Possui três funções básicas:
Obtenção dos dados: os dados pessoais de cada funcionário são carregados na memória principal e ficam a disposição para o processo.
Pré-seleção: através de uma tela de seleção , podemos selecionar funcionários de acordo com um critério organizacional.
Verificação de Autorização: o sistema verifica se o usuário que está efetuando o processamento possui autorização para os dados que devem ser lidos. Há uma verificação de autorização pessoal e de dados. Primeiro o sistema verifica se o usuário possui autorização para o empregado com base nos critérios de atribuição organizacional. Em seguida, é verificado se o usuário está autorizado a processar os infotipos do relatório especificado.
1. Data Retrieval
Pág. 15
SAP AG 1999
Data Retrieval
1. Create data structures for infotypes
2. Fill the data structures with the infotype records
"Organizational Assignment"
"Personal Data"
"Planned Working Time"
INFOTYPES: 0001,
0002,
0007.
GET PERNR.
Declaração de infotipo Através da declaração INFOTYPES, é obtida a estrutura de dados da tabela Paxxxx correspondente.
INFOTYPES: 0001, “ Atribuição Organizacional 0002, “ Dados Pessoais 0003, “ Status da Folha de Pagamento
O banco de dados normalmente não possui somente um registro para infotipo e número pessoal, mas
diversos registros com diferentes períodos de validade. Os infotipos são dependentes de tempo, uma vez que os dados correspondentes se modificam ao longo do tempo. Por esse motivo, apenas uma estrutura ou área de trabalho não seria suficiente para o fornecimento de dados de infotipo na memória principal. Assim, a instrução INFOTYPES é utilizada para criar uma tabela interna para cada um dos infotipos listados. A estrutura dessa tabela corresponde aquela do infotipo relevante.
Recuperação de dados Através da instrução GET PERNR, são preenchidas as tabelas internas de infotipos, declaradas para cada empregado na instrução INFOTYPES.
GET PERNR. Os dados são recuperados no momento GET PERNR. A ação é executada para todos os números pessoais selecionados com base nas entradas da tela de seleção. O momento deve ser visualizado como um loop através dos números pessoais selecionados. A tabela interna de infotipos é preenchida com todos os registros desde a data de seleção inferior (low) até a data superior (high). Obs: PERNR é uma estrutura do Dicionário de Dados. Deve-se declarar essa estrutura através da instrução TABLES.
Pág. 16
SAP AG 1999
Processing Master Data
TABLES: PERNR.
INFOTYPES: 0001, "Actions
0002, "Personal Data
0006, "Addresses
....
GET PERNR.
PROVIDE * FROM P0002 BETWEEN PN-BEGDA AND PN-ENDDA.
WRITE...
ENDPROVIDE. Um relatório HR que utiliza o banco de dados lógico PNP possui a seguinte estrutura básica: REPORT ZHRRPxxx. TABLES: PERNR. INFOTYPES: 0001. “Atribuição Organizacional GET PERNR. PROVIDE * FROM P0001 BETWEEN PN/BEGDA AND PN/ENDDA. WRITE: / P0001-PERNR, P0001-STELL, P0001-BEGDA, P0001-ENDDA. ENDPROVIDE. Esse relatório avalia os registros do infotipo Atribuição Organizacional no período de seleção de dados especificado. Após o momento GET PERNR, as tabelas internas dos infotipos estão carregadas com os registros e prontas para processamento. As tabelas internas são geralmente processadas linha a linha através da instrução LOOP. Essas tabelas possuem conjuntos de funções que permitem um processamento especial. Essas tabelas são definidas para intervalos de tempo específicos. Em HR, esses intervalos são de tempos ou períodos de validade. O processamento dos registros de infotipo é dependente do período de seleção de dados entrado na tela de seleção. Os dados de diversos infotipos podem ser processados ao mesmo tempo e disponibilizados para um período de tempo parcial específico. As tabelas internas de infotipos são processadas com a instrução PROVIDE. A sintaxe é: PROVIDE * FROM Pnnnn BETWEEN PN/BEGDA AND PN/ENDDA. WRITE: / Pnnnn<campo>.
Pág. 17
ENDPROVIDE.
A relação entre o infotipo e o período de seleção de dados da tela de seleção é estabelecida através das variáveis PN/BEGDA e PN/ENDDA. Quando estas datas não são preenchidas na tela de seleção, o BEGDA assume 01/01/1800 e o ENDDA assume 31/12/9999. No loop PROVIDE, os dados de um registro de infotipo estão disponíveis para processamento na estrutura Pnnnn. Formas de LOOP:
Pág. 18
SAP AG 1999
Loop Nesting
GET PERNR.
PROVIDE * FROM P0002 BETWEEN PN-BEGDA
AND PN-ENDDA.
WRITE...
ENDPROVIDE.
or:
LOOP AT P0002 WHERE ENDDA GE PN-BEGDA
AND BEGDA LE PN-ENDDA.
WRITE...
ENDLOOP.
PROVIDE * FROM P0006
BETWEEN PN-BEGDA AND PN-ENDDA
WHERE P0006-SUBTY = '1'.
WRITE...
ENDPROVIDE.
END-OF-SELECTION.
Infotype
loop
Infotype
loopEmployee
loop
Infotype
loop
Join: Um Join processa registros de dois ou mais infotipos. Os dados desses infotipos são fornecidos para um período parcial específico. Por exemplo: É necessário um relatório informando qual era o cargo e o endereço de um funcionário em um período de tempo. Os dados de endereço são os seguintes:
Pág. 19
E os dados de cargo são:
Se os dados de endereço e cargo forem fornecidos para períodos parciais específicos, ocorrem os seguintes casos:
Período Endereço Cargo 01/2000 – 04/2000 Av. Vieira Souto / Borracheiro 05/2000 – 06/2000 Av. Vieira Souto / Esp. SAP Finanças 06/2000 – XX/XXXX Av. Sernambetiba / Esp. SAP Finanças
O comando para efetuar um join é: PROVIDE * FROM Pmmmm * FROM Pnnnn BETWEEN PN/BEGDA AND PN/ENDDA. Os períodos parciais dos infotipos do join são definidos nos campos BEGDA e ENDDA. Os dados de cada infotipo do join devem estar disponíveis durante todo o período de validade do infotipo. Os quadros temporais dos registros de infotipo não podem se sobrepor; dessa forma, o join não pode conter infotipos com ligação temporal “três”. Os quadros temporais dos registros se sobrepõem se um infotipo for lido sem quaisquer restrições de subtipo. Por exemplo, o infotipo ENDEREÇOS (infotipo 0006), tem os subtipos residência permanente, residência secundária e endereço residencial. Os quadros temporais se sobreporão se todos os endereços forem lidos.
Pág. 20
O código ABAP do programa para o join de dados de endereço acima é: REPORT ZHRRPxxx. TABLES: PERNR. INFOTYPES: 0001, 0006. GET PERNR. PROVIDE * FROM P0001 * FROM P0006 BETWEEN PN/BEGDA AND PN/ENDDA WHERE P0006-SUBTY EQ ‘1’. “Residência permanente WRITE:/ PERNR-PERNR, P0001-STELL, P0006-STRAS, P0006-BEGDA, P0006-ENNDA. ENDPROVIDE. Às vezes, não há dados disponíveis para um determinado infotipo no período parcial selecionado. Períodos de validade não podem se sobrepor, mas pode haver intervalos de tempo. A variável Pnnnn_VALID reconhece se os dados estão disponíveis para o infotipo Pnnnn no período parcial especificado. Nesse caso, a variável Pnnnn_VALID contém o valor ‘X”. Esse exemplo de ocorrência de intervalo de tempo, pode existir entre os infotipos 0002 (Dados Pessoais) e 0006 (Endereços). REPORT ZHRRPxxx. TABLES: PERNR. INFOTYPES: 0002, 0006. GET PERNR. PROVIDE * FROM P0002 * FROM P0006 BETWEEN PN/BEGDA AND PN/ENDDA WHERE P0006-SUBTY EQ ‘1’. “Residência permanente IF P0006_VALID EQ ‘X’. WRITE:/ PERNR-PERNR, P0002-NACHN, P0006-ORT01, P0006-BEGDA, P0006-ENNDA. ENDIF. ENDPROVIDE. Nesse caso é gerada uma lista apenas se estiverem disponíveis dados de endereço. O período em que houver somente dados pessoais, é suprimido. 2. Screening Como os critérios de seleção necessários dependem do relatório, o usuário deve definir a dimensão da tela de seleção. Para isso é necessário atribuir o relatório a uma classe de relatório. Com a atribuição de relatórios de base de dados lógico PNP a classes de relatório, pode-se modificar o aspecto da tela de seleção. Desse modo é possível suprimir campos de entradas não necessários do ponto de vista empresarial em alguns relatórios.
Pág. 21
No caso em que a tela de seleção standard SAP não satisfaça as necessidades, existe a possibilidade de criar uma ou várias classes de relatórios próprias e assim estabelecer o aspecto de seleção para essas classes. A classe de relatório define e analisa os critérios de seleção e chaves de função necessários (matchcode, ordenação,...). Todos os relatórios standard HR já estão atribuídos às classes de relatórios SAP. A todos os relatórios do cliente, que não esteja atribuída nenhuma classe de relatório, por default é atribuída a classe ‘00000000’ própria do cliente, caso ela exista; senão, é atribuída a classe de relatório standard SAP ‘ ‘. Os nomes das classes de relatório possuem oito caracteres: SEPDAnnn Esses caracteres possuem o seguinte significado:
Caracter Significado Valores válidos
S Ordenar Não utilizar ordenação
X Utilizar ordenação
E Período de seleção de dados Igualdade se aplica
Período de seleção de pessoas X Igualdade não se aplica
P Área de liquidação, período e ano de folha pag. Linha não é exibida
X Linha é exibida
M Linha é exibida e o campo é obrigatório
D Período de seleção de dados 0 Linha não é exibida
1 Data chave; apenas a date “DE” está em modo de entrada
2 Intervalo; as datas “DE” e “ATÉ” estão em modo de entrada
A Período de seleção de pessoas Igual ao período de seleção de dados
nnn Número seqüencial, iniciando com 001
Pág. 22
A classe de report é selecionada na tela de características do programa. Quando você coloca o banco de dados lógico, ele disponibiliza um botão Classe de Report HR que uma vez selecionado, a tela abaixo será exibida:
Na tela acima, através do matchcode será selecionado uma classe de report. 3. Authorization Check
Pág. 23
SAP AG 1999
Authorization Check
Personal dataReport
--++
Authorization check
O módulo de HR faz uma distinção entre dois tipos de autorização, uma para pessoas e outra para dados. O banco de dados lógico faz este check automaticamente. Quando não estiver utilizando o banco de dados lógico , utilizar o módulo de função:
HR_CHECK_AUTHORITY_INFTY.
Banco de Dados Lógico GET Database Driver
PA-PAD ( Empregado)
PNP PERNR SAPDBPNP
PA-APP ( Candidato)
PAP APPLICANT SAPDBPAP
PD PCH OBJEC SAPDBPCH
EXERCÍCIO_B: 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)
Pág. 24
Nome do Empregado (PERNR-ENAME) Data de Nascimento ( P0002-GBDAT)
EXERCÍCIO_C: Criar uma lista de candidatos , utilizando o banco de dados lógico PAP. Os seguintes campos deverão ser exibidos: Número do Candidato ( APPLICANT-APLNO) Nome do Candidato (P0002-VNAMC + P0002-NCHMC) Data de Nascimento ( P0002-GBDAT)
MACROS
Assim como os subprogramas e os módulos de função, as macros podems ser usadas para modularizar programas. Elas são muito utilizadas no módulo de HR. As macros são definidas com o comando DEFINE.
Pág. 25
Elas podem ser utilizadas em qualquer programa que utiliza banco de dados lógico. Em programas que não utilizam o banco de dados lógico, o include que contém a macro desejada deve ser mencionado. Por exemplo, para o banco de dados lógico PNP, o include que contém macros é o DBPNPMAC. As macros definidas na tabela TRMAC podem ser utilizadas por todos os relatórios. Dependendo do relatório a ser impresso, geralmente não é necessário todos os registros de infotipos. Nesse caso utilizamos algumas das instruções macros abaixo: RP-PROVIDE-FROM-LAST Pnnnn SPACE PN/BEGDA PN/ENDDA. ou RP-PROVIDE-FROM-FIRST Pnnnn SPACE PN/BEGDA PN/ENDDA. Essas instruções disponibilizam o registro mais recente ou mais antigo no período de seleção de dados PN/BEGDA a PN/ENDDA. Os parâmetros da instrução acima são: Pnnnn -> Infotipo; SPACE -> Subinfotipo (Quando não está disponível, SPACE); PN/BEGDA -> Data de Início; PN/ENDDA -> Data de Fim.
Pág. 26
SAP AG 1999
Processing a Specific Infotype Record
Data selection January December
Table
Pnnnn
January December
GET PERNR.
RP_PROVIDE_FROM_LAST <Pnnnn> SPACE PN-BEGDA PN-ENDDA.
IF PNP-SW-FOUND = 1.
WRITE...
ENDIF.
No exemplo acima, o usuário quer o registro mais recente. Lista de Macros: abaixo seguem algumas macros ligadas ao banco de dados lógico PNP, que estão na tabela TRMAC. Algumas delas são utilizadas em eventos específicos. Data definition RP-LOWDATE-HIGHDATE ( define as constants – LOWDATE (18000101) e HIGHDATE(99991231) para comparações) Ex: RP-LOWDATE-HIGHDATE. ... GET PERNR. ... IF Pnnnn-ENDDA EQ HIGH-DATE. Initialization RP-SEL-EIN-AUS-INIT ( esta macro permite que somente os funcionários ativos sejam selecionados)
Pág. 27
Start-of-selection RP-SET-NAME-FORMAT
RP-FETCH-ALTER-PERID
RP-SET-KEY-DATE
Selection (GET PERNR) RP-SEL-CALC
RP-WRITE-ALTER-PERID
RP-MAKE-ADDRESS
RP-EDIT-ADDRESS
RP-READ-ALL-TIME-ITY
RP-EDIT-NAME
RP-INIT-BUFFER
RP-IMP-Cn-xx
RP-EXP-Cn-xx
RP-REF-Cn-xx
Top-of-page RP-STICHTAG
RP-ZEITRAUM
Em qualquer ponto: (Selection, End-of-selection,...)
1. Obtenção de dados: RP-READ-INFOTYPE
RP-READ-T001P
RP-READ-T5D0P
RP-READ-PAYROLL-DIR
2. Processamento de dados: RP-PROVIDE-FROM-FRST
RP-PROVIDE-FROM-LAST
3. Modificação de dados: RP-UPDATE
Exemplo de atualização da macro RP-UPDATE: Em casos excepcionais (Ex.: Infotipos próprios do cliente), pode ser necessário que sejam efetuados relatórios utilitários para efetivar uma modificação direta nos dados pessoais nas tabelas da base de dados.
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.
Pág. 29
SAP AG 1999
Reading Infotypes Without Logical DB (1)
PAnnnnPAnnnn
INFOTYPES: <nnnn>.
...
CALL FUNCTION
'HR_READ_INFOTYPE'...
SAP AG 1999
Reading Infotypes Without Logical DB (2)
INFOTYPES: 0002.
DATA: return LIKE SY-SUBRC.
CALL FUNCTION 'HR_READ_INFOTYPE'
EXPORTING
. . .
PERNR = <person>
INFTY = '0002'
BEGDA = <begdat>
ENDDA = <enddat>
IMPORTING
SUBRC = return
TABLES
INFTY_TAB = P0002
EXCEPTIONS
INFTY_NOT_FOUND = 1
OTHERS = 2.
A função HR_READ_INFOTYPE tem como objetivo ler os registros de uma pessoa ( funcionário ou candidato) de acordo com o critério de seleção. Os valores são retornados em tabelas internas contendo a estrutura da tabela do infotipo. Esta função realiza um check de autorização. A maioria das funções em HR tem as duas letras iniciais começadas por HR, RH ou RP. Para encontrá-las utilizar a transação SE37.
Pág. 30
Exemplos de funções:
RP_GET_HIRE_DATE Determina a data de admissão do Empregado
HR_ECM_READ_OBJECT Descrição do Objeto ( STEXT, SHORT)
RH_READ_INFTY_1000 Determina os dados dos objetos de PD
RH_READ_INFTY_1001 Ligações entre os objetos de PD
RH_STRUC_GET Determina a estrutura organizacional
BAPI_EMPLOYEE_ENQUEUE Trava um número de pessoal, antes de atualizar dados
BAPI_EMPLOYEE_DEQUEUE Libera o número do pessoal que estava travado
HR_INFOTYPE_OPERATION Manutenção do Infotipo (MOD, COPY, DEL,INS, LIS9)
HR_CHECK_AUTHORITY_INFTY Verifica autorização
EXERCÍCIO_E: Criar uma lista de funcionários , utilizando a função RH_READ_INFOTYPE. Os seguintes campos deverão ser exibidos: Número Pessoal do Empregado ( P0002-PERNR) Nome do Empregado (P0002-CNAME) Data de Nascimento ( P0002-GBDAT)
Pág. 31
CLUSTERS
SAP AG 1999
Database Tables in HR
Database for HR work areas
Accounting results
(Time, trip costs, payroll)
Recruitment data
Documents
PCL1PCL1
PCL2PCL2
PCL3PCL3
PCL4PCL4
HR data (master and time data)PAnnnnPAnnnn
Personnel cost planningPCL5PCL5
As tabelas de dados PAnnnn contém dados classificados por infotipos. As tabelas PCLn são tipos de tabelas de importação e exportação de dados. Elas são definidas no programa através do comando TABLES. As tabelas da base de dados do tipo PCLn estão divididas em subáreas conhecidas como clusters de dados. O file PCL1 possui informações originadas no registro de tempos, por exemplo, folhas de salários por rendimento ou textos de infotipo suplementares. O file PCL2 possui informações derivados, como resultados do cálculo da folha de pagamento. Possui também todos os esquemas de folha de pagamento gerados. O file PCL3 possui os dados de candidatos. O file PCL4 possui os documentos de modificação para dados mestre HR e recrutamento.
Pág. 32
No file PCL1, encontraremos, entre outras, as seguintes áreas de dados:
B1 DADOS TEMPORAIS
G1 SALÁRIO POR RENDIMENTO DO GRUPO
L1 SALÁRIO POR INCENTIVO INDIVIDUAL
PC CALENDÁRIO PESSOAL
TE DESPESAS DE VIAGEM/RESULTADOS DA LIQUIDAÇÃO
TS DESPESAS DE VIAGEM/DADOS MESTRES
TX TEXTOS PARA INFOTIPOS
ZI INTERFACE PARA CONTABILIDADE DE CUSTOS/GESTÃO DE MATERIAIS
No file PCL2, encontraremos, entre outras, as seguintes áreas de dados:
B2 RESULTADO DAS LIQUIDAÇÕES DE TEMPOS
CD CLUSTER-DIRECTORY
PS ESQUEMA GERADO
PT TEXTO PARA O ESQUEMA GERADO
RX RESULTADO DO CÁLCULO DA FOLHA DE PAGAMENTO/INTERNACIONAL
RN RESULTADO DO CÁLCULO DA FOLHA DE PAGAMENTO/POR PAÍSES (N = IND. PAÍS HR)
ZL PLANO DE TURNOS PESSOAL
Pág. 33
No file PCL3, encontramos as seguintes áreas de dados:
AP LOG DE AÇÃO/PLANO DE DATAS
TY TEXTOS PARA OS INFOTIPOS DOS CANDIDATOS
SAP AG 1999
DB Table Administration/ PCLn
IMPORT
PCLnPCLn
A1 A2
TABLES: PCLn.
EXPORT
Os arquivos de importação/exportação PCLn são administrados com os comandos IMPORT e EXPORT. Você pode usar estes comandos para armazenar objetos de dados como campos, estruturas ou tabelas internas. Os dados são lidos e gravados usando uma chave única. As macros RMAC RP-IMP-Cn-xx e RP-EXP-Cn-xx são fornecidas para os dados de importação e exportação, onde n é o número do arquivo ( 1 = PCL1, 2 = PCL2) e xx é a identificação do cluster.
Os dados de diferentes áreas de aplicação HR são arquivados em cluster nos files PCLn. Cada área de aplicação deve possuir um nome de cluster de dois caracteres . Também deve possuir uma estrutura chave; 40 bytes do campo SRTFD estão disponíveis para essa estrutura. Quando um registro é exportado para o file PCLn, a ID de cluster é gravada no campo RELID e o valor chave no campo SRTFD. As definições de dados de uma área de trabalho estão arquivadas em programas individuais (INCLUDES) com uma convenção fixa para definição de nomes: RPCnxyz0 onde:
Pág. 34
RPC = fixo n = 1,2,3 ou 4 (para PCL1, PCL2, PCL3 ou PCL4) xx = ID do cluster y = agrupamento de países ( tabela T500L) Ex: O programa RPC1TXO0 contém a definição de dados do cluster TX.
A estrutura chave do cluster é armazenada em um field string xy-KEY onde o número pessoal é o
primeiro elemento. O nome da chave xy depende do cluster:
CLUSTER CHAVE XY
RA RX-KEY
B1 B1-KEY
G3 G3-KEY
XA RX-KEY
A chave RX-KEY é usada para todos os clusters Rx e Xx. Em todos os outros casos, o nome da chave xy corresponde à chave do cluster.
Pág. 35
FOLHA DE PAGAMENTO
Rubricas são os valores que compõe o pagamento do funcionário. Como exemplo desconto de INSS, bonificação, vale refeição, etc.. Algumas são valores fixos e outras são calculadas em tempo de execução do programa de cálculo da folha de pagamentos. Tabela de rubricas: T512W.
A forma como a folha de pagamento é processada varia de empresa para empresa. Algumas possuem benefícios e descontos que outras não possuem, conforme o ramo de atuação, política interna e uma série de outros fatores. Dentre esses descontos e benefícios, alguns podem ser eliminados, outros são criados. Imaginem se pensarmos a nível global. Como tratar os fatores da legislação trabalhista que mudam com freqüência para cada país? Para possibilitar a implementação dessa série de mudanças no modo como a folha é calculada, sem a necessidade de alteração do programa standard, foi criado o Esquema de Cálculo de Pessoal.
SAP AG 1999
PCL2 PCL2
xy
PAnnnn PAnnnn
PCL2 PCL2
xy
Schemas & rules
PAYROLL
DRIVER
HBRCALC0 - Brasil
PAYROLL RESULTS
H99_DISPLAY_PAYRESULT - versão 4.6 C
Pág. 36
Nota É importante ressaltar que mesmo com a existência do esquema, não foi possível manter uma única versão do programa da Folha de Pagamento para todos os países. Existe um standard para específicos para alguns países ou grupo de países. O nome do standard utilizados pelo Brasil é HBRCALC0.
O esquema nada mais é do que um conjunto de regras que informam ao programa de Cálculo de Folha de Pagamento como o mesmo deve trabalhar para apurar o salário de um funcionário. O esquema é definido como um conjunto de instruções. Composto de uma série de funções, algumas destas funções executam processamentos diretos e outras processam regras. As regras são comandos que possibilitam realizar cálculos, envolvento informações numéricas e também informações cadastrais dos funcionários. Transação PE01 – manutenção esquema Transação PE02 – manutenção regras Transação PE03 – manutenção das features Transação PE04 – manunteção das funções
Para criação de uma nova função, utilizar o símbolo % como caracter inicial.
Colocando o nome da função na tela inicial da transação PE04, clicar no botão <Criar>. Em seguida, a tela abaixo será exibida para definição das características da função. O consultor funcional é responsável por esta definição.
Pág. 37
O código da nova função fica em um programa específico PCBURXX0, onde XX é variável. No caso do Brasil, o include que contém as funções é o PCBURBR0. Este include exige chave de acesso na primeira vez que é utilizado. O nome do FORM consiste de fuxxxxx onde xxxxx é o nome da função criada na PE04. Sugestão para inclusão das novas funções:
No include PCBURXX0, criar um include ZCPCBURXX0
Colocar as funções no include ZCPCBURXX0
Exemplo de uma função nova criada: *----------------------------------------------------------------------* * Include ZPCBURZBR0 * *----------------------------------------------------------------------* *---------------------------------------------------------------------* * Calculo da DMA - Diferença do mês anterior *---------------------------------------------------------------------* FORM fu%test. DATA: w_dtant LIKE p0008-begda, w_2000 LIKE p0015-betrg. CONSTANTS: c_2000 LIKE p0015-lgart VALUE '2000'. w_dtant = aper-begda - 30. *--Leitura do infotipo rp_read_infotype pernr-pernr 0008 p0008 '18000101' '99991231'. *--Buscar salario do empregado LOOP AT p0008. IF p0008-begda <= w_dtant AND p0008-endda >= w_dtant. IF p0008-lga01 = 'M010'.
Pág. 38
w_2000 = p0008-bet01. ELSE. w_2000 = p0008-bet01 * p0008-divgv. ENDIF. ENDIF. ENDLOOP. it-lgart = c_2000. it-betrg = w_2000. APPEND it. ENDFORM. "FU%TEST
Cuidado Como estes forms são utilizados pelo DRIVE da folha de pagamento algumas regras devem ser seguidas:
Importante lembrar que qualquer desenvolvimento em funções e operações deve prever a possibilidade de um reprocessamento já que o processamento da Folha de Pagamento pode ser excluído e refeito.
Não utilizar o comando MESSAGE para emissão de mensagens. Ao invés disso é necessário a
chamada do FORM FILL_MSGTAB. Isso porque além da folha tratar vários funcionários de
uma vez, o que dificultaria a visualização das mensagens, ao chamar esse form indicando erro, o
processamento para o funcionário corrente é abortado e seu número é separado na árvore de log
como funcionários processados com erro. Todas as mensagens emitidas via FILL_MSGTAB são
exibidas na árvore de resultado do processamento.
Modelo de chamada do FORM:
"Exibe log de resultado? IF SW_PROT = PBR99_ON. PERFORM LOG_REFRESH_PTEXT(H37PLOG0). ENDIF. "Insere a mensagem CLEAR ERROR_PTEXT. ERROR_PTEXT-TLEVEL = '1'. ERROR_PTEXT-TINTENSIV1 = '0'. ERROR_PTEXT-TLENGTH1 = STRLEN( $TEXT1 ). ERROR_PTEXT-TEXT1 = $TEXT1. IF NOT $TEXT2 IS INITIAL. ERROR_PTEXT-TLENGTH2 = STRLEN( $TEXT2 ). ERROR_PTEXT-TEXT2 = $TEXT2. ERROR_PTEXT-TINTENSIV2 = '0'. ENDIF. IF NOT $TEXT3 IS INITIAL. ERROR_PTEXT-TLENGTH3 = STRLEN( $TEXT3 ). ERROR_PTEXT-TEXT3 = $TEXT3. ERROR_PTEXT-TINTENSIV3 = '0'. ENDIF. IF NOT $TEXT4 IS INITIAL. ERROR_PTEXT-TLENGTH4 = STRLEN( $TEXT4 ). ERROR_PTEXT-TEXT4 = $TEXT4. ERROR_PTEXT-TINTENSIV4 = '0'. ENDIF. APPEND ERROR_PTEXT. PERFORM FILL_MSGTAB TABLES ERROR_PTEXT PTEXT USING SPACE "pernr dependent PERNR-PERNR APER_NUMB P_MESS_POS 'E' "tipo da mensagem (E,I,S)
Pág. 39
'A'. IF SW_PROT = PBR99_ON. PERFORM LOG_GET_BACK_PTEXT(H37PLOG0) TABLES PTEXT. PERFORM LOG_REFRESH_PTEXT(H37PLOG0). ENDIF.
Para exibir no LOG de processamento da folha o conteúdo das tabelas RT, IT e OT é necessário
alimentar a tabela T52BW – INPUT E OUTPUT DE FUNÇÃO via transação SM30.
O cluster da folha de pagamento é o resultado do processamento da folha de pagamento para um
funcionário em um determinado mês. Esse resultado fica armazenado em tabelas cluster no BD e podem
ser visualizados sem a necessidade de uma nova execução do programa de cálculo.
O programa para visualização do cluster é o HBRCLSTR.
Nota Para o manuseio do cluster existem macros e funções especiais, como por exemplo as
funções CU_READ_RGDIR e PYXX_READ_PAYROLL_RESULT.
Um outro método para ler as tabelas é utilizando o form READ_BRAZILIAN_CLUSTER e
READ_SPECIFIC_RESULT.
Exemplo de leitura do cluster
Exemplo Exemplo de como carregar o cluster dos funcionários:
É necessário informar o Banco de Dados Lógico PNP nos atributos do programa.
REPORT ZEXEMPLO_CLUSTER. * Declarações ---------------------------------------------------------- TABLES: PCL1, "Cluster 1 HR PCL2, "Cluster 2 HR ITCPP, PERNR. "Funcionários *- Includes ------------------------------------------------------------ INCLUDE PCTYPBR0. INCLUDE PCCLSBR1. "HRMS BR cluster data INCLUDE PCCLSBR0. "HRMS BR cluster reading INCLUDE PCTYPBR0. "Type pools for declaring payroll data INCLUDE PCXRXBR0. "Macros para recuperação do Cluster DATA: SUBRC LIKE SY-SUBRC, FBEG LIKE SY-DATUM, "Início período FEND LIKE SY-DATUM. "Fim período *- Parâmetros Seleção -------------------------------------------------- PARAMETERS PMES LIKE QPPNP-PABRP. PARAMETERS PANO LIKE QPPNP-PABRJ. *- Eventos ------------------------------------------------------------- START-OF-SELECTION. "Move o 1o. dia e o último do mês informado no parâmetro para FBEG e "FEND CONCATENATE PANO PMES '01' INTO FBEG. CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS' EXPORTING DAY_IN = FBEG
Pág. 40
IMPORTING LAST_DAY_OF_MONTH = FEND. "Executa para cada funcionário. Banco de dados lógico PNP GET PERNR. PERFORM READ_BRAZILIAN_CLUSTER TABLES RGDIR "Tab.de diretorios USING PERNR-PERNR "Chave do empregado PN-BEGDA "Data de inicio PN-ENDDA "Data fim do periodo SUBRC. "Flag de retorno "A tabela RGDIR contém todos os processamentos de folha realizados "para o funcionário. LOOP AT RGDIR. "Verifica se existe processamento de folha para o mês "solicitado no parâmetro de execução nesse funcionário CHECK FBEG LE RGDIR-FPEND. CHECK FEND GE RGDIR-FPBEG. "Se existir efetua a carga das tabelas PERFORM READ_SPECIFIC_RESULT USING PERNR-PERNR "Chave do emp RGDIR-SEQNR "Seq. do Proce SUBRC. "Flag de reto EXIT. ENDLOOP. "Neste ponto temos todas as tabelas carregadas (RT,VERSC,CRT,BT,etc.) LOOP AT RT. WRITE: / RT-LGART, RT-BETRG. ENDLOOP. END-OF-SELECTION.
ANEXO I – INFOTIPOS PA PA0001 Registro mestre HR: infotipo 0001 (atrib.org.) PA0002 Registro mestre HR infotipo 0002 (Dados pessoais) PA0003 Registro mestre HR infotipo 0003 (Status folha pag.) PA0004 Registro mestre HR infotipo 0004 (Deficiência) PA0005 Registro mestre pessoal: infotipo 0005 (direito a férias) PA0006 Registro mestre HR infotipo 0006 (Endereços) PA0007 Registro mestre pessoal infotipo 0007 (tempo de trabalho) PA0008 Reg.mestre HR infotipo 0008 (Remuneração base)
Pág. 41
PA0009 Reg.mestre HR infotp.0009 (coordenadas bancárias) PA0010 HR Master Record: Infotype 0010 (Capital Formation) PA0011 Reg.mestre HR infotipo 0011 (Transfs.bancárias ext.) PA0012 HR Master Record: Infotype 0012 (Fiscal Data - Germany) PA0013 Infotipo Seguro social Alemanha PA0014 Reg.mestre HR infotp.0014 (Pagamentos e deduções const.) PA0015 Reg.mestre HR infotp.0015 (pagamentos adicionais) PA0016 Registro mestre HR infotipo 0016 (Elementos do contrato) PA0017 Registro mestre HR: infotp.0017 (Privilégios viag.) PA0019 Registro mestre HR infotipo 0019 (Datas) PA0020 HR Master Record: Infotype 0020 (DUEVO) PA0021 Registro mestre HR infotipo 0021 (Família) PA0022 Registro mestre HR infotipo 0022 (Formação) PA0023 Registro mestre HR infotipo 0023(ativids.em outras empresas) PA0024 Registro mestre HR infotipo 0024 (Qualificações) PA0025 Registro mestre HR infotipo 0025 (Avaliações) PA0026 HR Master Record: Infotype 0026 (Company Pension Plan) PA0027 Reg.mestre HR infotipo 0027 (Distribuição custos) PA0028 Registro mestre HR infotipo 0028 (saúde) PA0029 HR Master Record: Infotype 0029 (Workers' Compensation) PA0030 Registro mestre HR infotipo 0030(Procurações) PA0031 Registro mestre HR infotipo 0031 (Nº pessoal de referência) PA0032 Registro mestre HR infotipo 0032 (Acordos internos) PA0033 International Infotype 0033: Statistics Exceptions PA0034 Registro mestre HR infotipo 0034 (Funções internas) PA0035 Reg.mestre HR infotp.0035 (Instruções da firma) PA0036 HR Master Record: Infotype 0036 (Social Insurance CH) PA0037 Registro mestre HR infotipo 0037 (Seguro) PA0038 HR Master Record: Infotype 0038 (Tax - CH) PA0039 HR Master Record: Infotype 0039 (Add. Org. Assign. CH) PA0040 Registro mestre HR infotipo 0040 (Cessões) PA0041 Registro mestre HR infotipo 0041 (indicações de data) PA0042 HR Master Record: Infotype 0042 (Tax - Austria) PA0043 HR Master Record: Infotype 0043 (Family Allowance - A) PA0044 HR Master Record: Infotype 0044 (Social Insurance - A) PA0045 Registro mestre HR: infotipo 0045 (empr.) PA0046 HR Master Record: Infotype 0046 (Pension Fund - CH) PA0048 HR Master Record: Infotype 0048 (Residence Status - CH) PA0049 HR Master Record: Infotype 0049 (Red.Hrs./Bad Weather) PA0050 Registro mestre pessoal infotipo 0050 (registro horas) PA0051 HR Master Record: Infotype 0051 (ASB/SPI Data) PA0052 Infotipo registro mestre HR 0052 (seguro rendimento) PA0053 HR Master Record: Infotype 0053 (Pension Reserves) PA0054 Infotp.registro mestre HR 0054 (Consel.empresa) PA0055 HR Master Record: Infotype 0055 (Previous Employer - A) PA0056 HR Master Record: Infotype 0056 (Sick Certificates-A) PA0057 Registro mestre HR infotipo 0057 (afiliação) PA0058 HR Master Record: Infotype 0058 (Commuter Lump Sum A) PA0059 HR Master Record: Infotype 0059 (Social Insurances - NL) PA0060 HR Master Record: Infotype 0060 (Wage Tax - NL) PA0061 HR Master Record: Infotype 0061 (Social Insurance - E) PA0062 HR Master Record: Infotype 0062 (Tax - E) PA0063 HR Master Record: Infotype 0063 (Social Fund - NL) PA0064 HR Master Record: Infotype 0064 (Social Insurance - F) PA0065 HR Master Record: Infotype 0065 (Tax - GB)
Pág. 42
PA0066 HR Master data infotype 0066 - Canadian garnishment: order PA0067 HR master data infotype 0067 - Canadian garnishment: debt PA0068 HR master data infotype 0068 - Canadian garnishment: adjust PA0069 HR Master Record: Infotype 0069 (Nat. Insurance - GB) PA0070 HR Master Record: Infotype 0070 (Court Orders - GB) PA0071 HR Master Record: Infotype 0071 (Pension Funds - GB) PA0072 HR Master Record: Infotype 0072 (Tax - DK) PA0073 HR Master Record: Infotype 0073 (Private Pensions - DK) PA0074 HR Master Record: Infotype 0074 (Vacation/SH DK) PA0075 HR Master Record: Infotype 0075 (ATP Pension - DK) PA0076 HR Master Record: Infotype 0076 (Workers Compensation NA) PA0077 Registro mestre HR infotipo 0077 (outros dados da pessoa) PA0078 Registro mestre HR infotipo 0078 (empréstimo-pag.&imp.) PA0079 Não relevante para português PA0080 Registro mestre pessoal: infotipo 0080 (proteção matern.) PA0081 Registro mestre pessoal: infotipo 0081 (serviço militar) PA0082 Registro mestre pessoal: infotipo 0082 (result.dds.ausên.) PA0083 Registro mestre pessoal: infotipo 0083 (compensações) PA0084 HR Master Record: Infotype 0084 (Sickness Pay Control - GB) PA0085 HR Master Record: Infotype 0085 (Work Incapacity Periods GB) PA0086 HR Master Record: Infotype 0086 (SSP/SMP Exclusions GB) PA0088 HR Master Record: Infotype 0088 (SMP Record - GB) PA0090 HR Master Record: Infotype 0090 (Various Payee Keys) PA0092 HR Master Record: Infotype 0092 (Seniority - E) PA0093 HR Master Record: Infotype 0093 (Previous Employer - D) PA0094 HR Master Record: Infotype 0094 (Residence Status - NA) PA0095 HR Master Record: Infotype 0095 (Tax Canada) PA0096 HR Master Record: Infotype 0096 (Tax - USA) PA0097 Já não é utilizado - vai ser eliminado PA0098 HR Master Record: Infotype 0098 (Profit Sharing - F) PA0099 Já não é utilizado - vai ser eliminado PA0100 HR Master Record: Infotype 0100 (SI B) PA0101 HR Master Record: Infotype 0101 (Tax B) PA0102 HR Master Record: Infotype 0102 (Grievances NA) PA0103 HR Master Record: Infotype 0103 (Bond Purchases NA) PA0104 HR Master Record: Infotype 0104 (Bond Denominations NA) PA0105 Registro mestre HR infotipo 0105 (comunicações) PA0106 HR Master Record: Infotype 0106 (Related Persons NA) PA0107 HR Master Record: Infotype 0107 (Work Schedule B) PA0108 HR Master Record: Infotype 0108 (Personal Data B) PA0109 HR Master Record: Infotype 0109 (Contract Elements B) PA0110 HR Master Record: Infotype 0110 (Pensions NL) PA0111 HR Master Record: Infotype 0111 (Garnishment Admin. D) PA0112 HR Master Record: Infotype 0112 (Garn.Repaym. D) PA0113 HR Master Record: Infotype 0113 (Garnishment Int. D) PA0114 HR Master Record: Infotype 0114 (Garnishable Amount D) PA0115 Reg.mestre HR infotipo 0115 (Penhora casos espec.% salário) PA0116 HR Master Record: Infotpye 0116 (Garn.Transfer D) PA0117 HR Master Record: Infotype 0117 (Garnishment Comp.) PA0118 HR Master Record: Infotype 0118 (Child Allowance D) PA0119 HR Master Record: Infotype 0119 (Annual Income CA D) PA0120 HR Master Record: Infotype 0120 (Pension Fund Trans. CH) PA0121 Registro mestre HR infotipo 0121 (priorid.nº pessoal ref.) PA0122 HR Master Record: Infotype 0122 (Child Allowance Bonus D) PA0123 Já não utilizado - é eliminado
Pág. 43
PA0124 Já não é utilizado - vai ser eliminado PA0125 HR Master Record: Infotype 0125 (Garnishment B) PA0126 Não relevante para português PA0127 HR Master Record: Infotype 0127 (Commuting NL) PA0128 Registro mestre HR infotipo 0128 (administr.txt.) PA0129 Registro mestre HR infotipo 0129 (atribuição nºs txt.) PA0130 HR Master Record: Infotpye 0130 (Checking Procedures) PA0131 HR Master Record: Infotype 0131 (Garn.Mgmt.Data A) PA0132 HR Master Record: Infotpye 0132 (Garnishment A) PA0133 HR Master Record: Infotype 0133 (Garnsh.Interest A) PA0134 HR Master Record: Infotype 0134 (Garnishable Amount A) PA0135 HR Master Record: Infotpye 0135 (Garn.Spec.Cond. A) PA0136 HR Master Record: Infotype 0136 (Garnish.Trans A) PA0137 HR Master Record: Infotype 0137 (Garnish.Comp. A) PA0138 HR Master Record: Infotype 0138 (Family/Ref.Pers B) PA0139 Registro mestre HR infotipo 0139 (Nº candidato do empregado) PA0140 HR Master Record: Infotype 0140 (SI Basic Data JP) PA0141 HR Master Record: Infotype 0141 (SI Premium Data JP) PA0142 HR Master Record: Infotype 0142 (Residence Tax JP) PA0143 HR Master Record: Infotype 0143 (Life Insurance JP) PA0144 HR Master Record: Infotype 0144 (Property Accum. JP) PA0145 HR Master Record: Infotype 0145 (Personnel Tax Status JP) PA0146 HR Master Record: Infotype 0146 (Y.E.A. Data JP) PA0147 HR Master Record: Infotype 0147 PA0148 HR Master Record: Infotype 0148 (Family JP) PA0149 HR Master Record Infotype 0149 (Tax Data South Africa) PA0150 HR Master Record Infotype 0150 (Social Insurance SA) PA0151 HR Master Record Infotype 0151 (Ext.Insurance South Africa) PA0154 HR master record, infotype 0154 (Social Security data) PA0155 HR master record, infotype 0155 (Additional admin. data) PA0156 HR master data, infotype 0156 (Tax deductions) PA0157 HR master record, infotype 0157 (User administration data) PA0158 HR master record, infotype 0158(Amounts paid by 3rd parties) PA0159 HR master data, infotype 0159 (Seniority) PA0160 HR master record, info-type 0160 (Family allowance) PA0161 HR Master Record: Infotype 0161 (Limits IRS) PA0162 HR Master Record: Infotype 0162 (Ins. Y.E.T.A Data JP) PA0165 Registro mestre HR infotipo 0165 (limitação deduções) PA0167 Reg.mestre pessoal: infotipo 0167 (planos de saúde) PA0168 Reg.mestre de pessoal: infotipo 0168 (planos de seguro) PA0169 Reg.mestre pessoal: infotipo 0169 (plns.poup.) PA0170 Reg.mestre pessoal: infotipo 0170 (contas poupança) PA0171 Reg.mestre de pessoal: infotipo 0171 (dds.gerais de benefs.) PA0172 Reg.mestre de pessoal: infotipo 0172 (seguro de pensão) PA0173 Tax card information PA0174 <Lønns- og trekkoppgave> info PA0177 HR Master Record: Infotype 0177 (Act proport.labor part.for) PA0179 HR Master Record: Infotype 0179 (Tax SG) PA0180 Alternative Address Data (Thailand) PA0181 HR Master Record: Infotype 0181 [Add. Funds] (SG) PA0182 HR Master Record: Infotype 0182 [Alternative Names] (SG) PA0183 HR Master Record: Infotype 0183 [Awards] (SG) PA0184 HR Master Record: Infotype 0184 [Resume text] (SG) PA0185 HR Master Record: Infotype 0185 [Identification] (SG) PA0186 HR Master Record: Infotype 0186 [Social Insurance] (SG)
Pág. 44
PA0187 Additional family data PA0188 Tax (Australia) PA0189 HR Master Record Infotype 0189 (Construction Industry Wages) PA0190 HR Master Data Record Infotype 0190 (BuildingTradePrevERDat) PA0191 HR Master Record Infotype 0191 (BuildingTradeReimbursExpens) PA0192 Personnel Master Record Infotype 0192 (BuildingTrade Attrib) PA0194 HR Master Record Infotype 0194 (Garnishment Document) PA0195 HR Master Record Infotype 0195 (Garnishment Order) PA0196 HR Master Record:Infotype 0196 (Employee Provident Fund MY) PA0197 HR Master Record:Infotype 0197 (SOCSO Contributions MY) PA0198 Sheduled Tax Deductuion Malaysia PA0199 Tax deduction CP38 / Additional amt / Bonus - Malaysia PA0200 HR Master Record, Infotype 0200 (Garnishments DK) PA0201 Personnel master record infotype 0201 (basic pension amnts) PA0202 HR master data infotype 0202 (Entitlements) PA0203 HR master record infotype 0203 (Pension/Reserve Status) PA0204 HR Master Record, Infotype 0204 (DA/DS Statistics DK) PA0207 HR Master Record: Infotype 0207 (Residence Tax Area) PA0208 HR Master Record: Infotype 0208 (Work Tax Area - USA) PA0209 HR Master Record: Infotype 0209 (Unemployment Insurance USA) PA0210 HR Master Record: Infotype 0210 (W4 USA) PA0211 Reg.mestre pessoal: infotipo 0211 (beneficiárs.auts.COBRA) PA0212 Reg.mestre pessoal: infotipo 0212 (planos saúde COBRA) PA0213 Additional family information - Malaysia PA0215 Building Trade Transaction Data PA0216 Garnishment Adjustment PA0217 Infotype 0217 (INSEE code) PA0218 Infotype 0218 (number of pension fund) PA0219 Reg.mestre pessoal: infotipo 0219 (organizações externas) PA0220 Superannuation (Australia) PA0221 HR Master Record: Infotype 0221 (Manual Checks) PA0222 HR Master Record for Infotype 0222 (Company Cars GB) PA0224 Tax information - inf. 0224 - Canada PA0225 HR Master Record for Infotype 0225 (Company Cars GB 2) PA0227 Tax file number (Australia) PA0230 HR Master Record: Infotype 0230 / View 0008 (PSG) PA0231 HR Master Record: Infotype 0231 / View 0001 (PSG) PA0232 Personal-Master Record Infotype 0232 (Child Allowance) (D) PA0233 HR-F master record infotype 0233 ('Bilan Social') PA0234 HR Master Record Infotype 0234 (Add. Withh. Inform. - USA) PA0235 HR Master Record: Infotype 0235 (Other Taxes - USA) PA0236 Reg.mestre pessoal: infotipo 0236 (planos crédito) PA0237 HR Master Record: Infotype 0237 / View for 0052 (PSG) PA0241 Indonesian Tax Data PA0242 JAMSOSTEK Details, Indonesia PA0261 Leave Accrual Australia PA0264 HR Master Record: Infotype 0264/view for Infotype 0021 PA0265 HR Master Record: Infotype 0265 / Special Regulations (PSG) PA0266 HR Master Record: Infotype 0266 / View 0027 (PSG) PA0267 HR Master Record: Infotype 0267 (One time Payment off-cycle) PA0268 HR Master Record Infortype view 0045 and 0268 (Loan JPN) PA0269 HR Master Record: Infotype 0269 (ADP Information USA) PA0270 Registro mestre pessoal: infotipo 0270 (pagamentos COBRA) PA0271 HR master data infotype 0271 (Public Sector statistics) PA0272 HR master record - infotype 0272 (Garnishment F)
Pág. 45
PA0273 HR Master Record: Infotype 0273 (Tax - SE) PA0274 HR Master Record: Infotype 0274 (Insurance - SE) PA0275 HR Master Record: Infotype 0275 (Garnishment - SE) PA0276 HR Master Record: Infotype 0276 (OPIS - SE) PA0277 HR Master Record: Infotype 0277 (Exceptions - SE) PA0278 HR master record infotype 0278 (PF basic data [CH]) PA0279 HR master record infotype 0279 (Indiv.values for PF [CH]) PA0280 HR Master Record Infotype 0280/View for 0016 PA0281 HR Master Record Infotype 0281/View for 0045 PA0283 Registro mestre HR infotipo 0283 (arquivamento) PA0288 HR CH: HR Master Record Infotype 0021 (Suppl. Switzerland) PA0302 Registro mestre HR infotipo 0302 (medidas supl.) PA0303 HR Master Record: Infotype 303 (reductn tax/soc.ins.contrNL) PA0304 Basic pay - additional information PA0305 HR master record, infotype 0305 (Previous employer) PA0306 HR master record, infotype 0306 (Family data) PA0309 IRD Number Infotype NZ PA0310 Superannuation NZ PA0311 Leave Adjustments - NZ PA0312 Leave History Adjustments NZ PA0313 Employee Taxation Detail Infotype NZ PA0314 I0314: Days for Vacation Allow. and Sal.Deducs (DK/N) PA0315 CATS: infos.emissor PA0317 HR Master Record: Infotype 0317 (special arrangements) PA0318 HR Master Record: Infotype Family data for Indonesia (0318) PA0319 Indonesia Private Insurances PA0320 Official housing PA0321 Employee accommodations PA0322 HR Master Data Record Infotype 0322 (Pensions and Rel. Ben.) PA0323 HR Master Record Infotype 0323 (Pension Plan) PA0326 HR Master Record IT 0326 (Imputation to Pension Payments) PA0329 HR master record infotype 0329 ( Sideline Job) PA0330 Infotype 0330 (Non-monetary remuneration) PA0331 Registro mestre HR: infotp.0331 (imp.- PT) PA0332 Reg.mestre HR: infotipo 0332 (segurança social - PT) PA0333 Reg.mestre HR: infotipo 0333 (deficiência - P) PA0334 Reg.mestre HR: infotipo 0334 PA0335 Reg.mestre HR: infotipo 0335 (visão de infotipo 21 - PT) PA0336 Reg.mestre HR: infotipo 0336 (visão de infotipo 2 - PT) PA0337 Reg.mestre HR: infotipo 0337 (classificações prof. - PT) PA0341 HR - Master Record Infotype 341 (DUEVO Start) PA0342 HR Master Record: Infotype 0342 (HK Extension to I0002) PA0343 HR Master Record: Infotype 0343 (Contract HK) PA0344 HR Master Record: Infotype 0344 (Familiy members HK) PA0345 HR Master Record: Infotype 0345 (Hong Kong Tax) PA0346 HR Master Record: Infotype 0346 (Contribution plan) PA0347 HR Master Record: Infotype 0347 (Entitlement plan) PA0348 HR Master Record: Infotype 0348 (HK Appraisal and bonus) PA0349 HR Master Record: Infotype 0349 (Eligibility grouping) PA0351 HR Master Record: Infotype 0351 (Country Information) PA0352 NHI for Family member (TW) PA0353 Income Tax Taiwan PA0354 Labor Insurance Taiwan PA0355 National Health Insurance Taiwan PA0356 Employment Stabilization Fund (TW)
Pág. 46
PA0357 Saving Plan (TW) PA0358 Employee Welfare Fund (TW) PA0359 HR Master Record : Infotype 0359 (PRSI Ireland) PA0360 HR Master Record : Infotype 0360 (PRSI Ireland) PA0361 HR Master Record : Infotype 0361 (Pensions Admin. - IE) PA0362 HR Master Record: Infotype Membership for Indonesia (0362) PA0363 Previous employment period PA0364 Infotype Tax TH PA0365 Social Security TH PA0366 Provident Fund THAILAND PA0367 HR Master Record: Infotype 0367 (SI-Addit.Notif.Data A) PA0368 Rehabilitants and challenged persons PA0369 HR Master Record: Infotype 0369 (IMSS data) PA0370 HR Master Record: Infotype 0370 (INFONAVIT credit data) PA0371 HR Master Record: Infotype 0371 (Previous Jobs Wages) PA0372 Master data: Infotype 0372 (Gross Daily Wage) PA0373 HR loan repayment plan JP (for P0268) PA0374 Infortype 0374: General Eligibility PA0375 Reg.dds.mestre pessoal: infotipo 0375 (dds.benefs.adicions.) PA0376 Reg.dds mestre pessoal: infotipo 0376 (dds.benefs.médicos) PA0377 Reg.dds mestre pessoal: infotipo 0377 (outros planos) PA0378 Reg.dds mestre pess.infotipo 0378 (motivo ajuste benefs.) PA0379 Reg.dds mestre pess.infotipo 0379 (plns.aquisição ações) PA0380 Registro mestre HR infotipo 0380 (adapt.remuneração) PA0381 Registro mestre HR infotp.0381(admissibilidade plano remun.) PA0382 Registro mestre HR infotipo 0382 (ações) PA0383 Registro mestre HR infotipo 0383 (Pacote remuner.) PA0384 Registro mestre HR infotipo 0384 PA0386 HR Master Record: Infotype 0386 (VHI Scheme) PA0387 HR Master Record : Infotype 0387 (Starter's Details) PA0388 HR Master Record: Infotype 0388 (Union JP) PA0389 Income Tax: General indicators PA0390 Income Tax: Deductions PA0391 Income Tax: Other employers information PA0392 Social Security: General data PA0393 Family data: Calendar year schooling assistance PA0394 Family data: Additional information PA0395 Registro mestre HR: infotipo 0395 (atrib.organiz.externa) PA0396 Registro mestre HR: infotipo 0396 (atrib.expatriação) PA0397 Infotipo 0021 Família PA0398 Infotipo 0016 - Acordos corporativos e contratuais PA0399 HRMS-VE: Income Tax Infotype table (IT0399) PA0400 HRMS-VE: CSS Infotype table (IT0400) PA0401 HRMS-VE: Benefits Infotype table (IT401) PA0402 Registro mestre HR infotipo 0402 PA0403 Registro mestre HR infotipo 0403 PA0404 HR Master Record: Infotype 0404 (Military Service Taiwan) PA0405 Personnel Master Record Infotype 0405 (Absence Events) PA0406 HR-PSG: Infotype 0406 (Pension information) PA0407 HR master record, infotype 0407 (Additional absence info) PA0408 HR Master Record: Infotype 0408 (CBS NL) PA0409 HR Master Record: Infotype 0409 (External Agencies NL) PA0410 Infotipo 0410 - Vale-transporte PA0411 Taxation Philippines - infotype PA0412 HR-SG: Family Data ( View infotype 0412 for IT0021 )
Pág. 47
PA0415 Registro mestre HR infotp.0415 PA0416 Infotp.compensação contingente tempos, tabela BD PA0421 HR master record, infotype 0421 (Special payments) PA0422 SSS Philippines infotype PA0423 HR Master Record: Infotype 0423 PA0426 Legal order PA0427 Debts by legal order PA0428 Beneficiary data (Additional information) PA0433 HR Master Record Infotype 0433/View for 0009 PA0434 HR Master Record Infotype 0434/View for 0011 (GB Version) PA0437 Empregos simultâneos (BR) PA0438 HR Master Record: Infotype 0438 PA0439 Registro mestre HR infotipo 0439 (transf.dados) PA0440 HR Master Record: Infotype 0440 (Receipts) PA0442 HR Master Record: Infotype 0442 PA0447 HR Master Record for Infotype 0447 PA0448 HR Master Record for Infotype 0448 PA0449 HR Master Record: Infotype 0449 PA0450 HR Master Record: Infotype 0450 PA0451 HR Master Record: Infotype 0451 PA0452 HR Master Record: Infotype 0452 PA0453 HR Master Record: Infotype 0453 PA0454 HR Master Record: Infotype 0454 PA0455 HR Master Record: Infotype 0455 PA0456 HR Master Record: Infotype 0456 PA0457 HR Master Record: Infotype 0457 PA0458 HR Master Record for Infotype 0458 PA0459 HR Master Record for Infotype 0459 PA0460 HR Master Record for Infotype 0460 PA0467 Personnel master data Infotype 0467 (SI addit.notif. pl.c.A) PA0468 Reg.mestre pessoal p/infotipo 0468 PA0469 Reg.mestre pessoal p/infotipo 0469 PA0470 Reg.mestre pessoal p/infotipo 0470 (perfis de viagens) PA0471 Reg.mestre pessoal p/infotipo 0471 (preferências de vôo) PA0472 Reg.mestre pessoal p/infotipo 0472 (preferências de hotel) PA0473 Reg.mestre pessoal p/infotipo 0473 (prefer.carro de aluguel) PA0474 Reg.mestre pessoal p/infotipo 0474 (preferências de trem) PA0475 Reg.mestre pessoal p/infotipo 0475 (programas do cliente) PA0476 Personnel Master Record for Infotype 0476 (Deductions Spain) PA0477 Personnel Master Record for Infotype 0477 (Ded. Spain: Debt) PA0478 Personnel Master Record for Infotype 0478 (Ded. Spain: Adj.) PA0480 Personnel Master Record for Infotype 0480 PA0482 HRMS-VE: Additional Family/Pers.Refer. data Infotype(IT0021) PA0483 Infotype 0483 - Data entry from CAAF - Italy only PA0491 HR Master Record: Infotype 0491 PA0506 Tip Indicators PA0510 HR Master Record: Infotype 0510 (Tax-sheltered annuity) PA0525 Child care PA0546 HR Master Record: Infotype 0546 (Termination Data) PA0547 HR Master Record: Infotype 0547 PA0561 Tax data PA0900 Registro mestre HR tipo info 0900 (dados vendas e distr.) PA0901 Registro mestre HR infotipo 0901 (dds.compra) PA2001 Registro horas pessoal: infotipo 2001 (ausências) PA2002 Registro horas pessoal: infotipo 2002 (presenças)
Pág. 48
PA2003 Registro horas pessoal: infotipo 2003 (substituição) PA2004 Registro horas pessoal: infotipo 2004 (disponibilidade) PA2005 Registro horas pessoal: infotipo 2005 (horas extras) PA2006 Registro horas pessoal: infotipo 2006 (contigente ausências) PA2007 Registro horas pessoal infotipo 2007 (autorização presença) PA2010 Registro horas pessoal: infotipo P2010 (info remun.empr.) PA2012 Registro horas pessoal: infotipo 2012 (revisão do saldo) PA2013 Infotipo reg.tempo pess.2013 (correções contingente) PA2500 Registro mestre HR para infotipo 2500 PA2501 Registro mestre HR infotipo 2501 PA2502 Registro mestre HR infotipo 2502 PB0001 Registro mestre HR: infotipo 0001 (atrib.org.) PB0002 Registro mestre HR infotipo 0002 (Dados pessoais) PB0006 Registro mestre HR infotipo 0006 (Endereços) PB0009 Reg.mestre HR infotp.0009 (coordenadas bancárias) PB0022 Registro mestre HR infotipo 0022 (Formação) PB0023 Registro mestre HR infotipo 0023(ativids.em outras empresas) PB0024 Registro mestre HR infotipo 0024 (Qualificações) PB0028 Registro mestre HR infotipo 0028 (saúde) PB0041 Registro mestre HR infotipo 0041 PB0077 Registro mestre HR infotipo 0077 PB0105 Registro mestre HR infotipo 0105 (comunicações) PB0108 HR Master Record: Infotype 0108 (Personal Data B) PB0185 HR Master Record: Infotype 0185 (Personal ID) PB0336 Reg.mestre HR: infotipo 0336 (visão de infotipo 2 - PT) PB0342 HR Master Record: Infotype 0342 (HK Extension to I0002) PB0343 HR Master Record: Infotype 0343 (Contract HK) PB0395 Registro mestre HR: infotipo 0395 (atrib.organiz.externa) PB0396 Registro mestre HR: infotipo 0396 (atrib.expatriação) PB4000 Infotipo 4000 ações rel.cand. PB4001 Infotp.4001 candidaturas PB4002 Infotipo 4002 atrib.de vagas PB4003 Infotipo 4003 (operações cand.) PB4004 Dados candidato infotipo 4004 (status tarefas repetitivas) PB4005 Infotipo 4005 (nº pessoal do candidato interno)
ANEXO II – ESTRUTURAS PERNR E APPLICANT
Estrutura PERNR
CAMPO DESCRIÇÃO
PERNR No. Pessoal
MASSN Tipo de Medidas
MASSG Motivo da Medida
STAT1 Status específico do cliente
STAT2 Status ocupação
STAT3 Status pagamento especial
BUKRS Empresa
WERKS Área de Recursos Humanos
PERSG Grupo de empregados
PERSK Subgrupo de empregados
VDSK1 Chave de organização
Pág. 49
GSBER Divisão
BTRTL Subárea de Recursos Humanos
JUPER Pessoa Jurídica
ABKRS Área de processamento de Folha de Pagamento
ANSVH Vínculo empregatício
KOSTL Centro de custo
ORGEH Unidade Organizacional
PLANS Posição
STELL Função
MSTBR Área mestre
SACHA Encarregado folha de pagamento
SACHP Encarregado para dados mestre de pessoal
SACHZ Encarregado do registro de horas
SNAME Nome do empregado
ENAME Nome editado do empregado
OTYPE Categoria do Objeto
SBMOD Grupo de encarregados
KOKRS Área de contabilidade de custos
FISTL Centro Financeiro
GEBER Fundo
MASNG Medida, Motivo da medida
STATU Campo concatenado: status 1, 2 e 3
XBWBK Área RH, Subárea RH, Centro Custo
KOKTL Área Contabilidade de Custos, Centro Custo
XPGPK Grupo, Subgrupo empregados
SASBA Modif. Encarregado, encarregado folha pag.
SASBP Modif. Encarregado, encarregado pessoal
SASBZ Modif. Encarregado, encarregado tempos
DAYPS Data de início de período de seleção de pessoas
Estrutura APPLICANT
CAMPO DESCRIÇÃO
APLNO No. Pessoal
ENAME Nome editado do empregado
SNAME Nome do empregado
BUKRS Empresa
WERKS Área de Recursos Humanos
BTRTL Subárea de Recursos Humanos
PERSG Grupo de candidatos
PERSK Segmentação de candidatos
RESRF Responsável de pessoal pela candidatura
OFFID Anúncio da Vaga
SPAPL Grupo de candidatos espontâneos
APSTA Status global do candidato
STREA Motivo do status do candidato
MASSN Tipo de ação relativa a candidato
REFEM Código de Referência
RFPER Empregado de Referência
Pág. 50
ANEXO III – SOLUÇÕES DOS EXERCÍCIOS EXERCÍCIO_B: Criar uma lista de Empregados *&---------------------------------------------------------------------* *& Report ZHR_TREINA_B00 *& * *&---------------------------------------------------------------------* *& Criar uma lista de funcionários *& *&--------------------------------------------------------------------- REPORT ZHR_TREINA_B00. * Tables tables: PERNR. * Infotypes infotypes: 0002. "Registro mestre HR infotipo 0002 (Dados pessoais) * Evento START-OF-SELECTION START-OF-SELECTION. * Preenchimento das tabelas dos infotipos GET PERNR. PROVIDE * FROM P0002 BETWEEN PN-BEGDA AND PN-ENDDA. WRITE: / p0002-pernr, " No. Pessoal sy-vline, pernr-ename, "Nome do Funcionário sy-vline, p0002-gbdat. "Data de Nascimento ENDPROVIDE.
EXERCÍCIO_C: Criar uma lista de Candidatos *&---------------------------------------------------------------------* *& Report ZHR_TREINA_C00 *& * *&---------------------------------------------------------------------* *& Criar uma lista de candidatos *& *&--------------------------------------------------------------------- REPORT ZHR_TREINA_C00. * Tables
Pág. 51
tables: APPLICANT. * Infotypes infotypes: 0002. "Registro mestre HR infotipo 0002 (Dados pessoais) * Variáveis data: vg_nome(40) type c. * Evento START-OF-SELECTION START-OF-SELECTION. * Preenchimento das tabelas dos infotipos GET APPLICANT. PROVIDE * FROM P0002 BETWEEN PAPBEGDA AND PAPENDDA. concatenate p0002-vnamc p0002-nchmc into vg_nome separated by space. WRITE: / applicant-aplno, " No. Candidato sy-vline, vg_nome, "Nome do Candidato sy-vline, p0002-gbdat. "Data de Nascimento ENDPROVIDE.
EXERCÍCIO_D: Criar uma lista de Empregados utilizando macros *&---------------------------------------------------------------------* *& Report ZHR_TREINA_D00 *& * *&---------------------------------------------------------------------* *& Determinar uma lista de funcionários com a sua Àrea de Recursos *& Humanos mais recente *&--------------------------------------------------------------------- REPORT ZHR_TREINA_D00. * Tables tables: PERNR, "Seleções standard para reporting de dados mestre HR T001P."Áreas/subáreas HR * Infotypes infotypes: 0001. "Registro mestre HR: infotipo 0001 (atrib.org.) * Evento START-OF-SELECTION START-OF-SELECTION. * Preenchimento das tabelas dos infotipos GET PERNR. * determina o registro mais recente rp-provide-from-last p0001 space pn-begda pn-endda. * determina o nome da área de recursos humanos rp-read-t001p p0001-werks p0001-btrtl space. WRITE: / pERNR-pernr, " No. Pessoal sy-vline, pernr-ename, "Nome do Funcionário sy-vline, t001p-btext. "Texto da Area de Recursos Humanos
EXERCÍCIO_E: Criar uma lista de Empregados utilizando funções
Pág. 52
*&---------------------------------------------------------------------* *& Report ZHR_TREINA_E00 *& * *&---------------------------------------------------------------------* *& Exibir dados do funcionário sem utilização de Banco de Dados Lógico *&--------------------------------------------------------------------- REPORT ZHR_TREINA_E00. * Tables TABLES: PA0001. * Infotypes infotypes: 0002. * Tabelas Internas data: begin of t_dados occurs 0, pernr like p0002-pernr, cname like p0002-cname, gbdat like p0002-gbdat, end of t_dados. * Parâmetros de Seleção select-options: s_pernr for pa0001-pernr no intervals. * Evento START-OF-SELECTION START-OF-SELECTION. loop at s_pernr. CALL FUNCTION 'HR_READ_INFOTYPE' EXPORTING TCLAS = 'A' PERNR = s_pernr-low INFTY = '0002' BEGDA = sy-datum ENDDA = '99991231' TABLES INFTY_TAB = p0002 EXCEPTIONS INFTY_NOT_FOUND = 1 OTHERS = 2. if not p0002[] is initial. clear t_dados. T_DADOS-PERNR = P0002-PERNR. T_DADOS-CNAME = P0002-CNAME. T_DADOS-GBDAT = P0002-GBDAT. append t_dados. endif. endloop. * Evento END-OF-SELECTION END-OF-SELECTION. IF NOT T_DADOS[] IS INITIAL. WRITE: / T_DADOS-pernr, " No. Pessoal sy-vline, T_DADOS-cname, "Nome do Funcionário sy-vline, T_DADOS-gbdat. "Data de Nascimento ENDIF.
Pág. 53
ANOTAÇÕES: