Quantcast
Channel: Shannon's JD Edwards CNC Blog
Viewing all 541 articles
Browse latest View live

Testing the source code plugin–new machine

$
0
0

I’ve just converted my mac to a windoze machine and am testing out a new installation of the source code plugin.

hello this is source;
and this is not;
--comment
--another
begin
end
loop
if then else
woot it is working.

JDE batch performance analysis from EXCEL

$
0
0

What do you mean from excel?  Let’s be honest, I could probably write an ERP in excel, it is THAT good.  I know that every company I work with would probably topple over if they could not use excel anymore.  How many people have made the leap to google docs, but cannot let go of excel because of all the proprietary code, connections and calculations are held in excel! 

Anyway, I love it and want to show you something that I’ve done with excel, I think that I’ve shown this before, but I just did a cool enhancement!

So, I’ve been working with batch performance for a client, and it’s hard work to work out what is slow and what is not, what are the trends and where should I start – or is it?  Not really.  I’ve blogged previously about advanced queries over F986114 which can do comparisons over periods of time, compare month end to year end, compare day to day and week to week.  That is cool.  I also have queries that can go over F986114 and look for jobs that took longer than 4 minutes for example.  I use a ODBC connection to do this in a speadsheet, it gives me a list of jobs that took a while to process.  I sort this by time taken and then then a distinct list of the UBE|VERSION combo:

image

The list is loaded with a simple button press.

image

Button 1.  I can then choose a report|version combo and click “graph runtime history”, this allows me to see whether the averages were an aberration and allows me to see trend data over time:

image

What I can then do also, is I have a formula that uses the parameterised URL functionality in JDE, so I don’t have to go search through heaps of “job execution details”, I go to the page that I want:

image

Which takes you to:

image

Nice! As long as you are logged in once, you’ll be able to get there.

The only parameters you need are the logic server name and the job number, which is in my list:

=+HYPERLINK("http://e1webprod.myriad.local:8080/jde/ShortcutLauncher?OID=P986114A_W986114AA_ZJDE0001&FormDSTmpl=|1|2|&FormDSData=|E1APPPRD|"&K13&"|","details")

So the formula for excel to build the launcher looks like the above.  Remember that the parameterised URL had a version for the P986114A – which was wrong and did not work I had to change that:


image


So you’ve just built a super powerful spreadsheet for historical UBE performance analysis in JDE!


You could do a poor mans/womens version by taking a dump of the F986114 (no ODBC) and doing similar things.

test your AIS server, firewall or anything… no credentials needed

$
0
0

Want to test that your AIS server is talking?  Just use a link like the below:

http://yourServerName:9087/jderest/defaultconfig

{"defaultEnvironment":"JPY910","defaultRole":"*ALL","displayEnvironment":false,"displayRole":false,"displayJasServer":false,"defaultJasServer":"http://192.168.204.128:9085","ssoAllowed":false,"aisVersion":"EnterpriseOne 9.1.4.7  ","capabilityList":[{"name":"grid","shortDescription":"Grid Actions","longDescription":"Ability to update, insert and delete grid records.","asOfRelease":"9.1.4.4"},{"name":"editable","shortDescription":"Enabled/Disabled","longDescription":"Ability to indicate if form field or grid cell is editable (enabled) or not (disabled).","asOfRelease":"9.1.4.4"},{"name":"log","shortDescription":"Logging","longDescription":"Endpoint exposed for logging to AIS server log from client","asOfRelease":"9.1.4.6"},{"name":"processingOption","shortDescription":"Processing Options","longDescription":"Processing Option Service exposed for fetching PO values from E1","asOfRelease":"9.1.4.6"},{"name":"ignoreFDAFindOnEntry","shortDescription":"Ignore FDA Find On Entry","longDescription":"Ability to use the IgnoreFDAFindOnEntry flag","asOfRelease":"9.1.4.6"}],"requiredCapabilityMissing":false}
 

Firewall problems, enablepredefinedports to the rescue!

$
0
0

 

[JDENET]

enablePredefinedPorts=1

** This needs to be set to '1' for predefined ports to work otherwise the port is completely arbitrary. So, if not set, the port negotiation is fairly random.

So you might see the following ports opened to a JAS server (for example).  The only reason that JAS is going to talk with ENT is jdenet_k – unless there is a database on the ent server, which is not the case here.

TCP

10.38.144.5:25282aubdc00-jwb01p:62726ESTABLISHED

TCP10.38.144.5:64291aubdc00-jwb01p:62740ESTABLISHED

TCP10.38.144.5:64302aubdc00-jwb01p:63110ESTABLISHED

TCP10.38.144.5:64454aubdc00-jwb01p:63097ESTABLISHED

Predefined ports must be opened to allow communication between servers. The predefined port range is determined by these two INI parameters located in:
[JDENET]
serviceNameListen=6019
maxNetProcesses=4

The range starts at the port number specified by serviceNameListen, and ends at port resulting from the calculation of (serviceNameListen + maxNetProcesses -1).  For example, 6019 (serviceNameListen) + 4 (maxNetProcesses) - 1 => the range of ports used is 6019 to 6022. Therefore these range must be opened in firewall.

