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.
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'.
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.
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.
concatenate 'The user ' NAME ' is not created. Technical issue!' into
str1.
MSG = str1.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
10 | |
9 | |
5 | |
4 | |
4 | |
3 | |
3 | |
3 | |
3 | |
3 |