Management Reporter versions

BY VICTORIA YUDIN

If anyone has other versions, please let me know and I will update this list.

Management Reporter 2.0 
SP 1 : 2.0.1663.3
FP 1 : 2.0.1664.19
SP 2 : 2.0.1700.31
SP 2 Update : 2.0.1700.66

Management Reporter 2012
RTM : 2.1.1026.37
RU1 : 2.1.1028.0
RU2 : 2.1.1029.30
RU3 : 2.1.1032.30
RU4 : 2.1.1033.30
RU5* : 2.1.1037.15
CU6 : 2.1.6041.36
CU7 : 2.1.7044.43
CU8 : 2.1.8001.0
CU9 : 2.1.9001.11
CU10 : 2.1.10001.112
CU11 : 2.1.11001.1
CU12 : 2.1.12000.26
CU13 : 2.12.13001.13

* This build number for RU 5 includes a hot fix. From what I have found, the original RU 5 was build number was 2.1.1037.12
Downloads for Management Reporter 2012 can be found here on CustomerSource (you will need a login).

How to identify the Security Tasks and Security Roles associated with a specific window or report

by David Musgrave

Microsoft Dynamics GP version 10.0 introduces a new pessimistic task and role based security model. This model is defined in the following way:

Access to all windows, tables, reports and miscellaneous permissions are classed as Security Operations.
A set of Security Operations required to perform a specific task are assigned to a Security Task.
Multiple Security Tasks required to perform a specific role are assigned to a Security Role.
Each User and Company combination can then have multiple Security Roles assigned to it.
Note: Operations may be assigned to multiple Security Tasks and Security Tasks may be assigned to multiple Security Roles.

In the situation when a system administrator knows which window (or report) they wish to grant access to a user, but does not know what Security Tasks or Security Roles are associated with the window, there is no simple method to obtain this information from within the application.  It would be possible to scroll through each Security Task on the Security Task Setup window (Microsoft Dynamics GP >> Tools >> Setup >> System >> Security Tasks) and check if the window is selected, but this is time consuming.  The Print Operation Access report which can be printed after selecting the window will show which users have access to the window, but not how that access was obtained based on the Security Roles and Security Tasks.

To obtain the data we will use a new Security Resource Descriptions table (Technical Name: syCurrentResources (SY09400) table) which was added to v10.0 to create a SQL Query to obtain the information.  This table is initially empty, but can be populated by running the Clear Data File Maintenance process on it. The system will then rebuild the contents based on the current installed dictionaries.

Below are the steps to populate the Security Resource Descriptions table:

  1. Click Microsoft Dynamics GP, point to Maintenance, and then click Clear Data to open the Clear Data window.
  2. On the Display menu, click Physical.   
  3. In the Series list, click System. 
  4. In the Tables pane, click the Security Resource Descriptions table, and then click Insert. 
  5. Click OK. 
  6. Click Yes. 
  7. In the Report Destination window, select the Screen check box, and then click OK to send the report to the screen. 
  8. Close the report.
Now that the Security Resource Descriptions table has been populated we can use it in a SQL Query from SQL Query Analyzer (SQL Server 2000) or SQL Server Management (SQL Server 2005). The Query below will display the Security Roles and Security Tasks associated with a specific window or report as selected by changing the Display Name on the last line of the query.

SQL Query:
SELECT  ISNULL(A.SECURITYROLEID,'') AS SECURITYROLEID, ISNULL(M.SECURITYROLENAME,'') AS SECURITYROLENAME, --ISNULL(M.SECURITYROLEDESC,'') AS SECURITYROLEDESC,
 ISNULL(O.SECURITYTASKID,'') AS SECURITYTASKID, ISNULL(T.SECURITYTASKNAME,'') AS SECURITYTASKNAME, --ISNULL(T.SECURITYTASKDESC,'') AS SECURITYTASKDESC,
 R.PRODNAME, R.TYPESTR, R.DSPLNAME, R.RESTECHNAME, R.DICTID, R.SECRESTYPE, R.SECURITYID
FROM DYNAMICS.dbo.SY09400 R
FULL JOIN DYNAMICS.dbo.SY10700 O ON R.DICTID = O.DICTID AND O.SECRESTYPE = R.SECRESTYPE AND O.SECURITYID = R.SECURITYID
FULL JOIN DYNAMICS.dbo.SY09000 T ON T.SECURITYTASKID = O.SECURITYTASKID
FULL JOIN DYNAMICS.dbo.SY10600 A ON A.SECURITYTASKID = T.SECURITYTASKID
FULL JOIN DYNAMICS.dbo.SY09100 M ON M.SECURITYROLEID = A.SECURITYROLEID
WHERE R.DSPLNAME = '<Display_Name>'

Note: The <Display_Name> placeholder represents the actual display name. For example, the display name may be "Sales Transaction Entry".
Below are the example results based on a default installation for 'Sales Transaction Entry':

Result Set

SECURITYROLEID          SECURITYROLENAME                SECURITYTASKID          SECURITYTASKNAME        PRODNAME                TYPESTR         DSPLNAME                        RESTECHNAME     DICTID  SECRESTYPE      SECURITYID
----------------------- ------------------------------- ----------------------- ----------------------- ----------------------- --------------- ------------------------------- --------------- ------- --------------- ----------
BOOKKEEPER*             Bookkeeper                      TRX_SALES_001*          Enter SOP transactions  Microsoft Dynamics GP   Windows         Sales Transaction Entry         SOP_Entry       0       2               619
CUSTOMER SERVICE REP*   Customer Service Representative TRX_SALES_001*          Enter SOP transactions  Microsoft Dynamics GP   Windows         Sales Transaction Entry         SOP_Entry       0       2               619
OPERATIONS MANAGER*     Operations Manager              TRX_SALES_001*          Enter SOP transactions  Microsoft Dynamics GP   Windows         Sales Transaction Entry         SOP_Entry       0       2               619
SHIPPING AND RECEIVING* Shipping and Receiving          TRX_SALES_001*          Enter SOP transactions  Microsoft Dynamics GP   Windows         Sales Transaction Entry         SOP_Entry       0       2               619

If there are no Security Roles assigned to the Security Tasks, they will show as blank. If there are no Security Tasks assigned to the Operation, they will also show as blank.
Security Table Information
Security Operations for a Security Task are stored in table sySecurityAssignTaskOperations (SY10700).
Security Tasks are defined in table sySecurityMSTRTask (SY09000).
Security Tasks for a Security Role are stored in table sySecurityAssignTaskRole (SY10600).
Security Roles are defined in table sySecurityMSTRRole (SY09100).
Security Roles for a User and Company combination are stored in table sySecurityAssignUserRole (SY10500).
Also see the following post for how to use the Support Debugging Tool for Microsoft Dynamics GP to achieve the same results:
How to identify the Security Tasks and Security Roles using the Support Debugging Tool
Edit: Build 10 of the Support Debugging Tool now includes a Security Information window which can be opened from the Security Profiler and Resource Information windows.  This window will display the Security Tasks and Security Roles associated with the select resource and provide easy navigation to the security windows to make changes if desired. Just right click and select Security Information to open the window. For more information see Support Debugging Tool Build 10 released.

