alex.liu

5 Posts

Original article was post as Chinese: http://scnblogs.techweb.com.cn/opparts/archives/66.html

Part 1:SAP BPM: Enhancing enterprise operational efficiency and sustainable development capability - Part 1
Part 2:SAP BPM: Enhancing enterprise operational efficiency and sustainable development capability - Part 2
Part 3:SAP BPM: Enhancing enterprise operational efficiency and sustainable development capability - Part 3
Part 4:SAP BPM: Enhancing enterprise operational efficiency and sustainable development capability - Part 4

Assistant Components of SAP BPM implementation

  • Within Business Workflow, we can use ABAP/BSP/Webdynpro for ABAP (WDA) as a user interface of a business process like decision type process, you have to using Webdynpro for Java(WDJ) as a user interface once you use BPM Process Composer(Modeling Tool, it was released with CE 7.1 EHP1) to design a business process, because of BPM modeling tools could not use ABAP GUI or BSP as a user presentation layer of a business process, that is why we have to use WDJ.
  • SAP Composite Environment - Process Composer, it is a modeling environment for Java-based workflow processes; it is a different workflow development workbench with our traditional Business Workflow, it only supports Webdynpro for Java as a presentation layer, actually process composer is next generation production of Guide Procedure, workflow engine based on Java run time, you define a business process like in business workflow, you can find detail information about it.



    For example, there are three business activities (Purchase Selection, Approval, Notification) are in this purchase procedure, every activity is mapped to an interface view of an independent Webdynpro component, a corresponding user interface should be displayed when a user double-clicked this task in UWL view.
  • Process Integration, Process Integration, as a center of service publish place and data exchange.
  • SOA Support, if your current software already provided very rich web service, so congratulations, because SOA is a strong support for BPM Process Composer Modeling tool, otherwise you have to implement it in CE Web webdynpro application.
  • Enterprise Portal, if you used BPM Process Composer to modeling business process, you have to use it as the only presentation layer for every process participant, and also UWL can display business workflow task comes from ERP system, UWL is available for BPM workflow and Business workflow.

      
     
  • SAP NetWeaver Composite Environment, CE provided a very good development workbench with many new features, which are not provided in current stable NetWeaver version (e.g. ARFC2 version, and many new UI elements), which focus on Java-Based application development like WDJ, EJB and so on.

    CE also provided a thin Enterprise Portal (like a tailor version) as development and test environment, SAP recommended that CE application should be deployed in a CE application server as much as possible but not deploying CE application in NetWeaver portal if this NetWeaver portal is a main portal, then using the FPN (Federated Portal Network) method to expose all CE applications in our main portal, it can improve whole performance via following this deployment strategy.




    You can find more information by search FPN/GPN in SDN. (http://wiki.sdn.sap.com/wiki/display/EP/Federated+Portal+Network+in+CE7.1)

Within this implementation project, except those three-pillars (ccBPM, Business Workflow, UWL) mentioned above, these assistant components are also important, it enriched the scope of SAP BPM implementation, but not limited in SAP CE – Business Process Management / Business Rule Management this circle

I will introduce following part in my next blog:

  • Where this BPM project comes from?
  • Some lessons learns and conclusions from BPM implementation.
  • Business Workflow V.S BPM Workflow ?

Original article was post as Chinese: http://scnblogs.techweb.com.cn/opparts/archives/66.html

Part 1:SAP BPM: Enhancing enterprise operational efficiency and sustainable development capability - Part 1
Part 2:SAP BPM: Enhancing enterprise operational efficiency and sustainable development capability - Part 2
Part 3:SAP BPM: Enhancing enterprise operational efficiency and sustainable development capability - Part 3
Part 4:SAP BPM: Enhancing enterprise operational efficiency and sustainable development capability - Part 4

Local Customer V.S SAP BPM Big Cake

This customer is a first customer who is implemented SAP Corebanking Solution, SAP Composite Environments – BPM/BRM, Enterprise Portal, FI/CO and Material Management, and Business Workflow at the same time. We could not find any local customer implemented so many SAP products currently.

This bank customer is a local non-state-own listed company, more than 500 subsidiaries and 6000+ SAP user, more than 100+ external third-party systems, total assets more than 160 billion US dollar. I am responsible for implementation of business workflow and Portal/UWL overall, actually that is a big challenge, and also is an opportunity for me meanwhile.

Before this customer decides to choose SAP BPM platform as their core business process platform, this customer also had hired a professional third-part company to comparing several platforms of different software vendors, customer was attracted by integration with Corebanking solution seamless, flexibility and stable, and extendibility of SAP BPM platform and SAP BPM won it finally.

Everyone has different understanding for BPM this word, but i think BPM mainly including the following two categories:

  1. BPM as a management methodology, and optimizing company business process, maximizing operation efficiency.
  2. BPM as a specific technology or platform, and provides modeling, deploy, and run-time monitor and business re-forming, and integration with many external application systems.  

Maximizing Returns of Customer Investment


SAP BPM platform already covered many useful technologies, even if some technologies are not included within SAP BPM scope definitely, but these technologies also can be a very important part in SAP BPM implementation project. One tree doesn't make a forest, for SAP BPM as well; the following technologies are 3-pillars for solving customer requirement within an implementation of SAP BPM solution:

  1. ccBPM(A part of PI production), it was mainly used to implementing integration of business processes between SAP and Non-SAP system, this function based on a Process Integration(XI) platform and most interface are Web-Service type almost, but this ccBPM and Process Composer(which will be introduced lately) are different things.

    Customer purchased PI to integrating IS-Banking with external JAVA Based application, ccBPM we can use it, by the way. 
  2. SAP Business Workflow is a mature platform and also embedded in any SAP ERP/Industry Solution Software like R/3, SCM, SRM, CRM, and IS-Banking, IS-Utility and so on, and integration with core functionality seamlessly, it makes more transparent via integration with HR organization structure for administrator and participant of a business process, customer just needs to use it without any additional pay.



    You can use ABAP or BSP to develop a presentation layer of business workflow, SAP Business Workflow provided many types Visualization technologies for UI development, you also can use WebDynpro for ABAP/JAVA to do it if you do not like the GUI for HTML style in portal(ITS will "translate" it).
     
  3. Using UWL (Universal Worklist, a part of Enterprise Portal), UWL provides a central view for end-user to handle all approval tasks; it can extract all workflow tasks from multiple back-end SAP systems.



    Customer purchased Enterprise Portal as an internal management and operation platform, because of UWL is already there, why we could not use it?

SAP BPM just only includes these three-tools?

Definitely, No! Because of these three productions are related with designer, participant and administrator of a business process directly, there are still several productions are belonged to scope of SAP BPM big cake, i will introduce these technologies in my next blog.

Original article was post as Chinese: http://scnblogs.techweb.com.cn/opparts/archives/66.html

Part 1:SAP BPM: Enhancing enterprise operational efficiency and sustainable development capability - Part 1
Part 2:SAP BPM: Enhancing enterprise operational efficiency and sustainable development capability - Part 2
Part 3:SAP BPM: Enhancing enterprise operational efficiency and sustainable development capability - Part 3
Part 4:SAP BPM: Enhancing enterprise operational efficiency and sustainable development capability - Part 4

Preface

This article is not an introduction of SAP BPM production, because you already can find a lot of technical articles about SAP BPM in internet, and you also can find more documentation about SAP BPM platform in SAP SDN Business Process Management channel.

BPM (Business Process Management) is a very wide concept; someone defines BPM as Business Process Modeling, someone defines it as Business Process Management, anyway BPM is not a new word for us, because there are many mature BPM productions currently, but we will focus on SAP BPM this area, and introducing how SAP BPM (Business Process Management) helps local Chinese's customer to improving operation and management efficiency as high-flexible and high-agile within whole corporate, and optimizing and re-forming some complicated business processes meanwhile.

BPM

As a new generation company want to grow with a sustainable development ability, it means this company should keep innovation and also can adapt embracing changes of this variable market environment.

In the process of innovation, how these new ideas and innovation can be realized within existing complicated business process and information infrastructure, it is a challenge for every company, especially for those big companies, all those dynamic environments enforcing our information system must be smarter, and more flexible, also can adapt new changes quickly.

In most developed countries, ERP is not a new word anymore, and information system is already used several tens of years.

Time is money, efficiency is life, even this Chinese market and our customer are growing so fast, but this is just a beginning in china this new developing country, more and more Chinese's customers implemented ERP, SCM, SRM, CRM. Most Chinese customer also benefits from these information systems, and also helps many states own corporate became world-wide level company.

Everything is changing, whole world still struggles in this economic crisis, and how our company can improve profit increase? Cutting down the cost of operation and optimizing, reforming existing business process for catching some new opportunities,  adapt to a new market environment would be the first priority of our enterprise.

Understanding SAP BPM

You must already know SAP Netweaver this application platform, SAP Netweaver is a very open and stable integration platform, SAP BPM is a part which focuses on Business Process Management of SAP Netweaver platform.

BPM

SAP BPM already provides design, business process modeling, run-time monitoring these tools, communication within SAP and Non-SAP system seamless, SAP BPM provides a central transparent view for all partners and administrator of all business processes, also enable complicated business process can be executed with high performance, automatic, smart and agile.

What does SAP BPM mean?

In SAP official term, there are some different understandings about BPM, BPM including methodology, management and technology. Every software vendor provides different BPM environment, but SAP BPM can present the following all parts:

  • SAP Business Workflow
  • ccBPM, as a important part of Process Integration(XI)  
  • SAP Enterprise Business Modeling Application    
    ARIS Platform (IDS Company)
  • SAP Netweaver Business Process Management(JAVA Based Environment)  
    this product is released within Composite Environment 7.1 Enhancement Package 1, including a process modeling, process monitoring tools, and used to be integrated WebDynpro(JAVA) Component View and Web Service as a presentation layer).

    About process monitoring, you can find more information via
    FAQs about Business Process Monitoring
  • SAP Netweaver Business Rules Management, this part should be used with a BPM modeling environment together, user can define some common and exceptional process, and binding this main rule object with BPM process templates, user only needs to change this configuration rule once without change BPM process once some business processes need to be changed, business rule management can provide enough flexibility within CE BPM modeling phase.

