All posts by Dan Lauerman

I love to write. Articles about technology, how-to, parenting, or just life in general.

Glassfish Runtime Dissapeared in Eclipse

Warning: sizeof(): Parameter must be an array or an object that implements Countable in /homepages/22/d476722714/htdocs/teechmi/wp-content/plugins/ad-injection/ad-injection.php on line 824

Warning: count(): Parameter must be an array or an object that implements Countable in /homepages/22/d476722714/htdocs/teechmi/wp-content/plugins/ad-injection/ad-injection.php on line 831

Opening Eclipse (Mars, Java 8) today I am finding my GlasshFish Runtime missing.  I am sure this is a widespread issue at this point.  I have double checked that my GlassFish Tools plugin for Eclipse was installed and it still is.  I have a feeling I am going to be waiting around for a fix at this point.  Not a good start to trying out GlassFish for a new interop web project I am working on to interface with our archaic JDE implementation!

Best Prepaid Phone – LG Optimus F7

I have Boost Mobile and I recently decided to try a different phone.  I didn’t like what I had tried so far and wanted a phone that would provide a decent upgrade.  I didn’t want to pay the price of the Samsung Galaxy series.  I also thought the 4G service that Boost started offering would be a nice addition.  I thought I would try the LG Optimus F7.  I am truly amazed at this phone.  I have no complaints and it was a great price.  I scored it for $150 because my local Best Buy had a price mistake on the floor.  I think they changed the price to the correct one after I bought it.

Having used this phone I would finally recommend Boost more than I tended to before.  At 18 months in, I now have unlimited calls, text and data for $40 a month. That’s a great deal.  I have never been this happy with Boost. They have managed to make me a customer that will stick around.  I was about ready to consider other options when I purchased this phone.

Although this phone has a big screen, battery life is good. The quality of the screen is also good, giving a very competitive viewing area for the price. I have purchased a Bluetooth keyboard to do some of my writing on my phone now since it performs so well.

Great camera, speed, responsiveness, and design. Can you tell I like my new phone?

If I could change anything I would just get a newer version of Android on it.

EnterpriseOne F4211FSEditLine – Price and Cost

I spent another week of my life struggling through the F4211FSEditLine and End Doc business functions. I was having trouble keeping the price/cost in sync between the ST and the OT when modifying the order through the business functions.

According to Oracle documentation, changes must be made to the ST in order to have the OT take them. Changes first made to the OT do not sync back to the ST. Fortunately, I wasn’t doing this so it was not my problem. It was appearing almost as though the OT was ignoring the product cost and instead trying to figure out the unit cost by dividing the extended amount (which was from prior to the quantity modification) and coming up with a calculated unit cost that wasn’t accurate.

I am embarrassed to say that I spent almost my entire last work week troubleshooting this issue. I have created a JDEDebug.log file to XML converter (available on this site at JDELOG2XML) which helps my troubleshooting efforts tremendously.

I found a real simple answer to my problem and will show some of my lack of training in JDE as a result. In the F4211FSEditLine business function, there are two parameters I had wrong. They were szCMProgramID and szCMVersion. I was passing in the program that was calling the business function instead of the order entry program and version that I wanted.

As soon as I corrected this, my price/cost was updating correctly because I was now using appropriate settings for our system based upon the processing options set in P4210.

Proper szCMProgramID and szCMVersion usage in F4211FSEditLine.
Proper szCMProgramID and szCMVersion usage in F4211FSEditLine.

Change JDE Debug on the Fly

Like me, if you work with JD Edwards than you probably dream about turning Debug on and off in JD Edwards EnterpriseOne on the fly. Too often it is unacceptable to have to log out of JD Edwards and back in. Also, leaving debug mode on all the time is a performance issue.

There is a business function in JD Edwards that allows you to turn debug on and off on the fly. This business function is best utilized in an interactive application that can also tell you what mode the session is currently in.

JD Edwards Business Function to Change Debug Settings

The business function that can change the log setting is located in B9600482. In the actual code for B9600842 there is a function call ChangeLogSettingOnFly which invokes the changeLogSettings built in API function. This function takes two parameters. The first one specifies the parameter. In this case it is “Output”. The second parameter sets the value. In the case of this setting, a “1” means that debug is on and output=file and “0” means output=none.

