Project for improvement of CRM system of the company.

  • Database size: 70Gb
  • Number of clients is over 6 million
  • Scope of activity: Russian Federation
  • On the market: with 1996 year
  • Headquarters: in the Netherlands
  • Branches: 8 branches in Europe and former USSR

    In the database there were about 250 tables, the database planning was implemented using Oracle SQL Developer Data Modeler. Interface running under Oracle Apache Server with module mod_plsql. CUSTOM authentication was used. The main programming language on the server-side PL/SQL, a small amount of the HTML code used for the containers creation for loading dynamic content. The project is actively used Oracle objects (types).
    Almost all of the client components of the project were designed by me back in 2003-2005 for the Ukrainian branch ESCC. At the time of development of the project they where obsolete, but the task to replace them were not. I just brought in compliance with the logic of the software with business of the Russian branch of ESCC. Where possible, I have used jQuery in new modules.


    The project used old 32-bit DLL written by me in Delphi also in 2004-2005, which created reports in RTF and MS Excel. To create reports in RTF I have used this library, first it a bit refined. The first screenshot shows a report template to work with this DLL.
    When migrating a project to a 64-bit platform DLL has stopped working. I did some research and experiments and I managed to solve the issue. Helped server install 32-bit Oracle client and a small manipulation of the configuration of the LISTENER. The second screenshot shows an excerpt of a LISTENER.ORA, where you can connect a 32-bit application ORACLE to work with an external DLL.
    In this project (REVELATION) me was first applied technology is business scripts. The idea was to make a piece of code out, put it in a database table and use it as Dynamic SQL. Oracle has PL/SQL objects (types), they can have properties and have methods. I managed before calling a business-script to initialize a few objects and pass them into the power Dynamic SQL. Thus there was the possibility to quickly change the logic without editing the main code of the project.
    In the project there was a reporting module with the task scheduler. There were a few dozen RECORDSETS (program with PL/SQL), which allows to create datasets in a particular format, separately stored templates in RTF and MS Excel, which could use the data. Reports run via the scheduler, you can run them through the reporting interface or from specified locations of the project to save time (batching), the result data sets. Each report had a primary instance and multiple child depending on the template that was used.
  • Add Comment