<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://inaplex.com/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Knowledge Base</title><link>http://inaplex.com/cs/forums/13.aspx</link><description>Detailed answers for common issues.</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>MAS 200 - Providex ODBC SQL</title><link>http://inaplex.com/cs/forums/thread/351.aspx</link><pubDate>Fri, 18 Sep 2009 00:11:20 GMT</pubDate><guid isPermaLink="false">0bcc6b5f-b0ab-407f-89a4-9cdcea95353a:351</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><comments>http://inaplex.com/cs/forums/thread/351.aspx</comments><wfw:commentRss>http://inaplex.com/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=351</wfw:commentRss><description>&lt;p&gt;When linking to MAS 200, if you link directly you use the Providex ODBC driver. &lt;/p&gt;
&lt;p&gt;This has its own SQL syntax. For example, to use a function in a SQL SELECT , you need to use:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;{fn current_date()}&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;select field1, {fn current_date()} from table&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;See the attached document for more information.&lt;/p&gt;</description></item><item><title>Linking to MAS 200</title><link>http://inaplex.com/cs/forums/thread/350.aspx</link><pubDate>Thu, 17 Sep 2009 23:25:46 GMT</pubDate><guid isPermaLink="false">0bcc6b5f-b0ab-407f-89a4-9cdcea95353a:350</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><comments>http://inaplex.com/cs/forums/thread/350.aspx</comments><wfw:commentRss>http://inaplex.com/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=350</wfw:commentRss><description>&lt;p&gt;MAS 200 uses the Pervasive database system, and pulling data from it can be a bit difficult.&lt;/p&gt;
&lt;p&gt;Belinda Zenk of Argenta Sytems has contributed the following notes on how to use SQL Server to create a linked server to the MAS 200 database. This means that Inaport can read from the linked tables in SQL Server, which removes many issues with the specialised SQL that the Providex ODBC driver requires.&lt;/p&gt;
&lt;p&gt;If you are linking directly the MAS 200 using the Proxidex ODBC driver, see the seperate post on SQL.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;MAS 200 Linked Server&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Create Linked Server:&lt;/b&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;EXEC sp_addlinkedserver&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @server=&amp;#39;MAS&amp;#39;, -- Name for Link Server&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @provider=&amp;#39;MSDASQL&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @srvproduct = &amp;#39;ProvideX&amp;#39;,&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @datasrc=&amp;#39;Best Dynalink&amp;#39; -- Name of ODBC DSN&lt;br /&gt;GO&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;EXEC master.dbo.sp_addlinkedsrvlogin&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @rmtsrvname=N&amp;#39;MAS&amp;#39;,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @useself=N&amp;#39;False&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @locallogin=NULL,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @rmtuser=N&amp;#39;XXXXXX&amp;#39;, --MAS 200 Username&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @rmtpassword=&amp;#39;XXXXXX&amp;#39; --MAS 200 Password&lt;br /&gt;Go&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;b&gt;Drop Linked Server:&lt;/b&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;EXEC sp_dropserver MAS, droplogins&lt;br /&gt;GO&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;b&gt;Example Query1: &lt;/b&gt;Basic&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;SELECT * FROM OPENQUERY([MAS], &amp;#39;SELECT * FROM AR_CustomerSalesHistory&amp;#39;)&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;b&gt;Example Query2:&lt;/b&gt; Use SQL syntax&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Select ARDivisionNo, CustomerNo, sum(DollarsSold) as LYTD&lt;br /&gt;From(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT * FROM OPENQUERY([MAS], &amp;#39;SELECT * FROM AR_CustomerSalesHistory&amp;#39;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ) as AR&lt;br /&gt;where FiscalYear = cast(year(getdate())-1 as varchar(4))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and FiscalPeriod &amp;lt; right(&amp;#39;00&amp;#39; + cast(month(getdate())-1 as varchar(2)),2)&lt;br /&gt;Group by ARDivisionNo, CustomerNo&lt;/p&gt;
&lt;p&gt;GO&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;b&gt;Note:&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/b&gt;Cannot Query ‘directly&amp;#39; ie this does not work:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Select ARDivisionNo, CustomerNo, sum(DollarsSold) as LYTD&lt;br /&gt;From MAS...AR_CustomerSalesHistory&lt;br /&gt;where FiscalYear = cast(year(getdate())-1 as varchar(4))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and FiscalPeriod &amp;lt; right(&amp;#39;00&amp;#39; + cast(month(getdate())-1 as varchar(2)),2)&lt;br /&gt;Group by ARDivisionNo, CustomerNo&lt;/p&gt;&lt;/blockquote&gt;</description></item><item><title>Data typing in Excel</title><link>http://inaplex.com/cs/forums/thread/250.aspx</link><pubDate>Wed, 25 Mar 2009 21:53:23 GMT</pubDate><guid isPermaLink="false">0bcc6b5f-b0ab-407f-89a4-9cdcea95353a:250</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><comments>http://inaplex.com/cs/forums/thread/250.aspx</comments><wfw:commentRss>http://inaplex.com/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=250</wfw:commentRss><description>&lt;p class="bodytext"&gt;A problem sometimes arises when trying to read data from an Excel spreadsheet. There may be data in cells, but when you look at it in the preview pane in Inaport, the cells look empty.&amp;nbsp;&lt;/p&gt;
&lt;p class="bodytext"&gt;Fundamentally, Excel is NOT a database and the columns in a spreadsheet do not have a data type associated with them in the same way that that a database does. The Excel ODBC driver has to make an assumption about the data type for a given column. The driver does this by reading ahead 8 records and looking at the data found. It then makes a decision about the data type based upon&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;the majority type of the first 8 rows&lt;/strong&gt;. &lt;br /&gt;Problems occur when the assumption about data type is proven wrong by subsequent records. Consider two scenarios….&lt;/p&gt;
&lt;p class="bodytext"&gt;An Excel spreadsheet has a column which contains&amp;nbsp;text data. The first&amp;nbsp;5 records contain text in this column, but rows 6, 7, 8 contain numbers. The Excel ODBC driver reads this data and assumes that a&amp;nbsp;text data type will be appropriate for this column. Rows 6, 7, 8 will show as blank, because the cells hold numbers and not text.&lt;/p&gt;
&lt;p class="bodytext"&gt;Conversely, suppose the first 5 rows hold numbers; if rows 6, 7 and 8 hold text, they will appear blank when you look at them in the preview pane.&lt;/p&gt;
&lt;p class="bodytext"&gt;A possible work around is to force the contents of a column to be text. &lt;/p&gt;
&lt;p class="bodytext"&gt;You &lt;strong&gt;CANNOT&lt;/strong&gt; do this by changing the format of the column - this just change show the cell is displayed, NOT how the data is actually stored and processed.&lt;/p&gt;
&lt;p class="bodytext"&gt;If you have some numbers in a text column, you can preface the numbers with a single quote to make them text: &amp;#39;123&lt;/p&gt;
&lt;p class="bodytext"&gt;Another technique is to add a column in Excel, and use the text() function. This converts the contents of a cell to text. if the source cell is a number, it gets converted to text; if the source is already text, it does not get changed. For example:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div class="bodytext"&gt;Cell A1 holds the number 123;&amp;nbsp; cell B1 has the formula&amp;nbsp;&amp;nbsp; =text(a1, &amp;quot;0&amp;quot;).&amp;nbsp;&amp;nbsp; When read by Inaport, Inaport sees text&amp;nbsp; &amp;quot;123&amp;quot;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div class="bodytext"&gt;Cell A2 holds the text &amp;quot;abc&amp;quot;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cell B2 has the formula&amp;nbsp; =text(a2, &amp;quot;0&amp;quot;).&amp;nbsp;&amp;nbsp;&amp;nbsp; When read by Inaport, Inaport sees text&amp;nbsp; &amp;quot;abc&amp;quot;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p class="bodytext"&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Removing NULLs and other illegal characters from text</title><link>http://inaplex.com/cs/forums/thread/161.aspx</link><pubDate>Sat, 08 Nov 2008 18:39:53 GMT</pubDate><guid isPermaLink="false">0bcc6b5f-b0ab-407f-89a4-9cdcea95353a:161</guid><dc:creator>admin</dc:creator><slash:comments>2</slash:comments><comments>http://inaplex.com/cs/forums/thread/161.aspx</comments><wfw:commentRss>http://inaplex.com/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=161</wfw:commentRss><description>&lt;p&gt;A frequent problem with data migrations is text data with illegal characters in it. For example, the GoldMine notes fields sometimes contains NULL characters (binary 0), which can be problematic when inserting the data into SQL Server.&lt;/p&gt;
&lt;p&gt;Inaport and Sage Migrator provide the snip() function, which can be used to remove characters or strings from a field. For example:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;snip(&amp;quot;aa111bb&amp;quot;, &amp;quot;1&amp;quot;)&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;will remove the &amp;quot;1&amp;quot; characters from the string, returning &amp;quot;aabb&amp;quot;.&lt;/p&gt;
&lt;p&gt;The characters to be snipped can be built from a regular expression. In particular, \xNN allows you to specify the binary value of any character. Examples:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;\x00&amp;nbsp; -&amp;nbsp; NULL&lt;br /&gt;\x0A&amp;nbsp; -&amp;nbsp; Carriage Return&lt;br /&gt;\x0D&amp;nbsp; -&amp;nbsp; Line Feed&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;So to snip the NULL character from a field, do:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;snip(#myField, &amp;quot;\x00&amp;quot;)&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If you need to remove a range of characters, use the regular expression &amp;quot;[]&amp;quot; construct, which allows you to specify a set or range of characters:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[\x00\x02]&amp;nbsp; -&amp;nbsp; specifes the characters \x00 and \x02&lt;br /&gt;[\x00-\x08]&amp;nbsp; -&amp;nbsp; specifies all characters between \x00 and \x08&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;So to snip a range of characters fro the field, do:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;snip(#myField, &amp;quot;[\x00-\x08]+&amp;quot;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;</description></item><item><title>Updating source database during an import</title><link>http://inaplex.com/cs/forums/thread/158.aspx</link><pubDate>Fri, 31 Oct 2008 19:06:59 GMT</pubDate><guid isPermaLink="false">0bcc6b5f-b0ab-407f-89a4-9cdcea95353a:158</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><comments>http://inaplex.com/cs/forums/thread/158.aspx</comments><wfw:commentRss>http://inaplex.com/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=158</wfw:commentRss><description>&lt;p&gt;Occassionally, it is necessary to update the source or target&amp;nbsp;database during an import operation. For example, it may be necessary to flag a source record as processed. Inaport supports this using the &amp;quot;dbexecupdate()&amp;quot; function, that allows you to perform an arbitrary SQL UPDATE statement against either the source or the target database.&lt;/p&gt;
&lt;p&gt;The general format of the function is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;dbexecupdate(&amp;quot;S&amp;quot; or &amp;quot;T&amp;quot;, &amp;quot;UPDATE table SET field = &amp;#39;value&amp;#39; WHERE key = &amp;#39;keyvalue&amp;#39;&amp;quot;)&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The &amp;quot;S&amp;quot; or &amp;quot;T&amp;quot; specifies the source or target database respectively.&lt;/p&gt;
&lt;p&gt;The second parameter is a string that needs to resolve to a legal SQL UPDATE statement for the database. The string can be built up using stanard inaport expressions. For example, if the time is 10:22:34 and the field keyfield has the value &amp;quot;aa123&amp;quot;, then the string:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;dbexecupdate(&amp;quot;S&amp;quot;, &amp;quot;UPDATE table SET field = &amp;#39;&amp;quot; &amp;amp; nowstr(&amp;quot;HH:mm:ss&amp;quot;) &amp;amp; &amp;quot;&amp;#39; WHERE key = &amp;#39;&amp;quot; &amp;amp; #keyfield &amp;amp; &amp;quot;&amp;#39;&amp;quot;)&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;will produce a SQL UPDATE that looks like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&amp;quot;UPDATE table SET field = &amp;#39;10:22:34&amp;#39; WHERE key = &amp;#39;aa123&amp;#39;&amp;quot;&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: It is important to note the sequence of single and double quotes. There are two things going on:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;The single quotes need to be positioned to produce legal SQL&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;The double quotes are marking the boundaries of strings that are joined together by the expression evaluator to produce the SQL.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;So the piece of text:&amp;nbsp; key = &amp;#39;&amp;quot; &amp;amp; #keyfield &amp;amp; &amp;quot;&amp;#39;&amp;quot; &lt;br /&gt;is really:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; key = SQ DQ &amp;amp; #keyfield &amp;amp; DQ SQ DQ&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE FOR EXCEL&lt;/strong&gt;: Excel requires that the worksheet name end in &amp;quot;$&amp;quot;, and be surrounded by the &amp;quot;`&amp;quot; character - this is NOT a single quote. So the above example for Excel would be:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;dbexecupdate(&amp;quot;S&amp;quot;, &amp;quot;UPDATE `table$` SET field = &amp;#39;&amp;quot; &amp;amp; nowstr(&amp;quot;HH:mm:ss&amp;quot;) &amp;amp; &amp;quot;&amp;#39; WHERE key = &amp;#39;&amp;quot; &amp;amp; #keyfield &amp;amp; &amp;quot;&amp;#39;&amp;quot;)&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;</description></item><item><title>Renaming text files after processing - include date and time in name</title><link>http://inaplex.com/cs/forums/thread/157.aspx</link><pubDate>Fri, 24 Oct 2008 23:51:41 GMT</pubDate><guid isPermaLink="false">0bcc6b5f-b0ab-407f-89a4-9cdcea95353a:157</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><comments>http://inaplex.com/cs/forums/thread/157.aspx</comments><wfw:commentRss>http://inaplex.com/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=157</wfw:commentRss><description>&lt;p&gt;A common requirement when using Inaport to import text files is to rename the files after processing. This allows an external process (e.g. mainframe) to continuously drop in text files, for Inaport to process on a scheduled basis.&lt;/p&gt;
&lt;p&gt;The Inaport text connector provides two options for handling&amp;nbsp;a file after it has been processed:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;Change the extension of the file&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Move the file to a new directory&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;These options may be combined, so it is possible to change the extension to &amp;quot;.done&amp;quot; and move the file to a directory &amp;quot;Processed&amp;quot;, for example.&lt;/p&gt;
&lt;p&gt;Inaport also supports using expressions in the &amp;quot;Change extension&amp;quot; text box. This allows you to include a time stamp in the new name. For example, the following expression can be put in the text box:&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Tahoma;"&gt;&amp;quot;.&amp;quot; &amp;amp; nowstr(&amp;quot;yyyyMMddTHH_mm_ss&amp;quot;) &amp;amp; &amp;quot;.done&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Tahoma;"&gt;If the current date and time is 24 October 2008 @ 16:46:00, this will change the extension of&amp;nbsp;the file to:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Tahoma;"&gt;&amp;quot;.20081024T16_47_00.done&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Tahoma;"&gt;The expression used can be any valid Inaport expression that produces a string that is legal to include in a file name.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Tahoma;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Excel numbers as text</title><link>http://inaplex.com/cs/forums/thread/133.aspx</link><pubDate>Wed, 07 May 2008 09:21:13 GMT</pubDate><guid isPermaLink="false">0bcc6b5f-b0ab-407f-89a4-9cdcea95353a:133</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><comments>http://inaplex.com/cs/forums/thread/133.aspx</comments><wfw:commentRss>http://inaplex.com/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=133</wfw:commentRss><description>&lt;p&gt;A common problem when reading data from Excel is that numbers may be formatted as text, but are still really&amp;nbsp;numbers and are treated as numbers when read by Inaport.&lt;/p&gt;
&lt;p&gt;The most common example is US zip codes. In Excel, they look like &amp;quot;12345&amp;quot; or &amp;quot;00123&amp;quot;, but when read by Inaport they come through as &amp;quot;12345.0&amp;quot; or &amp;quot;123.0&amp;quot;.&lt;/p&gt;
&lt;div&gt;In Excel, even if a number is formatted as text it is still a number. You have two options:&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;1. In Excel, add another column and put in the formula &amp;quot;=text(a1, &amp;quot;00000&amp;quot;)&amp;quot;&amp;nbsp; (without the&amp;nbsp;surrounding double quotes)&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This will convert the contents of cell a1 to true text, which Inaport can then read as text. Obviously change the cell reference to fit your spreadsheet.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;2. In Inaport, use the n2s() function to convert the number to a string in the correct format:&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; n2s(#myZipCode, &amp;quot;00000&amp;quot;)&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; This will convert the number 123.0 to text &amp;quot;00123&amp;quot;&lt;/div&gt;</description></item><item><title>Matching against Numbers</title><link>http://inaplex.com/cs/forums/thread/100.aspx</link><pubDate>Wed, 19 Mar 2008 14:46:14 GMT</pubDate><guid isPermaLink="false">0bcc6b5f-b0ab-407f-89a4-9cdcea95353a:100</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><comments>http://inaplex.com/cs/forums/thread/100.aspx</comments><wfw:commentRss>http://inaplex.com/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=100</wfw:commentRss><description>&lt;p&gt;When using Standard or Fuzzy matching, Inaport will convert all target matching fields to strings BEFORE matching the incoming field against it.&lt;/p&gt;
&lt;p&gt;This is because Inaport needs to be able to match across many different database types, including products such as ACT! or SageCRM.com which do not support SQL.&lt;/p&gt;
&lt;p&gt;This can present problems when matching against numbers, because how a number is converted to a string can be dependent on locale. For example, the number 1234.567 may be &amp;quot;1,234.567&amp;quot; or &amp;quot;1.234,567&amp;quot;. Starting with build 7.0.7303, Inaport standardised the way numbers are converted to strings when reading from the target database to use a CULTURE INVARIANT format. &lt;/p&gt;
&lt;p&gt;This means that the number 1234.567 will always be represented as &amp;quot;1234.567&amp;quot;, whatever the local culture.&lt;/p&gt;
&lt;p&gt;To match against a number field, therefore, you need to convert your source number to a string in the same format.&lt;/p&gt;
&lt;p&gt;The recommended way to do this is to use the n2s() function, with the invariant culture specifier:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;n2s(#mySourceNumber, &amp;quot;G&amp;quot;)&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;then use this value to match against the target field.&lt;/p&gt;
&lt;p&gt;For more information, see the topic &amp;quot;Matching Numbers and Dates&amp;quot; in the Help.&lt;/p&gt;</description></item><item><title>Excel ODBC error  - "The field is too small ..."</title><link>http://inaplex.com/cs/forums/thread/99.aspx</link><pubDate>Sun, 16 Mar 2008 19:04:35 GMT</pubDate><guid isPermaLink="false">0bcc6b5f-b0ab-407f-89a4-9cdcea95353a:99</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><comments>http://inaplex.com/cs/forums/thread/99.aspx</comments><wfw:commentRss>http://inaplex.com/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=99</wfw:commentRss><description>&lt;p&gt;&lt;span class="bodytext"&gt;While importing from an Excel spread sheet you see the following error message &amp;quot;[Microsoft][ODBC Excel Driver] The field is too small to accept the amount of data you attempted to add. Try inserting or pasting less data&amp;quot;. This is problem with the Excel ODBC driver which can often be worked around by reordering the records in the spreadsheet.. &lt;/span&gt;&lt;/p&gt;
&lt;p class="bodytext"&gt;Fundamentally, Excel is NOT a database and the columns in a spreadsheet do not have a data type associated with them in the same way that that a database does. The Excel ODBC driver has to make an assumption about the data type for a given column. The driver does this by reading ahead 8 records and looking at the data found. It then makes a decision about the data type based upon what it has read. Problems occur when the assumption about data type is proven wrong by subsequent records. Consider two scenarios….&lt;/p&gt;
&lt;p class="bodytext"&gt;A column in an Excel spreadsheet has a column in it which contains string data. The first 8 records contain short strings, (let&amp;#39;s say 20-30 characters). The Excel ODBC driver reads this data and assumes that a short string data type will be appropriate for this column. If a subsequent record contains a longer string, (let&amp;#39;s say 300 characters). The data type may prove inappropriate and unable to store the longer string and the error above is raised by the Excel ODBC driver. Moving the record with the long string to the beginning of the dataset will allow the Excel ODBC to select a more appropriate data type for the column which will apply to all records in the spreadsheet.&lt;/p&gt;
&lt;p class="bodytext"&gt;A column in a spreadsheet has numeric strings for the first 8 records, For example &amp;quot;123&amp;quot;, &amp;quot;456&amp;quot; etc. Excel decides that this column has numeric data. A subsequent record contains a string which is not numeric data, for example &amp;quot;Hello World&amp;quot;. The assumption made by the Excel ODBC driver will prove incorrect and the above error message will be raised by the ODBC driver. The problem can be worked around by reconsidering the order of the records. If the record containing &amp;quot;hello world&amp;quot; is placed within the first 8 records. The Excel ODBC driver will determine that this column contains string data and hopefully a string data type will be selected which will be appropriate for all data records.&lt;/p&gt;
&lt;p class="bodytext"&gt;In all cases the technique is to arrange the order of the records such that the Excel ODBC driver is allowed to make the correct selection of data type.&lt;/p&gt;</description></item><item><title>GoldMine 5.x, 6.x - BDE Failed to load</title><link>http://inaplex.com/cs/forums/thread/98.aspx</link><pubDate>Sun, 16 Mar 2008 18:11:10 GMT</pubDate><guid isPermaLink="false">0bcc6b5f-b0ab-407f-89a4-9cdcea95353a:98</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><comments>http://inaplex.com/cs/forums/thread/98.aspx</comments><wfw:commentRss>http://inaplex.com/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=98</wfw:commentRss><description>&lt;p&gt;&lt;span class="bodytext"&gt;This problem is related to the configuration of the Borland Database engine, (BDE). The problems are most frequently seen when a user has upgraded from v5 to v6 of Goldmine. When this is not the case, the problem is more frequently seen with GoldMine v6 than v5.&lt;/span&gt;&lt;/p&gt;
&lt;p class="bodytext"&gt;Typically, the problem is related to one of two configuration settings for the BDE:-&lt;/p&gt;
&lt;ul&gt;
&lt;li class="bodytext"&gt;Share Memory Settings 
&lt;li class="bodytext"&gt;Configuration file settings &lt;/li&gt;&lt;/ul&gt;
&lt;p class="bodytext"&gt;&lt;span class="bodytext"&gt;Suggested settings for the BDE SHAREDMEMLOCATION are:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="bodytext"&gt;6BDE 
&lt;li class="bodytext"&gt;5BDE 
&lt;li class="bodytext"&gt;4BDE 
&lt;li class="bodytext"&gt;7F00 
&lt;li class="bodytext"&gt;7BDE &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span class="bodytext"&gt;From the tools menu in GoldMine select the BDE administrator option. This will launch the BDE administrator. Click on the configuration tab and expand the &amp;quot;System&amp;quot; part of the tree. Click on the INIT branch and change the settings for SHAREDMEMLOCATION. NOTE YOU MUST RESTART ALL APPLICATIONS, GOLDMINE, INAPORT BEFORE THE CHANGES TAKE EFFECT.&lt;/span&gt;&lt;/p&gt;</description></item><item><title>GoldMine V7.x: Fail appending to CONTACT2</title><link>http://inaplex.com/cs/forums/thread/78.aspx</link><pubDate>Fri, 25 Jan 2008 18:25:16 GMT</pubDate><guid isPermaLink="false">0bcc6b5f-b0ab-407f-89a4-9cdcea95353a:78</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><comments>http://inaplex.com/cs/forums/thread/78.aspx</comments><wfw:commentRss>http://inaplex.com/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=78</wfw:commentRss><description>&lt;p&gt;Do you have a numeric UDEF field in contact2? If so, you are running into a known issue with GM7.&lt;/p&gt;
&lt;p&gt;PROBLEM&lt;/p&gt;
&lt;p&gt;When an application (such as Inaport)&amp;nbsp;creates a C2 record using the API, GoldMine issues an insert on the database, which succeeds. It then accumulates all the field values, and issues a single update to the record when the changes are commited by the application. For reasons best known to the developers, the WHERE clause to the UPDATE checks that each field being updated is currently null.&lt;/p&gt;
&lt;p&gt;Problem with this is that with GM7, the schema definition for UDEF numeric fields was changed to have them default to 0. That means any numeric fields are set to 0 when the record is first inserted, which in turn means that the where clause fails.&lt;/p&gt;
&lt;p&gt;WORKAROUND&lt;/p&gt;
&lt;p&gt;In Inaport, you can work around this problem by having two instances of the _contact2 table in your table map.&lt;/p&gt;
&lt;p&gt;On the first instance, set the operation to &amp;quot;Create not exist&amp;quot;, and accept the default primary key/foreign key settings.&lt;br /&gt;Change the action for &amp;quot;If there are multiple matches&amp;quot; to be: &amp;quot;Continue processing this source row&amp;quot;&lt;br /&gt;Do not specify any match criteria.&lt;br /&gt;Do NOT map any values to the fields - have an empty &amp;quot;Map for Create&amp;quot; grid&lt;/p&gt;
&lt;p&gt;On the second instance, set the operation to &amp;quot;Update single existing&amp;quot;&lt;br /&gt;Do not specify any match crieria&lt;br /&gt;Now map all your fields to the required fields in C2&lt;/p&gt;
&lt;p&gt;----------&lt;/p&gt;
&lt;p&gt;In the medium term, we are working on having Inaport handle this silently for you, but at the moment this is the only work around.&lt;/p&gt;</description></item><item><title>Connecting to GoldMine V7, V8, PE</title><link>http://inaplex.com/cs/forums/thread/57.aspx</link><pubDate>Thu, 27 Dec 2007 13:09:15 GMT</pubDate><guid isPermaLink="false">0bcc6b5f-b0ab-407f-89a4-9cdcea95353a:57</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><comments>http://inaplex.com/cs/forums/thread/57.aspx</comments><wfw:commentRss>http://inaplex.com/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=57</wfw:commentRss><description>&lt;p&gt;Inaport needs to log into the GoldMine API to enable it to write to GoldMine. To do so, you must set some login parameters. GoldMine 7.x and up are very particular about how these parameters are set. Please note the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;Information about the correct GoldMine directory and alias can be found in GoldMine - Help - About GoldMine - System&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;The path to the GoldMine system directory must end with a &amp;#39;\&amp;#39;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;The alias names for the GoldMine System and Contact Set databases must end in &amp;#39;:&amp;#39;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;The user name specified must have Admin permissions, and must NOT have SQL login set in User Properties - Access.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;See screen shots below.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Upgraded GoldMine Installations&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If your GoldMine installation is an upgrade of a 6.x install, rather than a clean install, you may find you still get issues. This seems to be caused by the upgrade process not correctly registering all new GoldMine dll&amp;#39;s.&lt;/p&gt;
&lt;p&gt;A work around is to copy the GM7S32.dll file to the Inaport install directory. Occassionally, you may need to copy more GoldMine dll&amp;#39;s.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Screen Shots&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;GoldMine - Help - About GoldMine - System screen&lt;/p&gt;
&lt;p&gt;&lt;img title="GoldMine Help About" style="WIDTH:518px;HEIGHT:371px;" height="371" alt="GoldMine Help About" src="http://www.inaplex.com/Images/gmpe_helpabout.png" width="518" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Inaport GoldMine 7.x, 8.x connector&lt;/p&gt;
&lt;p&gt;&lt;img title="Inaport GoldMine 7 connector" style="WIDTH:666px;HEIGHT:665px;" height="665" alt="Inaport GoldMine 7 connector" src="http://www.inaplex.com/Images/gmpe_connector.png" width="666" /&gt;&lt;/p&gt;</description></item></channel></rss>