======== Busca características de uma classe.
CALL FUNCTION 'BAPI_CLASS_GET_CHARACTERISTICS'
EXPORTING
classnum = f_classnum "Nome da classe
classtype = '023' "Tipo da classe
TABLES
characteristics = gt_charact
char_values = gt_charact_val.
characteristics = Tabela retorna as características e tipos
char_values = Tabela com os valores fixos de uma característica
======== Buscar detalhes de um objeto
CLEAR gw_class_key.
CONCATENATE l_matnr f_charg INTO gw_class_key-object.
gw_class_key-objecttable = 'MCH1'.
gw_class_key-classnum = f_classnum. "Nome da Classe de objetos
gw_class_key-classtype = '023'.
CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
EXPORTING
objectkey = gw_class_key-object
objecttable = gw_class_key-objecttable
classnum = gw_class_key-classnum
classtype = gw_class_key-classtype
TABLES
allocvaluesnum = gt_num
allocvalueschar = gt_char
allocvaluescurr = gt_curr
return = gt_return.
============== Separação das características por tipo..
Tipos NUM e DATE para tabela allocvaluesnum
Tipo CHAR para tabela allocvalueschar
Tipo CURR para tabela allocvaluescurr
================ Alteração de classificação
CALL FUNCTION 'BAPI_OBJCL_CHANGE'
EXPORTING
objectkey = l_object
objecttable = 'MCH1'
classnum = l_classnum
classtype = l_classtype
keydate = sy-datum
TABLES
allocvaluesnumnew = lt_num_charac
allocvaluescharnew = lt_chr_charac
allocvaluescurrnew = lt_cur_charac
return = lt_return.
============= exemplo
CASE lw_charact-data_type.
WHEN 'CHAR'.
lw_allocvaluescharnew-charact = ls_comp-name.
lw_allocvaluescharnew-value_char = <fs_comp>.
APPEND lw_allocvaluescharnew TO lt_chr_charac.
WHEN 'NUM' OR 'DATE'.
lw_allocvaluesnumnew-charact = ls_comp-name.
lw_allocvaluesnumnew-value_from = <fs_comp>.
lw_allocvaluesnumnew-value_to = <fs_comp>.
APPEND lw_allocvaluesnumnew TO lt_num_charac.
WHEN 'CURR'.
lw_allocvaluescurrnew-charact = ls_comp-name.
lw_allocvaluescurrnew-value_from = <fs_comp>.
lw_allocvaluescurrnew-value_to = <fs_comp>.
APPEND lw_allocvaluescurrnew TO lt_cur_charac.
ENDCASE.
Nenhum comentário:
Postar um comentário