SAP transaction codeObjectCJ20NModulePS

CJ20N — Project Builder for WBS and Network Maintenance

CJ20N, the Project Builder, is the hierarchical editor used to create and change a project's structure - project definition, WBS elements, networks, activities, relationships and milestones - in a single tree view with a single save and a single lock. Most confusion traces back to that single-save behavior: one failing branch in the tree can block or silently partial-commit an otherwise correct edit.

This page covers the Project Builder transaction CJ20N: what it actually edits, when it is the right tool versus the classic single-object transactions, the tables its save writes, and the recurring diagnostic categories behind save failures, lock disputes, status inconsistency and unexpected field behavior. It also covers the S/4HANA situation and who owns the fix.

Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,289 words

Purpose

CJ20N, Project Builder, is the single hierarchical editor for creating and maintaining a project's full structure - project definition, WBS elements, networks, network activities, relationships and milestones - in one tree view instead of separate transactions per object type. The structural fact that explains most confusion: everything visible in that tree belongs to one lock and one save. A user opens a project, expands nodes across WBS and network branches, edits several of them, and issues a single save; if one branch fails a check - a missing cost center derivation on a WBS element, an activity referencing a deleted work center - the save can be rejected outright or committed for the valid branches only, leaving a tree that looks fully edited on screen but was not actually persisted in full. That gap is the source of most 'my changes disappeared' tickets.

When it is used

Reached for whenever a project's structure needs building or changing after the initial project definition exists - adding WBS elements, attaching networks and activities, setting relationships, assigning account assignment objects, releasing or closing elements, or triggering scheduling. It sits between project initiation (project definition created via a template or the create transaction) and execution reporting or settlement. Consultants reach for CJ20N rather than the classic single-object transactions whenever a change spans both WBS and network at once, since the tree view exposes cross-object dependencies that the separate transactions hide. On an S/4HANA implementation with a Fiori-first rollout, CJ20N remains the transaction opened for anything beyond simple status changes or read-only monitoring, because the Fiori apps available cover reporting and light actions, not full structural editing of a mixed WBS-and-network tree.

How to use it in practice

  • Enter the project ID or project definition on the initial screen, or use the search/worklist option to find it by project profile or description.
  • Expand the tree in the left pane to the level being changed - project definition, WBS element or network.
  • Add or change nodes using the toolbar functions or drag-and-drop within the tree - create WBS element, create network, create activity.
  • Maintain the relevant tab in the detail screen for the selected node - basic data, dates, account assignment, status.
  • Set or change system or user status only after confirming the status profile permits that transition for the object.
  • Save, then read the message log shown immediately after save rather than assuming success just because the screen refreshed.

Key data objects

  • PROJ - project definition header: project ID, project profile, responsible cost center, planning basic dates.
  • PRPS - WBS element master data: hierarchy keys, planning and account assignment indicators, responsible cost center at element level.
  • AUFK - order master record underlying each network attached to the project.
  • AFKO - network header data: scheduling type, order finish rule, link to the WBS element.
  • AFVC - network activity data: work center, control key, relationships between activities.
  • AFVV - activity quantities and dates: planned dates and planned quantities carried per activity.
  • JEST - object status table: current system and user status per object number, shared by WBS elements and network activities.

How to prove it in the data

Pull PRPS filtered on the project definition key to list every WBS element and its object number, then join to JEST on that object number to see the actual system and user status set for each element - this confirms or disproves a claimed release or technical completion. For network-side symptoms, take the network order number referenced from the project's WBS entries, pull AFKO and AFVC for that order, and join AFVV for activity dates and quantities; comparing those values against what the Project Builder tree currently displays confirms a partial or failed save rather than a stale screen.

ECC vs S/4HANA

CJ20N runs unchanged as a GUI transaction on S/4HANA. There is no full Fiori replacement for combined structural editing of WBS and network trees; the available Fiori apps cover monitoring, financial views and simple status actions, not the detailed build-out CJ20N handles. Underlying reads benefit from HANA-optimized processing, but the transaction's screens, logic and locking behavior match ECC. Custom enhancements or BAdIs firing during CJ20N save carry over through a conversion and need re-testing, since some underlying function modules were adjusted for simplification without changing the visible transaction.

Common pitfalls and how to diagnose them

  • Partial or silent save failure - user reports edits vanished after saving; check the message log shown right after save, since a single invalid branch (missing controlling area derivation, an activity referencing a deleted work center) can block or partially commit the whole tree, and the failure scrolls off screen fast.
  • Locking disputes - 'project locked by user X' when opening a project someone else has open, because CJ20N takes an enqueue on the whole project object, not per node; check SM12 against the project definition before assuming a stuck lock, and confirm the other user's session is actually idle before releasing it, since that discards their unsaved work.
  • Status inconsistency - a WBS element released while its network activities remain in created status, breaking downstream confirmation or scheduling; check JEST by object number for both the WBS element and its activities, since release of one object type does not automatically cascade to the other unless a status dependency or workflow enforces it.
  • Fields unexpectedly greyed out - usually a field selection key or user status restriction tied to the project profile and current status combination, not an authorization bug; check the project profile assigned to the project definition before escalating as an access issue.
  • Dates not propagating from network to WBS - basic or forecast dates on WBS elements stay static after network activity dates change, because propagation is a scheduling parameter, not a default; check the network's scheduling type and whether date transfer to the WBS is switched on for the project profile.
  • Dragging a network to a different WBS in the tree - reassigns account assignment going forward but does not move costs already posted against the old WBS element; check AFVC and AFVV account assignment against actual cost line items to explain the resulting cost discrepancy.

Whose problem this is

Functional PS consultant owns configuration - project profile, network profile, status profiles, field selection keys - and handles the day-to-day 'why can't I edit this' or 'why didn't my status stick' questions. Basis owns lock cleanup in SM12 and authorization objects controlling project access. ABAP gets involved only when a custom validation, substitution or BAdI fires during save. A good handover names the exact node in the tree, includes the save-time message log, and states whether the issue reproduces on a project without custom enhancements active.

Related SAP objects

Reviewed pages this object connects to in the ERPClimb knowledge graph.

Source: ERPClimb — https://erpclimb.com/sap-tcodes/cj20nERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.