Tuesday, January 24, 2012

Web Dynpro Application acts similar to VA05 in R/3

Output Screen:
 Input Screen:
Creation of Web Dynpro application similar to VA05 in R/3:


Init Method:
To achieve Date Select options and default values ranges last 30 days (High = System Date and Low = System Date  - 30).

Code:
  FIELD-SYMBOLS: <fs_date> TYPE STANDARD TABLE,
                 <range_table_line> 
TYPE ANY,
                 <low> 
TYPE ANY,
                 <high> 
TYPE ANY,
                  <sign> 
TYPE ddsign,
                  <option> 
TYPE ddoption.
  
data: rt_date type REF TO data, READ_ONLY TYPE ABAP_BOOL.
  
DATA: LR_COMPONENTCONTROLLER TYPE REF TO IG_COMPONENTCONTROLLER,
        L_REF_CMP_USAGE 
TYPE REF TO IF_WD_COMPONENT_USAGE.
* create the used component
  L_REF_CMP_USAGE = WD_THIS->WD_CPUSE_SELopt( ).
  
IF L_REF_CMP_USAGE->HAS_ACTIVE_COMPONENT( ) IS INITIAL.
    L_REF_CMP_USAGE->CREATE_COMPONENT( ).
  
ENDIF.
  WD_THIS->M_WD_SELOPT = WD_THIS->WD_CPIFC_SELopt( ).
* init the select screen
  WD_THIS->M_HANDLER = WD_THIS->M_WD_SELOPT->INIT_SELECTION_SCREEN( ).
  WD_THIS->M_HANDLER->SET_GLOBAL_OPTIONS(
                              I_DISPLAY_BTN_CANCEL  = ABAP_FALSE
                              I_DISPLAY_BTN_CHECK   = ABAP_FALSE
                              I_DISPLAY_BTN_RESET   = ABAP_FALSE
                              I_DISPLAY_BTN_EXECUTE = ABAP_FALSE ).
* create a range table that consists of this new data element
  RT_DATE = WD_THIS->M_HANDLER->CREATE_RANGE_TABLE( I_TYPENAME = 
'SYDATUM' ).
* add a new field to the selection
  WD_THIS->M_HANDLER->ADD_SELECTION_FIELD( I_ID = 
'ID_DATE' I_DESCRIPTION = 'Date'
  IT_RESULT =  RT_DATE I_READ_ONLY = READ_ONLY  ).



* Populate Default Value for select-option Date
  
ASSIGN rt_date->* TO <fs_date>.
  
INSERT INITIAL LINE INTO TABLE <fs_date> ASSIGNING <range_table_line>.
  
ASSIGN COMPONENT 'LOW'    OF STRUCTURE <range_table_line> TO <low>.
  
ASSIGN COMPONENT 'HIGH'   OF STRUCTURE <range_table_line> TO <high>.
  
ASSIGN COMPONENT 'SIGN'   OF STRUCTURE <range_table_line> TO <sign>.
  
ASSIGN COMPONENT 'OPTION' OF STRUCTURE <range_table_line> TO <option>.
  <low>  = sy-datum - 
30.
  <sign> = 
'I'.
  <option> = 
'BT'.
  <high> = sy-datum .



  wd_context->set_attribute( exportiNg name = 'VIS1' VALUE = 02 ).
  wd_context->set_attribute( 
exportiNg name = 'VIS2' VALUE = 01 ).

(In this application both input and output screens and placed in single view:
 When browser starts default it shows input screen
When user operates ‘Open Sales Order’ Pushbutton Output screen will be displaced
When user operates ‘Back’ Pushbutton, application will navigate to Input screen. )

Open Sales Order Method or Action on PushButton Open Sales Order:
* Instantiate the used component
  
DATA lo_cmp_usage TYPE REF TO if_wd_component_usage.

  lo_cmp_usage =   wd_this->wd_cpuse_salv( ).
  
IF lo_cmp_usage->has_active_component( ) IS INITIAL.
    lo_cmp_usage->create_component( ).
  
ENDIF.

* Get Model
  
DATA lo_interfacecontroller TYPE REF TO iwci_salv_wd_table .
  lo_interfacecontroller =   wd_this->wd_cpifc_salv( ).

  
DATA lo_value TYPE REF TO cl_salv_wd_config_table.
  lo_value = lo_interfacecontroller->get_model(
  ).