That is nice, you can completely control the ports that are going to be opened between the servers.

I love excel, period

$
0
0

This is not specifically JD Edwards related, just sharing some feelings I have for excel.

I know that I’ve said it before, and I’ll say it again – excel is amazing.  The fact that I can program makes a big difference, because if I cannot find a function (or articulate what I want to do in a google search), then I can write code to run the command.  This is a short homage to the countifs function, to which I was going to solve with VBA code.

Countifs allows you to run multiple countif’s (hence the name) that aggregate the criteria.  This is great for summarising data, so if you had lines of people names, dates and hours  booked, you can count entries based upon name and date and get a great summary.

image

So if I wanted a consolidated list by person, who entered time for a date, I can do +countifs(RANGE, CRITERIA, RANGE2, CRITERIA2)  where RANGE 1 is dates and criteria is the date on the line I’m calculating and range 2 is person and criteria is the name. 

windows 10–wow

$
0
0

I appreciate that I’m a bit of a luddite and have only just installed windows 10 on my MBP.  Wait, you don’t know what MBP stands for, this TLA is foreign…  Hmm, seems that you were not awake for about 10 nights installing windows 8.1 on your Mac Book Pro like me, and going through about 1000 pages trying to work out what was wrong. 

But, I wrestled 8.1 onto a separate partition, so I can dual boot the MBP – this is really nice.  But here goes, I’m going to be nice to windows.  The upgrade to windows 10 was seamless and awesome.  I iso put on a USB, mounted through 8.1 and then an inline upgrade.  I cannot believe that I’m able to log in.  All my old drivers are working, even my two thunderbolt (proprietary rubbish [but 2880x1800 – take that] monitors are working.  wireless working, EVERYTHING working.

My faithful Mac survives another attempt at it’s life by becoming a windows 10 machine.  I do like my mac, SSD, 16GB RAM, 1 sockey with 4 cores and 2.6GHz is not a powerhouse anymore… I also migrated my MAC based virtuals from vmware fusion to oracle VM virtual box.  this was very easy too, just take the hard drives and create new machines in virtual box.  The only trick thing was changing the hard drive type from SCSI to IDE for virtual box – no re-installs – no nothing.  Very cool how the VHD’s are portable across hypervisors.

Anyway, I promise to blog on JDE soon, but windows 10 is my savior – I’m sick of tiles and their stooped 8.1 interface.  Reminds me of Vista – a rubbish release.

EnterpriseOne Features–change confirmation

$
0
0

 

This is where all of the goodies are, the new stuff is put in here and is easy to activate with a tools release.

p958973

image

What are we talking about, well the list of features is available here, but this is going to increase:  These can be found in UDC H95|TS.

Good that you know that this is a UDC, so if you cannot see a feature in a particular environment, might be UDC related.  The functionality will be encompassed in a tools release though.

image

Lets take type 5 Change confirmation, what is this and what does it do?

image

This enables you to give a user a kind of “warning” on particular actions of user definable forms and / or applications.

image

If you select one of the shipped features, you can see that this has all of the OK, SELECT and FIND features enabled.  You can then choose what user / app / form combination the feature will be enabled on:

Use form –> feature Auth to determine who gets the feature. The tables that store this data is F985973 (features) and F958974 (feature authorisations).  If you want to test these features, these tables are mapped to System – 910 by default.  You probably want to consider remapping these to another datasource for non-production environments so that you can do your testing.

But, back to the feature and what it actually does.

It has the power to determine if you’ve changed something on the form (or an inline event / some ER code has changed that on the form), and then prompt you to reconsider your actions if you are going to lose your changes.  So if I configure the app to activate change confirmation on P01012 (Address book), then if you make a change to an item on the form and try to hit close (of what you’ve defined as an action), the web engine will prompt you!

image

That is the view from edge!  How nice is that.  Often close to too close to okay and users are losing data.

This is a nice feature – get enabling!

Join the team at Myriad

$
0
0

We are flat out with work at the moment and are looking for a capable resource to augment our merry team.   We have a heap of really interesting work on and would love to hand some over to the right resource.  Please reach out to me if you are interested or know someone, immediate start!


best practice for swapping out a deployment server

$
0
0

Things are complicated.  New machine names, new operating systems, I want all of the EST

so install a new copy of JDE on your new deployment server, goto edelivery to get the media if you cannot locate it on your old deployment server.

Then, detach the planner and metadata databases on your OLD deployment server.  Make sure that activeConsole is not being used.  this is done from the planner\data directory and calling detach_planner.bat and detach_metadata.bat scripts.  These can take 30 minutes to run.

Copy the files from the old dep server planner\data and planner\spec dir to a new location

attach the original files on your original deployment server again by calling the attach_planner and attach_metadata scripts from the planner\data directory

Now you can synchronise your entire E910 dir from your old deployment server to the new one (I tend to create E910_vanilla and E910_client under the JDEdwards directory.

Now you need to detach the planner and metadata databases on your new deployment server before you do any folder renames.

Now you can rename the E910 dir’s above, replacing the vanilla with the one from your other server

Now you can attach the database files with the scripts in the new DIR structure.

Note also that attach is WAY quicker than detach!

Errors I had:

C:\Oracle\E1Local\database\oradim.log contained the following

Tue Sep 22 16:00:41 2015<BR>c:\Oracle\E1Local\bin\oradim.exe -startup -sid 
e1local -usrpwd *&nbsp; -log oradim.log -nocheck 0 <BR>Tue Sep 22 16:00:46
2015<BR>ORA-01122: database file 12 failed verification check<BR>ORA-01110: data
file 12: 'D:\JDEDWARDS\E910\PLANNER\SPEC\SPEC_E910.DBF'<BR>ORA-19734: wrong
creation SCN - control file expects converted plugged-in datafile

C:\Oracle\diag\rdbms\e1local\e1local\trace

Read of datafile 'D:\JDEDWARDS\E910\PLANNER\SPEC\SPEC_E910.DBF' (fno 12) header 
failed with ORA-19734<BR>Rereading datafile 12 header failed with
ORA-19734<BR>Errors in file
c:\oracle\diag\rdbms\e1local\e1local\trace\e1local_ora_2068.trc:<BR>ORA-01122:
database file 12 failed verification check<BR>ORA-01110: data file 12:
'D:\JDEDWARDS\E910\PLANNER\SPEC\SPEC_E910.DBF'<BR>ORA-19734: wrong creation SCN
- control file expects converted plugged-in datafile<BR>ORA-1122 signalled
during: alter database open...

Note that the detach script for metadata at least probably will not work – yes this is a pain.  Reasons are simple.  You’ve just installed vanilla JDE and you want to attach your other dep server data files.  Of course you’ve not applied special instructions to the new dep server, as it’s new.  Therefore the fixes in the latest planner are not on your new dep server install – you have a problem.


Grab the script from your planner\data dir of your old deployment server (that has had planner ESU’s applied and also has had special instructions applied) – you’ll then be able to detach and attach.


How do you know this worked: login to planner and goto gh9612 – if you see ESU’s you know you are golden!


image


 


I’ll tell you more along the way, but above is good for getting your ESU history and architecture onto the new dep server.

Quick deployment server tip – What is “System Local”

$
0
0

When you log into PLANNER in a modern installation, where do your tables exist?  For example, if I log into JDEPLAN and then look at data sources.

image

And choose Planner – which table is this going to select from?

<P>select table_name, owner from all_tables where table_name = 'F98611' ;</P>
<P>TABLE_NAME OWNER
<BR>------------------------------ ------------------------------
<BR>F98611
JDESY910
<BR>F98611
JDEPLAN910 </P>

This is coming from jdeplan910 of course, so when is jdesy910 used?


That is fairly easy to answer too, as we know a few things about bootstrapping from JDE.INI, which leads us to the truth.


Remember that before the fat client on the deployment server knows ANYTHING, it looks at JDE.INI (c:\windows)…

[DB SYSTEM SETTINGS]<BR>Version=43<BR>Default User=JDE<BR>Default 
Role=*ALL<BR>Default Env=JDEPLAN<BR>Default PathCode=PLANNER<BR>Base
Datasource=Planner - 910<BR>Server=127.0.0.1<BR>Database=E1Local<BR>Load
Library=<BR>Decimal Shift =Y<BR>Julian Dates=Y<BR>Use
Owner=N<BR>Secured=Y<BR>Type=E<BR>Library
List=<BR>Library=<BR>DatabaseName2=JDEPlan910<BR>ServerPort=1521<BR>JDBNETUse=N<BR>UnicodeFlag=Y<BR>LOBFlag=Y

So we can see from here that the client uses this datasource to load OCM’s, so if you want to see where things are located, look at the OCM’s that are pointed to in the JDE.INI (same for any client!)


Therefore, we can see the data sources that are mapped to JDESY910


image


So we can then go to OCM, to find out how these are used:


image


Ahh, so now we know, and it all seems related to ESU’s and product packaging.  Another place to put configuration that you do not want to reference, but perhaps build from. 


So if you need to SQL any data sources for planner (say you are changing something low level – tnsnames.ora alias for a lot of data sources), then you must ensure that you update the correct F98611 and F986101:

update jdeplan910.f98611 set omdatb = 'E1SYS2' where upper(omdatb) = 'E1SYS';
commit;

synchronise configuration of WLS JAS node while down

$
0
0

Are you as frustrated as me with this.

You have made some JAS.INI file changes in SM that you want to synchronise with your installed JAS APP.

image

Cool, I get it – now I want to synchronise the config – so basically

copy from:

D:\jde_home\SCFHA\targets\JWB01P_PPCMSNZ_92\config

to

D:\oracle\Middleware\Oracle_Home\user_projects\domains\E1_Apps\servers\JWB01P_PPCMSNZ_92\stage\JWB01P_PPCMSNZ_92\app\webclient.war\WEB-INF\classes

But it STARTs the instance.  I do not want it started, I just want the parameters to be right for next time I start it.  It’s really frustrating.  I can see in the Server Manager logs, that it does the changes  to the file and then requests a restart:

FINER: Setting the attribute 'OracleAccessSSOSignOffURL' to value '' in INI file 'D:\jde_home\SCFHA\targets\JWB01P_PPCMSAU_91\config\jas.ini'.
23/09/2015 2:13:48 PM com.jdedwards.mgmt.targets.IniDynamicMBean setAttributeWithUserName
FINER: Setting the attribute 'frameBustingForE1Menu' to value 'differentDomain' in INI file 'D:\jde_home\SCFHA\targets\JWB01P_PPCMSAU_91\config\jas.ini'.
23/09/2015 2:14:06 PM com.jdedwards.mgmt.targets.owl.OWLJ2EEServer start
FINER: Recieved request to start server 'JWB01P_PPCMSAU_91'

So this is not cool, does anyone else have this?  I understand that if this is the FIRST time the application is started – it’s not actually been expanded to the stage directory by WLS, so this might explain why it cannot be sync’d until it’s at least started for the first time.


It’s also important to remember that it’s the nodemanager that does all of the stop and start commands that are executed through SM, therefore you need to ensure that this is up and running for the synchronisations to work.

23/09/2015 2:09:54 PM com.jdedwards.mgmt.targets.owl.OWLJ2EEServer updateApplicationFiles

INFO: Update succeeded for application 'JWB01P_PPCMSAU_91', from location 'webclient.war/WEB-INF/classes'

23/09/2015 2:09:54 PM com.jdedwards.mgmt.targets.owl.OWLJ2EEServer updateApplicationFiles

INFO: Update succeeded for application 'JWB01P_PPCMSAU_91', from location 'webclient.war/WEB-INF/classes'

23/09/2015 2:15:00 PM com.jdedwards.mgmt.targets.owl.OWLJ2EEServer updateApplicationFiles


You can see from the above that it’s got no problems updating the files.

Heterogeneous Services ODBC based data source and CCSID 13488

$
0
0

Could I have a more complicated scenario.

I’m moving over 4TB of data from an AS/400 to oracle on linux.  We’ve decided to us the linux based ODBC driver and oracle ODBC based gateway & listener combo to get the data from AS/400 to Oracle.  The AS/400 based data is unicode, using CCSID 13488 and GRAPHIC type fields.

clip_image001

This is all good, and is how a JDE database should look when using UNICODE for AS/400.

Problem was, that out of the box, I was getting spaces (or data being read essentially as bytes not a string).

clip_image001[4]

Ouch, this is not how things worked last time.  Last time all of the data was cool.  I tested to see if this was a problem when using generic iSeries windows based ODBC driver, and it was not:

clip_image001[6]

We downloaded and applied the latest V7R1 linux based ODBC drivers and still had the same issue…  Crykie, things are not looking good for my 4TB.

GRAPHIC

This property affects the handling of the graphic (DBCS) data types of GRAPHIC, VARGRAPHIC, LONG VARGRAPHIC, and DBCLOB that have a CCSID other than Unicode (13488). This property affects two different behaviors:

1. Whether graphic fields have their lengths reported as a character count or byte count through the SQLDescribeCol API and SQLColAttribute API with the SQL_COLUMN_LENGTH option.

2. Whether graphic fields are reported as a supported type in the SQLGetTypeInfo result set

0 = Report character count, report as not supported

1 = Report character count, report as supported

2 = Report byte count, report as not supported

3 = Report byte count, report as supported

You can see that from above, that if the ODBC driver is compliant with ODBC standards 3 and above, it should be okay (use NLS_CHAR settings) from the client…  Oh man…

Then, my DBA guru fixed the issue (with help from this slow witted CNC consultant).

Made following changes to initELDORA.ora

HS_NLS_NCHAR=UCS2 ----- this is for graphic datatype

HS_LANGUAGE=AMERICAN_AMERICA.WE8MSWIN1252 ------ this is for our database

Made following change to odbc.ini

ForceTranslation = 1

Not too sure of the second option is needed, as this is only supposed to be for 65531 (or what ever it is, not for 13488).

Anyway, after the changes above, we had liftoff:

clip_image001[8]

This made me very happy and allowed me to create some crazy scripts to move all this data from the 400 to oracle.

quick lesson with WLS 12C 12.1.3.0 WLS and losing your customisations

$
0
0


I’ve done a few posts about this, but thought I’d reiterate some of those posts.

When you start an instance the actual runtime location for the JAS files are read from a directory like the following.  Notice that it’s in the middleware\oracle_home

D:\oracle\Middleware\Oracle_Home\user_projects\domains\E1_Apps\servers\JWB01P_PPFIN_93\stage\JWB01P_PPFIN_93\app\webclient.war

When the application is started, these are replaced by the contents of

D:\jde_home\SCFHA\targets\JWB01P_PPFIN_93\owl_deployment\webclient.ear\app\webclient.war after every restart.

This is because the application has been deployed with the following staging mode:

Deployment Staging Mode

Behavior

When to Use

stage

The Administration Server first copies the deployment unit source files to the staging directories of target servers specified by theStaging Directory Name attribute.

The target servers then deploy using their local copy of the deployment files.

§ Deploying small or moderate-sized applications to multiple WebLogic Server instances.

§ Deploying small or moderate-sized applications to a cluster.

Which can been seen here – when looking at the application definition in weblogic console

image

So if you are doing cool things in jsp files or skinning and changing colours – of course – that is TOTALLY unsupported.  You need to make these changes in the staging directory, so that when things are copied from staging, everything works.

Note that if you want to implement the “grizzly bear” approach, you actually patch the par file for the tools release and give it a different id.  You can then distribute the par file to your web servers and deploy.

This is what we do when we install google analytics for a client’s web environment.  We take their tools release and patch the par file.  They get a totally different listing in server manager, which they can deploy or regress at their own will.  How nice is that!

Work submitted job (WSJ) history for new enterprise server

$
0
0

AS you know WSJ job information is stored in F986110 (not in the system data source) and the next numbers for jobs are controlled by F986111 in the same data source.

When you build a new enterprise server for a client (as a replacement for an old one), generally in the new virtual world – you just build a new machine.  This is an easy way to ensure that production is not affected.  It’s easy to introduce to an existing architecture and then easy to swap out the old.  Quite often your users will want access to their historical UBE’s.

So, you can use the following SQL carefully to do this for you.  Note that this will do the jobs and their execution details.

You’ll need to ensure that the PDF / CSV / log files are copied (physically) to the new server if you want the users to be able to view the output.

TABLE_NAME                     SIMD                                                       
------------------------------ ------------------------------------------------------------
F986110 Job Control Status Master
F986111 Job Number Master File
F986113 Subsystem Job Master
F986114A Audit Repository Detail
F986114 Auditing Information Data Repository

The tables and descriptions are above, this is hand SQL for generating this information.  The only thing that is handy is the ltrim and rtrim to get a match between oracle catalogs and object librarian.

select table_name, simd
from all_tables, ol910.f9860
where ltrim(rtrim(upper(table_name))) = ltrim(rtrim(upper(siobnm)))
and owner = 'SVMAP01';

Change the execution details with the following.  Note that I’m moving from AUBDC-JAP01P and AUBDC-JAP02P to AUPDC-JAP01P and AUPDC-JAP01P.

select * from SVMAP01.F986114;
update svmap01.f986114 set JCEXEHOST = 'AUPDC00-JAP01P' where JCEXEHOST = 'AUBDC00-JAP01P' ;
update svmap02.f986114 set JCEXEHOST = 'AUPDC00-JAP02P' where JCEXEHOST = 'AUBDC00-JAP02P' ;
commit;

select * from SVMAP01.F986114A;
update svmap01.f986114A set JDEXEHOST = 'AUPDC00-JAP01P' where JDEXEHOST = 'AUBDC00-JAP01P' ;
update svmap02.f986114A set JDEXEHOST = 'AUPDC00-JAP02P' where JDEXEHOST = 'AUBDC00-JAP02P' ;
commit;

select * from SVMAP01.F986113;
update svmap01.f986113 set SSEXEHOST = 'AUPDC00-JAP01P' where SSEXEHOST = 'AUBDC00-JAP01P' ;
update svmap02.f986113 set SSEXEHOST = 'AUPDC00-JAP02P' where SSEXEHOST = 'AUBDC00-JAP02P' ;
commit;

Now the actual WSJ information

update svmap01.f986111 set jcjobnbr = (select jcjobnbr + 1 from svmap01.f986111 where jcexehost = 'AUBDC00-JAP01P') where jcexehost = 'AUPDC00-JAP01P';
commit;

update svmap02.f986111 set jcjobnbr = (select jcjobnbr + 1 from svmap02.f986111 where jcexehost = 'AUBDC00-JAP02P') where jcexehost = 'AUPDC00-JAP02P';
commit;

select count(1), jcexehost from svmap01.f986110 group by jcexehost ;
update svmap01.f986110 set JCEXEHOST = 'AUPDC00-JAP01P' where JCEXEHOST = 'AUBDC00-JAP01P' ;
commit;

select count(1), jcexehost from svmap02.f986110 group by jcexehost ;
update svmap02.f986110 set JCEXEHOST = 'AUPDC00-JAP02P' where JCEXEHOST = 'AUBDC00-JAP02P' ;
commit;

Now you can goto WSJ and see all of the history.  New jobs will have a continued number too.

Mental note–syntax for simple left outer join on oracle

$
0
0

I’m too old school, I use where exists and union, but not enough left outer joins.

select table_name, simd
from all_tables LEFT OUTER JOIN ol910.f9860 ON ltrim(rtrim(siobnm)) = ltrim(rtrim(table_name))
where table_name like 'F98%' and owner = 'PP910';

The example above is great for CNC people (and JDE DBA’s) as it gives you a description of the extremely helpful table names in JDE.  Note that the left outer join helps when there is package build files in the mix – things that are not in object librarian.  Note that this is also fairly timely with another recent post about finding table names or counts – or something.

TABLE_NAME                     SIMD                                                         
------------------------------ ------------------------------------------------------------
F98745 Smart Field Named Mappings
F98750 Forms Design Aid Text Information
F98751 Forms Design Aid Specification Information
F98752 Forms Design Aid/Software Versions Repository Header Info.
F98753 Forms Design Aid/Software Versions Repository Detail Info.
F98760 Report Design Aid Text Information
F98761 Report Design Aid Specification Info
F98762 JDEBLC - Behavior Information
F98950 User Overrides Table
F98950D User Overrides Language Table
F989998 Java Persistent Object Cross Reference Table

This post is really for me to use next time I need to do this.


dblink without tnsnames.ora on the server

$
0
0

Wow, another day of learning.  I guess that it all makes sense, but if you create a database link from your client, and you reference a tnsentry that you think is going to exist on the server, then it might not.  Remember database links are going to use the servers tnsnames.ora and sqlnet.ora to try and work out where to go for the data.

create database link "jde_findeva"
connect to JDE
identified by myp@ss
using
'findeva’;

The link above needs the server tnsnames to know about findeva, however, this could be written with:

CREATE DATABASE LINK jde_findev
connect to JDE
identified by myp@ss
USING '(DESCRIPTION=(SDU=3000)(ADDRESS=(PROTOCOL=TCP)(HOST=myDBServer01)(PORT=1531))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=findeva.mydomain.com)))' ;

Basically, you’ve done a tnsping on a machine that does know about the database and ripped out everything from (DESCRIPTION onwards.  Removed the spaces and used this to create your database link.  Notice that this is also not a public link, make it private.

enter lots of table names into data selection for R98403

$
0
0

Remember to create a vbs script to enter all of your table names into R98403 data selection.  This is an AWESOME time saver:

set objShell = wscript.createobject("WScript.Shell")

Do until success = True
Success = objshell.AppActivate("List Of Values")
'Success = objshell.AppActivate("something.txt - notepad")
wscript.sleep 1000
Loop

wscript.sleep 100
wscript.echo "Start data pump"
wscript.sleep 100
Success = objshell.AppActivate("List Of Values")
objshell.sendkeys "+{tab}+{tab}"

objshell.sendkeys "F98840~"
objshell.sendkeys "F98800~"
objshell.sendkeys "F98830~"
objshell.sendkeys "F98810~"
objshell.sendkeys "F594218~"
objshell.sendkeys "F590001~"
objshell.sendkeys "F594213~"
objshell.sendkeys "F590120~"
objshell.sendkeys "F594109~"
objshell.sendkeys "F4096~"
objshell.sendkeys "F0901D~"
objshell.sendkeys "F38111~"
objshell.sendkeys "F594111~"
objshell.sendkeys "F594110~"
objshell.sendkeys "F599312~"
objshell.sendkeys "F62UI13~"
objshell.sendkeys "F56108~"
objshell.sendkeys "F1204~"
objshell.sendkeys "F01131~"
objshell.sendkeys "F56107~"
objshell.sendkeys "F03B16~"
objshell.sendkeys "F3403~"
objshell.sendkeys "F6110~"
objshell.sendkeys "F57150~"
objshell.sendkeys "F470561~"
objshell.sendkeys "F00165~"
objshell.sendkeys "F43199~"

I’ve blogged on this previously, there are small changes that you need to make between tools releases.


image


Run the script


image


And in 1 second, you have your many values in data selection!


image

What tools release can I take for my application release?

$
0
0

I always get confused on what tools release you can take based upon your current application release, so this table is great.  This information changes all of the time, so probably best you go to https://support.oracle.com for the gospel.

JDEdwardsOneWorldEnterpriseOne Application Releases
Application ReleaseXE/ERP88.108.118.11 SP18.129.09.1
Compatible
Tools Release
SP23/24 X X X X X X
  8.93 X X X X X
  8.94 8.94 X X X X
  8.95 8.95 8.95 X X X
  8.9 8.96 8.96 8.96 X X
  8.97 8.97 8.97 8.97 X X
  8.98 8.98 8.98 8.98 8.98 X
  8.98.1 8.98.1 8.98.1 8.98.1 8.98.1 X
  X 8.98.2 8.98.2 8.98.2 8.98.2 X
  X 8.98.3 8.98.3 8.98.3 8.98.3 X
  X 8.98.4
(8.98.4.11 or earlier)
8.98.4
(8.98.4.11 or earlier)
8.98.4
(8.98.4.14 Terminal Release)
8.98.4
(8.98.4.14 Terminal Release)
X
  X X X X 9.1.0.0 9.1.0.0
  X X X X 9.1.2.0 9.1.2.0
  X X X X 9.1.3.0 9.1.3.0
  X X X X 9.1.4.0 9.1.4.0
  X X X X 9.1.5.0 9.1.5.0

uninstall e1local

$
0
0

 

okay, I’m having a mare with the e1local database on a fat client.  Things should not take this long.

Sure, I know it’s my fault – hitting shift delete on the c:\E910 dir after stopping the local oracle database.  I know I should not have done it…

Tried

Tried using reconfigureMSDEDatabase to get the password – NO

Generating encrypted password...
Starting service OracleE1LocalTNSListener for the database...
Starting service OracleServiceE1Local for the database...

ERROR:  Could not change the SYSTEM user's password.  The 'From' password may be incorrect, but look in c:\ReconfigureMSDE.log and jde.log for more details.  Will not attempt to change the SYS user's password.
Starting service OracleE1LocalTNSListener for the database...
Starting service OracleServiceE1Local for the database...

ERROR:  Could not change the SYSTEM user's password.  The 'From' password may be incorrect, but look in c:\ReconfigureMSDE.log and jde.log for more details.  Will not attempt to change the SYS user's password.
Generating encrypted password...
Starting service OracleE1LocalTNSListener for the database...
Starting service OracleServiceE1Local for the database...

ERROR:  Could not change the SYSTEM user's password.  The 'From' password may be incorrect, but look in c:\ReconfigureMSDE.log and jde.log for more details.  Will not attempt to change the SYS user's password.

 

Tried

  1. Change this file (sqlnet.ora) and set SQLNET.AUTHENTICATION_SERVICES=(NTS).
  2. Restart the OEE E1Local instance.

No – nothing

C:\Windows\system32>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Tue Oct 6 17:11:30 2015

Copyright (c) 1982, 2010, Oracle. All rights reserved.

ERROR:
ORA-01031: insufficient privileges

 


Tried


Changing the path so that e1local was in front of my local client install – NO


tnsping also told me everything was right:

C:\Windows\system32>tnsping e1local

TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 06-OCT-2015 17:13:34

Copyright (c) 1997, 2010, Oracle. All rights reserved.

Used parameter files:
c:\Oracle\E1Local\network\admin\sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = E1Local)))

