Skip to Content

I’ve now been at two clients in three years where developers have created what must certainly be considered candidates for the “mother of all workflows” award. 

You know what I’m talking about here – the kind of workflow whose flowchart looks like some giant spider in some Indians Jones movie.

Anyway, it occurred to me that SAP actually uses workflow far differently in a lot of its own processing.

In particular, a certain type of data row in a transparent table has a whole bunch of status flags, and as things happen to the data row, the status flags get updated, and thru change histiory, the updating of these flafs often trigger worflows letting folks know that something must be done “next”.

 To me, this granular and atomic way of using workflows is a whole lot better than designing candidates for “mothers of all workflows” – particularly in an (E)SOA type universe where you want the process modelled and executed granularly.

The only exception I can think of is where the workflow is basically executing a set of paper-pushing steps, not all of which may be reflected by changes to SAP data tables.  

Any thoughts on this matter? 

I’m interested because I may be assuming a new position where I have to propose an overall approach to how the client should use workflow, and my instincts tell me to tell the client NOT to go for “the mother of all workflows” appraoch.

To report this post you need to login first.

23 Comments

You must be Logged on to comment or reply to a post.

  1. Susan Keohan
    Hi David,
    I have met this workflow, and it has been put to rest.  Granular, dynamic, and fully utilizing all the cool capabilities of the SAP Business Workflow is the way to go.  Especially if you can use anchors, correlations, and some of the ‘newer’ features.  I gave a presentation at ASUG a few years back.  I had the ‘mother’ workflow graphical version printed and laminated, and the replacement (4 small sub-workflows)as well. Both were printed using the about the same font size – so no cheating there. When unscrolled, the mother workflow was about 7 feet long.  The new WFs?  Barely 3 feet, and actually legible!  Quite a visual demonstration.
    (0) 
    1. David Halitsky Post author
      Hi Susan – glad to know you agree.  I bought the SAP Press book “Practical Workflow” but I don’t remember if anchors/correlations/newer features are in there because I couldn’t finish reading it due to time pressures at the time.  If not covered in there, can I pull up some good links on ’em by searching SDN?  IF not, can you provide some for my benefit and others?

      Also, I have to tell you my best professional friend and one of the few folks I consider truly guru is Bill Mann, who started his career at Lincoln in the early 60’s and returned for a brief stint a few years ago before finding his current happy berth at Vertica (Stonebraker’s latest DB startup up in your neck of the woods.)

      Finally, I find it fascinating that you’re involved with SAP but also at Lincoln Labs.  I doubt you’ll be at SDN/Labs in Palo Alto on 5/29, but I wish you could hear my presentation on NW as a stack for scientific reasearch …

      (0) 
      1. Susan Keohan
        Hi David,
        The original Book did not cover these topics because they did not exist.  But there is a newer version of the book which will cover a load of newer topics, including ad-hoc anchors, local workflows, Classy Workflows (ie: w/ABAP OO).  This book is available for pre-order at SAP-Press (http://sap-press.com/product.cfm?account=&product=H3057). 
        I was at MIT Campus for the initial implementation of SAP beginning in 1995… then moved on to greener pastures when MIT LL decided to go with SAP.   I don’t plan on going to Palo Alto (though I wish I could!) but I will be interested to hear what goes on.  
        Meanwhile, preparations for ASUG/SAPPHIRE next week are keeping me out of trouble.
        Cheers,
        Sue
        (0) 
        1. David Halitsky Post author
          Susan – you can be sure I’ll place a pre-order today.  I assume LL runs SAP just for “business” (like pharmas run it just for business, not for research.)  If so, this is what I and a few others here at SDN are out to change by convincing SAP to marker the NW stack as a stand-alone IDE which is robust, stable, and integrateable via RFC or the newer protocols with your favorite scientists’ favorite freeware, personalware, or packageware.  Interestingly, I was told by one of Walldorf’s chief architects in LV last year that he was brought to SAP to make an IDE version of Workbench (sans applications), but that someone in corporate kiboshed the idea.  This was a mistake on the order of the one Big Blue made when it killed its program to bring out a PC chip that would run a full-blown version of MVS.
          (0) 
          1. Susan Keohan
            Hi David,
            You are correct; we run SAP for the business.  Although some researchers have asked  ‘Is SAP a database system that they could use for their research? ‘. 

            Worth noting on the book – all the authors agreed that royalties go to MSF – and I believe there are half-dozen or so Mentors as authors.  Community in action!!

            (0) 
            1. David Halitsky Post author
              When you write:

              “Although some researchers have
              asked  ‘Is SAP a database system that they could use for their research? ‘.”

              you have no idea how you’ve made my day.  I have an agreement with SAP that if I and a colleague at Princeton and PennState get the 2-yr challenge grant for which we just applied, then SAP will let me run the subscription NW stack free on the project server as an IDE, if I agree to blog “strenuously” about the progress of the project and how well the stack is doing as an IDE for pure scientific research.  So if all goes well, maybe the answer to your researchers’ question will start to be a “yes” rather than a “no”.

              The point is that the NW stack offers a single “soup-to-nuts” integrated solution from database up to web-page that nonetheless allows the customer to reach out to whatever external code is necessary via “fast” RFC’s or slower XML.  And the stability of this “soup-to-nuts” solution is important.  When I asked Temple Smith (of BU’s Biomolecular Research Engineering Center) why the hell he was running Sybase, he got a little irritated and said “because someone answers the phone when I call with a technical question.”  The importance of IT stability to scientists should not be underrated – we are long past the day of the entrepeneurial guys who refuse to run anything they or their grad students haven’t written themselves …

              (0) 
              1. Susan Keohan
                Wow, have we digressed – but still, this is very interesting.  I can certainly sympathize with the scientists – they should not be spending their time re-inventing the wheel when we have an amazing wheel in-house!
                (0) 
                1. David Halitsky Post author
                  Glad you find the topic of interest.  But it really isn’t a digression from Workflow, for the following reason.

                  IF you take a look at the discussion here:

                  Coding Problem 6 Now Defined in Scripting Languages/Bioinformatics WIKI

                  you’ll see that I defined an interactive web coding problem which is very similar to a workflow problem.  (Anton Wenzelheumer originally provided a wonderful php solution which has disappeared from the thread – not sure why.)

                  Right now, if you want to get an exact “gene” out of GenBank for a crystallized protein in the PDB (Protein Data Bank), you have to go thru several interactive sessions on the web at different sites – and in each of these steps, you submit something retrieved in a previous step. 

                  Is this not a workflow?  Not only is it one, but there are reasons to think that if the php which Anton wrote for each interactive step were called by an overarching workflow, then a lot of tangential but important side-benefits could be achieved …

                  (0) 
                  1. Thorsten Franz
                    Hi David,
                    The example you describe sounds more like a use case for a Composite Application than a workflow. Why?
                    To me, one of the main uses for workflows are processes that are cross-user, i.e. several people are involved and it must be ensured that the process instance is moved smoothly from user to user as required.
                    Composite Applications, on the other hand, are strongest when the same user would otherwise be hopping from site to site or application to application to achieve one task, and you can make the user’s life easier by integrating all these different applications so that the CompApp does what the user would have done before: pass data from service to service, manage conversions, user mappings, etc.
                    Of course there are many mixes between the two. Pure Workflow (one app, many users) and pure CompApp (many apps, one user) are just ideals. 🙂
                    Cheers,
                    Thorsten
                    (0) 
            2. David Halitsky Post author
              During the migration process problems have been reported for this blog. The blog content may look corrupt due to not supported HTML code on this platform. Please adjust the blog content manually before moving it to an official community.
              (0) 
                  1. Pablo Casamayor
                    Monsieur Halitsky,
                    bien que vous ne vous débrouillez pas mal, il faut faire un peu plus d´attention quand il s´agit d´écrire en français.
                    Au lieu de dire: “Je pense en francais comme un vache espanol!” vous auriez du dire “Je parle francais comme une vache espagnole!.
                    Le genre est féminin. La grammaire… toujours la grammaire.
                    Excusez-moi si´l y a quelques fautes d´orthographe. Évidemment, moi je parle le français comme une vache espagnole.
                    (0) 
                    1. David Halitsky Post author
                      Mea culpa, Pablo, mea culpa !!!!

                      I actually did mean “penser en”, not “parler” – I was twisting the original a little bit for fun.

                      But I am mortified about the “un/une” and the “espanol/espagnole”.  Chalk it up to sloppy!

                      To make amends , I shall stay after school and write this a thousand times on the blackborad:

                      Si tous les couillons pourrais voler, je serais le chef d’escadre.

                      Then I will write this a thousand times:

                      Si tous les couillons pourrais danser, je n’avais jamais les pieds-froids.

                      (I’ve used “coullions” in place of the original word to avoid offending anyone here.)

                      Oh yes – one more thing.  It didn’t occur to me that I might be committing a political incorrectness by making reference to Spanish cows. 

                      I am sure there are French cows who speak Spanish equally execrably.

                      Best regards
                      djh

                      (0) 
  2. Vivek Singh
    Hi,

    Is it possible to capture changes to SAP tables using the ABAP workflow mechanism? If yes, can you provide some insight on that.

    Thanks,
    Rishi

    (0) 
    1. David Halitsky Post author
      Hi Vivak – if I understand you correctly, then it’s possible but somewhat dangerous for performance reasons.  If SAP has put a table column (or record) under “change management”, or if you’ve created a custom data element associated with your own custom change management routine, then you can trigger a workflow when something has changed.  (See tables CDHDR and CDPOS, transactions SWEC/SWED, and on-line documentation for creating your own routines that write “traces” to CDHDR and CDPOS.)

      But if the changes are frequent, you are going to get your server admins (“basis” staff) really angry because of the backlog in the workflow queue that will surely develop.

      It is in fact for this reason that in its own process, SAP occasionall uses “sweeps” of record status flags that can be run at various intervals to determine what has changed.  And, of course, lots of sites do their own custom reads of cdhdr and cdpos to get the kind of info you’re looking for.

      BTW, it goes without saying that events linked to change documents in cdhdr/cdpos are the functional equivalent, pretty much, of Oracle “triggers”.

      Hope this answers your question – as I said, I’m not sure I understood it.

      djh

      (0) 
  3. Philip @Kisloff
    I think you’ve raised a very interesting point that goes a lot deeper. Workflow graphical representation is essentially a type of data flow diagram. The advantages of data-flow diagrams are that they are user friendly and can be easily understood by business users who have to verify their validity. However, no one uses data flow diagramming techniques to design process logic for complex programs, as the resulting code become unmanageable in just the way you describe. More structured design approaches are necessary and so I would argue it is necessary for the meta level of business process design (were the multi-step workflow is defined). In my opinion, and I think I may be alone in this, SAP Business Workflow does not avail itself to such design support. Certainly, there are plenty of opportunistic methods (anchors and such like) but nothing with formal rules to ensure consistency in approach and results. One alternative that can be used, as you rightly point out, is use of a collection of rules (or triggers) to represent the process without explicitly delineating the paths. Such a system is more flexible in capturing the dynamic behaviour and is akin to object orientation. If you are interested, have a look at this article for a more expanded version of these ideas https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40b651cb-a662-2910-ac8c-afcd3073126f
    (0) 
    1. David Halitsky Post author
      Hi Phil – thanks for taking the time to comment at length, and also for providing a link to your very interesting discursus.  I scanned it briefly this morning and noted “in the margins” a number of points to which I want to return and think more carefully about. It’s clear that you have thought about these matters at length and that you are also aware about the degree to which design tools influence design.  (You’re probably too young to remember a guy named Marshall McLuhan, who was famous last century for the saying “the medium is the message.”

      djh

      (0) 
      1. Philip @Kisloff
        As a matter of fact, I was born the same year he coined that phrase, so you’re absolutely right! What a marvellous concept you have introduced me to, I really forward to a future discussion! 
        (0) 
        1. David Halitsky Post author
          Well, a lot of folks didn’t take McLuhan seriously because he was more than a bit of a “showman” who tended toward extravagant characterizations. 

          (Come to think of it, that’s kind of my reputation here at SDN, at least in certain quarters.)

          But I’m glad that you found his basic construct sufficiently intriguing to incorporate it into your own thinking.

          Consider, for example, the type of OO patterns you talk about in your article in comparisom to the type of patterns that SAP introduces in VC or even in the UI elements to which it limits the user in WD/JorA (unless the user is willing to get familiar enough with WD metadat to build his or her elements.)

          To some extent, SAP’s choice of UI elements is determined by an analysis of what OO patterns need expression in WD.  But this choice, I think, is also determined by what SAP can do in Java or ABAP and still get a beta product ready on-time.  And this, as you correctly perceive, is where McLuhan’s insight comes in.

          (0) 
          1. Philip @Kisloff
            I think there are two separate issues here: (1) the design methodology used in the deployment of a technology, which is based on the tools available and (2) the  organisation of the business activity that is supported, that should reflect human behaviours and cognition and not be dictated to by the technology approach.

            A case in point is the dictates of the workflow inbox/UWL. Not all business processes are suitable for a letter-box view (in both senses) and some form of holistic management for the end-to-end process makes sense and should be available.

            But to return to your weblog, I would argue that using just one approach for totally different classes of business processes creates implementations that are ghastly to design, maintain and extend.

            (0) 

Leave a Reply