The following bits of information have proved useful to me.
If they are useful to you, that's nice.
The effects may vary from site to site based on what version of the R/3 kernel you may be running, as well as based on the version of whatever database, as well as based on your site's functional and Basis configurations.
If you're not sure whether doing any of these things may break security requirements, take you to the wrong transaction, or delete or corrupt data, then you should probably not use this information, or use an R/3 system...
SNI Reliant Unix
Check authorizations for SAP using SU02.
Delete SAP* user under Oracle:
Log in as SAP*, password 06071992. (The default password for DDIC is 19920706; the default password for SAPR3 is SAP)
Use txn SU01 to recreate authorizations in SAP* user record:
This program regenerates all ABAP programs. It must be run as user SAP*.
This program can be used to somewhat interactively execute programs at the operating system level. It appears to have been omitted in version 3 and above...
Job Queue API
This program compares tables between the client you are logged into, and another client you specify for client independent tables.
Compare client-dependent tables.
Transport of a "feature" (heaven only knows what a feature actually is) is indicated by transport of an object of type R3TR and PMKC.
Activation ("regeneration") of features is not handled automatically at the time of transport; this is likely something that will be added to CTS functionality some day by SAP AG. Thus the need to run program RPUMKG00. The appropriate argument to pass in seems usually be to generate all features, with a Type of generation value of "2."
Client Copy Log Analysis
See when/where client copies have taken place.
Here's a utility showing how one fiddles with an internal table in a dynamic fashion...
Examine cluster **.
Function Module Z_LGART_RPT.
Pass in the payroll class and info on desired values
Passes back a variety of tables representing breakdowns of spending for the
ZHPYRPTS - Example template for Retro Net wagetype reporting
Must have FORM Z800_ACCUMULATE_DATA, which collects data from internal table NETRT into whatever program structure is defined to accumulate data for later use in reporting. Called from INCLUDE ZHPYI012.
A little "rule language" for representing pay calculation rules as used in programs RPCALC*. The US Payroll calculation program is RPCALCU0.
The U000 scheme is used to estimate payroll calculations; it is run repeatedly on a group of employees until no exceptions are found.
One can characterize the calculations for scheme U000 as doing the following:
Validate Basic information ( e.g. infotypes 0001 thru 0009)
Read payroll account for the period last processed
Read time data
Build up individual and aggregate gross income
Filter out deductions
Deduct previously calculated amounts (what shall be "type P" records) so as to determine the "net" amount. They must be deducted "twice" rather than once...
Determine the amount that must be turned into a "bank transfer."
Once the data is correct, use scheme U500 to create an FI export to be used to account for the payroll activity in the G/L.
There are three "input files" used to calculate payroll:
Pnnnn ( nnnn is the infotype number)
Personnel master record info
PCL1 - Primary data - time events
B1 - Time events/pdC
G1 - Group incentive wages
L1 - Individual incentive wages
PC - Personal Calendar
TE - Travel expenses/payroll results
TS - Travel Expenses/master data
TX - Infotype texts
ZI - PDC interface for cost accounting/materials management
PCL2 - Secondary data - derived from Pnnnn and PCL1 for previous months
B2 - Time accounting results
CD - Cluster Directory
PS - Generated schemas
PT - Texts for Generated schemas
RX - Payroll results - int'l
Rn - Payroll results - country specific
ZL - Personal work schedule
AP - Applicant actions
TY - Texts for applicant data infotypes
RPCALC*0 is used to turn these into a new PCL2 record containing current period payroll data; the Pnnnn data is archived for future reference...
While working, the following internal tables are used:
IT - Input Table - containing wage types
OT - Output Table - contains results of processing; gets fed back into IT after each processing step
RT - Results Table for the accounted period
After completion, this data is stored in cluster RX of PCL2.
ORT - Old Results Table - the contents of RT in the previous period's run
Nice month selector
No useful interaction
App server to presentation server
Presentation server to app server
Allows interactive editing of the contents of a table.
User command ID
Num of lines per page
Num of columns per page
Current page (list generation time)
Current line (list generation time)
Current column (list generation time)
Page currently displayed
List displayed starting at column
List displayed starting at row
List level displayed
List level selected
Number of seleted line
String containing the line selected
Transaction SMOD can list R/3 user exits; use the second screen to specify a range, from 11111111 to zzzzzzzz.
Most user exits are function modules containing EXIT_.
T000 - Contains a list of all clients in the systems
TRBAT - contains staging information on return codes from various steps in the import process.
If a transport "goes bad," a system can get snarled up, and it will be necessary to purge the entries in this table, kill the relevant TP processes, and restart.
TADIR - contains info on the ownership of objects.
If objects were modified in system HD2, and development has moved to HD1, then it may be necessary to run the following SQL update in order to move ownership to HD1...
select count(*) from sapr3.tadir where SRCSYSTEM='HD2';