*---------- ALV table settings.
  
DATA: l_table_settings TYPE REF TO if_salv_wd_table_settings.
  l_table_settings ?= lo_value.
*  wd_this->l_table =  l_table_settings .

* Set the Editable property to true
  l_table_settings->set_read_only( abap_false ).
* Set table header
*  DATA: l_header TYPE REF TO cl_salv_wd_header.
*  l_header = l_table_settings->get_header( ).
*  l_header->set_text( 'Sales Orders' ).

*---------- Column settings
  
DATA: l_column_settings TYPE REF TO if_salv_wd_column_settings.
  l_column_settings ?= lo_value.

* Get columns
  
DATA: lt_columns TYPE salv_wd_t_column_ref ,
        ls_columns 
TYPE salv_wd_s_column_ref .

  
DATA: l_column_header  TYPE REF TO cl_salv_wd_column_header .

  lt_columns = l_column_settings->get_columns( )              .

  
LOOP AT lt_columns INTO ls_columns .
   
CASE ls_columns-id   .
      
WHEN 'VBELN'     .
        l_column_header = ls_columns-r_column->get_header( )  .
        l_column_header->set_ddic_binding_field(
           if_salv_wd_c_column_settings=>ddic_bind_none )     .
        l_column_header->set_text( 
'Sales Document' ). " column header

       
WHEN 'POSNR' .
        l_column_header = ls_columns-r_column->get_header( )  .
        l_column_header->set_ddic_binding_field(
           if_salv_wd_c_column_settings=>ddic_bind_none )     .
        l_column_header->set_text( 
'Item(SD)' ) . "column header

      
WHEN 'ZMENG'.
        l_column_header = ls_columns-r_column->get_header( )  .
        l_column_header->set_ddic_binding_field(
           if_salv_wd_c_column_settings=>ddic_bind_none )     .
        l_column_header->set_text( 
'Order Quantity' ). "column header
      
WHEN 'VDATU'.
        l_column_header = ls_columns-r_column->get_header( )  .
        l_column_header->set_ddic_binding_field(
           if_salv_wd_c_column_settings=>ddic_bind_none )     .
        l_column_header->set_text( 
'Delivery Date' ). "column header
       
WHEN 'MATNR'.
        l_column_header = ls_columns-r_column->get_header( )  .
        l_column_header->set_ddic_binding_field(
           if_salv_wd_c_column_settings=>ddic_bind_none )     .
        l_column_header->set_text( 
'Material' ). "column header
        
WHEN 'MAKTX'.
        l_column_header = ls_columns-r_column->get_header( )  .
        l_column_header->set_ddic_binding_field(
           if_salv_wd_c_column_settings=>ddic_bind_none )     .
        l_column_header->set_text( 
'Description' ). "column header
        
WHEN 'VDATU'.
        l_column_header = ls_columns-r_column->get_header( )  .
        l_column_header->set_ddic_binding_field(
           if_salv_wd_c_column_settings=>ddic_bind_none )     .
        l_column_header->set_text( 
'Delivery Date' ). "column header

            
WHEN 'MEINS'.
        l_column_header = ls_columns-r_column->get_header( )  .
        l_column_header->set_ddic_binding_field(
           if_salv_wd_c_column_settings=>ddic_bind_none )     .
        l_column_header->set_text( 
'Sales Unit' ). "column header

             
WHEN 'NETPR'.
        l_column_header = ls_columns-r_column->get_header( )  .
        l_column_header->set_ddic_binding_field(
           if_salv_wd_c_column_settings=>ddic_bind_none )     .
        l_column_header->set_text( 
'Net Price' ). "column header

             
WHEN 'ERDAT'.
        l_column_header = ls_columns-r_column->get_header( )  .
        l_column_header->set_ddic_binding_field(
           if_salv_wd_c_column_settings=>ddic_bind_none )     .
        l_column_header->set_text( 
'Document Date' ). "column header

             
WHEN 'ERNAM'.
        l_column_header = ls_columns-r_column->get_header( )  .
        l_column_header->set_ddic_binding_field(
           if_salv_wd_c_column_settings=>ddic_bind_none )     .
        l_column_header->set_text( 
'NAME 1' ). "column header

              
WHEN 'VKORG'.
        l_column_header = ls_columns-r_column->get_header( )  .
        l_column_header->set_ddic_binding_field(
           if_salv_wd_c_column_settings=>ddic_bind_none )     .
        l_column_header->set_text( 
'Sales Organization' ). "column header

             
WHEN 'VKBUR'.
        l_column_header = ls_columns-r_column->get_header( )  .
        l_column_header->set_ddic_binding_field(
           if_salv_wd_c_column_settings=>ddic_bind_none )     .
        l_column_header->set_text( 
'SOff.' ). "column header



    
ENDCASE  .
  