Recurring appointments without counting weekends in Outlook

So here's the deal with the code. You'll want to copy this into a standard module in Outlook, and update the following parts:

-The number of days you wish to increment your appointments goes with "lDaysToAdd". It's currently set to 5
-The last day you'd want an appointment to be created on goes in "dtMaxDay". Spell it out in full format. (ie "December 26, 2006")
-Update the Bank holiday string. Feel free to add as many as you want, but put them in order, and don't forget the "& sDlmtr & " part between each one.

Then save your project. If you've never run code from Outlook before, you may have to set your macro security warnings to a lower level, then exit and restart Outlook to allow the code to run.
Once you have the code in place, open the appointment you wish to copy, then run the code. Just as a note, it does not create them as official "Recurring Appointments", but rather as individual ones.

'--------------------------------------------------------------------------------------------------


Option Explicit
Sub RecurAppointment()
'Macro created 04/22/2006 21:45 by Ken Puls
'Macro Purpose: Copy a currently existing appointment to a certain number
' of days out, ignoring weekends and bank holidays
'
'NOTE: Don't forget to open the instance of the appointment you wish to
' increment before running this code!
Dim iInspct As Inspector
Dim oActiveAppoint As AppointmentItem
Dim oNewAppoint As AppointmentItem
Dim lDaysToAdd As Long
Dim lTempdays As Long
Dim lAryCount As Long
Dim dtCurrentDay As Date
Dim dtMaxDay As Date
Dim aryHolidays() As String
Dim sHolidays As String
Const sDlmtr = "/"
'Enter your repeat cycle, stop date here
lDaysToAdd = 5
dtMaxDay = "May 26, 2006"
'Set your bank holidays here. Don't forget the '& sDlmtr &' between each date,
'make sure to spell out your dates in long hand format, and ensure that all dates
'are in ASCENDING DATE ORDER!
sHolidays = _
"January 2, 2006" & sDlmtr & _
"April 14, 2006" & sDlmtr & _
"April 17 2006" & sDlmtr & _
"May 22, 2006" & sDlmtr & _
"July 3, 2006" & sDlmtr & _
"August 7, 2006" & sDlmtr & _
"September 4, 2006" & sDlmtr & _
"October 9, 2006" & sDlmtr & _
"November 13, 2006" & sDlmtr & _
"December 25, 2006" & sDlmtr & _
"December 26, 2006"
'Send any errors to the error handler to clean up before exit
On Error GoTo ErrHandler
'Split the bank holiday string above into an array for inspection later
aryHolidays = Split(sHolidays, sDlmtr)
'Bind to the active inspector window, or exit routine if an inspector
'window is not active
Set iInspct = ActiveInspector
If iInspct Is Nothing Then GoTo ErrHandler
'Lock in to active appointment and record the start date
Set oActiveAppoint = iInspct.CurrentItem
dtCurrentDay = oActiveAppoint.Start
'Create new appointments
Do Until dtCurrentDay > dtMaxDay
'Find the next day...
For lTempdays = 1 To lDaysToAdd
'Advance other days
Select Case Format((dtCurrentDay), "ddd", vbSunday)
Case Is = "Fri"
'Skip Sat & Sun and go to Monday
dtCurrentDay = dtCurrentDay + 3
Case Is = "Sat"
'This should never happen since Friday will advance
'past weekend days
dtCurrentDay = dtCurrentDay + 2
Case Is = "Sun"
'This should never happen since Friday will advance
'past weekend days
dtCurrentDay = dtCurrentDay + 1
Case Else
'Add one day to move to next day
dtCurrentDay = dtCurrentDay + 1
End Select
'Deal with bank holidays, advancing the date a day if required
For lAryCount = LBound(aryHolidays) To UBound(aryHolidays)
If InStr(1, aryHolidays(lAryCount), _
Format((dtCurrentDay), "mmmm dd, yyyy", vbSunday)) _
Then dtCurrentDay = dtCurrentDay + 1
Next lAryCount
Next lTempdays
'Check that day is not higher than max range
'(Int used to remove fractional days from appointment)
If Int(dtCurrentDay) > Int(dtMaxDay) Then Exit Do
'Create the new appointment
Set oNewAppoint = CreateItem(olAppointmentItem)
With oNewAppoint
.AllDayEvent = oActiveAppoint.AllDayEvent
.Body = oActiveAppoint.Body
.Subject = oActiveAppoint.Subject
.Start = dtCurrentDay
.End = dtCurrentDay + (oActiveAppoint.End - oActiveAppoint.Start)
.Save
End With
Loop
'Clean up and exit
ErrHandler:
Set iInspct = Nothing
End Sub

'-----------------------------------------------------------------------------

by Ken Puls, VBAX

How to identify the Security Tasks and Security Roles associated with a specific window or report in Microsoft Dynamics GP

by David Musgrave

Microsoft Dynamics GP version 10.0 introduces a new pessimistic task and role based security model. This model is defined in the following way:

  • Access to all windows, tables, reports and miscellaneous permissions are classed as Security Operations.
  • A set of Security Operations required to perform a specific task are assigned to a Security Task.
  • Multiple Security Tasks required to perform a specific role are assigned to a Security Role.
  • Each User and Company combination can then have multiple Security Roles assigned to it.
Note: Operations may be assigned to multiple Security Tasks and Security Tasks may be assigned to multiple Security Roles.
 
In the situation when a system administrator knows which window (or report) they wish to grant access to a user, but does not know what Security Tasks or Security Roles are associated with the window, there is no simple method to obtain this information from within the application.  It would be possible to scroll through each Security Task on the Security Task Setup window (Microsoft Dynamics GP >> Tools >> Setup >> System >> Security Tasks) and check if the window is selected, but this is time consuming.  The Print Operation Access report which can be printed after selecting the window will show which users have access to the window, but not how that access was obtained based on the Security Roles and Security Tasks.

To obtain the data we will use a new Security Resource Descriptions table (Technical Name: syCurrentResources (SY09400) table) which was added to v10.0 to create a SQL Query to obtain the information.  This table is initially empty, but can be populated by running the Clear Data File Maintenance process on it. The system will then rebuild the contents based on the current installed dictionaries.

Below are the steps to populate the Security Resource Descriptions table:
  • Click Microsoft Dynamics GP, point to Maintenance, and then click Clear Data to open the Clear Data window.
  • On the Display menu, click Physical. 
  • In the Series list, click System. 
  • In the Tables pane, click the Security Resource Descriptions table, and then click Insert. 
  • Click OK. 
  • Click Yes.  
  • In the Report Destination window, select the Screen check box, and then click OK to send the report to the screen. 
  • Close the report.
