How To Get A Disk Usage Report From IBM iSeries

Below are the steps that I used to get a disk usage report from our IBM iSeries which we used to find and track the large files in our JDE EnterpriseOne data library:

  1. Type: GO DISKTASKS and press [Enter]. Then choose option 1 in the screen below:
    image thumb How To Get A Disk Usage Report From IBM iSeries
  2. Choose option 1 for when to collect the information:
    image thumb1 How To Get A Disk Usage Report From IBM iSeries
  3. On the next screen type in *CURRENT in both the Date and Time fields and press [Enter].
    image thumb2 How To Get A Disk Usage Report From IBM iSeries
  4. Press [F12] twice to get out of the Collect Disk Space Information screen.
  5. Do a WRKACTJOB and find a job similar to the one highlighted below:
    image thumb3 How To Get A Disk Usage Report From IBM iSeries
  6. The job may run for several hours depending on the configuration of your system.
  7. When the job above has finished, go to the Disk Space Tasks menu again by typing GO DISKTASKS. This time, choose option 2: Print disk space information.
  8. On the next screen choose “Library” by putting a 1 in the field as in the image below:
    image thumb4 How To Get A Disk Usage Report From IBM iSeries
  9. Enter a “Y” in the next field to indicate that you want to include info about objects in libraries.  Then press [Enter].
  10.   Fill in the library name that you would like to get information about as in the image below:
    image thumb5 How To Get A Disk Usage Report From IBM iSeries
  11.    Finally, find the report using System i Navigator and drag it to your desktop:
     image thumb6 How To Get A Disk Usage Report From IBM iSeries

I hope that helps you find the large objects in a library on an IBM iSeries.

Reference: IBM GO DISKTASKS Overview

How to Increase Your JD Edwards Performance with the New UI on 9.1.4

Gustavo Barizon is a great guy and a very knowledgeable CNC Admin.  He works for cd|group and is hosting a webinar on Friday.  I suggest you check it out.

Join CD Group for this JD Edwards Users Webinar to learn how to use the latest and greatest enhancements from JD Edwards’ User Interface 9.1.4.  In less than one hour, you will see how to: 

  • Increase your performance using CafeOne and E1 Pages 
  • Take advantage of Watchlists to pro-actively engage your processes 
  • Use the context-sensitive help to get insights on your procedures 

You will also  be able to see the iPad app in action and learn about what’s new in mobility solutions for JD Edwards. Don’t miss this opportunity to increase your knowledge about JD Edwards! 

Title: How to increase your JD Edwards performance with the new UI on 9.1.4
Date: Friday, September 12, 2014
Time: 12:00 PM – 1:00 PM EDT 
Speaker: Gustavo Barizon

Space is limited.
Register for this webinar now.

Quick SQL To List E1 Roles With Description

Here’s a quick SQL to get a list of E1 Roles and their descriptions:

SELECT AUUSER, AUROLEDESC FROM SY900.F00926

Automatically Convert EBCDIC To ASCII When Accessing A File From An iSeries Mapped Drive

When accessing log files located on an iSeries using a mapped drive the text remains in EBCDIC format.  However, by using iSeries Navigator and following the steps below, the file will be automatically converted to ASCII:

  1. Expand My Connections.
  2. Expand your connection name.
  3. Expand File Systems.
  4. Select File Shares.
  5. On the right side of the screen, right-click on the file share that will be converted.
  6. Select Properties.
  7. Select the Text Conversion tab.
  8. Select the option Allow file text conversion.
  9. Type .* (a period followed by asterisk) in the File extensions for automatic EBCDIC/ASCII text conversion: input area and click on the Add button.
  10. Click on the OK button to save the changes.

These steps can be found on IBM Document N1015165

The OCM QBE Ambush

Ok, I’ve been working as a CNC Admin for the past 14 years or so.  I’ve come across many odd and unexplainable things.  My first exposure was to JDE OneWorld Xe.  One of the most difficult issues during that time was the “fat” client hosted on Citrix and trying to control where things ran using OCMs.  So, I’ve had quite a bit of experience with the Object Configuration Manager (OCM) and how and why to set things up.

What I learned today is that I don’t know all there is to know about this seemingly simple function and the table behind it (F986101).

There is a setting on each OCM record that I have ignored in the past.  It is the “Allowed QBE” field:
 image thumb The OCM QBE Ambush

DO NOT IGNORE IT!  It will bite you when you least expect it.

There are 3 options to this setting:

  • 1 – ALL QBE Allowed
  • 2 – No QBE Allowed
  • 3 (DEFAULT) – Indexed Fields QBE Allowed