ENDLOOP.

*******************************************************
  
DATA v_text TYPE string.
  
TYPESBEGIN OF t_date,
         
sign(1),
         option(
2),
         low 
TYPE sydatum,
         high 
TYPE sydatum,
         
END OF t_date.
  
DATA: wa_date TYPE t_date, wa_date1 TYPE t_date.
  
DATA: rt_date TYPE REF TO data.

  
FIELD-SYMBOLS: <fs_date> TYPE table.

* Retrieve the data from the select option
  rt_date = wd_this->m_handler->get_range_table_of_sel_field(
                           i_id = 
'ID_DATE' ).
* Assign it to a field symbol
  
ASSIGN rt_date->* TO <fs_date>.

  
LOOP AT <fs_date> INTO wa_date.

  
ENDLOOP.
* ***************************************
* * Reading Input Elements

  
DATA lo_nd_input TYPE REF TO if_wd_context_node.
  
DATA lo_el_input TYPE REF TO if_wd_context_element.
  
DATA ls_input TYPE wd_this->element_input.
*   navigate from <CONTEXT> to <INPUT> via lead selection
  lo_nd_input = wd_context->get_child_node( name = wd_this->wdctx_input ).

*   get element via lead selection
  lo_el_input = lo_nd_input->get_element(  ).

*   get all declared attributes
  lo_el_input->get_static_attributes(
    
IMPORTING
      static_attributes = ls_input ).
*******************************************
* READING OUTPUT NODE
  
DATA lo_nd_output TYPE REF TO if_wd_context_node.
  
DATA lo_el_output TYPE REF TO if_wd_context_element.
* navigate from <CONTEXT> to <OUTPUT> via lead selection
  lo_nd_output = wd_context->get_child_node( name = wd_this->wdctx_output ).

  
DATA: l_ref_cmp_usage TYPE REF TO if_wd_component_usage.

  l_ref_cmp_usage = wd_this->wd_cpuse_salv( ).

  
IF l_ref_cmp_usage->has_active_component( ) IS INITIAL.
    l_ref_cmp_usage->create_component( ).
  
ENDIF.

  
DATA: l_ref_interfacecontroller TYPE REF TO iwci_salv_wd_table.
  l_ref_interfacecontroller = wd_this->wd_cpifc_salv( ).
  
DATA: l_value TYPE REF TO cl_salv_wd_config_table.
  l_value = l_ref_interfacecontroller->get_model( ).


  
DATA lo_nd_top_of_list TYPE REF TO if_wd_context_node.
  
DATA lo_el_top_of_list TYPE REF TO if_wd_context_element.
  
DATA ls_top_of_list TYPE wd_this->element_top_of_list.
* navigate from <CONTEXT> to <TOP_OF_LIST> via lead selection
  lo_nd_top_of_list = wd_context->get_child_node( name = wd_this->wdctx_top_of_list ).

  
DATA: lr_grid TYPE REF TO cl_salv_form_layout_grid,
        lr_value 
TYPE REF TO cl_salv_form_label,
        lr_value1 
TYPE REF TO cl_salv_form_text.

  
CREATE OBJECT lr_grid.
  
DATA wa_kna1 TYPE kna1.
  
SELECT SINGLE * FROM kna1 INTO wa_kna1 WHERE kunnr = ls_input-soldtoparty.

  lr_value1 = lr_grid->create_text( row = 
1 column = 2 text = ' ' ).

  lr_value = lr_grid->create_label( row = 
1 column = 1 text = 'Open Sales Orders' r_label_for = lr_value1 ).

  lr_value1 = lr_grid->create_text( row = 
2 column = 2 text = ls_input-soldtoparty ).
  lr_value = lr_grid->create_label( row = 
2 column = 1  text = 'Sold-To-Party:' r_label_for = lr_value1 ).
  lr_value1 = lr_grid->create_text( row = 
3 column = 2 text = wa_kna1-name1 ).
* lr_value = lr_grid->create_label( row = 2 column = 1  text = ' ' r_label_for = lr_value1 ).
  lr_value1 = lr_grid->create_text( row = 
4 column = 2 text = wa_kna1-ort01 ).
*  lr_value = lr_grid->create_label( row = 2 column = 1  text = ' ' r_label_for = lr_value1 ).

