PA0001 table — PA0001 Organizational Assignment Infotype Table
PA0001 stores infotype 0001, Organizational Assignment: the time-dependent link between a personnel number and its organizational unit, position, job, cost center, company code, personnel area/subarea, employee group/subgroup and administrator groups. Every row is one validity-delimited assignment record for one PERNR. It is the table most reports join to for headcount, cost center allocation, and reporting-line questions.
PA0001 is the classic infotype 0001 cluster table holding an employee's organizational assignment history: org unit, position, job, cost center, personnel area and payroll area, each tied to a BEGDA/ENDDA validity window. This page covers the fields worth trusting, the joins into the org structure and payroll customizing tables, and the recurring mistakes made when reading its time-dependent, denormalized data, including behaviour specific to environments where Employee Central is the system of record.
Published 15 Sept 2026· 1,108 words
What it stores
One row represents a single validity-delimited organizational assignment for one employee: which position and job they hold, which organizational unit they belong to, which cost center is charged, which company code, personnel area and subarea, employee group and subgroup apply, and which personnel, time and payroll administrators are responsible, all valid for a specific BEGDA to ENDDA window. An employee normally has several rows over their employment history, created whenever a personnel action or a direct infotype change delimits the previous record and opens a new one. Unlike infotype 0000 (Actions), which records why a change happened, PA0001 records what the resulting structural position looked like. It is read constantly by payroll, reporting and authorization checks because structural authorizations and cost assignment both hang off it.
Key fields
- PERNR - personnel number, the employee key
- SUBTY - infotype subtype, usually blank for standard org assignment unless configured for concurrent employment
- BEGDA, ENDDA - validity period of this assignment record
- BUKRS - company code
- WERKS - personnel area
- BTRTL - personnel subarea
- PERSG - employee group
- PERSK - employee subgroup
- ORGEH - organizational unit
- PLANS - position (Planstelle)
- STELL - job (Stelle)
- KOSTL - cost center
- ABKRS - payroll area
- SACHZ - personnel administrator, with SACHA and SACHP for time and payroll administrator groups
- VDSK1 - organizational key used in authorization checks and some reporting
How it joins the data model
- PA0001-PERNR = PA0000-PERNR to bring in the action reason and status that caused the assignment change
- PA0001-PERNR = PA0002-PERNR to resolve the employee's authoritative name instead of trusting any denormalized text field
- PA0001-PERNR = PA0008-PERNR on overlapping BEGDA/ENDDA to line up organizational assignment with pay
- PA0001-ORGEH = HRP1000-OBJID where HRP1000-OTYPE = 'O' to get the org unit's current or historical short and long text
- PA0001-PLANS = HRP1000-OBJID where HRP1000-OTYPE = 'S' to get the position text, and PA0001-PLANS = HRP1001-OBJID to walk relationships such as position-to-job or position-to-org-unit
How to read it safely
PA0001 is client-dependent, so MANDT is implicit in every selection through the client field, never open it across clients directly. Always restrict by PERNR and by a date, either a single key date against BEGDA/ENDDA or an explicit range, before pulling anything at volume: an unrestricted select across a large workforce with years of history returns one row per delimitation event per employee, not one row per employee. STAT2 or the employment status stored on infotype 0000 is not on this table, so do not try to filter active employees from PA0001 alone; join PA0000 or use the standard read logic. Subtype is almost always blank for standard organizational assignment, so filtering on SUBTY is rarely needed and can silently exclude rows if it is set incorrectly.
How to prove it in the data
Symptom: an employee's payroll run picked up the wrong cost center. Select PA0001 by PERNR for a date range spanning the payroll period in question, ordered by BEGDA, and look at KOSTL and the validity boundaries. If a record was delimited mid-period, or the wrong ORGEH/PLANS/KOSTL combination is active on the payroll's own key date rather than the date the change was intended to take effect, that record is the source, not a payroll configuration issue.
ECC vs S/4HANA
PA0001 continues to exist unchanged in its classic infotype 0001 form in S/4HANA on-premise HCM; it was not replaced by a new table, and compatibility CDS views exist for reporting on top of it rather than instead of it. Where Employee Central is the system of record and this is integrated into an on-premise payroll or a side-by-side scenario, PA0001 is typically populated by replication rather than direct PA30 maintenance, and the authoritative organizational assignment lives in Employee Central's own job information object, with PA0001 acting as a target structure kept in sync by an integration job.
Common pitfalls
- Selecting PA0001 without a date filter and treating every returned row as the current assignment; the table holds full history and duplicate-looking rows for the same PERNR are different validity periods, not data errors
- Assuming a change to the position's organizational unit in HRP1000 automatically updates every employee's ORGEH on PA0001; it does not, PA0001 is a snapshot taken when the infotype record was created or changed, reconciliation reports exist specifically because these drift apart
- Trusting ENAME or similar name fields on infotype tables as current; these are denormalized copies that can be stale, PA0002 is the authoritative source
- Confusing PLANS (position) with STELL (job); a position is a specific seat, a job is the generic role template, cost and headcount reporting usually needs the position
- Concluding an employee has 'multiple organizational assignments' from overlapping date ranges without checking whether those overlaps are a genuine concurrent employment setup via SUBTY or simply a bad delimitation left by an interface load
- Using KOSTL on PA0001 as the definitive cost posting target without checking whether a cost distribution infotype exists and overrides it for specific date ranges
- In an Employee Central integration, editing PA0001 directly in the ECC/S4 backend to fix a discrepancy instead of correcting it at source and letting replication overwrite the manual fix on the next run
Whose problem this is
In a classic on-premise setup, the PA/OM functional consultant and the local HR administrator own the data on PA0001, maintained through PA30 or personnel actions. Where Employee Central is the source, the EC functional consultant owns the master data and the integration consultant owns the mapping and timing of replication into PA0001; discrepancies should be chased upstream to EC before anyone touches the ECC/S4 side.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tables/pa0001ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.