OK (10 msec)

Tried


Tied of tried to be honest…


Went to delete and install the local engine – look how helpful OUI is!  it’s funny!


image


Tells me to run a command at the command line.


C:\Oracle\E1Local\deinstall\deinstall.bat


Which runs

reg.exe DELETE HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_E1Local /f
@echo off

Rem
Rem Copyright (c) 2010, Oracle and/or its affiliates.
Rem All rights reserved.
Rem
Rem NAME
Rem deinstall.bat - script that calls deinstall_E1Local.bat.
Rem
Rem DESCRIPTION
Rem This script calls the deinstall_db.bat script, passing in the
Rem correct parameters.
Rem
Rem NOTES
Rem <other useful comments, qualifications, etc.>
Rem
Rem MODIFIED (MM/DD/YY)
Rem mchaney 04/04/06 - Created Windows version.
Rem

set ORACLE_HOME=%~dp0\..

net stop OracleE1LocalTNSListener
net stop OracleMTSRecoveryService
net stop OracleServiceE1LOCAL

%ORACLE_HOME%\deinstall\deinstall_E1Local.bat -silent -paramfile %ORACLE_HOME%\deinstall\response\deinstall_E1Local.rsp

Then  OF COURSE:

C:\Oracle\E1Local\deinstall>reg.exe DELETE HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_
E1Local /f
The operation completed successfully.
The OracleE1LocalTNSListener service is stopping.
The OracleE1LocalTNSListener service was stopped successfully.

