Wednesday, 25 January 2017

move e1page from jde91 to jde92

I want to move some new e1pages from 9.1 to 9.2.  Simple – yeah?  I want to also use the e1page composer which is new in 9.2.  This is a great utility, but I’m going to import for the time being.

I thought that it’d be simple to import from web OMW:


No, this provide 0 helpful messages, but does nothing.  There is nothing in the logs either.  I can choose the zip file that I exported from 9.1 – but no action at all.  So I want to be able to manage e1pages and see if that was going to assist.

So, I need to get the menu below:


So, you need to get security right, but to get security right, you need to get your UDCs right.  Here is an extract of the UDC’s for a 9.2.1 environment that works. verbatim.







Now you can get the Get security right




okay, restart the web and if you are on your home page, you should see this now:



Great, so you can create a e1page and import the zip file that you downloaded from JDE9.1


Choose upload and view content, all good?


You’ll now have additional records in F9860W, F9861W for your pathcode and F952400 for your pathcode:

select * from ol920.f9860w where wowobnm like 'E1%';

E1P_1701250002CUST                TEstingT4esting123                                    Going to test some more things                                                                                                                                                                             

select * from ol920.f9861w where sipathcd = 'DV920' and siwobnm like 'E1%';

ff0816cea5ad4dd7bd92757748861419                      E1P_1701250002CUST                XXNDENT                           DV920         02           

select * from codv920.f952400;

ff0816cea5ad4dd7bd92757748861419                      E1P_1701250002CUST                E1PAGE        E1PAGE        1   

Great, so we can see from inception the new e1page for 9.2

Now you can begin to promote the project and assign the security.

After a UDO is promoted the status of the UDO change from shared (08) to pending promote (07). At this point if the UDO was new to the target environment the object only exists in F9861W and not on the specific UDO table (F952440 for grid formats, F952400 for E1page and OVER, etc).

In order to make it available in the target environment the UDO needs to be shared. Sign on to the target environment and inquire on P98220U. Find the UDO at status pending promote and take row exit approve/share. This will create the record for the specific UDO in the corresponding table.


This also does not seem as straight forward as I would have liked.

I created the e1page and moved it into a new project.  I then had to check the object in and out from the project (I kept getting error code 32).  Once this was done I could promote the project using P98220w to status 26.  There are configuration rules that state that e1page get moved from DV920 to PY920 on the move from 21 to 26.

Once this was done, there IS a record in F9861W, but not F982400!.  This is because the row in P98220u is at status 7 after the promotion.


You need to approve/Share to move this to an 08, and to F952400.

Monday, 23 January 2017

F98780R F98780H and the case of the missing BSFNs

We recently upgraded a site to 9.2.1, I kinda wish I did not.  There are a lot of changes here.  Most significantly from a change management point of view there is significant changes to:

  • media objects and them being stored in the database
    • Hopefully you have no mods in this area, you cannot turn this off!!
  • source files for C and H and BSSV being stored in the database.
    • Hmm, also needs some refinement.

This post focuses on the latter and the problems that I had with it.

I’d been bought in on the upgrade (where a couple of full packages has been built), but there was some OL integrity issues.  Central objects were okay, because this was a simplified upgrade.  This means that the original central objects were the base – phew – good news.

But some missing OL records was causing grief.  We were getting the following in the logs of the server package build:

Mon Jan 23 12:14:22  -  spkgutil.c:8516 PKGUTL0113 ERROR: Command CPY OBJ('/Packages/UA7012100/checkin/source/b5501820.c') TOOBJ('/Packages/UA7012100/source/CCUSTOM/b5501820.c') SUBTREE(*ALL) REPLACE(*YES) failed. Failed to copy the directory.

Mon Jan 23 12:14:22  -  spkgclnt.c:268 PKGCLT0033 ERROR: Failed to transfer file /Packages/UA7012100/checkin/source/b5501820.c to CHIJTD42. Error Error in file I/O

Mon Jan 23 12:14:22  -  spkgclnt.c:1179 PKGCLT0054 ERROR: Failed to transfer /Packages/UA7012100/checkin/source/b5501820.c to the server.

This is frustrating.

The source files are there in the UA920\source dir, but they are not being transferred.  Note that I’m familiar with the F98780R and also the F00942T and the F9860.SIGTFFU1.  I know that the package build (full) looks at the F9860 to see if there is a record in the F98780R for the object, and if there is a 1 in the SIGTFFU1 field, then it’s assumed that there is a file ready in the COUA920.F98780R file.  But – what if you needed to patch OL a little bit, merge a few extra records in because the package build was not working?  You have a problem.

It seems that the F98780R only contains 1 row per object, this is either based upon a package built or an OMW transfer:


See above one insert as a result of the package build and 3 due to object transfers.  So if there is a 1 in F9860 and it’s a full package, it seems that if there is no record in F98780H for your object – it’s not going to build.  So – how are you going to fix this?  Well, it seems that the best method is to put your objects into a project and promote them.  This is going to ensure that they are going to have records in F98780H when it’s build time.

select * from ol920.f9861 where simsar = '' and sipathcd = 'UA920';
select * from ol920.f9860 where siobnm = 'B5500001';
select * from sy920.f00942t;
select table_schema from qsys2.systables where table_name = 'F98780H';
select * from coua920.f98780h where ahpid <> 'UA6122300';

My other option would be to reset the F00942T so that it did not think it had processed all of the files, and probably deleted the contents of F98780H – that might have sorted things too?


You can also see a new field in the pathcode master application too, which correlated to the F00942T

I’ve been a bit lackadaisical in this post with my dichotomy between F98780R and F98780H, so let me define:

F98780H       Object Librarian Archive History                               
F98780R       Object Librarian Archive Repository                            

You can refresh these tables (as I needed to do), by updating F00942T and then running your build again.

update sy920.f00942t set emdbsrcflg =0 where empathcd = 'UA920';

You’ll see the following in the D:\JDEdwards\E920\UA920\package\UA920FD\serverPkgbuild log file:

Tue Jan 24 06:40:16  -  Check where the file repository is located, Deployment Server or Database.
Tue Jan 24 06:40:17  -  For each object, a record will be inserted into F98780R/F98780H table.
Tue Jan 24 06:40:17  -  This is where package build will retrieve the include, source and bitmap files.
Tue Jan 24 06:40:17  -  This process will only run once for each pathcode.
Tue Jan 24 06:40:17  -  This might take a while so be patient.
Tue Jan 24 06:40:17  -  To monitor the progress, the logs in the work directory should increase in size.
Tue Jan 24 06:40:17  -    Logs directory: \MACHINE\E920\UA920\package\UA920FD\Work\.
Tue Jan 24 06:40:18  -  Clearing the F98780R and F98780H tables.
Tue Jan 24 06:40:20  -  Start the insert of objects into the Repository Tables: F98780R and F98780H.

Instead of (once this is done)

Mon Jan 23 11:44:03  -  Check where the file repository is located, Deployment Server or Database.
Mon Jan 23 11:44:03  -  Source/Include/Res files will be retrieved from the F98780R repository.
Mon Jan 23 11:44:03  -  Check is complete, package build will continue.
Mon Jan 23 11:44:03  -  Files will be retrieved from Database Repository.

This is where the additional 2GB of storage is needed for your first full package in 9.2.1 tools release – all of your source and include.

Collaborate presentation on JD Edwards

I'm lucky enough to be presenting at collaborate later this year.  Actually, my presentation is going to be on Sunday April 2nd at 12:30pm in Lagoon E.  

What am I presenting?  I'm presenting on innovation in JD Edwards and focusing on mega trends.  I know that this might seem a little high level from a technical person like me, but there is going to be technical details and examples of innovation.

Mega trends are very important.  There are more people and smarter people that know business is going to spend billions of dollars in these areas.  They know that these areas are going to provide strategic and tactical advantages that will outweigh their costs.

This might seem basic and ROI might seem difficult to calculate initially, but these areas are not going away. 

We are talking about:


  • IOT
    • real world examples saving time and money
    • AWS and JDE
  • Cloud
    • Elastic AWS implementations and cloud formations.
  • Social
    • social with ERP analytics
    • social with gamification
    • social feeds
  • Mobile
    • exploiting AIS and microservices
    • reusable and extensible code and methodologies
  • Big Data
    • farming for competitive advantage
    • We’ll farm your ERP analytics data and show you how to make ROI
    • Answers to questions you have not asked yet!

We are going to look at specific examples of how these can all be tied in together to assist you create a competitive advantage. I’ll demonstrate how JD Edwards might be able to assist you in you mega-trend compliance in ways that you might not have contemplated.

Well see examples and mash-ups using CAFE1, RIA, BSSV, AIS, AWS and more to show you how you can quickly adopt some additional megatrend compliance.

Myriad will have a booth on the floor too, so if you want to come and tell me about your innovations in JDE, I’d love to hear from you at collaborate.

Friday, 20 January 2017

reconciliation of object librarian and central objects

This is a sneaky AS/400 SQL statement that will reconcile central objects F987* tables with F9861.  So this essentially gets a massive list of distinct object names from CO and see’s if there is a F9861 record for that object.  So this is a nice way of determining if you have orphan central objects – or missing OL records.

select distinct object_name from (
SELECT distinct THOBNM as object_name FROM COUA920.F98710 union   
SELECT distinct TDOBNM as object_name FROM COUA920.F98711 union   
SELECT distinct TPOBNM as object_name FROM COUA920.F98712 union   
SELECT distinct TLOBNM as object_name FROM COUA920.F98713 union   
SELECT distinct BVOBNM as object_name FROM COUA920.F98720 union   
SELECT distinct ELOBNM as object_name FROM COUA920.F98740 union   
SELECT distinct DTOBNM as object_name FROM COUA920.F98743 union   
SELECT distinct SFOBNM as object_name FROM COUA920.F98745 union   
SELECT distinct FTOBNM as object_name FROM COUA920.F98750 union   
SELECT distinct FSOBNM as object_name FROM COUA920.F98751 union   
SELECT distinct AHOBNM as object_name FROM COUA920.F98752 union   
SELECT distinct ADOBNM as object_name FROM COUA920.F98753 union   
SELECT distinct RTOBNM as object_name FROM COUA920.F98760 union   
SELECT distinct RSOBNM as object_name FROM COUA920.F98761 union   
SELECT distinct BCOBNM as object_name FROM COUA920.F98762) as tbl
where not exists (
select 1 from ol920.f9861
where sipathcd = 'UA920'
and siobnm = object_name);

Tuesday, 17 January 2017

tools release application release matrix (-Keanu Reeves)


This is a rehash of the support site, but really important and nice to have a quick reference of what you are allowed to download for what release.  Nice that if you are running on the 9’s then you can take 9.2.1 – but you’ll get a mashed up edition of functionality.

JDEdwards OneWorld EnterpriseOne Application Releases
Application Release XE/ERP8 8.10 8.11 8.11 SP1 8.12 9.0 9.1 9.2
Tools Release
SP23/24 X X X X X X X
  8.93 X X X X X X
  8.94 8.94 X X X X X
  8.95 8.95 8.95 X X X X
  8.9 8.96 8.96 8.96 X X X
  8.97 8.97 8.97 8.97 X X X
  8.98 8.98 8.98 8.98 8.98 X X
  8.98.1 8.98.1 8.98.1 8.98.1 8.98.1 X X
  X 8.98.2 8.98.2 8.98.2 8.98.2 X X
  X 8.98.3 8.98.3 8.98.3 8.98.3 X X
  X 8.98.4
( or earlier)
( or earlier)
( Terminal Release)
( Terminal Release)
  X X X X X
  X X X X X
  X X X X X
  X X X X X
  X X X X X
  X X X X 9.2.0.x 9.2.0.x 9.2.0.x
  X X X X 9.2.1.x 9.2.1.x 9.2.1.x
Tools Release Schedule
SP24 Patch Release Targeted GA Expires
  24.2.1 12/19/2012 12/31/2013
  24.2.2 06/24/2014 TBD
8.97 Patch Release Targeted GA Expires 05/22/2009 05/11/2010 05/27/2009 05/11/2010
8.98 Patch Release Targeted GA Expires 10/26/2010 30/03/2011 12/14/2010 09/16/2011 12/29/2010 06/14/2011 03/30/2011 08/03/2011 06/14/2011 09/16/2011 08/03/2011 11/30/2011 09/16/2011 02/08/2012 11/30/2011 04/07/2012 02/08/2012 06/25/2012 04/07/2012 06/25/2012 06/25/2012 09/25/2012 09/25/2012 06/03/2013 12/19/2012 12/02/2013 6/03/2013 07/22/2014 12/02/2013 07/22/2014 (Terminal Release for 8.98.x) 07/22/2014 Sustaining Support
9.1 Patch Release Targeted GA Expires 06/12/2011 09/18/2012 12/20/2011 04/10/2012 03/06/2012 05/29/2012 04/10/2012 08/22/2012 05/29/2012 Sep'2012 08/22/2012 Nov'2012 09/18/2012 Jan'2013 10/01/2012 01/22/2013 11/29/2012 03/11/2013 01/22/2013 04/09/2013 03/11/2013 04/23/2013 04/08/2013 12/17/2013 04/23/2013 07/29/2013 06/25/2013 11/29/2013 07/29/2013 12/17/2013 10/30/2013 12/17/2013 12/17/2013 04/03/2014 12/17/2013 02/27/2014 01/14/2014 04/03/2014 02/27/2014 04/03/2014 04/03/2014 07/15/2014 06/03/2014 07/15/2014 07/15/2014 12/09/2014 09/11/2014 01/27/2015 12/09/2014 01/27/2015 12/22/2014 04/21/2015 01/27/2015 06/09/2015 04/21/2015 07/21/2015 (Web Only Maintenance Pack) 06/09/2015 09/28/2015 07/21/2015 11/18/2015 (Web Only Maintenance Pack) 07/21/2015 02/10/2016 11/18/2015 04/12/2016 (Web Only Maintenance Pack) 02/10/2016 10/06/2016 04/12/2016 10/06/2016 (Terminal Release for 9.1.x) 10/06/2016 Sustaining Support
9.2 Patch Release Targeted GA Expires 10/06/2015 03/11/2016 01/13/2016 05/24/2016 03/11/2016 07/26/2016 (Web Only Maintenance Pack) 05/24/2016 09/15/2016 07/26/2016 2016-04 (Web Only Maintenance Pack) 09/15/2016 2017-01 12/20/2016 2017-1 (Web Only Maintenance Pack) 2017-1 TBD (Terminal Release) 2017-2 TBD 11/14/2016 TBD 2017-1 TBD

Monday, 16 January 2017

JDE UDO addendum–pathcode not control tables.

Just a quick note, as it’d not clear on my previous post.

Out of the box, most of the UDO tables are mapped to the “Central Objects” datasource for the pathcode of the environment that you are logged into.  These are not in control tables.

For example, out of the box, they resemble the below:

JPY920    F952400    TBLE    Central Objects - PY920    *PUBLIC    AV    P         1
JPY920    F952410    TBLE    Central Objects - PY920    *PUBLIC    AV    P         1
JPY920    F952415    TBLE    Central Objects - PY920    *PUBLIC    AV    P         1
JPY920    F952420    TBLE    Central Objects - PY920    *PUBLIC    AV    P         1
JPY920    F952425    TBLE    Central Objects - PY920    *PUBLIC    AV    P         1
JPY920    F952430    TBLE    Central Objects - PY920    *PUBLIC    AV    P         1
JPY920    F952435    TBLE    Central Objects - PY920    *PUBLIC    AV    P         1
JPY920    F952440    TBLE    Central Objects - PY920    *PUBLIC    AV    P         1
JPY920    F952450    TBLE    Central Objects - PY920    *PUBLIC    AV    P         1
JPY920    F952460    TBLE    Central Objects - PY920    *PUBLIC    AV    P         1
JPY920    F9524810    TBLE    Central Objects - PY920    *PUBLIC    AV    P         1
JPY920    F9524820    TBLE    Central Objects - PY920    *PUBLIC    AV    P         1
JPY920    F9524830    TBLE    Central Objects - PY920    *PUBLIC    AV    P         1
JPY920    F9524840    TBLE    Central Objects - PY920    *PUBLIC    AV    P         1
JPY920    F9524850    TBLE    Central Objects - PY920    *PUBLIC    AV    P         1

The F9860W and F9861W tables are mapped to object librarian

JPY920    F9860W    TBLE    Object Librarian - 920    *PUBLIC    AV    P         1

So, if you have environments that share pathcodes, then you are also sharing UDO’s

Friday, 13 January 2017

UDO’s for dummies part 1

It’s all new and exciting….

two new apps that you need to look into:

P98220U - Work with User Defined Objects


P98220W -  Object Management Workbench – Web


Look much nicer than:


But has the same information at the same status’

Only when you project has some UDO’s in it, can you do something with it:


So now you have two places to do things and you need to know what you want to do before you can do them.

Even if u have mixed objects in the project, we are able to do transfers with OMWWEB


Although it seems that if you have mixed objects in the project and you promote with OMWWEB, traditional objects cannot be transferred / will prevent the project from moving.

In my example the project moved form 32 to 26 with an issue, as there are no activity rules for objects. 


When I tried to move from 26 to 32, I had errors – as functionality was attempted to be triggered.


I was able to remove R0010P from the project and then I could transfer it to 32 again.

All logging was available in the web:


not really the fatty – only bits and bobs


And you cannot view logging for the project, which is strange:


Yet you can for projects that have traditional objects.

This is just my first post on 1 hour of lessons on the new OMWWEB, I’m sure there are going to be more to come.

It’s just like when OL went to OMW… good fun.


UDOs Defined as

  1. Queries - fields and QBE columns you select from a form and add conditions to in order to make the search criteria more specific.
  2. Grid Formats - a selection of the columns you choose to display, the sequence in which you want them displayed, and how information is displayed in your grid.
  3. Composite Application Framework - a user interface framework that enables JD Edwards EnterpriseOne applications to integrate with multiple third-party content and applications, as well as other EnterpriseOne applications.
  4. EnterpriseOne Pages -the first screen end-users see when they log into EnterpriseOne. They are HTML files and can contain any HTML-enabled functionality, such as interactive process flows, URL links and web pages, company logos, and so on.
  5. One View Reports - a Business Intelligence (BI) Publisher data model, a BI Publisher report, the report definition for the One View Report, which is the metadata for the report and resides in JD Edwards EnterpriseOne.
  6. One View Watchlists - a collection of items that match user-defined criteria and contain information to which users have selected to be alerted.
  7. Composed Pages (starting with - EnterpriseOne Pages created inside EnterpriseOne using Page Composer.
  8. Images (starting with - Pictures you can use to customize your tiles in Page Composer.


Tables UDOs are Located in

F952400    User Generated Contents Detail
F952410    Composite Page
F952415    Image
F952420    OneCenter Watchlists Detail
F952425    Notification
F952430    Advance Query
F952435    Dynamic Form Personalization
F952440    Grid Formats Detail
F952450    CafeOne Layout Table
F952460    Default UDO Detail
F952471    Modified Web Object Metadata

F9860W    Web Object Master Table
F9860WD    Web Object Language Descriptions Table

F9861W    Web Object Librarian Detail