Now that the Security Resource Descriptions table has been populated we can use it in a SQL Query from SQL Query Analyzer (SQL Server 2000) or SQL Server Management (SQL Server 2005). The Query below will display the Security Roles and Security Tasks associated with a specific window or report as selected by changing the Display Name on the last line of the query.

SQL Query:
SELECT  ISNULL(A.SECURITYROLEID,'') AS SECURITYROLEID, ISNULL(M.SECURITYROLENAME,'') AS SECURITYROLENAME, --ISNULL(M.SECURITYROLEDESC,'') AS SECURITYROLEDESC,
 ISNULL(O.SECURITYTASKID,'') AS SECURITYTASKID, ISNULL(T.SECURITYTASKNAME,'') AS SECURITYTASKNAME, --ISNULL(T.SECURITYTASKDESC,'') AS SECURITYTASKDESC,
 R.PRODNAME, R.TYPESTR, R.DSPLNAME, R.RESTECHNAME, R.DICTID, R.SECRESTYPE, R.SECURITYID
FROM DYNAMICS.dbo.SY09400 R
FULL JOIN DYNAMICS.dbo.SY10700 O ON R.DICTID = O.DICTID AND O.SECRESTYPE = R.SECRESTYPE AND O.SECURITYID = R.SECURITYID
FULL JOIN DYNAMICS.dbo.SY09000 T ON T.SECURITYTASKID = O.SECURITYTASKID
FULL JOIN DYNAMICS.dbo.SY10600 A ON A.SECURITYTASKID = T.SECURITYTASKID
FULL JOIN DYNAMICS.dbo.SY09100 M ON M.SECURITYROLEID = A.SECURITYROLEID
WHERE R.DSPLNAME = '<Display_Name>'

Note: The <Display_Name> placeholder represents the actual display name. For example, the display name may be "Sales Transaction Entry".
Below are the example results based on a default installation for 'Sales Transaction Entry':

Result Set:
SECURITYROLEID          SECURITYROLENAME                SECURITYTASKID          SECURITYTASKNAME        PRODNAME                TYPESTR         DSPLNAME                        RESTECHNAME     DICTID  SECRESTYPE      SECURITYID
----------------------- ------------------------------- ----------------------- ----------------------- ----------------------- --------------- ------------------------------- --------------- ------- --------------- ----------
BOOKKEEPER*             Bookkeeper                      TRX_SALES_001*          Enter SOP transactions  Microsoft Dynamics GP   Windows         Sales Transaction Entry         SOP_Entry       0       2               619
CUSTOMER SERVICE REP*   Customer Service Representative TRX_SALES_001*          Enter SOP transactions  Microsoft Dynamics GP   Windows         Sales Transaction Entry         SOP_Entry       0       2               619
OPERATIONS MANAGER*     Operations Manager              TRX_SALES_001*          Enter SOP transactions  Microsoft Dynamics GP   Windows         Sales Transaction Entry         SOP_Entry       0       2               619
SHIPPING AND RECEIVING* Shipping and Receiving          TRX_SALES_001*          Enter SOP transactions  Microsoft Dynamics GP   Windows         Sales Transaction Entry         SOP_Entry       0       2               619

If there are no Security Roles assigned to the Security Tasks, they will show as blank. If there are no Security Tasks assigned to the Operation, they will also show as blank.

Security Table Information
Security Operations for a Security Task are stored in table sySecurityAssignTaskOperations (SY10700). 
Security Tasks are defined in table sySecurityMSTRTask (SY09000).
Security Tasks for a Security Role are stored in table sySecurityAssignTaskRole (SY10600).
Security Roles are defined in table sySecurityMSTRRole (SY09100).
Security Roles for a User and Company combination are stored in table sySecurityAssignUserRole (SY10500).

Removing Internal Excel passwords

' DISCLAIMER: Please note that breaking password protection MAY violate laws or regulations.
' --------------------------------------------------------------------------------------------------------------------
' by McGimpsey & Associates