Unless there is a security requirement or performance issue, I would suggest changing all values to a 1.

You can do that with the SQL below:

 UPDATE SY910.F986101 SET OMOCM2='1' 

That right there my friends is why I have a love/hate relationship with my job as a JDE CNC Admin. The simplest little things from the least obvious place can either ruin or make your day.

How To List The Column Names Of A Table On SQL Server

We all know that most database tables in EnterpriseOne have a large number of columns. In fact, they usually push the limits of the RDBMS.

Well sometimes, you need a list of those columns for things like INSERT statements.

Below is how you can get the column names from a table in a SQL Server database:

USE JDE_PY910
SELECT [name] AS [Column Name]
FROM syscolumns
WHERE id = (SELECT id FROM sysobjects WHERE type = 'U' AND [Name] = 'F98950')

You can use either type V (views) or U (tables).

Check Windows Service Status And Restart If Necessary

Lately we have been noticing an issue where the Print Spooler service stops for some reason and users are unable to print UBE results through EnterpriseOne.  So far, we have been unable to narrow down a cause for the Spooler service to stop.

So, like any good CNC Admin, I put a band-aid on it.  I found a bat file script that I could use to check the status of the service and then restart the service it it wasn’t running. I then setup a scheduled task to run every 5 minutes.

 
ECHO OFF
for /F "tokens=3 delims=: " %%H in ('sc query "Spooler" ^| findstr "        STATE"') do (
ECHO STATE = %%H  
if /I "%%H" NEQ "RUNNING" (
   REM Put your code you want to execute here
   REM For example, the following line
   net start "Spooler"
   ECHO Spooler has been restarted
  )
)

Do you have any band-aids that you use to mitigate issues?

Unable To Check In OMW Object Or Promote OMW Project

Last week we had a developer that kept getting the following error when trying to check-in an object in OMW.  We also found that this error can happen when trying to promote a project:

saveGBRDataToConsolidated() - It could not be determined 
if the GBRSPEC record, e7426989-11ad-44f3-8697-7e7e89b4fbdd 
/ 1, exists in the repository (type = 2). Cannot insert. 

According to the Oracle support doc this error is caused by:

Corruption exists in the spec record(s) for the object related to the spec key shown in the jde.log.This could be related to an install, uninstall and then attempted reinstall of an ESU resulting in the “Insert to table F98741 failed” errors on the R98700 PDF.

There are 2 solutions given for this issue:

  1. To resolve this issue, back up the F98741 table first.  Then use SQL to remove the 198 record for EVSK:5ef15a1b-e064-11d1-9ac9-00600832fe19 from the F98741 table. Use Update Uninstall to remove all references to the ESU if it has not been applied to other environments.  See Note Document 654262.1 E1: ESU: Remove Software Updates (Update Uninstall vs. Update Clean-up) – for more details on removing ESUs.

    Delete the executable for the ESU.  Then download the ESU again.  Run the executable from the new download and apply the ESU through Software Updates application. This resolved the issue.

  2. To resolve this issue, check for the related records (F98740, F98741) for the GBRSPEC related to the spec key shown in the jde.log. Back up the table(s) where the spec records exist and delete the records to that spec key (in this case, a69a4b2e-1435-40e1-9df1-deeb8e88a605).  Reinstall the ESU to reapply the related object.

Our issue had nothing really to do with an ESU, so we opted to try solution #2.

It didn’t work… so it seemed.

We had to go through the following exercise 8+ times in order to get a successful check-in:

  1. Delete the record
     
    DELETE FROM DV910.F98740 WHERE ELEVSK='e7426989-11ad-44f3-8697-7e7e89b4fbdd'  
    DELETE FROM DV910.F98741 WHERE ESEVSK='e7426989-11ad-44f3-8697-7e7e89b4fbdd' 
    

  2. Try the check-in again
  3. Get a new GUID from the JDE.LOG

It’s not the most elegant solution, but hey, this is CNC!

Safely Delete Files From WINSXS

We started to run out of disk space on one of our production Windows Enterprise servers.  This usually isn’t a huge deal with virtual machines, however this was on the c drive.  Yes, I know those can be expanded too, however I wanted to do a little investigating before I just started dumping disk space to it.

I found that there were over 12 GB taken up by the c:\windows\winsxs directory.  I did some checking around the internet and found a blog post (Clean up Winsxs on Windows 2008 R2 after SP1 install) that provided me with a way to cleanup the WINSXS directory in a way that was supported by Microsoft:

DISM.exe /online /Cleanup-Image /spsuperseded

Now, it didn’t totally clear out the directory, but it did reduced it down to only 5 GB.