if wa_date-low is NOT INITIAL and wa_date-high is not INITIAL.
CONCATENATE wa_date-low 'To' wa_date-high into v_text SEPARATED BY space.
  lr_value1 = lr_grid->create_text( row = 
5 column = 2 text = v_text ).
  lr_value = lr_grid->create_label( row = 
5 column = 1  text = 'Doc. Date:' r_label_for = lr_value1 ).
endif.
  lo_nd_top_of_list = wd_context->get_child_node( 
'TOP_OF_LIST' ).
  lo_nd_top_of_list->set_attribute( 
value = lr_grid name = 'CONTENT' ).

  l_value->if_salv_wd_table_settings~set_top_of_list_visible( 
value = abap_true ).
* **********************************
* Code for Messages
*   get message manager
  
DATA lo_api_controller     TYPE REF TO if_wd_controller.
  
DATA lo_message_manager    TYPE REF TO if_wd_message_manager.

  lo_api_controller ?= wd_this->wd_get_api( ).

  
CALL METHOD lo_api_controller->get_message_manager
    RECEIVING
      message_manager = lo_message_manager.
* ***************************************

  
TYPESBEGIN OF t_vbak,
         vbeln 
TYPE vbeln_va,
         erdat 
TYPE erdat,
         ernam 
TYPE ernam,
         vkorg 
TYPE vkorg,
         vkbur 
TYPE vkbur,
         vdatu 
TYPE edatu_vbak,
         
END OF t_vbak.
  
TYPESBEGIN OF t_vbap,
         vbeln 
TYPE vbeln_va,
         posnr 
TYPE posnr,
         matnr 
TYPE matnr,
         meins 
TYPE meins,
         kwmeng 
TYPE kwmeng,
         netpr 
TYPE netpr,
         
END OF t_vbap.
  
TYPESBEGIN OF t_makt,
         matnr 
TYPE matnr,
         maktx 
TYPE maktx,
         
END OF t_makt.

  
TYPESBEGIN OF t_temp_vbap,
         vbeln 
TYPE vbeln_va,
         
END OF t_temp_vbap.

  
TYPESBEGIN OF t_final,
         vdatu 
TYPE edatu_vbak,
         vbeln 
TYPE vbeln_va,
         posnr 
TYPE posnr,
         matnr 
TYPE matnr,
         maktx 
TYPE maktx,
         zmeng 
TYPE kwmeng,
         meins 
TYPE meins,
         netpr 
TYPE netpr,
         erdat 
TYPE erdat,
         ernam 
TYPE ernam,
         vkorg 
TYPE vkorg,
         vkbur 
TYPE vkbur,
         
END OF t_final.

  
TYPESBEGIN OF t_top,
         content 
TYPE string,
         
END OF t_top.

  
DATA: it_vbak TYPE TABLE OF t_vbak, wa_vbak TYPE t_vbak,
        it_vbap 
TYPE TABLE OF t_vbap, wa_vbap TYPE t_vbap,
        it_makt 
TYPE TABLE OF t_makt, wa_makt TYPE t_makt,
        it_temp_vbap 
TYPE TABLE OF t_temp_vbap, wa_temp_vbap TYPE t_temp_vbap,
        it_final 
TYPE TABLE OF t_final, wa_final TYPE t_final,
        
index TYPE i,
        wa_knvv 
TYPE knvv,
*        wa_kna1 type kna1,
        it_top 
TYPE TABLE OF t_top, wa_top TYPE t_top.
********************************************
* checking whether sold to party is intial or not.
* if initial raises error message
  
IF ls_input-soldtoparty IS INITIAL.
*   report message
    
CALL METHOD lo_message_manager->report_error_message
      
EXPORTING
        message_text             = 
'Please Enter Value for Sold To Party'
*      params                   =
*      msg_user_data            =
*      is_permanent             = ABAP_FALSE
*      scope_permanent_msg      = CO_MSG_SCOPE_CONTROLLER
*      view                     =
*      show_as_popup            =
*      controller_permanent_msg =
*      msg_index                =
*      cancel_navigation        =
*    receiving
*      message_id               =
        .

  