Public Sub AllInternalPasswords()
        Const DBLSPACE As String = vbNewLine & vbNewLine
        Const AUTHORS As String = DBLSPACE & vbNewLine & _
                "Adapted from Bob McCormick base code by" & _
                "Norman Harker and JE McGimpsey"
        Const HEADER As String = "AllInternalPasswords User Message"
        Const VERSION As String = DBLSPACE & "Version 1.1.1 2003-Apr-04"
        Const REPBACK As String = DBLSPACE & "Please report failure " & _
                "to the microsoft.public.excel.programming newsgroup."
        Const ALLCLEAR As String = DBLSPACE & "The workbook should " & _
                "now be free of all password protection, so make sure you:" & _
                DBLSPACE & "SAVE IT NOW!" & DBLSPACE & "and also" & _
                DBLSPACE & "BACKUP!, BACKUP!!, BACKUP!!!" & _
                DBLSPACE & "Also, remember that the password was " & _
                "put there for a reason. Don't stuff up crucial formulas " & _
                "or data." & DBLSPACE & "Access and use of some data " & _
                "may be an offense. If in doubt, don't."
        Const MSGNOPWORDS1 As String = "There were no passwords on " & _
                "sheets, or workbook structure or windows." & AUTHORS & VERSION
        Const MSGNOPWORDS2 As String = "There was no protection to " & _
                "workbook structure or windows." & DBLSPACE & _
                "Proceeding to unprotect sheets." & AUTHORS & VERSION
        Const MSGTAKETIME As String = "After pressing OK button this " & _
                "will take some time." & DBLSPACE & "Amount of time " & _
                "depends on how many different passwords, the " & _
                "passwords, and your computer's specification." & DBLSPACE & _
                "Just be patient! Make me a coffee!" & AUTHORS & VERSION
        Const MSGPWORDFOUND1 As String = "You had a Worksheet " & _
                "Structure or Windows Password set." & DBLSPACE & _
                "The password found was: " & DBLSPACE & "$$" & DBLSPACE & _
                "Note it down for potential future use in other workbooks by " & _
                "the same person who set this password." & DBLSPACE & _
                "Now to check and clear other passwords." & AUTHORS & VERSION
        Const MSGPWORDFOUND2 As String = "You had a Worksheet " & _
                "password set." & DBLSPACE & "The password found was: " & _
                DBLSPACE & "$$" & DBLSPACE & "Note it down for potential " & _
                "future use in other workbooks by same person who " & _
                "set this password." & DBLSPACE & "Now to check and clear " & _
                "other passwords." & AUTHORS & VERSION
        Const MSGONLYONE As String = "Only structure / windows " & _
                 "protected with the password that was just found." & _
                 ALLCLEAR & AUTHORS & VERSION & REPBACK
        Dim w1 As Worksheet, w2 As Worksheet
        Dim i As Integer, j As Integer, k As Integer, l As Integer
        Dim m As Integer, n As Integer, i1 As Integer, i2 As Integer
        Dim i3 As Integer, i4 As Integer, i5 As Integer, i6 As Integer
        Dim PWord1 As String
        Dim ShTag As Boolean, WinTag As Boolean
       
        Application.ScreenUpdating = False
        With ActiveWorkbook
            WinTag = .ProtectStructure Or .ProtectWindows
        End With
        ShTag = False
        For Each w1 In Worksheets
                ShTag = ShTag Or w1.ProtectContents
        Next w1
        If Not ShTag And Not WinTag Then
            MsgBox MSGNOPWORDS1, vbInformation, HEADER
            Exit Sub
        End If
        MsgBox MSGTAKETIME, vbInformation, HEADER
        If Not WinTag Then
            MsgBox MSGNOPWORDS2, vbInformation, HEADER
        Else
          On Error Resume Next
          Do      'dummy do loop
            For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
            For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
            For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
            For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
            With ActiveWorkbook
              .Unprotect Chr(i) & Chr(j) & Chr(k) & _
                 Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
                 Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
              If .ProtectStructure = False And _
              .ProtectWindows = False Then
                  PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _
                    Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
                    Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
                  MsgBox Application.Substitute(MSGPWORDFOUND1, _
                        "$$", PWord1), vbInformation, HEADER
                  Exit Do  'Bypass all for...nexts
              End If
            End With
            Next: Next: Next: Next: Next: Next
            Next: Next: Next: Next: Next: Next
          Loop Until True
          On Error GoTo 0
        End If
        If WinTag And Not ShTag Then
          MsgBox MSGONLYONE, vbInformation, HEADER
          Exit Sub
        End If
        On Error Resume Next
        For Each w1 In Worksheets
          'Attempt clearance with PWord1
          w1.Unprotect PWord1
        Next w1
        On Error GoTo 0
        ShTag = False
        For Each w1 In Worksheets
          'Checks for all clear ShTag triggered to 1 if not.
          ShTag = ShTag Or w1.ProtectContents
        Next w1
        If ShTag Then
            For Each w1 In Worksheets
              With w1
                If .ProtectContents Then
                  On Error Resume Next
                  Do      'Dummy do loop
                    For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
                    For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
                    For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
                    For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
                    .Unprotect Chr(i) & Chr(j) & Chr(k) & _
                      Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
                      Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
                    If Not .ProtectContents Then
                      PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _
                        Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
                        Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
                      MsgBox Application.Substitute(MSGPWORDFOUND2, _
                            "$$", PWord1), vbInformation, HEADER
                      'leverage finding Pword by trying on other sheets
                      For Each w2 In Worksheets
                        w2.Unprotect PWord1
                      Next w2
                      Exit Do  'Bypass all for...nexts
                    End If
                    Next: Next: Next: Next: Next: Next
                    Next: Next: Next: Next: Next: Next
                  Loop Until True
                  On Error GoTo 0
                End If
              End With
            Next w1
        End If
        MsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK, vbInformation, HEADER
    End Sub

Translate Function for Excel using Google Translator

CODE:

Copy following code into VBA in Excel.

'=====================================================================
Private Const strSHORTCODES As String = ",en,af,sq,ar,hy,az,eu,be,bn,bg,ca,zh,hr,cs,da,nl,eo,et,tl,fi,fr,gl,ka,de,el,gu,ht,iw,hi,hu,is,id,ga,it,ja,kn,ko,lo,la,lv,lt,mk,ms,mt,no,fa,pl,pt-PT,ro,ru,sr,sk,sl,es,sw,sv,ta,te,th,tr,uk,ur,vi,cy,yi"

Public Enum eLanguage
    Auto_Detect     ' 0
    English         ' 1
    Afrikaans       ' 2
    Albanian        ' 3
    Arabic          ' 4
    Armenian        ' 5
    Azerbaijani     ' 6
    Basque          ' 7
    Belarusian      ' 8
    Bengali         ' 9
    Bulgarian       ' 10
    Catalan         ' 11
    Chinese         ' 12
    Croatian        ' 13
    Czech           ' 14
    Danish          ' 15
    Dutch           ' 16
    Esperanto       ' 17
    Estonian        ' 18
    Filipino        ' 19
    Finnish         ' 20
    French          ' 21
    Galician        ' 22
    Georgian        ' 23
    German          ' 24
    Greek           ' 25
    Gujarati        ' 26
    Haitian_Creole  ' 27
    Hebrew          ' 28
    Hindi           ' 29
    Hungarian       ' 30
    Icelandic       ' 31
    Indonesian      ' 32
    Irish           ' 33
    Italian         ' 34
    '***anese       ' 35
    Kannada         ' 36
    Korean          ' 37
    Lao             ' 38
    Latin           ' 39
    Latvian         ' 40
    Lithuanian      ' 41
    Macedonian      ' 42
    Malay           ' 43
    Maltese         ' 44
    Norwegian       ' 45
    Persian         ' 46
    Polish          ' 47
    Portuguese      ' 48
    Romanian        ' 49
    Russian         ' 50
    Serbian         ' 51
    Slovak          ' 52
    Slovenian       ' 53
    Spanish         ' 54
    Swahili         ' 55
    Swedish         ' 56
    Tamil           ' 57
    Telugu          ' 58
    Thai            ' 59
    Turkish         ' 60
    Ukrainian       ' 61
    Urdu            ' 62
    Vietnamese      ' 63
    Welsh           ' 64
    Yiddish         ' 65
End Enum

Public Function FIC_Translate(ByVal strText As String, _
                          Optional ByVal eFrom As eLanguage = Auto_Detect, _
                          Optional ByVal eTo As eLanguage = English) As String
    Dim strUrl As String
    Dim strResult As String

    strText = Replace$(strText, Chr$(32), "%20")
    strText = Replace$(strText, Chr$(160), "%20")

    strUrl = "http://translate.google.com/translate_a/t?client=t&text={S}&hl=en&sl={F}&tl={T}&multires=1&pc=0&rom=1&sc=1"
    strUrl = Replace$(strUrl, "{S}", strText)
    strUrl = Replace$(strUrl, "{F}", Split(strSHORTCODES, ",")(eFrom))
    strUrl = Replace$(strUrl, "{T}", Split(strSHORTCODES, ",")(eTo))

    With CreateObject("MSXML2.XMLHTTP")
        Call .Open("get", strUrl, False)
        Call .Send
        strResult = .responseText
    End With

    strResult = Replace$(Mid$(CStr(Split(strResult, ",")(0)), 4), Chr$(34), "")
    Translate = strResult
End Function
'========================================================

CODE EXAMPLE:

For testing do as follows:

=FIC_Translate("I love cheese",5,8)

by http://www.mrexcel.com/

Frequently asked questions about the home pages and area pages features in Microsoft Dynamics GP

Q1: Where can I find more information about home pages in Microsoft Dynamics GP?

A1: The SystemUserGuide.pdf file includes more information about home pages.

To obtain user guides for Microsoft Dynamics GP, visit the following Microsoft Web site:

https://mbs.microsoft.com/customersource/support/documentation/UserGuides/gp_userguides.htm
Q2: What occurs when I select an industry and then select a role? Are the home pages different for the different industries?

A2: The default settings for home pages are the same regardless of the industry. However, home pages use specific industry information to provide a refined list of roles to the user. This refined list enables users to find applicable roles more easily.

Q3: After I select a home page role, can I change the role?

A3: Yes. In the upper-right corner of the home page, click Customize this page, and then click Change Role.

Q4: If I change roles, what information is removed?

A4: The home page layout is changed. This change includes the order of the areas on the home page and whether these areas are turned on or are turned off. Specifically, you experience the following behavior:
  • The Microsoft Office Outlook area, the Quick Links area, and the Metrics area are changed.
  • The My Reports area is not changed.
  • Reminder settings for the new role are added to the Reminders area. However, existing reminders are not removed.
Q5: What determines the timing of the home page refresh operation in Microsoft Dynamics GP? How does this timing affect resource usage?

A5: After a user logs on to Microsoft Dynamics GP, the home page refreshes every 60 minutes. Therefore, as long as all users do not log on at the same time, the refresh operation is staggered. Therefore, Microsoft Dynamics performance is usually not adversely affected.

The amount of resources that are required for the home page depends on the options that are configured for a particular user. Additional reminders, tasks, and metrics on the home page require an increased amount of resources during the home page refresh operation. Metrics items are the most resource-intensive items.

Q6: If a user makes a change to a home page, are the settings for the particular role changed?

A6: No. When a user makes a change to a home page, the change only applies to that particular user.

Q7: Can the Administrator assign a role to all users?

A7: The Administrator can log on to Microsoft Dynamics GP as each user, and then select the role for each user. To log on by using each user ID, the Administrator must have the password for each user. The Administrator can also run the following script to automatically set the role for all users who do not have a role assigned. These users have the Blank home page assigned. This script also sets the options so that the home page does not display at logon, and the home page does not refresh after an hour.
 
USE DYNAMICS
set nocount on
declare @Userid char(15)
declare cDispHP cursor for  
  select A.USERID
  from SY01400 A left join SY08000 B on A.USERID = B.USERID
  where B.USERID is null or B.DISPHP <> 0
open cDispHP 
while 1 = 1
begin
 fetch next from cDispHP into @Userid
 if @@FETCH_STATUS <> 0 begin
  close cDispHP 
  deallocate cDispHP 
  break
 end

 if exists (select DISPHP from DYNAMICS.dbo.SY08000 where USERID = @Userid)
 begin
  print 'adjusting ' + @Userid
  update DYNAMICS.dbo.SY08000 
  set DISPHP = 0
  where USERID = @Userid
 end
 else begin
  print 'adding ' + @Userid
  insert DYNAMICS.dbo.SY08000 ( USERID, DISPHP, REFRSHHP, User_Role )
  values ( @Userid, 0, 0, 121 )
 end
end /* while */
set nocount off
 

Q8: Can the Administrator lock down the home page so that users cannot customize it?

A8: The Administrator can revoke security access to the Customize Home Page dialog box. This prevents users from customizing the home page and from customizing each area of the home page. Therefore, users cannot add an area to the home page. Also, users cannot remove an area from the home page.

To revoke the security access in Microsoft Dynamics GP 9.0, follow these steps:
  1. Click Tools, click Setup, click System, and then click Security.
  2. In the User ID area, select the user ID.
  3. In the Company area, select the company database.
  4. In the Type area, select Windows.
  5. In the Series area, select System.
  6. Double-click Customize Home Page to remove access to the window.
  7. Click OK.
To revoke the security access in Microsoft Dynamics GP 10.0 and Microsoft Dynamics GP 2010, follow these steps:
  1. On the Microsoft Dynamics GP menu, click Tools, click Setup, click System, and then click Security Tasks.
  2. In the Task ID area, select the DEFAULTUSER.
  3. In the Product area, select Microsoft Dynamics GP.
  4. In the Type area, select Windows.
  5. In the Series area, select System.
  6. Click to clear the Customize Home Page check box to remove access to the window.
  7. Click OK.
Note By default, access to the Customize Home Page window is granted to the DEFAULTUSER security task. These steps revoke access to this window in the DEFAULTUSER security task. If another security task grants access to this window, you must follow these steps for that security task.

Q9: Can I create new roles for the home page?

A9: Yes. You can create new roles by using a Dexterity customization. For more information about how to create new roles, see the Integration Guide manual (IG.pdf) that is installed with Dexterity.

Q10: How can I disable the home page?

A10: For information about how to disable the home page, click the following article number to view the article in the Microsoft Knowledge Base:
917998
How to disable the home page feature in Microsoft Dynamics GP

Q11: What versions of Microsoft Office are supported by the Microsoft Dynamics GP home pages?

A11:Microsoft Dynamics GP 2010 supports the 2007 Microsoft Office programs and the 2010 Microsoft Office programs.

Microsoft Dynamics GP 10.0 supports the 2007 Microsoft Office programs, Microsoft Office 2003, and Microsoft Office XP. Microsoft Dynamics GP 9.0 supports, Microsoft Office 2003, Microsoft Office XP, and Microsoft Office 2000.

To obtain the Office Web Components for Office 2007, visit the following Microsoft Web site:
http://www.microsoft.com/downloads/details.aspx?familyid=C815DFFA-D5F3-4B71-BF46-13721BD44682&displaylang=en

Note The Office Web Components for Office 2007 are a service pack for the Office Web Components for Office 2003. You must install Office Web Components for Office 2003 before you install this service pack.

To obtain the Office Web Components for Office 2003, visit the following Microsoft Web site:
http://www.microsoft.com/downloads/details.aspx?familyid=7287252C-402E-4F72-97A5-E0FD290D4B76&displaylang=en
To obtain the Office Web Components for Office XP, visit the following Microsoft Web site:
http://www.microsoft.com/downloads/details.aspx?FamilyID=982b0359-0a86-4fb2-a7ee-5f3a499515dd&displaylang=en

Q12: Is Microsoft Office Outlook the only e-mail application that integrates with the home page?

A12: Outlook is the only e-mail application that is supported.

Q13: How do I disable the Microsoft Office Outlook content from the home page for all users?

A13: Run the following script from SQL Query Analyzer, from the Support Administrator Console, or from Microsoft SQL Server Management Studio.
 
