Training course 1 query designing
This presentation is the property of its rightful owner.
Sponsored Links
1 / 86

Training Course #1: Query Designing PowerPoint PPT Presentation


  • 71 Views
  • Uploaded on
  • Presentation posted in: General

Training Course #1: Query Designing. Please view in slide show Page Down/Up or mouse click to navigate through the show. Queries . A “query” identifies a condition of data within an application that should cause an event to trigger.

Download Presentation

Training Course #1: Query Designing

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Training course 1 query designing

Training Course #1:

Query Designing

Please view in slide show

Page Down/Up or mouse click to navigate through the show


Training course 1 query designing

Queries

A “query” identifies a condition of data within an application that should cause an event to trigger.

KnowledgeSync lets you design queries. The only requirement for designing queries is a thorough understanding of an application’s database schema.

Queries can check for virtually any condition of data in an application, such as:

  • An opportunity overdue for closing

  • Sales reps with fewer than 6 activities this week

  • A client whose credit status was changed


Training course 1 query designing

Queries & Events (I)

A query is one component of an event. A single event may use a single query, or it may use multiple queries.

An event may use multiple queries to check for a complex combination of conditions, such as:

Checking for customers who have purchased < $10,000 over the last year, but have called into support more than 12 times.


Training course 1 query designing

Queries & Events (II)

An event may also use multiple queries to check for conditions across multiple applications, such as:

An event that looks for customers who have pending sales

(in a CRM application)

But are also on credit hold

(in a financial application)


Training course 1 query designing

Queries & Events (III)

A single query may also be used in multiple events.

For example, a query that checks for pending sales > ‘x’ dollars may be used in:

An event that looks for sales > $10,000

and in

An event that looks for sales > $25,000

and in

An event that looks at sales > $50,000


Training course 1 query designing

Tour Menu

Please select the component of KnowledgeSync Query Designing that you would like to learn about next:

Designing a Query (click here)

Designing “Linked” Queries (click here)

Query Designing Helpful Hints (click here)

What to Do Next (click here)

Exit

Presentation


Training course 1 query designing

How to Begin

All query designing is done in the KnowledgeSync Event Manager.

Log into that module (username “Admin”, no password).

You will be presented with a window like the following:


Training course 1 query designing

We will design a query for the “Training” application.

Click on the plus sign (+) next to the “Training” Application in order to display the sub-branches beneath it.

Return to

Tour Menu


Training course 1 query designing

We’ll be working in the Query Definitions branch.

Click on the Query Definitions branch to display a listof pre-defined queries for the Training application.

Return to

Tour Menu


Training course 1 query designing

  • Queries can be divided into three groups:

  • Record-Level Queries

  • Aggregate Queries

  • Value-Change Queries

Return to

Tour Menu


Training course 1 query designing

Record-level queries are those that are

triggered by the condition of individual

database records.

These queries look for specific conditions

in database records, and, if those conditions

are met, the query is “triggered.”

(The queries with the arrows pointing at

them are record-level queries.)

Return to

Tour Menu


Training course 1 query designing

Aggregate queries are those that are triggeredby a group of records that meet a certain threshold.

These queries look for specific conditions in

database records, then perform an aggregatetest on that group of records, and, if both the record-level and aggregate conditions are met,the query is “triggered.”

(The queries with the arrows pointing at

them are aggregate queries.)

Return to

Tour Menu


Training course 1 query designing

Value Change queries are those that are triggered when a record’s value has been

changed.

These queries are very useful, as they enable you to detect when someone haschanged the value of any field in an application.

(The queries with the arrows pointing at

them are value-change queries.)

Return to

Tour Menu


Training course 1 query designing

  • The list on the right shows examplesof the types of conditions that you can detect using a query.

  • Click on the “New Query Definition”button at the top-left of this windowto create a new query . . .

Return to

Tour Menu


Training course 1 query designing

When designing a query, the first thing youspecify is the query’s name and whether itcan be used in an event.

Return to

Tour Menu


Training course 1 query designing

The “Active” flag simply indicates that thisquery is eligible to be used in one or moreevents.

Return to

Tour Menu


Training course 1 query designing

KnowledgeSync automatically displays all of thetables from the corresponding application.

The first step in designing a query is to identifywhich tables contain the information youwish to test against for certain conditions.

