Cash Transaction Posting Integrity Check of ARCSHAPL Table

Cash Transaction Posting Integrity Check of ARCSHAPL Table

Release Date: 08/04/2025
Version: 8.5 & up

It was reported that in A/R Payment Inquiry Window, a orphan record is being displayed like the following screen, but user cannot locate this record anywhere:


The reason for this happen is because A/R Payment window looks for both payment information in A/R Open Items (posted payments) and ARCSHAPL (pending payments in A/R Cash Application table).

The reason user cannot locate this record is because while the A/R Cash Application record exist, but the parent record in ARCSHTRX (A/R Cash Trx table) no longer exist. Hence this record in ARCSHAP has become an orphan.

We can delete this record from ARCSHAPL through PSQL control center manually to resolve this issue. But a more automated method is that when we post A/R Cash Receipt, we can add one more loop at the end to check integrity. That is, at the end of the cash receipt posting, we will read through ARCSHAPL table to see if the corresponding record in ARCSHTRX.

As an extra safety, we will only delete an orphan record in ARCSHAPL through a two steps processing.  The first step is to update the ARCSHAPL to indicate "Delete-Pending" if it is an orphan. But system will  not delete it right away.  In the future, if another posing of Cash Receipt take place, if the record ARCSHAPL is confirm to be orphan again, and the "Delete-Pending" flag is to "Y", then system will delete this orphan record from ARCSHAPL.

The two steps processing is to prevent accidently deleting a record from ARCSHAPL for other possible scenarios like, for example, (a) The application write ARCSHAPL before ARCSHTRX; (b) Other unknow database errors situation like record locking...etc.


EMK