Effect of Database Changes

One of the advantages of Payroll for North America is that you can use PeopleTools to easily configure the payroll tables. However, you keep in mind how any changes you make might move through the database, particularly considering the interdependency not only of tables, but also of the batch processes that call them.

Suppose you decide you have to add a column (a field) to PERSONAL_DATA. PeopleSoft batch processes never issue a SQL SELECT statement against a table. The system always selects only the columns that it wants from the table. If it wants to retrieve or update rows of the employee names, for example, it specifically asks for the NAME. It never makes an assumption about what columns are on that table.

Consequently, if you add a column to PERSONAL_DATA, it doesn't affect batch payroll processes, because if a batch process wants something from PERSONAL_DATA, such as the employee's address, it asks for the address by column name. So, in effect, you can add multiple columns, and if you do not need or want your new columns to affect batch processing, that's OK, because the processes ignores them. Any tables that you modify, of course, are maintained by the online system, so you must modify and store the appropriate records (and possibly pages).

You must be more careful when modifying existing columns that are used by the batch processes. For example, you might decide to alter the HOURLY_RT column on the JOB table. You need seven decimal places instead of the six provided in PeopleSoft. Now, the batch Payroll system is set up to read the HOURLY_RT column from the JOB table; and when it does so, it makes the assumption that it's reading the HOURLY_RT as defined in the standard application. In this case, modifying an existing column affects payroll processing, because the COBOL programs must know the format of the data to be mapped. Because the HOURLY_RT column is used by Payroll, you also have to modify some of the batch processes.

Remember also that if you change the name of the HOURLY_RT column, the batch processes won't be able to find it unless you modify the batch processes accordingly.

Some of the tables—particularly the output tables—are maintained by batch processes (DEDUCTION_BAL, the Deduction Balance table, for example). During normal processing, the system inserts, updates, and possibly even deletes individual rows. When you add new or modify existing columns on these tables, you have to make the corresponding COBOL changes.