Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Efficient reporting of DUMPS in WEB DYNPRO

1. Go to SICF transaction and set the following HTML page that will be called when the application
DUMPS

Click on EDIT and prepare the following HTML page
<html> <body>
The application has to stop due to an error: <a
href='http://FRHDSTDASEV00.main.glb.corp.local:8003/sap/bc/webdynpro/sap/zdb_err
or_handler?SYUNAME=
<%=SYUNAME%>
&SYMANDT=
<%=SYMANDT%>
&SYLANGU=
<%=SYLANGU%>
&SYHOST=
<%=SYHOST%>
&SYSYSID=
<%=SYSYSID%>
&SYOPSYS=
<%=SYOPSYS%>
&SYDBSYS=
<%=SYDBSYS%>
&SYSAPRL=
<%=SYSAPRL%>
&SYDATUM=
<%=SYDATUM%>
&SYUZEIT=
<%=SYUZEIT%>
&SYDYNNR=
<%=SYDYNNR%>
&SYREPID=
<%=SYREPID%>
&SYECODE=
<%=SYECODE%>
&SYXPROG=
<%=SYXPROG%>
&SYTCODE=
<%=SYTCODE%>
&SYETEXT=
<%=SYETEXT%>
&SYMSGID=
<%=SYMSGID%>
&SYMSGTY=
<%=SYMSGTY%>
&SYMSGNO=
<%=SYMSGNO%>
&SYMSGV1=
<%=SYMSGV1%>
&SYMSGV2=
<%=SYMSGV2%>
&SYMSGV3=
<%=SYMSGV3%>
&SYMSGV4=
<%=SYMSGV4%>
&MESSAGE=<
<%=MESSAGE%>
&PATHTRANS=
<%=PATHTRANS%>
&ERRORCODE=
<%=ERRORCODE%>'>
Click here
</a></body></html>

2. We create a WD component ZDB_ERROR_HANDLER, that will have the following application
parameters

In fact all the parameters that we are passing in the HTML code, all of them have to be here.
3. Create a suitable VIEW in ZDB_ERROR_HANDLER and in WDDOINIT
METHOD wddoinit .

**********************************************************************
** Local type declaration
**********************************************************************
TYPES : BEGIN OF ty_app_para,
param TYPE string,
END OF ty_app_para.

**********************************************************************
** Local object declaration
**********************************************************************
DATA : lo_node TYPE REF TO if_wd_context_node,
lo_lead TYPE REF TO if_wd_context_element,

**********************************************************************
** Local internal table declaration
**********************************************************************
lt_para TYPE STANDARD TABLE OF ty_app_para,

**********************************************************************
** Local variable declaration
**********************************************************************
lv_para TYPE string,
lv_msgi TYPE symsgid,
lv_msgn TYPE symsgno,
lv_text TYPE natxt.

**********************************************************************
** Local varaible declaratrion
**********************************************************************
FIELD-SYMBOLS <lwa_para> TYPE ty_app_para.

**********************************************************************
** Application parameter to be read
**********************************************************************
APPEND INITIAL LINE TO lt_para ASSIGNING <lwa_para>.
<lwa_para>-param = 'SYSYSID'.
APPEND INITIAL LINE TO lt_para ASSIGNING <lwa_para>.
<lwa_para>-param = 'SYUNAME'.
APPEND INITIAL LINE TO lt_para ASSIGNING <lwa_para>.
<lwa_para>-param = 'SYMANDT'.
APPEND INITIAL LINE TO lt_para ASSIGNING <lwa_para>.
<lwa_para>-param = 'SYLANGU'.
APPEND INITIAL LINE TO lt_para ASSIGNING <lwa_para>.
<lwa_para>-param = 'SYHOST'.
APPEND INITIAL LINE TO lt_para ASSIGNING <lwa_para>.
<lwa_para>-param = 'SYSYSID'.
APPEND INITIAL LINE TO lt_para ASSIGNING <lwa_para>.
<lwa_para>-param = 'SYOPSYS'.
APPEND INITIAL LINE TO lt_para ASSIGNING <lwa_para>.
<lwa_para>-param = 'SYDBSYS'.
APPEND INITIAL LINE TO lt_para ASSIGNING <lwa_para>.
<lwa_para>-param = 'SYSAPRL'.
APPEND INITIAL LINE TO lt_para ASSIGNING <lwa_para>.
<lwa_para>-param = 'SYDATUM'.
APPEND INITIAL LINE TO lt_para ASSIGNING <lwa_para>.
<lwa_para>-param = 'SYUZEIT'.
APPEND INITIAL LINE TO lt_para ASSIGNING <lwa_para>.
<lwa_para>-param = 'SYDYNNR'.
APPEND INITIAL LINE TO lt_para ASSIGNING <lwa_para>.
<lwa_para>-param = 'SYREPID'.
APPEND INITIAL LINE TO lt_para ASSIGNING <lwa_para>.
<lwa_para>-param = 'SYECODE'.
APPEND INITIAL LINE TO lt_para ASSIGNING <lwa_para>.
<lwa_para>-param = 'SYXPROG'.
APPEND INITIAL LINE TO lt_para ASSIGNING <lwa_para>.
<lwa_para>-param = 'SYTCODE'.
APPEND INITIAL LINE TO lt_para ASSIGNING <lwa_para>.
<lwa_para>-param = 'SYETEXT'.
APPEND INITIAL LINE TO lt_para ASSIGNING <lwa_para>.
<lwa_para>-param = 'SYMSGID'.
APPEND INITIAL LINE TO lt_para ASSIGNING <lwa_para>.
<lwa_para>-param = 'SYMSGNO'.
APPEND INITIAL LINE TO lt_para ASSIGNING <lwa_para>.
<lwa_para>-param = 'SYMSGTY'.

**********************************************************************
** Show all the error details
**********************************************************************
CALL METHOD wd_context->get_child_node
EXPORTING
name = wd_this->wdctx_n_error_details1
RECEIVING
child_node = lo_node.
IF lo_node IS BOUND.
CALL METHOD lo_node->get_element
RECEIVING
node_element = lo_lead.
ENDIF.
LOOP AT lt_para ASSIGNING <lwa_para>.
lv_para = wdr_task=>client_window->get_parameter( <lwa_para>-param ).
CALL METHOD lo_lead->set_attribute
EXPORTING
value = lv_para
name = <lwa_para>-param.
CLEAR lv_para.
ENDLOOP.

**********************************************************************
** Format the error message
**********************************************************************
lv_msgi = wdr_task=>client_window->get_parameter( 'SYMSGID' ).
lv_msgn = wdr_task=>client_window->get_parameter( 'SYMSGNO' ).
IF lv_msgi IS NOT INITIAL AND
lv_msgn IS NOT INITIAL.
SELECT SINGLE text
INTO lv_text
FROM t100
WHERE sprsl = sy-langu AND
arbgb = lv_msgi AND
msgnr = lv_msgn.
REPLACE FIRST OCCURRENCE OF '&1' IN lv_text WITH wdr_task=>client_window->get_parameter( 'SYMSGV1' ).
REPLACE FIRST OCCURRENCE OF '&2' IN lv_text WITH wdr_task=>client_window->get_parameter( 'SYMSGV2' ).
REPLACE FIRST OCCURRENCE OF '&3' IN lv_text WITH wdr_task=>client_window->get_parameter( 'SYMSGV3' ).
REPLACE FIRST OCCURRENCE OF '&4' IN lv_text WITH wdr_task=>client_window->get_parameter( 'SYMSGV4' ).

CALL METHOD lo_lead->set_attribute
EXPORTING
value = lv_text
name = 'FULL_TEXT'.
ENDIF.

**********************************************************************
** Format the other details
**********************************************************************
CALL METHOD wd_context->get_child_node
EXPORTING
name = wd_this->wdctx_n_error_details2
RECEIVING
child_node = lo_node.
IF lo_node IS BOUND.
CALL METHOD lo_node->get_element
RECEIVING
node_element = lo_lead.
ENDIF.
IF lo_lead IS BOUND.
CALL METHOD lo_lead->set_attribute
EXPORTING
value = wdr_task=>client_window->get_parameter( 'PATHTRANS' )
name = 'PATHTRANS'.
CALL METHOD lo_lead->set_attribute
EXPORTING
value = wdr_task=>client_window->get_parameter( 'ERRORCODE' )
name = 'ERRCODE'.
CALL METHOD lo_lead->set_attribute
EXPORTING
value = wdr_task=>client_window->get_parameter( 'MESSAGE' )
name = 'MESSAGE'.
ENDIF.
ENDMETHOD.
4. All WD applications that we have should be configured with this ERROR HANDLING
application in SICF.

5. Run the erroneous application

6. Click on the hyperlink



Deepankar Bhowmick

You might also like