UPDATE A SET COLNUMBR = 0, SEQNUMBR = 0, Visible = 0 FROM DYNAMICS.dbo.SY08100 A WHERE (SectionID = 2) AND 
    (DICTID = 0) AND ((COLNUMBR <> 0) OR (SEQNUMBR <> 0) OR (Visible <> 0)) 

Q14: If I connect through a terminal server, what must be verified to enable the Microsoft Office Outlook area to function?

A14: All users who connect through a terminal server must verify that they can start Outlook and that they created an Outlook profile.

Q15: How does the home page integrate with security?

A15: The Quick Links area, the Reminders area, the My Reports area, and the Metrics area integrate with the Microsoft Dynamics GP security. If a user does not have access to a window, that window is not listed in the Quick Links area. If a user does not have access to the Reminder Smart List, the reminder is not displayed in the To Do area. Also, the metrics that appear in the Metrics area are controlled by the window security settings.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:
914898
How to hide metrics from a user on the home page in Microsoft Dynamics GP 9.0

Q16: If I change my home page role, are my security settings affected?

A16: No. When a user changes a role, only the default settings that Microsoft Dynamics GP creates for the user are changed. These default settings are then filtered according to the particular user’s security settings.

Q17: How is each metric calculated?

A17: For more information about how metrics are calculated, click the following article number to view the article in the Microsoft Knowledge Base:
918263
How metrics are calculated on a home page in Microsoft Dynamics GP 9.0
Q18: Can I create new metrics, add to Quick Links, and add to My Reports for the home page?

A18: Yes. You can perform all these tasks by using a Dexterity customization. For more information about how to perform these tasks, see the Integration Guide manual (IG.pdf) that is installed with Dexterity.

Q19: If I click in the Metrics area, I can modify the displayed graph. However, when the home page is refreshed, my changes are not saved. Can I save my changes to the metrics graph?

A19: Currently, you cannot save changes to the graph in the Metrics area.

Q20: How are the SQL Server Reporting Services 2008 reports activated for the Microsoft Dynamics GP 2010 home page?

A20:In order to display the SQL Server Reporting Services 2008 reports in the Metrics part of the Microsoft Dynamics GP 2010 home page you need to do the following:
  1. Use the SQL Server Reporting Services Wizard for Microsoft Dynamics GP 2010 to deploy the reports in the ‘Charts and KPIs’ series to your report site.
  2. Open the Reporting Tools Setup window in Microsoft Dynamics GP 2010 and enter the URL to your Report Server site in SQL Server Reporting Services tab the using the following format:

    http://servername:port/ReportServer/ReportService2005.asmx

    Note You need to check the ‘Enable SQL Server Reporting Services Home Page Metrics’ option on this window.
  3. Go to the home page and click Customize this page….
  4. Click to select in Metrics.
  5. Click on the blue expansion button beside Metrics and select the SQL Server Reporting Services reports to list on your home page.

NoteYou will need permission to run these reports in SQL Server Reporting Services in order for them to display on the Microsoft Dynamics GP 2010 home page.

Q21: When I start Microsoft Dynamics GP on a terminal server, I receive the following error message on the home page:
The XML page cannot be displayed
Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.
--------------------------------------------------------------------------------
Access is denied. Error processing resource 'file:///C:/Program Files/Microsoft Dynamics/GP/Background/HomePage.xsl'.
What causes this error message?

A21: This issue occurs if roaming profiles are configured for the users. Specifically, this issue occurs because of the way in which the user profile Temp folders are mapped. To resolve this issue, reconfigure the roaming profile to remove the Temp folder from the shared network location. A user's roaming profile must be configured to use the local computer's Temp folder. The roaming profile must not be configured to use a shared network location.

Q22: When I start the home page, I receive the following error message in the Metrics area:
Metrics are not available because Microsoft Office Chart
What causes this error message?

A22: This problem is documented in the following Microsoft Knowledge Base article:
916673
Error message when you view the home page in Microsoft Dynamics GP 9.0: "Metrics are not available because Microsoft Office Chart"
To resolve this problem, install the Microsoft Office Web Components. To obtain the Office Web Components for Office 2003, visit the following Microsoft Web site:
http://www.microsoft.com/downloads/details.aspx?familyid=7287252C-402E-4F72-97A5-E0FD290D4B76&displaylang=en
To obtain the Office Web Components for Office XP, visit the following Microsoft Web site:
http://www.microsoft.com/downloads/details.aspx?FamilyID=982b0359-0a86-4fb2-a7ee-5f3a499515dd&displaylang=en
Note If you are running the 2007 Office programs, install the Office Web Components for Office 2003. If you are running Office 2000, install the Office Web Components for Office XP.

Q23: When I start Microsoft Dynamics GP, the home page displays the XML code for the home page.

A23: This issue is documented in the following Microsoft Knowledge Base article:
913822
The home page displays the XML code for the home page when you start Microsoft Dynamics GP
To resolve this issue, follow these steps:
  1. Exit Microsoft Dynamics GP.
  2. Click Start, click Run, type cmd in the Open box, and then click OK.
  3. At the command prompt, type regsvr32 MSXML3.dll, and then press ENTER.
  4. Start Microsoft Dynamics GP.
Additionally, make sure that the following items are installed on the computer on which you experience this issue:
Q24: When I log on to Microsoft Dynamics GP 9.0, I receive the following error message: "Unhandled object exception: error calling method 'get first' - Exception_Class_Object_Exception." Also, the home page is blank behind the error message.

A24: This error occurs if you are using a version of Microsoft Office that is older than Microsoft Office 2000. Microsoft Dynamics GP 9.0 supports the 2007 Microsoft Office suites, Microsoft Office 2003, Microsoft Office XP, and Microsoft Office 2000.

Q25: When I start Microsoft Dynamics GP, I may receive one or both of the following error messages:

Error Message 1
An error has occurred in the script on this page. Line: XXX Char 6 Error Object doesn’t support this property or method Code: 0 URL file:///C:/Documents%20and%20Settings/XXX/Local%20Settings/Temp/HomePage.xml Do you want to continue running scripts on this page?
Error Message 2
Metrics are not available because Microsoft Office Chart
Note Error Message 2 appears in the Metrics area.

A25: This problem occurs when the Microsoft Office Web Components are not installed. The Microsoft Office Web Components are required for the metric feature of the Microsoft Dynamics GP home page. If the computer has a Microsoft Office 2000 program or a Microsoft Office XP program installed, use the Office Web Components for Office XP. If the computer has a Microsoft Office 2003 program or a 2007 Microsoft Office program installed, use the Office Web Components for Office 2003. To obtain the Office Web Components for Office 2003, visit the following Microsoft Web site:
http://www.microsoft.com/downloads/details.aspx?familyid=7287252C-402E-4F72-97A5-E0FD290D4B76&displaylang=en
To obtain the Office Web Components for Office XP, visit the following Microsoft Web site:
http://www.microsoft.com/downloads/details.aspx?FamilyID=982b0359-0a86-4fb2-a7ee-5f3a499515dd&displaylang=en
Note You can install the Microsoft Office Web Components even if no Microsoft Office program is installed on the computer on which you receive the error message. If no Microsoft Office program is installed, install the Office Web Components for Office 2003.

