Case Study - Open Cursor for Cache F42UI11 Failed (078M) Error in Sales Order Entry (P4210)

Purpose of Document

The audience for this document is a user with developer level knowledge.

In updating additional information for existing sales order, the error Open Cursor for cache F42UI11 failed (078M) is populated for a specific items in same Sales Order.

Steps to Duplicate

  1. Create a sales order and save it.
  2. Look for newly created sales order and select it to go to [Sales Order Detail Revision].
  3. (Row Exit) SOE - Additional to call [SOE - Additional Information].
  4. Change any value (for example G/L Category Code) in this form and click OK which returns calling form W4210A - [Sales Order Detail Revision].
  5. Click OK to save change made in step 4.
  6. Observe that error '078M - Error: Open Cursor for cache F42UI11 failed' is populated.

Open Cursor for cache F42UI11 failed

   A form level error has occurred.
  CAUSE: A cursor was not able to be opened because the Cache Init was
  not successful or cache F42UI11 was empty.
  RESOLUTION: Verify that the Cache Init was successful and that records
  exist in your cache prior to the Open Cursor. Check the
  JDE.LOG and JDEDEBUG.LOG for additional information.
   ER Details:
    Form              P4210_W4210A
    Control Id        1
    Control Title     Grid
    Event             Row is Exit & Changed - Asynch
    Line No           740
  BSFN Details:
    Source File      \DNVMGSC02\E900\PD900\package\ESU900B\source\B4200311.c
    Source Line      26975
    Error ID         078M

 

Note:

Cause

In general, this error '078M' in Sales Order occurs during updating exiting records when data from control tables or Data Dictionary Item changed.

For this case study, issue is caused by missing blank UDC code against UDC(41|P4) Master Planning Family. Since a number of items which do not have category code (F4101.PRP4) in adding a new Sales Order this value gets populated with blank value as it is defined in Item Master File (F4101).

E1 Distribution programs might stop working when the BLANK value is deleted from Payment Terms. This occurs because of the DD edit behind PTC against a BSFN called IsColumnInPymtTermsTable. The edit is executed in Tools code beneath the application layer of code. In any given program if we declared a variable based off of PTC and for what ever reason, the variable is not populated, the underlying DD edit may trigger an error. This being the case, the rule of thumb is never to delete BLANKS from UDCs or tables where data items are coded for DD edits.


Technical Explanation

In P4210 forms get called in the following sequence:

For this example, form W4210A and W4210B have to talk to each other by storing change in the form W4210B into cache (F42UI12). In the form W4210B, through Business Function B4200310 - F4211FSEditLinePreProcess which is to create cache of F42UI11 and F42UI12 and this will be used by B4200311 - F4211FSEditLine in form W4210A.

For this issue, F4211FSEditLinePreProcess validates all the column value appears on screen of W4210B.

 

Note:


In this routine, UDC validation for Blank against UDC (41|P4) failed as the table F0005 fails to get information as below:

SELECT  *  FROM JDE_SPYUAECRP.CRPCTL.F0005  WHERE  ( DRSY = '41' AND DRRT = 'P4' AND DRKY = '        ' )
No More Data found
ERROR INFO JDEERR - ID= 34, Error= 018A - \builds\8.98.02.00.08\Rels\common\Jdekrnl\runtime\Rtk_ddvl.c, Line= 544

 

Note:

To fix this issue

  1. Go to UDC
  2. Look for System Code 41 and User Defined Codes P4
  3. Add Blank Code as below:
Note:

 

To discuss information further with Oracle experts and industry peers, we encourage you to review, join or start a discussion in the JDE1 Distribution Community.

To look at upcoming or archived Advisor Webcasts please see Advisor Webcast Details (Doc ID 548764.1) if your topic is not currently scheduled please suggest it.