If you are simply calling B9600482/ChangeLogSettingOnFly from your application, use an EV01 data type variable and pass in a “1” to turn on debug and a “0” to turn it off.

JD Edwards Business Function to Check Debug Settings

If you simply want to check whether or not debug mode is on and output is to file, you can call B9600482/ChangeLogSettingOnFly and pass in a “2” and it will return a “1” to the same variable if debug is on or a “0” if debug is off.


You can either program this function to turn debug on and off in a specific application that you would like to trace, or you can create and application that turns it on and off globally for a user. This simple application is seen in the screen shot below. On form load, it calls B9600482/ChangeLogSettingOnFly to check the current setting. Then, the event rule code for the button click toggles back and forth between passing a “0” and a “1” into the function.

JDE Screenshot that shows a toggle button to implement B9600482 - ChangeLogSettingOnFly function.
This application simply toggles the JDE debug logging on and off in JDE EnterpriseOne

Use this simple process to change JD Edwards debug on the fly in JD Edwards EnterpriseOne.

Hexidecimal value 0x00 is an invalid character – SQL Server Setup

Are you getting an error during SQL Server 2012 setup referring to a hexidecimal value 0x00 is an invalid character? It appears this error comes from the pre-existence of the MSDE installed on the same system. The screen shot below shows the error on a machine where MSDE is installed and SQL Server 2012 Express Edition is attempting to be installed. The solution was to simply remove the MSDE (Microsoft SQL Desktop Engine) prior to installing SQL Server 2012.

Remove MSDE to Allow Installation of SQL Server 2012

Simply uninstalling the MSDE through Control Panel solved this issue.

Error during SQL Server 2012 setup when MSDE is installed

PHP Include vs Require

To include or to require? To include_once or require_once? In designing web pages with PHP there is a good chance you will encounter the need to include other PHP script files or HTML files. Good web design would include a template of some sort which allows pages to share a header, footer, sidebar or other similar facets. In PHP there are several commands that help you include code from another file. These are include, include_once, require, require_once.

Check out the following code segments to see how each option would work.

PHP include

     // include the code from header.php whenever encountered
     include "header.php"; 

PHP include_once

     // include the code from header.php only the first 
     // time encountered
     include_once "header.php"; 

PHP require

     // include the code from header.php whenever encountered and fail 
     // if it is not found. Throws fatal E_COMPILE_ERROR.
     require "header.php" 

PHP require_once

     // include the code from header.php only the first time encountered 
     // and fail if it is not found. Throws fatal E_COMPILE_ERROR.
     require_once "header.php" 

Choosing the correct method is important. If you have a page where you must determine if a user is logged in and that routine is in an external file, then you would want to make sure to use require or require_once to make sure that the page doesn’t execute without that validation passed. If you have a page that displays something relatively unnecessary then an include or include_once might be sufficient.

Create a QR Code with Javascript

I was browsing around the web and found something I never even thought about. How about creating QR codes on your website. Obviously JavaScript would be a great tool set to implement this on. I am going to work on a tutorial of how to create QR codes on WordPress and update this soon. This is the benefit I see. You are on your laptop browsing through a traditional browser and you want to transfer that session on a web page from your laptop to your mobile device. What better way than your web session being translated into a QR code?

I will post javascript later once I have the tutorial ready. For now, check out these resources that I have found to start my journey.

If you have Adobe InDesign, they make some libraries available for you. Check out the Adobe Blog Article.

Here is an example to do this in pure JavaScript with some JQuery Libraries. Pure JavaScript QR Code Generator with JQuery.

Active Directory Bulk Manager Update in PowerShell

If you run an organization on Active Directory, it is inevitable that you will have turnover occur that requires a bulk update to the manager fields in Active Directory. You can do this by hand, but that is now what great IT staff does. Great IT staff find a way to script this process knowing they will end up doing it over and over again. Here is a very simple way to do a bulk manager update in Active Directory using PowerShell and Excel.

Build the List of Updated Managers in Excel

First we need to put together an Excel file that holds the user ID and the new manager ID. You can get this list however you would like, but putting it in Excel as seen in the screen shot will get a good start towards making this data available to loop over in PowerShell.

Excel file showing user ID and manager ID columns
Build our list of users to update the manager field in Active Directory.


PowerShell Script to Update Active Directory from Excel

Here is our PowerShell script. It is fairly simple. Check the comments to see what the code is doing.

#create excel object
$excelFile=New-Object -ComObject "Excel.Application"
#set file path
$file = "M:\My Documents\Projects\Set Manager\User-Manager.xls"

#open excel file
#set worksheet to the active one

#set our start row
#get the first userID and managerID values
$userID = $excelWorkSheet.Range("A$currRow").Text
$managerID = $excelWorkSheet.Range("B$currRow").Text

#check if userID and managerID have values(loop will die when either one encountered is blank
IF ($userID -and $managerID) {
	do {
	#make the change
	Get-ADUser -Identity $userID | Set-ADUser -Manager $managerID
	echo "$userID now has manager $managerID"	
	#increment the row
	#get the next userID and managerID
	$userID = $excelWorkSheet.Range("A$currRow").Text
	$managerID = $excelWorkSheet.Range("B$currRow").Text
	} While ($userID -and $managerID) #loop as long as userID and managerID have values
#close workbook

Priorities That Win

No one can achieve greatness on their own.  Greatness is not self-designated.  It is recognition of being great by another entity.  Whether it is by one person or the masses, greatness is a viewpoint not a title.  A father who loves his child makes the father great in his child’s viewpoint.  A woman who helps the poor is considered great to a multitude of people.  A man who consistently puts others before himself is considered great in God’s kingdom.  How are all these things connected, you ask?  Greatness comes from placing priority on others instead of yourself.  That is what we are calling priorities that win.

Prioritize Others

I work in a professional setting and I asked the director of our area what I need to do to succeed in my workplace.  He is a man I look up to and that is regarded very highly in our company.  He told me that I should focus on helping others succeed.  Wait a minute?!  Shouldn’t I be proving that I know more than others do, can handle whatever is given to me and am the most dependable?   He obviously does not take the “throw the others under the bus” approach.  For me to succeed in his mind, I had to put others first.  That is the way he is succeeding and earning people’s trust, and that is in a place of business.

How much more should we take it serious when Jesus tells us that the first will be last and the last will be first?  When I have engagements coming up that I am not looking forward to but that are meaningful to others then I try to remember that statement made by Jesus.  If I am all about what God is about then I must put my priority on others.  I should take every chance I have to show Christ’s love instead of doing something pleasing to me.

It is easy to become protective of your free time as if it is really yours.  If you believe in God and what the Bible says, then the idea that this life is nothing more than a vapor should occupy your mind and become a filter on any choice you make.  We are here to worship God and to be on a quest to not let anyone we know suffer through eternal separation from him.

Do you really understand why we want to bring people into God’s kingdom?  Many people see hell as a place of suffering and they wouldn’t want anyone they know to experience that.  We may even try to imagine how bad it could really be.  The problem is it is not the suffering in hell that makes it so bad, but the separation from God.  To physically suffer and still be with God would be better than to not suffer but be separated from God.  Unless we truly believe that, our efforts to add to his kingdom are missing perspective.

Do you want priorities that win?  Then it comes back to God’s greatest commandment.  Love God and love others.  To do that, we must make God a priority and we must make others a priority.  What that means for our vapor of a life here on earth is leading people to worship God for his sake and leading people to know God for their sake.  Keep these reasons in mind in everything you do and you will have one winner of a life on this earth serving God and others.  Don’t just save someone from hell, turn them into a worshiper of your creator!  For yourself, don’t waste your time on earth chasing after things that don’t matter.

It’s difficult to picture what you would have changed about your life when you know it is almost over.  It is even more difficult to place a priority on those things now if you can imagine them.  It is not something you can just do.  You need God’s help to change your priorities because you need to overcome your fallen side.  Only by God’s provision will you be strong enough to start making decisions out of a new priority placed on God and others.  You need to pray!

Talend Impossible to Initialize the Connection

Are you trying to add a connection in Talend to Microsoft SQL Server and receiving the “Impossible to Initialize the Connection” error?

In certain versions of Talend Open Studio for Data Integration, there are issues related to Microsoft SQL Server SSO.  Single Sign On (or Windows authentication) does not seem to properly work in Talend Open Studio until version 5.2.1.

In previous versions, you would have to substitute the desired pass through authentication with SQL Server authentication.  Beginning in Talend Open Studio 5.2.1 it appears to finally be corrected.

If you haven’t updated yet and desire to use SQL Server connections in Talend, then now is the best time ever!