Excel Integration - Internal Documentation and Implementation Notes

Client Site

Header Structure

Formula definitions

Example formula:

The formula is split on the '_' character, which results in the following array:

For the example values given above, the result is the following formula:

Forms

VBA Modules

Server Side

Proposal for processing valid revisions server side

'VA'

'VA, ZF'

'VA, ZF, FR'

'VA, ZF, GA'

'ZF'

'ZF, FR'

'ZF, GA'

Using sql, we have produced a prototype query that could be used as a design spec for a new rest transaction. The tool currently uses the following rest api to return a list of drawings /dev/linthal115dev/documents/list?&maxRecords=50&con tractId=310&siteClassification2Id=2&allRevisions=1&revisionTypeIds=8,14,13,15&maxRecords=50. The prototype query consists of an outer query with 4 sub queries.

A server side solution should help performance and reduce hard to maintain excel vba code.

SQL proposal

Proposal for new rest api /doucuments/revisionseq

Excel currently uses /documents/list to produce a search response for vba code to process. This requires some ugly vba to parse the response in reverse, attempting to identify the latest revision sequence. Tibor has produced some sql that accurately identifies the latest revisions in a revision sequence. I would propose the sql be wrapped by a rest api called /doucuments/revisionseq. The api would take the same parameters as /documents/list and return an xml structure similar to the one below.

<?xml version="1.0" encoding="UTF-8"?>
<recordSet name="revisionSequences" idFieldName="drawingId">
  <record type="" key="drawingId">
    <drawingCode>LA2-E-6-03-330-211-10_1002</drawingCode>
    <drawingId>33099</drawingId>
    <updateCountDoc>0</updateCountDoc>
    <revisionIdA>27058</revisionIdA>
    <revisionIdB/>
    <revisionIdC/>
  </record>
</recordSet>
Copyright 2008-2014, SoftXS GmbH, Switzerland