Saturday, December 28, 2013

It is the best of times..


Last month I quit CGI/Logica to start my own SAP Consultancy and solution development company, PragmatiQa Ltd. Obviously it was a difficult decision to quit Logica after nearly 10 years of my association with the company. The reputation, relationships and comfort zone not to mention the job-security, monthly paychecks and the important one - especially for a person with parental responsibility - the flexibility of working from home. Interestingly, you can actually think of quite a few nice words for your day-job, once you start thinking about quitting it :)

But like every software developer who opts for a career in software development for the passion and not merely as a stepping stone for a managerial / leadership positions in a big company or as a starting point of upward organizational hierarchy traversal mechanism :) - I too had a dream of taking the plunge - one fine day.

As it happened, the motivation was always there but some of my constraints at personal front combined with current opportunity for a developer in SAP ecosphere - mainly a more open and accessible SAP - and my wife’s belief that I deserve a chance to "Learn or Succeed", ensured that the proverbial ‘One fine Day’, is Now.

The mentioned “Personal constraint” is not something special to my situation. It’s similar for anyone with parental responsibility – for me it’s mainly to pick/drop kids to school/nursery – and to be there on time. Also I wanted to support my wife in getting back to work after her long maternity leave. Interestingly, I wrote about the issue sometime back Career Break & Women in Technology - The Big Issue! so just making sure that I do what I might have been preaching :)

One major obstacle for a lean start-up in SAP field was obviously the prohibitive cost of access to SAP systems, products and support. Though it’s still not comparable to an iPhone consumer app development but recently there has been a noticeable change in SAP ecosphere and for developers like us there is a glimmer of hope that we might just be able to afford a relationship with SAP the giant through its PartnerEdge Program. I’ve applied for the “SAP PartnerEdge program for Application Development as Exploration member” and hoping to get it approved soon.

In a way, the biggest endorsement of SAP's direction - the recent changes towards openness and developer relationships programs - is the fact that some developers like me are actually leaving their day-job to learn and build software on SAP’s platform. Though there are still many challenges for a start-up like mine - specially around access of SAP Business suite ( ERP/CRM ) systems and I’ll be discussing about some of these in later posts, but I do appreciate the work done by SAP and SAP community towards a more open and accessible SAP.

It’ evident that some of the people from SAP are really trying to make a difference....and threatening to be successful in their attempts too :) . Sure there will be several others behind the scene but I follow some of these people from SAP who are on twitter : @vijayasankarv and @steinermatt to name a few. Not to forget the effort of wider SAP community specially @qmacro @se38 @fredverheul @wolf_gregor @jonerp et all. who push SAP further through constructive criticism . For inspiration and experiences from the trenches, I’ll be following the likes of @thorstenster, @wombling, and @jhmoy .

By the way, now that I am no longer an employee of a big corporate, I’ll try to be more open myself and share some of my experiences in my next posts. I hope to talk about my “Big idea/Business Plan” or rather the lack of it, my technical explorations etc.

Getting just a bit Technical now....
On the technical side, I am currently exploring SAP Netweaver Gateway Services/oData and in the process of learning, I’ve been prototyping a few tools/utilities that hopefully will help developers and functional consultants.

I liked this generic oData Query builder  ( see a demo here ) so I embedded this utility into a BSP application. It should enable simple exploration of query/GET part of Gateway services/entity relations/navigation etc. Consultants/Developers can use it to check out some of the existing services on the system as well as for testing during prototype stage. Only part that I’ve implemented is basically to fetch all the active Gateway services and related URL from the SAP system and populate the drop-down for service selection. It can be integrated with UI5 as well but as of now it seems good enough for the purpose.

Screenshot for one of the available sample services related to SFLIGHT is as below:

Further, there is another utility for Netweaver Gateway Service Builder that I am working on - this one is a bit challenging and a good learning experience. Basically I’ve been trying to create the entity service-data-model XML ( EDMX file ) from exiting SAP database tables and their relationships. Service Builder (Transaction SEGW) in Gateway provides a way to import DDIC structures or *manually* prepared EDMX file ( - e.g. through Visual Studio or Eclipse ). New versions of Gateway ( after SP4 ) also provides the option to import RFC/BORs for inside-out service development approach.

But I think a program that could generate the EDMX file programmatically for a given SAP database table, and use the foreign key relationship to determine association/navigation to other tables, could be useful for rapid prototyping or for a development that falls between outside-in and inside-out approach. So I wrote a prototype program that generates such service entity-data-model ( edmx ) file. This file can be imported in SEGW to generate the gateway meta/service classes.

The generated edmx file for SFLIGHT and related tables is as below :

Link here as some of the browsers are unable to show this in an iframe : Service.edmx

This generated file can also be imported in eclipse entity-data-modelling plugin to show the relationships graphically. If required, any adjustments can be made in eclipse before importing this file into SAP through service builder ( SEGW ). Further, Eclipse also supports URL import so this program can be converted to a BSP/SICF service to provide the generated edmx file.

I’ll be back with some code and explanation for these as well as some other little prototypes I’ve been working on. And once I'm done with Gateway, I'll be moving on to UI5 :)
....and in case you are wondering about the relation of this post with the photograph of Sachin..and me, that's just to get, potentially, a billion people envy my luck :)  

Happy holidays (whatever is left of it now) and a very happy new year!

To be updated with Links/References later :

Links and References:

Ref. Remarks



  1. Great Initiative Tiwari. My best wishes to you on your new path ahead. Regards, Arun Bala

    1. Thanks Arun for your kind words and support :)


  2. Congratulations Ram!! All the very best!!

  3. Congrats Ram. All the very best. Happy New Year.

    1. Thanks Raja! Wish you a very happy new year too.


  4. Hi Ram,

    Nice to read your blog. I always admired your work ethics from days when we worked in Mumbai Accenture. Congratulations on starting your own firm PragmatiQa Ltd.
    My best wishes and Happy new year!!.

    Harish Munigala

    1. Thanks Harish!
      Hope things are fine at your end and wish you a very happy new year too.


Info : Comments are reviewed before they are published. SPAMs are rejected.