E1: UPGTC: Table Conversions Issue With F00950 Security and UBE R98405A (Doc ID 653499.1)

Last updated on MAY 30, 2017

Applies to:

JD Edwards EnterpriseOne Tools - Version SP24 and later
Information in this document applies to any platform.
Checked for relevance on December 18, 2014

Goal

During the EnterpriseOne software upgrade process, the F00950 table is brought forward from the previous E1 application release to preserve the clients row and column security records. These records can contain in some cases, depending on the client's previous security model, *PUBLIC records which may lock down permissions to certain tables through row or column security for all users.

Since the process of an upgrade using the default user of PSFT or JDE, the Table Conversion process will need to have proper permissions to those tables during the process for this user.

Development has included records for the TC driver UBE R98405A to assist in not using the clients security records during this process to allow all records to be processed.

Some of the outcomes of problems with the security records are the following :

1 - The table conversions will fail in the log with information similar to the following log segments -

TCEngine Level 1 /E811SYS/tcengine/tcapi.c : Input table F0101 contains 76 column(s).
TCEngine Level 1 /E811SYS/tcengine/tcapi.c : Temporary table F0101TCTEMP contains 95 column(s).
TCEngine Level 1 /E811SYS/tcengine/tcapi.c : Call JDB_InsertFromSelect for input table F0101, temporary table F0101TCTEMP.
TCEngine Level 0 /E811SYS/tcengine/tcapi.c : TCE9000 - ITCEAlterTable - JDB_InsertFromSelect failed on input table F0101, temporary table F0101TCTEMP..
TCEngine Level 1 /E811SYS/tcengine/tcapi.c : Table F0101 converted unsuccessfully. Elapsed time - 28.391000 Seconds.

 

TCEngine Level 1 \builds\9.1.03.01.05\Rels\common\TCEngine\tcinit.c : Assigning table F0911 the temporary name F0911TCTEMP
TCEngine Level 1 \builds\9.1.03.01.05\Rels\common\TCEngine\tcapi.c : Call JDB_OpenView for business view V890911.
TCEngine Level 1 \builds\9.1.03.01.05\Rels\common\TCEngine\tcapi.c : Business view V890911 contains 130 column(s).
TCEngine Level 1 \builds\9.1.03.01.05\Rels\common\TCEngine\tcapi.c : Temporary table F0911TCTEMP contains 141 column(s).
TCEngine Level 1 \builds\9.1.03.01.05\Rels\common\TCEngine\tcapi.c : Call JDB_InsertFromSelect for business view V890911, temporary table F0911TCTEMP.
TCEngine Level 0 \builds\9.1.03.01.05\Rels\common\TCEngine\tcapi.c : TCE9000 - ITCEMergeTable - JDB_InsertFromSelect failed on business view V890911, temporary table F0911TCTEMP..
TCEngine Level 1 \builds\9.1.03.01.05\Rels\common\TCEngine\tcapi.c : Table F0911 converted unsuccessfully. Elapsed time - 2.280000 Seconds.

 
This issue has also been seen with Table Conversions running locally on the deployment, so this solution may still be valid for certain TC failures seen when opting to run all TCs locally.

Viewing the debug log you can see evidence of row security with BETWEEN or NOT BETWEEN stipluations in the WHERE clause, such as in the log segment below:

