Sei sulla pagina 1di 29

SAP NetWeaver How-To Guide

SAP NetWeaver How-To Guide How To in Gateway Based on Remote Function Modules Create CRUD Operations
SAP NetWeaver How-To Guide How To in Gateway Based on Remote Function Modules Create CRUD Operations

How To

in Gateway Based on Remote Function Modules

Create CRUD Operations

Applicable Releases:

Gateway 2.0

Version 1.0

April 2010

in Gateway Based on Remote Function Modules Create CRUD Operations Applicable Releases: Gateway 2.0 Version 1.0

© Copyright 2011 SAP AG. All rights reserved.

No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice.

Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.

Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation.

IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix, i5/OS, POWER, POWER5, OpenPower and PowerPC are trademarks or registered trademarks of IBM Corporation.

Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries.

Oracle is a registered trademark of Oracle Corporation.

UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.

Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.

HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology.

Java is a registered trademark of Sun Microsystems, Inc.

JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape.

MaxDB is a trademark of MySQL AB, Sweden.

SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.

These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.

These materials are provided “as is” without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement.

SAP shall not be liable for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials.

SAP does not warrant the accuracy or completeness of the information, text, graphics, links or other items contained within these materials. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third party web pages nor provide any warranty whatsoever relating to third party web pages.

SAP NetWeaver “How-to” Guides are intended to simplify the product implementation. While specific product features and procedures typically are explained in a practical business context, it is not implied that those features and procedures are the only approach in solving a specific business problem using SAP NetWeaver. Should you wish to receive additional information, clarification or support, please refer to SAP Consulting.

Any software coding and/or code lines / strings (“Code”) included in this documentation are only examples and are not intended to be used in a productive system environment. The Code is only intended better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the correctness and completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, except if such damages were caused by SAP intentionally or grossly negligent.

Disclaimer

Some components of this product are based on Java™. Any code change in these components may cause unpredictable and severe malfunctions and is therefore expressively prohibited, as is any decompilation of these components.

Any Java™ Source Code delivered with this product is only to be used by SAP’s Support Services and may not be modified or altered in any way.

delivered with this product is only to be used by SAP’s Support Services and may not

Document History

Document Version

Description

1.0

First release of this guide.

Document History Document Version Description 1.0 First release of this guide.

Typographic Conventions

Type Style

Description

Example Text

Words or characters quoted from the screen. These include field names, screen titles, pushbuttons labels, menu names, menu paths, and menu options.

Cross-references to other documentation

Example text

Emphasized words or phrases in body text, graphic titles, and table titles

Example text

File and directory names and their paths, messages, names of variables and parameters, source text, and names of installation, upgrade and database tools.

Example text

User entry texts. These are words or characters that you enter in the system exactly as they appear in the documentation.

<Example

Variable user entry. Angle brackets indicate that you replace these words and characters with appropriate entries to make entries in the system.

text>

EXAMPLE TEXT

Keys on the keyboard, for example, F2 or ENTER.

Icons

Icon

Description

CautionKeys on the keyboard, for example, F2 or ENTER . Icons Icon Description Note or Important

Note or ImportantTEXT Keys on the keyboard, for example, F2 or ENTER . Icons Icon Description Caution Example

ExampleKeys on the keyboard, for example, F2 or ENTER . Icons Icon Description Caution Note or

Recommendation or TipTEXT Keys on the keyboard, for example, F2 or ENTER . Icons Icon Description Caution Note

the keyboard, for example, F2 or ENTER . Icons Icon Description Caution Note or Important Example

Table of Contents

1. Business Scenario

1

2. Background Information

1

3. Prerequisites

1

4. Step-by-Step Procedure

2

4.1 Create the RFC based Gateway

2

4.2 Create the QUERY

4

4.3 Create the READ Operation

7

4.4 Create the CREATE

10

4.5 Create the UPDATE

11

4.6 Create the Gateway Consumption Model

14

4.7 Test the REST

15

10 4.5 Create the UPDATE 11 4.6 Create the Gateway Consumption Model 14 4.7 Test the

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules

1. Business Scenario

This How to Guide goes over how to create and test all CRUD (minus Delete since there is no Bank delete RFM) operations based on the available Bank BAPIs.

2. Background Information

You will need a Gateway 2.0 system to go over thru this How to Guide.

3. Prerequisites

You will need the following tools to test your services:

WFetch HTTP client or Fire Fox Browser which has a REST client similar to WFetch. This How to Guide will use WFetch. It can be downloaded from here:

You will need access to a configured Gateway 2.0 system.

To familiarize yourself with Gateway I suggest the Project Gateway Wiki and the Project Gateway Community websites.

If you are using Internet Explorer make sure it is not configured to show “friendly error messages”. To configure, follow menu path Tools > Internet Options > Advanced > Uncheck “Show friendly HTTP error messages”. This will help you analyze an errors if they occur.

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules

4. Step-by-Step Procedure

The following steps will guide you thru creating and testing a Gateway service based on the Bank BAPIs.

4.1 Create the RFC based Gateway Data Model.

The Gateway Data Model represents the mapping of the Gateway Service to the business data, which in this case will come from Remote Function Modules. In this step you will create the Gateway Data Model.

1. Logon to the Gateway 2.0 system and go to the ABAP Development Workbench transaction

SE80.

2. Create a GW Data Model set the object type drop down to GW Data Model:

Model – set the object type drop down to GW Data Model: 3. In the object

3. In the object name input field enter the name Z_BANK_RFC_<Your Last Name>:

field enter the name Z_BANK_RFC_<Your Last Name>: 4. Click on the eye glasses button to create

4. Click on the eye glasses button to create the data model.

5. Click the Yes button in the popup window:

the data model. 5. Click the Yes button in the popup window: 6. In the Create

6. In the Create Data Model popup window set the type to PS Public Solution Model:

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules
CRUD Operations in Gateway Based on Remote Function Modules 7. Except the rest of the defaults

7. Except the rest of the defaults (make sure Generate from Data Source Object radio button is selected), and click the Enter button.

8. In the popup window enter a Description, Data Source Type (Remote Function Call), and the System Alias (this is the alias that is connected to the back end system). Click Continue.

that is connected to the back end system). Click Continue . 9. You r Model should

9. Your Model should now be displayed. As you can see no RFM‟s are displayed, you will need to search for them.

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules
CRUD Operations in Gateway Based on Remote Function Modules 4.2 Create the QUERY Operation. The QUERY

4.2 Create the QUERY Operation.

The QUERY operation is used to get a list of the business objects that your Gateway Service is mapped to. In this step you will map the QUERY operation against the BAPI_BANK_GETLIST remote function module.

1. Click the search icon to search for remote function modules:

Click the search icon to search for remote function modules: 2. In the popup window enter

2. In the popup window enter the search string BAPI_BANK*:

2. In the popup window enter the search string BAPI_BANK*: 3. A list of all matching

3. A list of all matching RFM‟s are returned:

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules
CRUD Operations in Gateway Based on Remote Function Modules 4. High light the RFM named BAPI_BANK_GETLIST

4. High light the RFM named BAPI_BANK_GETLIST this will be used for the QUERY operation.

– this will be used for the QUERY operation. 5. Click the Create Mapping button found

5. Click the Create Mapping button found on the right hand side of the screen.

Mapping button found on the right hand side of the screen. 6. In the Map Operation

6. In the Map Operation set the Operation Type to Query:

6. In the Map Operation set the Operation Type to Query : 7. We need to

7. We need to map BANK_CTRY and BANK_KEY of the BANK_LIST table to the S_COR_ID- VALUE.

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules
 
Note : the S_COR_ID-VALUE is the primary key of generated Gateway services. Each Gateway operation

Note: the S_COR_ID-VALUE is the primary key of generated Gateway services. Each Gateway operation must be mapped to the same primary keys. S_COR_ID-VALUE is a 72 character length string, so the combined length of all primary key fields mapped to it cannot exceed this length!

8.

Right click on BANK_LIST-BANK_CTRY and click the Change Mapping button:

on BANK_LIST-BANK_CTRY and click the Change Mapping button: 9. In the Mapping Route popup window select

9.

In the Mapping Route popup window select the S_COR_ID-VALUE and then click the Enter button:

select the S_COR_ID-VALUE and then click the Enter button: 10. Do the same thing for the

10.

Do the same thing for the BANK_LIST-BANK_KEY attribute (both should be mapped to S_COR_ID-VALUE).

11.

Your mapping should now look like this:

11. Your mapping should now look like this: 12. Now let‟s set a constant value on

12.

Now let‟s set a constant value on the BANK_CTRY input attribute.

13.

Right click on the BANK_CTRY attribute and click the Set Constant Value button:

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules
CRUD Operations in Gateway Based on Remote Function Modules 14. In the Set Constant Value popup

14. In the Set Constant Value popup window enter a value for the Bank Country, in this example US‟ – with single quites!!!:

in this example „ US ‟ – with single quites!!!: 15. Your mapping should now look

15. Your mapping should now look like the following:

15. Your mapping should now look like the following: 16. Click the Enter button to complete

16. Click the Enter button to complete the operation mapping.

Click the Enter button to complete the operation mapping. Note : You may notice that there

Note: You may notice that there is no save button to save your Gateway Data Model. To save your Gateway Data Model you must click the Generate button, which will not only save the Data model but will also generate all of its corresponding classes and configuration. If for some reason you became disconnected from the Gateway system your changes will not be saved if you have not generated.

4.3 Create the READ Operation.

The READ operation is used to read a single business object‟s data. The OData specification mandates that an OData based service must have at the very least a QUERY operation and a READ operation. In this step you will map the READ operation to BAPI_BANK_GETDETAIL.

1. In RFM search results list, select BAPI_BANK_GETDETAIL:

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules
CRUD Operations in Gateway Based on Remote Function Modules 2. Click the Create Mapping button. 3.

2. Click the Create Mapping button.

3. Set the Operation Type to Read.

4. Map BANKCOUNTRY and BANKKEY input attributes to S_COR_ID-VALUE.

5. Right click on the BANKCOUNTRY attribute and select the Change Mapping Route button:

attribute and select the Change Mapping Route button: 6. In the Mapping Route popup window select

6. In the Mapping Route popup window select the S_COR_ID-VALUE attribute and click the Enter button:

the S_COR_ID-VALUE attribute and click the Enter button: 7. Do the same with the BANKKEY input

7. Do the same with the BANKKEY input attribute, your mapping for these attributes should now look like this:

your mapping for these attributes should now look like this: 8. Uncheck the Return and BankDetails

8. Uncheck the Return and BankDetails structures, your mapping should now look like this:

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules
CRUD Operations in Gateway Based on Remote Function Modules 9. Notice in the above image that

9.

Notice in the above image that BANK_NAME and CITY attributes of the BankAddress structure are mapped to the previously created attributes from the QUERY operation. Let‟s do the same with the rest of the attributes of the BankAddress structure. We are doing this so that the Gateway Data Model has a completely flat structure (no structure or table nodes, all attributes are directly under the root node). This is important for two reasons, one it makes for a very clean and simple interface, and two operations UPDATE and CREATE which we will be mapping later require a flat interface…no structures or table input are supported for these operations!

10.

Right click on the REGION attribute and click the Change Mapping Route button.

11.

Select the root node of your object:

Route button. 11. Select the root node of your object: Note : by selecting the root

Note: by selecting the root node of the object you are having the attribute mapped directly under it, thus flattening out the structure.

12.

Click the Enter button. Now do these steps for each attribute in the BankAddress structure.

13.

Your mapping should now look like the following:

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules
CRUD Operations in Gateway Based on Remote Function Modules 14. Click the Enter button to complete

14. Click the Enter button to complete the operation mapping.

4.4 Create the CREATE Operation.

The CREATE operation creates a business entity. In order for OData to support the CREATE operation, structure of the business object mapping must be completely flat. No structures or tables are allowed to be passed as input in OData. In this step you will map the CREATE operation to the BAPI_BANK_CREATE remote function module.

1. In the RFM search results, select BAPI_BANK_CREATE:

1. In the RFM search results, select BAPI_BANK_CREATE: 2. Click the Create Mapping button. 3. Select

2. Click the Create Mapping button.

3. Select the Create operation type radio button.

4. Uncheck the BankAddress1 structure, and the BankFormatting, BankMethod, I_XUPDATE attributes. Your mapping should now look like the following:

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules
CRUD Operations in Gateway Based on Remote Function Modules 5. The output attributes BANK_CTRY and BANK_KEY

5. The output attributes BANK_CTRY and BANK_KEY need to be mapped to the S_COR_ID- VALUE. Do this, once done the mapping for these attributes will look like this:

done the mapping for these attributes will look like this: 6. Click the Enter button to

6. Click the Enter button to complete your operation mapping.

4.5 Create the UPDATE Operation.

The UPDATE operation updates a business entity. Just like with the CREATE operation, in order for OData to support the UPDATE operation the structure of the business object mapping must be completely flat. No structures or tables are allowed to be passed as input in OData. In this step you will map the UPDATE operation to the BAPI_BANK_CHANGE remote function module.

1. In the RFM search results, select BAPI_BANK_CHANGE.

2. Click the Create Mapping button.

3. Set the Operation Type to Update.

4. Uncheck the BankAddress1, BankAddress1x, BankDetail, and BankDetailx structures.

5. Map the input attributes BANKCOUNTRY and BANKKEY to S_COR_ID-VALUE.

6. Your mapping should now look like the following:

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules
CRUD Operations in Gateway Based on Remote Function Modules 7. Click the Enter button to complete

7. Click the Enter button to complete the operation mapping.

8. Your Gateway Object should now look like the following:

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules
CRUD Operations in Gateway Based on Remote Function Modules 9. Click the Generate button. This will
9. Click the Generate button. This will generate all the classes and other configuration files
9.
Click the Generate button. This will generate all the classes and other configuration files needed
for the service.
10.
When generation is complete you will see the following popup window displayed:
for the service. 10. When generation is complete you will see the following popup window displayed:

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules

4.6 Create the Gateway Consumption Model

The Consumption Model is what exposes the Gateway Data Models to the network. It does this by creating a service in the Internet Communication Framework. In this step you will create a Consumption Model and then map your Data Model to it.

1. Now you need to expose the service via the Internet Communication Framework (ICF). Navigate to transaction SE80.

2. In the drop-down select object type GW Consumption Model:

2. In the drop-down select object type GW Consumption Model: 3. In the input field enter

3. In the input field enter in the service document name in the following format: zbankrfc<your last name>

in the following format: zbankrfc<your last name> 4. Click the Display button and then click the

4. Click the Display button and then click the Yes button, the following popup window will be displayed:

Yes button, the following popup window will be displayed: 5. Enter in the service name zbankrfc<your

5. Enter in the service name zbankrfc<your last name>, and description and click the Enter button.

name>, and description and click the Enter button. 6. The created service document will be displayed.

6. The created service document will be displayed. Right click on it and in the context menu select Add Gateway Object.

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules
CRUD Operations in Gateway Based on Remote Function Modules 7. In the popup window enter in

7.

In the popup window enter in Z_BANK_RFC* and click the F4 help button.

window enter in Z_BANK_RFC* and click the F4 help button. 8. Find and select your Gateway

8.

Find and select your Gateway Object you created earlier…it should look similar to the following:

created earlier…it should look s imilar to the following: 9. Your Gateway Object Model should now

9.

Your Gateway Object Model should now look similar to the following:

Object Model should now look similar to the following: 10. You have successfully created your Gateway

10.

You have successfully created your Gateway service…now you get to test it.

11.

You can see the Gateway service exposed in the ICF transaction SICF follow the ICF tree

path default_host > sap > opu > sdata > sap represent Gateway Consumption Models.

there

you will see a list of all ICF services that

4.7 Test the REST Operations.

Now for the fun part! You get to test everything you have done up to this point. Testing the QUERY and READ operations is easy…you just need a browser. Testing the CREATE and UPDATE operations (as well as the DELETE if we had implemented that), requires th e use of a simple HTTP tool, the one we use here is WFetch (the FireFox browser also has a nice REST plug -in available).

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules

1. Go back to transaction SE80 and display your Gateway Consumption Model you created in the last step:

your Gateway Consumption Model you created in the last step: 2. Double click on the top

2. Double click on the top level node of your Gateway Consumption Model, this will display it‟s properties:

Consumption Model, this will display it‟s properties: 3. Click the Metadata button. This will launch a

3. Click the Metadata button. This will launch a browser which will display the metadata of your service:

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules
CRUD Operations in Gateway Based on Remote Function Modules 4. To execute the QUERY operation replace

4. To execute the QUERY operation replace in the URL $metadata with z_bank_rfc_<Your Last Name>Collection, you should see the following page:

http://servername:http_port/sap/opu/sdata/sap/ZBANKGEBO/z_bank_gebo2Collection?sap-

client=800&$format=xml

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules
CRUD Operations in Gateway Based on Remote Function Modules 1. For each bank in the list

1. For each bank in the list there is an atom:id tag with a value of the URL that can be used to call the READ operation, for example:

that can be used to call the READ operation, for example:

2. Copy one of these and paste it into the URL of the browser and navigate to it, the details of the Bank will be displayed:

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules
CRUD Operations in Gateway Based on Remote Function Modules 3. You will need to start WFetch

3. You will need to start WFetch to test the Create and Update operations.

4. Test the CREATE operation. Enter in the Verb POST, Host, Port and Path. The path should be the same as you used to execute the QUERY operation above. You will also need to set authentication for Basic auth and enter in your user name and password.

for Basic auth and enter in your user name and password. 5. Enter in the required

5. Enter in the required HTTP Header and Body ( in the drop-down select Add Headers&Body):

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules
CRUD Operations in Gateway Based on Remote Function Modules Here is an example of the request

Here is an example of the request that you can type in yourself or you can copy the contents of the attached file named bank_request.txt . Please note, you will have to change the values to match your service(at the very least scheme_id and scheme_agency_id):

x-requested-with: XMLHttpRequest\r\n \r\n <?xml version="1.0" encoding="utf-8" ?> \r\n <atom:entry xml:base="HTTP://10.66.9.130:50045/sap/opu/sdata/sap/ZBANKRFCGEBO/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"

xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"

xmlns:sap="http://www.sap.com/Protocols/SAPData">\r\n <atom:content type="application/xml">\r\n <m:properties>\r\n <d:value>0209_US021800089</d:value> \r\n <d:scheme_id>Z_BANK_RFC_GEBO</d:scheme_id> \r\n <d:scheme_agency_id>LOCAL</d:scheme_agency_id> \r\n <d:swift_code>CITIUSXX</d:swift_code> \r\n <d:street>123 Main St</d:street> \r\n <d:bank_ctry /> \r\n <d:bank_group /> \r\n <d:bank_name>Bank of Gebo</d:bank_name> \r\n <d:pobk_curac /> \r\n <d:city>Sacramento</d:city> \r\n <d:addr_no /> \r\n <d:bank_no/>\r\n <d:bank_branch>California</d:bank_branch> \r\n <d:region>CA</d:region> \r\n <d:post_bank /> \r\n </m:properties>\r\n </atom:content>\r\n </atom:entry>/entry>\r\n

Note: the header x-requested -with is required for CREATE, UPDATE and DELETE operations!

6. Check the contents of the <d:value></d:value> tag…in this case it is 0209_US021200089, this value represents the Key value of the bank to be created. The service knows it has two key values but it doesn‟t know how long. 02 is the length of the first attribute, and 09 is the length of the second attribute. This is how it is able to parse the key value string. Make sure to enter in a unique Bank Number which is currently set to 21200089 in the XML above. Change it to something unique.

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules

7.

Now click the Go! button.

7. Now click the Go! button. 8. The CREATE operation will be executed and the flowing

8.

The CREATE operation will be executed and the flowing response should be returned:

be executed and the flowing response should be returned: Note : notice that in the response

Note: notice that in the response if the OData READ operation XML for this bank you just created. OData calls the READ operation after the a successful CREATE. This means that your OData Gateway services with CREATE operations will need a corresponding READ operation…without the READ operation you would get an exception even though the creation was successful.

9.

Now let‟s test the UPDATE method. In WFetch change the Verb type to PUT:

the UPDATE method. In WFetch change the Verb type to PUT: 10. Set the path to

10.

Set the path to be the same path used when executing the READ operation, in this example it will be:

/sap/opu/sdata/sap/ZBANKRFCGEBO/z_bank_rfc_geboCollection(value='0209_US021800089',

scheme_id='Z_BANK_RFC_GEBO',scheme_agency_id='LOCAL')?sap-client=800&$format=xml

Make sure the value is set to the correct Bank Number.

Note: If copying the path above make sure to change the name “Gebo” to your name.

11.

Now in the HTTP Header and Body data, change the bank_name and city attributes to something different.

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules
CRUD Operations in Gateway Based on Remote Function Modules 12. Click the Go! button. 13. If

12. Click the Go! button.

13. If the UPDATE is successful you will receive the following response:

is successful you will receive the following response: Note : The HTTP response code of 204

Note: The HTTP response code of 204 is a successful update response…there is no response body returned hence the codes text “No Content”.

14. To make sure that the UPDATE was correct just change the Verb type to GET and disable the Header and Body:

change the Verb type to GET and disable the Header and Body: 15. It should return

15. It should return in the response the new bank details:

How To

Create CRUD Operations in Gateway Based on Remote Function Modules

How To Create CRUD Operations in Gateway Based on Remote Function Modules
CRUD Operations in Gateway Based on Remote Function Modules 16. Alternatively just test the read in

16. Alternatively just test the read in the browser:

Modules 16. Alternatively just test the read in the browser: Congratulations! You have successfully created and

Congratulations! You have successfully created and tested your Gateway Bank Service!

http://<s erver_nam e>:<http_port>/sap/opu/s data/sap/z bank <y our_las t

www.sdn.sap.com/irj/sdn/howtoguides

www.sdn.sap.com/irj/sdn/howtoguides