SAP BAPI BAPI OBJCL GETCLASSES
From SapWiki
*--------------------------------------------------------------------*
DEFINE mc_move_allocvalueschar.
*--------------------------------------------------------------------*
move ls_allocvalueschar-charact to gs_data-charact_&1.
move ls_allocvalueschar-value_char to gs_data-value_&1.
END-OF-DEFINITION.
*--------------------------------------------------------------------*
DEFINE mc_move_allocvaluescurr.
*--------------------------------------------------------------------*
move ls_allocvaluescurr-charact to gs_data-charact_&1.
call function 'CTBP_CONVERT_VALUE_INT_TO_EXT'
exporting
charactname = ls_allocvaluescurr-charact
value_from = ls_allocvaluescurr-value_from
value_to = ls_allocvaluescurr-value_to
value_relation = ls_allocvaluescurr-value_relation
* CHARACTDETAIL =
importing
value_external = ld_value_external
exceptions
charact_not_found = 1
no_authority = 2
wrong_data_type = 3
internal_error = 4
wrong_input = 5
wrong_format = 6
others = 7
.
if sy-subrc <> 0.
clear ld_value_external.
endif.
move ld_value_external to gs_data-value_&1.
END-OF-DEFINITION.
*--------------------------------------------------------------------*
DEFINE mc_move_allocvaluesnum.
*--------------------------------------------------------------------*
move ls_allocvaluesnum-charact to gs_data-charact_&1.
call function 'CTBP_CONVERT_VALUE_INT_TO_EXT'
exporting
charactname = ls_allocvaluesnum-charact
value_from = ls_allocvaluesnum-value_from
value_to = ls_allocvaluesnum-value_to
value_relation = ls_allocvaluesnum-value_relation
* CHARACTDETAIL =
importing
value_external = ld_value_external
exceptions
charact_not_found = 1
no_authority = 2
wrong_data_type = 3
internal_error = 4
wrong_input = 5
wrong_format = 6
others = 7
.
if sy-subrc <> 0.
clear ld_value_external.
endif.
move ld_value_external to gs_data-value_&1.
END-OF-DEFINITION.
FORM select_data.
DATA: lt_alloclist TYPE TABLE OF bapi1003_alloc_list,
lt_allocvalueschar TYPE TABLE OF bapi1003_alloc_values_char,
lt_allocvaluescurr TYPE TABLE OF bapi1003_alloc_values_curr,
lt_allocvaluesnum TYPE TABLE OF bapi1003_alloc_values_num,
lt_bapireturn LIKE TABLE OF bapiret2,
ls_alloclist LIKE LINE OF lt_alloclist,
ls_allocvalueschar TYPE bapi1003_alloc_values_char,
ls_allocvaluescurr TYPE bapi1003_alloc_values_curr,
ls_allocvaluesnum TYPE bapi1003_alloc_values_num,
ld_object TYPE bapi1003_key-object,
ld_cont(2) TYPE n,
ld_value_external TYPE atwrt.
SELECT equnr
INTO CORRESPONDING FIELDS OF TABLE gT_equipos
FROM v_equi
WHERE equnr IN s_equnr
AND eqtyp IN s_eqtyp
AND swerk IN s_swerk.
LOOP AT gt_equipos INTO gs_equipos.
CLEAR: lt_alloclist[],
lt_allocvalueschar[],
lt_allocvaluescurr[],
lt_allocvaluesnum[].
CLEAR gs_data.
ld_object = gs_equipos-equNR.
CALL FUNCTION 'BAPI_OBJCL_GETCLASSES'
EXPORTING
objectkey_imp = ld_object
objecttable_imp = 'EQUI'
classtype_imp = '002'
* READ_VALUATIONS =
* KEYDATE = SY-DATUM
* LANGUAGE = SY-LANGU
TABLES
alloclist = lt_alloclist
allocvalueschar = lt_allocvalueschar
allocvaluescurr = lt_allocvaluescurr
allocvaluesnum = lt_allocvaluesnum
return = lt_bapireturn
.
LOOP AT lt_alloclist INTO ls_alloclist.
gs_data-classnum = ls_alloclist-classnum.
gs_data-classtype = ls_alloclist-classtype.
ENDLOOP.
CHECK SY-SUBRC = 0.
ld_cont = 1.
LOOP AT lt_allocvalueschar INTO ls_allocvalueschar.
CASE ld_cont.
WHEN 1.
mc_move_allocvalueschar 01.
WHEN 2.
mc_move_allocvalueschar 02.
WHEN 3.
mc_move_allocvalueschar 03.
WHEN 4.
mc_move_allocvalueschar 04.
WHEN 5.
mc_move_allocvalueschar 05.
WHEN 6.
mc_move_allocvalueschar 06.
WHEN 7.
mc_move_allocvalueschar 07.
ENDCASE.
ADD 1 TO ld_cont.
ENDLOOP.
LOOP AT lt_allocvaluescurr INTO ls_allocvaluescurr.
CASE ld_cont.
WHEN 1.
mc_move_allocvaluescurr 01.
WHEN 2.
mc_move_allocvaluescurr 02.
WHEN 3.
mc_move_allocvaluescurr 03.
WHEN 4.
mc_move_allocvaluescurr 04.
WHEN 5.
mc_move_allocvaluescurr 05.
WHEN 6.
mc_move_allocvaluescurr 06.
WHEN 7.
mc_move_allocvaluescurr 07.
ENDCASE.
ADD 1 TO ld_cont.
ENDLOOP.
LOOP AT lt_allocvaluesnum INTO ls_allocvaluesnum.
CASE ld_cont.
WHEN 1.
mc_move_allocvaluesnum 01.
WHEN 2.
mc_move_allocvaluesnum 02.
WHEN 3.
mc_move_allocvaluesnum 03.
WHEN 4.
mc_move_allocvaluesnum 04.
WHEN 5.
mc_move_allocvaluesnum 05.
WHEN 6.
mc_move_allocvaluesnum 06.
WHEN 7.
mc_move_allocvaluesnum 07.
ENDCASE.
ADD 1 TO ld_cont.
ENDLOOP.
APPEND gs_data TO gt_data.
ENDLOOP.
ENDFORM. "select_data