Monthly Archives: August 2009

Building a People-Centered Culture in a Digital-Age Environment

Building a People-Centered Culture in a Digital-Age Environment

People-Centered Culture ImageBuilding a People-Centered Culture in a Digital-Age Environment

Fist Published in 2005 By Bryant Avey

Copyright © 1997 – 2009, InterNuntius, Inc. All rights reserved.

As we move into the Digital Age, organizations must reevaluate traditional infrastructures, redesigning themselves to move at “the speed of thought,” rather than the lethargic pace of the Industrial and Information ages.

Over the past 20 years, the American economy has undergone a radical shift from an industrial economy to a “techonomy.” As we move into the Digital Age, a phrase coined by Nicholas Negroponte, founder and director of the MIT media lab, organizations must reevaluate traditional infrastructures, redesigning themselves to move at what Bill Gates calls the speed of thought, rather than the lethargic pace of the Industrial and Information ages. Digital speed is the result of a “connected” planet. It exerts a sense of urgency in the need to reevaluate traditional infrastructures, because in spite of all the dialogue on how to change the way corporations are run, many organizations still are mired in Industrial Age methods.

Compelled by market pressure and flavor-of-the month consultant philosophy, corporations have been encouraged to structure and restructure business systems in search of more profitable and more efficient ways to run their businesses. However, in the Digital Age, or D-Age, employees are shunning traditional organizational structures in favor of those that allow them to make a difference. D-Age workers are hungry for opportunities to contribute to the purpose and to help shape the structure of their organizations. In order to retain and continue to attract top talent, organizations need to establish a D-Age infrastructure.

Perhaps the greatest failure of the last decade has been the helter-skelter rush to embrace any prevailing doctrine of change, so that organizations could claim to have cutting-edge style management. D-Age infrastructure cannot and should not be based on hastily thrown-together methodologies and best-of-breed benchmarks.

There are many reasons to use care in constructing corporate infrastructure. A number of the infrastructures based on the traditional models (i.e., paternalistic, leader as a hero, and command and control) have fallen into disfavor because they make hiring and retaining good employees more difficult.

The D-Age marketplace belongs to the relentless. Discovering and holding onto talented workers can mean the difference between corporate failure and a plump bottom line. Furthermore, when companies jump feet first into popular management theory without testing it against the confines of their own corporate culture, the results tend to be less than satisfying. Changing the infrastructure should not be something a company can purchase from a one-size fits-all plan. Accordingly, the first rule of effective infrastructure is defining values. Values are important because they provide a foundation and define structure. Values also bind employees together and generate a sense of enthusiasm, which is the only way to produce outstanding results. A D-Age infrastructure requires that organizations focus on four fundamental areas known as IBET:

1. Incentives.

2. Benefits.

3. Education.

4. career Track

These four areas provide a flexible framework for creating a shared sense of purpose in the workplace, while meeting the demands of a digitally paced marketplace. Each component in IBET plays an important role in achieving this objective.


Incentive is perhaps the most misunderstood component of the four elements of D-age infrastructure. A great deal of the confusion comes from the way the word is used. Is incentive the same as reward? The proverbial carrot leading the donkey? Or is it self-direction joined with self-managed motivation? Most organizations, understandably, blur the lines between the two extremes because the definition is so hard to pin down. The discussion then centers on whether an organization can provide extrinsic motivation or whether motivation must come from an intrinsic source.

Incentive motivates employees by transferring purpose and vision. It is achieved through communicating the following:

  • Organizational purpose.
  • Clear definition of the employee’s role within the organization.
  • Communicating the importance of that role through recognition policies.
  • Strong corporate culture.

Defining the organizational purpose and the importance of the employee’s role within that purpose is vital to creating motivation. Purpose is an intrinsic motivator. It answers the question “Why?”

Studies have shown that even slight modifications in employee environment can create short-term change. For example, employees will work harder for the promise of a promotion or to meet a deadline. But intrinsic motivation comes from a genuine belief in the importance of the employee’s role in the purpose of the organization.

Although intrinsic motivation is the result of purpose, research in workplace motivation clearly indicates that employees will pattern much of their behavior on what the company rewards. Employees learn company values by observing which activities are rewarded and which are punished. It is important to understand that rewards don’t compensate for creating an authentic culture in which intrinsic motivation exists.

