Case Study on R47131 ends in Memory Violation Error owing to missing settings

Purpose of Document

This case study is not meant to encompass possible cause and resolution for Memory Violation in R47131 (EDI Inbound Purchase Order Change) rather this document may give you most commonly reported memory violation issue in your running R47131.

Symptoms

R47131 (EDI Inbound Purchase Order Change) ends in memory violation as below,

Error Example 2

ERROR:
EventRule : Business Function F4211FSEditLine at line 479 for Event 13 in Section Detail Table Section has caused a memory violation.

 

Explanation on message on PDF:

JDE.log can contain below message (for Unix and iSeries):

Last Debug Time Stamp: Wed Jul 10 11:24:52.256286
INFO: Entering kernel signal handler, process exiting soon: iParam: 1373423092
Last Debug Time Stamp: Wed Jul 10 11:24:52.256286
INFO: Entering kernel signal handler, with signal: iParam: 0000000011
Last Debug Time Stamp: Wed Jul 10 11:24:53.259210
INFO: In kernel signal handler, starting alarm handler: iParam: 1373423093
Last Debug Time Stamp: Wed Jul 10 11:24:53.259210
INFO: Done setting IPC Handle State structures to abandoned, process exiting immediately: iParam: 1373423093

Back To Top

 

Changes

Below settings are removed accidentally by users.

Back To Top

 

Cause

Missing codes or invalid setup for UDCs and Payment Terms.

 

Back To Top

How To Debug

This section is made up of,

 

A. Issue replication:

    Since the purpose of UBE R47131 is to update Sales Order Files (F4201/F4211 and/or F4006) it is important to run it through interactive application P4210 (Sales Order Entry). With same cause the error may be appeared differently as indicated from <Document 1115344.1> E1: 42: Open Cursor for Cache F42UI11 Failed (078M) Error in P4210.

B. Collect valid log: Memory error is coming from the instance which makes use of memory, namely, business functions. So it is important to capture callobject kernel log (or, jdedebug.log) as below,

1. (Menu, or Fast Path) 'BV' to call [Work with Batch Versions] (P983051 for WebDev client and P98305W for HTML client)
2. Enter Batch Application "R47131" then Press Find button
3. Select version you want to submit, which calls [Version Prompting] (Form Name: W98305WD)

4. In [Version Prompting], (Form Exit Menu) 'Advanced' which calls [Advanced Version Prompting] (Form Name W98305WI) which enables you turn on both CallObject Kernel log and UBE Logging dynamically (meaning that without changing JDE.INI in the logic server)

 5. In [Version Prompting] verify that "Data Selection" is remained as Ticked, click "Submit", which calls [Data Selection] where you can specify Data Selection against Source File (F47131/F47132). Click OK at once you have set minimum data for issue simulation.
6. In clicking OK button (Optionally) which calls Processing Options (whether to call Processing Option or not is defined in your version detail) where you can verify whether all parameters are set properly, then click OK. This action calls[Printer Selection] (form name: W986162B)
7. Click OK in [Print Selection]. Now you come back to [Work with Batch Versions] (Form Name: W98305WA). Go to (Form Exit Menu) then select option for "Submitted Jobs". This calls [Submitted Job Search] (Application: P986110B, Form: W986110BA, Version: ZJDE0001)
8. Look for the batch job you have submitted and select row for same job. Then go to (Row Exit Menu) View PDF to save PDF output and (Row Exit Menu) "View Logs", which prompts [View Logs] (form Name: W986110BD)