Q26: How can reminders be removed from the home page?

A26: To remove reminders from the home page, use the appropriate method:

Method 1: Remove security for all reminders on the home page


  1. Log on to Microsoft Dynamics GP as the sa user.
  2. Select a company to log on to.
  3. Point to Tools, point to Setup, point to System, and then click Advanced Security.
  4. Click the user for whom you who want to remove all reminders from the home page.
  5. In the Navigation pane, expand by Menu, and then expand View.
  6. Click to clear the by Reminders check box to remove access to reminders on the home page.
  7. Click Apply.
  8. Click OK to close.

Method 2: Remove security for custom reminders that are created in SmartList on the home page


  1. Log on to Microsoft Dynamics GP as the sa user.
  2. Select a company to log on to.
  3. Point to Tools, point to Setup, point to System, and then click Advanced Security.
  4. Click the user for whom you who want to remove custom SmartList reminders from the home page.
  5. In the Navigation pane, expand by SmartList.
  6. Click to clear the check box that is under the SmartList object to which you want to remove access. For example, click to clear the check box that is under Customers Over Credit Limit.
  7. Click Apply.
  8. Click OK. The reminder will not appear the next time that the user logs on to Microsoft Dynamics GP.
Q27: How do I work around the error messages that I receive a I add a report to the My Reports section of the home page and then try to print the report?

After you add a report to the My Reports section of the home page and then try to print the report, you may receive one of the following error messages.
Error message 1
Unhandled Script Exception: Illegal Address for field 'IsPrinting in script 'PrintReport'. Script Terminated.
Error message 2
“Unhandled script exception: Cannot find report “. EXCEPTION_CLASS_SCRIPT_MISSING SCRIPT_CMD_REPORTDICT”
Note The error message that you receive depends on the report that you added to the My Reports section.

A27: This problem is fixed in Microsoft Dynamics GP 10.0 Service Pack 1. To obtain the latest update for Microsoft Dynamics GP 10.0, visit one of the following Microsoft Web sites, depending on whether you are a partner or a customer.

Partners
https://mbs.microsoft.com/partnersource/downloads/servicepack/mdgp10_patchreleases.htm?printpage=false
Customers
https://mbs.microsoft.com/customersource/downloads/servicepacks/mdgp10_patchreleases.htm?printpage=false
Q28: How do I add a report to the My Reports list on the home page?

A28:
  1. Access the report that you want to add to the My Reports list on the home page. For example, if you want to add the Item Detailed List, follow these steps:
    1. Click Reports, click Inventory, and then click Item.
    2. In the Inventory Item Reports window, click New if you are creating a new report, or select one of the available report options.
    3. To open the Inventory Item Report Options window, click Modify.
  2. In the Report Options window, click My Reports on the Report Options menu bar.
  3. In the "Add to My Reports" window, enter information in the Name field, or accept the default information.
  4. To close the window, click Ok.
  5. To close the report windows, click the Close button.
To view the reports in the My Reports list on the home page, follow these steps:
  1. To view the home page, click Home in the navigation pane, or press CTRL+1.
  2. To open the Customize Home Page window, click the Customize this page link at the top of the content pane.
  3. To display the My Reports list on the home page, click the My Reports option.
  4. To save the changes, click OK, and then close the Customize Home Page window.
  5. On the home page, expand My Reports. You will see the new report that you added to the My Reports list.
Q29: How do I remove the Outlook, Metrics, or To Do: Reminders areas of the home page for new users?

A29: To remove the Outlook, Metrics, or To Do: Reminders areas of the home page for new users, follow these steps:
  1. Access the System Preferences window. To do this, click Microsoft Dynamics GP, click Tools, click Setup, click System, and then click System Preferences.
  2. In the Home Page Defaults section, click to clear the Load To Do: Reminders, Load Metrics, or Load Microsoft Office Outlook check boxes.
Note This does not affect the existing users. This affects only new users who are created after you change these settings. See question and answer 13 if you have to disable the Outlook part of the home page for the existing users.

Q30: How do I add a Smartlist Builder object to the My Reports section on the Microsoft Dynamics GP 10.0 homepage?

A30: To add a Smartlist Builder object to the My Reports section of the homepage, follow the steps:
  1. Start Microsoft Dynamics GP 10.0 as the user who wants the SmartList Builder on their homepage.
  2. Click Microsoft Dynamics GP, point to Tools, point to SmartList Builder, and then click SmartList Builder.
  3. In the Smartlist ID box, type the ID of the Smartlist Builder that you want to add to the My Reports section of the homepage.
  4. In the Series list, note the option that is listed, and then exit SmartList Builder.
  5. In the Navigation Pane, click the series that you noted from step 4, and then click Report List.
  6. After the reports display, locate the name of the SmartList Builder object, and then click to check the report name.
  7. In the My Reports section, click Add to, type a report name, and then click OK
  8. In the Navigation Pane, click Home, expand My Reports, and then verify the report is now listed under the My Reports section.
    Note If the report is not added, refresh the homepage or exit and restart Microsoft Dynamics GP as the same user.
Q31: When you click the expand and collapse drop-down arrows on the homepage or area page, you recieve the following error message:
Internet Explorer Script Error
An error has occurred in the script on this page
Line: 320
Char: 6
Error: The system cannot find the file specified
Code: 0
URL: file:///D:/Documents%20and%20Settings/gptestuser/Local%20Settings/Temp/1/tmp10.tmp
Do you want to continue running scripts on this page?
A31: The users are using Terminal Server, and the UserData folder does not exist in the %appdata%\Microsoft\Internet Explorer\ folder. Create the UserData folder in that location.

Area pages in Microsoft Dynamics GP 10.0 and Microsoft Dynamics GP 2010

Q1: When you open a Personalized List in Microsoft Dynamics GP 10.0, there are no check boxes next to each item. Therefore, you cannot select an item.

A1: This issue occurs because the DPI settings are not set to Normal size (96 DPI). If you use Windows XP, follow these steps:
  1. Right-click the desktop, and then click Properties.
  2. Click the Settings tab, and then click Advanced.
  3. Click the General tab.
  4. Under Display, click Normal size (96 DPI) in the DPI setting list.
  5. Click OK to restart the computer.
  6. Start Microsoft Dynamics GP 10.0 or Microsoft Dynamics GP 2010, and then confirm that the issue is resolved.
If you use Windows Vista, follow these steps:
  1. Right-click the desktop, and then click Personalize.
  2. In the Personalization dialog box, click Adjust font size (DPI).

    If you are prompted for an administrator password or for a confirmation, type the password, or click Continue.
  3. In the DPI Scaling dialog box, click Default scale (96 DPI) – fit more information.
  4. Click OK.
  5. Click OK to restart the computer.
  6. Start Microsoft Dynamics GP 10.0 or Microsoft Dynamics GP 2010, and then confirm that the issue is resolved.
Originally Posted by Microsoft

Certified Supply Chain Professional (CSCP®)

The APICS SCP designation is the most widely recognized educational program designed for operations and supply chain management professionals around the world. By earning your APICS CSCP designation, you will be able to demonstrate your mastery of supply chain management best practices, significant commitment to your profession and career, distinguish yourself as an industry expert, and excel with your newly acquired specialized knowledge.          

About the Provider:
APICS The Association for Operations Management is the global leader and premier source of the body of knowledge in supply chain and operations management, including production, inventory, materials management, purchasing, and logistics, serving nearly 33,000 members globally.

The SHRM Learning System Formats for the PHR® & SPHR® Exam  
APICS’s comprehensive learning system is ideal for all types of learners. Combining print with online, multimedia and more, the learning system makes understanding, applying, practicing and reviewing something you can take in your stride.
  • Five books with approximately 1,000 pages of content, progress check questions at the end of each section, organized information from more than 150 references.
  • Pretest to determine your strengths and weaknesses, post-test to determine your progress, progress report.
  • E-flashcards, and an online glossary.
  • Practice test bank of more than 900 multiple-choice questions.
Pre-requisites:  
To qualify to take the APICS CSCP exam you need to meet one of the following criteria:
  • Bachelor’s degree or equivalent plus two years of related business experience,
    or
  • APICS CFPIM, APICS CPIM, APICS CIRM, or CPM designation plus two years of related business experience,
    or
  • Five years of related business experience*
*APICS defines “related experience” as work that is directly connected to some aspect of the supply chain. This can include raw materials extraction, transportation and logistics, procurement, manufacturing, warehousing, distribution, retail, customer service, software design and support, and other areas that directly affect the supply chain. Workers who operate transportation or materials moving equipment or machines or processing equipment that require an intermediate level of training would qualify.

Exam Information :
The CSCP is a 4-hour exam with 175 multiple-choice questions.
For more information on CSCP, please visit www.apics.org

Dexterity Chunk file wouldn't merge by Dave Dusek

This blog post is about a Dexterity support incident that I recently had that ended up to be more difficult than I originally thought.  This one should have been easy, when a chunk doesn't merge, it's usually always easy.  Except this case.  The background is the following. 
A Dexterity incident came in and the issue they were seeing was that the developer built a chunk file and when they copied the chunk file into their GP folder, the chunk wasn't merging.  No error or anything like that, it would never come up and ask you to merge the chunk file.  So that's how it started. 
I've seen enough of these cases to know what to look for.  Here's the checklist:
  1. Check the name of the chunk file. To the left of the period, there can only be eight characters, to the right there should be 3 and they should be cnk.  If there is more than eight or three, it won't merge and will just be ignored.  This is the problem 49% of the time.
     
  2. Check the version.  The major, minor numbers must be the same and build numbers on the chunk must be greater than or equal to the dictionary that is there. This would only be an issue if the your dictionary is in the GP folder - if it was previously merged.  This the the problem 49% of the time. 
     
  3. When you build the chunk, in the Product Information window, make sure you are putting in Dynamics.set for the launch file.  This field is used to determine when to merge the chunk.  If Dynamics.set is misspelled or something else put in, then the chunk won't merge.  This is the problem 2% of the time. 
So that's 100%, we should have it nailed. 
The problem is that the developer comes back and says the name of the chunk does follow the 8.3 format, the version isn't an issue because the chunk had not been previously merged so the product dictionary isn't there and the product isn't in the set file.  To top that off, they have a macro to build the chunk and the launch file is definitely Dynamics.set. 
The next step for me then is to have the developer send me the chunk and I'll try it on my machine.  So they did.  The chunk name was EFGSOPPO.cnk.  So I put the chunk in on my machine and it works fine.  So now it has to be an environment issue because it works for me. 
At this point we do a screen sharing session so I can see what is going on.  We drop the chunk in - same chunk they sent me.  I check the dex.ini and check for the line:
AutoInstallChunks=TRUE 
That line doesn't exist.  We launch GP by dragging the dynamics.set on top of the dynamics.exe.  This way we verify we are launching GP from the directory of the chunk.  Sure enough, the chunk doesn't ask to merge as GP launches.  There isn't an error or anything and it definitely didn't merge it because it is not in the set file and the chunk is still in the directory.  
So now what?  Every reason that a chunk won't merge has been covered.  It works for me so I know the chunk is solid.  The only thing I can think of is to try renaming the chunk.  It's called EFGSOPPO.cnk so we rename it to TEST.cnk.  Still won't merge.  We rename it to EFG.cnk and it merges!  So we got it to merge by renaming it to EFG.cnk, but why does that matter?  The name EFGSOPPO.cnk is certainly valid. 
So now we remove the product from the set file and get everything set back.  We download my old friend Process Monitor from the Windows Sysinternals site.  We put the EFGSOPPO.cnk back in and turn on procmon.exe.  We launch GP and after it doesn't merge, we shut off Process Monitor.  We then disengage the screen sharing session and they send me the log file. 
While I'm looking through the log file, in the File System Activity section, I can see Dexterity doing a directory query for C:\Program Files\Microsoft Dynamics\GP\*.cnk.  That is the correct location.  Then I see something interesting, Dexterity is finding a file called EFGABCPO.CNKHOLD!  After that, in the log file, it never looks for any other chunk file.  So now we have an idea of what is going on here. 
Dexterity is trying to merge the EFGABCPO.CNKHOLD and the naming convention doesn't follow the 8.3 format, so it fails.  The problem isn't with the chunk we are working with - it's with a chunk that was in the directory, and was renamed for some reason.  Once Dexterity fails loading a chunk, it doesn't go on to the next chunk, it is just done.  So that's what was happening.  We removed the EFGABCPO.CNKHOLD from the GP directory and everything then works as expected, the EFGSOPPO.cnk works as is. 
The reason the renamed EFG.cnk worked was because unwittingly, we now put EFG.cnk alphabetically in front of EFGABCPO.CNKHOLD.  So then it worked.  Our regular chunk, EFGSOPPO.cnk and TEST.CNK came after EFGABCPO.CNKHOLD so they wouldn't merge.  So now it becomes clear.   
Once again, Process Monitor helped me to see what was going on in the file system and from the clues there, we were able to figure out the issue.  The issue turned out to be one of the main causes, problem was it was on a chunk in the directory that we weren't working with.  Things come from all angles when you work in a support role.