ELSE.

    
SELECT SINGLE * FROM knvv INTO wa_knvv WHERE kunnr = ls_input-soldtoparty.


    wa_top-content = 
'Open Sales Orders'.
    
APPEND wa_top TO it_top.

    
CONCATENATE 'Sold-To-Party' wa_kna1-kunnr INTO wa_top-content SEPARATED BY space.
    
APPEND wa_top TO it_top.

    wa_top-content = wa_kna1-name1.
    
APPEND wa_top TO it_top.

    wa_top-content = wa_kna1-ort01.
    
APPEND wa_top TO it_top.



    
IF <fs_date> IS INITIAL.

      
IF ls_input-matnr IS INITIAL AND ls_input-bstnk IS INITIAL.
        
SELECT vbeln
               erdat
               ernam
               vkorg
               vkbur
               vdatu 
FROM vbak INTO TABLE it_vbak WHERE kunnr = ls_input-soldtoparty AND
                                                        vkorg = wa_knvv-vkorg 
AND
                                                        vkbur = wa_knvv-vkbur.
      
ELSEIF ls_input-matnr IS NOT INITIAL AND ls_input-bstnk IS INITIAL.
        
SELECT vbeln FROM vbap INTO TABLE it_temp_vbap WHERE matnr = ls_input-matnr.
        
SORT it_temp_vbap.
        
DELETE ADJACENT DUPLICATES FROM it_temp_vbap.

        
SELECT vbeln
               erdat
               ernam
               vkorg
               vkbur
               vdatu 
FROM vbak INTO TABLE it_vbak FOR ALL ENTRIES IN it_temp_vbap
                                                  
WHERE vbeln = it_temp_vbap-vbeln AND
                                                        kunnr = ls_input-soldtoparty 
AND
                                                        vkorg = wa_knvv-vkorg 
AND
                                                        vkbur = wa_knvv-vkbur.

      
ELSEIF ls_input-matnr IS INITIAL AND ls_input-bstnk IS NOT INITIAL.
        
SELECT vbeln
               erdat
               ernam
               vkorg
               vkbur
               vdatu 
FROM vbak INTO TABLE it_vbak
                                                  
WHERE bstnk = ls_input-bstnk AND
                                                        kunnr = ls_input-soldtoparty 
AND
                                                        vkorg = wa_knvv-vkorg 
AND
                                                        vkbur = wa_knvv-vkbur.
      
ENDIF.

    
ELSE.

      
IF ls_input-matnr IS INITIAL AND ls_input-bstnk IS INITIAL.

        
SELECT vbeln
               erdat
               ernam
               vkorg
               vkbur
               vdatu 
FROM vbak INTO TABLE it_vbak WHERE erdat IN <fs_date> AND
                                                        kunnr = ls_input-soldtoparty 
AND
                                                        vkorg = wa_knvv-vkorg 
AND
                                                        vkbur = wa_knvv-vkbur.

      
ELSEIF ls_input-matnr IS NOT INITIAL AND ls_input-bstnk IS INITIAL.

        
SELECT vbeln FROM vbap INTO TABLE it_temp_vbap WHERE matnr = ls_input-matnr.
        
SORT it_temp_vbap.
        
DELETE ADJACENT DUPLICATES FROM it_temp_vbap.

        
SELECT vbeln
               erdat
               ernam
               vkorg
               vkbur
               vdatu 
FROM vbak INTO TABLE it_vbak FOR ALL ENTRIES IN it_temp_vbap
                                                  
WHERE vbeln = it_temp_vbap-vbeln AND
                                                        erdat 
IN <fs_date> AND
                                                        kunnr = ls_input-soldtoparty 
AND
                                                        vkorg = wa_knvv-vkorg 
AND
                                                        vkbur = wa_knvv-vkbur.

      
ELSEIF ls_input-matnr IS INITIAL AND ls_input-bstnk IS NOT INITIAL.

        
SELECT vbeln
               erdat
               ernam
               vkorg
               vkbur
               vdatu 
FROM vbak INTO TABLE it_vbak WHERE erdat IN <fs_date> AND
                                                        bstnk = ls_input-bstnk 
AND
                                                        kunnr = ls_input-soldtoparty 
AND
                                                        vkorg = wa_knvv-vkorg 
AND
                                                        vkbur = wa_knvv-vkbur.

      
