<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
xmlns:rawvoice="http://www.rawvoice.com/rawvoiceRssModule/"
>
<channel>
	<title>Daniel Johnson, Jr. &#187; peo</title>
	<atom:link href="http://danieljohnsonjr.com/main/category/peo/feed/" rel="self" type="application/rss+xml" />
	<link>http://danieljohnsonjr.com/main</link>
	<description>Connecting others and telling great stories.</description>
	<lastBuildDate>Wed, 08 Feb 2012 14:55:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
<!-- podcast_generator="Blubrry PowerPress/2.0.4" -->
	<itunes:summary>Connecting others and telling great stories.</itunes:summary>
	<itunes:author>Daniel Johnson, Jr.</itunes:author>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://danieljohnsonjr.com/main/wp-content/plugins/powerpress/itunes_default.jpg" />
	<itunes:owner>
		<itunes:name>Daniel Johnson, Jr.</itunes:name>
		<itunes:email>danielj2@danieljohnsonjr.com</itunes:email>
	</itunes:owner>
	<managingEditor>danielj2@danieljohnsonjr.com (Daniel Johnson, Jr.)</managingEditor>
	<itunes:subtitle>Connecting others and telling great stories.</itunes:subtitle>
	<image>
		<title>Daniel Johnson, Jr. &#187; peo</title>
		<url>http://danieljohnsonjr.com/main/wp-content/plugins/powerpress/rss_default.jpg</url>
		<link>http://danieljohnsonjr.com/main/category/peo/</link>
	</image>
		<item>
		<title>Troubleshooting with SQL Profiler</title>
		<link>http://danieljohnsonjr.com/main/2008/06/troubleshooting-with-sql-profiler/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=troubleshooting-with-sql-profiler</link>
		<comments>http://danieljohnsonjr.com/main/2008/06/troubleshooting-with-sql-profiler/#comments</comments>
		<pubDate>Tue, 10 Jun 2008 20:51:00 +0000</pubDate>
		<dc:creator>Daniel Johnson, Jr.</dc:creator>
				<category><![CDATA[peo]]></category>
		<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">http://danieljohnsonjr.com/main/2008/06/10/troubleshooting-with-sql-profiler/</guid>
		<description><![CDATA[One of the Payroll Specialists called us today, wondering if her session in Darwin was hung up and needed to be killed. Darwin, as I may have mentioned before, is a Microsoft Great Plains Dynamics product customized for the Professional Employer Organization (PEO) industry. We have SQL Server as the back-end. The IT Manager asked [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fdanieljohnsonjr.com%2Fmain%2F2008%2F06%2Ftroubleshooting-with-sql-profiler%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fdanieljohnsonjr.com%2Fmain%2F2008%2F06%2Ftroubleshooting-with-sql-profiler%2F&amp;source=danieljohnsonjr&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_Ny-ucgJGnTg/SE72fWp2N1I/AAAAAAAAAMQ/rnCbzr21H7s/s1600-h/Picture+7.jpg"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_Ny-ucgJGnTg/SE72fWp2N1I/AAAAAAAAAMQ/rnCbzr21H7s/s320/Picture+7.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5210372837431719762" /></a><br />One of the Payroll Specialists called us today, wondering if her session in Darwin was hung up and needed to be killed.  Darwin, as I may have mentioned before, is a <a href="http://www.microsoft.com/dynamics/gp/Default.mspx" target="_blank">Microsoft Great Plains Dynamics</a> product customized for the <a href="http://en.wikipedia.org/wiki/Professional_employer_organization" target="_blank">Professional Employer Organization (PEO)</a> industry.  We have <a href="http://en.wikipedia.org/wiki/Microsoft_SQL_Server" target="_blank">SQL Server</a> as the back-end.</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_Ny-ucgJGnTg/SE72qnu07KI/AAAAAAAAAMY/LMvBc6UANmk/s1600-h/Picture+8.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_Ny-ucgJGnTg/SE72qnu07KI/AAAAAAAAAMY/LMvBc6UANmk/s320/Picture+8.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5210373030994570402" /></a>The IT Manager asked me to put a trace on her session in <a href="http://www.developer.com/db/article.php/10920_3490086_1" target="_blank">SQL Profiler</a> so that we could ascertain whether her session was indeed hung or not.  As I saw the actions scrolling on the screen, I called the Payroll Specialist and told her whatever she was doing was still processing.</p>
<p>I began examining the items in the trace to see what was going on.  For those that are unfamiliar, GP Dynamics hasn&#8217;t named their tables, views, and stored procedures in a very intuitive way.  Nevertheless, I have been able to deduce from their stored procedure naming convention the base tables involved.</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_Ny-ucgJGnTg/SE7zYcxEavI/AAAAAAAAAL4/_Bywf5sonug/s1600-h/sqlstoredproc.JPG"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_Ny-ucgJGnTg/SE7zYcxEavI/AAAAAAAAAL4/_Bywf5sonug/s320/sqlstoredproc.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5210369420278655730" /></a><br />In addition, this exercise has helped me learn and understand SQL programming better.  I usually open the procedure as a script in a Create New SQL window.  Inside these procedures that were being executed in the trace, I saw nothing more than a serious of SELECT statements.  It looks as though Darwin (or really the code behind it) is getting information from the table in groups of 25 at a time.</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_Ny-ucgJGnTg/SE7zyoqyX-I/AAAAAAAAAMA/nj_PBT0vbbI/s1600-h/sqlselect.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_Ny-ucgJGnTg/SE7zyoqyX-I/AAAAAAAAAMA/nj_PBT0vbbI/s320/sqlselect.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5210369870150131682" /></a>This particular recordset has close to 5000 rows. Getting 25 rows at a time means that it will execute this stored procedure 200 times.  If the program takes 5 seconds to execute each batch, then it will take about <span style="font-style:italic;">17 minutes</span> to go through the entire recordset.  I guess it&#8217;s no wonder that the process seems hung to the user.</p>
<p>I&#8217;m guessing that something is going on behind the scenes as Darwin is preparing and and posting a payroll.  Unfortunately, I don&#8217;t have access to the code behind it.  This may be something we&#8217;ll want to bring up with <a href="http://www.thinkwareinc.com" target="_blank">Thinkware</a>, the vendor who provides this software to us.</p>
<p><small>&#8212;&#8211;<br />Check out my other blogs:<br /><a href="http://danieljohnsonjr.com" title="Daniel Johnson, Jr. on Programming/Analysis, New Media, and being a 21st-Century Renaissance Man" target="_blank">Daniel Johnson, Jr.</a><br /><a href="http://getthatjobonline.com" title="Get That Job! for job-hunting, career development, success stories, and the like">Get That Job!</a><br /><a href="http://journeyinsidemymind.com" target="_blank" title="'Not all who wander are lost.' -- J.R.R. Tolkien">Journey Inside My Mind Blog</a><br /><a href="http://jimmpodcast.com" target="_blank" title="Mostly music, downloadable, internet radio show, with unique perspectives">Journey Inside My Mind Podcast</a><br /><a href="http://quotesblog.blogspot.com" target="_blank" title="QuotesBlog - a quotation junkie's collection of quips, witticisms, sayings, proverbs, and more!">QuotesBlog</a><br /><a href="http://twitter.com/danieljohnsonjr" title="Follow me on Twitter">Twitter.com/danieljohnsonjr</a><br /><a href="http://www.linkedin.com/in/danieljohnsonjr" title="Connect with me on LinkedIn">Connect on LinkedIn</a><br /><a href="http://www.google.com/reader/shared/00196513015510852062" title="danieljohnsonjr's Google Reader Shared Items">Interesting Things I&#8217;ve Read</a></p>
<p>Related tags: <a href="http://technorati.com/tag/daniel+johnson+jr" rel="tag" target="_blank">daniel+johnson+jr</a> <a href="http://technorati.com/tag/microsoft+great+plains" rel="tag" target="_blank">microsoft+great+plains</a> <a href="http://technorati.com/tag/sql+server" rel="tag" target="_blank">sql+server</a> <a href="http://technorati.com/tag/sql+profiler" rel="tag" target="_blank">sql+profiler</a> <a href="http://technorati.com/tag/peo" rel="tag" target="_blank">peo</a></small></p>
<div class="printfriendly align"><a href="http://danieljohnsonjr.com/main/2008/06/troubleshooting-with-sql-profiler/?pfstyle=wp" rel="nofollow" ><span class="printfriendly-text"></span></a></div>]]></content:encoded>
			<wfw:commentRss>http://danieljohnsonjr.com/main/2008/06/troubleshooting-with-sql-profiler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finding Tables for Employee Census Report</title>
		<link>http://danieljohnsonjr.com/main/2008/02/finding-tables-for-employee-census-report/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=finding-tables-for-employee-census-report</link>
		<comments>http://danieljohnsonjr.com/main/2008/02/finding-tables-for-employee-census-report/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 21:38:00 +0000</pubDate>
		<dc:creator>Daniel Johnson, Jr.</dc:creator>
				<category><![CDATA[business intelligence]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[microsoft great plains]]></category>
		<category><![CDATA[peo]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">http://danieljohnsonjr.com/main/2008/02/18/finding-tables-for-employee-census-report/</guid>
		<description><![CDATA[This is one of the posts where I describe the more technical aspects of a project I&#8217;ve been working on. The contents here are meant mainly to trigger my own memory when needed in the future. The HR department has requested a census report so that the company can shop around for benefits with other [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fdanieljohnsonjr.com%2Fmain%2F2008%2F02%2Ffinding-tables-for-employee-census-report%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fdanieljohnsonjr.com%2Fmain%2F2008%2F02%2Ffinding-tables-for-employee-census-report%2F&amp;source=danieljohnsonjr&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><em>This is one of the posts where I describe the more technical aspects of a project I&#8217;ve been working on.  The contents here are meant mainly to trigger my own memory when needed in the future.</em></p>
<p>The HR department has requested a census report so that the company can shop around for benefits with other vendors.  In typical fashion, the information needs to be laid out in such a way that none of the &#8220;canned&#8221; reports from the business system will suffice.</p>
<p>I know where to get the demographic information (employee ID, client ID, city, state, zip, salary, etc.), but this is the first time I&#8217;ve had to track down information such as premium rates, employer contribution, employee contribution, and coverage tier.</p>
<p>I sat with the HR director to find out where she&#8217;s able to see this information.  Back at my desk, I launched a SQL Server Profiler Trace, filtering to my login ID and session ID.  Then I navigated to those same screens to help identify which objects in SQL Server I need to look at.</p>
<p>From there I&#8217;ve been able to target the specific tables I need for my SQL scripts.</p>
<p><small>&#8212;&#8211;<br />Check out my other blogs:<br /><a href="http://journeyinsidemymind.com" target="_blank" title="'Not all who wander are lost.' -- J.R.R. Tolkien">Journey Inside My Mind Blog</a><br /><a href="http://jimmpodcast.com" target="_blank" title="Mostly music, downloadable, internet radio show, with unique perspectives">Journey Inside My Mind Podcast</a><br /><a href="http://getthatjobonline.com" title="Get That Job! for job-hunting, career development, success stories and the like" target="_blank">Get That Job!</a><br /><a href="http://quotesblog.blogspot.com" target="_blank" title="QuotesBlog - a quotation junkie's collection of quips, witticisms, sayings, proverbs, and more!">QuotesBlog</a><br /><a href="http://twitter.com/danieljohnsonjr" title="Follow me on Twitter">Twitter.com/danieljohnsonjr</a></p>
<p>Related tags: <a href="http://technorati.com/tag/daniel+johnson+jr" rel="tag" target="_blank">daniel+johnson+jr</a></small></p>
<div class="printfriendly align"><a href="http://danieljohnsonjr.com/main/2008/02/finding-tables-for-employee-census-report/?pfstyle=wp" rel="nofollow" ><span class="printfriendly-text"></span></a></div>]]></content:encoded>
			<wfw:commentRss>http://danieljohnsonjr.com/main/2008/02/finding-tables-for-employee-census-report/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reorganizing clients in Darwin provides opportunity for SQL Server clean-up</title>
		<link>http://danieljohnsonjr.com/main/2007/12/reorganizing-clients-in-darwin-provides-opportunity-for-sql-server-clean-up/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=reorganizing-clients-in-darwin-provides-opportunity-for-sql-server-clean-up</link>
		<comments>http://danieljohnsonjr.com/main/2007/12/reorganizing-clients-in-darwin-provides-opportunity-for-sql-server-clean-up/#comments</comments>
		<pubDate>Thu, 13 Dec 2007 17:03:00 +0000</pubDate>
		<dc:creator>Daniel Johnson, Jr.</dc:creator>
				<category><![CDATA[business intelligence]]></category>
		<category><![CDATA[microsoft great plains]]></category>
		<category><![CDATA[payroll]]></category>
		<category><![CDATA[peo]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">http://danieljohnsonjr.com/main/2007/12/13/reorganizing-clients-in-darwin-provides-opportunity-for-sql-server-clean-up/</guid>
		<description><![CDATA[This is a post where I share more of the technical aspects of my job as a &#8216;conscientious programmer/analyst&#8217;. The company I work for is reorganizing clients into new databases in the Darwin business system (a customized version of Microsft Great Plains Dynamics), and the business sees this as a great opportunity to clean up [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fdanieljohnsonjr.com%2Fmain%2F2007%2F12%2Freorganizing-clients-in-darwin-provides-opportunity-for-sql-server-clean-up%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fdanieljohnsonjr.com%2Fmain%2F2007%2F12%2Freorganizing-clients-in-darwin-provides-opportunity-for-sql-server-clean-up%2F&amp;source=danieljohnsonjr&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><i>This is a post where I share more of the technical aspects of my job as a &#8216;conscientious programmer/analyst&#8217;.</i></p>
<p>The company I work for is reorganizing clients into new databases in the <a href="http://www.thinkwareinc.com" target="_blank">Darwin business system</a> (a customized version of <a href="http://www.microsoft.com/dynamics/default.mspx" target="_blank">Microsft Great Plains Dynamics</a>), and the business sees this as a great opportunity to clean up a lot of things.  This view is especially shared by us who work in the IT department.</p>
<p>The 12 current databases are, for the most part, the same in their structure; i.e., same tables, views, stored procedures, and so forth.  The company has used these multiple <a href="http://www.microsoft.com/sql/default.mspx" target="_blank">SQL Server</a> databases to for specific types of clients, based on their industry classifications, etc.</p>
<style type="text/css">.flickr-photo { }.flickr-frame { float: right; text-align: center; margin-left: 15px; margin-bottom: 15px; }.flickr-caption { font-size: 0.8em; margin-top: 0px; }</style>
<div class="flickr-frame"> <a href="http://www.flickr.com/photos/47007870@N00/424930694/" title="photo sharing"><img src="http://farm1.static.flickr.com/161/424930694_fbc6842b22_t.jpg" class="flickr-photo" alt="Street Sweeper" /></a><br /> <span class="flickr-caption">  <a href="http://www.flickr.com/photos/47007870@N00/424930694/">Street Sweeper</a>,<br /> originally uploaded by <a href="http://www.flickr.com/people/47007870@N00/">itsray</a>. </span></div>
<p>One bit similarity is in the <i>paycodes</i> that are used.  Paycodes, for the purposes of what I refer to in this and other posts on this blog, refer to specific codes that are used to signify specific payroll transactions.  The company has paycodes set up for regular and overtime hours, commissions, bonuses, <a href="http://www.4nannytaxes.com/blog/2007/11/federal-mileage-reimbursement-rate-to.html" target="_blank">mileage reimbursements</a>, and other types of <b>income</b>.  Additionally, there are codes for <b>deductions</b>, such as cash advances, uniforms, payments made by the employee for benefits and 401(k).  Moreover , there are codes set up for <b>benefits</b>, which include an employer&#8217;s contributions to health care and 401(k), and the like.  Finally, there are a separate set of codes for both <b>state taxes</b> and <b>local taxes</b>.</p>
<p>It may be easy to imagine, then, over time, and as clients come and go, that the databases would have lots of various codes.  Mirror that across 12 databases, and it becomes more complicated. Furthermore, I&#8217;ve discovered that the code descriptions are not consistent from database to database.  That the business has a need to reorganize clients into new databases presents a great opportunity to clean things up, as a result.</p>
<p>Yesterday, the Director of IT and the Director of Special Projects asked for a list of active codes for active employees, across all 12 databases.  I am the guy they turn to in order to get this done quickly. Because of my experience with how the databases have been set up, I usually know pretty quickly which tables to use in my SQL scripts.</p>
<p>In this particular case, I was interested in the <b>Transaction History</b> table, since it contains the three most important elements my internal customers needed: check date, transaction type, and paycode. </p>
<p>I initially set up the script to pull all paycodes, but I found close to 10,000 codes in use since the business started using Darwin in 2005.  I checked with the Director of Special Projects, and she asked me to limit to just those codes in use since October 2007.  Thankfully, that narrowed the list to just under 2000.  I also included, at her request, the name of the database in which the codes were used.  This proved especially helpful, since not all codes are in use in all the databases.</p>
<p>On my way home last night, I called into <a href="http://jott.com" target="_blank">Jott</a> to remind myself to set this up as a <a href="http://digg.com/programming/SQL_Server_Stored_Procedure_Basics_2" target="_blank">stored procedure</a>.</p>
<p>Just another way I&#8217;m able to help keep the business engine going.</p>
<p><small>&#8212;&#8211;<br />Check out my other blogs:<br /><a href="http://journeyinsidemymind.com" target="_blank" title="'Not all who wander are lost.' - J.R.R. Tolkien">Journey Inside My Mind Blog</a><br /><a href="http://jimmpodcast.com" target="_blank" title="Mostly music, downloadable, internet radio show, with unique perspectives">Journey Inside My Mind Podcast</a><br /><a href="http://getthatjobonline.com" title="Get That Job! for job-hunting, career development, success stories and the like" target="_blank">Get That Job!</a><br /><a href="http://quotesblog.blogspot.com" target="_blank" title="QuotesBlog - a quotation junkie's collection of quips, witticisms, sayings, proverbs, and more!">QuotesBlog</a><br /><a href="http://twitter.com/danieljohnsonjr" title="Follow me on Twitter">Twitter.com/danieljohnsonjr</a><br /><a href="http://www.utterz.com/~h-danieljohnsonjr/list.php" title="Hear my Utterz">Utterz by danieljohnsonjr</a></p>
<p>Related tags: <a href="http://technorati.com/tag/daniel+johnson+jr" rel="tag" target="_blank">daniel+johnson+jr</a>, <a href="http://technorati.com/tag/sql+server" rel="tag" target="_blank">sql+server</a>, <a href="http://technorati.com/tag/programming" rel="tag" target="_blank">programming</a>, <a href="http://technorati.com/tag/business+intelligence" rel="tag" target="_blank">business+intelligence</a>, <a href="http://technorati.com/tag/microsoft+great+plains" rel="tag" target="_blank">microsoft+great+plains</a>, <a href="http://technorati.com/tag/payroll" rel="tag" target="_blank">payroll</a>, <a href="http://technorati.com/tag/peo" rel="tag" target="_blank">peo</a>, <a href="http://technorati.com/tag/darwin" rel="tag" target="_blank">darwin</a></small></p>
<div class="printfriendly align"><a href="http://danieljohnsonjr.com/main/2007/12/reorganizing-clients-in-darwin-provides-opportunity-for-sql-server-clean-up/?pfstyle=wp" rel="nofollow" ><span class="printfriendly-text"></span></a></div>]]></content:encoded>
			<wfw:commentRss>http://danieljohnsonjr.com/main/2007/12/reorganizing-clients-in-darwin-provides-opportunity-for-sql-server-clean-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>05 Nov 2007 &#8211; Utterz from the road</title>
		<link>http://danieljohnsonjr.com/main/2007/11/05-nov-2007-utterz-from-the-road/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=05-nov-2007-utterz-from-the-road</link>
		<comments>http://danieljohnsonjr.com/main/2007/11/05-nov-2007-utterz-from-the-road/#comments</comments>
		<pubDate>Tue, 06 Nov 2007 14:43:00 +0000</pubDate>
		<dc:creator>Daniel Johnson, Jr.</dc:creator>
				<category><![CDATA[audio]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[business intelligence]]></category>
		<category><![CDATA[cincinnati]]></category>
		<category><![CDATA[dashboard]]></category>
		<category><![CDATA[new media]]></category>
		<category><![CDATA[peo]]></category>
		<guid isPermaLink="false">http://danieljohnsonjr.com/main/2007/11/06/05-nov-2007-utterz-from-the-road/</guid>
		<description><![CDATA[Three topics discussed: Effects of Daylight Savings Time ending one week later this year, especially on the commute home. New Media Cincinnati: http://www.newmediacincinnati.com or http://danieljohnsonjr.com/2007/11/new-media-cincinnati-meetup-november.html Dashboard-types of reporting I&#8217;ve been doing to provide a good pulse on the company. I love doing this kind of marketing-type of analysis. Hear all my Utterz: http://www.utterz.com/~h-danieljohnsonjr/list.php &#8212;&#8211;Check out [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fdanieljohnsonjr.com%2Fmain%2F2007%2F11%2F05-nov-2007-utterz-from-the-road%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fdanieljohnsonjr.com%2Fmain%2F2007%2F11%2F05-nov-2007-utterz-from-the-road%2F&amp;source=danieljohnsonjr&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="450" height="190"><param name="movie" value="http://www.utterz.com/fp/embed_img.swf?20" /><param name="flashvars" value="utt_id=NDk2NjI0Mg&amp;autoplay=0&amp;wu=NDk1MjkwOA" /><param name="wmode" value="transparent" /><embed src="http://www.utterz.com/fp/embed_img.swf?20" wmode="transparent" flashvars="utt_id=NDk2NjI0Mg&amp;autoplay=0&amp;wu=NDk1MjkwOA" width="450" height="190" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" /></embed></object></p>
<p>Three topics discussed:
<ol>
<li>Effects of Daylight Savings Time ending one week later this year, especially on the commute home.
<li>New Media Cincinnati: h<a href="ttp://www.newmediacincinnati.com" target="_blank">ttp://www.newmediacincinnati.com</a> or <a href="http://danieljohnsonjr.com/2007/11/new-media-cincinnati-meetup-november.html" target="_blank">http://danieljohnsonjr.com/2007/11/new-media-cincinnati-meetup-november.html</a>
<li>Dashboard-types of reporting I&#8217;ve been doing to provide a good pulse on the company.  I love doing this kind of marketing-type of analysis.</ol>
<p>Hear all my Utterz: <a href="http://www.utterz.com/~h-danieljohnsonjr/list.php" target="Daniel Johnson, Jr.'s Public Utterz">http://www.utterz.com/~h-danieljohnsonjr/list.php</a></p>
<p><small>&#8212;&#8211;<br />Check out my other blogs:<br /><a href="http://journeyinsidemymind.com" target="_blank" title="'Not all who wander are lost.' -- J.R.R. Tolkien">Journey Inside My Mind Blog</a><br /><a href="http://jimmpodcast.com" target="_blank" title="Mostly music, downloadable, internet radio show, with unique perspectives">Journey Inside My Mind Podcast</a><br /><a href="http://getthatjobonline.com" title="Get That Job! for job-hunting, career development, success stories and the like" target="_blank">Get That Job!</a><br /><a href="http://quotesblog.blogspot.com" target="_blank" title="QuotesBlog - a quotation junkie's collection of quips, witticisms, sayings, proverbs, and more!">QuotesBlog</a><br /><a href="http://twitter.com/danieljohnsonjr" title="Follow me on Twitter">Twitter.com/danieljohnsonjr</a></p>
<p>Related tags: <a href="http://technorati.com/tag/daniel+johnson+jr" rel="tag" target="_blank">daniel+johnson+jr</a></small></p>
<div class="printfriendly align"><a href="http://danieljohnsonjr.com/main/2007/11/05-nov-2007-utterz-from-the-road/?pfstyle=wp" rel="nofollow" ><span class="printfriendly-text"></span></a></div>]]></content:encoded>
			<wfw:commentRss>http://danieljohnsonjr.com/main/2007/11/05-nov-2007-utterz-from-the-road/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Keeping upper management knowledgeable and salespeople paid</title>
		<link>http://danieljohnsonjr.com/main/2007/09/keeping-upper-management-knowledgeable-and-salespeople-paid/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=keeping-upper-management-knowledgeable-and-salespeople-paid</link>
		<comments>http://danieljohnsonjr.com/main/2007/09/keeping-upper-management-knowledgeable-and-salespeople-paid/#comments</comments>
		<pubDate>Mon, 24 Sep 2007 16:07:00 +0000</pubDate>
		<dc:creator>Daniel Johnson, Jr.</dc:creator>
				<category><![CDATA[ADO]]></category>
		<category><![CDATA[business intelligence]]></category>
		<category><![CDATA[case studies]]></category>
		<category><![CDATA[dashboard]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[microsoft great plains]]></category>
		<category><![CDATA[payroll]]></category>
		<category><![CDATA[peo]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[requirements]]></category>
		<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">http://danieljohnsonjr.com/main/2007/09/24/keeping-upper-management-knowledgeable-and-salespeople-paid/</guid>
		<description><![CDATA[This is another post where I share technical details about a project I have been working on. SITUATION Sales executives within the company receive monthly commission checks based on active client employee counts and gross payroll, for clients that they have brought on. In addition, upper management needs to see high-level numbers such as active [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fdanieljohnsonjr.com%2Fmain%2F2007%2F09%2Fkeeping-upper-management-knowledgeable-and-salespeople-paid%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fdanieljohnsonjr.com%2Fmain%2F2007%2F09%2Fkeeping-upper-management-knowledgeable-and-salespeople-paid%2F&amp;source=danieljohnsonjr&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><em>This is another post where I share technical details about a project I have been working on.</em></p>
<p><strong>SITUATION</strong></p>
<p>Sales executives within the company receive monthly commission checks based on active client employee counts and gross payroll, for clients that they have brought on.  In addition, upper management needs to see high-level numbers such as active clients, active employee counts, and gross payrolls &#8211; dashboard-type information.</p>
<p>A easy-to-use tool to generate this information did not exist at a user level.  Previously, upper management relied on IT or the Controller to generate this information and send it to them.</p>
<p>Through some personnel reorganization, the process for generating this report fell through the cracks.  Salespeople were waiting for their commission checks for the previous month, so the project was both urgent and important.</p>
<p>As usual, this information needs to come from the multiple SQL Server databases the company uses to manage client information through the Darwin PEO System, a customized, version of Microsoft Great Plains for the Professional Employer Organization (PEO) industry.</p>
<p><strong>TASK</strong></p>
<p>I was asked to develop a tool that upper management can use to generate information themselves.  Some of the application requirements and thoughts that guided the development:</p>
<ul>
<li>Let users pick the date range, click a button, and have the system produce a report.</li>
<li>Develop the application quickly to meet the immediate needs of the organization, yet with the ability to be reused whenever upper management so desires.</li>
<li>Since upper management is most comfortable with Microsoft Excel and will want the data in a workbook anyway, use Excel Visual Basic for Applications (VBA)) and ActiveX Data Objects (ADO) within a single Excel workbook to produce the results.</li>
<li>Choose Excel over Access because the application overhead is low (i.e., no need for tables, forms, reports, etc.).</li>
<li>Since the company doesn&#8217;t mark employees and clients as inactive in the system immediately when they are terminated, define an active employee during a date range as a paid employee.</li>
<li>In addition to a paid employee count, obtain a total check count and gross payroll amount for each client during the date range.</li>
<li>If an employee received a check and it wasn&#8217;t voided, it counts.</li>
<li>Take advantage of server-side processing to achieve the best performance.</li>
</ul>
<p><strong>ACTIONS TAKEN</strong></p>
<p>I first developed the SQL statement to unite data across the twelve SQL databases, based on prior knowledge of where to find information.  Then I wrapped the SQL statement up in a stored procedure, with start and end dates as parameters.</p>
<p>After testing the procedure with different date ranges to make sure the information was accurate and made sense, I moved on to the Excel piece.  I wrote code in Excel VBA and ADO to execute the stored procedure and output the results to a worksheet in the workbook.</p>
<p>Once I had tweaked the completed application to make sure everything ran smoothly, I e-mailed it to the director who requested it.</p>
<p><strong>RESULTS</strong></p>
<p>Within a few minutes I received a phone call from her, telling me how awesome I am.  She also sent the application to the owner of the company so that he can run the report as often as he wants.</p>
<p>Now they are able to generate the information in a matter of seconds themselves, versus waiting for the Controller or someone else in IT to generate it for them; or, even worse, spend hours compiling the information themselves.</p>
<p><small>&#8212;&#8211;<br />
Check out my other blogs:<br />
<a title="'Not all who wander are lost.' -- J.R.R. Tolkien" href="http://journeyinsidemymind.com" target="_blank">Journey Inside My Mind Blog</a><br />
<a title="Mostly music, downloadable, internet radio show, with unique perspectives" href="http://jimmpodcast.com" target="_blank">Journey Inside My Mind Podcast</a><br />
<a title="Get That Job! for job-hunting, career development, success stories and the like" href="http://getthatjobonline.com" target="_blank">Get That Job!</a><br />
<a title="QuotesBlog - a quotation junkie's collection of quips, witticisms, sayings, proverbs, and more!" href="http://quotesblog.blogspot.com" target="_blank">QuotesBlog</a><br />
<a title="Follow me on Twitter" href="http://twitter.com/danieljohnsonjr">Twitter.com/danieljohnsonjr</a></small></p>
<p><small>Related tags: <a rel="tag" href="http://technorati.com/tag/daniel+johnson+jr" target="_blank">daniel+johnson+jr</a> <a rel="tag" href="http://technorati.com/tag/business+intelligence" target="_blank">business+intelligence</a> <a rel="tag" href="http://technorati.com/tag/sql+programming" target="_blank">sql+programming</a> <a rel="tag" href="http://technorati.com/tag/microsoft+great+plains" target="_blank">microsoft+great+plains</a> <a rel="tag" href="http://technorati.com/tag/data+mining" target="_blank">data+mining</a></small></p>
<div class="printfriendly align"><a href="http://danieljohnsonjr.com/main/2007/09/keeping-upper-management-knowledgeable-and-salespeople-paid/?pfstyle=wp" rel="nofollow" ><span class="printfriendly-text"></span></a></div>]]></content:encoded>
			<wfw:commentRss>http://danieljohnsonjr.com/main/2007/09/keeping-upper-management-knowledgeable-and-salespeople-paid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reaching the point of diminishing returns on a project</title>
		<link>http://danieljohnsonjr.com/main/2007/09/reaching-the-point-of-diminishing-returns-on-a-project/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=reaching-the-point-of-diminishing-returns-on-a-project</link>
		<comments>http://danieljohnsonjr.com/main/2007/09/reaching-the-point-of-diminishing-returns-on-a-project/#comments</comments>
		<pubDate>Fri, 21 Sep 2007 14:53:00 +0000</pubDate>
		<dc:creator>Daniel Johnson, Jr.</dc:creator>
				<category><![CDATA[bridge application]]></category>
		<category><![CDATA[integration manager]]></category>
		<category><![CDATA[lessons learned]]></category>
		<category><![CDATA[microsoft great plains]]></category>
		<category><![CDATA[payroll]]></category>
		<category><![CDATA[peo]]></category>
		<category><![CDATA[programming]]></category>
		<guid isPermaLink="false">http://danieljohnsonjr.com/main/2007/09/21/reaching-the-point-of-diminishing-returns-on-a-project/</guid>
		<description><![CDATA[Over the past month, I have been working on a project to automate payroll entry for a client that has close to 300 employees and is growing. Naturally, it is the company&#8217;s best interest to get this payroll automated as much as possible. To do this I&#8217;ve been developing an application to bridge the payroll [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fdanieljohnsonjr.com%2Fmain%2F2007%2F09%2Freaching-the-point-of-diminishing-returns-on-a-project%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fdanieljohnsonjr.com%2Fmain%2F2007%2F09%2Freaching-the-point-of-diminishing-returns-on-a-project%2F&amp;source=danieljohnsonjr&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_Ny-ucgJGnTg/RvPp_m0mx0I/AAAAAAAAAFU/U6fjJVLjBs0/s1600-h/dimishedreturns.gif"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_Ny-ucgJGnTg/RvPp_m0mx0I/AAAAAAAAAFU/U6fjJVLjBs0/s200/dimishedreturns.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5112687280957867842" /></a><br />Over the past month, I have been working on a project to automate payroll entry for a client that has close to 300 employees and is growing.  Naturally, it is the company&#8217;s best interest to get this payroll automated as much as possible.</p>
<p>To do this I&#8217;ve been developing an <a href="http://danieljohnsonjr.blogspot.com/search/label/bridge%20application" title="Other mentions of the payroll bridge application">application to bridge the payroll</a> info to <a href="http://en.wikipedia.org/wiki/Great_Plains_(accounting)" target="_blank">Microsoft Great Plains Integration Manager</a>.</p>
<p>One of the criteria I&#8217;ve used to evaluate a client&#8217;s payroll is a consistent layout in a good format, so that I can tell the program where to map regular hours, overtime, cash reimbursements, etc.  In some cases I&#8217;m able to tweak the payroll to make it into a layout that is consistent enough for me to automate.</p>
<p>This particular client is a construction company, and the only electronic version of the payroll is a text file that is not <a href="http://dictionary.reference.com/browse/delimiter" target="_blank">delimited</a>.  The file is basically a report from the client&#8217;s system, and it has page headers and department footers, as well has breakdowns of <a href="http://maggiewang.com/2007/09/16/have-you-checked-your-irs-withholding-lately/" target="_blank">withholding</a>, etc.  Most of that I can ignore in the program.  </p>
<p>My colleague was able to import it into <a href="http://blogs.msdn.com/excel/default.aspx" target="_blank">Microsoft Excel</a>, using spaces as the delimiter.  From there I saved the file as tab-delimited text, the format used in the other bridge applications I&#8217;ve developed.</p>
<p>The big problem is the inconsistent layout, which has come from using spaces to delimit the text, depending largely on how much detail is on a particular line of text.  Look at the following 3 lines of text:
<ul>
<li>E  22 Per Diem &#8211; C AZ 3   <b>99</b>
<li>E  22 Per Diem &#8211; C AZ 3 XYZ111 <b>99</b>
<li>E  22 Per Diem &#8211; C       <b>99</b></ul>
<p>In each of these lines, the payroll item is <a href="http://www.overheardbin.com/2007/09/carpe_per_diem_1.html" target="_blank">Per Deim</a>, and the amount is 99.  When you space-delimit the lines the amounts are in different columns.</p>
<p>This is just one major aspect of complexity that has come from my attempt to automate the payroll.  After talking it over with my boss, we realize that we&#8217;ve come to the point of <a href="http://digg.com/design/Enterprise_Architecture_and_the_Law_of_Diminishing_Returns" target="_blank">diminishing returns</a>.</p>
<p>I&#8217;m off this project until there is another way to parse the payroll information and am able to move on to another project that&#8217;s in the queue.</p>
<p>Related tags: <a href="http://technorati.com/tag/microsoft+great+plains" rel="tag" target="_blank">microsoft+great+plains</a> <a href="http://technorati.com/tag/integration+manager" rel="tag" target="_blank">integration+manager</a> <a href="http://technorati.com/tag/payroll+automation" rel="tag" target="_blank">payroll+automation</a> <a href="http://technorati.com/tag/microsoft+access" rel="tag" target="_blank">microsoft+access</a> <a href="http://technorati.com/tag/vba" rel="tag" target="_blank">vba</a> <a href="http://technorati.com/tag/programming" rel="tag" target="_blank">programming</a> <a href="http://technorati.com/tag/application+design" rel="tag" target="_blank">application+design</a> <a href="http://technorati.com/tag/peo" rel="tag" target="_blank">peo</a> <a href="http://technorati.com/tag/daniel+johnson+jr" rel="tag" target="_blank">daniel+johnson+jr</a></p>
<div class="printfriendly align"><a href="http://danieljohnsonjr.com/main/2007/09/reaching-the-point-of-diminishing-returns-on-a-project/?pfstyle=wp" rel="nofollow" ><span class="printfriendly-text"></span></a></div>]]></content:encoded>
			<wfw:commentRss>http://danieljohnsonjr.com/main/2007/09/reaching-the-point-of-diminishing-returns-on-a-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Server-side processing rocks the house!</title>
		<link>http://danieljohnsonjr.com/main/2007/08/server-side-processing-rocks-the-house/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=server-side-processing-rocks-the-house</link>
		<comments>http://danieljohnsonjr.com/main/2007/08/server-side-processing-rocks-the-house/#comments</comments>
		<pubDate>Wed, 22 Aug 2007 19:36:00 +0000</pubDate>
		<dc:creator>Daniel Johnson, Jr.</dc:creator>
				<category><![CDATA[client relations]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[peo]]></category>
		<category><![CDATA[search tool]]></category>
		<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">http://danieljohnsonjr.com/main/2007/08/22/server-side-processing-rocks-the-house/</guid>
		<description><![CDATA[I&#8217;ve spent the last couple of weeks learning how to optimize the search tool we built. The short story is that we&#8217;re now using a pass-through query in Access to pass parameters to stored procedures on SQL Server. Processing time has gone from about 2 minutes to less than 2 seconds. Now that I know [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fdanieljohnsonjr.com%2Fmain%2F2007%2F08%2Fserver-side-processing-rocks-the-house%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fdanieljohnsonjr.com%2Fmain%2F2007%2F08%2Fserver-side-processing-rocks-the-house%2F&amp;source=danieljohnsonjr&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;ve spent the last couple of weeks learning how to optimize the search tool we built.  The short story is that we&#8217;re now using a pass-through query in Access to pass parameters to stored procedures on SQL Server.  Processing time has gone from about 2 minutes to less than 2 seconds.</p>
<p>Now that I know how to work with stored procedures, I&#8217;m thinking of how else to implement them with other types of applications.</p>
<p><b>BACKGROUND</b></p>
<p>The company has clients spread across multiple databases for various reasons; namely specific business rules (e.g., worker&#8217;s comp rate, state tax rate, unemployment insurance, etc.) apply across an entire database.</p>
<p>Quite often someone in the company receives paperwork from an agency or client with nothing but the client employee&#8217;s name or their SSN.  Searching for this employee has been trial and error, going through each database at a time.  Also, in many cases the person in our company just needs to see some basic information about the employee.  For example, during tax season we just needed to verify a client employee&#8217;s address and phone number. Hence the reason for such a tool.</p>
<p>We had initially designed the tool to have individual pass-through SELECT queries, uniting and applying criteria to them in Access.  It was the uniting and applying criteria that has been slowing things down.</p>
<p><b>OPTIMIZING</b></p>
<p>So, I created two stored procedures with parameters: one that searches for an SSN one one that searches on a name.  Each stored procedure unites the individual SELECT queries on a database separate from the other 12 that were being searched.</p>
<p>In VBA code, based on which criteria the user enters, we determine which stored procedure to run.  We create a pass-through query to EXECUTE the stored procedure.  This pass-through query then contains the search results, which is what we had with the earlier version of the tool.</p>
<p><b>PREVENTING SQL INJECTION</b></p>
<p>While reading the literature, I came across the concept of <a href="http://msdn2.microsoft.com/en-us/library/ms161953.aspx" target="_blank">SQL injection</a> and the need to prevent it.  Since users are passing text to a SQL statment, we need to prevent the intentional or unintentional insertion of code that would prematurely terminate a text string and append a new command.</p>
<p>I wrote one procedure that scans what users enter in the first and last name fields for &#8220;&#8211;&#8221;, &#8220;CREATE&#8221;, and other such items.  My coworker gave me some code to prevent users from entering other illegal characters.  This double-barreled approach will prevent any SQL injection from occurring.</p>
<p><b>COMMUNICATING WITH THE MASSES</b></p>
<p>I enjoyed sharing the news of the updated tool with the rest of the company.  I knew many had not even heard of it.  I constructed the email the way I would a friendly blog post, including pictures.</p>
<p>One user immediately replied: &#8220;Awesome! Works very fast. Good job.&#8221;  I was contacted by two people in Accounting and Payroll who asked that I put the tool on their machines as well.</p>
<p>Much joy all around, I tell you.  And IT looks good.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;-<br />Now playing: <a href="http://www.foxytunes.com/artist/tim+hawkins/track/kidsrock">Tim Hawkins &#8211; KidsRock</a><br />via <a href="http://www.foxytunes.com/signatunes/">FoxyTunes</a></p>
<div class="printfriendly align"><a href="http://danieljohnsonjr.com/main/2007/08/server-side-processing-rocks-the-house/?pfstyle=wp" rel="nofollow" ><span class="printfriendly-text"></span></a></div>]]></content:encoded>
			<wfw:commentRss>http://danieljohnsonjr.com/main/2007/08/server-side-processing-rocks-the-house/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft Great Plains &#8211; Integration Manager in action</title>
		<link>http://danieljohnsonjr.com/main/2007/06/microsoft-great-plains-integration-manager-in-action/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=microsoft-great-plains-integration-manager-in-action</link>
		<comments>http://danieljohnsonjr.com/main/2007/06/microsoft-great-plains-integration-manager-in-action/#comments</comments>
		<pubDate>Mon, 18 Jun 2007 22:33:00 +0000</pubDate>
		<dc:creator>Daniel Johnson, Jr.</dc:creator>
				<category><![CDATA[bridge application]]></category>
		<category><![CDATA[case studies]]></category>
		<category><![CDATA[integration manager]]></category>
		<category><![CDATA[microsoft great plains]]></category>
		<category><![CDATA[payroll]]></category>
		<category><![CDATA[peo]]></category>
		<category><![CDATA[Great Plains]]></category>
		<category><![CDATA[Microsoft Dynamics GP]]></category>
		<guid isPermaLink="false">http://danieljohnsonjr.com/main/2007/06/18/microsoft-great-plains-integration-manager-in-action/</guid>
		<description><![CDATA[The company uses a version of Microsoft Great Plains (GP) that&#8217;s been customized for the PEO industry. One piece of that is Integration Manager (IM). I&#8217;ve talked about the bridge application a number of times before. With an Excel file from a client and, with some sophisticated programming, we create a tab-delimited text transaction file [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fdanieljohnsonjr.com%2Fmain%2F2007%2F06%2Fmicrosoft-great-plains-integration-manager-in-action%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fdanieljohnsonjr.com%2Fmain%2F2007%2F06%2Fmicrosoft-great-plains-integration-manager-in-action%2F&amp;source=danieljohnsonjr&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>The company uses a version of <a class="zem_slink" title="Microsoft Dynamics GP" rel="wikipedia" href="http://en.wikipedia.org/wiki/Microsoft_Dynamics_GP">Microsoft Great Plains</a> (GP) that&#8217;s been customized for the <a class="zem_slink" title="Professional employer organization" rel="wikipedia" href="http://en.wikipedia.org/wiki/Professional_employer_organization">PEO</a> industry.  One piece of that is Integration Manager (IM).  I&#8217;ve talked about the bridge application a number of times before.  With an <a class="zem_slink" title="Microsoft Excel" rel="homepage" href="http://office.microsoft.com/en-us/excel/FX100487621033.aspx">Excel</a> file from a client and, with some sophisticated programming, we create a <a class="zem_slink" title="Delimiter-separated values" rel="wikipedia" href="http://en.wikipedia.org/wiki/Delimiter-separated_values">tab-delimited</a> text transaction file for Integration Manager.  We&#8217;ve set up some profiles in Integration Manager to upload payroll transactions into a batch in the Great Plains system, saving a lot of time and money.  In some cases we&#8217;ve seen a 91% drop in the amount of time it takes to run a payroll.</p>
<p>Over the next few weeks or so, I&#8217;ll be running Integration Manager for the Payroll department.  Here are some numbers for today:</p>
<p><span style="font-size: small;"></p>
<table border="1" cellspacing="0" cellpadding="1" width="100%" bordercolor="#000000">
<tbody>
<tr bgcolor="#3399cc">
<td width="34%" align="right"><strong>Industry</strong></td>
<td width="33%" align="right"><strong>Transactions</strong></td>
<td width="33%" align="right"><strong>Emps</strong></td>
</tr>
<tr>
<td align="right">Trucking</td>
<td align="right">149</td>
<td align="right">51</td>
</tr>
<tr>
<td align="right">Trucking</td>
<td align="right">168</td>
<td align="right">90</td>
</tr>
<tr>
<td align="right">Restaurant</td>
<td align="right">86</td>
<td align="right">43</td>
</tr>
<tr>
<td align="right">Restaurant</td>
<td align="right">94</td>
<td align="right">48</td>
</tr>
<tr>
<td align="right">Restaurant</td>
<td align="right">72</td>
<td align="right">39</td>
</tr>
<tr>
<td align="right">Restaurant</td>
<td align="right">82</td>
<td align="right">34</td>
</tr>
<tr>
<td align="right">Restaurant</td>
<td align="right">94</td>
<td align="right">40</td>
</tr>
<tr>
<td align="right">Restaurant</td>
<td align="right">97</td>
<td align="right">40</td>
</tr>
<tr>
<td align="right">Restaurant</td>
<td align="right">87</td>
<td align="right">47</td>
</tr>
<tr>
<td align="right">Manufacturing</td>
<td align="right">173</td>
<td align="right">98</td>
</tr>
</tbody>
</table>
<p></span><br />
1002 transactions, for 530 employees of 10 clients.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/pixy.gif?x-id=f366f73a-f04c-4aed-b813-47c712e850a7" alt="" /></div>
<div class="printfriendly align"><a href="http://danieljohnsonjr.com/main/2007/06/microsoft-great-plains-integration-manager-in-action/?pfstyle=wp" rel="nofollow" ><span class="printfriendly-text"></span></a></div>]]></content:encoded>
			<wfw:commentRss>http://danieljohnsonjr.com/main/2007/06/microsoft-great-plains-integration-manager-in-action/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>At a Conference in Downtown Cincinnati</title>
		<link>http://danieljohnsonjr.com/main/2007/06/at-a-conference-in-downtown-cincinnati/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=at-a-conference-in-downtown-cincinnati</link>
		<comments>http://danieljohnsonjr.com/main/2007/06/at-a-conference-in-downtown-cincinnati/#comments</comments>
		<pubDate>Wed, 06 Jun 2007 10:46:00 +0000</pubDate>
		<dc:creator>Daniel Johnson, Jr.</dc:creator>
				<category><![CDATA[conference]]></category>
		<category><![CDATA[peo]]></category>
		<category><![CDATA[cincinnati]]></category>
		<category><![CDATA[Cincinnati – Northern Kentucky metropolitan area]]></category>
		<category><![CDATA[Downtown Cincinnati]]></category>
		<category><![CDATA[Microsoft Dynamics Great Plains]]></category>
		<guid isPermaLink="false">http://danieljohnsonjr.com/main/2007/06/06/at-a-conference-in-downtown-cincinnati/</guid>
		<description><![CDATA[Over the next few days I&#8217;ll be attending a conference in downtown Cincinnati. I&#8217;m really glad that I&#8217;ll be able to catch the bus instead of driving the hour commute to Dayton. The conference is being conducted by Thinkware, a vendor that has &#8212; and I&#8217;m probably oversimplifying this &#8212; customized Microsoft Great Plains for [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fdanieljohnsonjr.com%2Fmain%2F2007%2F06%2Fat-a-conference-in-downtown-cincinnati%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fdanieljohnsonjr.com%2Fmain%2F2007%2F06%2Fat-a-conference-in-downtown-cincinnati%2F&amp;source=danieljohnsonjr&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Over the next few days I&#8217;ll be attending a conference in downtown Cincinnati. I&#8217;m really glad that I&#8217;ll be able to catch the bus instead of driving the hour commute to Dayton.</p>
<p>The conference is being conducted by Thinkware, a vendor that has &#8212; and I&#8217;m probably oversimplifying this &#8212; customized Microsoft Great Plains for Professional Employer Organizations (PEOs). I look forward to learning more about the latest versions and seeing how I might be able to use it on my job.</p>
<p>I may or may not provide updates here.</p>
<p><strong>June 7th Update:</strong> I found out it&#8217;s not until today. More to come later perhaps!</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/pixy.gif?x-id=6a596e6b-94eb-497c-a043-89fcb7f6d210" alt="" /></div>
<div class="printfriendly align"><a href="http://danieljohnsonjr.com/main/2007/06/at-a-conference-in-downtown-cincinnati/?pfstyle=wp" rel="nofollow" ><span class="printfriendly-text"></span></a></div>]]></content:encoded>
			<wfw:commentRss>http://danieljohnsonjr.com/main/2007/06/at-a-conference-in-downtown-cincinnati/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Helping company take advantage of a tax credit</title>
		<link>http://danieljohnsonjr.com/main/2007/06/helping-company-take-advantage-of-a-tax-credit/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=helping-company-take-advantage-of-a-tax-credit</link>
		<comments>http://danieljohnsonjr.com/main/2007/06/helping-company-take-advantage-of-a-tax-credit/#comments</comments>
		<pubDate>Sun, 03 Jun 2007 23:39:00 +0000</pubDate>
		<dc:creator>Daniel Johnson, Jr.</dc:creator>
				<category><![CDATA[accounting]]></category>
		<category><![CDATA[case studies]]></category>
		<category><![CDATA[financial reporting application]]></category>
		<category><![CDATA[peo]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">http://danieljohnsonjr.com/main/2007/06/03/helping-company-take-advantage-of-a-tax-credit/</guid>
		<description><![CDATA[Image by alberth2 via Flickr I found out last year from the Accounting department at my current company that employers with tipped employees can get a tax credit based on how employees have reported their tips. I guess it&#8217;s the IRS&#8217;s way to encourage employers to get their employees to report tips so that they [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fdanieljohnsonjr.com%2Fmain%2F2007%2F06%2Fhelping-company-take-advantage-of-a-tax-credit%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fdanieljohnsonjr.com%2Fmain%2F2007%2F06%2Fhelping-company-take-advantage-of-a-tax-credit%2F&amp;source=danieljohnsonjr&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<div class="zemanta-img zemanta-action-click" style="margin: 1em; float: right; display: block;"><a href="http://www.flickr.com/photos/84056180@N00/2233023966"><img style="border: medium none; display: block;" src="http://farm3.static.flickr.com/2397/2233023966_437f6f5e1b_m.jpg" alt="Tip" /></a></p>
<p class="zemanta-img-attribution">Image by <a href="http://www.flickr.com/photos/84056180@N00/2233023966">alberth2</a> via Flickr</p>
</div>
<p>I found out last year from the Accounting department at my current company that employers with tipped employees can get a tax credit based on how employees have reported their tips.  I guess it&#8217;s the IRS&#8217;s way to encourage employers to get their employees to report tips so that they can get the tax from it.</p>
<p>The <a class="zem_slink" title="Professional employer organization" rel="wikipedia" href="http://en.wikipedia.org/wiki/Professional_employer_organization">PEO</a> model is one of co-employment: the client employs someone to do the work while the PEO employs the worker from an HR perspective.  If the client doesn&#8217;t take the tipped employee tax credit (or whatever it&#8217;s actually called), then the PEO can take it.</p>
<p>For me it has meant developing yet another report from the <a class="zem_slink" title="Microsoft SQL Server" rel="homepage" href="http://www.microsoft.com/sqlserver/2008/en/us/default.aspx">SQL Server</a> database.  The business, of course, wants the report as soon as they can get it, and I and my boss help them understand that it cannot always happen overnight or even in a week.</p>
<p>The report, as many of these I develop lately, involves looking at the transaction history on employees&#8217; paychecks to identify reported tips.  It sounds simple, and it really is, as long as you know where to look.</p>
<p>Over the past year or so, I&#8217;ve gotten better as I&#8217;ve come to understand where the types of information are stored &#8211; the database and the front-end are a modified version of Microsoft Great Plains, and the tables are not always intuitively-named.</p>
<p>I probably should push this application out to the Accounting department, since all I did was run it for last year and the current year.  The upper management was certainly surprised at fast I&#8217;d turned their request around.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/pixy.gif?x-id=3e59873d-9425-4cc3-8619-30d92dc46e40" alt="" /></div>
<div class="printfriendly align"><a href="http://danieljohnsonjr.com/main/2007/06/helping-company-take-advantage-of-a-tax-credit/?pfstyle=wp" rel="nofollow" ><span class="printfriendly-text"></span></a></div>]]></content:encoded>
			<wfw:commentRss>http://danieljohnsonjr.com/main/2007/06/helping-company-take-advantage-of-a-tax-credit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: danieljohnsonjr.com @ 2012-02-10 05:18:17 -->
