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.
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.
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:
The list is loaded with a simple button press.
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:
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:
Which takes you to:
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:
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.
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}
[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:25282 aubdc00-jwb01p:62726 ESTABLISHED TCP 10.38.144.5:64291 aubdc00-jwb01p:62740 ESTABLISHED TCP 10.38.144.5:64302 aubdc00-jwb01p:63110 ESTABLISHED TCP 10.38.144.5:64454 aubdc00-jwb01p:63097 ESTABLISHED
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.
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.
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.
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.
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
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.
Lets take type 5 Change confirmation, what is this and what does it do?
This enables you to give a user a kind of “warning” on particular actions of user definable forms and / or applications.
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!
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!
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!
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!
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 * -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!
I’ll tell you more along the way, but above is good for getting your ESU history and architecture onto the new dep server.
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.
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
So we can then go to OCM, to find out how these are used:
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;
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.
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.
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.
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).
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:
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:
This made me very happy and allowed me to create some crazy scripts to move all this data from the 400 to oracle.
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:
Which can been seen here – when looking at the application definition in weblogic console
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!
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.
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.
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.
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.
Run the script
And in 1 second, you have your many values in data selection!
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.
JDEdwards | OneWorld | EnterpriseOne Application Releases | |||||
---|---|---|---|---|---|---|---|
Application Release | XE/ERP8 | 8.10 | 8.11 | 8.11 SP1 | 8.12 | 9.0 | 9.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 |
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 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.
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
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)
Tied of tried to be honest…
Went to delete and install the local engine – look how helpful OUI is! it’s funny!
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'
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:
The tools enhancements are categorised under 4 main headings:
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:
My comments: These all exist, but I think that the management has been made more consistent. See below:
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!
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.
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:
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
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
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
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.