|
|
Sample Scripts
CONVERT_ACCESS (VB script)
This example shows you the principles on how
data can be interpreted by using an extra database (Access) in your script. It
uses OLE DB4 and ADO techniques to do this.
So, this is not a standard function. What is
outlined here must be interpreted for each case.
The sample: We created a website where people
can order stuff. The order itself must be posted into your order handling
system, which we will call ERP (Enterprise Resource Planning) in this sample.
Because you want to give visibility to your customer on when delivery will
happen, you post back this information to your website. However, at the time
your customer creates his order on the site, you must give him an order
reference. That's tricky because usually it's your ERP creating those
references, and your ERP is not connected real-time with your website. Now we
need to work with a website order number and an ERP order number. How to link
those 2?
The challenge in this is to find a common
primary key, which is not the order number. The primary key could be the
customer id together with purchase order number of the customer. A key that was
posted with the order, but not stored on the website.
Knowing this, the solution could be:
- Make a separate Access database
(OrderXreference.mdb) with one table:
- In your PRODBX configuration, when your
order is posted from the website, make sure the website ordernumber is also
written in WebId, the customer number in CustomerNo and the purchase order
number in PONo. Of course, at this point you don't know the ERP order.
- When the order is handled by your ERP it
posts the ERP order number, the customer number, the purchase order number
and the delivery date (which you want to publish). To convert the ERP order
number to WebId we created the following script (Providing you wrote the
purchase order number to the stack and you're currently handling the
customer number):
Function ConvertAccess(InputValue,Stack,Parameter1,Parameter2,Parameter3,Parameter4)
'Build the connection with the access database
Set AdoConnection = CreateObject("ADODB.Connection")
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0"
ConnectString = ConnectString & ";Data Source="
ConnectString = ConnectString & "D:\OrderXReference.mdb"
ConnectString = ConnectString & ";Jet OLEDB:Database Locking Mode = 1"
AdoConnection.ConnectionString = ConnectString
AdoConnection.Open
'Make the SQL query
Set AdoRecordset = CreateObject("ADODB.Recordset")
SQL = "Select WebId From OrderXReference where CustomerNo=" & InputValue
SQL = SQL & " and PONo ='" & Stack & "'"
'Go and get the record
AdoRecordset.open SQL,AdoConnection
ConvertAccess=AdoRecordset("WebId")
End Function
- When writing this last information you may
also update the ERPOrder in the Access table. With that you would be able to
find it back when the customer wants to update something, like his PO
number.
|
|