Share via


Installing the Project Server Components

The ERP Connector for Microsoft Office Project Server 2003 includes several components that you install and configure on the Project Server computer. The following procedures assume that you have Project Server installed on a single computer configured as described in System Requirements.

Note  The Project Data Service (PDS) extensions for the Finance Projects module for internal order and project/task data import, along with the Finance WBS module for work actuals export, are available for demonstration purposes in the Bin\Archive directory in the download. You should modify and recompile them before you install them on a production Project Server computer. Review the data requirements with your mySAP™ ERP Financials business specialist before you finalize any modifications you plan to make.

In this topic, you will take the following steps to install the Project Server components of ERP Connector:

  1. Modify the PDS extensions
  2. Install the PDS extensions
  3. Create the administration Web site
  4. Add the administration page to Microsoft Office Project Web Access

Then, you need to take two additional steps that are described in the following topics to complete the ERP Connector configuration:

  1. Using the Service for EDM
  2. Editing the Enterprise Global Template

After you install all Project Server components, configure the Service for EDM, and edit the Enterprise Global template, run some tests to check the operation of ERP Connector on Project Server. For more information, see Testing. If the PDS Extensions don't work correctly, look for troubleshooting hints in Potential Problems in Installing PDS Extensions.

Modifying the PDS Extensions

In most cases you can directly use the PDS extension for the HR module of ERP Connector that is provided in the download (HRModule.dll and its related components Configuration.dll and EventLogging.dll). You will likely need to modify and recompile the Financial Projects and Financial WBS modules before installing them on a production system.

Most of the ERP Connector components have dependencies on other components in the download. If you make any modifications to Configuration.dll or EventLogging.dll, make sure that you recompile all of the components that have dependencies on them. Compile in the following order:

  1. Configuration
  2. EventLogging
  3. [SAPConnectorAdmin, HRModule, SAPCOPDSExtender, and SAPFIPDSExtender]

For example, if you modify and recompile Configuration.dll, you must then do the following, in order:

  1. Set a reference in the EventLogging project to the new Configuration.dll, and recompile EventLogging.dll.
  2. Set a reference in the SAPConnectorAdmin project to the new Configuration.dll, and recompile SAPConnectorAdmin.dll.
  3. Set references in the three PDS extension projects that rely on Configuration.dll and EventLogging.dll to those same new DLLs. Recompile HRModule.dll, SAPCOPDSExtender.dll, and SAPFIPDSExtender.dll.

The HRModule project accesses the PDS through COM, so you do not need to recompile it for your specific Project Server (unless you modify Configuration.dll or EventLogging.dll). The SAPCOPDSExtender and SAPFIPDSExtender projects each access the PDS Web service specific to your Project Server. When you make functional modifications for your production Project Server and mySAP ERP systems, you can also update the Web service reference for your specific PDS Web service.

Modifying SAPCOPDSExtender or SAPFIPDSExtender for your PDS Web service

The following steps are for the SAPCOPDSExtender project. However, you can repeat the steps for SAPFIPDSExtender if you plan to build and install that project.

To modify SAPCOPDSExtender:

  1. Edit SAPCOPDSExtender.csproj in any text editor, such as Notepad. Change the WebReferenceUrl attribute value to your Project Server computer name, and also change the virtual directory and pds.wsdl file name if necessary. For example, in the following line, change ServerName and projectserver.

    WebReferenceUrl = "http://ServerName/projectserver/pds.wsdl"

  2. To open the project, open the Microsoft Visual Studio solution file in the source directory. For example, in the SAPCOPDSExtender directory, double-click SAPCOPDSExtender.sln.

  3. On the View menu, click Solution Explorer. In Solution Explorer, click the Show All files icon, and then expand Web References and all of the nodes under PDSService.

  4. Right-click PDSService, and then click Update Web Reference. Click the Save All icon in the toolbar.

  5. Double-click the PDS.wsdl node. In the following line of PDS.wsdl, verify that ServerName is changed to the name of your Project Server computer, and that the ProjectServer virtual directory name in the location attribute is also changed if necessary.

    <soap:address location="http://ServerName/ProjectServer/PDS.WSDL" />

  6. Open the Reference.map file and verify that the url attribute of the DiscoveryClientResult element is changed to match.

  7. Open the Reference.cs file and verify that the URL value in the PDS method is changed to match.

    public PDS() {
        this.Url = "http://ServerName/ProjectServer/PDS.WSDL";
    }
    
  8. On the Build menu, click Build SAPCOPDSExtender.

  9. Copy the SAPCOPDSExtender.dll assembly you built to the Bin directory of the download, to collect all of the assemblies in one place for easier installation later.

Note  The Visual Studio projects in the download are configured to build debug versions of the assemblies. To increase performance, you can build a release version of each assembly for the final production build. To build a release version, on the Build menu, click Configuration Manager. In the Configuration Manager dialog box, click Release in the Active Solution Configuration drop-down list, click Release in the Configuration column, and then select the check box in the Build column. Build the project again. You should rebuild the release versions of all projects in the order of dependencies, as described earlier.

Installing the PDS Extensions

You can register the PDS extensions in any directory on the Project Server computer; however, you should first copy the extensions and related files to a directory that helps identify the purpose of the files. For example, create the following directory:

[Program Files]\Microsoft Office Project Server 2003\BIN\PDSExtensions\SAP

Copy the files for the ERP Connector modules you need from the download \Bin directory to the PDSExtensions\SAP directory that you just created. The Module requirement column in Table 1 shows which components are required if you install only a subset of the ERP Connector modules. For example, if you plan to install only the HR module, you need to copy only HRModule.dll, Configuration.dll, and EventLogging.dll.

Table 1. Components for the ERP Connector modules

File name Module requirement Description
Configuration.dll All modules Sets and gets values from the SAPConverterConfig.xml configuration file.
ConfigurationSchema.xsd All modules Provides schema verification for the SAPConverterConfig.xml file written by the ERP Connector administration page. Used by Configuration.dll.
EventLogging.dll All modules Provides logging of events for all ERP Connector PDS extensions.
HRModule.dll Human Resources (HR) Synchronizes mySAP ERP resources and resource data in Project Server.
SAPCOPDSExtender.dll Internal orders and project/task (CO and PS) Creates new projects in Project Server from mySAP ERP Financials CO and PS subsystems data.
SAP Schema.xsd Internal orders and project/task (CO and PS) Provides schema verification for CO import. Use the administration page to configure the directory path.
EnterpriseCustomFieldPDSExtender.dll Project/task (PS) Updates values in enterprise custom text fields; used by SAPCOPDSExtender.dll.
SAPFIPDSExtender.dll Finance WBS Exports actuals from Project Server to a file for mySAP ERP import.
actuals_csv.xsl Finance WBS Transforms XML data to comma-separated values for import to mySAP ERP.

When you have copied the PDS extensions you need to the PDSExtensions\SAP subdirectory, you need to register the extensions as COM components and also register them with Project Server.

Note  If you modify any of the PDS extensions that reference Configuration.dll and EventLogging.dll, you must be sure that all of the PDS extensions reference the same files, and that you have previously registered Configuration.dll and EventLogging.dll in the global assembly cache as described in step 3 of the procedure to register the PDS extensions.

The PDS extensions are implemented with the Microsoft .NET Framework version 1.1 and include COM Interop attributes. You can use the RegAsm.exe tool to register the DLL assemblies and create the necessary registry keys and values for COM. When you install the .NET Framework version 1.1, RegAsm.exe is placed in the following default directory:
[Windows]\Microsoft.NET\Framework\v1.1.4322

You can include that directory in the Windows Path system variable, in order to use RegAsm.exe in a Command Prompt window.

To use RegAsm.exe in a Command Prompt window:

  1. In Windows Explorer, right-click My Computer, and then click Properties.
  2. In the System Properties dialog box, click the Advanced tab, and then click Environment Variables.
  3. In the System variables list, click Path, and then click Edit.
  4. Type the following in the Variable value text box, separated from other directories by a semicolon:
    ;%SystemRoot%\Microsoft.NET\Framework\v1.1.4322

Windows searches directories in the order they are found in the Path value. Start a new Command Prompt window and type set to see the modified Path value.

To register the PDS extensions:

  1. Stop Internet Information Services (IIS) using the following command in a Command Prompt window:
    iisreset /stop

    Note  If you don't want to stop IIS for the period of time you need to perform steps 2 through 4, you can leave IIS running and use the command iisreset /restart in step 5.

  2. Register the PDS extension assemblies with RegAsm. Type the commands you need for the PDS extenders you are installing in a Command Prompt window. Replace [Program Files] with the correct path for your system, usually C:\Program Files.

    cd [Program Files]\Microsoft Office Project Server 2003\BIN\PDSExtensions\SAP
    regasm HRModule.dll /codebase
    regasm SAPCOPDSExtender.dll /codebase
    regasm EnterpriseCustomFieldPDSExtender.dll /codebase
    regasm SAPFIPDSExtender.dll /codebase
    

    Instead of using the previous commands on the Project Server computer, you can use the /regfile option on a different computer to generate a .reg file for each assembly you need and then import the files. For example:

    • Use the following command to create the HRModule.reg file for HRModule.dll:
      regasm HRModule.dll /codebase /regfile

    • Copy HRModule.reg to the Project Server computer and then use a text editor to change all of the codebase lines to use the correct path for HRModule.dll. In the example, each codebase line should be as follows:

      "CodeBase"="file:///C:/Program Files/Microsoft Office Project Server 2003/BIN/PDSExtensions/SAP/HRModule.DLL"
      
    • On the Project Server computer, double-click HRModule.reg to import it to the registry. If the class is already registered, the registration is skipped.

      Note  The download subdirectory Bin\RegFiles_Edit contains sample registry files for each of the PDS extensions, where the codebase path is "file:///C:/Program Files/Microsoft Office Project Server 2003/BIN/PDSExtensions/SAP/[extension.dll]". If you modify and recompile the extensions, you need to create your own registry files or use RegAsm directly on the Project Server computer.

  3. Register Configuration.dll and EventLogging.dll in the global assembly cache on the Project Server computer. All of the PDS extensions except EnterpriseCustomFieldPDSExtender.dll reference those assemblies. In a Command Prompt window that is set to the directory where the assemblies are located, type the following commands:

    gacutil /i Configuration.dll
    gacutil /i EventLogging.dll
    

    Alternately, you can drag the assemblies into the global assembly cache. On the Windows Start menu, click Run, type assembly in the text box, and then click OK. Drag Configuration.dll and EventLogging.dll to the assembly window to register them in the global assembly cache.

    Note  Do not register the PDS extensions in the global assembly cache because you have already used RegAsm with the /codebase option for them.

  4. Register the PDS extensions with Project Server, and register the configuration path. You can use the Extenders.reg file in the download subdirectory Bin\RegFiles_Edit. Following is the default text in Extenders.reg.

    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Project\SolutionStarter\SAP]
    "ConfigFilePath"="[path string]\\SAPConverterConfig.xml"
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\MS Project\WebClient Server\ProjectServer]
    "PDSExtensionEx1"="Project.SolutionStarter.SAP.HR.SAP_HR_PDSExtension"
    "PDSExtensionEx2"="Project.SolutionStarter.SAP.CO.SAPCOPDSExtender"
    "PDSExtensionEx3"="Project.SolutionStarter.SAP.CO.EnterpriseCustomFieldPDSExtender"
    "PDSExtensionEx4"="Project.SolutionStarter.SAP.FI.SAPFIPDSExtender"
    

    Important  Before you execute Extenders.reg, be sure to make the following changes:

    • If the SAPConverterConfig.xml file is in a different directory, change the [path string] value. In Extenders.reg, the following is the default path string:

      C:\\Program Files\\Microsoft Office Project Server 2003\\IIS Virtual Root\\SAPConnectorAdmin
      
    • If you are using the ERP Connector with a different Project Server instance, change the key name for the PDS extensions to match the Project Server virtual directory name. For example, if you created the Sample virtual directory in IIS for the Project Server sample database, change the virtual directory key name to the following:

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\MS Project\WebClient Server\Sample]
      
    • If you already have PDS extensions installed for that Project Server virtual directory, change the PDSExtensionExn names to the next available number to avoid overwriting existing values. PDS extensions are numbered consecutively. For example, if you have other extensions for PDSExtensionEx1 and PDSExtensionEx2 registered, change the PDS extension names for mySAP ERP to the following:

      "PDSExtensionEx3"="Project.SolutionStarter.SAP.HR.SAP_HR_PDSExtension"
      "PDSExtensionEx4"="Project.SolutionStarter.SAP.CO.SAPCOPDSExtender"
      "PDSExtensionEx5"="Project.SolutionStarter.SAP.CO.EnterpriseCustomFieldPDSExtender"
      "PDSExtensionEx6"="Project.SolutionStarter.SAP.FI.SAPFIPDSExtender"
      

    Delete the lines for any PDS extensions you are not installing. After you make the necessary changes, double-click Extenders.reg on the Project Server computer.

  5. Use the following command in a Command Prompt window:
    iisreset /start

    If you did not stop IIS in step 1, you can use the command iisreset /restart.

Potential Problems in Installing PDS Extensions

If your PDS extensions do not work after you register them in Windows and for Project Server, check the following.

  • In an HR module test, check the log file (see Acceptance Test) for an error similar to the following:

    <Error>System.MissingMethodException: Method not found: 
       Project.SolutionStarter.SAP.Configuration  
       Project.SolutionStarter.SAP.Configuration.Instance().
       at Project.SolutionStarter.SAP.HR.SAP_HR_Processor.DoConfiguration()
       . . .
    </Error>
    

    The HRModule.dll might refer to a different Configuration.dll file than the EventLogging.dll does. Recompile all components that depend on Configuration.dll in the order previously described, and make sure each component has references to the same files that are registered in the global assembly cache.

  • Check the Application event log for failures in the Service for Enterprise Data Maintenance (EDM). On the Windows Start menu, click Administrative Tools, and then click Event Viewer.

    For example, if you register the PDS extension for the ProjectServer virtual directory, but the EDM Connector Service is set for the Sample virtual directory, when you drop a test file such as 10R10R_0M_0S.xml to the EDM drop directory there will be several error and warning messages from the source Microsoft Project Server Tracing Eventlog Manager. One of the messages is an error similar to the following:

    Component: ConnectSvc
    File: C:\Office\dev\project\WebClient\source\server\connectorsvc\connectorsvc.cpp
    Line: 425
    Description: 
    <Description><![CDATA[Processing of document 
       'C:\Program Files\Microsoft Office Project Server 2003\BIN\Connector\10R_0M_0S.xml' 
       failed. Moving to failed documents directory 
       (C:\Program Files\Microsoft Office Project Server 2003\BIN\Connector\FAIL\)]]>
    </Description>
    

    For information on how to configure the Service for EDM, see Using the Service for EDM. For a description of the HR module test files, see Acceptance Test.

  • If you see an error in the Application event log that is similar to the following, the PDS is trying to create an instance of an extension that does not work or is not available:

    Component: PDS
    Line: 0
    Error Number: 0x2330
    Description: <Description><![CDATA[CMain.HandleUnknownRequest; 429 : 
       ActiveX component can't create object]]></Description>
    

    For example, if you have registered HRModule.dll as PDSExtensionEx2, and PDSExtensionEx1 points to a class that does not work or is not in the registry, or if the DLL is missing, you can get this error.

Creating the Administration Web Site

Before you install the administration Web site, if you are not installing all of the ERP Connector modules, you should modify the SAPConnectorAdmin project in the download Source\SAPConnectorAdmin directory to include only the module settings you need. For example, if you plan to install only the HR module, you can remove the administration page sections for the Finance Projects and WBS modules.

To remove sections or make other modifications in the administration page, you can create a separate virtual directory in Internet Information Services Manager for development, copy the SAPConnectorAdmin project files to that directory, and then use Microsoft Visual Studio .NET 2003 (or later) to make the modifications. Set a reference in the project to the same Configuration.dll file that you registered in the global assembly cache for the PDS extensions. Recompile SAPConnectorAdmin.dll, and then copy the changed files to the Bin\SAPConnectorAdmin download directory and overwrite the older files.

After you have made any changes, you need to create a virtual directory in Internet Information Services Manager for the ERP Connector administration Web site.

To create the administration Web site:

  1. Add a subdirectory named SAPConnectorAdmin to the virtual root directory in the Project Server installation. By default, the Project Server virtual root is the following directory:

    C:\Program Files\Microsoft Office Project Server 2003\IIS Virtual Root
    
  2. Add a subdirectory named bin to SAPConnectorAdmin.

  3. Copy the following five files from the download subdirectory Bin\SAPConnectorAdmin to the [Project Server virtual root]\SAPConnectorAdmin directory.

    • SAPConverterConfig.xml
    • web.config
    • Global.asax
    • Admin_SAP_Connector.aspx
    • Adminstyles.css
  4. Copy the following files from the \Bin\SAPConnectorAdmin\bin directory to the [Project Server virtual root]\SAPConnectorAdmin\bin directory.

    • SAPConnectorAdmin.dll
    • SAPConnectorAdmin.pdb (if you are installing the debug symbols for remote debugging)
  5. Configure the IIS virtual directory for the administration page.

    • On the Windows Start menu, click Run, and then type inetmgr to open the Internet Information Services Manager.

    • Expand the Default Web Site, and right-click the Project Server virtual directory you are using for the ERP Connector. The virtual directory name is ProjectServer by default. On the Option menu, click New, and then click Virtual Directory.

    • In the Virtual Directory Creation Wizard, type SAPConnectorAdmin in the Alias box. In the next page of the wizard, browse to the SAPConnectorAdmin directory you created in step 1.

    • Use the default permission settings and finish the wizard.

      Note  If the ProjectServer (or other) virtual directory shows both a subdirectory named SAPConnectorAdmin, and a virtual directory with the same name, you will get an error that includes the following message when you try to access the Admin_SAP_Connector.aspx page with Internet Explorer or Project Web Access (emphasis added):

      "It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS."

      IIS does not recognize the application in the virtual directory when a subdirectory with the same name exists in the same group. The solution is to configure the subdirectory as an application, and then delete the first virtual directory, so there is only one object named SAPConnectorAdmin. Right-click the SAPConnectorAdmin subdirectory (with the folder icon), and click Properties. On the Directory tab, click Create in the Application Settings section, and then click OK. The subdirectory icon changes to a virtual directory icon. Then delete the other SAPConnectorAdmin virtual directory.

Adding the Administration Page to Project Web Access

You need to add a custom menu to the Admin center of Project Web Access to use the ERP Connector administration page.

To add the administration page:

  1. In Project Web Access, click the Admin center. On the Administration Overview page, click Server configuration in the Actions pane (Figure 1).

    Administration Overview page in Project Web Access

    Figure 1. Administration Overview page in Project Web Access

  2. On the Server configuration page, click Menus in the Configuration options pane.

  3. On the Menus page, click Admin in the Name column, and then click Add Custom Menu. The Name column shows each Project Web Access center heading, and the submenus are actions associated with each page.

  4. Complete the information in Add Custom Menu -- Web Page Dialog (Figure 2):

    • Click Add a submenu.

    • In the Submenu Name box, type ERP Connector Admin.

    • In the Submenu ToolTip box, type Administration of the ERP Connector.

    • Copy the following URL and then paste it in the Submenu URL box. Change <servername> to the name of your Project Server computer. If necessary, change projectserver to the virtual directory name of your Project Server instance.

      http://<servername>/projectserver/SAPConnectorAdmin/Admin_SAP_Connector.aspx
      
    • Click OK.

    Adding a custom menu

    Figure 2. Adding a custom menu

  5. You have saved the new menu item to the Project Server database. To make the ERP Connector Admin menu item appear in the Actions pane on the Admin page, log off and then log on again. Project Web Access loads the menus only during logon.