Sunday, August 24, 2014

Management Reporter 2012 Process Service Not being Started - The time zone ID 'Jerusalem Standard Time' was not found on the local computer.

Few days back I got a very wired case from one of my customers, the reports they are generating are not being processed and locked in the “Queued” state, which normally caused due to the fact that Management Reporter Services are not running, moving to the services I have noticed that the “Management Reporter 2012 Process Service” is not running and unable to be started.

I moved to the Event Viewer trying to find the cause of the issue and found the following wired error:

Service cannot be started. System.TimeZoneNotFoundException: The time zone ID 'Jerusalem Standard Time' was not found on the local computer.
   at System.TimeZoneInfo.GetTimeZone(String id)
   at System.TimeZoneInfo.FindSystemTimeZoneById(String id)   at Microsoft.Dynamics.Common.Scheduler.GenericScheduler.ExtensionMethods.ToScheduler(Trigger taskTrigger)
   at Microsoft.Dynamics.Common.Scheduler.GenericScheduler.Scheduler.SchedulerTask.CreateFromDataTask(Task task, Guid schedulerId)
   at Microsoft.Dynamics.Common.Scheduler.GenericScheduler.Scheduler.LoadTasks()
   at Microsoft.Dynamics.Common.Scheduler.GenericScheduler.Scheduler.OnHeartbeat()
   at Microsoft.Dynamics.Common.Scheduler.GenericScheduler.Scheduler.StartScheduler()
   at Microsoft.Dynamics.Performance.Reporting.Scheduler.SchedulerService.OnStart()
   at Microsoft.Dynamics.Performance.Common.ServiceComponent.StateChangeHandler(RequestedStateChange requestedState)
   at Microsoft.Dynamics.Performance.Common.ServiceComponent.<Load>b__0(RequestedStateChange s)
...

image

Tried to search everywhere looking what could cause this with no luck, that was indeed a very wired error that does not have any explanation.

I tried to search the web on the location where the windows saves the times zones to see what’s going on and noticed that it is stored in the windows registry under the following path:

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Time Zones\

Tried to find “Jerusalem Standard Time” in the list with no luck, but noticed that there is a new time zone called “Israel  Standard Time” that in-fact replaced the “Jerusalem Standard Time”.

image

I renamed the folder back to “Jerusalem Standard Time” and the service started properly, it looks like folks at Microsoft has changed this for political reasons and forgot to apply the change correctly!

image


Regards,

--
Mohammad R. Daoud MVP - MCT
MCP, MCBMSP, MCTS, MCBMSS
+962 - 79 - 999 65 85
me@mohdaoud.com
http://www.di.jo

Wednesday, August 13, 2014

ARABIC & ENGLISH Amount in Words for Excel

5 years back I have published a script that allows you to view amount in words in Arabic, what we call it “TAFQEET”, the article is published under the following link:

http://mohdaoud.blogspot.com/2008/10/convert-numbers-to-arabic-words-tafqeet_5647.html

I been getting many requests across the years on how to make this works for Excel and my answer was always that you cannot make it as it is an SQL based function and not a VBA.

This morning I have see a comment sharing me a video that shows how to make a simple VBA script to achieve the ENGLISH amount in words and the video is below:

https://www.youtube.com/watch?v=fYAxYtzBi5A

Moving forward I decided to make the same for ARABIC language considering that I have a script that works on .NET does the same and all what I need to do is to make this works for Visual Basic for Applications and the result is below:

1. Download the function from the following path:

http://www.di.jo/files/DI.bas

If that file was viewed and not downloaded, please right click and click “Save Target AS”.

2. Open Excel

image

3. Hit “ALT+F11” to get into the VBA editor

4. Right click the Microsoft Excel Objects Folder and click Import File

image

5. Select the file you just downloaded “DI.bas” and close the VBA editor.

image

6. Get back to your excel and start typing “=DITAFQEET“ you will see that the function was added to your library and ready to be tested!

image

7. Viola! Enjoy the below result

image

NOTE: upon saving the EXCEL you might be getting the following message:

image

Change the “Save As Type” to “Excel Macro-Enabled Workbook”

image

You can download a ready file from the below link:

http://www.di.jo/files/DI%20Tafqeet.zip

Enjoy!


Regards,

--
Mohammad R. Daoud MVP - MCT
MCP, MCBMSP, MCTS, MCBMSS
+962 - 79 - 999 65 85
me@mohdaoud.com
http://www.di.jo

Saturday, June 28, 2014

Dynamics GP Community is under attack!

It seems our community is under spam attack! It is getting spammed by few LOVE Specialists! I would kindly ask for users who has outstanding questions to “repost” their questions once Microsoft folks resolves this attack!

I feel like CAPTCHA will be added soon to the community to avoid such spammers and also to annoy users!


Regards,

--
Mohammad R. Daoud MVP - MCT
MCP, MCBMSP, MCTS, MCBMSS
+962 - 79 - 999 65 85
me@mohdaoud.com
http://www.di.jo

Analytical Accounting vs. Multidimensional Analysis

In earlier Dynamics GP versions, we used to use a module called MDA to manage our accounts dimensions and reduce the size of the chart of accounts, the module is very stable and works perfectly but with limited functionalities, when the Analytical Accounting was introduced, this module was retired and was no longer enhanced by Microsoft.

Personally, I been fighting with Analytical Accounting issues for many years now, I can count free hours spent to correct journals at the database level that unjustifiably corrupted and was not linked to the correct figures, which makes it a little bit annoying.