You simply click on the table name you wish toinclude in this query, and then click on the “Add Table” button.

Return to

Tour Menu


Training course 1 query designing

This query will be designed to retrieve any ordersthat were picked today but have not been invoiced.

We select the “Order Header” table since that is where general order information is stored.

We select the “AR Customer” table since that lets usretrieve the customer’s name. (The “orders” tablestores only the customer’s account number.)

And we select the “Salesperson” table since that letsus retrieve the name of the salesrep associated tothe order.

Return to

Tour Menu


Training course 1 query designing

1) If multiple tables are selected, KnowledgeSync’s“intelligent linking wizard” helps you link (or join)the tables together.

2) It’s VERY important which table you select FIRST whencreating these links.

You MUST specify the query’s primary table – that is, thetable that contains the records that will cause this queryto trigger.

Since this query is designed to retrieve “orders”, the “Orders” table must be the first table we link from.

Return to

Tour Menu


Training course 1 query designing

Click on the “Add Table Link” button.

Return to

Tour Menu


Training course 1 query designing

Since this is our first link, we start out bychoosing the “Orders” table.

Return to

Tour Menu


Training course 1 query designing

KnowledgeSync automatically fills in the “Link to”table name, which we can either keep or override.

Return to

Tour Menu


Training course 1 query designing

Tables are linked together via a common field (column)of data. Once we specify the name of the column in the“Orders” table that contains the customer number, KnowledgeSync automatically searches for (and loads)the corresponding field from the “Customer” table.

(And the “Link Type” automatically defaults to “Left Outer Join” which is the standard linking method inbusiness applications.)

Return to

Tour Menu


Training course 1 query designing

Once we save our first link, we are ready to followthe same steps to link the “Orders” and “Salesreps”tables.

Return to

Tour Menu


Training course 1 query designing

Note that if the database (or ODBC driver) that you areusing does not support standard linking syntax, you canclick on the checkbox below and manually enter the SQL“from clause” that links the tables together.

Return to

Tour Menu


Training course 1 query designing

The “Columns” tab is where you select the fields ofdata that you might wish to include in an outgoing alert message and in an event’s “response actions”when this query’s conditions are met.

The list titled “Available Columns to Query” at the top of this tab is a list of all the fields of data fromthe tables you selected previously.

Return to

Tour Menu


Training course 1 query designing

For example, if you wish to use the customer’s “ordernumber” in an alert message or response action, you simply highlight the corresponding field in the list at the top of this window and click on the buttoncalled “Add Column to Query.”

Return to

Tour Menu


Training course 1 query designing

We would continue adding fields until we had allthe information that we might wish to use inan event’s alert messages or response actions.

Return to

Tour Menu


Training course 1 query designing

When creating a record-level query, the “Column Type”field for all the columns is always left as “Normal.” Thismeans that KnowledgeSync will retrieve the actualvalue of that column.

Return to

Tour Menu


Training course 1 query designing

When creating an aggregate query, you can choosefrom five additional “Column Types”.

Typically, an aggregate query checks for conditionssuch as:

-- More Than $50,000 in sales last week

-- An average discount percent greater than 7%

-- More than 25 support calls this week

Here are a few examples:

Return to

Tour Menu


Training course 1 query designing

This query uses an aggregate to “summarize” (or total)the forecast sales per salesrep.

This first column selected indicates what field will haveits value summarized.

The second column selected indicates how the summarizedtotal will be “grouped.” (Per salesrep)

If the second column had been “company name” insteadof “salesrep”, the sales would be totaled per companyinstead of per salesperson. (And if “company” is chosen as a third column, you will get a list showing the forecast sales per salesrep and then – within each salesrep – youwould see the sales further broken down by company.)

Return to

Tour Menu


Training course 1 query designing

This query identifies any support reps whose average callduration is greater than ‘x’ minutes.

This first column indicates that the average call time will bedetermined.

The second column indicates that the average time will be grouped “per support rep.”

If the second column had been “customer name” insteadof “support rep”, the average call duration would be calculated per customer instead of per support rep.

Return to

Tour Menu


Training course 1 query designing

This query “counts” the number of activities per salesrep andidentifies anyone who has fewer than ‘x’ scheduled activities.

When using the “count” function, you should always count the column that uniquely identifies each record within a table (e.g., order ID, customer ID, activity ID, etc.).

