Validating a ConnectionConfigurationMap.ccm file : ccmReader

When setting up a G/Technology environment, one of the boring things always is getting your ConnectionConfigurationMap.ccm right. One way to see what ddc-file is causing you trouble is use sysinternals Process Monitor tool and see what the last ddc-file read by the G3E-executable was. The next file immediately following that file in your ConnectionConfigurationMap.ccm then is the cause of your problem. This approach works but is very boring and can take a lot of time. Therefore, I created a tool called ‘ccmReader’ which stands for ConnectionConfigurationMap Reader and its soal purpose is to check the validness of a ConnectionConfigurationMap.ccm file.

CcmReader’s usage is as follows :


ccmReader [-v] [-l] [-c CONF] [-dumplang] [-showlang] [-help] ConnectionConfigurationMap.ccm

So what does it do ? Let’s say you have the following ConnectionConfigurationMap.ccm section and the F152-DetailVerwijzing.ddc file is missing:


MAPFILE=d:MAPFILESGEOSDDC9.4F148-Oov.ddc;
MAPFILE=d:MAPFILESGEOSDDC9.4F159-Waterkruising.ddc;
MAPFILE=d:MAPFILESGEOSDDC9.4F152-DetailVerwijzing.ddc;
MAPFILE=d:MAPFILESGEOSDDC10.1F252-InfraLand.DDC;
MAPFILE=d:MAPFILESGEOSDDC10.1F252-InfraLand_1.DDC;

CcmReader then would output the following :

DDC file is missing
DDC file is missing

The output tells you that there are two files which should be present according to the ConnectionConfigurationMap.ccm file but could not be read : d:MAPFILESGEOSDDC9.4F152-DetailVerwijzing.ddc and d:MAPFILESGEOSDDC9.4F152-DetailVerwijzing.cdt. So without even trying to start G/Designer, Netviewer or G/Netplot you know it will not work since your configuration is wrong and you need to fix it. Once you have corrected the errors and each file can be found, the tool will not output anything unless you used the verbose (-v) flag :

Verbose option
Verbose option

I use this tool very often in my day-to-day work, and it comes in very handy.

You can download the executable here.

Hope this helps, Stephan

Related Posts

Shortening CustomCommand development time by using a proxy

One of the most time-consuming processes when developing with Hexagon G/Technology is creating custom commands. The usual development approach consists of the following iterative process: During testing,…

Invoking Oracle Spatial from a Custom Command

Consider a requirement where the centroid of a set of points needs to be retrieved within a custom command. This can be achieved using the ‘GTDataProvider.DataContext.Execute‘-method:

Rubberbanding in G/Technology

Whenever a user is digitizing a polygon, he expects feedback when moving the cursor before actually adding a point, the system should ‘rubberband’ the position under the…

sample_set7

Sorting and merging geometries in Oracle Spatial

Consider a requirement where an unsorted set of geometries needs to be merged into a single geometry. Take for instance the following set of geometries where: a…

Invalid Fiber Couplers

Fiber Couplers are used to connect Fiber Inner Ducts in a Fiber Branch Enclosure. You can connect Fiber Inner Ducts using the Fiber Feature Editor by selecting…

Fiber Cables

AdHoc Queries

Introduction G/Technology provides functionality to run dynamic queries, the so called ‘Ad-Hoc queries’. A Large telecom provider in the Netherlands is moving Fiber Cables from CRAMER to…

