Create Custom Function and Operation for Payroll

44
  ® 

description

ncrease the efficiency of your RFC communications with bgRFC

Transcript of Create Custom Function and Operation for Payroll

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFRXQWLQJDQG7LPH

    0DQDJHPHQW

    +

    (

    /

    3

    3

    $

    ;

    ;

    5HOHDVH %

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    -XQH

    &RS\ULJKW Copyright 1998 SAP AG. All rights reserved.No part of this brochure may be reproduced or transmitted in any form or for any purpose withoutthe express permission of SAP AG. The information contained herein may be changed withoutprior notice.SAP AG further does not warrant the accuracy or completeness of the information, text, graphics,links, or other items contained within these materials. SAP AG shall not be liable for any special,indirect, incidental, or consequential damages, including without limitation, lost revenues or lostprofits, which may result from the use of these materials. The information in this documentation issubject to change without notice and does not represent a commitment on the part of SAP AG forthe future.Some software products marketed by SAP AG and its distributors contain proprietary softwarecomponents of other software vendors.Microsoft, WINDOWS, NT, EXCEL and SQL-Server are registered trademarks ofMicrosoft Corporation.IBM, DB2, OS/2, DB2/6000, Parallel Sysplex, MVS/ESA, RS/6000, AIX, S/390,AS/400, OS/390, and OS/400 are registered trademarks of IBM Corporation.OSF/Motif is a registered trademark of Open Software Foundation.ORACLE is a registered trademark of ORACLE Corporation, California, USA.INFORMIX-OnLine IRU6$3 is a registered trademark of Informix Software Incorporated.UNIX and X/Open are registered trademarks of SCO Santa Cruz Operation.ADABAS is a registered trademark of Software AG.SAP, R/2, R/3, RIVA, ABAP/4, SAP ArchiveLink, SAPaccess, SAPmail,SAPoffice, SAP-EDI, R/3 Retail, SAP EarlyWatch, SAP Business Workflow, ALE/WEB,Team SAP, BAPI, Management Cockpit are registered or unregistered trademarks of SAPAG.

    ,FRQV

    ,FRQ 0HDQLQJ

    Caution

    Example

    Note

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    -XQH

    &RQWHQWV

    &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFRXQWLQJDQG7LPH0DQDJHPHQW &UHDWLQJ)XQFWLRQV &UHDWLQJ&KDQJLQJDQGHOHWLQJ)XQFWLRQV $FWLYDWLQJ)XQFWLRQV RFXPHQWLQJ)XQFWLRQV &UHDWLQJ2SHUDWLRQV &UHDWLQJ&KDQJLQJDQGHOHWLQJ2SHUDWLRQV $FWLYDWLQJ2SHUDWLRQV RFXPHQWLQJ2SHUDWLRQV 7UDQVSRUW&RQQHFWLRQ &UHDWLQJDQ2SHUDWLRQ&KHFN HWDLOHGHVFULSWLRQRIWKH2SHUDWLRQ&KHFN

    Check Tables T52BM-T52BO .................................................................................................. 17*HQHUDO6WUXFWXUDOHVFULSWLRQ

    Notes on Rule Type.................................................................................................................. 19Admissible Types for Parameter and Value Check.................................................................. 20Checking the Parameters of an Operation ............................................................................... 21Using Dummy Statements........................................................................................................ 22

    HVFULSWLRQRI6WUXFWXUH$FFRUGLQJWR2SHUDWLRQ7\SH Normal Operations ................................................................................................................... 24Decision Operations ................................................................................................................. 25Jump Operations ...................................................................................................................... 26Operations Which Run a Subrule............................................................................................. 27

    $VVLJQLQJ2SHUDWLRQVWR,QFOXGHV *HQHUDWLQJWKH5XOH&KHFN 5HSRUWVDQG7DEOHVIRU)XQFWLRQVDQG2SHUDWLRQV

    Report Generation from T52A0 ................................................................................................ 31Accessing Functions ........................................................................................................... 32

    Generating a Calculation Rule Check ...................................................................................... 33Generation/Checking of Schemas............................................................................................ 35Number and Name for Turbocase............................................................................................ 36Assigning Values to Objects..................................................................................................... 37Function Parameters ................................................................................................................ 38Valid Function Parameter Values............................................................................................. 39Use of Infotypes for Objects ..................................................................................................... 40Operation Models ..................................................................................................................... 41Assigning Models to Operations............................................................................................... 42Operation Parameters .............................................................................................................. 43

    3URJUDP7\SH0,;

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    -XQH

    &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFRXQWLQJDQG7LPH0DQDJHPHQW&UHDWLQJ)XQFWLRQV>3DJH@

    &UHDWLQJ2SHUDWLRQV>3DJH@

    &UHDWLQJDQ2SHUDWLRQ&KHFN>3DJH@

    7KH0,;3URJUDP7\SH>3DJH@

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    &UHDWLQJ)XQFWLRQV

    -XQH

    &UHDWLQJ)XQFWLRQV1. Create the coding.

    Customer functions are stored in include RPCBURZ0.2. Use transaction PE04 to create the function (see Creating, Changing and Deleting

    Functions [Page 6]).3. Activate the function (see Activating Functions [Page 7])4. Document the function (see Documenting Functions [Page 8])

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    &UHDWLQJ&KDQJLQJDQGHOHWLQJ)XQFWLRQV

    -XQH

    &UHDWLQJ&KDQJLQJDQGHOHWLQJ)XQFWLRQVTransaction PE04 enables you to create, change and delete functions.In the 1DPHfield, enter the function name. The name may contain a maximum of 5 characters.

    Customer functions must contain a special character.Assign the function an object class (3D\UROO or 7LPH0DQDJHPHQW) and the object type )XQFWLRQ.When creating a new function or changing an existing one, you can make the following settingsin the screen which now appears:

    Name of form routineIf the routine name differs from the naming convention FU, selectthe 6HOIHILQHGfield, and enter the routine name.

    Country assignmentIn this block, you can select the countries for which you want the function to beavailable.

    If you delete a country from the country assignment block, it will alsoautomatically be deleted from country assignment of parameter values.

    ParametersIn the 3DUDPHWHU/LVWyou can edit the parameter and its characteristics (number,parameter name, meaning, parameter type, or obligatory parameter).

    Parameter valueIf the parameter is of parameter type EODQNyou must also specify the parametervalue.To do this, select a parameter and choose 6HOHFWHWDLO The system displays a list inwhich you can enter all values for this parameter and their meanings.You can use the &KRRVHkey in this list to define the valid countries for each individualparameter value.

    The system only displays the countries you have selected for the countryassignment for the complete function.

    Infotypes usedIf the function belongs to the 3D\UROO object class, you must specify the infotypesused. Choose ,QIRW\SHV8VHG

    Choose 6DYH This activates the transport connection [Page 14].Although you have created the function, it cannot be used yet. To you first perform severalchecks and generations (refer to Activating Functions [Page 7]).

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    $FWLYDWLQJ)XQFWLRQV

    -XQH

    $FWLYDWLQJ)XQFWLRQVEnter the name of the function in the field provided. Assign the function an object class (3D\UROOor 7LPH0DQDJHPHQW) and the object type )XQFWLRQ.Choose $FWLYDWH The system starts all required reports [Page 30]

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    RFXPHQWLQJ)XQFWLRQV

    -XQH

    RFXPHQWLQJ)XQFWLRQVFunction documentation is recorded in RPDSYS00. For more information, see RPDSYS00 under0DLQWHQDQFHDQG6WUXFWXUH

    Create a DSYS module for your function. The name of the module is as follows: Object type:

    )81& if the object class is Payroll or )817 for Time Management. Object name:

    This is the name you used when you created the function.You can now write the documentation for your function in this module.If you want the system to display a list of the parameters and their values with the module, youmust insert an include reference at the end of your documentation, referring the reader to themodule )8;&[[[[[ or )8;7[[[[[(for example, !,1)8;&,)) according to the object class in question (Payroll & or TimeManagement 7). [[[[[ stands for the name of your function.

    Function IF (Payroll object class).The documentation is stored in the DSYS module FUNC.IF:7DVN

    7KLVIXQFWLRQHQDEOHV\RXWR

    !,1)8;&,)

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    &UHDWLQJ2SHUDWLRQV

    -XQH

    &UHDWLQJ2SHUDWLRQV1. Create the coding.

    Customer operations are stored in include 53&%85=.2. Use transaction PE04 to create the operation.3. If necessary, write your own coding for the operation check [Page 15].4. Activate the operation.5. Use the operation in the 0DLQWDLQ3HUVRQQHO&DOFXODWLRQ5XOHVtransaction (PE02)6. To check the function, choose &KHFN7. Test all possible parameters.

    Unpermitted parameters should trigger an error message.8. Document the new operation.

    1. or more information on creating and generating your own check, see Creatingan Operation Check [Page 15]. However, it is rarely necessary to create andgenerate your own check.

    2. If you have changed the country assignment of a function you alreadyactivated, you may have to regenerate the schemas. If this is the case, thesystem displays the appropriate report to be started. Execute the transport ofthe schemas PDQXDOO\.

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    &UHDWLQJ&KDQJLQJDQGHOHWLQJ2SHUDWLRQV

    -XQH

    &UHDWLQJ&KDQJLQJDQGHOHWLQJ2SHUDWLRQVTransaction PE04 enables you to create, change and delete operations.In the 1DPHfield, enter the operation name. Select an object class and an object type. The namemay contain a maximum of 5 characters.

    Customer operations must contain a special symbol.Assign the operation an object class (3D\UROO or 7LPH0DQDJHPHQW) and the object type2SHUDWLRQ.

    When creating a new operation or changing an existing one, you can make the following settingsin the screen which now appears:

    Name of form routineIf the routine name differs from the naming convention FU,select the 6HOIHILQHGfield, and enter the routine name.

    Country assignmentIn this block, you can select the countries for which you want the operation to beavailable.

    If you delete a country from the country assignment block, it will alsoautomatically be deleted from country assignment of parameter values.

    ModelAssign a model to your operation in this field.

    If no suitable model exists, create a model in table T52BM [Page 30]. Choose 2ZQ&KHFN5RXWLQH

    If you have your own check routine for the operation, please flag this checkbox. Parameters

    The 3DUDPHWHU/LVW allows you to maintain parameters and their characteristics.Choose &KRRVHHWDLOto maintain the parameter values and their countryassignment.

    The system only displays the countries you have selected for the countryassignment for the complete operation.

    Choose 6DYH This activates the transport connection [Page 14].Although you have created the operation, it cannot be used yet. To you first perform severalchecks and generations (refer to Activating Operations [Page 12]).

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    &UHDWLQJ&KDQJLQJDQGHOHWLQJ2SHUDWLRQV

    -XQH

    1. If you have created an operation and want to write your own operation check[Page 15], you must create the check.

    2. If you have changed the country assignment of an operation which hasalready been activated, you may have to make corrections to personnelcalculation rules. The system displays the appropriate report to be started.Execute the transport of the calculation rules PDQXDOO\.

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    $FWLYDWLQJ2SHUDWLRQV

    -XQH

    $FWLYDWLQJ2SHUDWLRQVEnter the name of the operation in the field provided. Assign the operation an object class(3D\UROO or 7LPH0DQDJHPHQW) and the object type )XQFWLRQ.Choose $FWLYDWH The system starts all required reports [Page 30]

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    RFXPHQWLQJ2SHUDWLRQV

    -XQH

    RFXPHQWLQJ2SHUDWLRQVOperation documentation is recorded in RPDSYS00. For more information, see RPDSYS00under 0DLQWHQDQFHDQG6WUXFWXUH Create a DSYS module for your operation. The name of themodule is as follows:

    1. Object type:23(& if the object class is Payroll or 23(7 for Time Management.

    2. Object name:Object name: This is the name you used when you created the function.

    You can now write the documentation for your function in this module.

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    7UDQVSRUW&RQQHFWLRQ

    -XQH

    7UDQVSRUW&RQQHFWLRQTransaction PE04 has an automatic transport link.Logical transport objects are used to transport the table entries for a function or operation(including documentation in RPDSYS00). Importing these objects also triggers generation of theindexed Perform and the schema or personnel calculation rule check in the target system. (In theoriginal system, this is done by activating the function or operation.) The logical transport objectsare written to the selected transport request when the function or operation is saved. This meansit is no longer necessary to transport the includes or manually place table entries on a transportrequest.The names of the new transport objects are as follows:

    1DPH 7\SH 1DPHUDQJH $UHD

    PFCS Function SAP PayrollPFCC Function Customer PayrollPFTS Function SAP Time ManagementPFTC Function Customer Time ManagementPOCS Operation SAP PayrollPOCC Operation Customer PayrollPOTS Operation SAP Time ManagementPOTC Operation Customer Time Management

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    &UHDWLQJDQ2SHUDWLRQ&KHFN

    -XQH

    &UHDWLQJDQ2SHUDWLRQ&KHFNThis section contains the following information:

    Detailed description of the operation check [Page 16]This describes how you create the check routine and which parts of the program arerequired, depending on the type of operation.

    Assigning Operations to Includes [Page 28]The section indicates in which includes you must enter the coding.

    Generating the Rule Check [Page 29]The procedure for generating checks is described.

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    HWDLOHGHVFULSWLRQRIWKH2SHUDWLRQ&KHFN

    -XQH

    HWDLOHGHVFULSWLRQRIWKH2SHUDWLRQ&KHFNA check is required for each operation. This check ensures that the operation parameter and theoperation syntax are correct.The first part describes which tables must be maintained in order to check the parameter settingsfor the operations. This section also explains how to maintain the tables and what they can beused to check. If you want to create further checks, parts 2 and 3 describe how to do this.The second part describes the general procedure and predefined routines which can be usedaccording to the operation type. The principal purpose of this part is to check that the parametersare correct and complete.The third part outlines the special features of the various types and specifies which variablesmust be entered or which routines must be accessed for each type in order to determine whetherthe syntax of the operation is correct.The entries always include a reference to the long text of an error message which would bedisplayed during a check on a personnel calculation rule if an error was discovered in theoperation. This is to emphasise the importance of an entry.

    6HHDOVR

    Check Tables T52BM-T52BO [Page 17]General Structural Description [Page 18]Description of Structure According to Operation Type [Page 23]

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    &KHFN7DEOHV7%07%2

    -XQH

    &KHFN7DEOHV7%07%2Each operation is assigned a model. This assignment is made by means of the model name.Each operation is assigned a model name in table T52BN. If you want to write a further check,indicate this in the table. After editing the table, generate the check program (reportRPUGCC00).Enter the valid parameters for the operation in table T52BO. Note the model for the operation.Under the name of the operation, enter the O-block in the model. The F-block belongs to thefield, and the S-block to the indicator. Describe the V-block under Value. Enter the type andlength of the value. If the processing of the rule is changed by the operation, enter this underReaction. For example, if the variable key is created, enter D or ?.If you enhance the variable key, you must also specify this (type and length).In the second line, enter a short text for the parameter. This text should be displayed inRPDSYS00 along with the documentation on the operation.If you want to write a further check, you can specify this by means of the $FFHVV &KHFN field inthe check program, for example, operation VALEN.

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    *HQHUDO6WUXFWXUDOHVFULSWLRQ

    -XQH

    *HQHUDO6WUXFWXUDOHVFULSWLRQNotes on Rule Type [Page 19]Admissible Types for Parameter and Value Check [Page 20]Checking the Parameters of an Operation [Page 21]Use of Dummy Statements [Page 22]

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    1RWHVRQ5XOH7\SH

    -XQH

    1RWHVRQ5XOH7\SHYou must enter an appropriate rule type in the rule line for all decision / jump operations. Onlyone operation is allowed here.Here you may only enter a decision operation (type ), although several operations may beentered in one line.If a line contains only normal operations (without decision or jump) and a rule type is stillspecified, an error will occur during the check.

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    $GPLVVLEOH7\SHVIRU3DUDPHWHUDQG9DOXH&KHFN

    -XQH

    $GPLVVLEOH7\SHVIRU3DUDPHWHUDQG9DOXH&KHFNThe types listed here can be used to check the parameters of an operation and, with someexceptions, to check the specification entered in the variable key:

    3HUPLWWHG7\SHV

    7\SH 0HDQLQJ

    MASK The only characters allowed are $= and .

    WGTYP Only one wage type is allowed, which must be among those listed in tableT512W.

    TWGTYP Only one wage type is allowed, which must be among those listed in tableT512W or corresponds to one of the identifiers .

    TIMTYP Only one corresponding time type is allowed, which must be among thoselisted in table T555A.

    DAYPRG Only one daily work schedule variant is allowed, which must be amongthose listed in table T550A.

    HRS The different parameters of time management operation HRS are checkedusing their own type.

    NUMERIC The only characters allowed are .

    ALPHA The only characters allowed are $=.

    ALL All characters which can be printed and displayed.Tip: For example, if operation WGTYP? is used, a wage type is placed inthe variable key, therefore the type WGTYP should be used. However, ifoperations VAOFF or VALEN are used to process only part of the data, inother words, ARG_LEN less than 4, you should use the type ALL.

    COMPARE The only characters allowed are DQG!.

    PLUSMINUS The only characters allowed are and -.

    YESNO The only characters allowed are

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    &KHFNLQJWKH3DUDPHWHUVRIDQ2SHUDWLRQ

    -XQH

    &KHFNLQJWKH3DUDPHWHUVRIDQ2SHUDWLRQThere are two routines for checking parameters. Routine CHECK_TYPE checks whether thereare characters belonging to a particular type in the position being checked. If the positions arenumerical, routine CHECK_RANGE checks whether the value lies within the specified valuerange.The access must be as follows:PERFORM CHECK_TYPE USING OPERATION+ofs(len) type SPACE.or

    PERFORM CHECK_TYPE USING OPERATION+ofs(len) SPECIAL string.PREFORM CHECK_RANGE USING OPERATION+ofs(len) low high.0HDQLQJRISODFHKROGHUV

    ofs, len Positions to be checkedtype Admissible type with the exception of the type SPECIALstring List of all allowed characterslow First allowed valuehigh Last allowed value

    If the value lies out of the allowed value range, the system displays an error message.If an error has occurred after the routine is called, you must end processing (for example, withthe command EXIT).

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    8VLQJXPP\6WDWHPHQWV

    -XQH

    8VLQJXPP\6WDWHPHQWVThere are operations which cannot be assigned uniquely to a particular country and programclass. However, some parameters may be admissible for all combinations while others are onlyadmissible for certain countries or program classes. When creating the version of the check for aspecific program class or country, all pieces of coding which are not admissible for thecombination in question are removed. An error message is therefore displayed if you use anoperation parameter which is not admissible for the country or program class in question.This is done by working with certain dummy statements. The parts of the coding which arespecific to particular program classes and countries are surrounded by an IF condition.Please note that these dummy statements can only occur in commentry lines.The procedure is illustrated by the following example:

    ERROR = 4. Since parts of the coding are removed later, it is generally to be assumed that an error has occurred, and the error should only be reset to zero if the parameter settings are correct.

    "Coding at this point means that there is no delimitation to specific"countries or program classes* CIF PCL:T. "Program elements which are only valid for Time Management "should be positioned here.* CENDIF.* CIF PCL:C. Coding valid for Payroll Accounting * CIF CNT:01. Coding valid for Payroll Accounting Germany * CENDIF. * CIF CNT:02,03. "Coding valid for Payroll Accounting Switzerland and Austria * CENDIF.* CENDIF.

    In this way you can exercise detailed control over the admissibility of parameters. We plan toextend this delimitation function to component level at a later date. It is only necessary to usethese dummy statements if you cannot assign an operation to a program class or to a country onthe parameter level.

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    HVFULSWLRQRI6WUXFWXUH$FFRUGLQJWR2SHUDWLRQ7\SH

    -XQH

    HVFULSWLRQRI6WUXFWXUH$FFRUGLQJWR2SHUDWLRQ7\SHThere are 4 types of operations:

    Normal operations [Page 24] Decision operations [Page 25] Jump operations [Page 26] Operations which run a subrule [Page 27]

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    1RUPDO2SHUDWLRQV

    -XQH

    1RUPDO2SHUDWLRQVThere are operations which end processing in the line in which they appear (for example,ERROR or NEXTR). For this reason, this operation may not be followed by others. You must seta switch for these operations.OP_FORCED_STOP = X.If further operations follow this operation, the system displays an error message.

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    HFLVLRQ2SHUDWLRQV

    -XQH

    HFLVLRQ2SHUDWLRQVThe statements listed below must be entered in the coding for every decision operation:

    The type of operation must be defined:OP_TYPE = DECISION.If a different rule type is specified for the line containing the operation, the systemdisplays an error message when the check is performed.If there is more than one decision operation in a line, an error will occur.This does not apply to rule type 6. Since no entry is made in the variable key, therecan be more than one decision operation.

    A decision operation enters data in the variable key. You must specify the type andlength of the specification.

    ARG_TYPE = x. x = admissible type for specificationARG_LEN = y. y = maximum length of specification

    The length can be reduced by operations VAOFF and VALEN. For this reason, youmust call a corresponding routine afterwards to determine the length the specificationis to have in the variable key.3(5)250(7(50,1(B/(1*7+86,1*$5*B/(19$2))9$/(1

    The above does not apply to operations AMT, NUM and RTE. For these operations,the offset and length are specified directly as a parameter, so that the coding mightbe as follows:PERFORM DETERMINE_LENGTH USING ARG_LEN OPERATION+ofs1(len1) OPERATION+ofs2(len2).For error processing, the error number must be queried, for example,:IF ERROR GT 0. EXIT. ENDIF.The routine tests whether the section determined by VAOFF and VALEN isadmissible. Since the variable key can only contain a certain number of characters, itmay not be possible to enter the new specification there.The routine also tests whether the variable key has been set up according to thedecision operations.

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    -XPS2SHUDWLRQV

    -XQH

    -XPS2SHUDWLRQVYou must enter the following variables to ensure that the check can function correctly.

    The type of operation must be defined:23B7

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    2SHUDWLRQV:KLFK5XQD6XEUXOH

    -XQH

    2SHUDWLRQV:KLFK5XQD6XEUXOHThe variables below must be entered in order to carry out the necessary checks.

    The type of operation must be defined:23B7

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    $VVLJQLQJ2SHUDWLRQVWR,QFOXGHV

    -XQH

    $VVLJQLQJ2SHUDWLRQVWR,QFOXGHVIn accordance with various criteria, the coding of an operation must be entered in certainincludes:

    This is generally used to determine whether the routine is a main routine in theoperation or a subroutine. The names of main routines are made up of the ID OPand the operation name. These routines are entered in the include which has an Fas placeholder . All other routines are in the include with an S as placeholder.

    Since you can only load members up to a certain size into the Editor, all includes in agroup are numbered sequentially - this number is represented by placeholder .

    A further criterion is whether the operation is international or can be assigned to agroup of countries, or whether it can only be assigned to one program class andcountry grouping (unique assignment). Placeholder stands for the program classand for the HR country indicator which is derived from the country grouping (tableT500L). The HR country indicator for program class T is always 0.

    RPxCOayz includes contain the operations which can be assigned uniquely.Examples of these are the Time Management operations, which are not country-dependent, and the operations assigned to one country in table T52B5. By definition,the routines in these includes can contain no dummy statements. The remainingoperations must be entered in the RPCCOa0z includes.

    When a rule check is generated for a particular program class and country, thesystem removes inadmissible operations and parameters from the RPCCOa0zincludes and uses them to generate the RPUCOxyz includes. The RPxCOayzincludes are selected by program class and country and taken over unchanged.

    If you need to create new includes, please set the class to PU02 (HR Utilities PayrollAccounting) in the attributes.

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    *HQHUDWLQJWKH5XOH&KHFN

    -XQH

    *HQHUDWLQJWKH5XOH&KHFNReport RPUGCC00 generates various members (main report and includes) according to theparameters set for the SURJUDPFODVV and FRXQWU\JURXSLQJ. These PHPEHUV are required inorder to check the specified parameter combination in the rule editor.The following provides an overview of the includes required for generation and the memberswhich are generated:

    RPxCOayz Contains the coding for all operations for which unique assignments canbe made:- Time Management operations- Payroll operations if they can be assigned to one country.The &XVWRPHU&KHFN5RXWLQHfield must be flagged in table T52BN(Input+output).

    RPCCOa0z Contains the coding for all operations which do not meet the criteriadescribed above. The &XVWRPHU&KHFN5RXWLQHfield must be flagged intable T52BN (Input).

    RPUCCxy0 This is the main report accessed from the Rule Editor (Output).RPUCOxyz Contains the coding for all operations which are admissible for the

    program class and country grouping in question and are not already in anRPxCOayz include (Output).

    Meaning of placeholders:a Type of routine

    a = F Main routines for operationsa = S Subroutines for operations

    x Program classx = C Payrollx = T Time Management

    y For program class C, this is the HR country indicator, which is derived from the HRcountry grouping (T500L) (with program class T: y = 0).

    z Sequential numberingPlease note that to call up the check you require another include, which is generated by anotherreport.

    RPxOIPy0 Contains the indexed PERFORM.

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    5HSRUWVDQG7DEOHVIRU)XQFWLRQVDQG2SHUDWLRQV

    -XQH

    5HSRUWVDQG7DEOHVIRU)XQFWLRQVDQG2SHUDWLRQVThe following contains a list of the tables and reports for use in maintaining functions andoperations.

    All tables for maintaining functions and operations for Payroll Accounting andTime Management are edited by means of transaction PE04 (with the exceptionof table T52BM, 2SHUDWLRQ0RGHOV).It is not usually necessary to maintain the tables directly using transaction SM30or SM31, and this should be avoided in the interests of the consistency of thedata.

    The following tables are used for functions and operations: Internal object numbers (view V_T52A0) [Page 36] Valid object values (table T52B5) [Page 37] Function parameter (view V_T52B6) [Page 38] Function parameter value (view V_T52B7) [Page 39] Use of infotypes with objects (view V_T52B9) [Page 40] Operation model (table T52BM) [Page 41] Assignment of models to operations (table T52BN) [Page 42] Operation parameter (view V_T52BO) [Page 43]

    The following reports are used to activate functions and operations: Report generation from T52A0 (choice of procedure), report generation from T52A0

    [Page 31]. Generation of calculation rule check, generation of a calculation rule check [Page 33] Generation/checking of schemas, generation/checking of schemas [Page 35].

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    5HSRUW*HQHUDWLRQIURP7$

    -XQH

    5HSRUW*HQHUDWLRQIURP7$

    5HSRUW538&7

    The Internal Object Numbers [Page 32] (T52A0) and $VVLJQPHQWRI9DOXHVWR2EMHFWV (T52B5)tables are used to generate includes and programs for the various payroll programs.Method:

    TURBOCASE directly in main report generating an include

    The reports generated comply with the following naming conventions: Functions:

    RPxASFy0 Include in main reportX stands for the program class and y for the country grouping (y = 0 if x = T).

    Operations:RPxBO1y0 Include in main reportX stands for the program class and y for the country grouping (y = 0 if x = T).

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    $FFHVVLQJ)XQFWLRQV

    -XQH

    $FFHVVLQJ)XQFWLRQVEach payroll driver contains an include. In this include, routine AS-FUNKTION accesses theindividual function modules in an indexed PERFORM. To facilitate this procedure, each functionis assigned a number between 1 and 255 in table T52A0. Transaction PE04 is used to make thisassignment.The include RPCASFx0 is generated by the report RPUCT700 [Page 30]. The system startsreport RPUCT700 automatically when the function is activated using transaction PE04.

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    *HQHUDWLQJD&DOFXODWLRQ5XOH&KHFN

    -XQH

    *HQHUDWLQJD&DOFXODWLRQ5XOH&KHFN

    5HSRUW538*&&

    This report generates various PHPEHUV(main report and includes) according to the 3URJUDP&ODVVand &RXQWU\*URXSLQJparameter These PHPEHUV are required in order to check thespecified parameter combination in the rule editor.This section describes the includes required for generation and the members which aregenerated:

    RPxCOayzContains the coding for all operations for which unique assignments can be made: 7LPH0DQDJHPHQW operations 3D\UROO operations if they can be assigned to one country. The &XVWRPHU&KHFN

    5RXWLQHfield (Input + Output) must be flagged in table T52BN, $VVLJQLQJ0RGHOVWR2SHUDWLRQV.

    RPCCOa0zContains the coding for all operations which do not meet the criteria described above.The &XVWRPHU&KHFN5RXWLQHfield must be flagged in table T52BN (Input).

    RPUCCxy0This is the main report accessed from the Rule Editor (Output).

    RPUCOxyzContains the coding for all operations which are admissible for the program class andcountry grouping in question and are not already in an RPxCOayz include (Output). stands for the type of routine (a = F: Main routines for operations, a = S:

    Main routines for operations) stands for program class stands for RP country indicator, derived from the RP country modifier. stands for a sequential number.Please note that to call up the check you require another include, which is generatedby another report.

    RPxOIPy0Contains the indexed PERFORM.

    5HSRUW3DUDPHWHUV

    6(/(&7237,21 &RXQWU\JURXSLQJ

    &KHFN

    If 7LPH0DQDJHPHQW is entered as the program class, you must not enter a country grouping.If 3D\UROO$FFRXQWLQJ is entered as the program class, you may enter any country grouping fromtable T500L.

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    *HQHUDWLQJD&DOFXODWLRQ5XOH&KHFN

    -XQH

    8VH

    The country groupings are used to determine the HR country indicator, which is needed whennaming the report to be generated. It is also used when selecting the valid operations andparameters. A rule check is created for each country grouping.

    3$5$0(7(5 3URJUDPFODVV

    &KHFN

    The only entries allowed are T for 7LPH0DQDJHPHQW and C for 3D\UROO$FFRXQWLQJ.

    8VH

    The program class is used when naming the report to be generated and to determine theadmissible operations and parameters.

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    *HQHUDWLRQ&KHFNLQJRI6FKHPDV

    -XQH

    *HQHUDWLRQ&KHFNLQJRI6FKHPDV

    5HSRUW5386&*

    RPUSCG00 is an important report in Payroll Accounting. It determines whether a schema mustbe generated again, and if necessary, generates schemas.Schemas are saved in tables and are accessed by generating the PCL2 file. When the payrolldriver is started, it reads the schemas from PCL2 using report RPUSCG00. This report checkseach schema to determine whether it has been changed since it was last generated. If this is thecase, the report checks and generates the schema.However, the system also generates the schema if those specified are not yet stored in filePCL2.You can start the generation from the initial screen of the schema maintenance function. Choose6FKHPD*HQHUDWH The system also evaluates the LSCHE feature. You can use this feature tospecify the languages, apart from the logon language, in which the schema is to be generated.

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    1XPEHUDQG1DPHIRU7XUERFDVH

    -XQH

    1XPEHUDQG1DPHIRU7XUERFDVH

    7DEOH7$

    All objects used in the payroll driver and in the Time Management report are entered in this table.All objects are sorted by program class and object type.This table is used as a check table. To increase performance, it is also possible to assign anumber to each object. This means that the objects are no longer identified by their names in theprograms but by their "Turbocase number". This table is maintained automatically usingtransaction PE04.

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    $VVLJQLQJ9DOXHVWR2EMHFWV

    -XQH

    $VVLJQLQJ9DOXHVWR2EMHFWV

    7DEOH7%

    Objects are assigned attributes in this table. The objects are identified by their object class andobject name.This table is maintained automatically using transaction PE04.This table is not a check table. The objects, attributes and part combinations entered here arechecked in the following tables:

    Object classes Table T52B1Attribute Table T52B2Valid object class attributes Table T52B3Valid attribute values Table T52B4

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    )XQFWLRQ3DUDPHWHUV

    -XQH

    )XQFWLRQ3DUDPHWHUV

    7DEOH7%

    This table is a check table for functions in the 3D\UROO$FFRXQWLQJand 7LPH0DQDJHPHQWcomponents. All admissible function parameter combinations are defined here for each programclass.You can also specify how entries are to be made in transaction PE01 (schema maintenance) inthis table, in other words, the column (parameter 1to 4) for the entry and whether or not the entrymust be made. The entry value can either be determined from the 3DUDPHWHU7\SH column ortaken from the 9DOXH column in table T52B7, )XQFWLRQ3DUDPHWHU9DOXHV.

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    9DOLG)XQFWLRQ3DUDPHWHU9DOXHV

    -XQH

    9DOLG)XQFWLRQ3DUDPHWHU9DOXHV

    7DEOH7%

    In this table you can set the valid specifications for the function parameter combinations for whichno entry can be made in the 3DUDPHWHU7\SHfield in table T52B6, )XQFWLRQ3DUDPHWHUV.

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    8VHRI,QIRW\SHVIRU2EMHFWV

    -XQH

    8VHRI,QIRW\SHVIRU2EMHFWV

    7DEOH7%

    Data fields for +50DVWHUDWD7LPH0DQDJHPHQWand$SSOLFDQWDWD are grouped togetherlogically in infotypes.

    Infotype Family, Work Center, Basic PayThe following naming conventions apply to infotypes:

    Infotypes 0000 to 0999 HR master data and possibly applicant dataInfotypes 1000 to 1999 Planning and Development dataInfotypes 2000 to 2999 Time dataInfotypes 4000 to 4999 Applicant dataInfotypes 9000 to 9999 Customers own

    In this table, you can specify which infotypes are read by an object during payroll for eachprogram class and object type.The program class determines where an object, for example, a schema or rule, is used(T = Time Management, C = Payroll Accounting).The object type determines the purpose of the object. This means that the object TIME can beused either as a function (with object type FU) or as an operation (with object type OP).

    At present, object types )8 (functions) and 23 (operations) are admissible,although only object type )8 is evaluated during schema generation.

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    2SHUDWLRQ0RGHOV

    -XQH

    2SHUDWLRQ0RGHOV

    7DEOH7%0

    Each model name is assigned to a model in this table. The system uses this model to check theoperations and the permitted parameters for 3D\UROO$FFRXQWLQJand 7LPH0DQDJPHQWYou do not need to maintain this table since a new operation is assigned to a model enteredhere. However, if none of the existing models is suitable, you must create one.

    This entry will not be transported automatically.

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    $VVLJQLQJ0RGHOVWR2SHUDWLRQV

    -XQH

    $VVLJQLQJ0RGHOVWR2SHUDWLRQV

    7DEOH7%1

    In this table each operation from 3D\UROO$FFRXQWLQJand 7LPH0DQDJHPHQWis assigned a model.The system uses this model to check the operations and the permitted parameters for 3D\UROO$FFRXQWLQJand 7LPH0DQDJHPHQW

  • 6$3$* &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW

    2SHUDWLRQ3DUDPHWHUV

    -XQH

    2SHUDWLRQ3DUDPHWHUV

    7DEOH7%2

    This table is a check table for operations in the 3D\UROO$FFRXQWLQJand 7LPH0DQDJHPHQWcomponents.You can define all admissible combinations of operations and parameters for each programclass. You can also define specifications for the operation-parameter combinations.This table is used in the check in transaction PE02, 0DLQWDLQ3D\UROO5XOHV, and also in the valuehelp for the individual operations.

  • &UHDWLQJ)XQFWLRQVDQG2SHUDWLRQVIRU3D\UROO$FFDQG7LPH0DQDJHPHQW 6$3$*

    3URJUDP7\SH0,;

    -XQH

    3URJUDP7\SH0,;Program type MIX (see also RPDSYS00 documentation on function PGM) enables you to createa schema to carry out both payroll accounting and evaluation (in other words, data transfer toFI/CO).You can use program type MIX for simulate payroll accounting and evaluate the generated datadirectly. This is of particular use, for example, in Cost Planning.Function XCAEV splits the schema into the payroll part and the evaluation part. ProgramRPCALCX0 then carries out the following steps for each of the selected personnel numbers:

    Payroll accounting, taking account of individual and general retroactive runs. Evaluation of results obtained in the first step.

    No database updates take place with program type MIX.