The second column indicates how the counted records willbe “grouped.” (Per salesrep)

If the second column had been “activity priority” insteadof “salesrep name”, the activities would be counted per priority instead of per salesperson. (And if “priority” is chosen as a third column, you will get a list showing thenumber of activities per salesrep – broken down by priority.)

Return to

Tour Menu


Training course 1 query designing

Sometimes you’ll find that an application uses columnnames that are cryptic or difficult to understand.

In some applications, column names with multiple words are all squeezed together.

Using the “Customized Name” field, we can change thedefault names to something more intuitive, or morereadable.

Return to

Tour Menu


Training course 1 query designing

Note how we have modified the column names to make them clearer.

(Since some ODBC drivers don’t like blank spacesin a column’s customized name, you should use the underline character to separate words.)

Return to

Tour Menu


Training course 1 query designing

Notice the “Unique” column.

When KnowledgeSync finds a record that meets aquery’s criteria, the record is considered “triggered.”

You need to tell KnowledgeSync how it can “remember” which records have been triggered.

This is what the “Unique” checkbox is for.

Return to

Tour Menu


Training course 1 query designing

Since the “Order Number” uniquely identifies each order,it will also allow KnowledgeSync to remember which order records have been triggered.

And so we place a checkmark in the “Unique” column for the Order Number field.

Return to

Tour Menu


Training course 1 query designing

Finally, note how you can create columns that usecalculations to derive entirely new values.

In this example, the query is multiplying an opportunity’s close probability times the forecastamount of the sale (and then is multiplying that totalby .01) to derive the “weighted value” of the sale.

Return to

Tour Menu


Training course 1 query designing

When KnowledgeSync sends out an alert message,it can “roll-up” the details of multiple records intoa single message.

As a result, you need the ability to specify theorder in which the triggered records are displayed.

This is called the “sorting order.”

Return to

Tour Menu


Training course 1 query designing

In the case of this query, we might want to list thematching orders according to their “order date,”with the earliest orders listed first.

Just like in the “Columns” tab, we can sort by any fields from the tables we selected.

In the “Sort Direction” field, we can choose either“Ascending” or “Descending.”

Return to

Tour Menu


Training course 1 query designing

You can even specify “nested” sorting.

In this query, if multiple orders have the sameorder date, the orders will then be listed in thealphabetic order by the customer’s name.

Return to

Tour Menu


Training course 1 query designing

The “Filters” tab is the most important part of a query. It iswhere you specify what conditions have to occur in order forthe query to be “triggered.”

The way a filter works is for you to specify a field, (such as “order total”) an operator (such as “is greater than”) and acompare value (such as “1000” dollars).

Here’s how it’s done . . .

Return to

Tour Menu


Training course 1 query designing

The list of “Available Columns to Filter” lists all of thefields from the tables you selected for this query.

You start by selecting the field you wish to test for aspecific condition.

Return to

Tour Menu


Training course 1 query designing

A filter can retrieve records that meet a certaincondition (“is”) or it can retrieve records that do not meet a certain condition (“is not”).

Return to

Tour Menu


Training course 1 query designing

KnowledgeSync supports all standard operators,including checking for records with a “null” or blank value.

Return to

Tour Menu


Training course 1 query designing

A filter’s “Compare Value” can contain differenttypes of values. For starters, you can comparethe value in a field against a constant value.

In this example, the order status must be equalto “Picked”.

Return to

Tour Menu


Training course 1 query designing

You can compare the value in one field against the value in another database field.

In this example, note how the query is checking to see if an item’s “on-hand”quantity is less than its “re-order level”.

Return to

Tour Menu


Training course 1 query designing

You can even compare the calculated value of two or more fields against the value of a constant, against the value of another database field, or against the value of another calculated field.

In this example, the filter is adding the numberof units on hand to the number of units on purchaseorder, and is then comparing that total to see if it isless than the quantity on back order plus the quantity on existing sales orders.

Return to

Tour Menu


Training course 1 query designing

KnowledgeSync also lets you perform date-relatedcomparisons using an extensive list of “date variables”.

If you click on the list button that appears in this field,you’ll be presented with a window like the following . . .

Return to

Tour Menu


Training course 1 query designing

And over on the left you can choose from a widevariety of “date substitution variables” so thatKnowledgeSync can automatically determine thedates that it should use in this query.

