Skip to Content

How to update a R3 table via portal – SOA Environment?

Here I am trying to explain an interesting scenario. We need to update user information in R3 system via portal and 3rd party will get the confirmation about
posting status.

Let’s try to establish sync communication.

  1. User can fill information about his details.
  2. Get the Confirmation that data has been updated in
    R3 table.. User created

   Now idea is that..

   1. Create A RFC Enabled Funcation module form Se37..        
     Import parameter : Information provided by 3rd Party application

      Export parameter : Confirmation message.. User id had been created.

  2. Create a Service Defication for that service ( Se37 /or SPROXY or SE80)

  3. Expose that service in SOAMANGER

  4. Expose the service in Service Registry

  5. Test form WS Navigator tool and 3rd Party application

Create Custom table, where you want to update data : SE11

Ref : Fig 1 
 

Create RFC enable Function Module : ( Transaction Se37 –SAP R3)

Import Parameters :

Ref : Fig 2

Export Parameters :

Ref : Fig 3

Source Code

FUNCTION ZRFC_USER_CREATE.

*”———————————————————————-

*”*”Local Interface:

*”  IMPORTING

*”     VALUE(NAME) TYPE  STRING

*”     VALUE(FNAME) TYPE  STRING

*”     VALUE(LNAME) TYPE  STRING

*”     VALUE(REGIO) TYPE  STRING

*”     VALUE(LAND1) TYPE  STRING

*”  EXPORTING

*”     VALUE(MSG) TYPE  STRING

*”———————————————————————-

Data : it_user type standard table of ZUSER_HATI,

       wa_user type ZUSER_HATI.

Data : str1 type string.

if NAME is initial.

str1 = ‘Please fill user name field’.

  1. endif.

select single * from ZUSER_HATI into wa_user where NAME = NAME.

if sy-subrc eq 0.

concatenate ‘The user ‘ NAME ‘ has already exists. Please choose other
one’ into str1.

  1. else.

clear : wa_user.

wa_user-NAME = NAME.

wa_user-fname = fname.

wa_user-lname = lname.

wa_user-regio = regio.

wa_user-land1 = land1.

insert ZUSER_HATI from wa_user.

if sy-subrc eq 0.

concatenate ‘The user ‘ NAME ‘ created successfully.’ into str1.

  1. else.

concatenate ‘The user ‘ NAME ‘ is not created. Technical issue!’ into
str1.

  1. endif.

  1. Endif.

MSG =  str1.

  1. ENDFUNCTION.

Now RFC Enabled Function Module ( also called RFC) has been create as SAP Service

Ref : Fig 4

Now we need to
create on Service Defination for this service which will be expose in SOAMANGER
further.

Goto : Utilitiesà More Utilities–> Create Web Service à From the Function Module

Ref : Fig 5

It will open Configutaion Wizard . Provide Service Defination name different so that 3rd
Party application may not confiuse while trying to consume service( writing
some custom code) . Press “Continue”

Ref : Fig 6

Press “Continue”

Ref : Fig 7

Choose as below setting

Ref : Fig 8

Press “Complete”. Now check this configuration tab like this :

Ref : Fig 9

Change the Authontication Level as “Low”

Ref : Fig 10

Trasnport Sceurity should be low

Ref : Fig 11

Now expose the service form SOAMANAGER..

Serach your service

Goto Configuration tab and create Button

Ref : Fig 12

Check Basic Authontication

Ref : Fig 13

Press Save Button .. End point URL has been created

Ref : Fig 14

Test the service

Open Web Service Navigator

Ref : Fig 15

First provide WS
Navigator credentials and then SOAMANAGER USER and PASS

Press Next

Fill the information and press Next

Ref : Fig 16

Check the export parametes Synchonous Communication. “The userbhati created successfully.”

Ref : Fig 17

Check the R3 table entry.

Ref : Fig 18


Please note ..
you can expose this service in service Registry. So that 3rd Party
application can directly consume this.

To report this post you need to login first.

Be the first to leave a comment

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

Leave a Reply