jBASE ETL - T24 Accounting Tables
Filed in T24, jBASE, January 10, 2012, 2:39 pmA practical scenario in using the jBASE ETL is feeding your bank’s accounting/ALM system with data from the T24 accounting tables on a daily basis.
Typically, you will want to extract the data from distribution (archived) files rather than the actual accounting tables. For example, instead of running the following:
td24 -server 10.10.59.42 -user INPUTT -pass 123456 -file FBNK.STMT.ENTRY -with "BOOKING.DATE EQ '20120109'"
You would use the distribution file instead:
td24 -server 10.10.59.42 -user INPUTT -pass 123456 -file FBNK.STMT.ENTRY.DIST01 -with "BOOKING.DATE EQ '20120109'"
Here is an ONLINE example of extracted data for the FBNK.CATEG.ENTRY table.
Other notable distribution files are the other 2 accounting tables as well as FBNK.FUNDS.TRANSFER$HIS. You would extract from their distribution files in a similar way:
td24 -server 10.10.59.42 -user INPUTT -pass 123456 -file FBNK.CATEG.ENT.DIST01 -with "BOOKING.DATE EQ '20120109'" td24 -server 10.10.59.42 -user INPUTT -pass 123456 -file FBNK.RE.CON.DIST01 -with "BOOKING.DATE EQ '20120109'" td24 -server 10.10.59.42 -user INPUTT -pass 123456 -file FBNK.FUNDS.TRANSFER$HIS.PART1 -with "PROCESSING.DATE EQ '20120109'"
To automate the extraction processing, simply create a script and have it run daily after the COB. Here’s an example in Wndows jscript:
var today = new Date();
var y= today.getFullYear();
var m = today.getMonth()+1;
var m1 = (m < 10 ? "0" : "") + m;
var d = today.getDate();
var d1 = (d < 10 ? "0" : "") + d;
var iso_date = (y + m1 + d1);
WScript.Echo("td24 -server 10.10.59.42 -user INPUTT -pass 123456 -file FBNK.STMT.ENTRY.DIST" + m1 + " -with \"BOOKING.DATE EQ '" + iso_date + "'\"");
WScript.Echo("td24 -server 10.10.59.42 -user INPUTT -pass 123456 -file FBNK.CATEG.ENT.DIST" + m1 + " -with \"BOOKING.DATE EQ '" + iso_date + "'\"");
WScript.Echo("td24 -server 10.10.59.42 -user INPUTT -pass 123456 -file FBNK.RE.CON.DIST" + m1 + " -with \"BOOKING.DATE EQ '" + iso_date + "'\"");
WScript.Echo("td24 -server 10.10.59.42 -user INPUTT -pass 123456 -file FBNK.FUNDS.TRANSFER$HIS.PART" + m + " -with \"PROCESSING.DATE EQ '" + iso_date + "'\"");
Simple, not a lot of hassle, and plain productive.
jBASE ETL - Simple, Secure, Blazing Fast
Filed in T24, jBASE, December 17, 2011, 1:27 pmIf your company’s data resides inside jBASE, chances are you’ve wrestled with extracting that data out and inserting it into a table. There are various commercial solutions that can accomplish this such as Vultar ODBC, mv.NET, and jBLoader.
These implementations typically require custom jBC code installed on the jBASE server as well as setting up an application server responsible for connection pooling. There may also be run-time (distribution) fees and onsite consultancy requirements to consider. Costs add up quickly.
If your primary goal is to deliver usable grid data from jBASE to the users, then we have a simple tool that does just that. Here’s an ONLINE EXAMPLE of the data that this tool produces. And unlike the above solutions, we do not have developer licenses and absolutely no distribution fees You only pay for the product one time.
See this tool in action by downloading the TRIAL edition. The trial edition has all the features described in this post, but it can ONLY extract one table, FBNK.CUSTOMER.
You can PURCHASE the retail edition, which has no such limitations.
Continue reading this entry »
jQuery Grid Plugin with WCF
Filed in AJAX (2), WCF (2), July 26, 2009, 2:30 pmOne of best grid plugins out there for jQuery is jqGrid because of its good documentation and online samples.
There’s plenty of code examples with php/mySql as the backend but I wished they had one with WCF as the application tier. With a little plumbing in WCF and some trial and error testing, I was able to get a small jqGrid application up and running.
If you are thinking about implementing jqGrid in your application with WCF, this post will include some code samples and hopefully help you speed your development process.

Online sample below. . .
Continue reading this entry »
Combining ASP.NET Authentication and Message Encryption with Silverlight 2
Filed in Silverlight 2 (5), WCF (2), June 4, 2009, 9:53 amSilverlight 2 as a Line of Business (LOB) application must be able to handle your company’s data securely. Out of the box, if your IDE is Visual Studio 2008, you can incorporate ASP.NET authentication by adding a “Silverlight-enabled WCF Service” item to an existing WCF project. You can also enable the Authentication Service provider in web.config by following MSDN’s tutotial. Ideally, this is implemented over SSL and will provide transport security for the application.
The above implementaion does not support message level encryption. Since Silverlight 2 only supports BasicHttpBinding, WS-* security features like message encryption and digital signing with X.509 certicates are not available.
However, Silverlight 2 does support symmetric key (”shared secret”) encryption using AES algorithm. Here is a descriptive series of articles on the topic. With a little bit of plumbing on the WCF service side, it is possible to create a custom authentication and message encryption security architecture for Silverlight 2.
Online sample below. . .
Continue reading this entry »
AJAX with WCF
Filed in AJAX (2), April 29, 2009, 7:41 pmWith the upcoming release of ASP.NET AJAX 4.0, consuming and presenting cloud data in grid format without adding third-party components will be a reality. Until then, among the free grid components for ASP.NET for AJAX 1.0 that are out there, the one I found the most user friendly is the Ajax Data Controls Version 1.0. There are plenty of samples showing how the component can be used here.
I took a stab at implementing this component with WCF as the web service provider.
Data Driven Application Demo with Silverlight 2
Filed in Silverlight 2 (5), April 18, 2009, 8:47 amRecently, I submitted an entry to the Silverlight.net Showcase based on some of my previous posts on custom sortables and path animation. In this application, users can drag and reorder the sortables to refresh the charts. The charts also support drill thru. The visual elements consume data from WCF REST, ATOM, and POX services and exchange notifications upon data binding. There are a few free charting solutions for Silverlight 2 and I decided to use the Visifire component.
Path Animation with Silverlight 2 (Part 2)
Filed in Silverlight 2 (5), April 14, 2009, 4:20 pmIn my previous blog on path animation, a path element was given a “spinning wheel” effect by transforming the StrokeDashArray property. This time around, let’s animate some visual along a path element. I will reuse the spinning wheel project and it will serve as the target to move around with. The path element will be made up of a bunch of bezier curve segments. The final project should look like a planet with a spinning ring looping thru 3 irregular ellipses like this.
Custom Sortables and Hit Test with Silverlight 2
Filed in Silverlight 2 (5), March 30, 2009, 4:08 pmOne common technique for implementing sortables in Silverlight 2 is to create a placeholder for the dragging element and exchange the positioning of the targeted dropped area where an existing element resides by using the “RemoveAt” and “Add” methods of an UIElementCollection object (i.e., the Children property of a StackPanel). I really like the simplicity, but not the visual presentation because the effect happens literally in a split second.
Here’s my interpretation of a sortable list implementation, that is more visually appealing and suitable for a menu component.
Path Animation With Silverlight 2
Filed in Silverlight 2 (5), March 19, 2009, 1:15 pmIn a recent Silverlight 2 project, I wanted create my own ubiquitous “spinning wheel”. The implementation options are endless and my approach was to create the visual using the Path element and animate it to give it that spinning effect.
The visual looks like this:
Sandboxing Asynchronous Processes
Filed in C# (2), March 14, 2009, 9:58 amCreating process boundaries offer the advantages of isolation and the ability to load and unload other processes within one main process. We can do this easily with AppDomains. But I also want the application that is running in another AppDomain to perform its processing asynchronously. Since I have little control over the remote class if it is faulting, I’m quite happy with a “fire and forget” strategy.
First, I’m going to create a class that sets and returns a List of some Type. Since I will instantiate this class in another AppDomain, this class must derive MarshallByRef. To make it easy for the calling program to invoke its methods, this class will also implement an interface. This interface exists in the same namespace of the calling and remote classes and is visible to both.
interface IParser<T> where T : class { void Set_PENDING_PROCESSING_List(); List<T> Get_PENDING_PROCESSING_List(); } public class Parser: MarshalByRefObject, IParser<PENDING_PROCESSING> { List<PENDING_PROCESSING> _pending_processing_list = new List<PENDING_PROCESSING>(); public Parser(string uploadPath, string file) { Set_PENDING_PROCESSING_List(); } public void Set_PENDING_PROCESSING_List() { Thread.Sleep(5000); //Implement actual code here. } public List<PENDING_PROCESSING> Get_PENDING_PROCESSING_List() { return _pending_processing_list; } }






