Showing posts with label SAP. Show all posts
Showing posts with label SAP. Show all posts

Wednesday, April 9, 2014

How to Visualize & Explore SAP NW Gateway OData Services online? : XOData Connect - Beta


Updated : 29/05/2014 :
Please see XOData Product Page for Details

As mentioned in my last post , new version of XOData is now available at XOData Connect with several improvements along with the connection/authentication option enabled - so now there is a way to access and explore any OData service from XOData - even if it's local and/or requires user/password.

Also, there is a special feature added for SAP NetWeaver Gateway OData services - to fetch all the available services from 'Gateway Service Catalog'  and populate the Service List drop-down for easier exploration. In this post, I'll provide the details on how to use XOData to start online exploration of SAP Gateway OData Services.



If you want to try it now then drop us a quick note and we'll send you user/password.   Request for Access

Read more »

Friday, April 4, 2014

How to visualize & explore any OData Service online? : XOData Connect - Beta

Since we launched our XOData online tool to enable effective visualization and exploration of OData APIs - we received a few requests to enable access to OData services that require authentication or only accessible locally. ( e.g. on workstation or within Intranet over VPN ).

Updated : 05/06/2014 :
Please see XOData Product Page for Details . XOData Chrome-App is now available in place of online version.

New version of XOData is now available at XOData Connect with several improvements along with the connection/authentication option enabled - so now there is a way to access and explore any OData service from XOData - even if it's local and/or requires user/password.

If you want to try it now then drop us a quick note and we'll send you user/password.   Request for Access

Read more »

Tuesday, January 28, 2014

Hacking together an ABAP Syntax-Highlighter : Extending Prism.js

Provoked by this post: "SCN Syntax Highlighting for Dummies on SCN", I started looking into the possibility of hacking together a syntax-highlighter for ABAP – preferably a JavaScript library that can highlight the ABAP code at the time of web page load on the client side/Browser.

Way back in 2004/5, remember when we were young :) - I was putting together my first personal website www.geocities.com/rmtiwari with the purpose of sharing ABAP code and world domination :), of course. That site was long abandoned but still exist as a reminder of past at www.passionateaboutsap.com . At that time, I wrote an ABAP utility program, to download ABAP reports/functions as HTML page and *potentially* make the ABAP code presentable and readable on Web. I thought it was cool at that time – specially using html anchors to move from a form-routine or variable use to the declaration part, while reading code on web. It was not perfect or easy to use and I did not use it much myself :).
Read more »

Sunday, January 19, 2014

Prototyping an ABAP OData Entity Data Model Generator: Preparing EDMX XML

Continued from my previous post "Prototyping an ABAP OData Entity Data Model Generator : Table Relationships" :

I’ll now write about the EDMX/CSDL preparation part and completed prototype program. Finally, we’ll do a few test runs to generate edmx/xml files and see how it looks when imported into Eclipse data-modelling plug-in.

Read more »

Thursday, January 16, 2014

Prototyping an ABAP OData Entity Data Model Generator : Table Relationships


Moving further from first part of this application, explained in my previous post Prototyping an ABAP OData Entity Data Model Generator : Simple Transformation, I’ve now put together some details about the main ABAP executable program.
...Continued from previous post
So we now have the simple transformation program in place and next step is to develop an ABAP executable program that will take header/main database table name as input, fetch details of table meta-data/foreign-key relationships, populate a variable of type structure ZRAM_EDMX_CSDL_SCHEMA using selected data and then finally use "call transformation" to convert data to XML. I'll write about this prototype program....
Read more »

Saturday, January 11, 2014

Prototyping an ABAP OData Entity Data Model Generator : Simple Transformation

As mentioned in my earlier post It's the best of times, I’ve been trying to auto-generate the entity service-data-model XML ( EDMX file ) from exiting SAP database tables and their relationships.

Background:

SAP NetWeaver Gateway Service Builder (transaction SEGW) is a design-time environment to support creation of OData Services. It provides several options to support both, Outside-in and inside-out service Development Approaches:

I'll try to summarize these two approaches and available options in Service Builder before moving further with the prototype.

Read more »

Thursday, January 2, 2014

Netweaver Gateway Services: oData Query Builder - A Prototype


As mentioned in my earlier post It's the best of times, I've put together some technical details of an ABAP BSP application. The application will use the generic "oData Query Builder" that is available as open-source at oData Website.

Summary:

I liked this open source oData Query builder ( see a demo here ) so I embedded this utility into a BSP application to enable simple exploration/testing of SAP Gateway oData Services ( only GET/Query part). Additional changes are made in ABAP BSP application to fetch all the active oData Gateway services with corresponding URLs from the SAP system and populate the endpoint drop-down. Rest of the functionality is pretty much as provided by the oData Query Builder library.

Read more »

Wednesday, January 1, 2014

The Age of David(s) and Goliath

First of all a huge thank you for all the support and encouragement after the announcement in my last post. Glad that I managed to write it finally, I posted a link on twitter and then went out to celebrate my daughter's b'day - a party for her and her school friends. Like Christmas, my daughter's b'day is almost a whole week event too :). My job at the party was mainly to play with my son..and not to confuse my credit cards' pin number with my last company's VPN pin :)

...that's when I started getting words of support and encouragement on twitter for my new adventure. Every little helps at this stage and I got a lot more than that! So thank you very much for that, means a lot. Also, I thought to capture some of these messages and when needed, use it as a source of inspiration later :).
Read more »

Saturday, December 28, 2013

It is the best of times..

..hopefully.

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.
Read more »

Wednesday, October 30, 2013

Get the Joke!


I wrote a short post on Requirement Analysis and this one is about a special case that talks about - separating the joke from the requirement or other way round.