Return to

Tour Menu


Training course 1 query designing

And so you can identify important business eventsthat occur “today”, “tomorrow”, “yesterday”, or evenfrom “last Monday” through “last Friday”.

You can even identify events that have (or have not)occurred within the past ‘x’ days or that will occurwithin the next ‘y’ days.

Return to

Tour Menu


Training course 1 query designing

KnowledgeSync also lets you query the underlyingdatabase for a list of possible values for a field.

If you click on the list button that appears in this field,you’ll once again see the following window . . .

Return to

Tour Menu


Training course 1 query designing

Up in this field, you can display a list of validfield values from your underlying database.

Return to

Tour Menu


Training course 1 query designing

Lastly, you can “soft-code” a filter with a compare value of a question mark.

A compare value of “?” indicates that the value for this filter will be specified on the event level, when this query is used within an event.

The benefit of using the “?” as a filter compare value is that it allows a single query to be used in multiple events.

(E.g., this query could be used in one event that looks at orders shipped today, in another event that looks at orders shipped yesterday, and in a third event that looks at orders shipped last week.)

Return to

Tour Menu


Training course 1 query designing

Although KnowledgeSync automatically identifieswhether a field contains character, date, or numeric data, you can change the way KnowledgeSync viewsthat data to create even more flexible query filters.

Return to

Tour Menu


Training course 1 query designing

KnowledgeSync also provides the ability to groupfilters based on “and/or” relationships.

Depending on the type of grouping you wish to do,you can accomplish it either via linear “and/or”logic, or you can simply insert parentheses around

the filters you wish to group together.

Return to

Tour Menu


Training course 1 query designing

If you create filters whose value will be specified on theevent level (i.e., filters with a compare value of ‘?’), youcan specify the “prompt” that will appear on the event levelwhen a value needs to be supplied for this filter.

When this query is used within an event, the user creating the

event will be prompted to enter a “selected product,” a

“begin date range,” and an “end date range.”

Return to

Tour Menu


Training course 1 query designing

The button at the lower right is what enablesyou to configure a query to check a field to

see if its value has been changed.

Return to

Tour Menu


Training course 1 query designing

The fields listed on the left are those that can bemonitored for a change to their value.

Return to

Tour Menu


Training course 1 query designing

The fields selected on the right are those that youhave chosen to be monitored for changes to their value.

It’s worth noting that KnowledgeSync can notonly determine when a field has had its valuechanged, but also determine when a field has hadits value changed to one or more specific entries.

Return to

Tour Menu


Training course 1 query designing

