cancel
Showing results for 
Search instead for 
Did you mean: 

Does SAP Support http forward function?

Former Member
0 Kudos

Dear Experts,

Our requirement is below:

In Webdynpro App A call another webdynrpo App B, and some parameters need to be transferred. We don't want use url parameters because they are explicit. Our solution is building a icf service and use handler to redirect the url and set the parameters in httpheader. The code in handler like beolw:

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
method IF_HTTP_EXTENSION~HANDLE_REQUEST.
   DATA f_fields TYPE tihttpnvp.
   DATA lv_type TYPE string.
   data: lv_tmp type string.
   FIELD-SYMBOLS <wa_field_clid> LIKE LINE OF f_fields.

*Get URL Parameters from Application A
   server->request->get_form_fields(
     CHANGING
       fields             = f_fields   ).
   READ TABLE f_fields ASSIGNING <wa_field_clid> WITH KEY name = 'zatype'.
   IF sy-subrc = 0.
     lv_type = <wa_field_clid>-value.
   ELSE.
     server->response->set_status( code = 500 reason = 'No Content Guid' ).
     RETURN.
   ENDIF.
  
*Set the Parameters into httpheader 
   server->response->IF_HTTP_ENTITY~SET_HEADER_FIELD( name = 'zatype' VALUE = lv_type ).
  
*redirect url to Application B 
   server->response->REDIRECT( URL = 'http://svsrmd01.csvw.com:8000/sap/bc/webdynpro/sap/zdarcy_test_url2' PERMANENTLY = '1' ).
endmethod.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

But now in Application B we still cannot get parameter from the httpheader. It seems that in response->REDIRECT function http header has been refreshed. Is there any way we can reach our requiremnt(like forward function in java)? Many thanks.

  DATA f_fields TYPE tihttpnvp.
   DATA lv_type TYPE string.
   data: lv_tmp type string.
   FIELD-SYMBOLS <wa_field_clid> LIKE LINE OF f_fields.

*Get URL Parameters from Application A
   server->request->get_form_fields(
     CHANGING
       fields             = f_fields   ).
   READ TABLE f_fields ASSIGNING <wa_field_clid> WITH KEY name = 'zatype'.
   IF sy-subrc = 0.
     lv_type = <wa_field_clid>-value.
   ELSE.
     server->response->set_status( code = 500 reason = 'No Content Guid' ).
     RETURN.
   ENDIF.
  
*Set the Parameters into httpheader 
   server->response->IF_HTTP_ENTITY~SET_HEADER_FIELD( name = 'zatype' VALUE = lv_type ).
  
*redirect url to Application B 
   server->response->REDIRECT( URL = 'http://svsrmd01.csvw.com:8000/sap/bc/webdynpro/sap/zdarcy_test_url2' PERMANENTLY = '1' ).

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Anyone has suggestion? Many thanks!

0 Kudos

I guess, alternatively You can use suspend and resume plugs in windows.

Thanks

Ananda