The OracleMTSRecoveryService service is stopping.
The OracleMTSRecoveryService service was stopped successfully.

The OracleServiceE1LOCAL service is stopping...
The OracleServiceE1LOCAL service was stopped successfully.

Checking for required files and bootstrapping ...
Please wait ...
ERROR: Cannot find the file bin\AgentStatus.pm in the ORACLE_HOME c:\Oracle\E1Lo
cal. You must download the standalone version of the deinstall tool from OTN to
deconfigure/deinstall this Oracle Home.
cannot remove directory for C:\Users\smoir\AppData\Local\Temp\OraDeinstall2015-0
6-10_17-18-54: Permission denied at c:\Oracle\E1Local\deinstall\bootstrap.pl lin
e 179
1 file(s) copied.
1 file(s) copied.
The system cannot find the path specified.
1 dir(s) moved.

Will this ever end…  shift delete is coming out again!


Remember that if you are having issues with local oracle, logs are:


C:\Oracle\E1Local\database\oradim.log

Mon Oct 05 12:44:20 2015
c:\Oracle\E1Local\bin\oradim.exe -startup -sid e1local -usrpwd * -log oradim.log -nocheck 0
Mon Oct 05 12:44:28 2015
ORA-01157: cannot identify/lock data file 5 - see DBWR trace file
ORA-01110: data file 5: 'C:\E910_1\PD910\DATA\JDELOCAL_PD910.DBF'


