If you need EDI integration between your trading partners and Dynamics SL, you can use Catalina’s API for SL to get data in and out of Dynamics SL. One of the simplest of transactions is order management. If you have a trading partner that needs to send you PO’s so that you can then fulfill, the most common documents used are:
Inbound Documents
850: This is a purchase order to fulfill
Outbound Documents
855: An immediate response sent back to your trading partner acknowledging that you received the transaction
997: An acknowledgement that you have received the transaction and often when you will pass back a reference number for your internal order number
856: A shipper notification that notes what has shipped on the PO when a shipper is generated
The key to this is a data mapping layer that allows you to translate the inbound EDI documents and transform it into something that the Catalina API can understand. The reverse is true when data needs to be sent from SL out to your trading partner. The Catalina API will retrieve the data and then the translation will transform that data into an EDI document to send back to your customer.
If you have questions or need assistance with EDI integration with DynamicsSL, you can contact Catalina at [email protected]
Many of Catalina Technology’s stored procedures accept a field called @parms that is an XML field for configurable parameters to be passed. An example of this is below.
You can see that there is a parameter getting passed called “@parms”. In that is a XML string that contains one or more parameter. In this case, there is a single parameter called “ADDRID” and it is getting passed the value of “C%” so that it can return all addresses that start with a “C”
COVID-19 has made sending out invoices and getting paid has become a challenge. Catalina’s Account Central is a customer portal, for Dynamics SL, that allows customers to review statements, pay invoices or against their account, and manage their customer account in SL. All payments are through a PCI compliant payment processor. And all transactions are completely integrated with Dynamics SL
ctConfigEditor is the stand-alone executable used to create and edit the custom XML documents used to configure our full line of web services. Our xml structure supports storing sql connection data and a range of name/value pairs. All data is easily encryptable for added security.
Step 1:
Choose whether you are editing an existing file or creating a new config file from scratch. If loading an existing config file, you will need to fill in your catalina software license key as well as your sitekey.
Step 2:
Either load an existing Site ID or create a new Site ID. You can identify which Site ID you are editing on all screens at the top of the screen where it says, “Currently Editing: SiteID“. If this value is blank, it means you are creating a new SiteID entry. Note: TO DEFAULT ALL KEYS: Load an existing Site ID, then enter a New Site ID and hit the “Create Site” button.
Step 3:
Set your Database connection strings. Both the .NET format and OLE String format. .NET Format: user id=USERNAMEHERE;password=PASSWORDHERE;database=DATABASENAMEHERE;server=SERVERNAMEHERE OLE Format: Provider=SQLOLEDB;User Id=USERNAMEHERE;Password=PASSWORDHERE;Initial Catalog=DATABASENAMEHERE;Data Source=SERVERNAMEHERE For more information on sql connection strings and other options available, we recommend reading at: http://www.connectionstrings.com/
Step 4:
Edit the config options available or create custom entries. Note: you can optionally encrypt any field by just checking the “encrypt” checkbox next to a key. We recommend only encrypting sensitive data.
Step 5:
On the “Finish” tab you will see the option to Preview the XML file or Save it to a file. Click the appropriate button. You can optionally change your siteKey/encryptKey by filling in the new key in the SiteKey text field. Note: You will need to remember to update any client applications to use the new siteKey.
When I try to access Catalina’s API for Dynamics SL, I am getting an error that looks like this. What is the problem, and how can I fix it?
Answer:
Look at the web.config of your ctDynamicsSL web application and remove the section <system.codedom>. So looking below, just remove this total section from your web.config
Catalina has had a way to call custom stored procedures from their SOAP based web services for Dynamics SL for years. You can now do it using the RESTful API version.
Looking at the Swagger Documentation, you can now see a customSQL resource (If you don’t see this, contact Catalina Support to see about getting updated to the latest version of Catalina API for Dynamics SL)
NOTE: the checksum is a security feature that is turned on by default. This allows the API to double check to make sure that you are who you say you are. Use a SHA1 hash of the stored procedure name to generate the checksum.
The checksum requirement can be disabled in your DSLCONFIGFILE.xml file.
You can generate the checksum using any SHA1 library, or you can use the library included in our service distribution: /ctDynamicsSL/bin/ctStandardLib.dll
var checksum = ctStandardLib.ctHelper.getHash(siteKey, storedProcedureName);
Having a Continuity of Operations Plan is very important for businesses to continue to perform essential functions under a broad range of circumstances. The term Continuity of Operations Plan (COOP) is mostly attributed to the Federal Government which mandates a plan to keep the government running when faced with different crisis (financial, war, terrorist attacks, natural disasters, even nuclear attacks).
In the business world, we hopefully don’t have to worry about things like nuclear attacks, but we still need to be prepared so that we can be operational when “disaster” strikes. This could be any number of things: loss of key personnel, data loss, hacker breach, regional natural disasters (hurricane, earthquake, etc.), or what we have today with a global pandemic that is forcing businesses to shut down offices, implement work at home orders, and reduction of staff.
When you have less support staff to do your day-to-day processing of AR, AP, and other tasks, it becomes difficult to get paid by your customers and pay your vendors. Utilizing automation can help reduce your risk of downtime during crisis times. And it can increase productivity when you aren’t operating in crisis mode.
In the Accounts Receivable realm, Catalina Technology has automation tools that allow businesses to create customer portals so that the customer can login, view their statements, pay invoices, apply credit memos, and other AR functionality. Account Central also allows your remote workers to login and manage their customers, send out invoices, and pay for their customers without having to be in the office.
Because Catalina’s tools are web based, your infrastructure needs are minimal. You don’t have to have complex VPN’s setup, access to terminal server, or the SL thick client. All the user needs is a web browser. Security also insures that payments captured are PCI compliant to protect your customer’s identity and payment information.
Catalina also has other integration tools that allow you to integrate with best of breed cloud based solutions for procurement, ecommerce, CRM, human resources, time tracking, and many more. This will allow you give your employees and customers access to cloud based tools and apps no matter where they are working. Catalina’s integration tools will then make sure that the data synchronizes between SL and cloud.
Regardless of what you do to plan for crisis, having a plan is important. Most businesses get caught off guard even from the smallest of emergencies. Creating a plan, understanding your weak points, and having ways to maintain operations during an emergency is very important. The federal government also has some pointers and planning ideas here on ready.gov: https://www.ready.gov/business-continuity-plan
Brian Wharton founded Catalina Technology (www.catalinatechnology.com) to extend enterprise systems to the web over 20 years ago. Catalina is a leader in integration and API development for ERP solutions.
Catalina Technology is a developer of an extremely comprehensive software API which enables the back office ERP to integrate to many 3rd party and custom solutions for CRM (Dynamics CRM and Salesforce), helpdesk and support, time and expense management, 3PL integration, EDI replacement, and more.
We often get requests to integrate ecommerce or other systems to Dynamic SL’s Order Management module. Basically creating sales orders from shopping carts, CRM’s, Point of Sales, Mobile Apps, etc.
It is pretty easy to create sales orders in SL using Catalina’s API with a minimal amount of work. I am going to focus on the REST version of the API and show how you can create a sales order using Postman. From there, you can apply that to whatever client application you may be developing in.
The first thing that you do is look in Swagger to determine how to use the API. The swagger documentation, for the API, is located:
http://yourservername/ctDynamicsSL/swagger
Where “yourservername” is the server that the Catalina API is installed on.
NOTE: ctDynamicsSL may be located in a different virtual path. Check with your server administrator.
Below you can see an example of the swagger documentation. You will need to enter your API key and password, CpnyID, and SiteID in the top navigation bar if you want to use the swagger tools to test code. In this example, we are just getting the usage information on how to save an order.
Clicking on the Orders resource of the API you can then look at the POST method. This is the method that allows you to save new orders. It also gives you the format of the order object you would pass to the API.
Now you have this information, you now know how to send data to the API. Below is an example of one of the most simplest orders to create. There is very little required. You would replace the values with the values that match what your SL system accommodates.
NOTE: notice the CurySlsPrice and CuryCost. If you put either of those to the secret number of -999876, this will tell the Catalina API to have Dynamics SL calculate the pricing. If you put any other number, your number will be what is saved in the line item as the price.
Here is how you can put it together in a curl code. This gives you the information on how to use the URL (NOTE: you will have to replace yourservername with your actual server) and change the authorization to what your authorization is setup on your server.
And below, you can see how you can enter it into Postman. NOTE how the API passes back the order object to you once it is created. If there is an error, the order object will be passed back mostly blank with the field errorString as not empty (meaning the error will be stored in the field errorString)