Escolar Documentos
Profissional Documentos
Cultura Documentos
PROGRAMAO
EM
ABAP HR
Pg. 2
SUMRIO
INTRODUO ......................................................................................................................................................... 3
INFOTIPOS............................................................................................................................................................... 4
BANCO DE DADOS LGICO ............................................................................................................................. 14
MACROS ................................................................................................................................................................. 24
FUNES ............................................................................................................................................................... 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 SOLUES DOS EXERCCIOS.................................................................................................. 50
ANOTAES: ........................................................................................................................................................ 53
Pg. 3
INTRODUO
Recruitment
Hiring
Benefits
Enrollment
Training
H
O
T
E
L
Time
statement
Employee Development
& Salary Administration
Payroll
Travel
Time Reporting
& Shift Planning
SAP AG 1999
Diviso do mdulo de HR :
1.
2.
3.
4.
Estrutura Organizacional:
Objetos:
O Organizational Unit reas de Negcio, Setores
C Job - Cargos Genrico que descreve o Especfico
S Position Cargo Especfico
T Task Descries das atividades dos cargos
A Work Place Identifica o local fsico 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 Funcionrios da Empresa, so criados em PA.
US User Usurios do Sistema SAP R/3.
Pg. 4
INFOTIPOS
Definio: conjunto de informaes logicamente agrupadas.
Delimitao de Datas: cada infotipo, usa uma data de incio(BEGDA)
identificar o perodo de validade.
e de trmino(ENDDA) para
Data Selection
Start
End
Na verdade, um infotipo definido como uma tabela que agrupa os dados de acordo com as suas
caractersticas. Por exemplo:
... ( Contratao, Demisso, etc)
IT0000: Medidas
IT0001: Atribuio
Organizacional,
Ligao do universo PA com PD
PROVIDE
* FROM Pnnnn
IT0002: Dados
Pessoais
(
Nome,
Sobrenome,
Sexo, Estado Civil, etc)
BETWEEN
PN-BEGDA
IT0008: Remunerao
Base
AND
PN-ENDDA.
IT1000: Objetos
...( Cargo, Unidade Organizacional, Posio, Centro de Custo, etc)
IT1001: Ligaes entre os objetos
ENDPROVIDE.
Eles esto divididos em dois universos: infotipos de PA e infotipos de PD. Dentro dos infotipos de PA,
SAP AG 1999
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,
posio, tarefa)
Estrutura de um infotipo:
Pg. 5
PA0002
MANDT
PAKEY
PSHD1
PS0002
PSKEY
PSHD1
PS0002
SAP AG 1999
A estrutura Pnnnn utilizada como uma interface entre o programa e o banco de dados. Ela contm os
campos de dados da estrutura PSnnnn e os campos de dados que ocorrem em todo infotipo (PSHD1).
O campo MANDT no obrigatrio nesta estrutura.
Estrutura PSKEY: contm os campos chaves de mestre de pessoal ( PERNR, INFTY, SUBTY, ENDDA,
BEGDA)
Estrutura PSHD1: contm os campos de administrao ( AEDTM, UNAME)
A tabela PAnnnn contm o campo MANDT e as estruturas PAKEY, PSHD1, PSnnnn.
Estrutura PAKEY: contm os campos chaves de mestre de pessoal.
Nos infotipos de candidato, utilizamos a estrutura PBKEY ao invs da PAKEY.
Ligao Temporal(Time Constraint): como os infotipos so tabelas, a ligao temporal a forma com a
qual indicamos que o infotipo pode ter registros iguais no mesmo intervalo de tempo. Os valores
possves de ligao temporal so:
Pg. 6
Infotipo
Descrio
Consideraes
2
3
IT2001
IT0021
Ausncias
Familiares
Transao SE11
Crie a estrutura com o nome PS9nnn
Insira a descrio breve
Pg. 7
Transao SE11
Crie a estrutura com o nome P9nnn
Insira a descrio breve
Insira os seguintes includes:
.INCLUDE PSHDR
.INCLUDE PS9XXX
Transao SE11
Crie a tabela com o nome PA9nnn ou PB9nnn
Insira a descrio breve
Em classe de entrega, informe "A", para a tabela ser utilizada como dados mestres
e para movimentao
Marcar com a "Atualizao 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
Transao SE11
Crie a estrutura com o nome Z9nnn (No Stardard estas estruturas so
encontradas normalmente com a letra "Q")
Insira a descrio breve
Insira o nome dos campos que se deseja concatenar na tela do infotipo. Sero
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
Transao PM01
Pg. 8
Pg. 9
Transao 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 alteraes
Gerar novamente
Transao PA30
Colocar no campo <No. Pessoal> o nmero do empregado
Colocar o nmero do novo infotipo no campo <Infotipo>
Selecionar o boto Criar
A tela com os dados do novo infotipo ser exibida para entrada dos dados
A transao PA20 apenas de consulta
Pg. 10
Crie na transao PE03 uma feature utilizada com a seguinte caracterstica (cada subinfotipo tem um n)
Na tabela T588M , crie uma entrada na tela 2000 do Module pool, para cada subinfotipo
Pg. 11
Aqui voc pode habilitar e desabilitar campos que devero ser exibidos em cada tela do subinfotipo
Pg. 12
Ampliao de infotipo:
Transao PM01
Colocar o infotipo que ser ampliado no campo < N infotipo>
Pg. 13
OBS: Tanto na criao como na ampliao de infotipo existiro uma request de workbench e uma de
customizao.
EXERCCIO_A: Criar um infotipo 9nnn:
Descrio do infotipo: Outros Dados Pessoais
Campos: ZRG - CHAR 9
ZCPF - CHAR 11
Pg. 14
1. Data retrieval
2. Screening
3. Authorization check
SAP AG 1999
O banco de dados lgico permite uma avaliao conveniente e de alta performance das tabelas
transparentes.
Possui trs funes bsicas:
1. Data Retrieval
Pg. 15
Data Retrieval
INFOTYPES:
0001,
0002,
0003,
Atribuio Organizacional
Dados Pessoais
Status da Folha de Pagamento
O banco de dados normalmente no possui somente um registro para infotipo e nmero pessoal, mas
diversos registros com diferentes perodos de validade. Os infotipos so 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 no seria suficiente para o fornecimento de dados de infotipo na memria
principal. Assim, a instruo INFOTYPES utilizada para criar uma tabela interna para cada um dos
infotipos listados. A estrutura dessa tabela corresponde aquela do infotipo relevante.
Recuperao de dados
Atravs da instruo GET PERNR, so preenchidas as tabelas internas de infotipos, declaradas para
cada empregado na instruo INFOTYPES.
GET PERNR.
Os dados so recuperados no momento GET PERNR. A ao executada para todos os nmeros
pessoais selecionados com base nas entradas da tela de seleo. O momento deve ser visualizado
como um loop atravs dos nmeros pessoais selecionados. A tabela interna de infotipos preenchida
com todos os registros desde a data de seleo inferior (low) at a data superior (high).
Obs: PERNR uma estrutura do Dicionrio de Dados. Deve-se declarar essa estrutura atravs da
instruo TABLES.
TABLES: PERNR.
INFOTYPES: 0001,
0002,
0006,
....
"Actions
"Personal Data
"Addresses
GET PERNR.
PROVIDE * FROM P0002 BETWEEN PN-BEGDA AND PN-ENDDA.
WRITE...
ENDPROVIDE.
Um relatrio HR que utiliza o banco de dados lgico PNP possui a seguinte estrutura bsica:
REPORT ZHRRPxxx.
TABLES: PERNR.
INFOTYPES: 0001. Atribuio Organizacional
GET PERNR.
PROVIDE * FROM P0001 BETWEEN PN/BEGDA AND PN/ENDDA.
SAP AG 1999
WRITE:
/ P0001-PERNR,
P0001-STELL,
P0001-BEGDA,
P0001-ENDDA.
ENDPROVIDE.
Esse relatrio avalia os registros do infotipo Atribuio Organizacional no perodo de seleo de dados
especificado.
Aps o momento GET PERNR, as tabelas internas dos infotipos esto carregadas com os registros e
prontas para processamento.
As tabelas internas so geralmente processadas linha a linha atravs da instruo LOOP. Essas
tabelas possuem conjuntos de funes que permitem um processamento especial.
Essas tabelas so definidas para intervalos de tempo especficos. Em HR, esses intervalos so de
tempos ou perodos de validade. O processamento dos registros de infotipo dependente do perodo
de seleo de dados entrado na tela de seleo. Os dados de diversos infotipos podem ser
processados ao mesmo tempo e disponibilizados para um perodo de tempo parcial especfico.
Pg. 17
ENDPROVIDE.
A relao entre o infotipo e o perodo de seleo de dados da tela de seleo estabelecida atravs
das variveis PN/BEGDA e PN/ENDDA. Quando estas datas no so preenchidas na tela de seleo, o
BEGDA assume 01/01/1800 e o ENDDA assume 31/12/9999.
No loop PROVIDE, os dados de um registro de infotipo esto disponveis para processamento na
estrutura Pnnnn.
Formas de LOOP:
Loop Nesting
Pg. 18
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.
Infotype
loop
Infotype
loop
Employee
loop
Infotype
loop
END-OF-SELECTION.
Join:
SAP AG 1999
Um Join processa registros de dois ou mais infotipos. Os dados desses infotipos so fornecidos para
um perodo parcial especfico.
Por exemplo: necessrio um relatrio informando qual era o cargo e o endereo de um funcionrio em
um perodo de tempo.
Os dados de endereo so os seguintes:
Pg. 19
Se os dados de endereo e cargo forem fornecidos para perodos parciais especficos, ocorrem os
seguintes casos:
Perodo
Endereo
Cargo
01/2000 04/2000
05/2000 06/2000
06/2000 XX/XXXX
/
/
/
Borracheiro
Esp. SAP Finanas
Esp. SAP Finanas
* FROM Pmmmm
* FROM Pnnnn
BETWEEN PN/BEGDA AND PN/ENDDA.
Os perodos parciais dos infotipos do join so definidos nos campos BEGDA e ENDDA.
Os dados de cada infotipo do join devem estar disponveis durante todo o perodo de validade do
infotipo. Os quadros temporais dos registros de infotipo no podem se sobrepor; dessa forma, o join no
pode conter infotipos com ligao temporal trs.
Os quadros temporais dos registros se sobrepem se um infotipo for lido sem quaisquer restries de
subtipo. Por exemplo, o infotipo ENDEREOS (infotipo 0006), tem os subtipos residncia permanente,
residncia secundria e endereo residencial.
Os quadros temporais se sobreporo se todos os endereos forem lidos.
Pg. 20
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. Residncia 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 disponveis dados de endereo. O perodo em que
houver somente dados pessoais, suprimido.
2. Screening
Como os critrios de seleo necessrios dependem do relatrio, o usurio deve definir a dimenso
da tela de seleo. Para isso necessrio atribuir o relatrio a uma classe de relatrio.
Com a atribuio de relatrios de base de dados lgico PNP a classes de relatrio, pode-se modificar o
aspecto da tela de seleo. Desse modo possvel suprimir campos de entradas no necessrios do
ponto de vista empresarial em alguns relatrios.
Pg. 21
No caso em que a tela de seleo standard SAP no satisfaa as necessidades, existe a possibilidade
de criar uma ou vrias classes de relatrios prprias e assim estabelecer o aspecto de seleo para
essas classes.
A classe de relatrio define e analisa os critrios de seleo e chaves de funo necessrios
(matchcode, ordenao,...).
Todos os relatrios standard HR j esto atribudos s classes de relatrios SAP. A todos os relatrios
do cliente, que no esteja atribuda nenhuma classe de relatrio, por default atribuda a classe
00000000 prpria do cliente, caso ela exista; seno, atribuda a classe de relatrio standard SAP
A
nnn
Significado
Ordenar
Valores vlidos
No utilizar ordenao
X Utilizar ordenao
Perodo de seleo de dados
Igualdade se aplica
Perodo de seleo de pessoas
X Igualdade no se aplica
rea de liquidao, perodo e ano de folha pag.
Linha no exibida
X Linha exibida
M Linha exibida e o campo
obrigatrio
Perodo de seleo de dados
0 Linha no exibida
1 Data chave; apenas a date DE
est em modo de entrada
2 Intervalo; as datas DE e AT
esto em modo de entrada
Perodo de seleo de pessoas
Igual ao perodo de seleo de dados
Nmero seqencial, iniciando com 001
Pg. 22
A classe de report selecionada na tela de caractersticas do programa. Quando voc coloca o banco
de dados lgico, ele disponibiliza um boto Classe de Report HR que uma vez selecionado, a tela
abaixo ser exibida:
3. Authorization Check
Pg. 23
Authorization Check
Report
Personal data
Authorization check
SAP AG 1999
O mdulo de HR faz uma distino entre dois tipos de autorizao, uma para pessoas e outra para
dados.
O banco de dados lgico faz este check automaticamente.
Quando no estiver utilizando o banco de dados lgico , utilizar o mdulo de funo:
HR_CHECK_AUTHORITY_INFTY.
PA-PAD (
Empregado)
PA-APP (
Candidato)
PD
GET
PERNR
Database Driver
SAPDBPNP
PAP
APPLICANT
SAPDBPAP
PCH
OBJEC
SAPDBPCH
EXERCCIO_B: Criar uma lista de funcionrios , utilizando o banco de dados lgico PNP. Os seguintes
campos devero ser exibidos:
Nmero Pessoal do Empregado ( PERNR-PERNR)
Pg. 24
EXERCCIO_C: Criar uma lista de candidatos , utilizando o banco de dados lgico PAP. Os seguintes
campos devero ser exibidos:
Nmero do Candidato ( APPLICANT-APLNO)
Nome do Candidato (P0002-VNAMC + P0002-NCHMC)
Data de Nascimento ( P0002-GBDAT)
MACROS
Assim como os subprogramas e os mdulos de funo, as macros podems ser usadas para modularizar
programas. Elas so muito utilizadas no mdulo de HR.
As macros so definidas com o comando DEFINE.
Pg. 25
Elas podem ser utilizadas em qualquer programa que utiliza banco de dados lgico. Em programas
que no utilizam o banco de dados lgico, o include que contm a macro desejada deve ser
mencionado. Por exemplo, para o banco de dados lgico PNP, o include que contm macros o
DBPNPMAC.
As macros definidas na tabela TRMAC podem ser utilizadas por todos os relatrios.
Dependendo do relatrio a ser impresso, geralmente no necessrio todos os registros de infotipos.
Nesse caso utilizamos algumas das instrues macros abaixo:
RP-PROVIDE-FROM-LAST Pnnnn SPACE PN/BEGDA PN/ENDDA.
ou
RP-PROVIDE-FROM-FIRST Pnnnn SPACE PN/BEGDA PN/ENDDA.
Essas instrues disponibilizam o registro mais recente ou mais antigo no perodo de seleo de dados
PN/BEGDA a PN/ENDDA.
Os parmetros da instruo acima so:
Pnnnn
-> Infotipo;
SPACE
-> Subinfotipo (Quando no est disponvel, SPACE);
PN/BEGDA
-> Data de Incio;
PN/ENDDA
-> Data de Fim.
Pg. 26
Data selection
Table
Pnnnn
January
December
January
December
GET PERNR.
RP_PROVIDE_FROM_LAST <Pnnnn> SPACE PN-BEGDA PN-ENDDA.
IF PNP-SW-FOUND = 1.
WRITE...
ENDIF.
SAP AG 1999
Lista de Macros: abaixo seguem algumas macros ligadas ao banco de dados lgico PNP, que esto na
tabela TRMAC. Algumas delas so utilizadas em eventos especficos.
Data definition
RP-LOWDATE-HIGHDATE ( define as constants LOWDATE (18000101) e HIGHDATE(99991231)
para comparaes)
Ex: RP-LOWDATE-HIGHDATE.
...
GET PERNR.
...
IF Pnnnn-ENDDA EQ HIGH-DATE.
Initialization
RP-SEL-EIN-AUS-INIT ( esta macro permite que somente os funcionrios ativos sejam selecionados)
Pg. 27
Start-of-selection
RP-SET-NAME-FORMAT
RP-FETCH-ALTER-PERID
RP-SET-KEY-DATE
Pg. 28
Exemplo:
INFOTYPES:
GET PERNR.
PROVIDE * FROM TAB_OLD WHERE...
(Nesse ponto, efetua-se as modificaes necessrias)
TAB_NEW[ ] = TAB_OLD[ ].
APPEND TAB_NEW. (Efetua a gravao na tabela alternativa)
ENDPROVIDE.
RP-UPDATE TAB_OLD TAB_NEW.
A atualizao da base de dados se efetua com a macro RP-UPDATE, utilizando como parmetros a
tabela interna TAB_OLD com os registros ainda no modificados e a tabela interna TAB_NEW com os
registros modificados.
Obs:
EXERCCIO_D: Criar uma lista de funcionrios , utilizando o banco de dados lgico PNP. Os seguintes
campos devero ser exibidos:
Nmero Pessoal do Empregado ( PERNR-PERNR)
Nome do Empregado (PERNR-ENAME)
rea de Recursos Humanos ( nome (T001P-BTEXT) do cdigo 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
FUNES
Dentro do HR, voc pode ler registros de um infotipo sem a utilizao de banco de dados lgico. Para
isto, utlizamos a funo HR_READ_INFOTYPE.
PAnnnn
INFOTYPES: <nnnn>.
...
CALL FUNCTION
'HR_READ_INFOTYPE'...
INFOTYPES: 0002.
DATA: return LIKE SY-SUBRC.
CALL FUNCTION 'HR_READ_INFOTYPE'
EXPORTING
. . .
PERNR
= <person>
INFTY
= '0002'
BEGDA
= <begdat>
ENDDA
= <enddat>
IMPORTING
SUBRC
TABLES
INFTY_TAB
EXCEPTIONS
INFTY_NOT_FOUND
OTHERS
= return
= P0002
= 1
= 2.
SAP AG 1999
A funo HR_READ_INFOTYPE tem como objetivo ler os registros de uma pessoa ( funcionrio ou
candidato) de acordo com o critrio de seleo. Os valores so retornados em tabelas internas
contendo a estrutura da tabela do infotipo.
Esta funo realiza um check de autorizao.
A maioria das funes em HR tem as duas letras iniciais comeadas por HR, RH ou RP. Para encontrlas utilizar a transao SE37.
Pg. 30
Exemplos de funes:
RP_GET_HIRE_DATE
HR_ECM_READ_OBJECT
RH_READ_INFTY_1000
RH_READ_INFTY_1001
RH_STRUC_GET
BAPI_EMPLOYEE_ENQUEUE
BAPI_EMPLOYEE_DEQUEUE
HR_INFOTYPE_OPERATION
HR_CHECK_AUTHORITY_INFTY
Pg. 31
CLUSTERS
Database Tables in HR
PAnnnn
PCL1
PCL2
PCL3
Recruitment data
PCL4
Documents
PCL5
SAP AG 1999
Pg. 32
DADOS TEMPORAIS
G1
L1
PC
CALENDRIO PESSOAL
TE
TS
TX
ZI
CD
CLUSTER-DIRECTORY
PS
ESQUEMA GERADO
PT
RX
RN
ZL
Pg. 33
TY DB Table
TEXTOS
PARA OS INFOTIPOS DOS
CANDIDATOS
Administration/
PCLn
PCLn
IMPORT
A1
TABLES: PCLn.
A2
EXPORT
Pg. 34
RPC
n
xx
y
=
=
=
=
fixo
1,2,3 ou 4 (para PCL1, PCL2, PCL3 ou PCL4)
ID do cluster
agrupamento de pases ( tabela T500L)
primeiro elemento.
O nome da chave xy depende do cluster:
CLUSTER
CHAVE XY
RA
B1
G3
XA
RX-KEY
B1-KEY
G3-KEY
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.
Pg. 35
FOLHA DE PAGAMENTO
PCL2
PAYROLL
DRIVER
HBRCALC0 - Brasil
PCL2
xy
xy
PAYROLL RESULTS
H99_DISPLAY_PAYRESULT -
verso 4.6 C
SAP AG1999
A forma como a folha de pagamento processada varia de empresa para empresa. Algumas
possuem benefcios e descontos que outras no possuem, conforme o ramo de atuao, poltica interna
e uma srie de outros fatores.
Dentre esses descontos e benefcios, alguns podem ser eliminados, outros so criados.
Imaginem se pensarmos a nvel global.
Como tratar os fatores da legislao trabalhista que mudam com freqncia para cada pas?
Para possibilitar a implementao dessa srie de mudanas no modo como a folha calculada, sem a
necessidade de alterao do programa standard, foi criado o Esquema de Clculo de Pessoal.
Pg. 36
Nota
O esquema nada mais do que um conjunto de regras que informam ao programa de Clculo
de Folha de Pagamento como o mesmo deve trabalhar para apurar o salrio de um funcionrio. O
esquema definido como um conjunto de instrues. Composto de uma srie de funes, algumas
destas funes executam processamentos diretos e outras processam regras. As regras so comandos
que possibilitam realizar clculos, envolvento informaes numricas e tambm informaes cadastrais
dos funcionrios.
Transao PE01 manuteno esquema
Transao PE02 manuteno regras
Transao PE03 manuteno das features
Transao PE04 manunteo das funes
Para criao de uma nova funo, utilizar o smbolo % como caracter inicial.
Colocando o nome da funo na tela inicial da transao PE04, clicar no boto <Criar>. Em seguida, a
tela abaixo ser exibida para definio das caractersticas da funo. O consultor funcional
responsvel por esta definio.
Pg. 37
O cdigo da nova funo fica em um programa especfico PCBURXX0, onde XX varivel. No caso do
Brasil, o include que contm as funes 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 funo criada na PE04.
Sugesto para incluso das novas funes:
LIKE p0008-begda,
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'.
Pg. 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 so utilizados pelo DRIVE da folha de pagamento algumas regras
Pg. 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 contedo das tabelas RT, IT e OT necessrio
alimentar a tabela T52BW INPUT E OUTPUT DE FUNO via transao SM30.
Para o manuseio do cluster existem macros e funes especiais, como por exemplo as
funes CU_READ_RGDIR e PYXX_READ_PAYROLL_RESULT.
Um outro mtodo para ler as tabelas utilizando o form READ_BRAZILIAN_CLUSTER e
READ_SPECIFIC_RESULT.
"Incio perodo
"Fim perodo
Pg. 40
IMPORTING
LAST_DAY_OF_MONTH = FEND.
ANEXO I INFOTIPOS PA
PA0001
PA0002
PA0003
PA0004
PA0005
PA0006
PA0007
PA0008
Pg. 41
PA0009
PA0010
PA0011
PA0012
PA0013
PA0014
PA0015
PA0016
PA0017
PA0019
PA0020
PA0021
PA0022
PA0023
PA0024
PA0025
PA0026
PA0027
PA0028
PA0029
PA0030
PA0031
PA0032
PA0033
PA0034
PA0035
PA0036
PA0037
PA0038
PA0039
PA0040
PA0041
PA0042
PA0043
PA0044
PA0045
PA0046
PA0048
PA0049
PA0050
PA0051
PA0052
PA0053
PA0054
PA0055
PA0056
PA0057
PA0058
PA0059
PA0060
PA0061
PA0062
PA0063
PA0064
PA0065
Pg. 42
PA0066
PA0067
PA0068
PA0069
PA0070
PA0071
PA0072
PA0073
PA0074
PA0075
PA0076
PA0077
PA0078
PA0079
PA0080
PA0081
PA0082
PA0083
PA0084
PA0085
PA0086
PA0088
PA0090
PA0092
PA0093
PA0094
PA0095
PA0096
PA0097
PA0098
PA0099
PA0100
PA0101
PA0102
PA0103
PA0104
PA0105
PA0106
PA0107
PA0108
PA0109
PA0110
PA0111
PA0112
PA0113
PA0114
PA0115
PA0116
PA0117
PA0118
PA0119
PA0120
PA0121
PA0122
PA0123
Pg. 43
PA0124
PA0125
PA0126
PA0127
PA0128
PA0129
PA0130
PA0131
PA0132
PA0133
PA0134
PA0135
PA0136
PA0137
PA0138
PA0139
PA0140
PA0141
PA0142
PA0143
PA0144
PA0145
PA0146
PA0147
PA0148
PA0149
PA0150
PA0151
PA0154
PA0155
PA0156
PA0157
PA0158
PA0159
PA0160
PA0161
PA0162
PA0165
PA0167
PA0168
PA0169
PA0170
PA0171
PA0172
PA0173
PA0174
PA0177
PA0179
PA0180
PA0181
PA0182
PA0183
PA0184
PA0185
PA0186
Pg. 44
PA0187
PA0188
PA0189
PA0190
PA0191
PA0192
PA0194
PA0195
PA0196
PA0197
PA0198
PA0199
PA0200
PA0201
PA0202
PA0203
PA0204
PA0207
PA0208
PA0209
PA0210
PA0211
PA0212
PA0213
PA0215
PA0216
PA0217
PA0218
PA0219
PA0220
PA0221
PA0222
PA0224
PA0225
PA0227
PA0230
PA0231
PA0232
PA0233
PA0234
PA0235
PA0236
PA0237
PA0241
PA0242
PA0261
PA0264
PA0265
PA0266
PA0267
PA0268
PA0269
PA0270
PA0271
PA0272
Pg. 45
PA0273
PA0274
PA0275
PA0276
PA0277
PA0278
PA0279
PA0280
PA0281
PA0283
PA0288
PA0302
PA0303
PA0304
PA0305
PA0306
PA0309
PA0310
PA0311
PA0312
PA0313
PA0314
PA0315
PA0317
PA0318
PA0319
PA0320
PA0321
PA0322
PA0323
PA0326
PA0329
PA0330
PA0331
PA0332
PA0333
PA0334
PA0335
PA0336
PA0337
PA0341
PA0342
PA0343
PA0344
PA0345
PA0346
PA0347
PA0348
PA0349
PA0351
PA0352
PA0353
PA0354
PA0355
PA0356
Pg. 46
PA0357
PA0358
PA0359
PA0360
PA0361
PA0362
PA0363
PA0364
PA0365
PA0366
PA0367
PA0368
PA0369
PA0370
PA0371
PA0372
PA0373
PA0374
PA0375
PA0376
PA0377
PA0378
PA0379
PA0380
PA0381
PA0382
PA0383
PA0384
PA0386
PA0387
PA0388
PA0389
PA0390
PA0391
PA0392
PA0393
PA0394
PA0395
PA0396
PA0397
PA0398
PA0399
PA0400
PA0401
PA0402
PA0403
PA0404
PA0405
PA0406
PA0407
PA0408
PA0409
PA0410
PA0411
PA0412
Pg. 47
PA0415
PA0416
PA0421
PA0422
PA0423
PA0426
PA0427
PA0428
PA0433
PA0434
PA0437
PA0438
PA0439
PA0440
PA0442
PA0447
PA0448
PA0449
PA0450
PA0451
PA0452
PA0453
PA0454
PA0455
PA0456
PA0457
PA0458
PA0459
PA0460
PA0467
PA0468
PA0469
PA0470
PA0471
PA0472
PA0473
PA0474
PA0475
PA0476
PA0477
PA0478
PA0480
PA0482
PA0483
PA0491
PA0506
PA0510
PA0525
PA0546
PA0547
PA0561
PA0900
PA0901
PA2001
PA2002
Pg. 48
PA2003
PA2004
PA2005
PA2006
PA2007
PA2010
PA2012
PA2013
PA2500
PA2501
PA2502
PB0001
PB0002
PB0006
PB0009
PB0022
PB0023
PB0024
PB0028
PB0041
PB0077
PB0105
PB0108
PB0185
PB0336
PB0342
PB0343
PB0395
PB0396
PB4000
PB4001
PB4002
PB4003
PB4004
PB4005
DESCRIO
No. Pessoal
Tipo de Medidas
Motivo da Medida
Status especfico do cliente
Status ocupao
Status pagamento especial
Empresa
rea de Recursos Humanos
Grupo de empregados
Subgrupo de empregados
Chave de organizao
Pg. 49
GSBER
BTRTL
JUPER
ABKRS
ANSVH
KOSTL
ORGEH
PLANS
STELL
MSTBR
SACHA
SACHP
SACHZ
SNAME
ENAME
OTYPE
SBMOD
KOKRS
FISTL
GEBER
MASNG
STATU
XBWBK
KOKTL
XPGPK
SASBA
SASBP
SASBZ
DAYPS
Diviso
Subrea de Recursos Humanos
Pessoa Jurdica
rea de processamento de Folha de Pagamento
Vnculo empregatcio
Centro de custo
Unidade Organizacional
Posio
Funo
rea mestre
Encarregado folha de pagamento
Encarregado para dados mestre de pessoal
Encarregado do registro de horas
Nome do empregado
Nome editado do empregado
Categoria do Objeto
Grupo de encarregados
rea de contabilidade de custos
Centro Financeiro
Fundo
Medida, Motivo da medida
Campo concatenado: status 1, 2 e 3
rea RH, Subrea RH, Centro Custo
rea Contabilidade de Custos, Centro Custo
Grupo, Subgrupo empregados
Modif. Encarregado, encarregado folha pag.
Modif. Encarregado, encarregado pessoal
Modif. Encarregado, encarregado tempos
Data de incio de perodo de seleo de pessoas
Estrutura APPLICANT
CAMPO
APLNO
ENAME
SNAME
BUKRS
WERKS
BTRTL
PERSG
PERSK
RESRF
OFFID
SPAPL
APSTA
STREA
MASSN
REFEM
RFPER
DESCRIO
No. Pessoal
Nome editado do empregado
Nome do empregado
Empresa
rea de Recursos Humanos
Subrea de Recursos Humanos
Grupo de candidatos
Segmentao de candidatos
Responsvel de pessoal pela candidatura
Anncio da Vaga
Grupo de candidatos espontneos
Status global do candidato
Motivo do status do candidato
Tipo de ao relativa a candidato
Cdigo de Referncia
Empregado de Referncia
Pg. 50
Pg. 51
tables: APPLICANT.
* Infotypes
infotypes: 0002. "Registro mestre HR infotipo 0002 (Dados pessoais)
* Variveis
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.
Pg. 52
*&---------------------------------------------------------------------*
*& Report ZHR_TREINA_E00
*&
*
*&---------------------------------------------------------------------*
*& Exibir dados do funcionrio sem utilizao de Banco de Dados Lgico
*&--------------------------------------------------------------------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.
* Parmetros de Seleo
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 Funcionrio
sy-vline,
T_DADOS-gbdat. "Data de Nascimento
ENDIF.
Pg. 53
ANOTAES: