A Tale of Two Texts

Written February 3rd, 2009 by
Categories: CEO's Blog
Comments Off on A Tale of Two Texts
VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Order header texts that is.  It's seems obvious that when a customer comes to an SAP integrated B2B sellside ecommerce website that he should be able to include textual information with his order.

It should be easy to pass messages like the following back to the appropriate departments in your company:

"Leave the package on the back porch"
"Don't deliver this Friday since our plant will be shut down"
"Please add extra packing peanuts, my child has a school project due next week"
"Please send the invoice to my boss because I can't stand it here any more!"

The following is a side by side comparison of how to make that happen with the b2b2dot0 solution and with SAP's CRM product (post taken from the SAP Developer's Network Forum): 

b2b2dot0 solution

  1. It comes standard with our service
  2. Tells us what field in SAP you want us to map the data to
  3. You map the field to the appropriate SAP report and test (this part is out of our hands and seems to take forever considering our part of the job is done in 5 minutes)

CustomerText

SAP CRM Customization

  1. Assemble a team of SAP Business Analyst, SAP technical programmer, Java developer, HTML UI developer, Basis technician…don't forget a project manager to ride herd!
  2. Work your way through the following excerpt taken from a thread on the SAP Developer's Network.
  3. Test, debug, ask for support on the SAP Developer's network, call in an outside consultant.
  4. Celebrate your new found resume building skillset.

**************************************************************************************************************************

You have covered the first two layers of the request – response cycle cake – the View (JSP) and the Control (Java) layers. The icing is done in the backend BAdI and using the right function module. I am assuming the CRM backend.

A typical request-response in the application goes like this. I will give example for the header extensions.

  1. Added the custom variable in the HTML layer (JSP page)
  2. Traversed through the Dispatcher, Parser and get the input value
    from the JSP page variable and added it to the Business Object (Header)
    using addExtensionData.
  3. The java application layer actually makes an "Update Header" call
    during the update cycle – like when you click that "Update" button.
  4. In the SAP E-Commerce design, during this "update" cycles, the
    application flows through specific BAdI call sequence. It calls what I
    call the Header BAdI CRM_ISA_BASKET_HEAD when the header information is updated. You have to extend this BAdI and implement at least two methods.
  5. It has two methods – which are called during this request – response cycle. First method CHANGEHEAD_SET_DATA
    is called during the request cycle – that is from ISA to CRM (when
    update is clicked). This is where your extension data has to be transferred from the Java layer to the backend layer (*model*). You will essentially read from the table IT_EXTENSION and call SAVE_TEXT
    function module. Since your requirement is to update text, this is the
    FM to be called. Many other cases use the FM mentioned by Mike. This is
    where the data from the web layer is persisted in the backend model.
  6. And the other method GETHEAD_GET_DATA is called during the response cycle. In this method, you will essentially read from the model – in your case READ_TEXT and set it back in the extension layer CT_EXTENSION
  7. The update header call from the Java layer will now receive the data back from the model and will automagically transfer the values from the backend (ABAP layer) back to the Java layer to be accessible by you in the JSP using getExtensionData call.
What you have to do are the steps .5 and 6 in order to complete the request-response cycle.

**************************************************************************************************************************

Frankly, the SAP CRM way feels like it is part of a Jobs bill intended to keep people employed.  Our way is about helping you get things done.

To paraphrase Charles Dickens:

    …these are the best of times, these are the worst of times.