Simple report to add an allowed (CHAR) value to a characteristic using the BAPI method BAPI_CHARACT_CHANGE
*&---------------------------------------------------------------------* *&
Report ZSDN_CHARVALUE_ADD *& *&---------------------------------------------------------------------* *&
Simple report to add an allowed (CHAR) value to a characteristic *&
using method BAPI_CHARACT_CHANGE *&---------------------------------------------------------------------* REPORT
zsdn_charvalue_add LINE-SIZE 255 . DATA: return LIKE
bapiret2 OCCURS 0 , wa_ret
LIKE bapiret2, charactname
LIKE bapicharactkey-charactname, charactdetailnew
LIKE bapicharactdetail OCCURS 0 , char_detail
LIKE bapicharactdetail, charactdescrnew
LIKE bapicharactdescr OCCURS 0 , char_descr_new
LIKE bapicharactdescr, charactvaluescharnew
LIKE bapicharactvalueschar OCCURS 0 , char_val_char
LIKE bapicharactvalueschar, charactvaluesnumnew
LIKE bapicharactvaluesnum OCCURS 0 , char_val_num
LIKE bapicharactvaluesnum, charactvaluescurr
LIKE bapicharactvaluescurr OCCURS 0 , charactvaluesdescrnew
LIKE bapicharactvaluesdescr OCCURS 0 , charactvaluesdescr
LIKE bapicharactvaluesdescr , charactreferences
LIKE bapicharactreferences OCCURS 0 , charactrestrictions
LIKE bapicharactrestrictions OCCURS 0 . PARAMETERS:
charname TYPE rctav-atnam OBLIGATORY MATCHCODE OBJECT merk. charactname
= charname. CALL
FUNCTION 'BAPI_CHARACT_GETDETAIL' EXPORTING charactname
= charactname IMPORTING charactdetail
= char_detail TABLES charactdescr
= charactdescrnew charactvaluesnum
= charactvaluesnumnew charactvalueschar
= charactvaluescharnew charactvaluescurr
= charactvaluescurr charactvaluesdescr
= charactvaluesdescrnew charactreferences
= charactreferences charactrestrictions
= charactrestrictions return = return . *Character
format (CHAR): for characteristic
values that consist of a character string *Numeric
format (NUM): for numeric
characteristic values *Date
format (DATE): for characteristic
values that represent a date *Time
format (TIME): for characteristic
values that represent a time *Currency
format (CURR): for characteristic
values that are entered in a currency APPEND
char_detail TO charactdetailnew. CASE
char_detail-data_type. WHEN 'CHAR' . char_val_char-value_char
= 'SDN_TEST' . APPEND
char_val_char TO charactvaluescharnew. charactvaluesdescr-language_int
= sy-langu. WRITE
charactvaluesdescr-language_int TO charactvaluesdescr-language_iso. charactvaluesdescr-value_char
= 'SDN_TEST' . charactvaluesdescr-description
= 'Simple
SDN Test' . APPEND
charactvaluesdescr TO charactvaluesdescrnew. CALL
FUNCTION 'BAPI_CHARACT_CHANGE' EXPORTING charactname
= charactname TABLES charactdetailnew
= charactdetailnew charactdescrnew
= charactdescrnew *
charactvaluesnumnew = charactvaluesnumnew charactvaluescharnew
= charactvaluescharnew *
CHARACTVALUESCURRNEW charactvaluesdescrnew
= charactvaluesdescrnew *
CHARACTREFERENCESNEW *
CHARACTRESTRICTIONSNEW return = return . LOOP
AT return INTO
wa_ret WHERE type = 'A' OR
type = 'E' . EXIT. ENDLOOP. IF
sy-subrc <> 0 . CALL
FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait
= 'X' . ENDIF. LOOP
AT return INTO
wa_ret. WRITE:/
wa_ret-message. ENDLOOP. WHEN
OTHERS. ENDCASE. |