How to Debug Message RUN0000066/RUN0000067 - Warning - ProcOpt Data Size Mismatch

Purpose of Document

JDE.log contains below message, how to fix it?

23575/8 WRK:USERID_001953B8_P4310 Sat Jan 10 11:56:25.729194 rtk_frms.c648
RUN0000066 - Warning - ProcOpt Data Size Mismatch: Requested 1842 is less than Retrieved 1866 for App P4310,Version VersionID.
Data Structure allocated successfully. This usually means items have been added to the template and existing business function will function correctly.

This warning message can occur when the processing option template being used within a business function has been modified.

If the processing option template has been modified, to resolve the issue when working with a custom object, update the typedef for the processing option template within the business function header file.

If the message is written from a standard EnterpriseOne object that has not been modified, then look for bug(s) and/or an ESU based on the objects you have determined/identified as having the issue.

Example in P4310 - Purchase Order Entry:

The above messages can be interpreted as below

For instance, if the message is derived from B4301710 - GetP4310ProcOpts, the validation logic is as below

  1. Get typedef of T43101 (processing option template of P4310)
  2. Get typedef information from B4301710.h for typedef struct tagDST43101

If the size of the two definitions are different, then the message RUN0000066 when running Interactive Applications or RUN0000067 in running Batch Applications will occur.

Computation of size in byte per data type:

Data Type Size in DD Actual Size in Byte
Character 1 2
String The size of DD + 1 (='\0') Size in DD * 2
Math Numeric Various 49
Integer 11 4
Pointer (GENLNG) 11 4
Date 6 6
JDEUTime 11 16


In this error message, the message RUN0000066 appears as 1842(*.h) and 1866 (Processing Option template), so based on this error message, it appears the processing option T43101 has been modified.


To determine the issue compare the

and compute the size of the processing option template in bytes.

An easier way to determine which header file to review is to capture the jdedebug.log based on the application ID and User ID. For example,

Calling Business function GetP4310ProcOpts
RUN0000066 - Warning - ProcOpt Data Size Mismatch: Requested 1842 is less than Retrieved 1866 for App P4310,Version TI0025.
Return value is 0 for GetP4310ProcOpts.

: In between 'Calling Business Function' and 'Return value is for' shows RUN0000066 so we can determine that the BSFN B4301710 - GetP4310ProcOpts is the business function which validates/compare the size of PO Values


Example in P4101 - Item Master

This is to guide actual example on how to debug this message RUNRUN0000066 as below,

RUN0000066 - Warning - ProcOpt Data Size Mismatch: Requested 398 is less than Retrieved 404 for App P4101,Version ZJDE0001. Data Structure allocated successfully. This usually means items have been added to the template and existing business function will function correctly.

To debug this (when capturing callobject kernel log is difficult),

1. Based on application ID in jde.log get Processing Option data structure information from F9860 (Object Librarian Master) by reading F9860.SIMID1 (Member ID). For this example, SELECT SIMID1 FROM OL900.F9860 WHERE (SIOBNM = 'P4101'), which returns T4101A - Item File

2. Either search T4101A through Windows Search through Windows Explore or refer Master Business Function for reference application. For this example, the Master Business Function of P4101 (Item Master) is N4101060 (F4101 PRocess Master Data) so this object shall contain processing option data structure information. Refer to <Document 1265902.1> - E1: BSFN: Master Business Function in EnterpriseOne

3. Open N4101060.c and focus on #include <xxxxxxxx.h>. For this example, #include <b4101110.h> /* BF: SelectPOP4101ByVersion */
: So a file <b4101110.h> has typedef of T4101A

4. Compute the size in Unicode based on "Computation of size in byte per data type" on example in P4310. The size of this typedef has to be "received" size
typedef of T4101A in <B4101110.h>

Parameters Size in bytes
JCHAR szUnitOfMeasurePrimary[3]; 6
JCHAR szUnitOfMeasureWeight[3]; 6
JDEDATE jdFromDate; 6
JDEDATE jdThruDate; 6
JCHAR cCostRevisions; 2
JCHAR cPriceRevisions; 2
JCHAR cItemBranch; 2
JCHAR cTransferChanges; 2
JCHAR cAllowChanges; 2
JCHAR cHistoryRecord; 2
JCHAR szItemAvailabilityVersion[26]; 52
JCHAR szItemBranchVersion[26]; 52
JCHAR szTypeTransaction[9]; 18
JCHAR cBeforeImageProcessing; 2
JCHAR cWorkflow; 2
JCHAR cCategoryCodes; 2
JCHAR cAdditionalSystemInfo; 2
JCHAR cStorageShipping; 2
JCHAR cItemNotes; 2
JCHAR szUnitOfMeasureVol_UVM1[3]; 26
JCHAR szTemplate_TMPL[21]; 42
JCHAR cUseTemplates_EV01; 2
JCHAR cUOMConversions; 2
JCHAR szCostRevisionsVersion[26]; 52
JCHAR szSegmentedAvailVersion[26]; 52
JCHAR szItemSegmentSelectVersion[26]; 52
Total Size in Bytes 398


5. Create a typedef against T4101A through OMW (T4101A.h file is to be created in Include folder in your clicking "Create a Type Definition" where the machine you are working on) and the compute the size of typedef. This has to be "requested" size
typedef of T4101A in <T4101A.h> or actual Processing Option

Parameters Size in bytes
JCHAR szUnitOfMeasurePrimary[3]; 6
JCHAR szUnitOfMeasureWeight[3]; 6
JDEDATE jdFromDate; 6
JDEDATE jdThruDate; 6
JCHAR cCostRevisions; 2
JCHAR cPriceRevisions; 2
JCHAR cItemBranch; 2
JCHAR cTransferChanges; 2
JCHAR cAllowChanges; 2
JCHAR cHistoryRecord; 2
JCHAR szItemAvailabilityVersion[26]; 52
JCHAR szItemBranchVersion[26]; 52
JCHAR szTypeTransaction[9]; 18
JCHAR cBeforeImageProcessing; 2
JCHAR cWorkflow; 2
JCHAR cCategoryCodes; 2
JCHAR cAdditionalSystemInfo; 2
JCHAR cStorageShipping; 2
JCHAR cItemNotes; 2
JCHAR szUnitOfMeasureVol_UVM1[3]; 26
JCHAR szTemplate_TMPL[21]; 42
JCHAR cUseTemplates_EV01; 2
JCHAR cUOMConversions; 2
JCHAR szCostRevisionsVersion[26]; 52
JCHAR szSegmentedAvailVersion[26]; 52
JCHAR szItemSegmentSelectVersion[26]; 52
JCHAR cSupplementalItemInfo; 2
JCHAR cComposition; 2
JCHAR cStructureDefinition; 2
Total Size in Bytes 404


6. In case you need to correct it: copy typedef information from T4101A into typedef information of B4101110.h (correction step follows a standard object deployment step). In case this informational message comes from non-customized object, you may raise Service Request for this.

Disclaimer: Information written here is to explain As - Is configuration and is not meant for changing any standard object. Using the workarounds suggested in this solution assumes advanced knowledge of the EnterpriseOne toolset, including but not limited to using event rules, business functions, etc.
Please contact your Account Executive about obtaining partner or field office support if you need more detailed help, e.g. set up and coding, as these are billable activities that are not provided by Oracle Software Support.

NOTE: Example of actual computation is written at <Document 1319499.1> - E1: BSFN: RUN0000044 - Error - ProcOpt Data Size Mismatch Message Clarification