Mon Oct 05 13:14:38 2015
c:\Oracle\E1Local\bin\oradim.exe -startup -sid e1local -usrpwd * -log oradim.log -nocheck 0
Mon Oct 05 13:14:57 2015
ORA-01157: cannot identify/lock data file 5 - see DBWR trace file
ORA-01110: data file 5: 'C:\E910_1\PD910\DATA\JDELOCAL_PD910.DBF'

9.2 release is GA

$
0
0

The next major release of JD Edwards is GA

Oct. 6, 2015: JD Edwards EnterpriseOne Announces Release of Applications and Tools Release 9.2!

Please see the announcement here.

The Oracle Support Document 2062671.1 (JD  Edwards EnterpriseOne 9.2 Certifications) can be found here.

The Oracle Support Document 2054020.1 (Required Components for JD  Edwards EnterpriseOne Tools 9.2) can be found here.

NOTE: Tools Release Maintenance Pack 9.2.0.1 is the first Tools Release for JD Edwards EnterpriseOne Application and Tools Release 9.2.

Cutting through the marketing, go here

https://apexapps.oracle.com/pls/apex/f?p=44785:141:0::::P141_PAGE_ID,P141_SECTION_ID:343,2576

So you get the following snazzy screen:

image

The tools enhancements are categorised under 4 main headings:

User Defined Objects

User Defined Objects (UDO) are web objects created using the JD Edwards EnterpriseOne web interface. You can create UDOs for your own use, view UDOs others have created, or share your UDOs so others can view and use them. Your ability to perform any of these tasks depends on the permissions you and others have been granted by your administrator.

There are six UDOs that you create from the EnterpriseOne interface:

  • Queries - fields and QBE columns you select from a form and add conditions to in order to make the search criteria more specific.
  • 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.
  • 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.
  • 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.
  • One View Watchlists - a collection of items that match user-defined criteria and contain information to which users have selected to be alerted.
  • 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.

My comments: These all exist, but I think that the management has been made more consistent.  See below:

   Object Management Workbench on the Web

Object Management Workbench (OMW) is a system used to manage the development of JD Edwards EnterpriseOne objects on the development client. Available with Tools 9.2 is the new Web OMW which is available on the web client and is used to manage user defined objects (UDO).  UDOs are objects created from the web client.  For a list of these objects, look above

Both OMW systems are defined using the Object Management Configuration application.

This is totally awesome, having a consistent management framework for promoting these objects is great.  Please include things like security in the next release… Please!


  Security

Oracle's JD Edwards EnterpriseOne Tools provides security applications, reports, and features to help you protect your company's sensitive application data. EnterpriseOne authentication security ensures that only authenticated users can sign in to EnterpriseOne. Authorization security ensures that EnterpriseOne users have access to only the applications and features that they are authorized to use.

In addition, EnterpriseOne enables you to set up security for developers who use Object Management Workbench (OMW) to add and modify objects for custom applications. Setting up developer security ensures that developers can only perform certain actions in OMW based on pre-defined responsibilities.

EnterpriseOne also includes reports that you can use for security auditing purposes, as well as auditing features for supporting the 21 CFR Part 11 auditing regulations.

With Tools Release 9.2, JD Edwards has removed the 10 character restriction for user ID and password to support more robust security authentication processes. This enhancement enables security officers to define complex password rules that align with their security and compliance requirements. User IDs have also been expanded to improve the end-user experience when signing into JD Edwards.

WOW – this is awesome.  Not so great for myLunch – but great!!!

The following content describes changes to security implemented with Tools Release 9.2.

 

Security Features

1. User Defined Object Security

Tools 9.1: Not applicable

Tools 9.2: Administrators can enable or disable the user defined object (UDO) features, as well as set up security for viewing, creating, and modifying individual UDOs.

EnterpriseOne provides UDO security features in the Security Workbench to enable administrators to control:

  • Which UDO features are available in EnterpriseOne.
  • Who can create UDOs for their own personal use.
  • Who can request to publish (or share) UDOs with other users.
  • Who can view/use shared UDOs created by other users.
  • Who can modify shared UDOs created by other users.