(Sometimes there is chance to have truncated logs through above action. Then look for it manually from PrintQueue directory in your logic server (where batch was run). In PrintQueue, you can see 3 different files for PDF outcome (if reports is supposed to generate this), JDE.log and JDEDEBUG.log (which is combined both UBE log and CallObject Kernel log)

Back To Top

 

Now you have valid set of logs.
C. Analyze it through Performance Workbench (refer to <Document 747328.1> EnterpriseOne Performance Workbench) which generates CallStack (e.g., <R47131_XJDE0001_97435_PDF.jdedebug_CALLSTACK5.txt>

1. Download Performance workbench
2. Check "Generate Call Stack File?" which shows the relationship among UBE and BSFNs
3. Check generated call stack, for example, <R47131_XJDE0001_97435_PDF.jdedebug_CALLSTACK5.txt>. For easier reading unnecessary information is removed from the original file. Below table is copied based on callstack generated through Performance Workbench:

 

Back To Top

 

D. Example of call stack:

To have better understanding on this flow, refer to:-

Business Function (Call Stack)PurposeOthers
1. ENTER: F4211FSBeginDoc B4200310 (F4211 Begin Document)
The purpose of this business function is to validate input, default (through DD or embeded function) and create cache/workfile F42UI01/F42UI02 which is to be used Edit Line, Edit Doc, End Doc and Clear Work File routines.
Commonly Begin Doc in Distribution applications validates header specific or customer specific information
    (additional validation routine.) * Refer actual call stack 
    2. ENTER: CopySOInfoToWorkFiles B4200690 (F4211 Copy Sales Orders to Work File)
The purpose of this function is to to copy F4201 into F4UI01/F42UI02 and F4211 into F42UI11/F42UI12 during update of exiting order and/or making use of existing sales order (e.g., Credit Order from history).
Since this function got called in Begin Doc routine, this will copy Sales Order Header Information into Cache or work file.
    3. ENTER: DecimalsTriggerGetbyCOCRCD  *** Issued by Table Trigger against F4201 *** The way you can determine whether business function got called by trigger (Table, DD, BSFN) is that Application Name and Version will be represented as Blank whereas functions are called by application and other function which will contain  Application Name [R47131] Version [XJDE0001] for instance.
    3. EXIT: for DecimalsTriggerGetbyCOCRCD=0    
    3. ENTER: GetAuditInfo To override audit information based on the source file  
    3. EXIT: for GetAuditInfo=0    
  2. EXIT: for CopySOInfoToWorkFiles=0    
       
1. EXIT: for F4211FSBeginDoc=0    
         
1. ENTER: GetF42UI02WFLineNumber B4202090 (Get F42UI02 WF Line Number)
The purpose of this function is to get/store additional header information.
Note that F42UI02 is data structure only (there is no physical table so even in batch application it shall write cache) and the way handle data through cache is more or less same with the way you write workfile (work file). For detail, refer to <Document 1051653.1> E1: 42: Work Files (F42UI01/F42UI02/F42UI11/F42UI12) in Sales Order Entry (P4210/P42101)
1. EXIT: for GetF42UI02WFLineNumber=0    
      *** This case study shall focus on below routine because error is caused by this routine ***  
1. ENTER: F4211FSEditLinePreProcess B4200310 (F4211 Pre Process Values For Edit Line)
The purpose of this business function is to validate, default, create cache for additional Sales Order Detail information.
Refer to <Mapping detail on F4211FSEditLinePreProcess - B4200310 (F4211 Pre Process Values For Edit Line) through data structure D4200310J (F4211 FS Edit LIne PreProcess)> for detail information on how data from F47132 (EDI Purchase Order Change Detail - Inbound) is mapped to F42UI12 (Sales Order Detail Cache 2(MBF)).
  2. ENTER: IsColumnInPymtTermsTable The purpose of this function is to validate input PTC (F47132.PTC) PaymentTermsCode01 (Payment Terms Code).  
    SELECT  *  FROM PRODDTA.F0014  WHERE  ( PNPTC = ' ' )   For this example, F47132.PTC is Blank so F4211FSEditLinePreProcess validates Blank input value.
    No More Data found   When query is issues and there is no data "No More Data found" is to be written in JDEDEBUG.log.
cf., "Fetched the record" when query returns data from Table or database cache.
    ERROR INFO JDEERR - ID= 5, Error= 0130 - iscolpt.c, Line= 184    
  2. EXIT: for IsColumnInPymtTermsTable=2 Refer to E1: BSFN: Call Object Kernel Errors Clarification - jdeCallObject API and Error message COB0000* (Doc ID 1179493.1) for return values by business function. This will be represented in JDEDEBUG.log as below,
"Return value is 2 for IsColumnInPymtTermsTable"
  2. ENTER: IsColumnKeyCompany  *** DD Trigger against DD Alias KCO (CompanyKey (Document Company) *** Error is not to be issued for blank value but it will issue error if a certain input company does not exist from F0010 (Company Constants).
  2. EXIT: for IsColumnKeyCompany=0    
  2. ENTER: IsColumnInAddressBook *** DD Trigger against DD Alias ANBY (BuyerNumber - Buyer Number) *** Error is not to be issued for zero input value but any input value does not exist from F0101 (Address Book Master) triggers Error.
  2. EXIT: for IsColumnInAddressBook=0    
  SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '41' AND DRRT = '9' AND DRKY = '       ' ) This validation is invoked by F4211FSEditLinePreProcess in mapping input GLC (GLClass - G/L Offset). A number of validation in this routine is to be handled this manner because DD has Edit Rule with UDC. Refer below mapping to have full list of validation.
  No More Data found   Above query fails to Fetch the record, error is to be issued.
  ERROR INFO JDEERR - ID= 75, Error= 018A - rtk_ddvl.c, Line= 544    
1. EXIT: for F4211FSEditLinePreProcess=2 If any of validation (mostly through DD through Edit Rule which calls UDC validation or business function) fails, F42UI12 (cache/workfile) is not to be written. As a result, when F4211FSEditLine tries to copy F42UI12 which will cause memory corruption (NULL POINTER for source). This message is to be represented in JDEDEBUG.log as below,
"Return value is 2 for F4211FSEditLinePreProcess".
         
1. ENTER: F4211FSEditLine B4200310 (F4211  Edit Line) is calling B4200311 (F4211 Sales Order Entry Internal Functions).
So actual routine is written at B4200311 (not B4200310).
The purpose of this business function is to validate input value, (and if input value is blank and DD has default value then) set default value. If validation is successful write workfile/cache F42UI11.
Commonly this routine validate Sales Order Detail and/or item related information.
  2. ENTER: GetDataDictionaryDefinition To validate RORN, DES, DES4, UORG, CRR, ITWT, ITVL For this example, it validates UORG - UnitsTransactionQty (Units - Order/Transaction Quantity)
  2. EXIT: for GetDataDictionaryDefinition=0    
  2. ENTER: GetUDC To validate UDC 42B/PO (Preference Option) to determine whether to handle advanced preference or not.  
  2. EXIT: for GetUDC=0    
  2. ENTER: CopySOInfoToWorkFiles This function is to copy F4211 (Sales Order Detail File) information into F42UI11 and get F42UI12 to create complete work file for Sales Order detail line. In programming it copies pointer of F42UI12 (because it assumed that F42UI12 was created successfully). Since R47131 is batch process physical file/table is to be written.
    3. ENTER: DecimalsTriggerGetbyCOCRCD    
    3. EXIT: for DecimalsTriggerGetbyCOCRCD=0    
    3. ENTER: DecimalsTriggerGetbyCOCRCD    
    3. EXIT: for DecimalsTriggerGetbyCOCRCD=0    
    3. ENTER: GetAuditInfo    
    3. EXIT: for GetAuditInfo=0    
    3. ENTER: OFMSODtlCchExtCacheAdd    
    3. EXIT: for OFMSODtlCchExtCacheAdd=0    
  2. EXIT: for CopySOInfoToWorkFiles=0  

For this case study, CallObject Kernel log will end here abruptly (meaning that it fails to return to calling routine (BSFNLevel 1, F4211FSEditLine).
The reason is that when F4211FSEditLine tries to copy pointer of F42UI12 it fails (because it is NULL Pointer).

So Memory Violation message gets written against this business function (1st level business function called by application).

  2. ENTER: jdeFreeEnvBSFN This business function is invoked by JDE API JDB_FreeEnv() to release all resources used (Cache, Pointer, Cursor, Database Connection and so on). Note that different platform and different tools release may behavior differently. If your tools release is 8.97 above and windows platform you may have this but in Unix and AS400 jdedebug.log will stop after "Return value is 0 for CopySOInfoToWorkFile".
       
  2. EXIT: for jdeFreeEnvBSFN=0    
         

 
4. Verify Error code using key words (for example, JDEERR, F01131M, Error, "Return value is 2 for" and so on). If needed you can specify "Debug String" using key words.

Note:

Back To Top

E. Determine the cause of error: Commonly you can search string values for "JDEERR", "Return Value is 2", "Set UBE Error", F01131M and so on.
G. Either specify erroring codes or add it through P0014 (for Payment Terms) or P0005 (UDC)
F. Reset Database Cache because both tables F0014 and F0005 are members of P98613 (Database Caching Tables)

1. (Fast Path) WSJ
2. (Form Exit)
3. Highlight Logic server name
 : For detail, refer to <Document 944015.1> E1: ENV: Frequently Asked Questions on Caching in EnterpriseOne

Back To Top

 

Mapping detail on F4211FSEditLinePreProcess - B4200310 (F4211 Pre Process Values For Edit Line) through data structure D4200310J (F4211 FS Edit LIne PreProcess)

Note that Sales Order Detail Files are made up of F4211 and F49211 and both tables can be explained during application upgrade process. So information written in F42UI12 can be stored both F4211 and F49211. However this section shall not cover this. And Query and Error from below table is supposed that user did not specify any input columns mapped below,

Parameter NameData ItemValue FROMValue TOQueryErrorHow to Resolve
szComputerID* CTID   F42UI12.CTID Primary Key for Workfile F42UI12 In your running interactive application P4210 (or similar) these are key index for cache F42UI12 Refer below note.
mnJobNo* JOBS   F42UI12.JOBS Primary Key for Workfile F42UI12    
mnWFLineNo* LNIX   F42UI12.LNIX Primary Key for Workfile F42UI12    
szKeyCo* KCOO F47132.KCOO F42UI12.KCOO Primary Key for Workfile F42UI12    
mnOrderNo* DOCO F47132.DOCO F42UI12.DOCO Primary Key for Workfile F42UI12    
szOrderType* DCTO F47132.DCTO F42UI12.DCTO Primary Key for Workfile F42UI12    
mnLineNo* LNID F47132.LNTY F42UI12.LNID Primary Key for Workfile F42UI12    
jdOriginalPromisedDate OPDJ F47132.OPDJ F42UI12.OPDJ      
jdPromisedPickDate PPDJ F47132.PPDJ F42UI12.PPDJ      
szThruGrade THGD F47132.THGD F42UI12.THGD SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '40' AND DRRT = 'LG' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
mnThruPotency THRP F47132.THRP F42UI12.THRP      
szFromGrade FRGD F47132.FRGD F42UI12.FRGD SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '40' AND DRRT = 'LG' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
mnFromPotency FRMP F47132.FRMP F42UI12.FRMP      
szSalesReportingCode1 SRP1 F47132.SRP1 F42UI12.SRP1 SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '41' AND DRRT = 'S1' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szSalesReportingCode2 SRP2 F47132.SRP2 F42UI12.SRP2 SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '41' AND DRRT = 'S2' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szSalesReportingCode3 SRP3 F47132.SRP3 F42UI12.SRP3 SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '41' AND DRRT = 'S3' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szSalesReportingCode4 SRP4 F47132.SRP4 F42UI12.SRP4 SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '41' AND DRRT = 'S4' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szSalesReportingCode5 SRP5 F47132.SRP5 F42UI12.SRP5 SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '41' AND DRRT = 'S5' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szPurchasingReportCode1 PRP1 F47132.PRP1 F42UI12.PRP1 SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '41' AND DRRT = 'P1' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szPurchasingReportCode2 PRP2 F47132.PRP2 F42UI12.PRP2 SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '41' AND DRRT = 'P2' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szPurchasingReportCode3 PRP3 F47132.PRP3 F42UI12.PRP3 SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '41' AND DRRT = 'P3' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szPurchasingReportCode4 PRP4 F47132.PRP4 F42UI12.PRP4 SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '41' AND DRRT = 'P4' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szPurchasingReportCode5 PRP5 F47132.PRP5 F42UI12.PRP5 SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '41' AND DRRT = 'P5' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szPaymentTerms PTC F47132.PTC F42UI12.PTC SELECT  *  FROM PRODDTA.F0014  WHERE  ( PNPTC = ' ' ) ERROR INFO JDEERR - ID= 5, Error= 0130 - iscolpt.c, Line= 184 Thrugh business function IsColumnInPymtTermsTable because DD Alias PTC has edit rule
cBasedonDate DTBS F47132.DTBS F42UI12.DTBS SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '42' AND DRRT = 'BD' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
mnDiscountTrade TRDC F47132.TRDC F42UI12.TRDC      
szPricingCategory PRGR F47132.CLVL        
mnDiscountCash CADC F47132.CADC        
szCompanyKey KCO F47132.RKCO F42UI12.KCO Edit Rule: IsColumnKeyCompany   No company specified it validates against '00000' which is Default Company. If F0010 does not have entry for 00000 you will get various error.
mnInvoiceNo DOC F47132.DOC F42UI12.DOC      
szDocumentType DCT F47132.DCT F42UI12.DCT SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '00' AND DRRT = 'DT' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szTaxArea TXA1 F47132.TXA1 F42UI12.TXA1      
szTaxExplanationCode EXR1 F47132.EXR1 F42UI12.EXR1 SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '00' AND DRRT = 'EX' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
cPriorityProcessing PRIO F47132.PRIO F42UI12.PRIO SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '40' AND DRRT = 'PR' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
cBackordersAllowedYN BACK F47132.BACK F42UI12.BACK      
cSubstitutesAllowedYN SBAL F47132.SBAL F42UI12.SBAL      
szNatureOfTransaction NTR F47132.NTR F42UI12.NTR SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '00' AND DRRT = 'NT' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szRouteCode ROUT F47132.ROUT F42UI12.ROUT SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '42' AND DRRT = 'RT' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szStopCode STOP F47132.STOP F42UI12.STOP SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '42' AND DRRT = 'SP' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szZoneNumber ZON F47132.ZON F42UI12.ZON SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '40' AND DRRT = 'ZN' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
cApplyFreightYN AFT F47132.AFT F42UI12.AFT      
szFreightHandlingCode FRTH F47132.FRTH F42UI12.FRTH SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '42' AND DRRT = 'FR' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szShippingCommodityClass SHCM F47132.SHCM F42UI12.SHCM SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '41' AND DRRT = 'E' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szShippingConditionsCode SHCN F47132.SHCN F42UI12.SHCN SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '41' AND DRRT = 'C' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szSerialNumberLot SERN F47132.SERN F42UI12.SERN      
szRepriceBasketPriceCat RPRC F47132.RPRC        
szOrderRepriceCategory ORPR F47132.ORPR        
szGlClass GLC F47132.GLC F42UI12.GLC SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '41' AND DRRT = '9' AND DRKY = '       ' )    
cApplyCommissionYN ACOM F47132.ACOM F42UI12.ACOM      
szReasonCode RCD F47132.RCD F42UI12.RCD SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '42' AND DRRT = 'RC' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szUnitOfMeasureGrossWt GWUM F47132.GWUM F42UI12.GWUM SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '00' AND DRRT = 'UM' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szSubledger SBL F47132.SBL F42UI12.SBL      
cSubledgerType SBLT F47132.SBLT F42UI12.SBLT SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '00' AND DRRT = 'ST' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szCodeLocationTaxStat LCOD F47132.LCOD F42UI12.LCOD SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '46' AND DRRT = 'LT' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
cWoOrderFreezeCode UNCD F47132.UNCD F42UI12.UNCD SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = 'H00' AND DRRT = 'UN' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
cCorrespondenceMethod CRMD F47132.CRMD F42UI12.CRMD SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '00' AND DRRT = 'SM' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
szUserReservedCode URCD F47132.URCD F42UI12.URCD      
jdUserReservedDate URDT F47132.URDT F42UI12.URDT      
mnUserReservedAmount URAT F47132.URAT F42UI12.URAT      
mnUserReservedNumber URAB F47132.URAB F42UI12.URAB      
szUserReservedReference URRF F47132.URRF F42UI12.URRF      
szRateCodeFrieghtMisc FRAT F47132.FRAT F42UI12.FRAT SELECT  *  FROM PRODCTL.F0005  WHERE  ( DRSY = '41' AND DRRT = 'RT' AND DRKY = '       ' ) ERROR INFO JDEERR - ID= 37, Error= 019T - rtk_ddvl.c, Line= 535  
jdDateInvoice IVD F47132.IVD        
cUseWorkfile_WFOC WFOC 1'        
cGenericChar1_EV01 EV01          
cGenericChar2_EV02 EV02          
szGenericString1_DL01 DL01          
szGenericSting2_DL02 DL02          
mnGenericMathNumeric1_MATH01 MATH01          
mnGenericMathNumeric2_MATH02 MATH02          
cUseCacheOrWF_EV01 EV01          
mnProcessID PEID          
mnTransactionID TCID          
cKitConfigWindowOpened FFU2          
mnShipmentNumber SHPN F47132.SHPN F42UI12.SHPN      
cCrossDockFlagYN XDCK          
mnCrossDockingPriority XPTY          
mnCrossDockOrderNumber XORN          
szCrossDockOrderType XCTO          
szCrossDockOrderCompany XKCO          
szCrossDockOrderSuffix XSFX          
mnCrossDockLineNumber XLLN          
szPullSignal PSIG F47132.PSIG F42UI12.PSIG      
jdDateRelease RLDJ F47132.RLDJ F42UI12.RLDJ      
mnTimeRelease RLTM F47132.RLTM F42UI12.RLTM      
mnDemandUniqueKey DEID F47132.DEID F42UI12.DEID      
mnBuyerNumber ANBY F47132.ANBY F42UI12.ANBY Calling IsColumnInAddressBook to validate input value No Error  
szSOEMBFInternalFlags SOEF          
cOPPartialLineShipmentAllowed OPLL          
cOPBackorderAllowed OPBA          
cOPSubstituteAllowed OPSS          
szOPMultiSourceGroup OPMG          
szOPShippingGroup OPSG          
cOPPromiseLineYN OPYN          
cAPSFixSourceLocation FXSR          
cOPAllowMultiSource OPMS          
cPaymentInstrument RYIN F47132.RYIN F42UI12.RYIN      
szProdSeqJobNo PSJOBNO          
szJobSequence JOBSQ          
szDeliveryBatchNumber DELBATCH          
szCardNumber CARDNO          
...            

 

Note:

Back To Top

 

UDC codes need validating:-

UDC code listed below must have Blank code in F0005. (Do not remove Blank Code from below UDC).

System CodeCodesDescription
00 DT Document Type - All Documents
00 EX Tax Explanation Codes
00 NT Nature of Transaction
00 SM Send Method
00 ST Subledger Type
00 UM Unit of Measure
40 LG Lot Grade
40 PI Item Price Group
40 PR Preference Profile
40 ZN Shipping Zone
41 9 G/L Posting Category
41 C Shipping Condition Code
41 E Shipping Commodity Class
41 P1 Commodity Class Codes
41 P2 Commodity Sub Class Codes
41 P3 Suppler Rebate Codes
41 P4 Master Planning Family
41 P5 Landed Cost Rule
41 RT Rate Code
41 S1 Sales Catalog Sections
41 S2 Sales Catalog Subsection
41 S3 Sales Reporting Code 03
41 S4 Sales Reporting Code 04
41 S5 Sales Reporting Code 05
42 BD Based on Date
42 FR Freight Handling Code
42 RC Reason Code
42 RT Route Code
42 SP Stop Code
46 LT Location Tax Code
H00 UN UNCD

Back To Top

 

Other value to be validated:

 

ParameterColumnError
szPaymentTerms  F47132.PTC 0130'
szCompanyKey F47132.RKCO No company specified it validates against '00000' which is Default Company. If F0010 does not have entry for 00000 you will get various error.
szBuyerNumber F47132.BUYR Validate but no hard error

 

Additional Information to understand better this issue

Typical Flow of Sales Order Master Business Function

Business FunctionPurpose
F4211FSBeginDoc (B4200310 - F4211 Begin Document)
  • Validate input value
  • Set default value when DD has default value and input value is zero, blank or NULL
  • Write workfile F42UI01 and cache F42UI02
F4211FSEditLinePreProcess (B4200310 - F4211 Pre Process Values For Edit Line)
  • Validate Input value for Sales Order Detail line additional
  • Set default if DD has default value and you have not specified a certain column value
  • Write F42UI12
F4211FSEditLine (B4200310 - F4211  Edit Line) which implements F4211SOEInternalFunctions (B4200311 - F4211 Sales Order Entry Internal Functions)
  • Validate Sales Order Detail Information
  • Defaults column values when input value is NULL, Zero, Blank
  • Write workfile F42UI11
  • Copy data pointer of F42UI12 created through Pre Process above
F4211EditDoc (B4200312 - F4211 Edit Doc)
  • Validate relationship between header and detail
  • Take another validation routine if needed
F4211FSEndDoc (B4200310 - F4211 End Document) which can implement F4211ClearWorkFile (B4200310 - F4211 Delete Work File)
  • Commit database based on cache/workfile created through Begin Doc and Edit Line routines
  • Update all related information
  • Delete cache/workfile used (F42UI01, F42UI02, F42UI11 and F42UI12)
F4211ClearWorkFile (B4200310 - F4211 Delete Work File)
  • Delete cache or workfiles used

 

Note:

Back To Top

Solution

Possible way to overcome Memory Violation is,

Note: Do not delete any blank UDC code if the values are delivered by Oracle during your EnterpriseOne installation process. Same records are to be retrieved from your Pristine and Development Environment.

Back To Top