ENDIF.
    
ENDIF.

    
IF it_vbak IS NOT INITIAL.
      
CLEAR it_temp_vbap[].
      
SELECT vbeln FROM vbuk INTO TABLE it_temp_vbap FOR ALL ENTRIES IN it_vbak
                                                     
WHERE vbeln = it_vbak-vbeln
                                                     
AND lfgsk = 'A'.


      
IF it_temp_vbap IS INITIAL.
        wd_context->set_attribute( 
EXPORTING name = 'VIS1' value = 01 ).
        wd_context->set_attribute( 
EXPORTING name = 'VIS2' value = 02 ).

      
ELSE.

        
LOOP AT it_vbak INTO wa_vbak.
          
READ TABLE it_temp_vbap INTO wa_temp_vbap WITH KEY vbeln = wa_vbak-vbeln.
          
IF sy-subrc NE 0.
            
DELETE TABLE it_vbak FROM wa_vbak.
          
ENDIF.
        
ENDLOOP.

        
IF ls_input-matnr IS NOT INITIAL.
          
SELECT vbeln
                 posnr
                 matnr
                 meins
                 kwmeng
                 netpr 
FROM vbap INTO TABLE it_vbap FOR ALL ENTRIES IN it_vbak
                                                    
WHERE vbeln = it_vbak-vbeln AND matnr = ls_input-matnr.
        
ELSE.
          
SELECT vbeln
                 posnr
                 matnr
                 meins
                 kwmeng
                 netpr 
FROM vbap INTO TABLE it_vbap FOR ALL ENTRIES IN it_vbak
                                                    
WHERE vbeln = it_vbak-vbeln.
        
ENDIF.
        
SELECT matnr maktx FROM makt INTO TABLE it_makt FOR ALL ENTRIES IN it_vbap
                                                  
WHERE matnr = it_vbap-matnr AND spras = 'E'.
        
SORT: it_vbak BY vbeln, it_vbap BY vbeln.

        
LOOP AT it_vbak INTO wa_vbak.

          
READ TABLE it_vbap INTO wa_vbap WITH KEY vbeln = wa_vbak-vbeln.
          
index = sy-tabix.

          
LOOP AT it_vbap INTO wa_vbap FROM index.

            
IF wa_vbap-vbeln = wa_vbak-vbeln.
              
READ TABLE it_makt INTO wa_makt WITH KEY matnr = wa_vbap-matnr.

              wa_final-matnr = wa_vbap-matnr.
              wa_final-vdatu = wa_vbak-vdatu.
              wa_final-vbeln = wa_vbak-vbeln.
              wa_final-posnr = wa_vbap-posnr.

              wa_final-maktx = wa_makt-maktx.
              wa_final-zmeng = wa_vbap-kwmeng.
              wa_final-meins = wa_vbap-meins.
              wa_final-netpr = wa_vbap-netpr.
              wa_final-erdat = wa_vbak-erdat.
              wa_final-ernam = wa_kna1-Name1.
              wa_final-vkorg = wa_vbak-vkorg.
              wa_final-vkbur = wa_vbak-vkbur.
              
APPEND wa_final TO it_final.
            
ELSE.
              
EXIT.
            
ENDIF.

          
ENDLOOP.

        
ENDLOOP.
        lo_nd_output->invalidate( ).
*      LO_ND_TOP_OF_LIST->INVALIDATE( ).
        lo_nd_output->bind_table( it_final ).
*      lo_nd_top_of_list->bind_table( it_top ).
        wd_context->set_attribute( 
EXPORTING name = 'VIS1' value = 01 ).
        wd_context->set_attribute( 
EXPORTING name = 'VIS2' value = 02 ).
      
ENDIF.

    
ELSE.
      lo_nd_output->invalidate( ).
*            LO_ND_TOP_OF_LIST->INVALIDATE( ).
*            lo_nd_top_of_list->bind_table( it_top ).
      wd_context->set_attribute( 
EXPORTING name = 'VIS1' value = 01 ).
      wd_context->set_attribute( 
EXPORTING name = 'VIS2' value = 02 ).
    
ENDIF.


  
ENDIF.

Action Back or Using PushButton ‘Back’:

 wd_context->set_attribute( exportiNg name = 'VIS1' VALUE = 02 ).
 wd_context->set_attribute( 
exportiNg name = 'VIS2' VALUE = 01 ).

1 comment: