Additional Blogs by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
richard_hirsch
Active Contributor
0 Kudos

h2. Introduction

This recipe was based on experiences that I had while working on the BPX Community Project  (https://wiki.sdn.sap.com/wiki/display/BPX/Community%20Project) and is thus focused on a particular set of Enterprise Services (ES) that are used in the involved process - dealing with spare parts.  Obviously, I didn't look at all ES Bundles or the description of all other ESs in the ES Wiki where better descriptions might be available. For example, if you look at SalesOrder-related ESs, you will see that they are much better documented than the more obscure ESs described in this blog.   I've attempted to describe how I used the various information sources available to learn how to test and understand how a particular ES functions. It is usually easier to use ES that are more often used (for example Sales Order, Purchase Order, etc.), because 1) the ESs are better documented and 2) are often present in articles, blogs, etc. When attempting to use more obscure ESs, however, the task is a daunting one and requires BPXs to more imaginative in finding the information they require. 

Of course, like in any recipe, there are variations that may be required. Some cooks use more salt and others more pepper. Others like spicy food and use loads of chili powder. This Enterprise SOA recipe is the same. Some community members may use it and skip a step or add another step or replace a step. This is not only possible but is actually desired.

Much of the material used in this recipe is spread out over various documents and wiki pages. Instead of just listing these entities (which various other bloggers have done), I will tell you when to use which document at which step in the recipe.

Caveats

+A caveat: This recipe is based on certain assumptions regarding which roles perform which ES-related tasks. I think this is the most interesting part of the recipe and shows that the definition of the BPX regarding ES and their role in projects is still very fluid and not yet really possible to define with complete certainty. </p><p>A second caveat: There are many types of BPXs. Inasmuch as the BPX is really someone who bridges IT and the process (business) world, you will find BPXs come in many different shapes and sizes with different degrees of proficiency in SAP technology or process-related tools (Solution Maps, etc.) Accordingly, the tasks associated with the BPX are as varied. I've written this blog from the perspective of someone with an IT background (more Java than ABAP) who has less experience in process-related aspects. +

The Basic Steps

The basic steps in the recipe are:

  • Identify correct ES(s) (Here the saying "There are many roads leading to Rome" applies to ES. There are many ways to discover the correct ESs via ES Bundle, Solution Map, etc.)

  • Test selected ES(s) to make sure functionality is correct

  • Integrate ES in Visual Composer application

  • Test ES in Visual Composer application

Ingredients

Amount

Item

1

Correctly configured Composition Environment (CE) SR3 (Not SR1 since with this version some Enterprise Services with nested tables don't work)

1

Blog on accessing ES Workplace via Visual Composer

1

ES Workplace Registration

2

Articles on ES Workplace Usage:

"How to use the ES Workplace: efficient browsing and test-driving enterprise services

"  and "

Services Registry for ES Workplace

"

2 pinches

Luck

2 pinches

Stamina

3

EsWiki Pages (

ES Bundles

,

Business Object Description

,

useful ES Description

, less useful ES description  (https://wiki.sdn.sap.com/wiki/display/ESpackages/Change%20Batch))

1

WSNavigator to test the ES

1

Global Data Type (GDT) Description

1

ES Workplace Service Registry to search for the ES (Optional)

1

Description of ES Parameters

1

Detailed Description of ES Parameters

1

Visual Composer application to implement the process step in question

1

ABAP Developer

1 large helping

Community Support in the forums

1

Quality Management Description (4.6c)

Steps

Environment Bowl

In one bowl, please follow these steps:

Project team members register for access to the ES Workplace

The administrator installs CE SR3 as standalone. For those seeking a more spicy application or a more challenging recipe, then please add the installation to your existing NWDI environment.

The administrator configures CE to be able to access ESs from the ES Workplace. Make sure you follow the instructions exactly from the

blog

. The use of the portal name "iwdf1030" should be exactly as written. I thought I had to add the domain information as well because I am accessing the external site but this isn't true.  Don't forget to view the videos that are associated with the blog.

VC Developer creates, deploys and tests the VC application in the blog to make sure that the connection with the ES Workplace is working. Don't forget to view the videos that are associated with the blog.

 

ES Bowl

In another bowl, the BPX in the project team should follow these steps. Repeat for each ES in the project.

Based on the project requirements, the BPX tries to find the appropriate ES by first examining the list of ES Bundles in the ESWiki  (https://wiki.sdn.sap.com/wiki/display/ESpackages/Home)  and tries to identify which Bundle might mirror the process in question.

+Note: There are various other ways to find the correct ES. You can use the solution maps or you can view it via process components (

See How to use the ES Workplace: efficient browsing and test-driving enterprise services Document

for more details) </p></td></tr><tr><td width="631" valign="top"><p>Once one or more probable ES Bundles have been selected, the description of the ES Bundle in the wiki (for example, the Integration of Quality Management Systems  ES Bundle)  is examined to see if the described use cases or the general description is appropriate. </p></td></tr><tr><td width="631" valign="top"><p><Optional> For those seeking a challenge, you could also use the classification-based ES search present in the ES Workplace to find ES.  Make sure have liberal helping of the documentation to assist you (For example, chapter "Search and Browse Services in Services Registry." in the Services Registry for ES Workplace")</p></td></tr><tr><td width="631" valign="top"><p>Once you have discovered an ES Bundle that might be appropriate, now it is time to look at the individual ES. </p><p>!https://weblogs.sdn.sap.com/weblogs/images/10448/esrecipe001.jpg|height=184|alt=|width=447|src=https...!</p><p>Let's take the Find Quality Issue Notification Product by Elements Wiki page as our basis. </p><p>!https://weblogs.sdn.sap.com/weblogs/images/10448/esrecipe002.jpg|height=306|alt=|width=484|src=https...!</p><p>Hmm, what exactly does this ES do? </p><p>!https://weblogs.sdn.sap.com/weblogs/images/10448/esrecipe003.jpg|height=87|alt=|width=485|src=https:...!</p><p>!https://weblogs.sdn.sap.com/weblogs/images/10448/esrecipe004.jpg|height=1|alt=|width=1|src=https://w... tough to say exactly what this ES does. Let's take a look at the associated Business Object description for the Quality Issue Notification (QIN)  and see if it helps us any.  </p><p>!https://weblogs.sdn.sap.com/weblogs/images/10448/esrecipe004.jpg|height=207|alt=|width=484|src=https...!</p><p>OK, the Business object appears to be the right one. Since we want to search for QINs, than the "Find" operation should be the correct one. </p></td></tr><tr><td width="631" valign="top"><p>To make sure that the ES is the correct one, the BPX might need to test the ES to make sure that it meets the requirements of the process involved.</p><p>Note: Of course, some might say that the BPXs should just select the ES and then let the developers create the final composite but I say the BPX must also be more aware of the inner workings of the ESs. Of course, once a BPX has used a particular ES in multiple projects then he should have a better understanding of it. However, BPXs using ESs for the first time must also be able to test them to see if they return the correct values.  </p><p>In order to test the ES, the BPX first needs the WSDL of the ES. He can search for the ES in the ES Workplace and then get its WSDL (see the chapter "Search and Browse Services in Services Registry" in the "Services Registry for ES Workplace" document for more details).</p><p>Once he has the WSDL, he can now test the ES in the WSNavigator. (See the chapters "Testing a Service in Web Services Navigator" in the "Services Registry for ES Workplace" document for more details). </p></td></tr><tr><td width="631" valign="top"><p>Now, the recipe gets challenging. Make sure you have an expert ABAP developer handy.  You have to test the select ES in this environment. OK. You load the ES and you see a huge list of parameters to be inputted. Hmm, which ones must be used and how? First you look at the description of ES Parameters  (http://erp.esworkplace.sap.com/socoview(bD1kZSZjPTgwMCZkPW1pbg==)/smdisplay.asp?id=5C49FB2AA1D111DA2...). </p><p>!https://weblogs.sdn.sap.com/weblogs/images/10448/esrecipe005.jpg|height=356|alt=|width=484|src=https...!</p><p>This is good, you think. You now know (or at least you think you know) which parameters are mandatory.  Then you return to the WSNavigator to your test environment. </p><p>!https://weblogs.sdn.sap.com/weblogs/images/10448/esrecipe006.jpg|height=378|alt=|width=351|src=https...!</p><p>"Hey, wait a second. The parameters are different. The ES in the WSNavigator has a lot more parameters that the other description".   </p><p>Before you throw up hands and say "Forget it. Let the developer do everything." If you follow the "detail" link in the ESWorkplace, then you get more details about the ES parameters.</p><p>!https://weblogs.sdn.sap.com/weblogs/images/10448/esrecipe007.jpg|height=387|alt=|width=484|src=https...!</p><p>Click the input message link to get more details...</p><p>!https://weblogs.sdn.sap.com/weblogs/images/10448/esrecipe008.jpg|height=75|alt=|width=485|src=https:...!</p><p>Click again to get more details.</p><p>!https://weblogs.sdn.sap.com/weblogs/images/10448/esrecipe009.jpg|height=349|alt=|width=359|src=https...!</p><p>Click here to get even more details</p><p>!https://weblogs.sdn.sap.com/weblogs/images/10448/esrecipe010.jpg|height=340|alt=|width=377|src=https...!</p><p>So now at least now you can see that description in the WSNavigator contains the same information as in the ES Workplace. </p><p>Note: I don't expect that BPXs will follow every ES parameter all the way this far down. But it is important that you have an idea of where to look, if you get really desperate while testing ESs. +

Now at least you can start to test....

So you are finally ready to test.  You have a list of the parameters.  No comes the big question what values do you put in the input parameters.

If you just click "Execute" in the example ES being examined, then you get the following error message "Error 501(QM) Select at least one status indicator". OK, this means that I have to add either "ReleaseStatusCode" or "ClosureStatusCode". This matches the first parameter description.  The problem is I have no idea what these parameters refer to. I look at the value type - "token". This could mean anything...

In your desperation, you might assume that old ERP manuals may help you. Here is a link to an Quality Management Help  (http://help.sap.com/printdocu/core/Print46c/en/data/pdf/QMQN/QMQN.pdf) document.  No luck.

You look at the appropriate transaction (QM11) in the HU2 system via WebGUI but there are no status codes in sight.

You might try inputting random letters but then you would always get an error. (In my case, I finally created a post  (ESW: Status Codes for ECC_QUALITYISSUENOTPEQR  needed) in the E-SOA forums.  The short answer to my post was "GDTs but they are not available". I thought what is/are GDT? I dug a little bit further and found that GDTs are Global Data Types that describe certain values in SAP Back-end systems. I searched further in SDN and was amazed to find that the GDTs had been released in the form of the GDT Catalog) The Global Data Type Catalog is the common understanding of how data types behind data fields in an enterprise service can be interpreted. GDTs extend the core data types of W3C by adding business semantics. I downloaded the document  (http://erp.esworkplace.sap.com/sap/bc/bsp/sap/z_gdt_catalog/GDTcatalog.pdf) (all. 7952 pages worth!) and was surprised to find my two missing parameters and with a great description including a listing of possible values. I was very impressed and I think the GDT Catalog is one of the single most important documents when using ESs and the ES Workplace.

Of course, you still have no idea what other parameters in the ES (for example, "BuyerPartyInternalID") refer to but as BPX you should have some idea what they mean based on your process knowledge.  

So strengthened by the presence of the GDT catalog, you now start to test - hopeful that your test will be successful.

First tests with both mandatory status codes set - "1" and "1" return no hits. Disappointment is immediate. You know that there are Quality Issue Notifications that are present.  After various tests,  you try and set "RequestedProcessingPeriod" to "null"

Loll and behold. There are results!

The ES works! 

Congratulations. You may test the ES to discover if it matches your requirements.

What BPXs should learn from this experience is that they must be patient and try out various options while testing before giving up and let others select and test ESs. If test documentation was present - in the ESWiki, for example, then this problem might not be present.

Thus, this step in the recipe requires two pinches of luck and two pinches of stamina.

The BPX now has identified this ES as ideal for his VC application. Now, some of you may be thinking.... "I could have tested this in VC. I would have avoided the WSNavigator and stayed in one environment. I would have one application for ES tests and modeling." Good idea but it is not always possible to test ESs in VC.

Thus, it is often necessary to use the WSNavigator for ES testing purposes.

The Visual Composer cake bowl

Now mix the two bowls together and briskly stir until well-mixed.

The BPX should use the videos in the

blog on accessing ES Workplace via Visual Composer

to show how they use the desired ES in VC.   Once they have added the ES as a data source in VC, they will want to define the data that the user should fill. First of all, the BPX will see that the parameters in the ES are listed alphabetically rather than reflecting the original structure in the ES.  This means they will have to search for the parameters that are necessary.  If they search for the "#simpleContent" fields that were present in the WSNavigator then they will find them listed as the parameter name in VC. For example, "BuyerPartyInternalID/#simpleContent" in the WSNavigator is now "BuyerPartyInternalID/BuyerPartyInternalID" in VC. One idea to make the life of the BPX easier in VC would be that the VCDeveloper creates a "

Service Component"

that wraps the desired ES and hides all the unnecessary parameters (for example, those dealing with XML schemes). This would be especially nice for those who are unfamiliar with the ES.

Finally after just mapping those attributes that are necessary

the BPX finishes the component and deploys it successfully.

 

Thus, the recipe is finished. Enjoy your cake.

Conclusion

As this blog shows the use of ESs isn't always easy.  Testing and understanding an ES is often tricky. The presence of test data is often quite difficult to publish, because tests (including their data and results) are often based on specific configurations which exist only under certain circumstances. Furthermore, the ES Workplace is often "refreshed" which means that included data is set back to its original form in order to make upgrades easier as well as purge the system of poor quality data.

Despite these problems, there are certain things possible to improve ES usage.

What can the Community do to improve ES usage?

As you use particular ESs, then please document them in the ES Wiki. Regarding the ES that is the basis of this blog, I have added content under "Usage Notes" and "Examples" to its

respective page

, so that others will have an easier time when they attempt to use it.

!https://weblogs.sdn.sap.com/weblogs/images/10448/esrecipe018.jpg|height=399|alt=|width=468|src=https...!</body>