Jul 14 02:11:08.288112 - 4084/3080 WRK:Starting jdeCallObject            Entering JDB_InsertFromSelectExtended (hRequest 0E35AC88) (hRequest 0E35AF10)
Jul 14 02:11:08.288113 - 4084/3080 WRK:Starting jdeCallObject            INSERT INTO JDE_PRODUCTION.PRODDTA.F0911TCTEMP (GLKCO, GLDCT, GLDOC, GLDGJ, GLJELN, GLEXTL, GLLT, GLPOST, GLICU, GLICUT, GLPM05, GLPM01, GLPM02, GLPM03, GLPM04, GLPM06, GLPM07, GLPM08, GLPM09, GLPM10, GLABT1, GLABR1, GLABT2, GLABR2, GLABT3, GLABR3, GLABT4, GLABR4, GLITM, GLDICJ, GLDSYJ, GLTICU, GLCO, GLANI, GLAM, GLAID, GLMCU, GLOBJ, GLSUB, GLSBL, GLSBLT, GLPN, GLCTRY, GLFY, GLFQ, GLCRCD, GLCRR, GLHCRR, GLHDGJ, GLAA, GLU, GLUM, GLGLC, GLRE, GLEXA, GLEXR, GLR1, GLR2, GLR3, GLSFX, GLODOC, GLODCT, GLOSFX, GLPKCO, GLOKCO, GLPDCT, GLAN8, GLCN, GLDKJ, GLDKC, GLASID, GLBRE, GLRCND, GLSUMM, GLPRGE, GLTNN, GLALT1, GLALT2, GLALT3, GLALT4, GLALT5, GLALT6, GLALT7, GLALT8, GLALT9, GLALT0, GLALTT, GLALTU, GLALTV, GLALTW, GLALTX, GLALTZ, GLDLNA, GLCFF1, GLCFF2, GLASM, GLBC, GLVINV, GLIVD, GLWR01, GLPO, GLPSFX, GLDCTO, GLLNID, GLWY, GLWN, GLFNLP, GLOPSQ, GLJBCD, GLJBST, GLHMCU, GLALID, GLALTY, GLDSVJ, GLTORG, GLREG#, GLPYID, GLUSER, GLPID, GLJOBN, GLUPMJ, GLUPMT, GLDOI, GLBCRC, GLCRRM, GLPRGF, GLTXA1, GLEXR1, GLTXITM, GLACTB, GLGPF1, GLACR, GLDLNID, GLCKNU, GLBUPC, GLAHBU, GLEPGC, GLJPGC, GLRC5, GLSFXE, GLOFM) SELECT T0.GLKCO, T0.GLDCT, T0.GLDOC, T0.GLDGJ, T0.GLJELN, T0.GLEXTL, T0.GLLT, T0.GLPOST, T0.GLICU, T0.GLICUT, COALESCE(T1.GLPM05, ' '), COALESCE(T1.GLPM01, ' '), COALESCE(T1.GLPM02, ' '), COALESCE(T1.GLPM03, ' '), COALESCE(T1.GLPM04, ' '), COALESCE(T1.GLPM06, ' '), COALESCE(T1.GLPM07, ' '), COALESCE(T1.GLPM08, ' '), COALESCE(T1.GLPM09, ' '), COALESCE(T1.GLPM10, ' '), COALESCE(T1.GLABT1, ' '), COALESCE(T1.GLABR1, ' '), COALESCE(T1.GLABT2, ' '), COALESCE(T1.GLABR2, ' '), COALESCE(T1.GLABT3, ' '), COALESCE(T1.GLABR3, ' '), COALESCE(T1.GLABT4, ' '), COALESCE(T1.GLABR4, ' '), COALESCE(T1.GLITM, 0), T0.GLDICJ, T0.GLDSYJ, T0.GLTICU, T0.GLCO, T0.GLANI, T0.GLAM, T0.GLAID, T0.GLMCU, T0.GLOBJ, T0.GLSUB, T0.GLSBL, T0.GLSBLT, T0.GLPN, T0.GLCTRY, T0.GLFY, T0.GLFQ, T0.GLCRCD, T0.GLCRR, T0.GLHCRR, T0.GLHDGJ, T0.GLAA, T0.GLU, T0.GLUM, T0.GLGLC, T0.GLRE, T0.GLEXA, T0.GLEXR, T0.GLR1, T0.GLR2, T0.GLR3, T0.GLSFX, T0.GLODOC, T0.GLODCT, T0.GLOSFX, T0.GLPKCO, T0.GLOKCO, T0.GLPDCT, T0.GLAN8, T0.GLCN, T0.GLDKJ, T0.GLDKC, T0.GLASID, T0.GLBRE, T0.GLRCND, T0.GLSUMM, T0.GLPRGE, T0.GLTNN, T0.GLALT1, T0.GLALT2, T0.GLALT3, T0.GLALT4, T0.GLALT5, T0.GLALT6, T0.GLALT7, T0.GLALT8, T0.GLALT9, T0.GLALT0, T0.GLALTT, T0.GLALTU, T0.GLALTV, T0.GLALTW, T0.GLALTX, T0.GLALTZ, T0.GLDLNA, T0.GLCFF1, T0.GLCFF2, T0.GLASM, T0.GLBC, T0.GLVINV, T0.GLIVD, T0.GLWR01, T0.GLPO, T0.GLPSFX, T0.GLDCTO, T0.GLLNID, T0.GLWY, T0.GLWN, T0.GLFNLP, T0.GLOPSQ, T0.GLJBCD, T0.GLJBST, T0.GLHMCU, T0.GLALID, T0.GLALTY, T0.GLDSVJ, T0.GLTORG, T0.GLREG#, T0.GLPYID, T0.GLUSER, T0.GLPID, T0.GLJOBN, T0.GLUPMJ, T0.GLUPMT, T0.GLDOI, ' ', ' ', ' ', ' ', ' ', 0, ' ', ' ', 0, 0, ' ', ' ', ' ', ' ', ' ', 0, 0, ' ' FROM  ( JDE_PRODUCTION.PRODDTA.F0911 T0 LEFT OUTER JOIN JDE_PRODUCTION.PRODDTA.F0911T T1 ON T0.GLKCO = T1.GLKCO AND T0.GLDCT = T1.GLDCT AND T0.GLDOC = T1.GLDOC AND T0.GLDGJ = T1.GLDGJ AND T0.GLJELN = T1.GLJELN AND T0.GLEXTL = T1.GLEXTL AND T0.GLLT = T1.GLLT )  WHERE  ( T0.GLMCU BETWEEN ? AND ? AND T0.GLMCU BETWEEN ? AND ? )
Jul 14 02:11:08.335000 - 4084/3080 WRK:Starting jdeCallObject            ODB0000156 - Number of columns in table F0911 [104] (DSN: JDE91) not equal to SPECS [141].
Jul 14 02:11:08.335002 - 4084/3080 WRK:Starting jdeCallObject            ODB0000109 - JDBODBC_DescribeTable failed. Table F0911.
Jul 14 02:11:08.335004 - 4084/3080 WRK:Starting jdeCallObject            ODB0000061 - Could not prepare for insert into table F0911TCTEMP from select.
Jul 14 02:11:08.335006 - 4084/3080 WRK:Starting jdeCallObject            JDB9900191 - Failed to insert the results of a select
Jul 14 02:11:08.335008 - 4084/3080 WRK:Starting jdeCallObject            JDB3400025 - Failed to execute InsertFromSelect
Jul 14 02:11:08.335010 - 4084/3080 WRK:Starting jdeCallObject            Exiting JDB_InsertFromSelectExtended with Failure
Jul 14 02:11:08.335011 - 4084/3080 WRK:Starting jdeCallObject            TCE9000 - ITCEMergeTable - JDB_InsertFromSelect failed on business view V890911, temporary table F0911TCTEMP..

 
MCU (business unit) is a column that commonly has row security setup on it.

2 - Another symptom that has been seen is that when the TC process runs, it completes successfully but has not processed all records in the table. This is due to specific row security that may exclude the JDE or PSFT user from viewing those records and ultimately removing them from the table during the TC process. The removal of the R98405A security records from the F00950 will cause this to occur.

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms