Tuesday, 26 June 2012

e1pages simple and easy implementation in JDE9.1 JD Edwards 9.1

I’ve done some work with e1pages, but thought that I should do a little more.  For instance I want to port across some of the configuration I did in my 9.0 demonstration environment to my 9.1 demonstration environment. 

A great place to start is the E1 documentation, listed below:


Typical Process Flow

The following list is an example of a basic process flow for creating EnterpriseOne Pages.

  1. Add an EnterpriseOne Page by accessing the User Generated Content Management application. (P982400)

    • Add an object.

    • Upload the content for that object.

    • Preview the page to verify it is correct.

  2. Advance the Object status from Editing status to Pending Review.

  3. Advance the Object status from Pending Review to Review.

  4. Advance the Object status from Review to Approved.

  5. Publish the page (assign the page to User or Role or *PUBLIC.

  6. Activate the page.


So…. P982400 into the fast path




Enter your details



Click into the grid on your recently added row and change the status to


Pending Review

Then do the same, all the way to approval

  • Pending Review > Reviewing

  • Reviewing > Pending Approval

  • Pending Approval > Approval

Select your row in the grid and choose “form->admin->activate”

Click on the grey icon in the grid and it will turn green – your record is active!


Finally choose who you want the page to go to:



Then Add

Choose your object name “MYREXAMPLE” and choose your product code and then add the roles that you want to see the e1page when they log in


Log out and log back in – your page will appear!

My new number plates–MRJDE

My new number plates!


They are not really mine, but I had to get a picture of them…

Problem importing templates for EM12c into OVS 3

Wow, it seems to be a problem on top of a problem, which is on top of another problem!

I want install EM12C BP1 (Bundle Patch 1 so that I can manage windows hosts, can download from here https://edelivery.oracle.com/EPD/Search/handle_go

I do not have enough storage on the current 11G install in my software library to upload the templates for 12C – because I’m going to destroy this VM – it’d be a waste of time anyway.

So, I need to upload the EM12C templates into my OVS repository directly – no problems.

That should be simple, I’ve downloaded the files for the OVM template:

  1. V31982-01.zip
  2. V31982-02.zip
  3. V31982-03.zip

I’ve setup my ftp server to pick up the files, but now I get the following in the logs:


Which shows


Which then has:

Server error message: Template import error: Command: (tar xzf /OVS/Repositories/0004fb00000300005dbf9d7f41f5d4c1/Templates/0004fb000014000079507c55c1616487/tmp/OVM_EM12_1of3.tgz --no-same-owner -C /OVS/Repositories/0004fb00000300005dbf9d7f41f5d4c1/Templates/0004fb000014000079507c55c1616487/tmp) failed: (2)

As the specific error.  Why do all of the errors have to be on the 4GB files, I keep asking myself!

So, I scp the file to my server and start uncompressing and unzipping the file, so that I can run my own command over it and see what the problem is.

Hooray – I’m not going crazy!

[root@MYRSVMH5D tmp]# tar xvf /OVS/Repositories/0004fb00000300005dbf9d7f41f5d4c1/Templates/tmp/OVM_EM12_1of3.tgz  --no-same-owner -C /OVS/Repositories/0004fb00000300005dbf9d7f41f5d4c1/Templates/tmp

gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now

It seems that the file is corrupt, but riddle me this, riddle me that…  This is the unzipped file – I think that there is a problem at oracle – not with me.  Otherwise there would have probably been a problem with the unzip operation stating “incomplete file” – but it does not.  It errors with the untar.

It does make me think that perhaps if I did all files together in the xvf command, it might just work (multi member tar ball).  Perhaps there is a bug in the multiple template file import functionality in OVM?  Lets find out

It’s true – the multiple file template importer is cr@p.  It does everything one at a time, and that can never work.  I can do it manually with this command:

cat OVM_EM12_1of3.tgz OVM_EM12_2of3.tgz OVM_EM12public-yum-el5.repo_3of3.tgz | tar -xzvf -

Great, well that worked first time.  But I need to somehow use these image files.

Easy…  I create a new VM and configure two news disks with the wizard.

Hack the vm.cfg file, point to your new disks – BAM!  problem solved!

disk = ['file:/OVS/Repositories/0004fb00000300005dbf9d7f41f5d4c1/VirtualDisks/0004fb00001200008e5bfc1c7ddc1796.img,xvda,w', 'file:/OVS/Repositories/0004fb00000300005dbf9d7f41f5d4c1/VirtualDisks/0004fb0000120000603bfb1c187d4f74.img,xvdb,w!']

EM12C is working based on the template, great.  All of the installations seemed to work and I’m able to log in.

It’s frustrating that services are not set up properly, nothing for oracle DB, weblogic or anything.  This could / should be done for templates to make them easier to use.

vncserver is not installed on the machine.  wget is not installed on the machine, this is FRUSTRATING!

So, you cannot run wget, but need access to the public yum server, then:

cd /etc/yum.repos.d

vi public-yum-el5.repo

paste the following in:

name=Oracle Linux $releasever Latest ($basearch)


yum list

This will refresh the packages

yum install vnc-server.x86_64 wget.x86_64

Thursday, 14 June 2012

JD Edwards Installing a new tools release ( to the deployment server

installing a new tools release ( to the deployment server
rename to .zip and unzip the download, something like
goto the ..\Disk 1\ToolsRelease\install dir and run the setup.exe, this loads the oracle universal installer


It defaults to wanting to create a new oracle home, that is not what we want, we want to upgrade the current tools release:
Select the existing home
That's the ticket!  GO!

The progress bar might make you pretty nervous in the beginning, it does not move.  But eventually she kicks off.

a 32 bit java process does all of the work


Success, suss out the following dir and filename (example) for logs

C:\Program Files (x86)\Oracle\Inventory\logs\installActions2012-05-19_07-33-51PM.log

Tuesday, 5 June 2012

My WRAP on OVR One View Reports

I finally got it working, and it seems to be related to not following MTRs that was causing me problems.  BIP did not work, yet when everything was installed properly as per MTRS ( everything worked first time. 

The steps are easy to perform.  Create your bip user in the weblogic console and give it all permissions.  Test logging into BIP with that user.  Follow the recommendations for the root folder and use JD Edwards.  These folder names are case sensitive, so be careful.

If you are putting this thing out through a firewall, make sure that all of this is thought of too, when you are filling out the P953000 and P954000 you’ll need to reference the correct machine.


Use application P952400 to see what screens have One View reporting. 

Remember that you need to pay for One View usage, preliminary pricing is below:


Of course, see Oracle for accurate pricing for your business.

Change E1 timeout on wls (WebLogic) and explanation of multiple copies of jdbj.ini and jas.ini

Remember that JDE maintains a couple of copies of many of the main files that you are dealing with in WLS.  There is a couple of copies in the SM directories.  This is the copy that you change when you are editing the file with SM.   For web.xml It’s in a path something like:


How to find them for your site (on linux) a cheeky find command like the one below [for jdbj.ini):

find  . -name jdbj.ini -exec ls -l {} \;

This will tell you that the two “Server Manager” copies are actually:

-rwxrwxrwx 1 oracle oinstall 1720 Jun  1 16:19 ./SCFHA/targets/JDE91DV/owl_deployment/webclient.ear/app/webclient.war/WEB-INF/classes/jdbj.ini
-rwxrwxrwx 1 oracle oinstall 1720 Jun  1 16:20 ./SCFHA/targets/JDE91DV/config/jdbj.ini

So, there are two copies of jdbj.ini in the SM tree, there is also another in the WEB-INF classes dir for the runtime JVM.

-rw-r----- 1 oracle oinstall 3387 Jun 5 16:20 ./domains/mydomain/servers/JDE91DV/stage/JDE91DV/app/webclient.war/WEB-INF/classes/jdbj.ini

When you change a value in SM, you get a message like:


and you see the physical file that is changed is below:

-rw-r--r-- 1 oracle oinstall 3387 Jun  1 16:19 ./SCFHA/targets/JDE91DV/owl_deployment/webclient.ear/app/webclient.war/WEB-INF/classes/jas.ini
-rwxrwxrwx 1 oracle oinstall 3387 Jun  5 11:10 ./SCFHA/targets/JDE91DV/config/jas.ini

The one that is read in by the wls JVM is still unchanged:

-rw-r----- 1 oracle oinstall 3387 Jun  1 16:19 ./domains/mydomain/servers/JDE91DV/stage/JDE91DV/app/webclient.war/WEB-INF/classes/jas.ini

So, when I hit synch, it makes 2 copies of the file.  One to the owl_deployment location and the second to the runtime location for WLS  Note the times highlighted.

-rw-r----- 1 oracle oinstall 3387 Jun  5 11:14 ./domains/mydomain/servers/JDE91DV/stage/JDE91DV/app/webclient.war/WEB-INF/classes/jas.ini

-rw-r--r-- 1 oracle oinstall 3387 Jun  5 11:14 ./SCFHA/targets/JDE91DV/owl_deployment/webclient.ear/app/webclient.war/WEB-INF/classes/jas.ini
-rwxrwxrwx 1 oracle oinstall 3387 Jun  5 11:10 ./SCFHA/targets/JDE91DV/config/jas.ini


This is turning into quite a saga.  I guess the reason I’ve explained the above is to tell you WHY you are changing two copies of the web.xml for the timeout.  1 for the runtime and 2 incase there is some sort of redeployment from SM triggered.

edit the web.xml file and add the following before the last line of the file.  This is for a 30 minute timeout.  Please don’t type the quotes, my blog post is not working with RAW xml.

    • <session-config>
    • </session-config>


Monday, 4 June 2012

setting up a linux machine for EM 12c monitoring

Prep on your host:

I create a user called oracle12c

as root:

adduser oracle12c

passwd oracle12c

<set the password>

usermod –a –G dba oracle12c

usermod –a –G oinstall oracle12c

usermod –a –G wheel oracle12c

/* this ive orainventory permissions, and sudo permissions */
edit /etc/sudoers file in a couple of locations:

(uncomment the following)

## Same thing without a password
%wheel ALL=(ALL)       NOPASSWD: ALL

Comment out the requitetty

# Disable "ssh hostname sudo <cmd>", because it will show the password in clear.
#         You have to run "ssh -t hostname sudo <cmd>".
# Defaults    requiretty


You might need to wq! (coz the file is read only)

Add Manually in EM12c







Note that the install dir that you select must not have contents.  Note also that the installer needs the root user (or your installing user) to own the complete dir tree. This seems a little weird, but I’ve had to ensure that root owns /u01/app to get the thing to install.

“Reason for failure of this prereq could be one of the following:1. Agent Base Directory is not owned by install user. 2. All or one of the parent directories of agent base directory is not owned by install user or root user. 3. The root directory (that is '/') is not owned by root user.”

Hitting next, then deploy agent.  This might take a while, it runs a bunch of test to see if things are going to install properly


Install yast

see my post on updating yum server etc if you need help here

you need to download yast_el5_x86_64.tar

tar –xvf yast_el5_x86_64.tar

cd yast_el5_x86_64


Public Yum Server

You’ve probably noticed that I’ve been doing a lot of work with OEL lately.  I’ve been building a lot of DEMO machines and have invested heavily on OEL and OVM.  I’m happy with all technology and stability.  I’m impressed with the speed of system commissioning.

I’m installing yast for my EM12c agent integration.  I need to install boost package and perl-digest-SHA1, but have problems with my ULN subscription (or lack there of!)

I’ve recently come across an issue where I cannot update the packages on a new server due to a lack of ULN subscription:

[root@e1oid yast_el5_x86_64]# yum install perl-Digest-SHA1 boost
Loaded plugins: rhnplugin, security
This system is not registered with ULN.
ULN support will be disabled.
Setting up Install Process
No package perl-Digest-SHA1 available.
No package boost available.
Nothing to do

Great, but solution is even greater!


# cd /etc/yum.repos.d
# wget http://public-yum.oracle.com/public-yum-el5.repo

  1. Enable the appropriate repository by editing the yum configuration file

    • Open the yum configuration file in a text editor
    • Locate the section in the file for the repository you plan to update from, e.g. [el4_u6_base]
    • Change enabled=0 to enabled=1

  2. Begin using yum, for example:

    yum list

Then run your install command again!


Saturday, 2 June 2012

AS/400 change JDE password problems

Simple request, Shannon change the JDE password this weekend, we feel that auditors are not going to appreciate the password being JDE.  Fair enough I say…

They have a great password up their sleeves, lets say Numpty99! for example….

NO – Don’t do it.

No lower case, no special characters, KISS for the JDE password for AS/400.  (Keep It Simple Silly)…

I tried using lower case passwords on the AS/400, special characters and got the following in the kernel logs, only when I was trying to log into the web client.  The services started fine…  Scheduled jobs running without a problem… Could not sign into the web!

Java logs saying “Calling leftUDCJustify” failed, classic web server rubbish!  Right, look at the kernel logs…

ID/PSThread_ID:  885/42
System Thread ID: 42
Thread Name:      SYS:Response Msg Listener
Level  Program    Library    Module     Statement  Procedure
0      QC2UTIL1   QSYS       QC2MI3     0000000001 deq
1      JDEIPC     E900SYS    MSG        0000000039 JDE_msgrcv
2      JDEIPC     E900SYS    IPCSYSV    0000000011 receiveMessage
3      JDEIPC     E900SYS    IPCPUB     0000000032 ipcGetQueueEntry
4      JDENET     E900SYS    EXTMSGQ    0000000032 getExternalQueueEntry
5      JDENET     E900SYS    NETFLOW    0000000024 psthread_reponse_worker_function
6      PSTHREAD   E900SYS    PSTHREAD   0000000009 threadFunctionWrapper
7      QP0WPINT   QSYS       QP0WSPTHR  0000000019 pthread_create_part2
8      QLESPI     QSYS       QLECRTTH   0000000019 LE_Create_Thread2__FP12crtth_parm_t

885/38 WRK:Init Remote Env Token             Sat Jun  2 15:12:41.673192    jde400u.c2115

LIB0000004 - Failed to get the profile handle for user id: "JDE " 400MSG = CPF22E20

There is the classic final line.

Great hit on mySupport, https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&doctype=PROBLEM&id=1278734.1

The site I was at had QPWDLVL set to 3, this did not affect the toll it had on JDE…  DSPSYSVAL QPWDLVL so see what your site has it set at.

I changed the password to NUMPTY991 [I did not change it to this, this is for illustrative purposes], all good.  Capitals and simple characters!

Friday, 1 June 2012

Tools release open applications does not work


See the above, I have two applications open and cannot see them in “Open Applications”.  This is uber frustrating!

They do not appear in the open applications drop down either.

JD Edwards One View reporting–the hard for easy way?

Firstly, the installation was hard to find.  Don’t bother with the trial edition either, that is not going to work.

You need all the install images from here: http://www.oracle.com/technetwork/middleware/bi-enterprise-edition/downloads/bi-downloads-1525270.html

Unfortunately you need the entire 6GB of install files for OBIEE and realtime decisions and BIP just for BIP.

Then you need to download the RCU for creating your repository for BIP.  I got the windows 32bit edition and installed the OBIEE owners and also the SSO owners (watch this space for project SSO in the immediate future).

When installing OBIEE, ensure that you install only the BIP component, this is going to save you a lot of time.

Ensure that you know your connect string (machine: port: service name) (e1ent2:1521: orcl.mits.local)

Ensure that you remember the prefix for your RCU owners (DEV) so that you can enter the RCU schema names into the BIP installer (DEV_BIPLATFORM)

Get a hold of this guide for your instructions:

JD Edwards EnterpriseOne Tools
One View Reporting Administration Guide
Release 9.1

Although quite brief, you can follow the bouncing ball.  Make sure that you also download the oneview components from edelivery.  There are a couple of zip files, some files you need to load into BIP and some you load into E1. (why can’t they make it an ESU?).  The download is only about 9MB.  Use application P982402|ZJDE0002 to import all of the “user generated contents:”.


Importing them might take a while…  If this goes by in 10 seconds, you probably will not have success!  If it takes more than 10 minutes, I think that you have a problem also. 

I could not get this working with, I kept getting strange errors in the logs.  I upgraded my tools release to and it worked first time.  What a pain!  I must have blown 6 hours on this!


Remember to look at the import records to verify that it worked.


Note that this is what the BIP screens look like.  See where the folders are created (my folders\JD Edwards)

<property><name>root catalog</name><value>/My Folders/JD Edwards</value></property>

When you create your “BIP” user in weblogic, do this from the console.  If you do not see BIPublisher groups in the console, you have a big problem.  The integration between BIP and console needs to be there for the integration to JDE.


See the above permissions from the weblogic console screen, NOT the xmlpublisher screens.

The apps in JDE are p953000 and P954000 for much of the config in E1


Note that there are two options for the password, edit in in the HTML section or edit it in the table below.  The table entry will not store the password in text, and will exchange the MASK FIELD with the mask value at runtime.  I changed the entire value of the mask field to be the password in my example – go for the easy option first.

Note that I’ve installed the reports and the boiler plates.  I have the menu’s appearing on the JD Edwards screens, but JD Edwards cannot locate the One View reports on the BIP server.


I get the above error when choosing an existing report.

01 Jun 2012 10:10:07,151[SEVERE][JDE][RUNTIME]EUR:EURRemoteEngine:getLayoutsAndFormats javax.xml.rpc.soap.SOAPFaultException: oracle.xdo.webservice.exception.OperationFailedException: PublicReportService::generateReportDefinition Failure: Due to oracle.xdo.servlet.CreateException: Report definition not found://My Folders/JD Edwards/DV910/P41270/Average Cost by Lot.xdo [username=bip]

The above is spewed out in my jas logs.  See that the path is a little funny: “://My Folders/JD Edwards/DV910/P41270/Average Cost by Lot.xdo “

All of these folder names are cAsE sensitive, what a pain… 


  1. don’t use a preceding / in the folder name, this is not required.
  2. make sure folder names are case sensitive.  You should not be editing values in P954000 – but…



Using One View

IF you do not see the oneview reporting menu items, you’ve got the security wrong.


You’ll see the security record and the item above

The P953000 is used for the form upload.

The P954000 is used for runtime

Sync security between JD Edwards 9.0 and 9.1

I have a demo site in 9.0, working quite nicely thanks.  I want to replicate the users and security to 9.1 – here is what I did.

Firstly create the database link, from orcl to jdevm

using this statement to find the unique column combos:

select column_name from all_ind_columns where index_owner = 'SY910' and index_name = 'F95921_0'

I came up with the following statements:

insert into sy910.f00950 t1
select * from sy900.f00950@jdevm t2
where not exists (
select 1 from sy910.f00950 t3
where t2.fssety = t3.fssety
and t2.fsuser = t3.fsuser
and t2.fsobnm = t3.fsobnm
and t2.fsdtai = t3.fsdtai
and t2.fsfrdv = t3.fsfrdv
and t2.fssy = t3.fssy)


insert into sy910.f0092 t1
select * from sy900.f0092@jdevm t2
where not exists (
select 1 from sy910.f0092 t3
where t2.uluser = t3.uluser)

insert into sy910.f98OWSEC t1
select * from sy900.f98OWSEC@jdevm t2
where not exists (
select 1 from sy910.f98OWSEC t3
where t2.scuser = t3.scuser
and t2.scsecf1 = t3.scsecf1)

insert into sy910.f98OWpu t1
select * from sy900.f98OWpu@jdevm t2
where not exists (
select 1 from sy910.f98OWpu t3
and t2.PUSECF1 = t3.PUSECF1)

insert into sy910.f95921 t1
select * from sy900.f95921@jdevm t2
where not exists (
select 1 from sy910.f95921 t3

insert into sy910.f0093 t1
select * from sy900.F0093@jdevm t2
where not exists (
select 1 from sy910.F0093 t3
where t2.LLUSER = t3.LLUSER
and t2.LLLL = t3.LLLL

update sy910.f0093 set LLLL = 'JDV910' where LLLL = 'JDV900' ;

update sy910.f0093 set LLLL = 'DV910' where LLLL = 'DV900' ;

-- you might get some dups on the above

insert into sy910.f00921 t1
select * from sy900.F00921@jdevm t2
where not exists (
select 1 from sy910.F00921 t3
where t2.ULUSER = t3.ULUSER)