Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 139

SAP note number 90320

________________________________________________________________________

Number 90320
Version 19 vom 03.09.2002
Status Released for Customer
Set on ,17.03.2004

Language EN
Mastersprache DE
Short text No bank posting of HR/FI-TV payrolls

Responsible SAP AG
Component PY
Payroll
________________________________________________________________________

Long text

Symptom
When you create payment transfer media for payments to employees from HR
or Travel Management, then the standard system does not automatically
perform the corresponding postings.
Neither the 'DME preliminary program' (programs RPCDTAx0 or RPCDTCx0 or
HxxCDTC0 or RPRDTAx0) nor the program for creating the data medium
(programs RFFO*) perform a posting in FI general ledger.

Other terms
RPCDTAA0, RPCDTAB0, RPCDTAC0, RPCDTAD0, RPCDTAE0, RPCDTAF0, RPCDTAG0,
RPCDTAJ0, RPCDTAM0, RPCDTAN0, RPCDTAQ0, RPCDTAR0, RPCDTAS0, RPCDTAV0,
RPCDTAW0, RPCDTAW9, RPCDTAX0, RPCDTCK0, RPCDTCL0, RPCDTCU0, HIDCDTC0,
RPRDTAA0, RPRDTAB0, RPRDTAC0, RPRDTAD0, RPRDTAE0, RPRDTAF0, RPRDTAG0,
RPRDTAGI, RPRDTAJ0, RPRDTAK0, RPRDTAL0, RPRDTAM0, RPRDTAN0, RPRDTAU0,
RPRDTAW0

Reason and Prerequisites

1. Payroll accounting:
Upon completion of payroll accounting in HR, the 'FI/CO transfer'
creates postings of the type:

'Expenses...' to 'Wages and salaries to be paid',


'Taxes to be paid',
'Garnishment to be paid' and so on

After the transfer from FI to CO, all open payables from payroll
accounting are moved to the corresponding payables accounts.

2. Trip cost accounting:


When the system completes trip costs accounting, FI/CO transfer link
creates a posting of the type:

'Expenses...' to 'Trip costs to be paid'.

After the FI/CO transfer, all open payables from trip cost
accounting are written to the corresponding payables accounts.
However, trips cost accounting can also transfer via customer/vendor
posting and not via the described expense account posting to FI. In this
case the attached solution for trips cost accounting is not required.

3. Manual postings in FI:


When you create payment transfer media for payments to employees in
HR or travel management, at present, you have to perform manual
postings at the same time. These postings are of the type:

'Wages and salaries to be paid'


to 'bank clearing account x',
'Bank clearing account y' and so on

or

'Travel expenses to be paid'


to 'bank clearing account x',
'Bank clearing account y' and so on

This manual posting is generally performed on the basis of the


payment summary. In most cases, the posting only contains a few
posting lines. Namely one posting line for every corresponding bank
clearing account and corresponding company code. Thus, a checking of
a posting automatically carried out by the system would take the
same amount of time and effort as carrying out the posting manually.

4. Exceptions:
However, there are also some exceptional cases in which this posting
is too large to be carried out manually. This is usually the case if
accounting is divided into a very large number of company codes.

Solution
Note:
Note that this is a consulting note. There is no plan at present to
incorporate the function in this form in the standard system.
The report can only be used, if the HR application and financial
accounting (FI/CO) are in the same system and client. A decoupling of HR
and financial accounting to separate systems is not supported by this
consulting solution.

If you require automatic execution of the postings described under point


3, you can use program RFPYHR00 described below to do this.
You can use checkbox 'Summarize checks in one document' (parameter:
PAR_VERD to control whether one summarized accounting document should be
created for all payroll accounting or travel expenses checks in FI
(PAR_VERD is selected) or wheter an accounting document should be
created for each check (PAR_VERD is not selected). This has the
advantage that checks that are returned or become unvalid at different
times can be cleared individually during automatic clearing by the
electronic account statement.
Create program RFPYHR00 with the following attributes:
a) Attributes

Type 1
Logical database PY
Application F
(As of Release 4.0: Logical database PYF)

b) Text elements/Selection text

PAR_BLAR Document type


PAR_KTO1 Payables account
PAR_MODE Display mode
PAR_POST Post
PAR_TEST Test
PAR_VERD Summarize checks in one document
PAR_VALU Assign value date to an account
SEL_KID House bank
SEL_TID Account ID
SEL_ZAW Payment method

c) Texts/Text elements

001 Further accruals


002 Posting parameters
003 Update run
004 Test
005 Error message
006 Errors
007 Specify payroll accounting run only
In addition to creating program RFPYHR00, implement the corrections for
programs RFCHKL00 and RFCHKN00 as described in the attachment.
These changes are included in the standard system as of Release 3.1I or
4.0B. Also feasible is a modification of function module
CHECK_VOID_CHECK so in the event of one of the created documents being
cancelled, the system does not void all corresponding checks in check
management. This modification is not absolutely necessary, especially if
the selection parameter 'Summarize checks in one document' parameter:
PAR_VERD) is set to ensure a posting is performing.

When you post cashed check files of the bank with program RFEBCK00,
checks are not cleare individually as with customer checks and vendor
checks but a collective posting is performed. If you want to clear HR
checks individually like customer checks and vendor checks, apply the
specified modification in program RFEBCK00. HR checks can only be
cleared individually if program RFPYHR00 performs a posting for each
check respectively (selection parameter 'Summarize checks in one
document' (PAR_VERD) is not selected.
Note:
Only apply this modification in program RFEBCK if you actually require
individual posting of HR checks and if you create a posting in FI for
each check.

Information on the program


You can use program RFPYHR00 to automate postings that were previously
carried out manually in your system.
On the selection screen of the program, you must specify a payables
account (for example wages and salaries/trip costs to be paid). It is
not possible to add different payables accounts when program RFPYHR00 is
already running. If necessary, use the program selection options to
select the payables appropriate for each payables account and start the
program separately for each payables account you require.

The program groups the payables to be posted to document if the


following criteria agree:

Sending company code

Paying company code


Bank clearing account
Posting date
House bank
Account ID
Payment method
Document currency.

The bank clearing account is determined according to the settings in


Customizing (Transaction FBZP -> Bank selection -> Accounts).

If you start the program in the test mode, the system can display the
totals accumulated by the program and the bank clearing accounts
determined. One line of the list created in the test mode corresponds to
a posting in the update run. For this, you can choose from three
different processing modes. Mode 'A' allows online processing of the
posting transaction fields filled by the program, Mode 'E' online
response in the event of errors, while in Mode N, the system does not
allow any user intervention. In the event of an error, the posting is
not carried out and the system outputs the reason for the error in the
form of an error list. By referring to the error list, you can eliminate
the problems that caused the errors and start program RFPYHR00 again.
The program is able to recognize which payables have already been posted
by the program. Program RFPYHR00 does not duplicate the posting of the
same payables as the corresponding payment orders (in table REGUH) are
not assigned a completed indicator.

On the selection screen you can also specify whether the value date
should be assigned to an account. If this is required, it is determined
from the payment date (REGUH-ZALDT) plus the days up to the value date
based on the cumulative amount (Transaction FBZP -> Bank selection ->
Value date).

You are advised to start program RFPYHR00 after you have executed the
payment medium programs, in particular if the check register is updated
(RFFOUS_C).

When the system oerforms the posting, program RFPYHR00 fills the
'Allocation number' field in the line item with the values of the run
date and run ID fields of the payment run. If you implement this program
with the latest version of the cashed checks program (program RFEBCK00,
see Note 88684), the system is able to carry out the required allocation
during automatic clearing.

Repairs in the Code


________________________________________________________________________

Valid releases
Software component Release
from to

SAP_APPL SAP Application


470 - 470
46C - 46C X
46A - 46B X
45A - 45B X
40A - 40B X
300 - 31I X

Other components

PY-XX
Payroll: General Parts
PY-AR
Argentina
PY-AT
Austria
PY-AU
Australia
PY-BE
Belgium
PY-BR
Brazil
PY-CA
Canada
PY-CH
Switzerland
PY-DE
Germany
PY-DK
Denmark
PY-ES
Spain
PY-FR
France
PY-GB
United Kingdom
PY-HK
Hong Kong
PY-ID
Indonesia
PY-IE
Ireland
PY-IT
Italy
PY-JP
Japan
PY-MX
Mexico
PY-MY
Malaysia
PY-NL
Netherlands
PY-NO
Norway
PY-NZ
New Zealand
PY-PH
Philippines
PY-PT
Portugal
PY-SE
Sweden
PY-SG
Singapore
PY-TH
Thailand

PY-TW
Taiwan
PY-US
USA
PY-VE
Venezuela
PY-ZA
South Africa
FI-TV
Business Trip Management
PY-XX-DT
Posting
PY-XX-DME
Preliminary DME
________________________________________________________________________

Note attributes

Transaction codes CLEAR


COLOR
Transaction codes FB01
FBZP
Transaction codes FCHK
SYST
Transaction codes T001
________________________________________________________________________

References to related notes

Number Short text


____________________________________________________________
410933RFPYHR00 - Error message 078(F5) for zero net checks
350150RFPYHR00 - error message 00349

________________________________________________________________________

Assigned correction instructions


________________________________________________________________________

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120024545 0000081577 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_APPL SAP Application $*
*$ Release 30A w/o Support Packages $*
*$ Release 30B w/o Support Packages $*
*$ Release 30C To SAPKH30C14 $*
*$ Release 30D All Support Package Levels $*
*$ Release 30E To SAPKH30E02 $*
*$ Release 30F All Support Package Levels $*
*$ Release 31G To SAPKH31G13 $*
*$ Release 31H All Support Package Levels $*
*$ Release 300 w/o Support Packages $*
*$ Release 310 w/o Support Packages $*
*$------------------------------------------------------------------$*
*$ Changes/Objects Not Contained in Standard SAP System $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RFCHKL00
*& Object Header PROG RFCHKL00
*&-------------------------------------------------------------------*
*& This object has been generated from an advance correction *
*& attached to a R/3 note. *
*&-------------------------------------------------------------------*
...

ELSE.
SEL_LAUI-SIGN = 'I'.
REFRESH SEL_VBLN. "<<< delete
CLEAR SEL_VBLN. "<<< delete
SEL_VBLN-OPTION = 'EQ'. "<<< delete
SEL_VBLN-SIGN = 'I'. "<<< delete
APPEND SEL_VBLN. "<<< delete
ENDIF.
APPEND SEL_LAUI.

...
...
*&-------------------------------------------------------------------*
*&-------------------------------------------------------------------*
*& Object REPS RFCHKN00
*& Object Header PROG RFCHKN00
*&-------------------------------------------------------------------*
*& This object has been generated from an advance correction *
*& attached to a R/3 note. *
*&-------------------------------------------------------------------*
...

ELSE.
SEL_LAUI-SIGN = 'I'.
* REFRESH SEL_VBLN. "<<< delete
* CLEAR SEL_VBLN. "<<< delete
* SEL_VBLN-OPTION = 'EQ'. "<<< delete

* SEL_VBLN-SIGN = 'I'. "<<< delete


* APPEND SEL_VBLN. "<<< delete
CLEAR PAR_EPOS.
ENDIF.

...
...
*&-------------------------------------------------------------------*

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120024545 0000081578 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_APPL SAP Application $*
*$ Release 30A w/o Support Packages $*
*$ Release 30B w/o Support Packages $*
*$ Release 30C To SAPKH30C14 $*
*$ Release 30D All Support Package Levels $*
*$ Release 30E To SAPKH30E02 $*
*$ Release 30F All Support Package Levels $*
*$ Release 31G To SAPKH31G13 $*
*$ Release 31H All Support Package Levels $*
*$ Release 31I Fm SAPKH31I01 $*
*$ Release 40A To SAPKH40A25 $*
*$ Release 40B All Support Package Levels $*
*$ Release 45A All Support Package Levels $*
*$ Release 45B All Support Package Levels $*
*$ Release 300 w/o Support Packages $*
*$ Release 310 w/o Support Packages $*
*$------------------------------------------------------------------$*
*$ Changes/Objects Not Contained in Standard SAP System $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS LFCHKU12
*& Object Header FUGR FCHK
*&-------------------------------------------------------------------*
*& This object has been generated from an advance correction *
*& attached to a R/3 note. *
*&-------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Title: Modification for security *
*&---------------------------------------------------------------------*
...

SELECT * FROM PAYR


WHERE ZBUKR EQ I_BUKRS
AND VBLNR EQ I_BELNR
AND GJAHR EQ I_GJAHR.
IF PAYR-VOIDR EQ 0.
SUBRC = 0.
IF PAYR-LAUFI+5(1) EQ 'P'. "<<< insert
MESSAGE E999(FR) WITH "<<< insert
'This document cannot be reversed as it was posted' "<<< insert
'by RFPYHR00 and a lot of checks would be voided.' "<<< insert
'Please refer to note 90320 in OSS for more info'. "<<< insert
ENDIF. "<<< insert
EXIT. "<<< insert
ENDIF.
ENDSELECT.

...
...
*&-------------------------------------------------------------------*
*&-------------------------------------------------------------------*
*& Object REPS RFPYHR00
*& Object Header PROG RFPYHR00
*&-------------------------------------------------------------------*

...
*&---------------------------------------------------------------------*
*& Title: Program to post bank documents of payroll result *
*&---------------------------------------------------------------------*
*---------------------------------------------------------------------*
* Report RFPYHR00 *
*---------------------------------------------------------------------*

REPORT RFPYHR00 LINE-SIZE 132.

TABLES: BKPF,
BKPF_KEY,
DD03P,
PAYR,
REGUH,
T001,
T030B,
T042I,
T042V.

DATA: BEGIN OF GT_SUM_DATA OCCURS 0,


ZBUKR LIKE REGUH-ZBUKR,
ABSBU LIKE REGUH-ABSBU,
SRTGB LIKE REGUH-SRTGB,
ZALDT LIKE REGUH-ZALDT,
HBKID LIKE REGUH-HBKID,
HKTID LIKE REGUH-HKTID,
RZAWE LIKE REGUH-RZAWE,
VBLNR LIKE REGUH-VBLNR,
PERNR LIKE REGUH-PERNR,
WAERS LIKE REGUH-WAERS,
RWBTR LIKE REGUH-RWBTR,
RBETR LIKE REGUH-RBETR,
MSGNOID(18) TYPE C,
MSGTX(300) TYPE C,
XERR(1) TYPE C,
BELNR LIKE BKPF-BELNR,
UKONT LIKE T042I-UKONT,
END OF GT_SUM_DATA.

DATA: BEGIN OF GT_REGUH OCCURS 0.


INCLUDE STRUCTURE REGUH.
DATA: END OF GT_REGUH.

*-------------- selection-screen -------------------------------------*

SELECTION-SCREEN: BEGIN OF BLOCK 1 WITH FRAME TITLE TEXT-001.


SELECT-OPTIONS: SEL_KID FOR REGUH-HBKID,
SEL_TID FOR REGUH-HKTID,
SEL_ZAW FOR REGUH-RZAWE.
SELECTION-SCREEN END OF BLOCK 1.

SELECTION-SCREEN: BEGIN OF BLOCK 2 WITH FRAME TITLE TEXT-002.


SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS PAR_POST RADIOBUTTON GROUP 1.
SELECTION-SCREEN COMMENT 03(29) TEXT-003 FOR FIELD PAR_POST.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS PAR_TEST RADIOBUTTON GROUP 1 DEFAULT 'X'.


SELECTION-SCREEN COMMENT 03(29) TEXT-004 FOR FIELD PAR_TEST.
SELECTION-SCREEN END OF LINE.
PARAMETERS: PAR_VERD AS CHECKBOX DEFAULT 'X',
PAR_VALU LIKE RFPDO2-FEBVALUT,
PAR_MODE LIKE RFPDO-ALLGAZMD DEFAULT 'N',
PAR_BLAR LIKE RFPDO-ALLGBLAR OBLIGATORY,
PAR_KTO1 LIKE BSEG-HKONT OBLIGATORY.
SELECTION-SCREEN END OF BLOCK 2.

AT SELECTION-SCREEN.
IF ZW_LAUFI+5(1) NE 'P'.
MESSAGE E999(FR) WITH TEXT-007.
ENDIF.

START-OF-SELECTION.

GET REGUH.

CHECK SELECT-OPTIONS.

* Document already posted and reversed? ------------------------------*


IF NOT REGUH-NAME4 IS INITIAL.
BKPF_KEY = REGUH-NAME4.
SELECT SINGLE * FROM BKPF
WHERE BUKRS = BKPF_KEY-BUKRS
AND BELNR = BKPF_KEY-BELNR
AND GJAHR = BKPF_KEY-GJAHR.

CHECK ( SY-SUBRC EQ 0
AND NOT BKPF-STBLG IS INITIAL )
OR SY-SUBRC NE 0.
CLEAR REGUH-NAME4.
ENDIF.

* Fill GT_REGUH ------------------------------------------------------*


APPEND REGUH TO GT_REGUH.

END-OF-SELECTION.

DESCRIBE TABLE GT_REGUH LINES SY-TFILL.


IF SY-TFILL EQ 0.
MESSAGE S073(F0) WITH SYST-REPID.
STOP.
ENDIF.

* Post ---------------------------------------------------------------*
PERFORM POST_DOCUMENTS TABLES GT_REGUH
GT_SUM_DATA.

* list output --------------------------------------------------------*


PERFORM OUTPUT TABLES GT_SUM_DATA.

*---------------------------------------------------------------------*
* FORM POST_DOCUMENTS *
*---------------------------------------------------------------------*

FORM POST_DOCUMENTS TABLES PT_REGUH STRUCTURE GT_REGUH


PT_SUM_DATA STRUCTURE GT_SUM_DATA.

DATA: LC_FVAL1 LIKE FTPOST-FVAL,


LC_FVAL2 LIKE FTPOST-FVAL,
LC_FVAL3 LIKE FTPOST-FVAL,
LC_FVAL4 LIKE FTPOST-FVAL,
LD_VDATE TYPE D.

DATA: BEGIN OF LT_FTPOST OCCURS 0.


INCLUDE STRUCTURE FTPOST.
DATA: END OF LT_FTPOST.

DATA: BEGIN OF LT_FTTAX OCCURS 0.


INCLUDE STRUCTURE FTTAX.
DATA: END OF LT_FTTAX.

DATA: BEGIN OF LT_BLNTAB OCCURS 0.


INCLUDE STRUCTURE BLNTAB.
DATA: END OF LT_BLNTAB.
DATA: L_SUBRC LIKE SY-SUBRC,
L_MSGID LIKE SY-MSGID,
L_MSGNO LIKE SY-MSGNO,
L_MSGTY LIKE SY-MSGTY,
L_MSGV1 LIKE SY-MSGV1,
L_MSGV2 LIKE SY-MSGV2,
L_MSGV3 LIKE SY-MSGV3,
L_MSGV4 LIKE SY-MSGV4,
L_NAME LIKE APQI-USERID.

* Summarize data -----------------------------------------------------*


REFRESH PT_SUM_DATA.
CLEAR PT_SUM_DATA.
LOOP AT PT_REGUH.
MOVE-CORRESPONDING PT_REGUH TO PT_SUM_DATA.
IF NOT PAR_VERD IS INITIAL.
CLEAR: PT_SUM_DATA-VBLNR,
PT_SUM_DATA-PERNR.
ENDIF.
COLLECT PT_SUM_DATA.
ENDLOOP.

SORT PT_SUM_DATA BY ZBUKR


ABSBU
SRTGB
ZALDT
HBKID
HKTID
RZAWE
WAERS.

*---------------------------------------------------------------------*

* Initialize internal posting interface ------------------------------*

IF PAR_TEST IS INITIAL.
IF PAR_MODE NE 'A' AND PAR_MODE NE 'E'.

PAR_MODE = 'N'.
ENDIF.
L_NAME = SY-UNAME.
CALL FUNCTION 'POSTING_INTERFACE_START'
EXPORTING
I_CLIENT = SY-MANDT
I_FUNCTION = 'C'
I_MODE = PAR_MODE
I_UPDATE = 'S'
I_USER = L_NAME.

SELECT SINGLE * FROM T030B WHERE KTOSL EQ 'ZBA'.


IF SY-SUBRC NE 0.
MESSAGE E204(FR) WITH 'T030B' 'ZBA'.
ENDIF.
ENDIF.

LOOP AT PT_SUM_DATA.

IF pt_sum_data-rwbtr EQ 0.
l_msgid = 'F5'.
l_msgty = 'S'.
l_msgno = '097'.
l_msgv1 = space.
l_msgv2 = space.
l_msgv3 = space.
l_msgv4 = space.

PERFORM store_errmsg USING l_msgid


l_msgno
l_msgty
l_msgv1
l_msgv2
l_msgv3
l_msgv4
CHANGING pt_sum_data.
MODIFY pt_sum_data.
CONTINUE.
ENDIF.

* Find account -------------------------------------------------------*


CLEAR T042I.
SELECT * FROM T042I
WHERE ZBUKR = PT_SUM_DATA-ZBUKR
AND HBKID = PT_SUM_DATA-HBKID
AND ZLSCH = PT_SUM_DATA-RZAWE
AND ( WAERS = PT_SUM_DATA-WAERS
OR WAERS = SPACE ).
IF T042I-WAERS NE SPACE. "Prefer dataset with
EXIT. " T042I-WAERS NE SPACE
ENDIF.
ENDSELECT.

PT_SUM_DATA-UKONT = T042I-UKONT.

IF SY-SUBRC NE 0.
L_MSGID = 'FZ'.

L_MSGTY = 'S'.
L_MSGNO = '661'.
L_MSGV1 = PT_SUM_DATA-RZAWE.
L_MSGV2 = PT_SUM_DATA-WAERS.
L_MSGV3 = SPACE.
L_MSGV4 = SPACE.

PERFORM STORE_ERRMSG USING L_MSGID


L_MSGNO
L_MSGTY
L_MSGV1
L_MSGV2
L_MSGV3
L_MSGV4
CHANGING PT_SUM_DATA.
MODIFY PT_SUM_DATA.
CONTINUE.
ENDIF.
IF PAR_POST IS INITIAL.
MODIFY PT_SUM_DATA.
CONTINUE.
ENDIF.

*---------------------------------------------------------------------*
REFRESH: LT_BLNTAB,
LT_FTPOST,
LT_FTTAX .
CLEAR: LT_BLNTAB,
LT_FTPOST,
LT_FTTAX .

* Fill ftpost --------------------------------------------------------*

WRITE: PT_SUM_DATA-ZALDT TO LC_FVAL1 DD/MM/YYYY.

*------------------------ Header data --------------------------------*


PERFORM APPEND_FTPOST TABLES LT_FTPOST
USING 'K' 1: 'BKPF-BLDAT' LC_FVAL1,
'BKPF-BUDAT' LC_FVAL1,
'BKPF-BLART' PAR_BLAR,
'BKPF-BUKRS' PT_SUM_DATA-ZBUKR,
'BKPF-WAERS' PT_SUM_DATA-WAERS.

*------------------------ Position 1 ---------------------------------*


CONCATENATE ZW_LAUFD ZW_LAUFI INTO LC_FVAL1.

WRITE PT_SUM_DATA-RWBTR TO LC_FVAL2


CURRENCY PT_SUM_DATA-WAERS NO-SIGN.
CONDENSE LC_FVAL2 NO-GAPS.

IF T001-BUKRS NE PT_SUM_DATA-ZBUKR.
SELECT SINGLE * FROM T001
WHERE BUKRS EQ PT_SUM_DATA-ZBUKR.
ENDIF.
IF T001-WAERS NE PT_SUM_DATA-WAERS.
WRITE PT_SUM_DATA-RBETR TO LC_FVAL3
CURRENCY T001-WAERS NO-SIGN.
CONDENSE LC_FVAL3 NO-GAPS.

ELSE.
CLEAR LC_FVAL3.
ENDIF.

PERFORM APPEND_FTPOST TABLES LT_FTPOST


USING 'P' 1: 'RF05A-NEWBS' T030B-BSCHH,
'RF05A-NEWKO' T042I-UKONT,
'BSEG-WRBTR' LC_FVAL2,
'BSEG-DMBTR' LC_FVAL3,
'BSEG-ZUONR' LC_FVAL1,
'COBL-GSBER' PT_SUM_DATA-SRTGB,
'BSEG-SGTXT' PT_SUM_DATA-PERNR.
IF NOT PAR_VALU IS INITIAL.
SELECT * FROM T042V
WHERE BUKRS EQ PT_SUM_DATA-ZBUKR
AND ZLSCH EQ PT_SUM_DATA-RZAWE
AND HBKID EQ T042I-HBKID
AND HKTID EQ T042I-HKTID
AND BETRG GE PT_SUM_DATA-RBETR.
EXIT.
ENDSELECT.
IF SY-SUBRC NE 0.
LD_VDATE = PT_SUM_DATA-ZALDT + T042V-ANZTG.
ELSE.
LD_VDATE = PT_SUM_DATA-ZALDT.
ENDIF.
WRITE LD_VDATE TO LC_FVAL4 DD/MM/YYYY.
PERFORM APPEND_FTPOST TABLES LT_FTPOST
USING 'P' 1 'BSEG-VALUT' LC_FVAL4.
ENDIF.

*------------------------ position 2 ---------------------------------*


IF T001-BUKRS NE PT_SUM_DATA-ABSBU.
SELECT SINGLE * FROM T001
WHERE BUKRS EQ PT_SUM_DATA-ABSBU.
ENDIF.
IF T001-WAERS NE PT_SUM_DATA-WAERS.
WRITE PT_SUM_DATA-RBETR TO LC_FVAL3
CURRENCY T001-WAERS NO-SIGN.
CONDENSE LC_FVAL3 NO-GAPS.
ELSE.
CLEAR LC_FVAL3.
ENDIF.

PERFORM APPEND_FTPOST TABLES LT_FTPOST


USING 'P' 2: 'RF05A-NEWBS' T030B-BSCHS,
'RF05A-NEWKO' PAR_KTO1,
'BSEG-WRBTR' LC_FVAL2,
'BSEG-DMBTR' LC_FVAL3,
'COBL-GSBER' PT_SUM_DATA-SRTGB.

IF PT_SUM_DATA-ABSBU NE PT_SUM_DATA-ZBUKR.
PERFORM APPEND_FTPOST
TABLES LT_FTPOST
USING 'P' 2: 'RF05A-NEWBK' PT_SUM_DATA-ABSBU.
ENDIF.

*---------------------------------------------------------------------*

* post ---------------------------------------------------------------*
CLEAR SY-SUBRC.
CALL FUNCTION 'POSTING_INTERFACE_DOCUMENT'
EXPORTING
I_TCODE = 'FB01'
IMPORTING
E_MSGID = L_MSGID
E_MSGNO = L_MSGNO
E_MSGTY = L_MSGTY
E_MSGV1 = L_MSGV1
E_MSGV2 = L_MSGV2
E_MSGV3 = L_MSGV3
E_MSGV4 = L_MSGV4
E_SUBRC = L_SUBRC
TABLES
T_BLNTAB = LT_BLNTAB
T_FTPOST = LT_FTPOST
T_FTTAX = LT_FTTAX
EXCEPTIONS
ACCOUNT_MISSING = 1
COMPANY_CODE_MISSING = 2
POSTING_KEY_INVALID = 3
POSTING_KEY_MISSING = 4
RECORD_TYPE_INVALID = 5
TRANSACTION_CODE_INVALID = 6
AMOUNT_FORMAT_ERROR = 7
TOO_MANY_LINE_ITEMS = 8
OTHERS = 9.
*---------------------------------------------------------------------*
ADD SY-SUBRC TO L_SUBRC.
READ TABLE LT_BLNTAB WITH KEY BUKRS = PT_SUM_DATA-ZBUKR.

IF L_SUBRC NE 0 OR SY-SUBRC NE 0.
*--------------------- error occurs ----------------------------------*
PERFORM STORE_ERRMSG USING L_MSGID
L_MSGNO
L_MSGTY
L_MSGV1
L_MSGV2
L_MSGV3
L_MSGV4
CHANGING PT_SUM_DATA.
ELSE.
*--------------------- successfully posting --------------------------*
MOVE-CORRESPONDING LT_BLNTAB TO BKPF_KEY.
PT_SUM_DATA-BELNR = BKPF_KEY-BELNR.
LOOP AT PT_REGUH WHERE ZBUKR = PT_SUM_DATA-ZBUKR
AND ABSBU = PT_SUM_DATA-ABSBU
AND SRTGB = PT_SUM_DATA-SRTGB
AND ZALDT = PT_SUM_DATA-ZALDT
AND HBKID = PT_SUM_DATA-HBKID
AND HKTID = PT_SUM_DATA-HKTID
AND RZAWE = PT_SUM_DATA-RZAWE
AND WAERS = PT_SUM_DATA-WAERS.

IF PAR_VERD IS INITIAL.
CHECK PT_REGUH-VBLNR EQ PT_SUM_DATA-VBLNR.
ENDIF.
PT_REGUH-NAME4 = BKPF_KEY.
PERFORM UPDATE_DB USING PT_REGUH.
MODIFY PT_REGUH.

ENDLOOP.
COMMIT WORK.
ENDIF.
MODIFY PT_SUM_DATA.
ENDLOOP.
*---------------------------------------------------------------------*
ENDFORM.

*---------------------------------------------------------------------*
* FORM APPEND_FTPOST *
*---------------------------------------------------------------------*
FORM APPEND_FTPOST TABLES PT_FTPOST STRUCTURE FTPOST
USING P_STYPE LIKE FTPOST-STYPE
P_COUNT LIKE FTPOST-COUNT
P_FNAM LIKE FTPOST-FNAM
P_FVAL.

CHECK NOT P_FVAL IS INITIAL.


PT_FTPOST-STYPE = P_STYPE.
PT_FTPOST-COUNT = P_COUNT.
PT_FTPOST-FNAM = P_FNAM.
PT_FTPOST-FVAL = P_FVAL.

APPEND PT_FTPOST.
ENDFORM.

*---------------------------------------------------------------------*
* Form OUTPUT *
*---------------------------------------------------------------------*
FORM OUTPUT TABLES PT_SUM_DATA STRUCTURE GT_SUM_DATA.

DATA: LI_LIN TYPE I,


LC_H1(10) TYPE C,
LC_H2(10) TYPE C,
LC_H3(10) TYPE C,
LC_H4(10) TYPE C,
LC_H5(10) TYPE C,
LC_H6(10) TYPE C,
LC_H7(10) TYPE C,
LC_H8(10) TYPE C,
LC_H9(10) TYPE C,
LC_H10(10) TYPE C,
LC_H11(10) TYPE C,
LC_BELNR LIKE GT_SUM_DATA-MSGNOID,
LC_RWBTR(17) TYPE C.

DATA: BEGIN OF LT_ERRTAB OCCURS 0,


MSGNOID LIKE GT_SUM_DATA-MSGNOID,
MSGTX LIKE GT_SUM_DATA-MSGTX,
END OF LT_ERRTAB.

DESCRIBE TABLE PT_SUM_DATA LINES LI_LIN.


IF LI_LIN GT 0.

SORT PT_SUM_DATA BY XERR


ZBUKR
ABSBU
SRTGB
ZALDT
HBKID
HKTID
RZAWE
WAERS.

WRITE: / SY-ULINE(132).
FORMAT COLOR COL_HEADING.

PERFORM GET_LABEL USING 'REGUH': 'ZBUKR' LC_H1,


'ABSBU' LC_H3,
'SRTGB' LC_H4,
'HBKID' LC_H6,
'HKTID' LC_H7,
'RZAWE' LC_H8,
'WAERS' LC_H9,
'RWBTR' LC_H10.
PERFORM GET_LABEL USING 'BKPF': 'BELNR' LC_H11,
'BUDAT' LC_H5.
PERFORM GET_LABEL USING 'T042I' 'UKONT' LC_H2.

PERFORM WRITE_COLUMNS USING LC_H1 LC_H2 LC_H3 LC_H4 LC_H5


LC_H6 LC_H7 LC_H8 LC_H9 LC_H10 LC_H11.
WRITE: / SY-ULINE(132).

LOOP AT PT_SUM_DATA.
IF PT_SUM_DATA-XERR IS INITIAL.
FORMAT COLOR COL_NORMAL.
IF PAR_POST IS INITIAL.
*-------------- testing was successfull ------------------------------*
LC_BELNR = TEXT-004.
ELSE.
*-------------- posting was successfull ------------------------------*
LC_BELNR = PT_SUM_DATA-BELNR.
ENDIF.
ELSE.
*-------------- error occurs -----------------------------------------*
FORMAT COLOR COL_NEGATIVE.
LC_BELNR = PT_SUM_DATA-MSGNOID.
IF NOT PT_SUM_DATA-MSGTX IS INITIAL.
READ TABLE LT_ERRTAB WITH KEY MSGNOID = PT_SUM_DATA-MSGNOID.
IF SY-SUBRC NE 0.
LT_ERRTAB-MSGNOID = PT_SUM_DATA-MSGNOID.
LT_ERRTAB-MSGTX = PT_SUM_DATA-MSGTX.
APPEND LT_ERRTAB.
ENDIF.
ENDIF.
ENDIF.
*---------------------------------------------------------------------*
WRITE PT_SUM_DATA-RWBTR TO LC_RWBTR CURRENCY PT_SUM_DATA-WAERS
NO-SIGN.

PERFORM WRITE_COLUMNS USING PT_SUM_DATA-ZBUKR


PT_SUM_DATA-UKONT
PT_SUM_DATA-ABSBU
PT_SUM_DATA-SRTGB
PT_SUM_DATA-ZALDT
PT_SUM_DATA-HBKID
PT_SUM_DATA-HKTID
PT_SUM_DATA-RZAWE
PT_SUM_DATA-WAERS
LC_RWBTR
LC_BELNR.
ENDLOOP.

WRITE: / SY-ULINE(132).

DESCRIBE TABLE LT_ERRTAB LINES LI_LIN.


IF LI_LIN GT 0.
SKIP 2.
SORT LT_ERRTAB BY MSGNOID.
PERFORM GET_LABEL USING 'SYST': 'MSGID' LC_H1.
WRITE: / SY-ULINE(132).
PERFORM WRITE_COLUMNS2 USING LC_H1 TEXT-005 SPACE.
WRITE: / SY-ULINE(132).
LOOP AT LT_ERRTAB.
PERFORM WRITE_COLUMNS2 USING LT_ERRTAB-MSGNOID
LT_ERRTAB-MSGTX
'X'.
ENDLOOP.
WRITE: / SY-ULINE(132).
ENDIF.
ENDIF.

ENDFORM. " OUTPUT

*---------------------------------------------------------------------*
* Form UPDATE_DB *
*---------------------------------------------------------------------*
FORM UPDATE_DB USING PT_REGUH STRUCTURE REGUH.

UPDATE REGUH SET NAME4 = PT_REGUH-NAME4


WHERE LAUFD EQ PT_REGUH-LAUFD
AND LAUFI EQ PT_REGUH-LAUFI
AND XVORL EQ PT_REGUH-XVORL
AND ZBUKR EQ PT_REGUH-ZBUKR
AND LIFNR EQ PT_REGUH-LIFNR
AND KUNNR EQ PT_REGUH-KUNNR
AND EMPFG EQ PT_REGUH-EMPFG
AND VBLNR EQ PT_REGUH-VBLNR .

BKPF_KEY = PT_REGUH-NAME4.
UPDATE PAYR SET GJAHR = BKPF_KEY-GJAHR
VBLNR = BKPF_KEY-BELNR
WHERE PERNR EQ PT_REGUH-PERNR
AND SEQNR EQ PT_REGUH-SEQNR
AND BTZNR EQ PT_REGUH-BTZNR
AND VOIDR EQ 0.

ENDFORM. " UPDATE_DB

*---------------------------------------------------------------------*
* Form WRITE_COLUMNS *
*---------------------------------------------------------------------*
FORM WRITE_COLUMNS USING P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11.
NEW-LINE.
WRITE AT: 1 '|', 2(10) P1,
12 '|', 13(10) P2,
23 '|', 24(10) P3,
33 '|', 34(10) P4,
44 '|', 45(10) P5,
55 '|', 56(10) P6,
66 '|', 67(10) P7,
77 '|', 78(10) P8,
88 '|', 89(10) P9,
99 '|', 100(17) P10,
117 '|', 118(16) P11,
132 '|'.

ENDFORM. " WRITE_COLUMNS

*---------------------------------------------------------------------*
* FORM WRITE_COLUMNS2 *
*---------------------------------------------------------------------*
FORM WRITE_COLUMNS2 USING P1 P2 PF.
NEW-LINE.
WRITE AT: 1 '|'.
IF PF EQ 'X'.
FORMAT COLOR COL_NEGATIVE.
ELSE.
FORMAT COLOR COL_HEADING.
ENDIF.
WRITE AT 2(18) P1.
IF PF EQ 'X'.
FORMAT COLOR COL_NORMAL.
ENDIF.
WRITE AT: 20 '|', 21(99) P2,
132 '|'.
ENDFORM.

*---------------------------------------------------------------------*
* FORM get_label *
*---------------------------------------------------------------------*
FORM GET_LABEL USING PC_TABNAME
PC_FIELDNAME
PC_TARGET.

SELECT * FROM DD03P


WHERE TABNAME EQ PC_TABNAME
AND FIELDNAME EQ PC_FIELDNAME
AND DDLANGUAGE EQ SY-LANGU.
PC_TARGET = DD03P-SCRTEXT_S.
EXIT.
ENDSELECT.
IF PC_TARGET IS INITIAL.
SELECT * FROM DD03P
WHERE TABNAME EQ PC_TABNAME

AND FIELDNAME EQ PC_FIELDNAME


AND DDLANGUAGE EQ SY-LANGU.
PC_TARGET = DD03P-REPTEXT.
EXIT.
ENDSELECT.
ENDIF.
IF PC_TARGET IS INITIAL.
SELECT * FROM DD03P
WHERE TABNAME EQ PC_TABNAME
AND FIELDNAME EQ PC_FIELDNAME
AND DDLANGUAGE EQ SY-LANGU.
PC_TARGET = DD03P-SCRTEXT_M.
EXIT.
ENDSELECT.
ENDIF.
IF PC_TARGET IS INITIAL.
SELECT * FROM DD03P
WHERE TABNAME EQ PC_TABNAME
AND FIELDNAME EQ PC_FIELDNAME
AND DDLANGUAGE EQ SY-LANGU.
PC_TARGET = DD03P-SCRTEXT_L.
EXIT.
ENDSELECT.
ENDIF.

ENDFORM.

*---------------------------------------------------------------------*
* FORM STORE_ERRMSG *
*---------------------------------------------------------------------*
FORM STORE_ERRMSG USING PL_MSGID LIKE SY-MSGID
PL_MSGNO LIKE SY-MSGNO
PL_MSGTY LIKE SY-MSGTY
PL_MSGV1 LIKE SY-MSGV1
PL_MSGV2 LIKE SY-MSGV2
PL_MSGV3 LIKE SY-MSGV3
PL_MSGV4 LIKE SY-MSGV4
CHANGING PS_SUM_DATA STRUCTURE GT_SUM_DATA.

PS_SUM_DATA-XERR = 'X'.

CALL FUNCTION 'K_MESSAGE_TRANSFORM'


EXPORTING
PAR_LANGU = SY-LANGU
PAR_MSGID = PL_MSGID
PAR_MSGNO = PL_MSGNO
PAR_MSGTY = PL_MSGTY
PAR_MSGV1 = PL_MSGV1
PAR_MSGV2 = PL_MSGV2
PAR_MSGV3 = PL_MSGV3
PAR_MSGV4 = PL_MSGV4
PAR_TOTAL = SPACE
IMPORTING
PAR_MSGTX = PS_SUM_DATA-MSGTX
EXCEPTIONS
NO_MESSAGE_FOUND = 1
PAR_MSGID_MISSING = 2
PAR_MSGNO_MISSING = 3

PAR_MSGTY_MISSING = 4
OTHERS = 5.
IF SY-SUBRC EQ 0.
CONCATENATE PL_MSGNO '(' PL_MSGID ')'
INTO PS_SUM_DATA-MSGNOID.
CONDENSE PS_SUM_DATA-MSGNOID NO-GAPS.
CONCATENATE TEXT-006 PS_SUM_DATA-MSGNOID
INTO PS_SUM_DATA-MSGNOID SEPARATED BY ' '.
ELSE.
PS_SUM_DATA-MSGNOID = TEXT-006.
ENDIF.

ENDFORM.
...
*&-------------------------------------------------------------------*

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120024545 0000093504 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_APPL SAP Application $*
*$ Release 30C To SAPKH30C14 $*
*$ Release 30D All Support Package Levels $*
*$ Release 30E To SAPKH30E27 $*
*$ Release 30F All Support Package Levels $*
*$ Release 31G To SAPKH31G13 $*
*$ Release 31H All Support Package Levels $*
*$ Release 310 w/o Support Packages $*
*$------------------------------------------------------------------$*
*$ Changes/Objects Not Contained in Standard SAP System $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RFEBCK00
*& Object Header PROG RFEBCK00
*&-------------------------------------------------------------------*
*& REPORT RFEBCK00
*&-------------------------------------------------------------------*
...
ELSEIF PAYR-XBANC IS INITIAL.
* IF PAYR-XBANC IS INITIAL.
*-------- check not paid yet --------------
* IF PAYR-LAUFI+5(1) = 'P'. "<<< delete
IF PAYR-VBLNR IS INITIAL. "<<< insert
*-------- check comes from Houman Ressouces
VALUT = CKREC-VALUT.
PDATE = CKREC-PDATE.
...
*&-------------------------------------------------------------------*
*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120024545 0000093505 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_APPL SAP Application $*
*$ Release 31I All Support Package Levels $*
*$ Release 40A To SAPKH40A25 $*
*$ Release 40B All Support Package Levels $*
*$ Release 45A All Support Package Levels $*
*$ Release 45B All Support Package Levels $*
*$ Release 46A To SAPKH46A34 $*
*$ Release 46B All Support Package Levels $*
*$ Release 46C All Support Package Levels $*
*$ Release 470 w/o Support Packages $*
*$------------------------------------------------------------------$*
*$ Changes/Objects Not Contained in Standard SAP System $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RFEBCK00
*& Object Header PROG RFEBCK00
*&-------------------------------------------------------------------*
*& REPORT RFEBCK00
*&-------------------------------------------------------------------*
...
ELSEIF PAYR-XBANC IS INITIAL.
*-------- check neither already paid nor voided

PERFORM COUNTER_VALID_PRENUMBERED.
* IF PAYR-LAUFI+5(1) = 'P'. "<<< delete
IF PAYR-VBLNR IS INITIAL. "<<< insert
*-------- check comes from Houman Ressouces
HR_TOTAL = HR_TOTAL + 1.
...
*&-------------------------------------------------------------------*

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120061532 0000172139 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_APPL SAP Application $*
*$ Release 46A To SAPKH46A34 $*
*$ Release 46B All Support Package Levels $*
*$ Release 46C All Support Package Levels $*
*$ Release 470 w/o Support Packages $*
*$------------------------------------------------------------------$*
*$ Changes/Objects Not Contained in Standard SAP System $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RFPYHR00
*& Object Header PROG RFPYHR00
*&-------------------------------------------------------------------*
*& REPORT RFPYHR00
*&-------------------------------------------------------------------*
...
TABLES: BKPF,
BKPF_KEY,
*>>>> START OF DELETION <<<<<
DD03P,
*>>>> END OF DELETION <<<<<<<
...
*&-------------------------------------------------------------------*
*& FORM GET_LABEL
*&-------------------------------------------------------------------*
*>>>> START OF DELETION <<<<<
SELECT * FROM DD03P
WHERE TABNAME EQ PC_TABNAME
AND FIELDNAME EQ PC_FIELDNAME
AND DDLANGUAGE EQ SY-LANGU.
PC_TARGET = DD03P-SCRTEXT_S.
EXIT.
ENDSELECT.
IF PC_TARGET IS INITIAL.
SELECT * FROM DD03P
WHERE TABNAME EQ PC_TABNAME
AND FIELDNAME EQ PC_FIELDNAME
AND DDLANGUAGE EQ SY-LANGU.
PC_TARGET = DD03P-REPTEXT.
EXIT.
ENDSELECT.
ENDIF.
IF PC_TARGET IS INITIAL.
SELECT * FROM DD03P
WHERE TABNAME EQ PC_TABNAME
AND FIELDNAME EQ PC_FIELDNAME
AND DDLANGUAGE EQ SY-LANGU.
PC_TARGET = DD03P-SCRTEXT_M.
EXIT.
ENDSELECT.
ENDIF.
IF PC_TARGET IS INITIAL.
SELECT * FROM DD03P
WHERE TABNAME EQ PC_TABNAME
AND FIELDNAME EQ PC_FIELDNAME

AND DDLANGUAGE EQ SY-LANGU.


PC_TARGET = DD03P-SCRTEXT_L.
EXIT.
ENDSELECT.
ENDIF.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
DATA:
ls_dfies LIKE dfies.

CALL FUNCTION 'DDIF_FIELDINFO_GET'


EXPORTING
tabname = pc_tabname
fieldname = pc_fieldname
IMPORTING
dfies_wa = ls_dfies.
pc_target = ls_dfies-scrtext_s.
IF pc_target IS INITIAL.
pc_target = ls_dfies-reptext.
ENDIF.
IF pc_target IS INITIAL.
pc_target = ls_dfies-scrtext_m.
ENDIF.
IF pc_target IS INITIAL.
pc_target = ls_dfies-scrtext_l.
ENDIF.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

SAP note number 107210


________________________________________________________________________

Number 107210
Version 34 vom 22.03.2004
Status Released for Customer
Set on ,22.03.2004

Language EN
Mastersprache EN
Short text HR-PT: Update of legal limits (LCP)

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
Every year, normally on the 1st of October, the Portuguese law states
new Stamp Tax rates. This tax will finally disappear in October 1998,
and the system must therefore be updated.

Lunch Allowance exemption limits change every year and these are based
on the Public Sector Lunch Allowance rate. This constant has to be
updated as well.
Finally, the Portuguese minimum wage (SMN - Sal�rio M�nimo Nacional) -
every year a new value is published and the system must be updated
accordingly.

Other terms
SMN; Subs�dio de Refei��o;

Reason and Prerequisites

Solution
The corrections described in this note are available in an LCP as shown
in the table below, per year and version.

Each LCP includes for each year:

o new values for Stamp Tax constant STTRN;

o new values for Lunch Allowance constants LASTD, LAELC and LAELT;

o new values for Legal Minimum Wage constant MINWG.

These values are maintained in tables:

o T511P for PTE (EUR since 01.01.2002);

o T5EUR for EUR (not updated since 01.01.2002).

Values for Lunch allowance standard value (LASTD):


-------------------
| 1998 | PTE 600 | --------------------
| 1999 | PTE 625 | | 1999 | EUR 3.12 |
| 2000 | PTE 650 | | 2000 | EUR 3.24 |

| 2001 | PTE 680 | | 2001 | EUR 3.39 |


------------------- | 2002 | EUR 3.49 |
| 2003 | EUR 3.58 |
| 2004 | EUR 3.70 |
--------------------

Values for LA exemption limit for cash (LAELC)


-------------------
| 1998 | PTE 900 | --------------------
| 1999 | PTE 938 | | 1999 | EUR 4.68 |
| 2000 | PTE 975 | | 2000 | EUR 4.86 |
| 2001 | PTE 1020 | | 2001 | EUR 5.09 |
------------------- | 2002 | EUR 5.24 |
| 2003 | EUR 5.37 |
| 2004 | EUR 5.55 |
--------------------

Values for LA exemption limit for tickets (LAELT)


-------------------
| 1998 | PTE 1020 | --------------------
| 1999 | PTE 1063 | | 1999 | EUR 5.30 |
| 2000 | PTE 1105 | | 2000 | EUR 5.51 |
| 2001 | PTE 1156 | | 2001 | EUR 5.77 |
------------------- | 2002 | EUR 5.93 |
--------------------

Values for Legal minimum wage (MINWG)


---------------------
| 1998 | PTE 58.900 | ---------------------
| 1999 | PTE 61.300 | | 1999 | EUR 305.76 |
| 2000 | PTE 63.800 | | 2000 | EUR 318.23 |
| 2001 | PTE 67.000 | | 2001 | EUR 334.19 |
--------------------- | 2002 | EUR 348.01 |
| 2003 | EUR 356.60 |
| 2004 | EUR 365.60 |
---------------------

Relevant LCPs

------------------------
| Version | Year | LCP |
------------------------
| | 1998 | 02 |
| | 1999 | 20 |
| 3.1I | 2000 | 51 |
| | 2001 | 65 |
| | | 71 |

------------------------
| | 1999 | 01 |
| | 2000 | 27 |
| 4.5B | 2001 | 40 |
| | | 46 |
| | 2002 | 68 |
| | | 70 |
| | 2003 | 94 |
| | | 98 |

| | 2004 | A8 |
| | | B0 |
------------------------
| | 2000 | 09 |
| | 2001 | 22 |
| 4.6B | | 28 |
| | 2002 | 50 |
| | | 52 |
| | 2003 | 76 |
| | | 80 |
| | 2004 | 90 |
| | | 92 |
------------------------
| | 2000 | 02 |
| | 2001 | 13 |
| 4.6C | | 19 |
| | 2002 | 41 |
| | | 43 |
| | 2003 | 67 |
| | | 71 |
| | 2004 | 81 |
| | | 83 |
------------------------
| 4.7 | 2003 | 12 |
| | | 16 |
| | 2004 | 26 |
| | | 28 |
------------------------

Repairs in the Code


________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B
31I - 31I

________________________________________________________________________

References to related notes

Number Short text


____________________________________________________________
403183CONSULT.: HCM Portugal - Consulting Notes
13719 Preliminary transports to customers (note for customers)

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
31I SAPKE31I02
31I SAPKE31I20
31I SAPKE31I41
31I SAPKE31I51
31I SAPKE31I65
31I SAPKE31I71
45B SAPKE45B01
45B SAPKE45B18
45B SAPKE45B26
45B SAPKE45B27
45B SAPKE45B40
45B SAPKE45B46
45B SAPKE45B68
45B SAPKE45B70
45B SAPKE45B94
45B SAPKE45B98
45B SAPKE45BB0
46B SAPKE46B01
46B SAPKE46B09
46B SAPKE46B22
46B SAPKE46B28
46B SAPKE46B50
46B SAPKE46B52
46B SAPKE46B76
46B SAPKE46B80
46B SAPKE46B92
46C SAPKE46C02
46C SAPKE46C13
46C SAPKE46C19
46C SAPKE46C41
46C SAPKE46C43
46C SAPKE46C67
46C SAPKE46C71
46C SAPKE46C83
470 SAPKE47012
470 SAPKE47016
470 SAPKE47028

________________________________________________________________________

SAP note number 142218


________________________________________________________________________

Number 142218
Version 15 vom 12.03.2003
Status Released for Customer
Set on ,12.03.2003

Language EN
Mastersprache EN
Short text HR-PT: Update of IRS tables (LCP)

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
New IRS tables, containing the rates for tax deduction during the
current fiscal year are available and need to be delivered to the
customers.

ATTENTION: After updating this table please run a retrocalculation from


January of the actual year in order to correct the tax deductions.

Other terms
Table T5P1R;

Reason and Prerequisites


Solution
The corrections described in this note are available in an LCP as shown
in the table below, per year and version.

Each LCP includes, for each year:

o updated table entries in table T5P1R for the year in question,


including the tax rates for Mainland and Madeira, for the A�ores,
and for variable remunerations. The entries are for currencies
PTE and EUR.

Relevant LCPs

------------------------
| Version | Year | LCP |
------------------------
| 3.1I | 1999 | 19 |
| 3.1I | 2000 | 51 |
| 3.1I | 2001 | 71 |
------------------------
| 4.5B | 1999 | 01 |
| 4.5B | 2000 | 27 |
| 4.5B | 2001 | 46 |
| 4.5B | 2002 | 72 |
| 4.5B | 2003 | 95 |
| 4.5B | 2003 | 96 |
------------------------
| 4.6B | 2000 | 09 |

| 4.6B | 2001 | 28 |
| 4.6B | 2002 | 54 |
| 4.6B | 2003 | 77 |
| 4.6B | 2003 | 78 |
------------------------
| 4.6C | 2000 | 02 |
| 4.6C | 2001 | 19 |
| 4.6C | 2002 | 45 |
| 4.6C | 2003 | 68 |
| 4.6C | 2003 | 69 |
------------------------
| 4.7 | 2003 | 13 |
| 4.7 | 2003 | 14 |
------------------------

Repairs in the Code


________________________________________________________________________

Valid releases
Software component Release
from to

SAP_APPL SAP Application


46C - 46C
46B - 46B
45B - 45B
31I - 31I

SAP_HR R/3 Standard Human Resource


46C - 46C
46B - 46B
45B - 45B
31I - 31I

________________________________________________________________________

References to related notes

Number Short text


____________________________________________________________
712368HR-PT: New table T5P1P for IRS since 2004
712333HR-PT: Upload of IRS tables 2004 into T5P1P
596048HR-PT: IRS tables for year 2003 (Advance Delivery)
496680HR-PT: IRS tables for year 2002 (Advance Delivery)
403183CONSULT.: HCM Portugal - Consulting Notes
392502HR-PT: Different IRS tables for Madeira
382038HR-PT: IRS tables for year 2001 (Advance Delivery)
142221HR-PT: IRS tables for year 2000 (advance delivery)

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
31I SAPKE31I19
31I SAPKE31I51
31I SAPKE31I71
31I SAPKE31I87
45B SAPKE45B01
45B SAPKE45B26
45B SAPKE45B27
45B SAPKE45B46
45B SAPKE45B61
45B SAPKE45B64
45B SAPKE45B71
45B SAPKE45B72
46B SAPKE46B09
46B SAPKE46B28
46B SAPKE46B45
46B SAPKE46B46
46B SAPKE46B53
46B SAPKE46B54
46C SAPKE46C02
46C SAPKE46C19
46C SAPKE46C34
46C SAPKE46C37
46C SAPKE46C44
46C SAPKE46C45
________________________________________________________________________

SAP note number 331123


________________________________________________________________________

Number 331123
Version 3 vom 15.01.2004
Status Released for Customer
Set on ,09.12.2002

Language EN
Mastersprache EN
Short text HR-PT: New leave entitlement and vacation allowance
processi

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
The Vacation Allowance functionality has been redesigned to easily and
efficiently process the employee's vacation allowance.
There is a new functionality for the leave entitlement accrual and a
complete new way of processing the allowance using processing variants.
A major redesign regarding the all functionality dealing with leave
entitlement was undertaken. The changes are listed below:

a) the leave days are now maintained in IT2006 instead of IT0005

b) all the PCR's used in the old solution are no longer used, they
are substituted by payroll functions.

c) Creation of processing variants, for easier customization, which


can be defined for each group of employes via table T5PVA.

Other terms
Vacation Allowance, IT2006, IT0005

Reason and Prerequisites


The new Vacation Allowance functionality is more flexible and easier to
use.
The old solution used the IT0005 (Leave Entitlement); this will no
longer be enhanced by the Time Management team, as the new IT2006
(Absence Quotas) has more funcionality.

Solution
The correction described in this note are includede in an HR Support
Package. See below for the package number.
This support package includes:

- new tables: T5PVA, T5PVT, T5PV1, T5PV2;

- new views: V_T5PVA, V_T5PVA_A, V_T5PVA_D, V_T5PVA_G, V_T5PV1,


V_T5PV2;

- new payroll constants: LVACE;

- new documentation for the Vacation Allowance functionality,


and new customising nodes in the IMG;

- new features: PVGRP and PENTI;

- new wage types: VA05, VA10, VA30, VA40, VA70, VAT1, /EVA,
/138;

- new payroll operation: PSVA;

- new payroll functions: P0334, PVACG; PVACR; PVACE; PVACT;


PVACO; PVACV; PVACA;

- new function group 3P04, cointaining generic function modules


for the vacation allowance process;

- new type pool PPT04, with types declaration specific for the
VA process;

- new customer function EXIT_RPCALCP0_001 for the


customer-specific code regarding the vacation allowance
payment method;

- new Leave Summary report - RPLESUP0;

Repairs in the Code


________________________________________________________________________

Valid releases
Software component Release
from to

SAP_APPL SAP Application


46C - 46C
46B - 46B
45B - 45B

SAP_HR R/3 Standard Human Resource


46C - 46C
46B - 46B
45B - 45B

Other components

PA-PA-PT
Portugal
PT-RC-AA
Attendances/Absences
________________________________________________________________________
References to related notes

Number Short text


____________________________________________________________
416743HR-PT: Corrections to the new Vacation Allowance
403183CONSULT.: HCM Portugal - Consulting Notes
399471HR-PT: New Overtime functionality due to IT2006
399468HR-PT: Transfer data from IT0005 to IT2006

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45B62
46B SAPKE46B44
46C SAPKE46C27

________________________________________________________________________

SAP note number 403163


________________________________________________________________________

Number 403163
Version 94 vom 01.04.2004
Status Released for Customer
Set on ,01.04.2004

Language EN
Mastersprache EN
Short text CONSULT.: HCM Portugal - News - Novidades

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
This note is used to record the latest news regarding the Portuguese HR
country version. All legal changes with an impact on components PA-PA-PT
or PY-PT will be mentioned, as well as the release of LCPs and other
important milestones in the life cycle of the product.

Other terms

Reason and Prerequisites

Solution
01/04/2004
The Variable Income table have been included in note 712333 for upload.
Please, take in consideration that the code of report RPUTAXP0 had to be
changed. Please, install the Advanced Delivery with the new program
before uploading Variable Income table.

24/03/2004
The change of Social Insurance number from 9 to 11 digits will be
delivered according to note 721081 in the next months.
It is important to consider that this note will provide Advance Delivery
of the solution, but it will be mandatory that the customer has the last
version of HR Support Package installed, if not the corrections will
have to be installed using Correction Instructions.

17/03/2004
The new limits for Lunch Allowance have been published.
New values and delivery HR Support Packages are informed in note 107210.

12/03/2004
The IRS tables for 2004 have been published.
The installation process of this tables has been changed.
Please, read notes 712368(creates new table T5P1P) and
712333(upload file with rates for 2004).

04/03/2004
The amount for the incoming category 'H' includes the amounts paid
for the pre-retirement and retirement. The declaration must split
these values according the Portaria 3/2004 from Di�rio da Republica
published on 10/01/2004 - n� 8, 1� S�rie B.
Please see the note #712653.

21/01/2004
The new national minimum wages was published in the 'Di�rio da
Rep�blica I s�rie A, n.� 16, de 20-01-2004'. The new value is 365,60
Euros.
This modification is available via LCP, please see the note 107210.
While you don't apply the note you can modify the value manually in the
table T511P.

24/11/2003
The modifications for the new labor law are now available. Please see
the note #671876.

30/10/2003
Due to the new Labor Law several modifications to the vacation
allowance process will be delivered during the next month.
For this modification we recommend that you apply the latest LCP's:

- 4.5B - LCPA4

- 4.6B - LCPB86

- 4.6C - LCP77

- 4.7 - LCP022
04/09/2003
Personnel Summary report has more complete printed version and field 18
of employee's register which is related to Law 20/98 is also available.
Please see note 650326.

01/09/2003
New legal changes are required to the Structured Employment Survey by
the DEPP (Departamento de Estudos, Prospectiva e Planeamento).
See note 649978.

14/07/2003
Relevant to Social Balance report, counting of Paid Public Holidays(hrs)
to wage type /844 has been changed according to note 639338.

02/07/2003
New legal declarations are required by the Portuguese legal entities:

o Mod. 18 - lunch allowance tickets;

o Mod. 19 - Option plans.

These declarations are now available in the system, please see the note
620283.

17/04/2003
Some corrections to Leave Annual Summary (RPLESUP0).
Please see the note 607234.

17/04/2003
According to "Portaria 303/2003 de 14 de Abril", the limits regarding
the lunch allowance are modified.

This modification is available via LCP, please see the note 107210.
While you don't apply the note you cam modify the value manually in the
table T511P.

15/04/2004
Update of Economical Activity Code (table T5PEA)
See the note 612279.

10/04/2003
According to the instrutions of the DGCI "Direc��o Geral de
Contribui��e e Impostos" for the Annual Income Declaration the field
"Tipo de Rendimentos" in record type 2 should have value "A1" for the
wage type /111.

20/03/2003
The Annual income declaration in electronic format has been modified
by the legal authority DGCI. The Record type for attach. J was changed
from 'J03' to 'J99'. See the note 606082.

11/02/2003
All the new IRS tables are now available via SAPserv3, please see the
note 596048. To know in which LCP they will be delivered, see note 14221
26/02/2003
According the new article 74 from the CIRS, the Individual Income
Declaration must contain additional data related to the reported income
from previous years.
Please apply the note number 599236 to keep the system up to date.

18/02/2003
The new IRS tables for the Continent and A�ores are now available via
SAPserv3, please see the note 596048. To know in which LCP they will be
delivered, see note 142218.

14/02/2003
The new IRS tables for the Continent are now available via SAPserv3,
please see the note 596048. To know in which LCP they will be
delivered, see note 142218.

13/01/2003
According to "DL.n.� 320-C/2002, de 30 de Dezembro", the national
minimum wages have changed to 356,60 Euros.
This modification is available via LCP, please see the note 107210.
While you don't apply the note you cam modify the value manually in the
table T511P.
02/12/2002
The schema PTX0 has been changed and was created a report to check the
employees according to the standard tax retrocalculation process.
The solution for correcting wrong values is provided and is also valid
for the customers which did not implement the old notes on time.
Please see note 569186.

21/10/2002
Changes related to reference periods for the Personnel Summary are
included in note 561310.

02/10/2002
According to "DL.n.� 194/2002, de 25 de Setembro", among others changes

"n�. 2 do Art.� 6.� do DL. 42/91", the following change is established:

Instead of the rounding the values calculated from the aplication of


the tax retention rate, to the closest cent, the new diploma fixes
thatrounding to the lowest Euro unit.
For additional information please consider note number 559753.

20/09/2002
According to 'Dec-lei n� 123/2002, de 4 de Maio" some changes are
necessary in the Personnel Summary.
This change is available via SAPSERV3.
Path: /general/R3server/abap/note.0553215
See note 553215.

13/09/2002
Incorrect payment of VA when using payment methods 'B', 'C' or 'E' after
installing note 529855, please see note 552475 for additional
correction.
22/08/2002
Variable Remunerations 'Tabela de Remunera��es n�o fixas' 2002 in
table T5P1R.
Please see note 547949.

15/08/2002
Some corrections to Personnel Summary (RPCPRSP0).
Please see the note 544007.

06/08/2002
Some corrections to Remuneration sheet (RPCSSRP0).
Please see the note 532143.

30/07/2002
Some corrections to Personnel Summary (RPCPRSP0).
Please see the note 531742 and 541176.

28/06/2002
Some corrections to Remuneration sheet (RPCSSRP0).
Please see the note 527133.

12/06/2002
Time dependency table for entity data is necessary.
Before no historical of changes in entity data was possible.
Table T5PFN was substituted by T5PFD, please see note 523020.

12/06/2002
Some corrections to Social Balance related to the Cover Page,
Statistical Information and the Time Data.
Please see the note 522161.

04/06/2002
Reminder: the old vacation allowance process and the use of IT0005 is
not supported anymore since May 2002.

23/05/2002
Personnel Summary(RPCPRSP0) has the reference for Working Time Data
changed. Please see note number 510473.

14/05/2002
The new legal changes in RPCAIDP0 are available in an advanced delivery.
Please see note 511686.

12/04/2002
The new legal changes in the Anual Income Declaration - attachment J
will be available during the second week of May.
The related note will have the number 511686.

26/03/2002
According to "Decreto-Lei n� 8-B/2002" of January 15, the tax number of
the contributor (NIF) must be included in the record type R1 (magnetic
file), and in the Summary Sheet (paper) which is sent together with the
magnetic file.
For additional information please consider note number 496845.
This change is available via SAPSERV3.
Path: /general/R3server/abap/note.0496845
Valid Releases: 45B ; 46B; 46C

13/03/2002
Due to some incidents when retrocalculating periods with negative
differences from previous years (/607) it is mandatory to implement the
note 502345 before running RPCALCP0 in March, 2002.

All the new IRS tables are now available by SAPserv3, please see the
note 496680. To know in which LCP they will be delivery see the note
142218.

21/02/2002
The Tax Reform changes in schema PTX0 will be delivered in the next LCP.
Please, see the last LCP number in note 396216.

19/02/2002
The report RPCFEEP0 has a new field selection screen "output currency"
which defines the currency in which the output of the report will be.
This report converts the results read from the cluster to the indicated
output currency of the report, whether they are in a different currency.

o RPCFEEP0 - List of membership contributions


To know in which LCP they will be delivered, see the note 496270.

19/02/2002
The new IRS tables for Madeira and Continent are now available by
SAPserv3, please see the note 496680. To know in which LCP they will be
delivered, see note 142218.

04/02/2002
Note: 489526 (HR-PT: Corrections to legal reports)
A new field "The last period" has been added in the selection screen.
This means that the report must read the data processed until the last
period
indicated on the additional field.
Now, the reports provide the last data processed, in case of the
retroactive calculation is done after the selected period.

o RPCSOCP0 - Social Balance

o RPSSESP0 - Structured Employment Survey

o RPCGSRP0 - Generic statistical report (Earnings Survey+Work


Sched. Survey)

10/01/2002
Note 0480575 (HR-PT: Tax reform - additional changes) has been updated
with a special correction for those customers who have implemented
note 396216 for December 2001 payroll, and not note 480575.

19/12/2001
According to "Anexo II da Portaria n� 1039/2001" of August 27,
the remuneration sheet relating to December 2001 must be delivered up
to 15th of January, 2002 in EURO. This applies ONLY for the contributors
still using ESCUDOS during 2001.
For additional information please consider note number 457989.
This change is available via SAPSERV3.
Path: /general/R3server/abap/note.0457989
Valid Releases: 45B ; 46B; 46C

30/11/2001
The Tax Reform of 2001 has been delivered in the last LCP.
For additional information consider note number 396216.

24/10/2001
In order to simplify the update of the postal code table T5PCP a new
report RPUCODP0 is available. It can be used to update the already
existing codes or only to include the new codes.
For further information please read note number 439165.

05/10/2001
According to Circular 9 of May 21, 2001 the reports RPCIIDP0 and
RPCAIDP0 must have the amounts in Euro next year.
These changes will be delivered for 4.6B in LCP number 44 and for 3.1I
in LCP number 88.
For further information please read note number 422848.

02/10/2001
The new Vacation Allowance (VA) functionality will be delivered via
LCP62 for the 45B releases and via LCP44 for the 46B releases.
A rollout paper will be available in the Portuguese Payroll page in
SAPNet. This document describes the procedure to customize the new VA.
Furthermore, all the customizing steps are in the IMG.
For detailed information about the new functionality please see the
following notes:
331123 - HR-PT: New leave entitlement and vacation allowance processing
399468 - HR-PT: Transfer data from IT0005 to IT2006
399471 - HR-PT: New Overtime functionality due to IT2006

19/09/2001
According to Circular 9 of May 21, 2001 the reports RPCIIDP0 and
RPCAIDP0 must have the amounts in Euro next year.
These changes will be delivered for 4.5B in LCP number 61, the other
releases will be delivered as soon as possible. For further information
please consider note number 422848.

10/08/2001

According to Circular 9 of May 21, 2001 the reports RPCIIDP0 and


RPCAIDP0 must have the amounts in Euro next year.
These changes will be delivered for 4.6C in LCP number 31, the other
releases will be delivered as soon as possible. For further information
please consider note number 422848.

09/08/2001
The report RPTSSBP0 (Strike Statistical Bulletin) was changed to
generate the data that is necessary for filling out the official
Strike Statistical Bulletin . Now, it lists the different numbers
of strike hours (strike duration) and the respective number of
strikers for each working period.
Further information:
The report below was changed to take data from table T5PAB instead of
table T5PTC.

- RPTSSBP0 (HR-PT: Strike Statistical Bulletin)

If you did not convert the old table T5PTC to the news tables T5PAB and
T5PWS, you need to run the report RPUCTCP0 (see note 199143) to transfer
the customization done in table T5PTC to the new corresponding
tables T5PAB (Absence classific.) and T5PWS (Work sched.classification).

Valid Releases:

- 46C (LCP 31)

- 46B (LCP 41)

- 45B (LCP 59)

02/07/2001
According to Circular 9 of May 21, 2001 the reports RPCIIDP0 and
RPCAIDP0 must have the amounts in Euro next year.
The changes will be done as soon as possible and the information
about the respective LCP number will be available in this note.

08/06/2001
A new Vacation Allowance (VA) functionality will be delivered via LCP27
for the 46C releases. The new functionality includes several changes,
such as using IT2006 instead of IT0005 to create the leave entitlement.
A rollout paper will be available in the Portuguese Payroll page in
SAPNet. This document describes the procedure to customize the new VA.
Furthermore, all the customizing steps are in the IMG.
For detailed information about the new functionality please see the
following notes:

- 331123 - HR-PT: New leave entitlement and vacation allowance


processing

- 399468 - HR-PT: Transfer data from IT0005 to IT2006

- 399471 - HR-PT: New Overtime functionality due to IT2006

Repairs in the Code


________________________________________________________________________

Note is not release-specific


Other components

PA-PA-PT
Portugal
________________________________________________________________________
Note attributes

FILE
Transaction codes SUCH
SURVEY
________________________________________________________________________

SAP note number 439165


________________________________________________________________________

Number 439165
Version 8 vom 05.11.2003
Status Released for Customer
Set on ,06.11.2003

Language EN
Mastersprache EN
Short text HR-PT: Update T5PCP with postal codes from file of
CTT

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
The new postal codes need to be updates every time the CTT publish new
codes. This update is necessary for each customer in different periods
during the year.
Other terms
T5PCP
Reason and Prerequisites

Solution
The file including the new postal codes should be imported from the
internet site WWW.CTT.PT in the section "Codigos postais" to a file
which has the name "todos_cp.txt" into directory "c:\temp\".

Attention:
Because the file is too big it is suggested to be run in background,
otherwise the file should be divided.

In the report selection-screen the user doesn't need to fill the


directory field with the file name, the report will do that.

The codes and districts update in table T5PCP is done when running the
report RPUCODP0.
The entries in the transport have to be done manually.

The correction described in this note is included in an HR Support


Package. See below for the package number.

The support package includes:


o updates in program RPUCODP0;

o creation of text symbols 006 with text 'ATEN��O:', text symbols


007 with text 'Recomenda-se executar em backgroup devido ao
tamanho do ficheiro' and text symbols 007 with text 'caso
contr�rio este dever� ser dividido.'.

Repairs in the Code


________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45B65
45B SAPKE45BA9
46B SAPKE46B46
46B SAPKE46B47
46B SAPKE46B91
46C SAPKE46C37
46C SAPKE46C38
46C SAPKE46C82
470 SAPKE47011
470 SAPKE47027

________________________________________________________________________

Assigned correction instructions


________________________________________________________________________

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120061532 0000607479 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B90 $*
*$ Release 45B To SAPKE45BA8 $*
*$ Release 46C To SAPKE46C81 $*
*$ Release 470 To SAPKE47026 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPUCODP0
*& Object Header PROG RPUCODP0
*&-------------------------------------------------------------------*
*& REPORT RPUCODP0
*&-------------------------------------------------------------------*
...
DATA: BEGIN OF COL_DEF OCCURS 5,
COL(2) TYPE N,
BEG(3) TYPE N,
END(3) TYPE N,
END OF COL_DEF.

DATA: NR_REC(5) TYPE N.

*>>>> START OF DELETION <<<<<


DATA: STR(220) OCCURS 5 WITH HEADER LINE.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
DATA: STR(300) OCCURS 5 WITH HEADER LINE.
*>>>> END OF INSERTION <<<<<<
...
SELECTION-SCREEN END OF BLOCK BLOCK1.

PARAMETERS: SEPARAT(1) TYPE C DEFAULT ';',


COD_PAG(3) DEFAULT '850'.

PARAMETERS: OVERWRT AS CHECKBOX DEFAULT ' '.


*>>>> START OF INSERTION <<<<

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.


SELECTION-SCREEN COMMENT 1(83) TEXT-006.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(83) TEXT-007.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(83) TEXT-008.
SELECTION-SCREEN END OF LINE.

*>>>> END OF INSERTION <<<<<<

...
*&-------------------------------------------------------------------*
SAP note number 522143
________________________________________________________________________

Number 522143
Version 9 vom 13.01.2004
Status Released for Customer
Set on ,13.01.2004

Language EN
Mastersprache EN
Short text HR-PT: Corrections to the VA operation PSVA

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom

1. The operation PSVA doesn't have any possibility to retrieve amounts


or numbers from the cluster table VA.

2. When creating a rule using operation PSVA with the parameter '?' and
the corresponding possible values (T, P, C), the rule will display a
sintax error.

3. The new operation value 'B' could cause a short dump in the
RPCALCP0.

4. When using the operation with the parameter '?' the RPCALCP0 could
stop with an error message, this happens due a missing return value.

Other terms
PSVA, VA, FIXCO

Reason and Prerequisites

Solution

a) New operation value "B" is added into PSVA in order to retrieve


values from the VA cluster table.
Modification in the operation code in order to get values from
the VA cluster table.

b) Add into the parameters of the operation '?' the following


values:
Type V = ALL and Lnght V = 1

The correction and enhancements described in this note are included in


an HR Support Package. See below for the package number.
The support package includes:

- enhancement in the operation PSVA;

- code modifications in the include RPCBURPF;


________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45B78
45B SAPKE45B82
45B SAPKE45B90
45B SAPKE45BA8
46B SAPKE46B60
46B SAPKE46B64
46B SAPKE46B72
46B SAPKE46B90
46C SAPKE46C51
46C SAPKE46C55
46C SAPKE46C63
46C SAPKE46C81
470 SAPKE47001
470 SAPKE47008
470 SAPKE47026

________________________________________________________________________

Assigned correction instructions


________________________________________________________________________

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120031469 0000286192 $*
*$ Req. Corr. Instructions 0120061532 0000408537 Note 0000522143 $*
*$ 0120061532 0000477623 Note 0000522143 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B89 $*
*$ Release 45B To SAPKE45BA7 $*
*$ Release 46C To SAPKE46C80 $*
*$ Release 470 To SAPKE47025 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCBURPF
*& Object Header PROG RPCBURPF
*&-------------------------------------------------------------------*
*& FORM GET_VAFIELD
*&-------------------------------------------------------------------*
...
CALL FUNCTION 'DDIF_FIELDINFO_GET'
EXPORTING
tabname = 'PC2PF'
fieldname = p_fieldname
langu = sy-langu
all_types = 'X'
TABLES
dfies_tab = p_dfies_tab
EXCEPTIONS
not_found = 1
internal_error = 2
OTHERS = 3.

READ TABLE p_dfies_tab WITH KEY fieldname = p_fieldname.


IF p_dfies_tab-datatype = 'CURR'.
MOVE <vafield> TO ot-betrg.
*>>>> START OF DELETION <<<<<
ELSEIF p_dfies_tab-datatype = 'NUMC'.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
ELSEIF p_dfies_tab-datatype = 'NUMC'
OR p_dfies_tab-datatype = 'DEC'.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120061532 0000408537 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B71 $*
*$ Release 45B To SAPKE45B89 $*
*$ Release 46C To SAPKE46C62 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCBURPF
*& Object Header PROG RPCBURPF
*&-------------------------------------------------------------------*
*& FORM OPPSVA
*&-------------------------------------------------------------------*
...
PERFORM FILLVARGT.
WHEN 'A'. "Add amount or number to field in VA
MOVE C_REGULAR_ALL TO ALL_TYPE. "Regular allowance
PERFORM ADD_VAFIELD USING ALL_TYPE.

*>>>> START OF INSERTION <<<<


WHEN 'B'. "Get amount or number from VA
PERFORM GET_VAFIELD.

*>>>> END OF INSERTION <<<<<<


...
*&-------------------------------------------------------------------*
*& FORM GET_VAFIELD
*&-------------------------------------------------------------------*
*>>>> START OF INSERTION <<<<
*&---------------------------------------------------------------------*
*& Form GET_VAFIELD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_VAFIELD.

DATA: R_T5PVA LIKE T5PVA.


FIELD-SYMBOLS: <VAFIELD> TYPE P.
DATA: TEMPOR(11) TYPE C.
DATA: P_DFIES_TAB LIKE DFIES OCCURS 0 WITH HEADER LINE.
DATA: P_FIELDNAME LIKE DFIES-FIELDNAME.

LOOP AT VA.

* Get corresponding entry in table T5PVA (processing variants)


PERFORM GET_VA_PROCESSING USING VA-VAGRP APER-BEGDA APER-ENDDA
CHANGING R_T5PVA RET_CODE.
IF RET_CODE NE 0.
EE_REJECT_TPT '505' VA-VAGRP '507'.
ENDIF.

CONCATENATE 'VA-' OP+5(5) INTO TEMPOR.

ASSIGN (TEMPOR) TO <VAFIELD>.

P_FIELDNAME = OP+5(5).
CALL FUNCTION 'DDIF_FIELDINFO_GET'
EXPORTING
TABNAME = 'PC2PF'
FIELDNAME = P_FIELDNAME
LANGU = SY-LANGU
ALL_TYPES = 'X'
TABLES
DFIES_TAB = P_DFIES_TAB
EXCEPTIONS
NOT_FOUND = 1
INTERNAL_ERROR = 2
OTHERS = 3.

READ TABLE P_DFIES_TAB WITH KEY FIELDNAME = P_FIELDNAME.


IF P_DFIES_TAB-DATATYPE = 'CURR'.
MOVE <VAFIELD> TO OT-BETRG.
ELSEIF P_DFIES_TAB-DATATYPE = 'NUMC'.
MOVE <VAFIELD> TO OT-ANZHL.
ELSE.
EE_REJECT_TPP_C '554' SPACE SPACE.
ENDIF.
MODIFY OT.
EXIT.
ENDLOOP.

ENDFORM. " GET_VAFIELD


*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120061532 0000477623 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B71 $*
*$ Release 45B To SAPKE45B89 $*
*$ Release 46C To SAPKE46C62 $*
*$ Release 470 To SAPKE47007 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCBURPF
*& Object Header PROG RPCBURPF
*&-------------------------------------------------------------------*
*& FORM OPPSVA
*&-------------------------------------------------------------------*
...
*---------------------------------------------------------------------*
FORM OPPSVA.

DATA: ALL_TYPE TYPE C.

*>>>> START OF INSERTION <<<<


* Set return variable
vargt = '*'. "default: no.

*>>>> END OF INSERTION <<<<<<


...
WHEN 'S'. "Set flag in VA
MOVE C_REGULAR_ALL TO ALL_TYPE.
PERFORM SET_VAFIELD USING ALL_TYPE.
ENDCASE.

*>>>> START OF DELETION <<<<<


OT = SAVEOT.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
IF op+4(1) <> 'B'.
ot = saveot.
ENDIF.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*& FORM GET_VAFIELD
*&-------------------------------------------------------------------*
...
FIELD-SYMBOLS: <VAFIELD> TYPE P.
DATA: TEMPOR(11) TYPE C.
DATA: P_DFIES_TAB LIKE DFIES OCCURS 0 WITH HEADER LINE.
DATA: P_FIELDNAME LIKE DFIES-FIELDNAME.

*>>>> START OF INSERTION <<<<


CLEAR ret_code.

*>>>> END OF INSERTION <<<<<<


...
ELSEIF P_DFIES_TAB-DATATYPE = 'NUMC'.
MOVE <VAFIELD> TO OT-ANZHL.

ELSE.
EE_REJECT_TPP_C '554' SPACE SPACE.
ENDIF.
*>>>> START OF DELETION <<<<<
MODIFY OT.
*>>>> END OF DELETION <<<<<<<
...
*&-------------------------------------------------------------------*

SAP note number 596048


________________________________________________________________________

Number 596048
Version 7 vom 01.04.2004
Status Released for Customer
Set on ,12.03.2003

Language EN
Mastersprache EN
Short text HR-PT: IRS tables for year 2003 (Advance Delivery)

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
Customers want to import as soon as possible the new IRS tables,
containing the rates for tax deduction during the fiscal of 2003.
Therefore, an advanced delivery is provided via sapserv3.

Other terms
T5P1R; Tax

Reason and Prerequisites


The new IRS tables for 2003 haven't been loaded onto the system.

Solution
An advance delivery is being provided containing all entries of table
T5P1R.
This delivery does not contain objects for any other country version,
nor does it contain objects from other R/3 modules (FI, LO, etc.).

The files that constitute the delivery are:

o 4.5B

- K100738.L4D

- R100738.L4D

o 4.6B

- K100526.L9B

- R100526.L9B

o 4.6C

- K127805.L9C

- R127805.L9C

o 4.7

- K028505.L6B

- R028505.L6B

and can be found in directory: /general/R3server/abap/note.0596048

Import this delivery into your system following the instructions in note
13719, replacing the example transport with L4DK100738 or
L9BK100526, and the example note number with the number of this note.

________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to related notes

Number Short text


____________________________________________________________
142218HR-PT: Update of IRS tables (LCP)

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45B95
45B SAPKE45B96
46B SAPKE46B77
46B SAPKE46B78
46C SAPKE46C68
46C SAPKE46C69
470 SAPKE47013
470 SAPKE47014

________________________________________________________________________

SAP note number 599236


________________________________________________________________________

Number 599236
Version 5 vom 03.02.2004
Status Released for Customer
Set on ,01.03.2004

Language EN
Mastersprache EN
Short text HR-PT:Legal Changes in Individual Income Declaration
(2003)

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
The Individual Income declaration has been modified by the legal
authority DGCI (Direc��o Geral de Contribui��es e Impostos).

According the new article 74 from the CIRS, the declaration must contain
additional data related to the income amount reported from previous
years with the year reference.

Other terms
RPCIIDP0

Reason and Prerequisites

Solution
The correction and enhancements described in this note are included in
an HR Support Package. See below for the package number.
The support package includes:

- modification to the report RPCIIDP0;

- modification to the includes RPCIIDPD, RPCIIDPO, RPCIIDPF;

- modifications to the type-pool PPT02.

An advance delivery is being provided containing all changes.


The files that constitute the delivery are:

o 4.5B

- K100178.L4D

- R100178.L4D

o 4.6B

- K099803.L9B

- R099803.L9B

o 4.6C

- K126572.L9C

- R126572.L9C

o 4.7

- K027222.L6B

- R027222.L6B

and can be found in directory /general/R3server/abap/note.0599236

Import this delivery into your system following the instructions in note
13719, replacing the example transport with L9BK099673 or
L9CK126572, and the example note number with the number of this note.

Improvements to table g_tab_inc_prev_years have been done in


January,2004 according to correction instruction number
0120031469 0000295467. It was not included in the advance delivery.
________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45B96
45B SAPKE45BA7
45B SAPKE45BB0
46B SAPKE46B78
46B SAPKE46B89
46B SAPKE46B92
46C SAPKE46C69
46C SAPKE46C80
46C SAPKE46C83
470 SAPKE47013
470 SAPKE47025
470 SAPKE47028

________________________________________________________________________

Assigned correction instructions


________________________________________________________________________

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120031469 0000280069 $*
*$ Req. Corr. Instructions 0120061532 0000500972 Note 0000585374 $*
*$ 0120061532 0000522495 Note 0000599236 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B88 $*
*$ Release 45B To SAPKE45BA6 $*
*$ Release 46C To SAPKE46C79 $*
*$ Release 470 To SAPKE47024 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object FUNC EXIT_RPCIIDP0_001
*& Object Header FUGS XRP0
*&-------------------------------------------------------------------*
*& FUNCTION EXIT_RPCIIDP0_001
*&-------------------------------------------------------------------*
...
FUNCTION EXIT_RPCIIDP0_001.
*"----------------------------------------------------------------------
*>>>> START OF DELETION <<<<<
*"*"Local interface:
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
*"*"Interface local:
*>>>> END OF INSERTION <<<<<<
...
*" IMPORTING
*" REFERENCE(YEAR) TYPE N
*" REFERENCE(WAERS) LIKE T500C-WAERS
*" REFERENCE(COMPANY) TYPE PPT02_COMPANY
*" TABLES
*" PERSONNEL TYPE PPT02_PERS
*" TAX_DATA TYPE PPT02_TAXD
*" DEDUCTION TYPE PPT02_DEDU
*" REPORT TYPE PPT02_REPO
*>>>> START OF DELETION <<<<<
*" CHANGING
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
*" INC_PREV_YEARS TYPE PPT02_INC_PREV_YEARS_TAB OPTIONAL
*" CHANGING
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*&-------------------------------------------------------------------*
*& Object REPS RPCIIDP0
*& Object Header PROG RPCIIDP0
*&-------------------------------------------------------------------*
*& END-OF-SELECTION
*&-------------------------------------------------------------------*
...
CALL CUSTOMER-FUNCTION '001'
EXPORTING
year = aux_year
waers = waers
company = company

TABLES
personnel = personnel
tax_data = tax_data
deduction = deduction
report = report
*>>>> START OF DELETION <<<<<
CHANGING
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
inc_prev_years = g_tab_inc_prev_years
CHANGING
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120031469 0000295467 $*
*$ Req. Corr. Instructions 0120061532 0000500972 Note 0000585374 $*
*$ 0120061532 0000502742 Note 0000585374 $*
*$ 0120061532 0000522495 Note 0000599236 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B91 $*
*$ Release 45B To SAPKE45BA9 $*
*$ Release 46C To SAPKE46C82 $*
*$ Release 470 To SAPKE47027 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCIIDP0
*& Object Header PROG RPCIIDP0
*&-------------------------------------------------------------------*
*& GET PERNR
*&-------------------------------------------------------------------*
...
PERFORM READ_CLUSTER_RP USING PERNR-PERNR
CHANGING RETURN_CODE.
IF RETURN_CODE NE 0.
PERFORM PROCESS_ERRORS USING RETURN_CODE.
ENDIF.

*>>>> START OF DELETION <<<<<


PERFORM fill_income_prev_years CHANGING g_tab_inc_prev_years.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
PERFORM FILL_INCOME_PREV_YEARS TABLES G_TAB_INC_PREV_YEARS.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*&-------------------------------------------------------------------*
*& Object REPS RPCIIDPD
*& Object Header PROG RPCIIDPD
*&-------------------------------------------------------------------*
...
DATA: COMPANY TYPE PPT02_COMPANY,
PERSONNEL TYPE PPT02_PERSONNEL OCCURS 10 WITH HEADER LINE,
TAX_DATA TYPE PPT02_TAX_DATA OCCURS 10 WITH HEADER LINE,
DEDUCTION TYPE PPT02_DEDUCTION OCCURS 10 WITH HEADER LINE,
REPORT TYPE PPT02_REPORT OCCURS 10 WITH HEADER LINE,
OTHER_DEDUCTION TYPE PPT02_DEDUCTION OCCURS 10 WITH HEADER LINE,
SS_WT TYPE PPT02_SSWT OCCURS 10 WITH HEADER LINE.

*>>>> START OF DELETION <<<<<


DATA: g_tab_inc_prev_years TYPE ppt02_inc_prev_years_tab.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
DATA: G_TAB_INC_PREV_YEARS TYPE PPT02_INC_PREV_YEARS OCCURS 0
WITH HEADER LINE.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*&-------------------------------------------------------------------*
*& Object REPS RPCIIDPF

*& Object Header PROG RPCIIDPF


*&-------------------------------------------------------------------*
*& FORM FILL_INCOME_PREV_YEARS
*&-------------------------------------------------------------------*
...
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* <--P_G_TAB_INC_PREV_YEARS text
*----------------------------------------------------------------------*
*>>>> START OF DELETION <<<<<
FORM fill_income_prev_years CHANGING g_tab_inc_prev_years
TYPE ppt02_inc_prev_years_tab.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
FORM FILL_INCOME_PREV_YEARS TABLES G_TAB_INC_PREV_YEARS
STRUCTURE G_TAB_INC_PREV_YEARS.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120061532 0000522495 $*
*$ Req. Corr. Instructions 0120061532 0000500972 Note 0000585374 $*
*$ 0120061532 0000502742 Note 0000585374 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B77 $*
*$ Release 45B To SAPKE45B95 $*
*$ Release 46C To SAPKE46C68 $*
*$ Release 470 To SAPKE47012 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCIIDP0
*& Object Header PROG RPCIIDP0
*&-------------------------------------------------------------------*
*& GET PERNR
*&-------------------------------------------------------------------*
...
PERFORM read_cluster_rp USING pernr-pernr
CHANGING return_code.
IF return_code NE 0.
PERFORM process_errors USING return_code.
ENDIF.

*>>>> START OF INSERTION <<<<


PERFORM fill_income_prev_years CHANGING g_tab_inc_prev_years.

*>>>> END OF INSERTION <<<<<<


...
*&-------------------------------------------------------------------*
*& END-OF-SELECTION
*&-------------------------------------------------------------------*
...
CALL CUSTOMER-FUNCTION '001'
EXPORTING
year = aux_year
waers = waers
company = company
TABLES
personnel = personnel
tax_data = tax_data
deduction = deduction
report = report
CHANGING
ok_print = ok_print
EXCEPTIONS
unknown = 1.

IF ok_print EQ '0'.
*>>>> START OF DELETION <<<<<
PERFORM print_data TABLES personnel tax_data
deduction report
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
PERFORM print_data TABLES personnel
tax_data
deduction

report
g_tab_inc_prev_years
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*&-------------------------------------------------------------------*
*& Object REPS RPCIIDPD
*& Object Header PROG RPCIIDPD
*&-------------------------------------------------------------------*
...
*----------------------------------------------------------------------*
* INCLUDE RPCIIDPD *
*----------------------------------------------------------------------*

*>>>> START OF DELETION <<<<<


TYPE-POOLS PPT02.
TYPE-POOLS PPT05.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
TYPE-POOLS: ppt02,
ppt05,
pptgs.
*>>>> END OF INSERTION <<<<<<
...
DATA: COMPANY TYPE PPT02_COMPANY,
PERSONNEL TYPE PPT02_PERSONNEL OCCURS 10 WITH HEADER LINE,
TAX_DATA TYPE PPT02_TAX_DATA OCCURS 10 WITH HEADER LINE,
DEDUCTION TYPE PPT02_DEDUCTION OCCURS 10 WITH HEADER LINE,
REPORT TYPE PPT02_REPORT OCCURS 10 WITH HEADER LINE,
OTHER_DEDUCTION TYPE PPT02_DEDUCTION OCCURS 10 WITH HEADER LINE,
SS_WT TYPE PPT02_SSWT OCCURS 10 WITH HEADER LINE.

*>>>> START OF INSERTION <<<<


DATA: g_tab_inc_prev_years TYPE ppt02_inc_prev_years_tab.

*>>>> END OF INSERTION <<<<<<


...
SELECTION-SCREEN END OF BLOCK 3.

SELECTION-SCREEN BEGIN OF BLOCK 4 WITH FRAME TITLE TEXT-037.


PARAMETERS: OLD_TAX LIKE RPCXXXPT-OLDTX.
SELECTION-SCREEN END OF BLOCK 4.
*>>>> START OF DELETION <<<<<

*>>>> END OF DELETION <<<<<<<


...
*&-------------------------------------------------------------------*
*&-------------------------------------------------------------------*
*& Object REPS RPCIIDPF
*& Object Header PROG RPCIIDPF
*&-------------------------------------------------------------------*
*& FORM FILL_INCOME_PREV_YEARS
*&-------------------------------------------------------------------*
*>>>> START OF INSERTION <<<<
*&---------------------------------------------------------------------*
*& Form fill_income_prev_years
*&---------------------------------------------------------------------*
* text

*----------------------------------------------------------------------*
* <--P_G_TAB_INC_PREV_YEARS text
*----------------------------------------------------------------------*
FORM fill_income_prev_years CHANGING g_tab_inc_prev_years
TYPE ppt02_inc_prev_years_tab.
DATA: l_tab_pay_result TYPE pptgs_result_tab,
l_wa_pay_result TYPE pptgs_result,
l_wa_rt TYPE pc207,
l_wa_inc_prev_years TYPE ppt02_inc_prev_years,
l_year TYPE num4,
l_begda TYPE d,
l_endda TYPE d.

CLEAR: l_tab_pay_result,
l_wa_pay_result,
l_wa_rt,
l_wa_inc_prev_years.

REFRESH l_tab_pay_result.

l_year = year - 1.

CONCATENATE l_year '12' '01' INTO l_begda.


CONCATENATE l_year '12' '31' INTO l_endda.

* read payroll periods


CALL FUNCTION 'HR_PT_GET_PAYROLL_RESULTS'
EXPORTING
p_pernr = pernr-pernr
fpper_begda = l_begda
fpper_endda = l_endda
TABLES
result_tab = l_tab_pay_result
EXCEPTIONS
no_results = 1
no_read_authority = 2
import_mismatch_error = 3
t500l_entry_not_found = 4
OTHERS = 5.

IF sy-subrc NE 0.
* No error message, maybe exists some periods without results
ENDIF.

* read all the old results


LOOP AT l_tab_pay_result INTO l_wa_pay_result
WHERE evp-inper(4) <= year.

* calculate the amount for the type of income 'A'


LOOP AT l_wa_pay_result-inter-rt INTO l_wa_rt
WHERE lgart = '/Z06'.

l_wa_inc_prev_years-pernr = pernr-pernr.
l_wa_inc_prev_years-inc_type = income_a.
l_wa_inc_prev_years-amount = l_wa_rt-betrg.
l_wa_inc_prev_years-year = l_year - l_wa_rt-v0znr.
COLLECT l_wa_inc_prev_years INTO g_tab_inc_prev_years.

CLEAR l_wa_inc_prev_years.
ENDLOOP.
* calculate the amount for the type of income 'H'
LOOP AT l_wa_pay_result-inter-rt INTO l_wa_rt
WHERE lgart = '/Z13' OR lgart = '/Z23'.
l_wa_inc_prev_years-pernr = pernr-pernr.
l_wa_inc_prev_years-inc_type = income_h.
l_wa_inc_prev_years-amount = l_wa_rt-betrg.
l_wa_inc_prev_years-year = l_year - l_wa_rt-v0znr.
COLLECT l_wa_inc_prev_years INTO g_tab_inc_prev_years.
CLEAR l_wa_inc_prev_years.
ENDLOOP.

ENDLOOP.

ENDFORM. " fill_income_prev_years


*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*&-------------------------------------------------------------------*
*& Object REPS RPCIIDPO
*& Object Header PROG RPCIIDPO
*&-------------------------------------------------------------------*
*& FORM PRINT_DATA
*&-------------------------------------------------------------------*
...
*----------------------------------------------------------------------*
form print_data tables p_personnel structure personnel
p_tax_data structure tax_data
p_deduction structure deduction
p_report structure report
*>>>> START OF DELETION <<<<<
using p_company structure company.

*>>>> END OF DELETION <<<<<<<


*>>>> START OF INSERTION <<<<
p_inc_prev_years TYPE ppt02_inc_prev_years_tab
USING p_company STRUCTURE company.

*>>>> END OF INSERTION <<<<<<


...
new-page.
perform company_data using p_company.
perform personnel_data tables p_personnel.
perform remun_values tables p_tax_data p_deduction
p_report p_personnel.
*>>>> START OF INSERTION <<<<
PERFORM inc_prev_years TABLES p_inc_prev_years
p_personnel.

*>>>> END OF INSERTION <<<<<<


...
*&-------------------------------------------------------------------*
*& FORM INC_PREV_YEARS
*&-------------------------------------------------------------------*
*>>>> START OF INSERTION <<<<
*&---------------------------------------------------------------------*
*& Form inc_prev_years
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_P_inc_prev_years text
*----------------------------------------------------------------------*
FORM inc_prev_years TABLES p_inc_prev_years
TYPE ppt02_inc_prev_years_tab
p_personnel STRUCTURE personnel.

DATA: l_wa_inc_prev_years TYPE ppt02_inc_prev_years,


p_return_code LIKE sy-subrc.

CLEAR: l_wa_inc_prev_years.

SKIP 2.
WRITE: /5 text-038.
ULINE /5(66).

ULINE /5(76).
WRITE:/5 sy-vline, 8 text-015, 30 sy-vline, 35 text-014,
54 sy-vline, 58 text-039, 80 sy-vline.
ULINE /5(76).

LOOP AT p_inc_prev_years INTO l_wa_inc_prev_years


WHERE pernr = p_personnel-pernr.

IF conv_eur EQ 'X' AND year LT '2002'.


waers = euro.
PERFORM convert_amount USING pn-endda
versc-waers
l_wa_inc_prev_years-amount
waers
CHANGING l_wa_inc_prev_years-amount
p_return_code.
IF p_return_code NE 0.
PERFORM append_error USING space '3I' 'E' '084'
space space space space.
ENDIF.
ENDIF.

WRITE:/5 sy-vline.
IF l_wa_inc_prev_years-inc_type EQ income_a.
WRITE: 6 text-019.
ELSEIF l_wa_inc_prev_years-inc_type EQ income_h.
WRITE: 6 text-020.
ENDIF.

WRITE: 30 sy-vline, 40 l_wa_inc_prev_years-year, 54 sy-vline,


55 l_wa_inc_prev_years-amount CURRENCY waers,80 sy-vline.
ULINE /5(76).

ENDLOOP.

ENDFORM. " inc_prev_years


*>>>> END OF INSERTION <<<<<<
...

*&-------------------------------------------------------------------*

SAP note number 614276


________________________________________________________________________

Number 614276
Version 4 vom 24.02.2004
Status Released for Customer
Set on ,24.02.2004

Language EN
Mastersprache EN
Short text HR-PT: Report RPCIIDP0 available via ESS

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
The RPCIIDP0 generates a declaration for the employee and in order to
simplify the process it should be available via ESS.

Other terms
RPCIIDP0

Reason and Prerequisites

Solution
The system is customized in order to allow the employee to generate the
declaration via ESS.
The table T77WWW_REP is customized with the new transaction code to be
used via the ESS.
The correction and enhancements described in this note are include
an HR Support Package. See below for the package number.
The support package includes:

- new function group HRESSPT_REP;

- new function module HR_RPCIIDP0_ESS_PT;

- new transaction code HRESSPT_IID;

- new entrie in table T77WWW_REP.

________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
46C SAPKE46C71
470 SAPKE47015

________________________________________________________________________

SAP note number 648574


________________________________________________________________________

Number 648574
Version 2 vom 05.02.2004
Status Released for Customer
Set on ,05.02.2004

Language EN
Mastersprache EN
Short text HR-PT:Files downloaded are not filled with spaces in
the end

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
***********************************************************************
The changes described in this note were undone in January, 2004.
The correct solution for this problem is described in note 676416.
***********************************************************************

When downloading the file the last bytes with spaces were omitted.
The file would be rejected by Social Insurance.
Other terms
RPCSSRP0; RPUTSVP0; DOWNLOAD;
Reason and Prerequisites

Solution
***********************************************************************
The changes described in this note were undone in January, 2004.
The correct solution for this problem is described in note 676416.
***********************************************************************

The inclusion of field CR_LF in the end of each register guarantee that
function GUI_DOWNLOAD will keep the spaces.

The correction described in this note is included in an HR Support


Package. See below for the package number.

The support package includes:

o change in includes RPCSSRPD, RPCSSRPT, RPCSSRP1, RPUTSVPD and


RPUTSVPF.

________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
470 SAPKE47020
470 SAPKE47027

________________________________________________________________________

Assigned correction instructions


________________________________________________________________________

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120031469 0000245576 $*
*$ Req. Corr. Instructions 0120061532 0000441228 Note 0000532143 $*
*$ 0120061532 0000468666 Note 0000563598 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 470 To SAPKE47019 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCSSRP1
*& Object Header PROG RPCSSRP1
*&-------------------------------------------------------------------*
*& FORM CREATE_RECORD_R0
*&-------------------------------------------------------------------*
...
* <-- p2 text
*----------------------------------------------------------------------*
FORM create_record_r0
CHANGING p_temse_file TYPE REF TO cl_hr99s00_temse.

*>>>> START OF DELETION <<<<<


DATA: l_s_r0 TYPE pptr0,
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
DATA: l_s_r0 TYPE t_pptr0,
*>>>> END OF INSERTION <<<<<<
...
REFRESH l_tab_r0.

l_s_r0-tipreg = 'R0'.
l_s_r0-modelo = 'RC3008 '.
l_s_r0-versao = '01'.
*>>>> START OF DELETION <<<<<

*>>>> END OF DELETION <<<<<<<


*>>>> START OF INSERTION <<<<
l_s_r0-cr_lf = cl_abap_char_utilities=>CR_LF.

*>>>> END OF INSERTION <<<<<<


...
*&-------------------------------------------------------------------*
*& FORM CREATE_RECORD_R1
*&-------------------------------------------------------------------*
...
FORM create_record_r1 USING p_s_contributor TYPE t_s_contributor
p_s_remuneration TYPE t_s_remuneration
p_selection_screen LIKE pn
CHANGING p_tab_r1 TYPE t_tab_r1.

*>>>> START OF DELETION <<<<<


DATA l_s_r1 TYPE pptr1.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<

DATA l_s_r1 TYPE t_pptr1.


*>>>> END OF INSERTION <<<<<<
...
l_s_r1-razsoc = p_s_contributor-name.
l_s_r1-datrem = p_selection_screen-paper.
l_s_r1-locact = '00'.
CLEAR l_s_r1-spaces.
l_s_r1-nif = p_s_contributor-nif.
*>>>> START OF DELETION <<<<<
APPEND l_s_r1 TO p_tab_r1.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
l_s_r1-cr_lf = cl_abap_char_utilities=>CR_LF.
APPEND l_s_r1 TO p_tab_r1.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*& FORM CREATE_RECORD_R2
*&-------------------------------------------------------------------*
...
*----------------------------------------------------------------------*
FORM create_record_r2 USING p_s_beneficiary TYPE t_s_beneficiary
p_s_remuneration TYPE t_s_remuneration
CHANGING p_tab_r2 TYPE t_tab_r2.

*>>>> START OF DELETION <<<<<


DATA: l_s_r2 TYPE pptr2,
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
DATA: l_s_r2 TYPE t_pptr2,
*>>>> END OF INSERTION <<<<<<
...
IF p_s_remuneration-natrem NE c_fixed_rem AND
p_s_remuneration-natrem NE c_paid_vac_rem.
l_s_r2-sindia = l_s_r2-sinrem.
ENDIF.

CLEAR l_s_r2-spaces.
*>>>> START OF DELETION <<<<<

*>>>> END OF DELETION <<<<<<<


*>>>> START OF INSERTION <<<<
l_s_r2-cr_lf = cl_abap_char_utilities=>CR_LF.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*& FORM CREATE_RECORD_R3
*&-------------------------------------------------------------------*
...
FORM create_record_r3 USING p_s_beneficiary TYPE t_s_beneficiary
p_s_contributor TYPE t_s_contributor
p_s_summary TYPE t_s_summary
CHANGING p_tab_r3 TYPE t_tab_r3.

*>>>> START OF DELETION <<<<<


DATA l_s_r3 TYPE pptr3.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<

DATA l_s_r3 TYPE t_pptr3.


*>>>> END OF INSERTION <<<<<<
...
l_s_r3-taxa = p_s_beneficiary-totrate.
l_s_r3-totregs = p_s_summary-totregs.

CLEAR l_s_r3-spaces.
*>>>> START OF DELETION <<<<<

*>>>> END OF DELETION <<<<<<<


*>>>> START OF INSERTION <<<<
l_s_r3-cr_lf = cl_abap_char_utilities=>CR_LF.

*>>>> END OF INSERTION <<<<<<


...
*&-------------------------------------------------------------------*
*&-------------------------------------------------------------------*
*& Object REPS RPCSSRPD
*& Object Header PROG RPCSSRPD
*&-------------------------------------------------------------------*
...
data: g_file_name type rptstype-tsobj,
g_s_variant type disvariant.

DATA: g_payroll_waers LIKE t500c-waers.

data: g_s_period type pc261-fpper.


*>>>> START OF INSERTION <<<<

CLASS cl_abap_char_utilities DEFINITION LOAD.


*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*&-------------------------------------------------------------------*
*& Object REPS RPCSSRPT
*& Object Header PROG RPCSSRPT
*&-------------------------------------------------------------------*
...
types:
begin of t_s_remuneration_all,
actual type t_tab_remuneration, "values for actual period
previous type t_tab_remuneration, "values for previous period
difference type t_tab_remuneration, "Actual - Previous
end of t_s_remuneration_all.

*>>>> START OF DELETION <<<<<

** Temse records
types: t_tab_r0 type pptr0 occurs 1,
t_tab_r1 type pptr1 occurs 0,
t_tab_r2 type pptr2 occurs 0,
t_tab_r3 type pptr3 occurs 0.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
** Records structure
** The field CR_LF had to be include in the end of each structure
** because if not when using function GUI_DOWNLOAD the spaces would
** not be included in the end and the file would be rejected by
** Social Insurance
types:
begin of t_pptr0.
include structure pptr0.
types: teste(104) type c.
types: cr_lf(2).
types: end of t_pptr0.

types:
begin of t_pptr1.
include structure pptr1.
types: cr_lf(2).
types: end of t_pptr1.

types:
begin of t_pptr2.
include structure pptr2.
types: cr_lf(2).
types: end of t_pptr2.

types:
begin of t_pptr3.
include structure pptr3.
types: cr_lf(2).
types: end of t_pptr3.

** Temse records
types: t_tab_r0 type t_pptr0 occurs 1,
t_tab_r1 type t_pptr1 occurs 0,
t_tab_r2 type t_pptr2 occurs 0,
t_tab_r3 type t_pptr3 occurs 0.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*&-------------------------------------------------------------------*
*& Object REPS RPUTSVPD
*& Object Header PROG RPUTSVPD
*&-------------------------------------------------------------------*
...
*----------------------------------------------------------------------*
* INCLUDE RPUTSVPD - Data declaration *
*----------------------------------------------------------------------*
* Global data
*>>>> START OF DELETION <<<<<
CONSTANTS: C_CREMP0_RECORDSIZE(3) VALUE 116,
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
CONSTANTS: C_CREMP0_RECORDSIZE(3) VALUE 118, " 2 bytes for field CR_LF
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*&-------------------------------------------------------------------*
*& Object REPS RPUTSVPF
*& Object Header PROG RPUTSVPF
*&-------------------------------------------------------------------*
*& FORM DOWNLOAD_CREMP0
*&-------------------------------------------------------------------*
...
FORM DOWNLOAD_CREMP0.

* These two calls are necessary so that trailing


* spaces are not cut at the end of every line.
PERFORM SET_TRAIL_BLANKS(SAPLGRAP) USING 'X'.
PERFORM SET_FIXLEN(SAPLGRAP) USING '0' C_CREMP0_RECORDSIZE.

CALL FUNCTION 'HR_99S_DOWNLOAD'


*>>>> START OF DELETION <<<<<
EXPORTING
P_WRITE_LF = 'X'
TABLES
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
TABLES
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

SAP note number 662903


________________________________________________________________________

Number 662903
Version 15 vom 09.01.2004
Status Released for Customer
Set on ,09.01.2004

Language EN
Mastersprache EN
Short text HR-PT: Corrections to VA annual payment method 'A'

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom

1. If the VA adjustment is not to be made immediatlly but only in the


last month of adjustment the system is wrongly calculating the
value. This happens because the estimation is calculated every month
according with the leave days not taken which will mislead the
adjustment amount.

2. If the leave quota type has more than 22 days but the payroll
calculations is defined 22 in T5PVA a incorrect adjustment may
happens after the employee take all the leave days.
3. When doing a payroll retrocalculation and using the estimation
method 'Annual estimation corrected over all leave days' the number
of the adjustment days may be incorrect.

4. When the VA payment is done annually on a fixed date, if an employee


is hired after the date of payment he receives the vacation
allowance in the payroll processing for the hiring month, this is
incorrect he should only receive this allowance in December as an
adjustment. See Correction Inst. 0120031469 0000284857.

Other terms
PVACE; /632; adjustment

Reason and Prerequisites

Solution

a) A new technical wage type /637 (copy of /636) is created. This


wage type will be generated in the payroll function PVACE and
will have the amount and number of days of adjustment to be paid
to the employee in the adjustment month.

After applying this note a retrocalculation until the pay raise month is
recommended.

The correction and enhancements described in this note are included an


HR Support Package. See below for the package number.
The support package includes:

- code modifications into the include RPCALLP1;

________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45BA3
45B SAPKE45BA4
45B SAPKE45BA5
45B SAPKE45BA7
46B SAPKE46B85
46B SAPKE46B86
46B SAPKE46B87
46B SAPKE46B88
46B SAPKE46B89
46B SAPKE46B90
46C SAPKE46C76
46C SAPKE46C77
46C SAPKE46C78
46C SAPKE46C80
46C SAPKE46C81
470 SAPKE47021
470 SAPKE47025
470 SAPKE47026

________________________________________________________________________

Assigned correction instructions


________________________________________________________________________

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120031469 0000266782 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B86 $*
*$ Release 45B To SAPKE45BA4 $*
*$ Release 46C To SAPKE46C77 $*
*$ Release 470 To SAPKE47024 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCALLP1
*& Object Header PROG RPCALLP1
*&-------------------------------------------------------------------*
*& FORM DET_ESTIM_PART_ANNUAL
*&-------------------------------------------------------------------*
...
DATA: l_wa_ort LIKE pc207.

DATA: l_va LIKE pc2pf,


l_per_before LIKE aper-paper.

*>>>> START OF DELETION <<<<<


CLEAR: l_wa_ort.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
DATA: rt_need TYPE boolean. "Flag indicat. creation of wt

CLEAR: l_wa_ort.
*>>>> END OF INSERTION <<<<<<
...
* When no immediate adjs. this wage type is processed until the month of
* the adjustment payment
READ TABLE ort INTO l_wa_ort WITH KEY lgart = '/637'.
*>>>> START OF DELETION <<<<<
IF sy-subrc = 0.
MOVE l_wa_ort TO rt.
APPEND rt.
* Difference to be added to the cumulated paid amount until the month
* of the adjustment payment
l_dif_cpamt = l_wa_ort-betrg.
ENDIF.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
IF sy-subrc = 0 AND aper-paper+4(2) <> '01'.
MOVE l_wa_ort TO rt.
APPEND rt.
* Difference to be added to the cumulated paid amount until the month
* of the adjustment payment
l_dif_cpamt = l_wa_ort-betrg.
ELSE.
MOVE-CORRESPONDING l_va TO va.
ENDIF.
*>>>> END OF INSERTION <<<<<<

...
IF r_t5pva-adjpy IS INITIAL
AND l_aux_estam <> 0
AND va-estam > l_aux_estam
AND ( aper-paper NE r_t5pva-ladjd OR aper-paper+4(2) <> '12' ).

*>>>> START OF DELETION <<<<<


l_aux_betrg = va-estam - l_aux_estam.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
rt_need = true.
l_aux_betrg = va-estam - l_aux_estam.
*>>>> END OF INSERTION <<<<<<
...
IF sy-subrc = 0.
ADD rt-betrg TO l_aux_betrg.
ELSE.
IF va-cpamt = 0.
l_aux_betrg = 0.
*>>>> START OF DELETION <<<<<
ENDIF.
ENDIF.

*>>>> END OF DELETION <<<<<<<


*>>>> START OF INSERTION <<<<
rt_need = false.
ENDIF.
ENDIF.

IF rt_need = true.
*>>>> END OF INSERTION <<<<<<
...
APPEND rt.
ENDIF.

MOVE rt TO ot.
PERFORM hr_pt_addcu. "Cumulate adjustm. to /1*
*>>>> START OF DELETION <<<<<
ENDIF.

*>>>> END OF DELETION <<<<<<<


*>>>> START OF INSERTION <<<<
ENDIF.
ENDIF.

*>>>> END OF INSERTION <<<<<<


...
*&-------------------------------------------------------------------*

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120031469 0000280460 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B88 $*
*$ Release 45B To SAPKE45BA6 $*
*$ Release 46C To SAPKE46C79 $*
*$ Release 470 To SAPKE47024 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCALLP1
*& Object Header PROG RPCALLP1
*&-------------------------------------------------------------------*
*& FORM DET_ESTIM_PART_ANNUAL
*&-------------------------------------------------------------------*
...
ELSEIF NOT va-payfl IS INITIAL.
temp_betrg = 0.
temp_anzhl = max_days - va-cvday + va-vdays.
ELSE.
temp_betrg = fact_betrg - va-cpamt - va-ediff - l_dif_cpamt.
*>>>> START OF DELETION <<<<<
* "Days yet to be taken
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
* If the pay raise occurs in the VA payment then the estimation
* is already correct and the value of adjustment (/637) in December
* is correct as well
IF temp_betrg < 0.
temp_betrg = 0.
l_dif_cpamt = 0.
ENDIF.
* "Days yet to be taken
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120031469 0000284857 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B89 $*
*$ Release 45B To SAPKE45BA6 $*
*$ Release 46C To SAPKE46C80 $*
*$ Release 470 To SAPKE47025 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCALLP0
*& Object Header PROG RPCALLP0
*&-------------------------------------------------------------------*
*& FORM CHECK_PAYDATE
*&-------------------------------------------------------------------*
...
ENDIF.
ENDLOOP.

LOOP AT p_payment_tab.

*>>>> START OF DELETION <<<<<


IF ( p_r_t5pva-paytr EQ c_monthly_fixed ).
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
IF ( p_r_t5pva-paytr EQ c_monthly_fixed )
or ( p_r_t5pva-paytr EQ c_annually_fixed ).
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120061532 0000589523 $*
*$ Req. Corr. Instructions 0120031469 0000255997 Note 0000657871 $*
*$ 0120031469 0000261039 Note 0000609252 $*
*$ 0120031469 0000261114 Note 0000609252 $*
*$ 0120061532 0000534778 Note 0000607926 $*
*$ 0120061532 0000536595 Note 0000609252 $*
*$ 0120061532 0000545075 Note 0000614986 $*
*$ 0120061532 0000546990 Note 0000615582 $*
*$ 0120061532 0000556064 Note 0000609252 $*
*$ 0120061532 0000567543 Note 0000609252 $*
*$ 0120061532 0000573952 Note 0000609252 $*
*$ 0120061532 0000583969 Note 0000642329 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B84 $*
*$ Release 45B To SAPKE45BA2 $*
*$ Release 46C To SAPKE46C75 $*
*$ Release 470 To SAPKE47020 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCALLP1
*& Object Header PROG RPCALLP1
*&-------------------------------------------------------------------*
*& FORM DET_ESTIM_PART_ANNUAL
*&-------------------------------------------------------------------*
...
DATA: temp_anzhl LIKE pc207-anzhl,
temp_betrg LIKE pc207-betrg,
temp_amt LIKE pc207-betrg.

DATA: fact_betrg LIKE pc207-betrg.

DATA: l_wa_p0007 LIKE p0007.

*>>>> START OF DELETION <<<<<


fact_betrg = ( va-fixco + va-varco ).
IF max_days NE bas_days.
MULTIPLY fact_betrg BY max_days.
DIVIDE fact_betrg BY bas_days.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
DATA: l_aux_betrg LIKE pc207-betrg,
l_dif_cpamt LIKE pc207-betrg,
l_aux_estam LIKE pc207-betrg.

DATA: l_wa_ort LIKE pc207.

CLEAR: l_wa_ort.

fact_betrg = ( va-fixco + va-varco ).


IF max_days NE bas_days.
MULTIPLY fact_betrg BY max_days.
DIVIDE fact_betrg BY bas_days.
ENDIF.

* Old VA estimation

l_aux_estam = va-estam.

PERFORM import USING 'L' space space.

* When no immediate adjs. this wage type is processed until the month of
* the adjustment payment
READ TABLE ort INTO l_wa_ort WITH KEY lgart = '/637'.

IF sy-subrc = 0.
MOVE l_wa_ort TO rt.
APPEND rt.
* Difference to be added to the cumulated paid amount until the month
* of the adjustment payment
l_dif_cpamt = l_wa_ort-betrg.
*>>>> END OF INSERTION <<<<<<
...
temp_anzhl = max_days.
ELSEIF NOT va-payfl IS INITIAL.
temp_betrg = 0.
temp_anzhl = max_days - va-cvday + va-vdays.
ELSE.
*>>>> START OF DELETION <<<<<
temp_betrg = fact_betrg - va-cpamt - va-ediff.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
temp_betrg = fact_betrg - va-cpamt - va-ediff - l_dif_cpamt.
*>>>> END OF INSERTION <<<<<<
...
ENDIF.
MULTIPLY temp_betrg BY temp_anzhl.
DIVIDE temp_betrg BY max_days.
* Then: Add amount already paid
ADD va-cpamt TO temp_betrg.
*>>>> START OF DELETION <<<<<
ELSE.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
* When no immediate adjs. is used
ADD l_dif_cpamt TO temp_betrg.
ELSE.
*>>>> END OF INSERTION <<<<<<
...
ENDIF.

MOVE temp_betrg TO va-estam.

PERFORM correct_estim USING va-vagrp


CHANGING va-estam.
*>>>> START OF DELETION <<<<<

* Determine new estimation difference


*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<

* If a pay raise occurs and there is no immediate adjustment


* this adjs. value must be stored until the adjustment month
IF r_t5pva-adjpy IS INITIAL
AND l_aux_estam <> 0

AND va-estam > l_aux_estam


AND ( aper-paper NE r_t5pva-ladjd OR aper-paper+4(2) <> '12' ).

READ TABLE rt WITH KEY lgart = '/637'.

IF sy-subrc = 0.
l_aux_betrg = va-estam - l_aux_estam.
ADD rt-betrg TO l_aux_betrg.
ELSE.
l_aux_betrg = va-estam - va-cpamt.
ENDIF.
CLEAR: rt.
rt-abart = '*'.
rt-lgart = '/637'.
rt-betrg = l_aux_betrg.
rt-anzhl = temp_anzhl.
IF sy-subrc = 0.
MODIFY rt INDEX sy-tabix.
else.
* Generating for the first time the wt /637
APPEND rt.
ENDIF.
MOVE rt TO ot.
PERFORM hr_pt_addcu. "Cumulate adjustm. to /1*
ENDIF.

* Determine new estimation difference


*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*& FORM VA_ADJUST_ANNUAL
*&-------------------------------------------------------------------*
...
DATA: temp_betrg LIKE pc207-betrg,
temp_anzhl LIKE pc207-anzhl.

DATA: l_event_ret. "Similar to VARGT

*>>>> START OF DELETION <<<<<


* By default, assume an adjustment is never to be made
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
DATA: l_wa_rt LIKE pc207.

CLEAR: l_wa_rt.
* By default, assume an adjustment is never to be made
*>>>> END OF INSERTION <<<<<<
...
ENDIF.
ENDIF.
ENDIF.

IF need_adjust EQ true.
*>>>> START OF DELETION <<<<<
* Correct amount paid over annual estimation
temp_betrg = va-estam - va-cpamt.
*>>>> END OF DELETION <<<<<<<

*>>>> START OF INSERTION <<<<


* In case of no immediate adjs.
* the adjs. values have been stored in wt /637
READ TABLE rt INTO l_wa_rt WITH KEY lgart = '/637'.
IF sy-subrc = 0.
temp_betrg = l_wa_rt-betrg.
ELSE.
* Correct amount paid over annual estimation
temp_betrg = va-estam - va-cpamt.
ENDIF.
*>>>> END OF INSERTION <<<<<<
...
temp_anzhl = max_days - va-cpday.
IF temp_anzhl GT 0.
ADD temp_anzhl TO: va-pdays,
va-cpday.
SUBTRACT temp_anzhl FROM va-clday.
*>>>> START OF DELETION <<<<<
ELSEIF temp_betrg GT 0.
* Days yet to be taken
temp_anzhl = max_days - va-cvday + va-vdays.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
ELSEIF temp_betrg GT 0
AND NOT r_t5pva-adjpy IS INITIAL. "immediate adjs.
* Days yet to be taken
temp_anzhl = max_days - va-cvday + va-vdays.
ELSEIF r_t5pva-adjpy IS INITIAL. "last month of adjs.
temp_anzhl = l_wa_rt-anzhl.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120061532 0000591236 $*
*$ Req. Corr. Instructions 0120031469 0000261039 Note 0000609252 $*
*$ 0120031469 0000261114 Note 0000609252 $*
*$ 0120061532 0000509665 Note 0000581081 $*
*$ 0120061532 0000534177 Note 0000602585 $*
*$ 0120061532 0000555941 Note 0000617471 $*
*$ 0120061532 0000556064 Note 0000609252 $*
*$ 0120061532 0000567543 Note 0000609252 $*
*$ 0120061532 0000573952 Note 0000609252 $*
*$ 0120061532 0000583969 Note 0000642329 $*
*$ 0120061532 0000589523 Note 0000662903 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B84 $*
*$ Release 45B To SAPKE45BA2 $*
*$ Release 46C To SAPKE46C75 $*
*$ Release 470 To SAPKE47020 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCALLP1
*& Object Header PROG RPCALLP1
*&-------------------------------------------------------------------*
*& FORM DET_LEAVE_TAKEN
*&-------------------------------------------------------------------*
...
ELSEIF sy-subrc = 0.
l_it-anzhl = l_wa_p0015-anzhl.
ENDIF.
ENDIF.

*>>>> START OF DELETION <<<<<


l_it-betrg = ( va-fixco + va-varco ) * l_it-anzhl.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
temp_anzhl = l_it-anzhl + va-cvday.
IF temp_anzhl GT max_days.
* The total number of leave days taken for the calculation can not be
* bigger than the max_days, therefore the sum of the number of days used
* for calculation and the already taken days cannot be bigger than the
* max_days
l_it-anzhl = max_days - va-cvday.
* For the clearing fields, the total number of days has to be limited
* to the number of days the employee will be paid for (temp_anzhl)
temp_anzhl = max_days.
ENDIF.

l_it-betrg = ( va-fixco + va-varco ) * l_it-anzhl.


*>>>> END OF INSERTION <<<<<<
...
DIVIDE l_it-betrg BY bas_days.
* Update VA with earned values
ADD l_it-anzhl TO va-vdays.
ADD l_it-betrg TO va-eamnt.

*>>>> START OF DELETION <<<<<


* For the clearing fields, the total number of days has to be limited

* to the number of days the employee will be paid for


temp_anzhl = va-cvday + l_it-anzhl.
IF temp_anzhl GT max_days.
temp_anzhl = max_days.
ENDIF.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
* Clearing fields
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*& FORM VA_ADJUST_ANNUAL
*&-------------------------------------------------------------------*
...
IF temp_anzhl GT 0.
ADD temp_anzhl TO: va-pdays,
va-cpday.
SUBTRACT temp_anzhl FROM va-clday.
ELSEIF temp_betrg GT 0
*>>>> START OF DELETION <<<<<
AND NOT r_t5pva-adjpy IS INITIAL. "immediate adjs.
* Days yet to be taken
temp_anzhl = max_days - va-cvday + va-vdays.
ELSEIF r_t5pva-adjpy IS INITIAL. "last month of adjs.
temp_anzhl = l_wa_rt-anzhl.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
AND NOT r_t5pva-adjpy IS INITIAL "immediate adjs
AND r_t5pva-estme EQ 'P'. "Partial adjs.
* Days yet to be taken
temp_anzhl = max_days - va-cvday + va-vdays.
ELSEIF r_t5pva-adjpy IS INITIAL "last month of adjs
AND r_t5pva-estme EQ 'P'. "Partial adjs.
temp_anzhl = l_wa_rt-anzhl.
ELSEIF r_t5pva-estme EQ 'A'. "Total ajs.
temp_anzhl = max_days.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120061532 0000596451 $*
*$ Req. Corr. Instructions 0120061532 0000589523 Note 0000662903 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B85 $*
*$ Release 45B To SAPKE45BA3 $*
*$ Release 46C To SAPKE46C76 $*
*$ Release 470 To SAPKE47020 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCALLP1
*& Object Header PROG RPCALLP1
*&-------------------------------------------------------------------*
*& FORM DET_ESTIM_PART_ANNUAL
*&-------------------------------------------------------------------*
...
DATA: l_aux_betrg LIKE pc207-betrg,
l_dif_cpamt LIKE pc207-betrg,
l_aux_estam LIKE pc207-betrg.

DATA: l_wa_ort LIKE pc207.

*>>>> START OF DELETION <<<<<


CLEAR: l_wa_ort.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
DATA: L_VA LIKE PC2PF,
L_PER_BEFORE LIKE APER-PAPER.

CLEAR: l_wa_ort.
*>>>> END OF INSERTION <<<<<<
...
DIVIDE fact_betrg BY bas_days.
ENDIF.

* Old VA estimation
l_aux_estam = va-estam.
*>>>> START OF DELETION <<<<<
PERFORM import USING 'L' space space.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<

MOVE VA TO L_VA.

PERFORM import USING 'L' space space.

* Check if the import is correct


L_PER_BEFORE = APER-PAPER - 1.
IF OVERSC-FPPER <> L_PER_BEFORE.
MOVE-CORRESPONDING L_VA TO VA.
ENDIF.
*>>>> END OF INSERTION <<<<<<
...
IF r_t5pva-adjpy IS INITIAL
AND l_aux_estam <> 0

AND va-estam > l_aux_estam


AND ( aper-paper NE r_t5pva-ladjd OR aper-paper+4(2) <> '12' ).

*>>>> START OF DELETION <<<<<


READ TABLE rt WITH KEY lgart = '/637'.

IF sy-subrc = 0.
l_aux_betrg = va-estam - l_aux_estam.
ADD rt-betrg TO l_aux_betrg.
ELSE.
l_aux_betrg = va-estam - va-cpamt.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
L_AUX_BETRG = VA-ESTAM - L_AUX_ESTAM.

READ TABLE rt WITH KEY lgart = '/637'.

IF sy-subrc = 0.
ADD rt-betrg TO l_aux_betrg.
ELSE.
IF VA-CPAMT = 0.
L_AUX_BETRG = 0.
ENDIF.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

SAP note number 671876


________________________________________________________________________

Number 671876
Version 10 vom 08.01.2004
Status Released for Customer
Set on ,28.11.2003
Language EN
Mastersprache EN
Short text HR-PT: New Labor Law from August 27th, 2003

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
The contract law has been modified and the system needs to be maintained
in order to be able to deal with the new law. This law will be
compulsory after December the 1st of the current year.

1. The new law brings changes regarding the number of days for
vacations and how they should be generated.

2. The hourly rate calculation for the overtime work has been changed
by the new law. If an employee has the "Regime de Adaptabilidade"
the calculation for the hourly rate changes.

3. Accordingly the article 200.�, depending on the company dimension


certain limits must be applied to the overtime hours. A company
cannot allow the employee to do more than a certain amount of
overtime hours per year.

4. The way to process the night shift has been modified as well. The
night shift is now consider after 22 o'clock except for all the
employees that satisfy the conditions according the article 11.�,
published on August 27th, 2003.

5. The new law brings some modifications to the absences process.

Other terms
C�digo do Trabalho ; Labor Law ;

Reason and Prerequisites


Prerequisites

4.5B - LCPA4

4.6B - LCP86

4.6C - LCP77

4.7 - LCP22

It's important that for the L9B, L9C and L6B the note #660891 is
implemented in the system before you apply the new LCP or the advance
delivery attached in this note.
Attached files

4.5B - L4DK108642.CAR --> system

L4DK108643.CAR --> customize

L4DK108836.car --> new absences customize

4.6B - L9BK111453.car --> system

L9BK111556.car --> system

L9BK111454.car --> customize

L9BK111760.car --> new absences customize

4.6C - L9CK149577.car --> system

L9CK149576.car --> customize

L9CK150113.car --> new absences customize

4.7 - L6BK052380.car --> system

L6BK052382.car --> system

L6BK052381.car --> customize

L6BK052987.car --> new absences customize

Word document: VA_legal_changes_2003.zip

Solution

a) Regarding the modifications and how to customize the system for


the new vacation quota generation, please read the word document
"VA_legal_changes_2003.doc". You can make the download of this
document from the attachment "VA_legal_changes_2003.zip" in this
note.

b) Since a customer can have a different overtime process we create


a note with one possible solution regarding the new hourly rate
and overtime process. In order to apply this solution please see
the note #677084.

c) The solution for the legal change for the overtime limits
depending on the company can be found in the note #683795.

d) The solution for the new process of the night shift can be found
in the note #675177.

e) In order to customize the absences according the new law, please


see the note #680316.

The correction and enhancements described in this note are included an


HR Support Package. See below for the package number.
The support package includes:

- addition of a new field (REDVA) in table T5PAB and in view


V_T5PAB;

- addition of two new fields (NIGHT and RGOVT) in infotype 0334,


stucture ps0334;

- new payroll operation: PT334;

- new function modules for the vacation allowance process


included in the function group 3P04:

HR_QTACC_ACCRUAL_ENTITLE_19;

HR_CHANGE_QUOTAS_GEN_19;

- new payroll constant NHORA in table T511K;

Note: The files are attached in this note. To download the files please
check the note 13719, 212876 and 480180.

________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to related notes

Number Short text


____________________________________________________________
683795HR-PT: Legal changes to the yearly limits of overtime hours
680316Legal Changes regarding Absences
677084Legal Changes regarding Overtime valuation
675177Legal Changes on the subject of Night Shift

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45BA5
46B SAPKE46B87
46B SAPKE46B88
46C SAPKE46C78
470 SAPKE47023
470 SAPKE47024

________________________________________________________________________

SAP note number 675177


________________________________________________________________________

Number 675177
Version 29 vom 26.04.2004
Status Released for Customer
Set on ,26.04.2004

Language EN
Mastersprache EN
Short text Legal Changes on the subject of Night Shift

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
Article 11.�, published on August 27th,2003, says that the employee will
continue to receive an additional remuneration for night shift between
20:00 and 22:00 if :

o from August 27th,2002 till August 27th,2003 the employee worked


at least 50 hours between 20:00 and 22:00.

o from August 27th,2002 till August 27th,2003 the employee worked


at least 150 hours after 22:00.

From August 27th,2003 on, the night shift is considered after 22:00.

Other terms
Portugal , M185 , Trabalho nocturno , Retribui��o , night shift

Reason and Prerequisites

Solution
The company must find the total of worked hours between 20:00 and 22:00
and after 22:00, for the period between August 27th,2002 and August
27th,2003, for each employee.This is needed to check which employees
still have the right to receive this bonus in the future (Article 11.�).

The following solution is only a possible one, which was tested in our
standard system.
A new field is added in IT0334 in order to allow the customer to
customize for each employee how the system should behave regarding the
night shift. For instance if an employee still have the right to receive
the bonus according the new law, the field 'Night Shift' must be
checked.
In order to read this information a nem Time Management operation is
needed, please create a TM operation. This operation must have the same
parameters as the payroll operation PT334 and must be created in the
customer include 'RPTMOZ00' with the following code:

*&---------------------------------------------------------------------*
*& Form OPPT334
*&---------------------------------------------------------------------*
* Reads de fields for the night shift and "Regime de
* Adaptabilidade" from it0334

*----------------------------------------------------------------------*
FORM oppt334.

INFOTYPES: 0334.

CLEAR vargt.

IF p0334[] IS INITIAL.
CALL FUNCTION 'HR_READ_INFOTYPE'
EXPORTING
tclas = 'A'
pernr = pernr-pernr
infty = '0334'
begda = wpbp-begda
endda = wpbp-endda
TABLES
infty_tab = p0334.
ENDIF.

CASE op+5(5).
WHEN 'NIGHT'.
PROVIDE night FROM p0334
BETWEEN wpbp-begda AND wpbp-endda.

IF psp-datum < '20031201'.


vargt = 'X'.
ELSE.
vargt = p0334-night. " NIGHT
ENDIF.
ENDPROVIDE.

WHEN 'RGOVT'.
PROVIDE rgovt FROM p0334
BETWEEN wpbp-begda AND wpbp-endda.

vargt = p0334-rgovt. " RGOVT


ENDPROVIDE.

WHEN OTHERS.

ENDCASE.
IF vargt EQ space.
IF psp-datum < '20031201'.
vargt = 'X'.
ELSE.
vargt = '*'.
ENDIF.
ENDIF.

PERFORM fillvargt. " Interface to cycle

ENDFORM. "oppt334

1. To read the new field from it0334 use the operation PT334 created
above.
Create a Time Management personnel calculation rule ZYYY with the

following code:

Rule:ZYYY ESGrp grouping: * Wage/time type: ****


VarKey NL T Operation Operation Operation Operation Operation
-------------+---------+---------+---------+---------+---------+
D PT334NIGHT
* SCOND=F IF -> actual schedule for the night shift
X SCOND=T IF -> old schedule for the night shift (new law)

2. This rule could be called from the sub-schema PC00 before the wage
types generation for the night shift.

Fn�s.Par1 Par2 Par3 Par4 D Txt.


...
IF ZYYY
DAYMO 01 01 01 01 Set day group. for T510S
ELSE
DAYMO 02 02 02 02 Set day group. for T510S (New law)
ENDIF
GWT S DZL
...

3. New records must be created into table T510S for the new day
grouping 02 according to the company policy.

Note
The new field in infotype 0334 is included in the advance delivery in
the note #671876 which contains all the modifications to apply the new
labor law. These modifications will be included as well in the following
LCP's:

4.5B - LCPA4

4.6B - LCP86
4.6C - LCP77

4.7 - LCP22

________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to related notes

Number Short text


____________________________________________________________
680316Legal Changes regarding Absences
677084Legal Changes regarding Overtime valuation
671876HR-PT: New Labor Law from August 27th, 2003

________________________________________________________________________

SAP note number 682923


________________________________________________________________________

Number 682923
Version 1 vom 20.11.2003
Status Released for Customer
Set on ,27.11.2003

Language EN
Mastersprache EN
Short text HR-PT: RPICHRP0 - period to be defined manually

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
When running the report RPICHRP0 for a informed year the employees
were selected when being active at any time in that year.

Now the period can be informed and the report will process only the
employees active in the informed periods.
Other terms
RPICHRP0; CA; Christmas Allowance;
Reason and Prerequisites

Solution
The correction described in this note is included in an HR Support
Package. See below for the package number.

The support package includes:

o changes in report RPICHRP0.

________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45BA9
46B SAPKE46B91
46C SAPKE46C82
470 SAPKE47027

________________________________________________________________________

Assigned correction instructions


________________________________________________________________________

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120031469 0000267928 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B90 $*
*$ Release 45B To SAPKE45BA8 $*
*$ Release 46C To SAPKE46C81 $*
*$ Release 470 To SAPKE47026 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPICHRP0
*& Object Header PROG RPICHRP0
*&-------------------------------------------------------------------*
*& AT SELECTION-SCREEN ON URLJJ
*&-------------------------------------------------------------------*
...
at selection-screen on urljj. "XFIR45K021299
*>>>> START OF DELETION <<<<<
pnpbegda = '19000101'. "XFIR45K021299
pnpbegda+0(4) = urljj. "XFIR45K021299
pnpendda = '19001231'. "XFIR45K021299
pnpendda+0(4) = urljj. "XFIR45K021299
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
if pnpbegda is initial.
pnpbegda = '19000101'.
endif.
pnpbegda+0(4) = urljj.
if pnpendda is initial.
pnpendda = '19001231'.
endif.
pnpendda+0(4) = urljj.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

SAP note number 687491


________________________________________________________________________

Number 687491
Version 6 vom 30.01.2004
Status Released for Customer
Set on ,30.01.2004

Language EN
Mastersprache EN
Short text HR-PT: Corrections to generic statistical (RPCGSRP0)

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
According to Legal Entity (Departamento de Estudos, Estat�stica e
Planeamento), the Earning Survey and the Work Schedule Survey are
unified to one Survey.

Other terms
RPCGSRP0;
Reason and Prerequisites

Solution
The correction described are included in a LCP. Please look below for
the correction number.
The LCP includes:

o source code correction to RPCGSRP0, RPCGSRPP, RPCGSRPS, RPCGSRPW,


RPCE99P0;

o new entry in table T596F: PEWS

The LCP's are the prefered method for implementing standard changes in
your system or advance delivery attached in this note.
To know which file (in attachment of this note) corresponding to your
release, please see below:

o for release 470: L6BK....CAR

o for release 46C: L9CK....CAR

o for release 46B: L9BK....CAR

o for release 45B: L4DK....CAR

________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to related notes

Number Short text


____________________________________________________________
480180Download and installation of attachments for SAP notes
13719 Preliminary transports to customers (note for customers)

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45BA9
46B SAPKE46B89
46B SAPKE46B91
46C SAPKE46C80
46C SAPKE46C82
470 SAPKE47025
470 SAPKE47027

________________________________________________________________________

SAP note number 691640


________________________________________________________________________

Number 691640
Version 6 vom 20.04.2004
Status Released for Customer
Set on ,21.04.2004

Language EN
Mastersprache EN
Short text HR-PT: Corrections to the New Labor Law 2003

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom

1. If a company as a leave entitlement with more than 22 days in the


second working year for the employee the maximum leave entitlement
will be 25, which is wrong. In this case should be the leave
entitlement more the number of days according the rule regarding the
absences from the last year. For instances if a company have a leave
entitlement of 24 days and the employee never had an absence in the
previous year, he is entitled to 27 days in the second year,
according the new law.

2. In some situations the termination is not being paid even if the


employee has worked more than 1 year.

3. If an fixed term employee is hired for one year and the finish date
is in the next year he/she must be entitle to 20 days of vacations,
and the system is generating 22.

Other terms
New law 2003;

Reason and Prerequisites

Solution

a) The code is modified to take the leave entitlement customised in


T599E.

b) The payroll function PVACT is modified.

The correction and enhancements described in this note are included an


HR Support Package. See below for the package number.
The support package includes:
- modifications into the function module HR_QTACC_ACCRUAL_ENTITLE_19
and HR_CHANGE_QUOTAS_GEN_19
- modifications into the payroll function PVACT.
________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45BA7
45B SAPKE45BA8
45B SAPKE45BB1
46B SAPKE46B89
46B SAPKE46B90
46B SAPKE46B93
46C SAPKE46C80
46C SAPKE46C81
46C SAPKE46C84
470 SAPKE47025
470 SAPKE47026
470 SAPKE47029

________________________________________________________________________

Assigned correction instructions


________________________________________________________________________

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120031469 0000279876 $*
*$ Req. Corr. Instructions 0120061532 0000294703 Note 0000416743 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B88 $*
*$ Release 45B To SAPKE45BA6 $*
*$ Release 46C To SAPKE46C79 $*
*$ Release 470 To SAPKE47024 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object FUNC HR_QTACC_ACCRUAL_ENTITLE_19
*& Object Header FUGR 3P04
*&-------------------------------------------------------------------*
*& FUNCTION HR_QTACC_ACCRUAL_ENTITLE_19
*&-------------------------------------------------------------------*
...
ENDIF.

* according the absence that the employee had in the last completed year
* he/she will be entitled to more or less days of vacations
* Contrato de trabalho art. 213� 27 Agosto de 2004
IF l_abday LE 1.
*>>>> START OF DELETION <<<<<
xqtnum = 25.
ELSEIF l_abday BETWEEN 1 AND 2.
xqtnum = 24.
ELSEIF l_abday BETWEEN 2 AND 3.
xqtnum = 23.
ELSE.
xqtnum = 22.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
* xqtnum = 25.
xqtnum = xqtnum + 3.
ELSEIF l_abday BETWEEN 1 AND 2.
* xqtnum = 24.
xqtnum = xqtnum + 2.
ELSEIF l_abday BETWEEN 2 AND 3.
* xqtnum = 23.
xqtnum = xqtnum + 1.
ELSE.
* xqtnum = 22.
* Nothing is done the number of days remains the same
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120031469 0000287928 $*
*$ Req. Corr. Instructions 0120061532 0000390932 Note 0000511101 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B89 $*
*$ Release 45B To SAPKE45BA7 $*
*$ Release 46C To SAPKE46C80 $*
*$ Release 470 To SAPKE47025 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCMASPF
*& Object Header PROG RPCMASPF
*&-------------------------------------------------------------------*
*& FORM FUPVACT
*&-------------------------------------------------------------------*
...
CALL FUNCTION 'HR_PT_HIRE_FIRE'
EXPORTING
beg = '18000101'
end = aper-endda
IMPORTING
fire_date = l_fire_date
hire_date = l_hire_date
TABLES
pp0000 = p0000
pp0001 = p0001
pp0016 = p0016
pp0041 = p0041
EXCEPTIONS
entry_date_not_found = 1
feature_error = 2
OTHERS = 3.

IF sy-subrc NE 0.
RAISE error_hire_fire.
ENDIF.

*>>>> START OF DELETION <<<<<


* Chech how long the employee is working for the company
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
IF l_fire_date = high-date.
l_fire_date = aper-endda.
ENDIF.

* Chech how long the employee is working for the company


*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120061532 0000628835 $*
*$ Req. Corr. Instructions 0120031469 0000279876 Note 0000691640 $*
*$ 0120061532 0000294703 Note 0000416743 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B92 $*
*$ Release 45B To SAPKE45BB0 $*
*$ Release 46C To SAPKE46C83 $*
*$ Release 470 To SAPKE47028 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object FUNC HR_CHANGE_QUOTAS_GEN_19
*& Object Header FUGR 3P04
*&-------------------------------------------------------------------*
*& FUNCTION HR_CHANGE_QUOTAS_GEN_19
*&-------------------------------------------------------------------*
...
IF ( l_tentr = c_full_year
AND l_2nd_year = xbegda(4)
* AND l_nr_months GE 6
AND l_contr_years LT '1' )
* fixed term EE with change of year
OR ( l_tentr = c_1st_year
*>>>> START OF DELETION <<<<<
AND l_nr_months LT 10
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
AND l_nr_months LE 10
*>>>> END OF INSERTION <<<<<<
...
ENDIF.

LOOP AT xdef_value_tab INTO l_wa_xdef_value.


LOOP AT l_t_quotas INTO l_wa_quotas.
IF l_wa_xdef_value-ktart EQ l_wa_quotas.
l_wa_xdef_value-anzhl = l_nr_months * 2.
*>>>> START OF DELETION <<<<<
MODIFY xdef_value_tab FROM l_wa_xdef_value.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<

if l_wa_xdef_value-anzhl > l_wa_xdef_value-lvmax.


l_wa_xdef_value-anzhl = l_wa_xdef_value-lvmax.
endif.

MODIFY xdef_value_tab FROM l_wa_xdef_value.

*>>>> END OF INSERTION <<<<<<


...
*&-------------------------------------------------------------------*
*&-------------------------------------------------------------------*
*& Object FUNC HR_QTACC_ACCRUAL_ENTITLE_19
*& Object Header FUGR 3P04
*&-------------------------------------------------------------------*
*& FUNCTION HR_QTACC_ACCRUAL_ENTITLE_19
*&-------------------------------------------------------------------*

...
IF ( l_tentr = c_full_year
AND l_2nd_year = xacbeg(4)
* AND l_nr_months GE 6
AND l_contr_years LT '1' )
* fixed term EE with change of year
OR ( l_tentr = c_1st_year
*>>>> START OF DELETION <<<<<
AND l_nr_months LT 10
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
AND l_nr_months LE 10
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
SAP note number 695893
________________________________________________________________________

Number 695893
Version 2 vom 04.02.2004
Status Released for Customer
Set on ,04.02.2004

Language EN
Mastersprache EN
Short text HR-PT: Enhancements to the VA payment method 'D'

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom

1. If a leave period is created in the past the system is not paying


it.

2. In January may occurs that no vacation allowance is paid in case of


leave periods created after the payroll processing.

Other terms
payment method D ; VA ;
Reason and Prerequisites

Solution
The correction and enhancements described in this note are included an
HR Support Package. See below for the package number.
The support package includes:
- code modifications to the includes RPCALLP0, RPCALLP1 and RPCMASPF.
________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46A - 46B
45A - 45B

________________________________________________________________________

References to Support Packages


Software component Release Package name
________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45BA9
46B SAPKE46B91
46C SAPKE46C82
470 SAPKE47027

________________________________________________________________________

Assigned correction instructions


________________________________________________________________________

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120031469 0000295878 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B90 $*
*$ Release 45B To SAPKE45BA8 $*
*$ Release 46C To SAPKE46C81 $*
*$ Release 470 To SAPKE47026 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCALLP0
*& Object Header PROG RPCALLP0
*&-------------------------------------------------------------------*
*& FORM GET_PAY_DATA
*&-------------------------------------------------------------------*
...
IF r_t5pva-paytr EQ c_before_every_lp.

SUBTRACT va-cpday FROM p_paydata-anzhl.

LOOP AT payment_tab INTO l_wa_payment_tab


WHERE obegd(6) = p_paydata-obegd(6).
*>>>> START OF DELETION <<<<<
* In case that a leave period is created and paid in the next
* months, if a retrocalculation occurs to the correct payment
* period this must be ignored because it's already paid
* IF sw_aufrollung = true
* AND l_wa_payment_tab-period = aper-paper.
** nothing to be done, this days were already paid in the next
** period
* ELSE.
l_abdays = l_abdays + l_wa_payment_tab-abdays.
* ENDIF.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
l_abdays = l_abdays + l_wa_payment_tab-abdays.
*>>>> END OF INSERTION <<<<<<
...
CLEAR p_paydata.
ENDIF.
ENDIF.

l_aux = p_paydata-anzhl - ova-pdays + ova-glday.


*>>>> START OF DELETION <<<<<
* In retro to the month of payment
IF sw_aufrollung = true
AND l_abdays < l_aux.
l_aux = l_abdays.
ENDIF.
IF ( ova-obegd = p_paydata-obegd
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
IF ( ova-obegd = p_paydata-obegd

*>>>> END OF INSERTION <<<<<<


...
*&-------------------------------------------------------------------*
*&-------------------------------------------------------------------*
*& Object REPS RPCALLP1
*& Object Header PROG RPCALLP1
*&-------------------------------------------------------------------*
*& FORM VA_ADJUST_PERIOD
*&-------------------------------------------------------------------*
...
ENDIF.

* Check if the adjustment must be made in the payroll period


IF r_t5pva-adjpy NE true AND NOT va-payfl IS INITIAL .
need_adjust = true.
MOVE 'N' TO va-cpayf. "Next payment adjustment
*>>>> START OF DELETION <<<<<
ELSEIF aper-paper+4(2) <> '01'.
* In case of periods not paid yet
aux_betrg = va-cpamt - va-pamnt.
days_npaid = va-cpday - va-cvday.
IF aux_betrg = 0
AND days_npaid <> 0.
need_adjust = true.
add_days = true.
MOVE 'A' TO va-cpayf.
ENDIF.
* CLEAR: aux_betrg, aux_anzhl.
ENDIF.

IF need_adjust EQ true.

aux_anzhl = ova-pdays - va-vdays.


*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
ELSE.
* In case of periods not paid yet
aux_betrg = va-cpamt - va-pamnt.
days_npaid = va-cpday - va-cvday.
IF aux_betrg = 0
AND days_npaid <> 0
AND sw_aufrollung EQ true.
need_adjust = true.
add_days = true.
MOVE 'A' TO va-cpayf.
ENDIF.
* in case that the leave periods are deleted from it2001 in January
IF va-cpday = va-pdays
AND aper-paper+4(2) = '01'.
need_adjust = false.
ENDIF.
ENDIF.

IF need_adjust EQ true.

IF aper-paper+4(2) = '01'
AND add_days = true.

aux_anzhl = va-cpday - va-cvday.


ELSE.
aux_anzhl = ova-pdays - va-vdays.
ENDIF.
*>>>> END OF INSERTION <<<<<<
...
IF va-pdays GT 0.
* only the difference must be paid in case that the previuos
* period had less days than the new one
IF NOT ova-pdays IS INITIAL AND aux_anzhl < 0.
temp_betrg = va-clamt.
ELSE.
*>>>> START OF DELETION <<<<<
temp_betrg = va-pamnt + va-clamt.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
IF aper-paper+4(2) = '01'
AND add_days = true.
temp_betrg = va-cpamt - va-ceamt.
ELSE.
temp_betrg = va-pamnt + va-clamt.
ENDIF.
*>>>> END OF INSERTION <<<<<<
...
temp_betrg = va-fixco - ova-fixco.
temp_betrg = ova-pdays / max_days * temp_betrg.
ELSE.
temp_betrg = va-clamt.
IF temp_betrg > 0
*>>>> START OF DELETION <<<<<
AND days_npaid = aux_anzhl.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
AND days_npaid = aux_anzhl
AND days_npaid <> 0.
*>>>> END OF INSERTION <<<<<<
...
IF ( ova-pdays <> 0 AND aux_anzhl < 0 )
* in case that the leave period is deleted from it2001
OR ( ova-pdays > va-vdays ).
temp_anzhl = ova-pdays.
ELSE.
*>>>> START OF DELETION <<<<<
temp_anzhl = va-vdays.
IF sw_aufrollung = true
AND rt_need EQ true
* AND aux_anzhl < 0. "this period was not paid yet
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
IF aper-paper+4(2) = '01'
AND add_days = true.
temp_anzhl = aux_anzhl.
ELSE.
temp_anzhl = va-vdays.
ENDIF.
IF sw_aufrollung = true
AND rt_need EQ true
*>>>> END OF INSERTION <<<<<<

...
*&-------------------------------------------------------------------*
*&-------------------------------------------------------------------*
*& Object REPS RPCMASPF
*& Object Header PROG RPCMASPF
*&-------------------------------------------------------------------*
*& FORM FUPVACG
*&-------------------------------------------------------------------*
...
PERFORM get_pay_data TABLES i_ptquoded
USING va
r_t5pva
pn-begda pn-endda
begyear endyear
CHANGING fl_now
pay_data.
*>>>> START OF DELETION <<<<<
* Should a payment be made in the current period?
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<

* in case of retrocalculation if the first processing had more


* days than this number must remain the same
IF r_t5pva-paytr EQ c_before_every_lp
AND vva-glday GT pay_data-anzhl
AND fl_now EQ true.
pay_data-anzhl = vva-glday.
ELSEIF fl_now EQ false AND
NOT vva-glday IS INITIAL.
* Maintain original generated data in retroc. period
MOVE: vva-allty TO va-allty,
vva-gwtyp TO va-gwtyp,
vva-gapzn TO va-gapzn,
vva-glday TO va-glday,
vva-gzein TO va-gzein,
vva-awart TO va-awart,
vva-obegd TO va-obegd,
vva-oendd TO va-oendd,
vva-gener TO va-gener.
ENDIF.

* Should a payment be made in the current period?


*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

SAP note number 696406


________________________________________________________________________

Number 696406
Version 4 vom 24.01.2004
Status Released for Customer
Set on ,24.01.2004

Language EN
Mastersprache EN
Short text HR-PT: Legal Changes to the Social Security number

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
The Social Security number has been modified by the Portuguese legal
authority 'Minist�rio da Seguran�a Social e do Trabalho'.

According the Portaria n.� 1360/2003 from December 13th, 2003, the new
S.S. number will have 11 digits. Therefore some enhancement needs to be
done to IT0332 and to the legal report remuneration sheet.

Other terms
IT0332 ; S.S. ; RPCSSRP0

Reason and Prerequisites

Solution

1. The IT0332 has been modified in order to accept 9 digits or the new
length according the customize in table T5P2I.

2. The remuneration sheet has to be changed in order to exclude the


first and last number of the new number. This must be the procedure
according the legal entity during this transition period.

The correction and enhancements described in this note are included in


an HR Support Package. See below for the package number.
The support package includes:

- modification to the function module HR_P_CHECK_SS_NUMBER ;

________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45BA8
46B SAPKE46B90
46C SAPKE46C82
470 SAPKE47026

________________________________________________________________________

Assigned correction instructions


________________________________________________________________________

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120031469 0000291596 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B89 $*
*$ Release 45B To SAPKE45BA7 $*
*$ Release 46C To SAPKE46C81 $*
*$ Release 470 To SAPKE47025 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object FUNC HR_P_CHECK_SS_NUMBER
*& Object Header FUGR RPP1
*&-------------------------------------------------------------------*
*& FUNCTION HR_P_CHECK_SS_NUMBER
*&-------------------------------------------------------------------*
...
FUNCTION HR_P_CHECK_SS_NUMBER.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(SS_NUMBER) LIKE P0332-SSNUM
*" VALUE(SS_INSTITUTION) LIKE P0332-SSINS
*" EXCEPTIONS
*" NUMBER_OF_DIGITS_NOT_OK
*"----------------------------------------------------------------------

*>>>> START OF DELETION <<<<<

SELECT SINGLE * FROM T5P2I WHERE SSINS EQ SS_INSTITUTION.

I = STRLEN( SS_NUMBER ).
IF I NE T5P2I-NRDIG.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
CONSTANTS: c_old_ss_number TYPE numc2 VALUE '9'.

SELECT SINGLE * FROM t5p2i WHERE ssins EQ ss_institution.

i = strlen( ss_number ).
IF i NE c_old_ss_number
AND i NE t5p2i-nrdig.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*&-------------------------------------------------------------------*
*& Object REPS RPCSSRP1
*& Object Header PROG RPCSSRP1
*&-------------------------------------------------------------------*
*& FORM FILL_BENEFICIARY
*&-------------------------------------------------------------------*
...
stat_numben TYPE t_s_beneficiary-numben,
stat_nomben TYPE t_s_beneficiary-nomben,

stat_datnasc TYPE t_s_beneficiary-datnasc.


*>>>> START OF DELETION <<<<<
DATA: l_s_beneficiary TYPE t_s_beneficiary.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
DATA: l_s_beneficiary TYPE t_s_beneficiary.

DATA: l_lenght TYPE i.


*>>>> END OF INSERTION <<<<<<
...
IF p_s_ss_status-ssnum IS INITIAL.
stat_tipben = '02'.
stat_numben = '000000000'.
ELSE.
stat_tipben = '01'.
*>>>> START OF DELETION <<<<<
stat_numben = p_s_ss_status-ssnum(9).
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
l_lenght = strlen( p_s_ss_status-ssnum ).
IF l_lenght = '9'.
stat_numben = p_s_ss_status-ssnum(9).
ELSE.
* new SS number with 11 digits
* this correction is to be used during transition period
* and until the SS says how the new file should be
stat_numben = p_s_ss_status-ssnum+1(9).
ENDIF.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

SAP note number 698535


________________________________________________________________________

Number 698535
Version 1 vom 20.01.2004
Status Released for Customer
Set on ,20.01.2004

Language EN
Mastersprache EN
Short text HR-PT: Personnel Summary - Promotion date

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
The promotion date is not correct when the date type P8 doesn't exist
in Infotype 0041 and the entries in Infotype 0008 have the same Pay
Scale Group and Pay Scale Level.

Other terms
RPCPRSP0; Personnel Summary;

Reason and Prerequisites

Solution
The correction described are included in a LCP. Please look below for
the correction number.
The LCP includes:

o source code correction to RPCPRSPF;

The LCP's are the prefered method for implementing standard changes in
your system. Still, if you wish, you can implement them yourself by
performing the source code corrections as indicated below.
________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45BA9
46B SAPKE46B91
46C SAPKE46C82
470 SAPKE47027

________________________________________________________________________

Assigned correction instructions


________________________________________________________________________

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120031469 0000289138 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B90 $*
*$ Release 45B To SAPKE45BA8 $*
*$ Release 46C To SAPKE46C81 $*
*$ Release 470 To SAPKE47026 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCPRSPF
*& Object Header PROG RPCPRSPF
*&-------------------------------------------------------------------*
*& FORM GET_PROMOTION_DATE
*&-------------------------------------------------------------------*
...
*----------------------------------------------------------------------*
FORM get_promotion_date CHANGING p_prmda LIKE p0008-begda.
DATA: trfgr LIKE p0008-trfgr,
trfst LIKE p0008-trfst.

*>>>> START OF DELETION <<<<<


rp_provide_from_last p0041 space pn-begda pn-endda.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
DATA: lv_count type i.

rp_provide_from_last p0041 space pn-begda pn-endda.


*>>>> END OF INSERTION <<<<<<
...
ELSEIF p0041-dar12 = 'P8'.
p_prmda = p0041-dat12.
ENDIF.

IF p_prmda IS INITIAL.
*>>>> START OF DELETION <<<<<
CLEAR: trfgr, trfst.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
CLEAR: trfgr, trfst, lv_count.
*>>>> END OF INSERTION <<<<<<
...
LOOP AT p0008.
IF trfgr NE p0008-trfgr OR trfst NE p0008-trfst.
MOVE p0008-begda TO p_prmda.
MOVE p0008-trfgr TO trfgr.
MOVE p0008-trfst TO trfst.
*>>>> START OF DELETION <<<<<
ENDIF.
ENDLOOP.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
lv_count = lv_count + 1.

ENDIF.
ENDLOOP.
if lv_count = 1.
clear p_prmda.
endif.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

SAP note number 698916


________________________________________________________________________

Number 698916
Version 1 vom 20.01.2004
Status Released for Customer
Set on ,21.01.2004
Language EN
Mastersprache EN
Short text HR-PT: Operation PEVLA - Duplicate instruction

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
Duplicate instruction (NUM-TAAX**) in operation PEVLA.

Other terms
PEVLA; RPCBURPF;
Reason and Prerequisites

Solution
The correction described are included in a LCP. Please look below for
the correction number.
The LCP includes:

o source code correction to RPCBURPF;

The LCP's are the prefered method for implementing standard changes in
your system. Still, if you wish, you can implement them yourself by
performing the source code corrections as indicated below.
________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45BA8
46B SAPKE46B90
46C SAPKE46C81
470 SAPKE47026

________________________________________________________________________
Assigned correction instructions
________________________________________________________________________

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120031469 0000290029 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B89 $*
*$ Release 45B To SAPKE45BA7 $*
*$ Release 46C To SAPKE46C80 $*
*$ Release 470 To SAPKE47025 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCBURPF
*& Object Header PROG RPCBURPF
*&-------------------------------------------------------------------*
*& FORM OPPEVLA
*&-------------------------------------------------------------------*
...
FORM oppevla.
LOCAL: as-parm2,
as-parm3.
DATA: average LIKE it-betrg.

*>>>> START OF DELETION <<<<<


saveot = ot.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
DATA: lv_nextr(1).
DATA: lv_level TYPE i.
DATA: lv_boper-count TYPE i.
DATA: BEGIN OF op_aux,
opcod(5),
modif(1),
lgart LIKE t512t-lgart,
opnum LIKE t52a0-inumb,
END OF op_aux.
DATA: BEGIN OF i52c5_aux.
DATA: ccycl LIKE t52c5-ccycl,
abart LIKE t52c5-abart,
lgart LIKE t52c5-lgart,
vargt LIKE t52c5-vargt,
seqno LIKE t52c5-seqno,
vinfo LIKE t52c5-vinfo.
DATA: fill(9).
DATA: END OF i52c5_aux.

saveot = ot.
*>>>> END OF INSERTION <<<<<<
...
average = t511k-kwert.
it-anzhl = ( wpbp-asoll * average ) / gasoll. "Factoring.
* Number of days per month included in a PCRule.
WHEN ' '.
IF NOT t5pla-dcycl IS INITIAL.
*>>>> START OF DELETION <<<<<

CLEAR: i52c5, nextr, level, boper-count, op.


*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
i52c5_aux = i52c5.
lv_nextr = nextr.
lv_level = level.
lv_boper-count = boper-count.
op_aux = op.
CLEAR: i52c5, nextr, level, boper-count, op.
*>>>> END OF INSERTION <<<<<<
...
ot = it.
i52c5-ccycl = t5pla-dcycl.
as-parm2 = 'GEN'.
as-parm3 = 'NOAB'.
PERFORM regel.
*>>>> START OF DELETION <<<<<
it = ot.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
i52c5 = i52c5_aux.
nextr = lv_nextr.
level = lv_level.
boper-count = lv_boper-count.
op = op_aux.
it = ot.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

SAP note number 701479


________________________________________________________________________

Number 701479
Version 2 vom 30.01.2004
Status Released for Customer
Set on ,30.01.2004

Language EN
Mastersprache EN
Short text HR-PT: Corrections to Overtime Communication
(RPCOVCP0)

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text
Symptom
According to the new labor, the description of the text elements 011 and
012 must be changed in report RPCOVCP0:

o from 'AL�NEA N�1 DO ARTIGO 4� DO DECRETO-LEI 421/83' to 'N� 1 DO


ARTIGO 199� DA LEI N� 99/2003'

o from 'AL�NEA N�2 DO ARTIGO 4� DO DECRETO-LEI 421/83' to 'N� 2 DO


ARTIGO 199� DA LEI N� 99/2003'

Other terms
RPCOVCP0; Overtime Communication;

Reason and Prerequisites

Solution
The corrections described here are included in a LCP. Please look below
for the correction number.
The LCP includes:

o modifications to report RPCOVCP0.

________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45BA8
46B SAPKE46B91
46C SAPKE46C82
470 SAPKE47027

________________________________________________________________________

SAP note number 703704


________________________________________________________________________
Number 703704
Version 1 vom 04.02.2004
Status Released for Customer
Set on ,29.03.2004

Language EN
Mastersprache EN
Short text HR-PT: Corrections to Social Balance report

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom

o Cover Page:

- The number 6 ("N�mero m�dio durante o ano") has different


value than number 1.2 ("N�mero m�dio durante o ano") in
Statistical Information (RPCSOCP1);

o Personnel Costs:

- The number 2.4 ("Encargos legais, convencionais e


facultativos...") must also include the wage types with
evaluation class values 23, 25 and 26 in evaluation class 12;

- The number 2.5 ("Outros custos de car�cter social) must


include the amount from 5.3 ("Presta��es de ac��o social") and
5.4 ("Outras modalidades de apoio social"). The number 5.3 and
5.4 are produced by user-exit (note 536349);

- The number 2.7 ("Outros custos com o pessoal"), the report


doesn't provide any data;

- The number 2.9 ("Leque salarial l�quido") and 2.10 ("Leque


salarial interpretativo") does consider the wage types with
evaluation class 12 value 01 which has base salary and absence
deduction. The absence deducting must be not included in the
calculating.

Other terms
RPCSOCP0; RPCSOCPC; RPCSOCP7; RPCPRSP0; RPCGSRP0; Social Balance;
Personnel Costs; Cover Page; Personnel Summary; Generic statistical
report;

Reason and Prerequisites

Solution

o As we need to calculate the number 2.9 and 2.10 without the


absence deduction, it was necessary to create the new evaluation
class value '40' (absence deduction) for evaluation class 12 to
separate it. Due to this changes, the number 2.1.1 ("Sal�rio
base") was changed to read the evaluation class values "01" and
"40". And the same changes was necessary to another legal
reports: Personnel Summary(RPCPRSP0) and Generic statistical
report (RPCGSRP0);

o For number 2.7, it was necessary to create the new evaluation


class value '41' (other personal costs) for evaluation class 12
to provide this data;

The correction described are included in a LCP. Please look below for
the correction number.
The LCP includes:

o new entries in the table T52D4 and T52DB;

o changes in the include: RPCGSRPP, RPCPRSPF, RPCSOCP0, RPCSOCP1,

o RPCSOCP2, RPCSOCP3, RPCSOCP4, RPCSOCP5, RPCSOCP6, RPCSOCP7,


RPCSOCP8, RPCSOCP9, RPCSOCPC, RPCSOCPD, RPCSOCPP, RPCSOCPQ;

________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45BB1
46B SAPKE46B93
46C SAPKE46C84
470 SAPKE47029

________________________________________________________________________

SAP note number 707017


________________________________________________________________________

Number 707017
Version 1 vom 13.02.2004
Status Released for Customer
Set on ,16.02.2004
Language EN
Mastersprache EN
Short text HR-PT: Unpaid absence days relevant for Social
Security days

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
The unpaid absence days are not correctly taken from table CABC for
calculating the number of days for Social Security (WT /3WD).

Other terms
SS; /3WD; Absence;
Reason and Prerequisites

Solution
The correction described in this note is included in an HR Support
Package. See below for the package number.

The support package includes:

o changes in include RPCMSSP0.

________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
470 SAPKE47027

________________________________________________________________________

Assigned correction instructions


________________________________________________________________________
*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120031469 0000300586 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 470 To SAPKE47026 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCMSSP0
*& Object Header PROG RPCMSSP0
*&-------------------------------------------------------------------*
*& FORM FUPSSD0
*&-------------------------------------------------------------------*
...
DATA: SS_DAYS(2) TYPE N.
CLEAR: RETURNCODE.

* Read all unpaid absences


LOOP AT CABC WHERE ATYPE EQ 'U'
*>>>> START OF DELETION <<<<<
AND CLASS EQ '00'.
* and apznr eq wpbp-apznr.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
AND CLASS EQ '00'
and apznr eq 'FF'.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

SAP note number 707678


________________________________________________________________________

Number 707678
Version 2 vom 17.02.2004
Status Released for Customer
Set on ,27.02.2004

Language EN
Mastersprache EN
Short text HR-PT:Social Insurance/Work Center data with old
information

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
In the Membership Fee report the Social Insurance and Work Center data
were being wrongly taken from old period results.

Other terms
Membership; RPCFEEP0;
Reason and Prerequisites
Solution
The correction described in this note is included in an HR Support
Package. See below for the package number.

The support package includes:

o changes in program RPCFEEP0.

________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45BB0
46B SAPKE46B92
46C SAPKE46C83
470 SAPKE47028

________________________________________________________________________

Assigned correction instructions


________________________________________________________________________

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120031469 0000301292 $*
*$ Req. Corr. Instructions 0120061532 0000406476 Note 0000518247 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B91 $*
*$ Release 45B To SAPKE45BA9 $*
*$ Release 46C To SAPKE46C82 $*
*$ Release 470 To SAPKE47027 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCFEEP0
*& Object Header PROG RPCFEEP0
*&-------------------------------------------------------------------*
*& GET PERNR
*&-------------------------------------------------------------------*
...
read table evpdir with key fpper = evpdir-fpper
srtza = 'P'.
if sy-subrc eq 0.
perform fill_tables tables i0057 xmf
using evpdir.
endif.
*>>>> START OF DELETION <<<<<
endif.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
else.
* Get SS data - Professional categoria
perform get_ss_data.
endif.
*>>>> END OF INSERTION <<<<<<
...
if exist_rec = false.
perform error_handling using pernr-pernr '72' 'E' '103'
pernr-pernr 'P0057' space space.

endif.
*>>>> START OF DELETION <<<<<

* Get SS data - Professional categoria


perform get_ss_data.

rp-edit-name p0001 p0002 t001p-molga space.


*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<

rp-edit-name p0001 p0002 t001p-molga space.


*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

SAP note number 711780


________________________________________________________________________

Number 711780
Version 2 vom 23.03.2004
Status Released for Customer
Set on ,26.03.2004

Language EN
Mastersprache EN
Short text HR-PT: Corrections to the VA payment method 'D'

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
When using the proportional payment type 'D' the following error occurs:

o In case that the employee has leave period in January and


February, the system pays VA in January (leave days of January
and February) and after processing payroll of period February,
she/he had a pay raise in February, the system is calculating an
adjustment with the leave days of January and February which is
wrong. The system should only generate an adjustment with the
leave days of February.

Other terms
payment method D ; VA ;

Reason and Prerequisites

Solution
The correction described in this note are included an HR Support Package
See below for the package number.
The support package includes:
- code modifications to the include RPCMASPF.

________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46A - 46B
45A - 45B

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45BB1
46B SAPKE46B92
46C SAPKE46C83
470 SAPKE47029

________________________________________________________________________
Assigned correction instructions
________________________________________________________________________

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120031469 0000307214 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B91 $*
*$ Release 45B To SAPKE45BB0 $*
*$ Release 46C To SAPKE46C82 $*
*$ Release 470 To SAPKE47028 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCALLP1
*& Object Header PROG RPCALLP1
*&-------------------------------------------------------------------*
*& FORM VA_ADJUST_PERIOD
*&-------------------------------------------------------------------*
...
ENDIF.
ENDIF.
ELSE.
* in case that the leave period is deleted from it2001
IF ova-pdays > va-vdays.
*>>>> START OF DELETION <<<<<
temp_betrg = va-fixco - ova-fixco.
temp_betrg = ova-pdays / max_days * temp_betrg.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
IF ova-pdays NE ova-vdays AND ova-obegd+4(2) = '02'.
temp_betrg = va-clamt.
IF temp_betrg > 0
AND days_npaid = aux_anzhl
AND days_npaid <> 0.
* The it2001 was created after the payroll process and a
* retro until the correct payment month wasn't done
add_days = true.
ENDIF.
ELSE.
temp_betrg = va-fixco - ova-fixco.
temp_betrg = ova-pdays / max_days * temp_betrg.
ENDIF.
*>>>> END OF INSERTION <<<<<<
...
IF va-cpayf EQ 'A' OR va-cpayf EQ 'N'.
* Correct number of days paid with old /EVA
IF ( ova-pdays <> 0 AND aux_anzhl < 0 )
* in case that the leave period is deleted from it2001
OR ( ova-pdays > va-vdays ).
*>>>> START OF DELETION <<<<<
temp_anzhl = ova-pdays.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
IF ova-pdays NE ova-vdays AND ova-obegd+4(2) = '02'.
temp_anzhl = va-vdays.
ELSE.
temp_anzhl = ova-pdays.
ENDIF.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

SAP note number 712333


________________________________________________________________________

Number 712333
Version 7 vom 01.04.2004
Status Released for Customer
Set on ,01.04.2004

Language EN
Mastersprache EN
Short text HR-PT: Upload of IRS tables 2004 into T5P1P

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
The IRS tables and Variable Income published every year need to be
upload from files into table T5P1P.
This process has to be done by the customer.

Other terms
T5P1R; T5P1P; IRS; 2004;
Reason and Prerequisites

Solution

ATTENTION: After updating these tables please run a retrocalculation


from January of the actual year in order to correct the tax deductions.

The upload of the IRS and Variable Income tables is based in two type of
files which have extention DAT(created in Notepad) and CSV(created in
Excel).

The process of both tables, IRS and Variable Income, is independent,


because they are usually published in different date.

The process of Variable Income table is done when the flag


"Upload Variable Remunerations" is checked in report RPUTAXP0.

For IRS tables you should have a file with name yyyy_COD.DAT which will
contain the table configuration and many yyyy_tt_Er.CSV which contain
the rates and ranges, where "yyyy" is the year of the tables you are
uploading, "tt" is the number of the table for example 01, 02, etc. The
"r" means the region which could be C(ontinent), M(adeira) or A(�ores).

For Variable Income table you should have a file with name yyyy_VAR.DAT
which will contain the table configuration and one yyyy_V1_EC.CSV, where
"yyyy" is the year of the tables you are uploading

File yyyy_COD.DAT has to be created with the following data

"01;6" The first column represents the name of the table,


"02;6" the second column indicates the number of columns the
"03;6" table have.
"04;6"

"05;6"
"06;6"
"07;3"
"08;3"
"09;3"

File yyyy_VAR.DAT has to be created with the following data

"V1;1" The description is the same as for the other file.

The files with extention CSV have to be created, one for each IRS table,
copying the columns which contain the amounts and rates from the files
delivered by the legal institution which are attached in this note.
After copying the table to the new excel sheet it is necessary to fill
the limit of the last range the one in the line that has indication
"Superior a" with 9's(with 9 digits), like 9999999,99.

File IRS2004.zip in attachment has examples of the files for IRS tables
of this year.
File VAR2004.zip in attachment has examples of the files for Variable
Income table of this year.

These files have to be stored in the directory C:\TEMP\.

After having the files correctly created you have to run report RPUTAXP0
for each region(Continent, Madeira and Acores).

The new code of report RPUTAXP0 will be delivered by Advanced Delivery


according to the attached files:

L4DK112125_CODE_45B.CAR - Release 4.5B


L6BK062996_CODE_470.CAR - Release 4.70(Enterprise)
L9BK116100_CODE_46B.CAR - Release 4.6B
L9CK160227_CODE_46C.CAR - Release 4.6C

STEPS SUMMARY:
1. Install Advance Delivery with new report RPUTAXP0 (Attention: a
new version of this report is provided in Advance Delivery, if you
had already created it, please update it before running it for
Variable Income tables 2004);
2. install files in directory "C:\TEMP\";
3. run report RPUTAXP0 independently for IRS and Variable Income tables.

The correction described in this note is included in an HR Support


Package.

The support package includes:

o a new report RPUTAXP0.

________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to related notes

Number Short text


____________________________________________________________
712368HR-PT: New table T5P1P for IRS since 2004
480180Download and installation of attachments for SAP notes
212876The new archiving tool SAPCAR
142218HR-PT: Update of IRS tables (LCP)
13719 Preliminary transports to customers (note for customers)

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45BB1
46B SAPKE46B93
46C SAPKE46C84
470 SAPKE47029

________________________________________________________________________
SAP note number 712368
________________________________________________________________________

Number 712368
Version 6 vom 30.03.2004
Status Released for Customer
Set on ,30.03.2004

Language EN
Mastersprache EN
Short text HR-PT: New table T5P1P for IRS since 2004

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
When updating table T5P1R with the new values of IRS tables every year
the table had to be completely delivered what means a Support Package
with thousands of table entries.
It represents a heavy process when installing the Support Package in
any customer.

Other terms
IRS; T5P1R; T5P1P;
Reason and Prerequisites

Solution
This note creates a new table in the dictionary so in case of release
migration it is mandatory to have installed the HR Support Packages
refered below in this note.

In order to make possible the automatic generation of transport entries


when updating the system with the new values of IRS tables every year
the table T5P1R will be substituted by a new table called T5P1P which
will have a different key, but it will contain the same data as table
T5P1R.

It means that any reference to the fields of table T5P1R will be


changed to use the fields of table T5P1P.

For transporting it to the productive system it is necessary to create


a transport and include an entry for object R3TR/TABU/T5P1P keyfield *.

The changes done in the Data Dictionary will be delivered by Advanced


Delivery according to the attached files:

L4DK111580_DDIC_45B.CAR - Release 4.5B


L6BK061265_DDIC_470.CAR - Release 4.70(Enterprise)
L9BK115415_DDIC_46B.CAR - Release 4.6B
L9CK158424_DDIC_46C.CAR - Release 4.6C
To have the system working as usually but with the new table T5P1P it is
necessary to install the code changes as described by the correction

instruction below and to create and run a report with the following code
which will copy all the entries of table T5P1R to the new table T5P1P
converting the key to the new format.

IMPORTANT:
Be aware of an Advance Delivery delivers the last version of the object,
it means that if you do not have the last HR Support Package installed
in you system you could get errors, either Syntax Errors or process
errors. In this case the only option is to undo the changes from Advance
Delivery and do the changes manually.

STEPS SUMMARY:

1. Install Advance Delivery with Data Dictionary;


2. Install Correction Instruction;
3. Create and run the customer report with the code below.

Report for convertion of table T5P1R into T5P1P

REPORT xxxxxxP0.

TABLES: t5p1r, t5p1p.

DATA: i5p1p TYPE t5p1p OCCURS 0.


DATA: lv_nr_entries TYPE i.

SELECTION-SCREEN BEGIN OF LINE.


SELECTION-SCREEN COMMENT 1(70) text-001.
PARAMETERS: confirm AS CHECKBOX.
SELECTION-SCREEN END OF LINE.

START-OF-SELECTION.

IF NOT confirm IS INITIAL.


SELECT COUNT(*) FROM t5p1p INTO lv_nr_entries.
IF lv_nr_entries NE 0.
WRITE text-002.
ELSE.
SELECT * FROM t5p1r INTO CORRESPONDING FIELDS OF TABLE i5p1p.

DESCRIBE TABLE i5p1p LINES lv_nr_entries.

INSERT t5p1p FROM TABLE i5p1p.

WRITE: text-003, lv_nr_entries.


ENDIF.
ELSE.
WRITE: text-004.
ENDIF.

Text-elements for this report:

001 Deseja converter TODAS entradas da tabela T5P1R para tabela T5P1P ?
002 Tabela T5P1P j� existe e n�o pode ser carregada novamente

003 N�mero de entradas incluidas na tabela T5P1P:


004 N�o houveram atualiza��es

The correction described in this note is included in an HR Support


Package.

The support package includes:

o changes in include RPCMTXP0, RPCI97P0, RPCFTBP0 and RPCSOCP7;

o changes in type group PPT01;

o new table T5P1P with view V_T5P1P;

o change in the external key of table T5P1S;

o change in the domain PPT_TABLE.

________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to related notes

Number Short text


____________________________________________________________
712333HR-PT: Upload of IRS tables 2004 into T5P1P
480180Download and installation of attachments for SAP notes
212876The new archiving tool SAPCAR
142218HR-PT: Update of IRS tables (LCP)
13719 Preliminary transports to customers (note for customers)

________________________________________________________________________
References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45BB0
45B SAPKE45BB1
46B SAPKE46B92
46B SAPKE46B93
46C SAPKE46C84
470 SAPKE47029

________________________________________________________________________

Assigned correction instructions


________________________________________________________________________

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120061532 0000610849 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B91 $*
*$ Release 45B To SAPKE45BA9 $*
*$ Release 46C To SAPKE46C83 $*
*$ Release 470 To SAPKE47028 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCFTBP0
*& Object Header PROG RPCFTBP0
*&-------------------------------------------------------------------*
...
TABLES: T5P2M,
T5P2R,
T5P2S,
T5P2P. "XCPPH4K020810

* IRS (Tax)
TABLES: T5P1S,
*>>>> START OF DELETION <<<<<
T5P1R,
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
T5P1P,
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*&-------------------------------------------------------------------*
*& Object REPS RPCI97P0
*& Object Header PROG RPCI97P0
*&-------------------------------------------------------------------*
*& REPORT RPCI97P0
*&-------------------------------------------------------------------*
...
report rpci97p0 message-id rp.

tables: pernr.

*>>>> START OF DELETION <<<<<


tables: t5p1r,
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
tables: t5p1p,
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*& FORM GET_TAX_TAB
*&-------------------------------------------------------------------*
...
*&---------------------------------------------------------------------*

* Get tax table/column for all combinations of *


* type of amount - year to which they refer *
*&---------------------------------------------------------------------*
* The purpose of this form is to determine from table T5P1S the table
*>>>> START OF DELETION <<<<<
* and column codes that identify in table T5P1R the set of records in
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
* and column codes that identify in table T5P1P the set of records in
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*& FORM PROC_TAX_DEDUCT
*&-------------------------------------------------------------------*
...
if ret_code ne 0.
exit.
endif.

* Determine applicable tax rate by reading


*>>>> START OF DELETION <<<<<
* tax table T5P1R with reference amount,
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
* tax table T5P1P with reference amount,
*>>>> END OF INSERTION <<<<<<
...
if ret_code ne 0.
exit.
endif.

* Determine applicable tax rate by reading


*>>>> START OF DELETION <<<<<
* tax table T5P1R with reference amount,
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
* tax table T5P1P with reference amount,
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*& FORM GET_RATE
*&-------------------------------------------------------------------*
...
*----------------------------------------------------------------------*
form get_rate using refer tab col svrat libex librt
actualdate adjfac curr
changing rate ret_code.

*>>>> START OF DELETION <<<<<


data: brutc like t5p1r-maxv.

* Adjust reference amount so table T5P1R can be correctly read


brutc = refer * adjfac.

* Read table T5P1R


perform re5p1r using brutc tab col actualdate curr
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<

data: brutc like t5p1p-maxv.

* Adjust reference amount so table T5P1P can be correctly read


brutc = refer * adjfac.

* Read table T5P1P


perform re5p1p using brutc tab col actualdate curr
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*& FORM RE5P1P
*&-------------------------------------------------------------------*
*>>>> START OF INSERTION <<<<
*&---------------------------------------------------------------------*
*& Form RE5P1P
*&---------------------------------------------------------------------*
* Reads table T5P1P
*-----------------------------------------------------------------------
form re5p1p using brut tabl column actualdate curr
changing ret_rate
ret_code.

data: alt_curr like t500c-waers.

if curr ne 'EUR'.
alt_curr = 'PTE'.
else.
alt_curr = 'EUR'.
endif.

if t5p1p-tab ne tabl or "Performance optimisation


t5p1p-colum ne column or
t5p1p-waers ne alt_curr or
t5p1p-begda gt actualdate or
t5p1p-endda lt actualdate or
t5p1p-minv gt brut or
t5p1p-maxv lt brut.

select * from t5p1p where tab eq tabl and


colum eq column and
waers eq alt_curr and
begda le actualdate and
endda ge actualdate and
minv le brut and
maxv ge brut.
exit.
endselect.

if sy-subrc ne 0.
ret_code = 3.
exit.
endif.
endif.
ret_rate = t5p1p-rate.

endform. " RE5P1P


*>>>> END OF INSERTION <<<<<<

...
*&-------------------------------------------------------------------*
*& FORM RE5P1R
*&-------------------------------------------------------------------*
*>>>> START OF DELETION <<<<<
*&---------------------------------------------------------------------*
*& Form RE5P1R
*&---------------------------------------------------------------------*
* Reads table T5P1R
*-----------------------------------------------------------------------
form re5p1r using brut tabl column actualdate curr
changing ret_rate
ret_code.

data: alt_curr like t500c-waers.

if curr ne 'EUR'.
alt_curr = 'PTE'.
else.
alt_curr = 'EUR'.
endif.

if t5p1r-tab ne tabl or "Performance optimisation


t5p1r-colum ne column or
t5p1r-waers ne alt_curr or
t5p1r-begda gt actualdate or
t5p1r-endda lt actualdate or
t5p1r-minv gt brut or
t5p1r-maxv lt brut.

select * from t5p1r where tab eq tabl and


colum eq column and
waers eq alt_curr and
begda le actualdate and
endda ge actualdate and
minv le brut and
maxv ge brut.
exit.
endselect.

if sy-subrc ne 0.
ret_code = 3.
exit.
endif.
endif.
ret_rate = t5p1r-rate.

endform. " RE5P1R


*>>>> END OF DELETION <<<<<<<
...
*&-------------------------------------------------------------------*
*&-------------------------------------------------------------------*
*& Object REPS RPCMTXP0
*& Object Header PROG RPCMTXP0
*&-------------------------------------------------------------------*
*& FORM COLLECT_IT
*&-------------------------------------------------------------------*

...
*&---------------------------------------------------------------------*
* Store determined wage types in IT
*----------------------------------------------------------------------*
FORM COLLECT_IT USING $WTYPE LIKE IT-LGART
$AMT TYPE PPT01_GAMT
*>>>> START OF DELETION <<<<<
$RATE LIKE T5P1R-RATE.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
$RATE LIKE T5P1P-RATE.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*& FORM COLLECT_IT_PER
*&-------------------------------------------------------------------*
...
*&---------------------------------------------------------------------*
* Store determined wage types in IT using WPBP split indicator *
*----------------------------------------------------------------------*
FORM COLLECT_IT_PER TABLES $AMT_TAB LIKE MOD_AMOUNT[]
USING $WTYPE LIKE IT-LGART
*>>>> START OF DELETION <<<<<
$RATE LIKE T5P1R-RATE.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
$RATE LIKE T5P1P-RATE.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*
*&-------------------------------------------------------------------*
*& Object REPS RPCSOCP7
*& Object Header PROG RPCSOCP7
*&-------------------------------------------------------------------*
*& FORM DETERMINE_NETPAY
*&-------------------------------------------------------------------*
...
FORM DETERMINE_NETPAY USING P_ENDDA LIKE SY-DATUM
P_WAERS LIKE T500C-WAERS
P_CURRDEC LIKE TCURX-CURRDEC
CHANGING NETPAY_TABS STRUCTURE NETPAY_TABS
P_RETURN_CODE LIKE SY-SUBRC.

DATA: SSCONT LIKE PC207-BETRG,


TXCONT LIKE PC207-BETRG,
*>>>> START OF DELETION <<<<<
TXRAT LIKE T5P1R-RATE.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
TXRAT LIKE T5P1P-RATE.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

SAP note number 713110


________________________________________________________________________

Number 713110
Version 2 vom 08.04.2004
Status Released for Customer
Set on ,08.04.2004

Language EN
Mastersprache EN
Short text HR-PT: Constant CTLAW for new labor law - article
213o.

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
Whether to apply or not the new labor law article 213� for year 2004.
Other terms
article 213; HR_QTACC_ACCRUAL_ENTITLE_19;

Reason and Prerequisites


note 671876
note 691640

Solution

o To create the new payroll constant CTLAW that will allow to apply
or notthis law.

The corrections described are available in a LCP. Please look below for
the correction number.
The LCP includes:

o modifications into the function module:


HR_QTACC_ACCRUAL_ENTITLE_19

o new payroll constant CTLAW in view V_T511K;

The LCP's are the prefered method for implementing standard changes in
your system. Still, if you wish, you can implement them yourself by
performing the source code corrections as indicated below.

o to create a new constant CTLAW, by inserting the following


entries in
view V_T511K:

Constant Payroll constant Start date End date Value


CTLAW Artigo 213� da Lei 99/2003 01.01.2004 31.12.2004 0,00
01.01.2005 31.12.9999 1,00

________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45BB1
46B SAPKE46B93
46C SAPKE46C84
470 SAPKE47029

________________________________________________________________________

SAP note number 718951


________________________________________________________________________

Number 718951
Version 2 vom 26.03.2004
Status Released for Customer
Set on ,26.03.2004

Language EN
Mastersprache EN
Short text HR-PT: Corrections to Leave annual summary -
RPLESUP0

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
when selecting leave year YYYY and deducted to current year quota, the
system does consider only the leave period of year YYYY.
The system should also consider the leave period of year YYYY + 1.

Other terms
RPLESUPF; Leave annual summary; Mapa de F�rias;

Reason and Prerequisites

Solution
The correction described are included in a LCP. Please look below for
the correction number.

The LCP includes:

o changes to include RPLESUPF;

The LCP's are the prefered method for implementing standard changes in
your system. Still, if you wish, you can implement them yourself by
performing the source code corrections as indicated below.

________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45BB1
46B SAPKE46B93
46C SAPKE46C84
470 SAPKE47029

________________________________________________________________________

Assigned correction instructions


________________________________________________________________________

*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120061532 0000617002 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B92 $*
*$ Release 45B To SAPKE45BB0 $*
*$ Release 46C To SAPKE46C83 $*
*$ Release 470 To SAPKE47028 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPLESUPF
*& Object Header PROG RPLESUPF
*&-------------------------------------------------------------------*
*& FORM CHECK_SUM_TYPE
*&-------------------------------------------------------------------*
...
FORM check_sum_type TABLES p_p0416 STRUCTURE p0416
p_p2001 STRUCTURE p2001
p_p2006 STRUCTURE p2006
USING p_pn_begda LIKE pn-begda
p_pn_endda LIKE pn-endda
CHANGING ret_code LIKE return_code.

* data definition
DATA: prevyear LIKE leyear,
actyear LIKE leyear,
valid TYPE boolean,
*>>>> START OF DELETION <<<<<
lin LIKE sy-tfill.

* initialisation
CLEAR: prevyear,
actyear.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
lin LIKE sy-tfill,
nextyear LIKE leyear.

* initialisation
CLEAR: prevyear,
actyear,
nextyear.
*>>>> END OF INSERTION <<<<<<
...

* If summary according to accrued leave, then all years but current


* are deleted. Else delete all but current and previous.
actyear = leyear.
IF toyear_v EQ 'X'.
*>>>> START OF DELETION <<<<<
DELETE p_p2006 WHERE begda(4) NE actyear
OR NOT subty IN ktart.
DELETE p_p2001 WHERE begda(4) NE actyear.

*>>>> END OF DELETION <<<<<<<


*>>>> START OF INSERTION <<<<
nextyear = leyear + 1.
DELETE p_p2006 WHERE begda(4) NE actyear
OR NOT subty IN ktart.
DELETE p_p2001 WHERE begda(4) NE actyear
AND begda(4) NE nextyear.
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

SAP note number 721401


________________________________________________________________________

Number 721401
Version 1 vom 25.03.2004
Status Released for Customer
Set on ,25.03.2004

Language EN
Mastersprache EN
Short text HR-PT: RPCOVCP0 not able to print complete number of
hours

Responsible SAP AG
Component PY-PT
Portugal
________________________________________________________________________

Long text

Symptom
Report RPCOVCP0 is not able to show/print completely the number of hours
when it has hundred unit and negative sign.

Other terms
RPCOVCP0 ;
Reason and Prerequisites

Solution
The correction described in this note is included in an HR Support
Package. See below for the package number.

The support package includes:

o changes in include RPCOVCPO.

________________________________________________________________________

Valid releases
Software component Release
from to

SAP_HR R/3 Standard Human Resource


470 - 470
46C - 46C
46B - 46B
45B - 45B

________________________________________________________________________

References to Support Packages

Software component Release Package name


________________________________________________________________________
R/3 Standard Human Resource
45B SAPKE45BB0
46B SAPKE46B93
46C SAPKE46C84
470 SAPKE47029

________________________________________________________________________

Assigned correction instructions


________________________________________________________________________
*$*$--------------------------------------------------------------$*$*
*$ Correction Inst. 0120061532 0000617941 $*
*$ Req. Corr. Instructions 0120061532 0000289519 Note 0000418444 $*
*$ 0120061532 0000308491 Note 0000418444 $*
*$------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_HR R/3 Standard Human Resource $*
*$ Release 46B To SAPKE46B92 $*
*$ Release 45B To SAPKE45BA9 $*
*$ Release 46C To SAPKE46C83 $*
*$ Release 470 To SAPKE47028 $*
*$*$--------------------------------------------------------------$*$*
*&-------------------------------------------------------------------*
*& Object REPS RPCOVCPO
*& Object Header PROG RPCOVCPO
*&-------------------------------------------------------------------*
*& FORM WRITE_DATA
*&-------------------------------------------------------------------*
...
NEW-PAGE.
ENDIF.

FORMAT INTENSIFIED OFF.


WRITE: /3 sy-vline, 5 personnel-sname,
*>>>> START OF DELETION <<<<<
64 sy-vline, 66 personnel-per01_a, "L4DK005209
76 sy-vline, 78 personnel-per02_a, "L4DK005209
88 sy-vline, 90 personnel-per03_a, "L4DK005209
100 sy-vline, 102 personnel-per04_a, "L4DK005209
112 sy-vline, 114 personnel-per05_a, "L4DK005209
124 sy-vline, 126 personnel-per06_a, "L4DK005209
136 sy-vline, 138 personnel-totper_a LEFT-JUSTIFIED,
148 sy-vline, 150 personnel-per01_b, "L4DK005209
160 sy-vline, 162 personnel-per02_b, "L4DK005209
172 sy-vline, 174 personnel-per03_b, "L4DK005209
184 sy-vline, 186 personnel-per04_b, "L4DK005209
196 sy-vline, 198 personnel-per05_b, "L4DK005209
208 sy-vline, 210 personnel-per06_b, "L4DK005209
220 sy-vline, 222 personnel-totper_b LEFT-JUSTIFIED,
232 sy-vline, 234 personnel-totovrtm LEFT-JUSTIFIED,
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
64 sy-vline, 66(7) personnel-per01_a,
76 sy-vline, 78(7) personnel-per02_a,
88 sy-vline, 90(7) personnel-per03_a,
100 sy-vline, 102(7) personnel-per04_a,
112 sy-vline, 114(7) personnel-per05_a,
124 sy-vline, 126(7) personnel-per06_a,
136 sy-vline, 138(7) personnel-totper_a LEFT-JUSTIFIED,
148 sy-vline, 150(7) personnel-per01_b,
160 sy-vline, 162(7) personnel-per02_b,
172 sy-vline, 174(7) personnel-per03_b,
184 sy-vline, 186(7) personnel-per04_b,
196 sy-vline, 198(7) personnel-per05_b,
208 sy-vline, 210(7) personnel-per06_b,
220 sy-vline, 222(7) personnel-totper_b LEFT-JUSTIFIED,
232 sy-vline, 234(7) personnel-totovrtm LEFT-JUSTIFIED,
*>>>> END OF INSERTION <<<<<<
...
*&-------------------------------------------------------------------*

You might also like