ABAP /OO development knowledge
WebDynpro for ABAP development knowledge
Adobe Lifecycle Design knowledge

Important Notices:

The BusinessGraphics UI element has been extended to include a new bindable property called imageData within  Netweaver 7.02/7.20 version, so you do not need the some steps below. This new attribute imageData allows you to receive an XSTRING with the image data that is rendered by the IGS. This avoids the extra steps that you detail for getting direct access to the rendered IGS chart and makes it simple to integrate the IGS content into downloads and/or Adobe Forms.

Preface

Within WebDynpro development workbench, a Business Graphic UI element is already provided to access the IGS (Internet Graphic Service) server indirectly (via Background calling model), and then user can put data into this object via context node binding, and execute this application with correct business data, and then Business Graphic Element would displayed a business chart in Column Chart or Line Chart.In most WebDynpro for ABAP application, this UI Element is very useful for business chart presentation in WebDynpro application.

You would found some obvious flaws in some special cases using this standard UI element, the following problem are real cases:
A) Customer wants to download this business chart, but it seems very very difficult for a Business Graphic element, how did you allowed a end user to download this picture which is generated via standard UI element ‘Business Graphic’ ?
B) Customer wants to put these business charts into a PDF Interactive form, how did you extract this business chart from Business Graphic element, and convert it to a real picture file?

Solution Overview

In some special cases, you can call the IGS API classes directly to generates a business chart but not using WebDynpro Business Graphic UI element, there business chart are generated automatically by background, more fast and efficient, and then you can convert these picture to XString type and storing them in ICM cache with a limit time, usually 20~30 minutes same with Web Application Session Lifecycle, and return a unique URL address to identify each picture, then you can link the URL of this business chart to a Image UI element in WebDynpro development workbench, if you want to delete these picture manually, a static method of class IF_HTTP_SERVER can be used to do it.


image
Figure 1

Create an ABAP Class, it is used to generate a business chart according to importing parameter, and return a unique URL, this URL is a combination of WebDynpro Application and path of picture is being stored.

In a WebDynpro program, create a new Image UI element, and link this ‘Source’ attribute to this generated URL, once business chart is generate in our ABAP Class, and Image UI element would display a picture according to the URL returned by this class. 

Step – 1, a very important example package 

image

Figure 2

GRAPHICS_IGS_ADMIN: Administration view of IGS running time.
GRAPHICS_IGS_CE_TEST: an example of generate a business chart (Column Type).
GRAPHICS_IGS_GUI_CE_DEMO: you can use this program to define you own description file of a business chart. (Type of business chart, Color, Dimension, Font Size, Picture Size and so on), this is a very good example to tell you how to build up a data structure for generating a business chart, please go through this program and thinking the following point before you start development:

  • How many picture I want to generate once user click button in my WebDynpro application?
  • How does program can identify each picture via a unique ID?
  • What kind of business chart program would generate?
  • How those generated business chart looks like? Color, Size, Series and X-AXIS, Y-AXIS

 image
 
Figure 3

Once you execute example program GRAPHICS_IGS_CE_TEST, you would see a business chart, this business chart is generated by IGS via API calling directly, you can get a returned picture file, and picture is stored with this table w3mimetabtype.  image

Figure 4

Step – 2, Convert mimetab picture to a xstring PICTURE

In previous example, you can get a business chart file, even it is a w3mimetabtype type, picture just is stored in this data type, so you have to convert it to a XString if you want to display this picture in WebDynpro application side, using the following step for conversion of picture file type and storage type. 

 image

Figure 5

  • Define a local class instance L_IGS_IMGCONV with class type cl_igs_image_converter.
  • Call method SETIMAGE (L_IMAGE_MIME is a w3mimetabtype type picture file you have to convert.)
  • CALL methods EXECUTE to convert this business chart to target file type.
  • Call method GET_IMAGE to get converted picture file.
  • Call function module ‘SCMS_BINARY_TO_XSTRING’, then you can get a picture file with XSTRING type (L_BMP_XSTREAM).
Step – 3, Generating a URL address for generated business chartNow

you have generate a business chart with JPG file type, also it's a XString type object, you can just put it in your WebDynpro with a URL Link UI element, once user click this link, then Internet Explorer would prompt a popup window to tell you open or just save this file to your local computer.Our solution is that displaying a business chart in an image UI element, and this picture also can be embedded into an Adobe Interactive Form

 image

Figure 6

  • Define a instance L_CACHED_RESPONE with class type IF_HTTP_RESPONSE
  • Put picture file (XString Type) into this HTTP Response via calling method SET_DATA.
  • Set header datal  Set statusl  Set a expire seconds, current IV_CACHE_TIMEOUT is 1800 seconds(30 Minutes)
  • Generate a unique ID for your generated picture.l  Get WebDynpro application address 

 image

 Figure 7

  • Put this picture into Http response cache via calling method SERVER_CACHE_UPLOAD.
  • Return the URL (http://XXXXX:port/SAP/PUB/..../XXXX.JPG), You can check the generated picture via transaction code SMICM.
Step – 4, DISPLAY BUSINESS CHART IN WEBDYNPRO

 image

Figure 8

How to download this picture?

You can use SAP standard utility class CL_WD_RUNTIME_SERVICES to extract XString content, and then post it to the front-end internet browser, even you can use SAP standard function module to compress those pictures into one ZIP file.

 image

Figure 9

How to embed this picture into an Adobe Interactive Form?

In some WebDynpro applications, customer wants to download the PDF report with business chart, you can use Adobe Interactive Form UI element in a view, or you can create PDF form template and interface (ABAP Dictionary Type), and then generate a XString PDF file via call function module model.


 image

Figure 10

This picture is an example to show business chart is embedded into a PDF form

Solution for embeding a picture to a interactive form

Create a Graphic element within Form Object(Not in Form Interface!!!)

 image

Figure 11


 image

Figure 12

Set Graphic Type to ‘Graphic Reference’


 image

Figure 13

  • Graphic Reference, you can pass a URL address of generated business chart (http://xxxx.jpg/) to this element, and then this business chart would be displayed.
  • Graphic Content, you have to pass a generated business chart with type XString to this element.Obviously, we choose first solution, because we have already put those generated business charts to ICM Cache, and also we have got a URL address of these business charts.

 image

Figure 14

In this step, PIC_A1A2 is a string type variable, the URL address of generate business chart is stored in this variable, so we can transfer the value to this graphic element via drag-and-drop PIC_A1A2 to input line.

The following attribute should be set for Image Field in PDF Form Designer:

  • Embeded this picture, this checkbox should be set, otherwise when you try to save this PDF document to local computer, these buiness chart would be lost, because these pictures are not
    embeded into this PDF document.
  • Visibility, Set Original Picture Size.