Inserindo valor em Grid com BOL – CRM 2007

11, agosto 2009 às 10:20 pm | Publicado em ABAP-SAP | Deixe um comentário
Tags: , , , ,
DATA: o_gridaquecedor TYPE REF TO cl_bsp_wd_value_node,
o_gridaquecedor_col TYPE REF TO  cl_crm_bol_bo_col,”if_bol_bo_col.
o_grid TYPE REF TO zisfi_sintese.
CREATE DATA o_grid.
CREATE OBJECT o_gridaquecedor_col.
o_gridaquecedor ?= me->typed_context->gridaquecedor->collection_wrapper->get_current( ).
o_gridaquecedor_col->if_bol_bo_col~add( o_gridaquecedor ).
op_topartidasabertas( o_gridaquecedor_col ).

Neste exemplo iremos criar um método com o nome INSERT_ENTITY_GRID, este método terá a função de atribuir uma work area recebida como parâmetro (wa_grid)  em um grid construído com nó de valor.

Nossa work area e do tipo da estrutura Z, Zestrutura.

O Nome do meu nó de valor com o grid, chama GRID.

Este método pode ser disparado de um método da classe de implementação (class de controle da View, normalmente com o final IMPL), um método que recomendo para fazer esta chamada e o DO_PREPARE_OUTPUT .

Segue o método para alimentar o grid com a work area.

METHOD insert_entity_grid.

DATA: o_new_line TYPE REF TO cl_bsp_wd_value_node,

o_zestrutura TYPE REF TO Zestrutura.

CREATE DATA o_zestrutura.

CREATE OBJECT o_new_line

EXPORTING

iv_data_ref = o_zestrutura.

o_new_line->if_bol_bo_property_access~set_properties( is_attributes = wa_grid ).

me->typed_context->grid->collection_wrapper->if_bol_bo_col~add( iv_entity = o_new_line ).

ENDMETHOD.

É apenas o exemplo de um método, mas caso queira preencher todo o grid com os valores de uma tabela interna também seria possível desta maneira:

loop at t_grid into wa_grid.

me->insert_entity_grid( wa_grid ).

endloop.

Abraço,

Mauro Cesar Silva Laranjeira

Blog no WordPress.com.
Entries e comentários feeds.