This Post Has 2 Comments

  1. we have just installed g-tech Software in our system we have the setup path in registry for .ccm file having the following contents:.

    CONFIGURATION_NAME=GTECH_DEV;
    ALIAS=DB_ALIAS;
    MAPFILE=C:\GTECH\MAPFILES\GDEV\GDEV9S\Metadata\FeatureComponentMetadata.ddc;
    MAPFILE=C:\GTECH\MAPFILES\GDEV\GDEV9S\Metadata\LegendMetadata.ddc;
    MAPFILE=C:\GTECH\MAPFILES\GDEV\GDEV9S\Metadata\DialogAttributeMetadata.ddc;
    MAPFILE=C:\GTECH\MAPFILES\GDEV\GDEV9S\Metadata\RelationshipMetadata.ddc;
    MAPFILE=C:\GTECH\MAPFILES\GDEV\GDEV9S\Metadata\PlacementMetadata.ddc;
    MAPFILE=C:\GTECH\MAPFILES\GDEV\GDEV9S\Metadata\AnalysisIntegrationMetadata.ddc;
    MAPFILE=C:\GTECH\MAPFILES\GDEV\GDEV9S\Metadata\PicklistMetadata.ddc;

    we are not able to find ddc file in the setup or at the installed path of G-tech please help me generating these files. If you can give sample .ddc file that will be much help to us.

    Thanks in Advance
    Anand

    1. You can use the Process Monitor tool from SysInternals to see what files GTech is looking for. Also, creating ccm files can be tedious and it helps if you automate the component-view part of it using SQL-statements. The following statement will output the component-view part of your ConnectionConfiguration.ccm :


      select 'MAPFILE=[C:\DDC\CRS\DATA]'|| g3e_view ||'.ddc', 'VIEWS='|| g3e_view from g3e_Componentviewdefinition, g3e_Component
      where g3e_Componentviewdefinition.G3E_CNO=g3e_Component.G3E_CNO
      and g3e_Component.G3E_DcNO=1;

      Here’s an example of a valid ddc file :


      CONFIGURATION_NAME=NL_RDNAP;
      ALIAS=ORCL;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Intern\G_AFSLUITER.DDC;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Intern\G_ASSET.DDC;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Intern\G_DIMENSIONING.DDC;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Intern\G_KBFEATURES.DDC;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Intern\G_KLIC.DDC;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Intern\G_LENGTHPROFILE.DDC;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Intern\G_MISCELLANEOUS.DDC;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Intern\G_NIEUWBOUWOPERATIE.DDC;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Intern\G_OMGEVING.DDC;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Intern\G_PLOTTING.DDC;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_6PPC.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_Bevolkinggrid.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_GBKN_BEBOUW_B01.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_GBKN_BEBOUW_LB.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_GBKN_BEBOUW_LN.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_GBKN_BEBOUW_PT.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_GBKN_TERREIN_LB.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_GBKN_TERREIN_LN.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_GBKN_TERREIN_PT.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_GBKN_WATER_LB.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_GBKN_WATER_LN.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_GBKN_WATER_PT.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_GBKN_WEG_LB.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_GBKN_WEG_LN.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_GBKN_WEG_PT.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_GBKN_WEG_V00_1.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_GBKN_WEG_V00_2.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_Luchtfotos.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_Multinet.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_NieuweKaart.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_ToekomstigeTopo.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_TOP10NL.ddc;
      MAPFILE=C:\Mapfiles\Eagle\DDC\NL_RDNAP.Extern\E_TOP25RASTER.ddc;
      MAPFILE=C:\Mapfiles\Eagle\Metadata\ANALYSISINTEGRATIONMETADATA.DDC;
      MAPFILE=C:\Mapfiles\Eagle\Metadata\DIALOGATTRIBUTEMETADATA.DDC;
      MAPFILE=C:\Mapfiles\Eagle\Metadata\FEATURECOMPONENTMETADATA.DDC;
      MAPFILE=C:\Mapfiles\Eagle\Metadata\LEGENDMETADATA.DDC;
      MAPFILE=C:\Mapfiles\Eagle\Metadata\PLACEMENTMETADATA.DDC;
      MAPFILE=C:\Mapfiles\Eagle\Metadata\RELATIONSHIPMETADATA.DDC;
      MAPFILE=C:\Mapfiles\Eagle\Metadata\PicklistMetadata.DDC;

Leave a Reply

Your email address will not be published. Required fields are marked *