A couple of days back I seen a “conspiracy” being prepared between GP MVPs (including me!) against the Analytical Accounting pushing hard to get the MDA module back to track and enhanced to compete the AA module.

Frank has created the Connect request and we all voted to get this done, we need your help getting this ranked to the top of the list and to be considered in the very near release:

https://connect.microsoft.com/dynamicssuggestions/feedback/details/907907/bring-mda-back-to-dynamics-gp


Regards,

--
Mohammad R. Daoud MVP - MCT
MCP, MCBMSP, MCTS, MCBMSS
+962 - 79 - 999 65 85
me@mohdaoud.com
http://www.di.jo

Thursday, June 5, 2014

Dynamics GP 2013 - Web Client Only Users & Active Directory Integration (LDAP)

This morning I been thinking about the new security structure for Dynamics GP web-client user who does not have SQL Users, and how these users will interact with SQL Server, I had to go through this as I have a client who’s running a very strict policy in granting SQL permissions for domain users.

Getting through this, I have created few users with multiple scenarios as below:

  1. The first user linked to domain account called that “TEST1”, but didn’t check “Web Client user only (no SQL Server Account)”
  2. The second user linked to domain account called that “TEST2”, and checked the “Web Client user only (no SQL Server Account)” option.

I have noticed that the first case created an “SQL User Account” called “TEST1” and didn’t granted the domain user any access to the database, and the second didn’t create any users which been a mystery to me understanding which user will be used to access the SQL Server!

To test this I have modified the GL00100 table and added a new column called “UserName” –this is for testing only, you cannot do this on GP tables!- and set the default value for this column to be “SUSER_SNAME()” function which returns the user who’s currently logged in and started my testing by creating new accounts!

Logged in by TEST1 to the web client and created a new account, the result was somehow wired, the user who was recorded was “DYNSA”

image

Logged in by TEST2 to the web client and created a new account, the result was the same, the user who was recorded was “DYNSA” as well.

Then logged in but selected “SQL Authentication” option from the login page:

image

The result was as expected, the logged in user was “TEST1”!

Now it been clear, all windows authentication users will be using one account to access the SQL, the login is the one you specified during the installation of the web client, so if you been counting on the user who is currently logged in in your customizations you might need to review your code!

Hope that helps giving you a good understanding to the new security process.


Regards,

--
Mohammad R. Daoud MVP - MCT
MCP, MCBMSP, MCTS, MCBMSS
+962 - 79 - 999 65 85
me@mohdaoud.com
http://www.di.jo

Dynamics GP 2013 R2 upgrade: The following SQL statement produced an error: exec wfDeployClrAssemblies

During the upgrade process to Dynamics GP 2013 R2 with one of my customers we got the error in the subject, the issue is with dropping one of the SQL level Assemblies called “System.DirectoryServices” that been used by “Microsoft.Dynamics.GP.WorkflowGP.WorkflowEngine”.

The "System.DirectoryServices" assembly is being used by the Workflow module in Dynamics GP, if you have workflow installed you will not be able to drop this reference as you will be having another assembly depending on this and the other assembly is being used by 7 functions and stored procedures.

This assembly basically is used to connect your active directory and get the needed details that are being used by the system, dropping all these objects is safe as the upgrade process will automatically create them back for you.

To resolve the issue, first find the following functions and stored procedures, right click them one by one and hit drop:

image

Go to DYNAMICS database and navigate “Programmability>> Assemblies” and find “Microsoft.Dynamics.GP.WorkflowGP.WorkflowEngine”, right click the assembly and hit drop and then drop “System.DirectoryServices”:

image

Reinitiate Dynamics GP Utilities and and the upgrade will proceed safely, don’t worry about the deleted objects as the upgrade will recreate them all.

Hope that this helps.


Regards,

--
Mohammad R. Daoud MVP - MCT
MCP, MCBMSP, MCTS, MCBMSS
+962 - 79 - 999 65 85
me@mohdaoud.com
http://www.di.jo

Update Currency Index field across all database

You might need to change the currency index for one of your currencies, I needed this during a consolidation project for multiple DYNAMICS databases and needed to change the currency index field for all company tables, take a look into the below script, I have used the “Information_Schema” to get all columns that are called “CURRNIDX” and updated these using SQL Cursor, considering that I taking a backup for each table before doing the operation:

DECLARE @Statement VARCHAR(8000)
DECLARE @TABLENAME VARCHAR(500)
DECLARE CURR Cursor FOR
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'CURRNIDX' AND COLUMN_DEFAULT IS NOT NULL
OPEN CURR
FETCH NEXT FROM CURR INTO @TABLENAME
WHILE @@FETCH_STATUS = 0
BEGIN
SET @Statement = 'SELECT * INTO ' + @TABLENAME + '_BAK FROM ' + @TABLENAME
EXEC (@Statement)

SET @Statement = 'UPDATE ' + @TABLENAME + ' SET CURRNIDX = [NEW CURRENCY ID] WHERE CURRNIDX = [OLD CURRENCY ID]'
EXEC (@Statement)

FETCH NEXT FROM CURR INTO @TABLENAME
END
CLOSE CURR
DEALLOCATE CURR




Regards,

--
Mohammad R. Daoud MVP - MCT
MCP, MCBMSP, MCTS, MCBMSS
+962 - 79 - 999 65 85
me@mohdaoud.com
http://www.di.jo

Related Posts:

Related Posts with Thumbnails