CJ8G — Collective Settlement of Projects and WBS Elements
CJ8G runs actual settlement for a selection of projects or WBS elements in one pass, using a selection variant instead of a single project number. It is the mass-processing counterpart to CJ88 and moves costs and revenues already posted on the WBS to the receivers defined in the settlement rule, such as fixed assets, cost centers, or other WBS elements.
This page covers CJ8G, the collective settlement transaction for Project System, focused on how the mass run differs from single-project settlement and where it fails during period close. It walks through the real execution sequence, the tables the run touches, and how to isolate which objects failed and why without rerunning the whole batch blind.
Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,203 words
Purpose
CJ8G executes settlement for a batch of projects and WBS elements selected by variant rather than entered one at a time. It does not calculate anything new; it takes actual costs and revenues already posted on the sender WBS element and books them to whatever receivers are defined in the settlement rule, in the proportions or amounts already maintained there. The structural fact that causes most confusion is that CJ8G is purely a distribution engine driven by a pre-existing rule and a pre-existing balance. If the settlement rule is wrong, missing, or incomplete, or if there is no balance to move because nothing was posted in the period selected, CJ8G will either error out object by object or silently settle nothing, and neither outcome looks like the other from the log alone.
When it is used
CJ8G belongs to period-end closing in PS, run after actual cost postings, overhead calculation, and any interest calculation have already happened for the period, and typically scheduled as a background job across a large portfolio of projects rather than triggered interactively. A consultant reaches for CJ8G when settlement needs to run for many projects in one job, often nightly or as part of a closing cockpit chain, and reaches for CJ88 instead when isolating why one specific project failed to settle. Fiori equivalents exist for monitoring settlement results in S/4HANA closing apps, but the mass execution logic and the transaction itself remain the same underlying process.
How to use it in practice
- Build or select a variant defining the project and WBS scope: project definition range, WBS range, project profile, or responsible cost center
- Choose processing mode: test run to preview postings and errors without committing, or update run to post
- Set the settlement period and fiscal year explicitly; this must match the period the actual costs were posted in
- For large selections, schedule as a background job rather than running online to avoid dialog timeouts
- Execute and review the result log, which lists settled objects separately from objects that errored
- For any object that errored, open it individually in CJ88 to see the detailed error and fix the underlying rule or status, then rerun only that object rather than the full batch
Key data objects
- PROJ - project definition header data used by the selection variant to pull in scope
- PRPS - WBS element master data, including system status that determines whether settlement is even allowed
- COBRB - the settlement rule and distribution percentages or amounts read by the run for each sender
- COSP and COSS - totals records holding the actual costs by cost element and period that form the balance to be settled
- BSEG - accounting document line items created when the settlement posts to a cost center, G/L account, or other FI-relevant receiver
- ANLC and ANLP - asset value totals updated when the receiver is an asset under construction or a fixed asset
How to prove it in the data
Start in COBRB filtered on the sender object number for the WBS elements in question, and confirm a distribution rule exists with receivers and percentages summing to a valid total. Cross-check COSP and COSS for the same WBS and fiscal period to confirm there is an actual balance under the relevant cost elements to move. Then use CJI3 filtered on the same WBS range and period to see whether settlement line items were actually posted; if COBRB and COSP show a valid rule and a balance but CJI3 shows nothing, the run either excluded the object from the selection variant or errored on it, not that there was nothing to settle.
ECC vs S/4HANA
CJ8G exists unchanged in S/4HANA as a classic GUI transaction, and the underlying settlement logic and rule structure are the same as in ECC. What changes is visibility downstream: settlement postings land in the universal journal alongside other actuals, so reconciliation against the general ledger is more direct than in ECC's separate CO tables. There is no dedicated Fiori app that replaces the collective run itself for scheduling purposes; monitoring is typically done through closing cockpit or job monitoring apps layered on top of the same transaction.
Common pitfalls and how to diagnose them
- Selection variant scope too narrow: a project simply was not included because its status, profile, or project range did not match the variant, and it silently does not appear in either the settled or error list; check the variant selection first, before assuming an error occurred
- Incomplete or missing settlement rule: COBRB has no receiver line, or the percentages do not total to a full distribution, producing a distribution-rule-incomplete error for that object only; fix the rule on the WBS element and rerun that object individually rather than the whole batch
- System status blocking settlement: the WBS element is not released, or is already technically completed and locked against further postings, so settlement is rejected at the status check; confirm status in CJ20N or CJ03 before touching the settlement rule
- Period and fiscal year mismatch: the run is executed for a period different from where the actual costs were posted, so the balance available to settle is zero even though the rule is correct; this looks identical in the log to a genuinely empty balance
- Long-running collective job with partial completion: a very large selection can hit a lock timeout or job cancellation partway through, leaving some objects settled and others untouched with no clear error; always check the job log for abnormal termination, not just the application result list
- Reflex fix that makes it worse: rerunning the full collective job again after a partial failure instead of rerunning only the failed subset, which risks duplicate settlement postings on objects that already succeeded; always isolate the failed-object list first and rerun narrowly
Whose problem this is
Functional PS and CO own the settlement profile, allocation structure, and the settlement rule configuration on the WBS itself. Basis owns background job scheduling, memory limits, and lock contention for large collective runs. A good handover includes the failed-object list from the run log, the specific error text per object, the fiscal period and year used, and a COBRB extract for the affected WBS elements rather than a screenshot of the summary log alone.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tcodes/cj8gERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.