The “Sub Filters” tab is used only with aggregatequeries (such as testing for “more than 6 ordersshipped late last month.” Since this is a recordlevel query that uses no aggregate functions, this tab is left blank.

Return to

Tour Menu


Demo event queries

Demo: Event Queries

The “SQL” tab lets you see what KnowledgeSync is doingbehind the scenes in this query. Without KnowledgeSync’sstep-by-step Query Designer, this is what you’d have to do manually to achieve the same results as the query.

(And it’s also worth noting that the checkbox at the lowerleft of this window gives technical users the ability to directlyedit the SQL syntax for this query, would they wish to do so.)

Return to

Tour Menu


Demo event queries1

Demo: Event Queries

The “Preview” tab lets you test the results of yourquery. This is a very useful way of ensuring that your query retrieves only the records you want it to.

This is the conclusion of the demonstration onhow queries are created. Click here to go backto the Tour Menu and explore other aspects ofQuery Designing.

Exit

Presentation

Return to

Tour Menu


Training course 1 query designing

Linked Queries

In KnowledgeSync, a single eventmay use multiple queries to identify complex conditions withina single application.

For Example:

  • Send an alert about any clients with more than $250,000 in historical sales and have at least one open sales opportunity of at least $30,000.

Return to

Tour Menu


Training course 1 query designing

Cross Application

Linked Queries

Linked queries may also be used tocreate events that combine dataacross multiple applications.

For Example:

  • Send an alert about any clients with pending sales opportunities (in a CRM application) and are on credit hold (in a financial application).

Return to

Tour Menu


Training course 1 query designing

Identify the Conditions

Query #1:

More Than $250,000 in Historical Sales . . .

Query #1:

Pending Sales (in a CRM App) . . .

Query #2:

. . . have a Pending Sale > $30,000

Query #2:

. . . are on Credit Hold(in a Financial App)

When using multiple queries, the first step isto identify the conditions you wish to check for

Clients With . . .

and

Clients With . . .

and

Return to

Tour Menu


Training course 1 query designing

Identify

Common Field(s)

Query #1:

More Than $250,000 in Historical Sales

Query #1:

Pending Sales (in a CRM App)

Query #2:

And Have a Pending Sale > $30,000

Query #2:

And Are on Credit Hold(in a Financial App)

The second step is to identify the field (or fields) that link data from the two queries together

Clients With . . .

Contact.ClientID

Clients With . . .

Contact.ClientID

Account.AccountNo

Return to

Tour Menu


Training course 1 query designing

Link Query #2

to Query #1

Condition:

Clients With > $250,000 in Historical Sales and a Pending Sale >$30,000

Condition:

Clients With Pending Sales and on Credit Hold

Filter:

Query #2 Contact.ClientID is the same as the Query #1 Contact.ClientID

Filter:

Query #2 Account.AccountNo is the same as the Query #1 Contact.ClientID

The final step is to create a “filter” in query #2 that links it to query #1

Return to

Tour Menu


Training course 1 query designing

Here’s an event that gets triggered if a client has a newsales opportunity created for them (in a CRM application)but happens to be on credit hold (in a financial application).

The first step is to review the query that checks for newsales opportunities in the CRM application . . .

Return to

Tour Menu


Training course 1 query designing

The first query that we need to design is one that identifies clients with newly-created sales opportunities.

Return to

Tour Menu


Training course 1 query designing

This query retrieve all newly-created sales for each client.

Because we will be using this query to “feed” information intoa following query, we need to consider what field in this querywill link to a field in the second query.

In this example, we want to link clients in the CRM applicationwith clients in the financial application. Thus we will use the “ACCOUNT” field as the linking field.

(The linking field is always referenced by its “Customized Name”)

You can use any field to link one query with another.

Return to

Tour Menu


Training course 1 query designing

Aside from making a note of the linking field’scustomized name, there is nothing special thatwe need to do in this first query.

Return to

Tour Menu


Training course 1 query designing

Our next step is to design the “link to” query –this is the one that will receive data from thefirst query and use that data as further selectioncriteria.

Note that “link to” queries cannot be used alone;they are usable only when preceded by anotherquery that “feeds” them the appropriate data.

As a result, it is usually a good idea to identify a“link to” query by some unique text in its name.

Return to

Tour Menu


Training course 1 query designing

Like any other query, the “link to” query is designedto include the specific fields of data you require.

Return to

Tour Menu


Training course 1 query designing

  • Here’s the key to the “link to” query:

  • The first filter specifies that this query will retrieve only those clients on credit hold.

  • The second filter specifies that this query will retrieve only those customers (on

  • credit hold) who were also retrieved by the first (or preceding) query.

  • And so, to link one query to another, all you need to do is:

  • Identify the two fields that link the queries together

  • Select the first field as a column in query #1

  • Select the second field as a filter in query #2 and compare it to the customized name of the linking field from query #1 (enclosed within “{}” symbols)

Return to

Tour Menu


Training course 1 query designing

There is one final step: choosing both the queries fora single event.

One word of warning: Be sure to choose the queriesin the right order. If the “link to” query is specifiedfirst, you’ll never get any matching records!

Return to

Tour Menu


Training course 1 query designing

Helpful Hints

Query Tables:

You can select the same table multiple times. For example:

  • You have a query that checks for activities created by one salesperson and assigned to another. You want to send an alert message that contains both the creator’s name and the assignee’s name.

  • You choose the activity table and the salesrep table (the salesrep table contains the salesreps names.)

  • You need to link from the activity table to the salesrep table twice; once to get the creator’s name and once to get the assignee’s name. However, ODBC does not allow you to link to the same table name twice. You need to use a table alias.

  • In KnowledgeSync, you can select the same table name multiple times; after the first selection, KnowledgeSync will ask you to supply an alias name for the previously selected table.

  • You may now do your links.

Return to

Tour Menu


Training course 1 query designing

Helpful Hints

Query Links:

Order of Tables: A query’s primary table must be the first listed in the Links tab. For example, a query that retrieves orders that are shipped late uses the orders, customers, and salesreps tables. As you specify your links, be sure that the orders table is the first table in the first link you create.

Optimizing Processing: If you have a choice as to the order of the tables you are using, select the tables that retrieve the fewest number of records first. This means that successive filters on other tables will go that much faster.

Manual Linking: If you need to manually specify the linking syntax, simply type in everything that would follow the word “from” in a SQL statement. Do not include the word “from” in your statement.

Overriding the Link Type: In general, don’t do it unless you’re sure of yourself or have spoken with Vineyardsoft support.

Return to

Tour Menu


Training course 1 query designing

Helpful Hints

Query Columns:

Editing Selected Columns: Once you have selected a column, you can edit it within the grid. You can create columns that include arithmetic expressions, SQL expressions, or columns that are calculations of multiple fields. Simply click next to the selected column name and start typing.

Customized Names: Different databases (and ODBC sources) handle customized names slightly differently. It is suggested that you not embed blanks within customized names, and that you not make them overly long.

Multi-Field Uniques: KnowledgeSync allows only a single column to be selected as a “unique.” If you have a table that uses multiple columns as the unique value, you can create a column that concatenates these two fields into one – and then identify that field as the unique column.

Add All Columns to Query: This button is very handy if you don’t know what data is stored in a table’s fields. Simply select the table in question, click on the “Add All Columns to Query” button and click on the Preview tab.

Return to

Tour Menu


Training course 1 query designing

Helpful Hints

Query Filters:

Editing Filter Columns: Probably the most powerful and little-known function within the Filters tab is the ability to edit a column once you have selected it for filtering. You can create filters that combine values from multiple fields, or that use SQL operators for even more sophisticated testing of conditions.

Checking for Blanks/Nulls: If you wish to check for a field value that is blank or null, you have two ways to do it. First, you can specify a filter using an operator of “null.” Secondly, you can specify a filter using an operator of “is equal to” and then place a blank space in the Compare Value field.

Date Ranges: If you would like to create a query that accepts a date range, it is suggested that you use two filters off of the same field (one filter testing date values “greater than or equal to” ‘x’ and another filter testing date values of “less than or equal to ‘x’).

The following slides illustrate some of the more interesting filter conditions.

Return to

Tour Menu


Training course 1 query designing

This query has a filter that uses an SQL operator tocalculate the number of days between the currentdate and the date on which an order was placed.

Return to

Tour Menu


Training course 1 query designing

This query has a filter that adds the number of units of aproduct that are on order from a supplier to the number of units that are in stock and checks to see if that total isless than the product’s reorder (or minimum) stock level.

Return to

Tour Menu


Training course 1 query designing

And here is a query that subtracts the cost of a sale fromthe sale price and (thru a few other arithmetic functions)deduces the net profit percent.

Note that by using the ‘?’ in the Compare Value fields, thisone query can be used in many different events; each checking for a different percent range of net profit.

Return to

Tour Menu


Training course 1 query designing

Lastly, be aware that different databases (and ODBC drivers)support different operations and syntax in these query filters.

If you have questions about what operators you can use inyour filters, please contact the Vineyardsoft support team.

Return to

Tour Menu


Training course 1 query designing

Where to

Go From Here

The best way to proceed from here is to start building queries.

Focus on Query Designing: Don’t worry about the events for now; build and preview a whole bunch of queries. Create record-level queries, aggregate queries, and queries that include more complex filters. Once you master query designing, the rest is a piece of cake!

Start Simple: You can always add tables, columns, and filters to a query. Start off by choosing just one table, a few columns, and one or two filters. Preview your results. If you like what you see, go on from there.

Use the Sample Database: If you don’t have easy access to an ODBC-compliant database, use the “KS_Sample.mdb” that is included in the KnowledgeSync data directory. It’s a mini-CRM database and is great for practice.

Don’t Forget the Tutorials: KnowledgeSync includes tutorials (and pre-configured “EventPaks”) for the sample application, Sage MAS 90/200/500, Sage CRM SalesLogix, Microsoft Dynamics GP (Great Plains), Microsoft Dynamics CRM, and many other applications.

Return to

Tour Menu


Training course 1 query designing

Thank You

Vineyardsoft Corporation

800-850-8055

www.vineyardsoft.com

[email protected]

Return to

Tour Menu


  • Login