Action: Enable access to the user defined object security and administration applications, then set up security for user defined object features and user defined objects.

Documentation: JD Edwards EnterpriseOne Security Administration Guide

Managing Security for User Defined Objects

2. Secure FTP (SFTP) for Media Objects

Tools 9.1: Only non-secure FTP is available.

Tools 9.2: Secure FTP (SFTP) for media object access on the HTML Server and Business Services Server is configurable using Server Manager.

Action: Oracle recommends using SSH file transfer protocol, otherwise referred to as Secure FTP (SFTP), for accessing media objects as a more secure alternative to FTP. When EnterpriseOne is configured to use SFTP for media objects, users can securely upload, download, and delete media objects.

Documentation: JD Edwards EnterpriseOne Security Administration Guide (for HTML Server)

JD Edwards EnterpriseOne HTML Server Security

Business Services Server Security

3. Enhanced Database Security

Tools 9.1: All tables are created and shipped with PUBLIC ALL authority.

Tools 9.2: For an installation, all tables delivered by the Platform Pack installer are locked down.

Action: To enable you to maintain the security on the tables, you must set up the security definition using P986117 (signed into JDEPLAN) before running the Installation Workbench.  Any new tables that the Workbenches create (for example the TC Workbench or the Environment Workbench) will be created according to the rules in F986117.

Documentation: JD Edwards EnterpriseOne Security Administration Guide

Managing Data Source Security

 

Oracle Product Features

Access the Oracle Product Features tool using your Oracle Technology Network login to explore a comprehensive list of features and enhancements introduced with each release of the JD Edwards EnterpriseOne and JD Edwards World products.  View information by release or product area. Use the Compare Releases option to review product changes introduced since your last update.

Viewing all 541 articles
Browse latest View live