Creation Of Purchase Info Record Using BAPI 'ME_INFORECORD_MAINTAIN'
REPORT zcm_dummy_program.
DATA : lt_table
TYPE TABLE OF zssp_if_213_price_master_info,
lt_cond_validity TYPE TABLE OF mewivalidity,
lr_cond_validity TYPE mewivalidity,
lt_condition TYPE
TABLE OF mewicondition,
lr_condition TYPE
mewicondition,
lr_eina TYPE mewieina,
lr_einax TYPE mewieinax,
lr_eine TYPE mewieine,
lr_einex TYPE mewieinex,
lr_eina_ex TYPE
mewieina,
lr_eine_ex TYPE
mewieine,
lt_return TYPE mewi_t_return,
lf_error_text TYPE
char200,
lf_lifnr TYPE lifnr,
lf_matnr TYPE matnr.
" Convert Supplier into
internal format.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = '100103301'
IMPORTING
output = lf_lifnr. " lf_lifnr = '0100103301'
" Convert Material into
internal format.
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
EXPORTING
input = 'CL0120-0259-5-73-058'
IMPORTING
output = lf_matnr
EXCEPTIONS
length_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error
handling here
ENDIF.
lr_eina-vendor = lf_lifnr.
lr_eina-material =
lf_matnr.
" Update X for change
parameters
lr_einax-vendor =
abap_true.
lr_einax-material =
abap_true.
lr_eine-currency
= 'JPY'.
lr_eine-plant = '1031'.
lr_eine-purch_org =
'1030'.
lr_eine-nrm_po_qty = '1'.
lr_eine-plnd_delry = '1'.
" Update X for change
parameters
lr_einex-currency
= abap_true.
lr_einex-plnd_delry = abap_true.
lr_einex-plant = abap_true.
lr_einex-purch_org =
abap_true.
lr_einex-nrm_po_qty = abap_true.
" Passing values to condition
validity table
lr_cond_validity-valid_from = sy-datum.
lr_cond_validity-valid_to =
'99991231'.
lr_cond_validity-plant = '1031'.
APPEND lr_cond_validity TO lt_cond_validity.
" Passing values to condition
table
lr_condition-cond_type =
'PB00'.
lr_condition-cond_value = '10000'.
lr_condition-currency
= 'JPY'.
lr_condition-vendor_no =
lf_lifnr.
lr_condition-cond_p_unt = '100'.
APPEND lr_condition TO lt_condition.
CLEAR lt_return.
" Testrun for create purchase
info record
CALL FUNCTION 'ME_INFORECORD_MAINTAIN'
EXPORTING
i_eina = lr_eina
i_einax = lr_einax
i_eine = lr_eine
i_einex = lr_einex
testrun = 'X'
IMPORTING
e_eina = lr_eina_ex
e_eine = lr_eine_ex
TABLES
cond_validity = lt_cond_validity
condition =
lt_condition
return = lt_return.
READ TABLE lt_return INTO DATA(ls_return)
WITH KEY type = 'E'.
IF sy-subrc = 0.
*
Display Error Messages
ELSE.
CLEAR lt_return.
" Create Info Record.
CALL FUNCTION 'ME_INFORECORD_MAINTAIN'
EXPORTING
i_eina = lr_eina
i_einax = lr_einax
i_eine = lr_eine
i_einex = lr_einex
IMPORTING
e_eina = lr_eina_ex
e_eine = lr_eine_ex
TABLES
cond_validity = lt_cond_validity
condition =
lt_condition
return = lt_return.
IF sy-subrc = 0.
COMMIT WORK.
ENDIF.
WRITE: 'Info Record',lr_eina_ex-info_rec, 'Created for ', lr_eina_ex-vendor.
ENDIF.
CLEAR: lr_eina,
lr_eine, lr_einax, lr_einex, lr_eina_ex,
lr_eine_ex, lr_cond_validity.
Output:
Tables: EINA and EINE
T-code : ME13
Comments
Post a Comment