Reconstructing PS Availability Control for Easier Cost Control With CJBN

Previous Blog:  The Best Way to Guarantee Accurate Project Reporting With CJEN (and RPSCO) 

In an earlier blog I documented what CJEN was and how it improves PS reporting.  Specifically, it is used to regenerate the RPSCO table which is the source for the hierarchy and structure reports in PS.  This is required because SAP’s design of a reporting table… a summary, aggregate table based on a series of underlying line item tables… can sometimes not tie out.  It loses it’s reconciliation authenticity with those source tables which renders it inconsistent.  SAP follows up by delivering a program that you can be used to periodically refresh the contents of that reporting table to ensure that the reports are accurate.  It’s a fine approach in my opinion. This approach to rebuilding a table is not new.  In addition to CJEN rebuilding RPSCO we have other areas within SAP finance that use a similar approach.

  • CO-PA Summarization Levels are rebuilt with transaction code KEDU.
  • The fixed asset depreciation values stored in table ANLC are recalculated using transaction code AFAR.
  • PS availability control (AVAC) is rebuilt with transaction code CJBN.

Let me cover CJBN and how it works vis-à-vis CJEN.


What is Availability Control?

Availability Control (AVAC) is related to commitment accounting in FICO, which in turn is related to budgeting in CO.  AVAC is a form of cost control to make sure that the budget of a cost object isn’t exceeded.  Specifically, this is a form of active cost control in that it will generate messages (sometimes warnings but usually errors) that alert/stop the user from posting a document to the cost object for budgetary reasons.  AVAC isn’t a module.  It’s more of a cross-application set of functionality to support cost controls on expense postings and commitments. In order for AVAC to work, SAP has to track the total budget for a project and it’s current assigned value (the commitments).  Calculating the budget is fairly easy but the assigned commitments are often not correct.  Similar to CJEN, CJBN will recalculate what the assigned value is for the project which will update the amount of available budget (hence the name, availability control).  


How Does CJBN Work?

Similar to a lot of PS reports, particularly the utility reports such as this, the selection screen is quite sparse.  You enter in the projects you want to work with and then hit [Execute].  You can limit the selection by budget profile but I’ve rarely had a need to use the report in that way.


The log is equally simple and concise. Even though there are financial amounts being refreshed, the log just lists out the projects that are updated.


What Does This Have To Do With CJEN?

In the background, the CJBN program is updating the assigned values based on the actual cost postings.  Where does it get that data?  Does it run to the CO line item table and all of the MM tables to compile the data for the project?  Of course not!  It just goes to RPSCO because all it’s concerned with is the summary balance and not the line item detail.  If RPSCO is off… if the totals in that table don’t tie to the actual line items… then this incorrect data is used as the basis for the actuals-to-commitments comparison that CJBN is trying to fix.  Therefore, it’s important that CJEN first be executed to ensure that RPSCO is correct.

The final takeaway is this…  If you’re having some availability control issues, run CJEN and then CJBN to make sure everything is correct.  Running CJBN by itself is not sufficient…  you should run CJEN first, then CJBN.  If you’re still having issues or questions, reach out to us for more assistance!  This is a very difficult area for most customers but SAP provides numerous ways to enforce cost control on projects.  The trick is to make the process flexible and not as punitive.