As a Consultant, Developer, Solution or Application Architect – whatever we call ourselves now a days – once in a while we get to analyse some requirements that may sound like a joke or an irony, if interpreted literally.  The following might be an extreme analogy but some requirements could be along similar lines except that in the realm of software, it may not sound so ridiculous.

Read more »

Sunday, June 23, 2013

The Essence of Functional Programming and ABAP.

So what the .... is this 'Functional Programming'?
It is a programming paradigm that typically avoids using mutable state. (Whatever does that mean?)

Functional programming avoids side effects (change of state) during execution of a function. Compare that to imperative style programming, like in ABAP, where usually state can be changed by commands/statements e.g. for I/O, database operations, global variables, buffering etc.

Stateful programming is a major cause of bugs in software programs. It introduces complexity, uncertainty and affects readability of code that in turn causes bugs during initial development and even more during maintenance. Such code is not easily understandable and other programmers end up making unintentional changes during maintenance phase.
Read more »

Saturday, October 6, 2012

Power of the Core : Using XSD for XML Transformation in ABAP


I've already written a few posts on how to use the graphical editor to create Simple Transformations but I guess that's not good enough for lazy developers like me.

So now we are going to try a different approach assuming we already have the XSD file that describes the structure of the required XML.

Let's say you have an XSD file for which you want to generate/transform XML <-> ABAP. Of course you don't want to create the corresponding ABAP Structures or Simple Transformations manually neither you are interested in hearing about capability of another SAP Product in this field e.g. SAP PI/CE etc. That said ..
Read more »

Saturday, May 26, 2012

Simple Transformation for XML in ABAP - Part III & some JSON on the side


This is just to explain a bit further on one of my comments from the earlier XML related post : Generate Simple Transformation for XML in ABAP - Part II.

There were a few questions regarding transforming ABAP ITABs with deep structures to XML and setting encoding ( other than default UTF-8 ) for the output XML etc.

Read more »

Sunday, March 4, 2012

Politics of Change


I know it's more relevant in current scenario but I've no intention to discuss the World politics or Change, in general. It's slightly non-technical topic but still related to the IT consultancy and some of the issues we face during implementation of new software features or integration.

Technical challenges aside, some of the non-technical factors play a major part in success of any small or big project. As a consultant, while we love to work on the technical challenges, we can't avoid dealing with some of the non-technical aspects that can be termed as 'Politics'. Politics between the organization, departments, leadership, management or teams, that plays out during implementation of a change.
Read more »

Sunday, October 30, 2011

Customer is always right..



Dilbert.com
except when they are wrong ;) . Well, customer is almost always right but only about the problems/symptoms they are experiencing. But sometime even they are not in a position to completely explain their problems. And the gap becomes even wider when some customers start telling you about the solution, that they think, could solve their problems rather than focusing on explaining the requirement first. Suggesting the right solution is our job.
Read more »

Tuesday, June 15, 2010

SAP HR Organizational chart : A Proof of Concept using BSP and JS

Before I forget, let me share my weekend work with you. I will probably explain it further in another post but for the time being here is my brain-dump; actually it's dump as-in ST22 :). In short (dump), this is about a quick and light-weight solution for generating SAP HR Organizational charts. Surprisingly, standard SAP does not provide a usable Org Chart facility and you need to buy 3rd party products to get even a basic display of Org Chart (e.g. through ESS/MSS ).

While browsing, I found a JavaScript library and used it within a BSP application to develop a simple but very useful solution for this age-old problem.
Read more »

Sunday, February 21, 2010

Career Break & Women in Technology - The Big Issue!



I've been asked a question from one of my Blog readers which I could not ignore. The question represents a bigger issue about the social responsibility of organizations and people, in general. Actually, this is not something that affects only women but also the families; you, me and the society . What exactly are we doing about it and is that enough?
Read more »

Saturday, September 19, 2009

ABAP RegEx met CSV and said 'I'll keep a Tab on you'


I wrote about XML processing in my previous posts:
As much as we like to use XML for data-exchange, there are still a lot of legacy(pre-XML) data files floating between the systems. CSV files are used for ages and there are already some functions available in ABAP for the purpose. But all these standard or custom methods of parsing CSV, require more than 10 lines of code.
[ Image and comic from XKCD ]



Arrival of RegEx [ Regular Expressions ] in ABAP should be able to put an end to the miseries, developers have been facing with string ( match/find/replace ) operations.
Read more »

Monday, August 31, 2009

Writing Thought-Provoking (Erroneous) Code

Do we learn from our mistakes? Probably not!.According to a research carried out at the Massachusetts Institute of Technology we learn more from our successes than our failures. Except that the research was carried out on Monkeys. Not sure if Monkeys analyse their mistakes as much as we, humans, do. At least programmers do analyse coding mistakes which in turn provokes thoughts and improve their understanding.

I was working on a quick prototype to manipulate the help-values for the status of CRM activities. I wrote following code and encountered an error message stating relation ' ' is still not supported.
Read more »

Wednesday, July 15, 2009

Beneath Abstraction!



Image from Free Stock Photos
Problems cannot be solved from the same level of consciousness that created it. - Albert Einstein
I was trying to find this famous quote from Einstein and realized that like software, it's actually available in many versions. I could not be sure about the original so in the end just chose one of the shortest.

Sometimes the obvious solutions are unable to solve the underlying problems, because from our level of understanding, we could only see the symptoms and not the cause. Just as an example, Socialism and Communism seem to be a very obvious solution to solve the poverty issue. "Collect money from those who have plenty and distribute among others who don't" - seems to be an obvious solution. However, we could all agree, it does not work as expected.

Basically, I am trying to relate this whole stuff of "level", "abstraction" & "consciousness" etc. with "how should we go about understanding basic software concepts and solve software problems". Read more »

Copyright