A competitive edge cannot be sustained through the sole use of extrinsic incentives. For years, companies have been focusing on motivating employees by offering rewards, while ignoring the more significant, high-level motivator—communication of purpose.

A good example of how extrinsic rewards can backfire is the practice of giving annual or quarterly bonuses. When a bonus is given in this manner, it is no longer a reward, it becomes a benefit. Even if the bonus is based on performance metrics, employees will feel entitled to it, thereby taking the bonus for granted. If the bonus is not given because of unmet objectives or a change in the reward policies, employees will feel demoted or punished. To be effective, rewards must be clearly defined, equitably instituted, and objectives-based.


Benefits are not as misunderstood as incentives, but often lack relevance and creativity. Benefits are desirable goods and services that can be given, acquired, or earned. They are to be taken advantage of and taken for granted. Benefits are different from incentives because mass participation is encouraged and measured. In the IBET system, benefits brand the organization by creating a clear identity and unique loyalty. In addition to branding, benefits connect individuals with the advantages inherent in a company’s purpose. Benefits reflect a commitment to employees, which, in turn, compels a sense of loyalty and ownership within an organization.

There are several measures for the effectiveness of benefits in the organizational infrastructure, the most accurate being the level of participation by the audience to which the benefit is offered. If there is little or no participation by employees of a particular benefit, it should be dropped.

Besides participation, benefits should create an environmental advantage for an organization. The most difficult aspect of developing a benefits program is that it must be developed from the employee’s perception of value. Benefits must be marketed to employees so they can feel enticed into the program. Benefits reflect corporate values and may vary depending on the organization’s purpose, vision, and plans.


According to Alvin Toffler, author of Future Shock, “The illiterate of the future will not be the person who cannot read. It will be the person who does not know how to learn.” Continuous learning is ageless. Organizations can expect its relevance to grow as a D-Age value. In fact, most large corporations have adopted continuous learning as a core skill. Even so, many companies are still unsure of how best to institute an effective learning program into their organizations. Utilizing training conventions from the Industrial Age is a recipe for failure in the D-Age because it does not involve learning. Traditionally, organizational learning has been content-driven, often leaving out the most important element in the learning process—purpose. In the D-Age infrastructure, education has a four-fold purpose:

  • To transmit and extend corporate values.
  • To educate in methodologies and technique.
  • To generate the conception of new ideas.
  • To communicate paradigm shifts.

The D-Age tools of learning focus on process-utilizing methods such as systemic mentoring, scenarios training, learning extension, and purpose illustrations. Learning occurs by acting and interacting. Companies should make room for trial-and-error experiences that are passed along the organization because it allows employees to learn the best methods for solving problems. In addition to teaching techniques and methodologies, transmitting corporate values is vitally important to a corporate education program.

Teaching Corporate Values

Training based solely on transferring content is a restricted view of learning. This narrow viewpoint prevents organizations from using training as a strategic communication tool capable of transmitting cultural values. When corporate values are emphasized as part of training, they can be translated into meaningful employee action.

Teaching Methodologies and Techniques

Training methodologies and techniques is another extremely important aspect in the IBET infrastructure. Concepts must be taught in tandem with skills and then married to action. The key is to get individuals to the point of doing. To accomplish that, employees have to know how and why things work, be shown examples, then be allowed to experiment and apply the knowledge within the context of their areas of responsibility.

Training scenarios should be based on the purpose of learning, the structure of learning, the content of the learning, and the context of learning. In the Industrial Age, training focused primarily on instructor-led coursework where students listened and took notes. Learning was the responsibility of the student and content changed very slowly. In the D-Age environment, classroom teaching works for introducing core concepts, but does not allow for dynamic learning. To be dynamic, it must be interesting, entertaining, and experiential.

Generating New Ideas

The best learning environment for employees is give-and-take. Content can be taught, but the same content is open to discovery and questions. Are there better ways to achieve an objective? Can quality be improved? An open learning environment allows organizations to view the learning process as a form of knowledge-discovery and management. Learning results can be collected and reused. Knowledge harvested from learning sessions can be used as a benchmark for generating corporate initiatives, product or service changes, and identification of marketplace trends before they become fact.

This knowledge-discovery process models the marketplace in that businesses often adopt information from colleges and universities. However, in the D-Age, organizations have little time to wait for direction from institutes of higher learning. In fact, D-Age savvy companies are pushing colleges and universities to transform their infrastructures to keep pace within the digital marketplace.

Career Track

The final component of the IBET philosophy is career track. To inspire motivation in today’s flat organizations, many companies now use career tracks. Career tracks allow employee movement between groups, functional areas, and projects. This horizontal movement creates the opportunity for cross-functional training and understanding. It allows employees to be compensated based on the value they bring to a project, not only on the role they take within an organization.


To retain employees and maintain a competitive edge, companies must change how they view their most valuable asset—the employee. Unfortunately, some companies still see employees as liabilities, detracting from bottom-line profits. An appalling example of this archaic attitude recently occurred in a strategy meeting at a major national consulting firm. The CEO, in an address to employees on the partnership career path, informed them that they were “indentured servants.” He then encouraged the senior-level consultants to work harder to become partners, thereby earning their way out of “slavery status.”

This organization understood the importance of infrastructure. They had the carefully structured message, the benefits program, the incentives, and even a surface learning program. However, what they lacked was authenticity. They did not understand that the most important result from the D-Age is that a company must see the true value of good employees. The entire organization and career path of this company was structured around a value system which elevated profit over employee. Needless to say, most of the group on the partnership path eventually left the organization, some of them to work for competitors, others to start their own consulting firms, and many to organizations that will never hire that particular consulting firm.

The D-Age is characterized by fierce competition for top employees. More than ever before, good employees are examining every aspect of an organization’s infrastructure to avoid situations like the one outlined above. A company that uses care in shaping the four areas of infrastructure, incentives, benefits, education, and career track, and applies them with authenticity, will find the hiring and retention of top employees much easier in the D-Age.

Copyright © 1997 – 2009, InterNuntius, Inc. All rights reserved.



Tags: , , , , , , , , , , ,

How to search JDE EnterpriseOne Data Dictionary from SQL

The Issue

The JD Edwards EnterpriseOne database does not contain any table or field name aliases with meaningful English descriptions. This lack of descriptions creates an issue for application and software developers in accessing the Table File Definitions and Field Descriptions contained in the JDE Data Dictionary. Without access to the table descriptions and the field descriptions, developers are not able to easily navigate the data needed for developing applications or reports.

Normally there are only two ways to get this information; both native methods of accessing table and field description information are inside the JD Edwards application. This requires that developers be trained in JDE to access the information they need. The first native method of access is to log into the JDE Fat Client and search through the Data Dictionary for the specific field aliases and/or table names. The second method is to pull up the Table Browser inside the EnterpriseOne Web Application, or Fat Client, and browse the data table, toggling between the field names and the field descriptions.

Most developers prefer to stay inside of SQL, or their chosen Integrated Development Environment (IDE), while maintaining access to all the information necessary to identify JDE fields and tables.  Additionally, the ability to see field lengths and data, to search for specific field aliases throughout JDE, and to to perform wild card searches for field descriptions, aliases, data types, and other information in the Data Dictionary, from the development environment, is a huge time saver.

The Solution

I have developed a simple table function, called TFD (Table File Descriptions), which allows developers to search and display table file descriptions and JDE Data Dictionary information with a SQL command inside of a query window of your chosen IDE. How it works is simple. You just type a select statement and use the TFD() function in the “From Clause”. The TFD() function will return a table result based on the table name passed in, and any additional “Where Clause” constraints.


A basic query using the TFD() function will result in a standard Table File Description result set as follows:

The statement:

select * from tfd('F4211')

Produce the following results:


A more complex SQL Statement such as this:

distinct [JDE Table], [Table Name], [JDE Field], [Item Description] 
from TFD('%')
where alias = 'UOM4'
order by [JDE Table]

Will yield the following results:


Notice that I used the wildcard character ‘%’ (percent) to show all tables where the Pricing Unit of Measure (UOM4) is used.

You can use any combination of wild cards and select statements with the TFD() function. You can also search on any field in the result set. If, for example you wanted to find all the fields in the JDE EDI tables (‘F47%’) containing the word ‘%Partner%’ in it, you could write a query as follows:

select [JDE Table], [Table Name], [JDE Field], [Item Description] 
from tfd('F47%')
where [Item Description] like '%Partner%'

The result would be:


As you can see from these few examples, the TFD() function can save time in development by making JDE object names and descriptions visible to the SQL, VB, C#, or Java integrated development environments. Developers can save time finding which fields or tables contain the data they need, and begin making sense of the cryptic JDE alias names.

The code

Simply copy the following code and execute it in the IDE of your choice. I used SQL Management Studio to develop and create the function. Once the function has been created in the JDE database, it’ll be ready to use.

Note: you’ll have to change the schema names and database names to match your JDE EnterpriseOne environment.

GOCREATE FUNCTION [dbo].[tfd] (@tbl varchar(99))
-- =============================================
-- Written by Bryant Avey, InterNuntius, Inc.
-- Provided free "As Is" with no warranties or guarantees
-- I just ask that you keep these comments in the function, if you use it.
-- The complete article describing this function can be found at: 

-- Description: Retrieve Table and Field Descriptions for any JD Edwards Table
-- Use: execute this function by passing in the table name as a parameter:
-- select * from tfd('F47012')
-- you can also use it to find where fields are used:
-- select * from tfd('%') where alias = 'UOM4'
-- =============================================
RETURN (       
-- Get the table field definition data
        select "JDE Schema", "JDE Table", simd "Table Name",
        colorder "Field Sequence", "JDE Field",
        f9210.frdtai Alias,
        frclas "Data Class",
        frdtat "Data Type",
        frdtas Size,
        frdtad "Decimals Stored",
        frcdec "Decimals Displayed",
        frowdi "Item Description",
      --frdsca "Dictionary Description",
        length SQLlength,
        prec SQLprecision,
        isnullable SQLnull
        from sysobjects
        join syscolumns on =
        join jde812.dd812.f9210 on substring(,3,99)
                                 = f9210.frdtai
        join jde812.ol812.f9860 on = siobnm
        join sys.schemas on sysobjects.uid = sys.schemas.schema_id
        where like @tbl and sysobjects.xtype = 'U'

Let me know if this function proves useful to you. I welcome the feedback.


Posted by on August 17, 2009 in TechKnowledgy Articles


Tags: , , , , , , ,

How to convert EnterpriseOne (JDE) Julian Dates


If you’ve ever worked with Oracle/PeopleSoft’s EnterpriseOne ERP system (also known as JD Edwards or simply JDE) you’ll quickly find that dealing with dates from the database is a bit challenging.  EnterpriseOne stores all dates in the system in Julian Date format.  EnterpriseOne has a lot of dates in every table.

The Julian Date in EnterpriseOne goes back to the days before EnterpriseOne was called EnterpriseOne; back when it was just JD Edwards and it ran on an AS/400 (now called an iSeries or Series i).  Back then, disk space (DASD) was a premium.  By storing all the dates in 6-digit Julian format, the numbers could be packed (compressed) to save table or database space.  Additionally, since Julian Dates are in a fairly simple numerical form, it was easy to develop routines and functions to add, subtract, and otherwise calculate dates.

Over the years, disk space has turned into a commodity.  Modern computer languages and SQL  can easily deal with date calculation.  But EnterpriseOne data is still in this Julian Date format.   So how do we deal with it, and how do we get it converted into a normal datetime data type?

This article will cover how to create and use two SQL functions to convert Julian dates to Gregorian dates and then to convert Gregorian dates to EnterpriseOne Julian format.  Many of my clients use these two functions for SQL Server Reporting Services (SSRS) Reports, and various EDI interfaces, and XML feeds.  These two functions are valid on any version of JD Edwards including World, OneWorld, XE, or the latest version of EnterpriseOne.  If you want to use the functions on World, or directly on an IBM Series i, you’ll need to do a bit of syntax tweaking.  If you’re accessing the Series i (AS/400) from SQL Server, then this function will work perfectly for you.

EnterpriseOne Julian format

All versions of JDE use a Julian Date format as follows: CYYDDD where C = Century; YY = a 2 digit year; and DD = the 3 digit number representing the day of the year (1 through 365 or 366 days on a leap year).  The Century is either a 1 or 0 depending on whether you’re using year 2000 + or if you’re using dates in the 1900′s.

For example, the Gregorian Date 01/01/2009 would be Julian Date 109001 where 1 = century 2000, 09 = the last 2 digits of the year 2009; and 001 = the first day in 2009. Similarly 12/31/2009 would be represented as 109365 where the only change is the day number being 365 to represent the last day in 2009.

Note: A value of zero(0) in JDE Julian date format represents 12/31/1899 and 01/01/1900 is the numerical value 1 in Julian format.

Converting Julian Dates to Gregorian – Date J2G( )

The first function we’re going to write is one called DateJ2G() meaning “Date Julian to Gregorian”. This function has two parameters, one parm for the Julian date you wish to convert, and one parm for the format style code, which represents the format you want your Gregorian date.  The DateJ2G() function will convert the date to any standard SQL Server formatted date style.  A complete list of format styles can be found at

Here’s the code to create the function:


RETURNS varchar(20) AS  
--Written by Bryant Avey, InterNuntius, Inc.
--Provided free "As Is" with no warranties or guarantees
--I just ask that you keep these comments in the function, if you use it.
--The complete article describing this function can be found at:

--This function takes a JDE Julian Date and returns
--a varchar date in the format style you specify
--To us simply pass in the JDE date and the style code
--Style codes can be found at 

--For Example: select dbo.DateJ2G(sddgj,101) from f4211
--would return the JDE date in the format of 02/29/2008.
--Select dbo.DateJ2G(108060, 1) = 02/29/08
--Select dbo.DateJ2G(109060, 107) = Mar 01, 2009

--Format codes are standard SQL 2005 Date Convert codes.
--Conversion codes can be found here:
DECLARE @sqldate datetime
set @sqldate =
 dateadd(day,cast((1900000 + @JDEDATE)%1000 as int)-1,(cast((
 cast((1900000 + @JDEDATE)/1000 as varchar(4)) + '-01-01')
 as datetime)))

RETURN (convert(varchar(20),@sqldate,@FORMAT))

To use the DateJ2G function, just pass in a date and style format as described in the comments contained in the above code.

Converting Gregorian Dates to Julian – DateG2J( )

The next function will convert any standard formatted Gregorian date string to a JDE EnterpriseOne Julian date.

Here’s the code to create the DateG2J function:

CREATE FUNCTION [dbo].[DateG2J] (@Geogian_in datetime)
--Written by Bryant Avey, InterNuntius, Inc.
--Provided free "As Is" with no warranties or guarantees
--I just ask that you keep these comments in the function, if you use it.
--The complete article describing this function can be found at:

--This function takes a varchar gregorian date and returns
--a Julian JDE Date
--To use simply pass in the string date

--For Example: select dbo.DateG2J('02/29/2008')
--would return the JDE integer date of 108060.

--Date input formats are standard SQL 2005 DateTime values.
--Any validly formated date string will work such as 'feb 29,2008' to get 108060.

declare @JulianDate_out INT
declare @Century INT
declare @YY INT
declare @DayofYear INT

 Select @Century = case when datepart(yyyy,@Geogian_in) > 2000
 then 100000 else 0 end

 AS VARCHAR(4)), 3, 2)) AS INT)

 select @DayOfYear = datepart(dayofyear, @Geogian_in)

 SELECT @JulianDate_out = @Century + @YY * 1000 + @DayofYear


To use the DateG2J function just follow the examples outlined in the code above.


As you can see, there are only a few lines of SQL code needed to convert between Julian and Gregorian dates in JDE EnterpriseOne.  I used February 29, 2008 (leap year) dates in the examples to show that the functions correctly handle leap years.

Let me know how this has worked for you.


Posted by on August 16, 2009 in TechKnowledgy Articles


Tags: , , , , , , , , , , , , , ,


a blog by Bryant Avey

Bamboo Innovator

R.E.S.-ilience in Value Creation 《竹经:经商经世离不得立根创新》

On Purpose Magazine

Inspiring, Educational, Enlightening and Entertaining Content of Value


The real-time, continuous word tournament!

Ricky's Bing Maps Blog

A blog focused on developing applications with Bing Maps

a blog by Bryant Avey

JJ's Blog

Microsoft Business Intelligence and SharePoint in Action

SQL Server Rider

Database, SSIS, SSAS, SSRS, PowerPivot, Spatial

Nishant Rana's Weblog

Everything related to Microsoft .NET technology


SharePoint, ProjectServer and Microsoft Platform

Connection Agent

What do you need? Ask Steve!

Choiceology Blog

Just another weblog

Tales from the IT Side

Understanding SharePoint and how it interacts with your organization

Reckless Abandon

...with all your heart, soul, mind, and strength


Serving up the hottest dishes on

Fortune Tech: Technology blogs, news and analysis from Fortune Magazine

Fortune's tech team offers analysis and perspective on the world's most important developments.


Get every new post delivered to your Inbox.

Join 1,771 other followers

%d bloggers like this: