AR Creation In Contract Billing Throws Blank Invalid For Explanation Error And Invalid Account Error - Case Study

Purpose of Document

AR Creation in Contract Billing (P48122) throws Blank invalid error when generating invoice in contract Billing. R48300 (Journal Edit Register) shows correct entry but batch goes in to error (error messages appear in Work Center: Blank Invalid for explanation and Account number invalid).

ERROR FROM WORKCENTER
-----------------------
Blank Invalid for explanation and Account number invalid.


New implementation.

There are two missing settings:

Note that P48221 calls multiple batch as below,

P48221 - Billing Batch Review,
  |--- (Row Exit) Create A/R)
        |--- R48199 - Create A/R Entries
                |--- R48131 - Journal Generation
                        |--- R48132 - G/L Journal Generation
                                |--- R48300 - Journal Edit Register (R48199 can call this directly) *** error is represented here ***
                                        |--- R48133 - PLA Journal Report
                                        |--- (or) R48300 - Journal Edit Register

So it is important to capture valid logs as below (Note that the steps describe below is an example only),

  1. Log on to the WebDev (FAT) client with environment PD920 (not JPD920)
  2. (with System Admin right) Fast Path to OCM
  3. Copy Default UBE which is running in the Logic Server (or, batch server which are same thing)
    3.1. Repeat this for all batches R48199, R48131, R48132, and R48300
    3.2. Set default location to "Local"
    3.3. Change Status
    3.4. Reset OCM cache or log off/on again
  4. Modify JDE.INI as below,
    [DEBUG]
    Output=FILE
    DebugFile=c:\logs\jdedebug.log <-- the folder for output varies
    JobFile=c:\logs\jde.log
    [UBE]
    UBEDebugLevel=6 <-- these are a subset of DEBUG
    UBESaveLogFile=1
  5. Log out/in the WebDev client since OCM mapping is cached
  6. Simulate issue
  7. Look for logs in the DebugFile destination in step 4
  8. Look for UBE log at ...\E920\PrintQueue

The log may contain errors as below,

ERROR INFO JDEERR - ID= 0, Error= 032E - \AJGDEPSVR\E910\PY910\package\PY910FK\source\B48S0700.c, Line= 331
ERROR INFO JDEERR - ID= 1, Error= 0002 - \AJGDEPSVR\E910\PY910\package\PY910FK\source\B0000128.c, Line= 135
ERROR INFO JDEERR - ID= 1, Error= 0002 - \AJGDEPSVR\E910\PY910\package\PY910FK\source\B0000128.c, Line= 135
ERROR INFO JDEERR - ID= 1, Error= 043Y - \AJGDEPSVR\E910\PY910\package\PY910FK\source\X0903.c, Line= 172
ERROR INFO JDEERR - ID= 1, Error= 043Y - \AJGDEPSVR\E910\PY910\package\PY910FK\source\X0903.c, Line= 172
ERROR INFO JDEERR - ID= 2, Error= 078I - \AJGDEPSVR\E910\PY910\package\PY910FK\source\B0000008.c, Line= 188
ERROR INFO JDEERR - ID= 2, Error= 4473 - \AJGDEPSVR\E910\PY910\package\PY910FK\source\X0903.c, Line= 1068
ERROR INFO JDEERR - ID= 21, Error= 088R - \AJGDEPSVR\E910\PY910\package\PY910FK\source\B0900049.c, Line= 743
ERROR INFO JDEERR - ID= 48, Error= 043C - \AJGDEPSVR\E910\PY910\package\PY910FK\source\XX0901.c, Line= 1866

: It is important to resolve the first error

The cause of above errors are,

A. Error in R48131 (Journal Generation)
- ERROR INFO JDEERR - ID= 0, Error= 032E - \AJGDEPSVR\E910\PY910\package\PY910FK\source\B48S0700.c, Line= 331
: [Error Processing Cache] This error is coming because AAI is not built to proceed. This is the root cause of the issue

- ERROR INFO JDEERR - ID= 1, Error= 043Y - \AJGDEPSVR\E910\PY910\package\PY910FK\source\X0903.c, Line= 172
: [Company &1 Invalid] Since R48131 fails to build AAI for contract billing, it fails to return a valid business unit where the function X0903 tries to find/set the company based on business unit

- ERROR INFO JDEERR - ID= 1, Error= 0002 - \AJGDEPSVR\E910\PY910\package\PY910FK\source\B0000128.c, Line= 135
: [Record Invalid] Same reason described above

B. Error in R48300 (Journal Edit Register)
- ERROR INFO JDEERR - ID= 21, Error= 088R - \AJGDEPSVR\E910\PY910\package\PY910FK\source\B0900049.c, Line= 743
[Blanks Invalid for &1.] This is the actual error client has observed in the work center. The account number is composed like Blank.OBJ.SUB so this error is natural. So overall debugging routine is how R48131 sets/gets business unit information.

- ERROR INFO JDEERR - ID= 48, Error= 043C - \AJGDEPSVR\E910\PY910\package\PY910FK\source\XX0901.c, Line= 1866
[Account Number &1 is Invalid] This error is natural because the formed account format is invalid.

C. Error in R48199 (Create A/R Entries)
- ERROR INFO JDEERR - ID= 2, Error= 078I - \AJGDEPSVR\E910\PY910\package\PY910FK\source\B0000008.c, Line= 188
[Fetch from table &1 failed] it simply indicates that AR is not created

<Internal_Only>
- Memory leak:
5060/2856 UNKNOWN Sat Oct 27 17:34:14.827021 jdecache.c1502
CAC0001025 - Application code leaked 3 caches which were detected when freeing environment PY910 (EnvHandle 2AE9A630) for user JDE. Please refer to the debug log for details. If there are not enough details in the debug log to determine the cause, set Output=FILE in the [DEBUG] section of the JDE.INI and watch for this error message again. Or, set logCacheLeaksAtSignoff=TRUE in the [DEBUG] section of the JDE.INI and look for CAC0001036 error messages. This message (CAC0001025) will only appear with debug tools code or when debug logging is turned on.
: this request shall not deal with this memory leak</Internal_Only>

To solve this issue,

  1. Look for the job/contract
  2. Go to P51006 (Job Master)
  3. Select the contract which ends in error (for this clients, all contracts end in error)
  4. (Tab - Revise Single Job) Enter Project (=F0006.MCUS) (this is MCU portion in MCU.OBJ.SUB for the account number to populate)
  5. OK to save it
  6. Reset Database Cache because F0006 (Cost Center Master) is a member of P98613 (Database Cache)