You are on page 1of 4

METHOD zii_si_sas_arc_purchase_rate_c~si_sas_arc_purchase_rate_contr.

*** **** INSERT IMPLEMENTATION HERE **** ***

DATA lt_pur TYPE zdt_sas_arc_purchase_rate_tab1.


DATA ls_pur TYPE zdt_sas_arc_purchase_rate_con1.

DATA lt_pur1 TYPE zdt_sas_arc_purchase_rate_tab1.


DATA ls_pur1 TYPE zdt_sas_arc_purchase_rate_con1.

DATA lt_return TYPE zdt_sas_arc_purchase_rate__tab.


DATA ls_return TYPE zdt_sas_arc_purchase_rate_cont.

DATA: lt_status TYPE STANDARD TABLE OF zpi_call_status,


ls_status TYPE zpi_call_status.

DATA: v_message_text TYPE string,


msg_txt(150) TYPE c.

DATA: program TYPE bdc_prog,


dynpro TYPE bdc_dynr,
fnam TYPE fnam_____4,
fval TYPE bdc_fval.

DATA: it_bdcdata TYPE STANDARD TABLE OF bdcdata INITIAL SIZE 0,


wa_bdcdata TYPE bdcdata,
gt_mesgtab TYPE STANDARD TABLE OF bdcmsgcoll,

it_bdcmsgcoll TYPE STANDARD TABLE OF bdcmsgcoll INITIAL SIZE 0 ,


wa_bdcmsgcoll TYPE bdcmsgcoll.

DATA : l_vendor_no TYPE bdcdata-fval,


aggr_type TYPE bdcdata-fval,
aggr_data TYPE bdcdata-fval,
prch_org TYPE bdcdata-fval,
pur_grp TYPE bdcdata-fval,
plant TYPE bdcdata-fval,
st_loc TYPE bdcdata-fval,
validaty_end TYPE bdcdata-fval,
terms_p TYPE bdcdata-fval,
tar_val TYPE bdcdata-fval,
dept_no TYPE bdcdata-fval,
mat_no TYPE bdcdata-fval,
quan TYPE bdcdata-fval,
price TYPE bdcdata-fval.

lt_pur = input-mt_sas_arc_purchase_rate_contr-purchase_rate_contract.

lt_pur1[] = lt_pur[].

CALL FUNCTION 'ZME31K_SAS'


EXPORTING
ctu = 'X'
mode = 'N'
update = 'L'
* GROUP =
* USER =
* KEEP =
* HOLDDATE =
* NODATA = '/'
* lifnr_001 = l_vendor_no "'TEST SUPER'
* evart_002 = aggr_type "'ZW'
* vedat_003 = aggr_data "'04.11.2014'
* ekorg_004 = 'MJPO'
* ekgrp_005 = 'SUP'
* werks_006 = plant "'MJ05'
* lgort_007 = ''
* ekgrp_008 = 'SUP'
* pincr_009 = '10'
* upinc_010 = '1'
* kdatb_011 = aggr_data "'04.11.2014'
* kdate_012 = validaty_end "'28102015'
* spras_013 = 'EN'
* zterm_014 = terms_p "'0002'
* ktwrt_015 = tar_val "'100.00'
* waers_016 = 'INR'
* zbd1t_017 = '14'
* zbd1p_018 = '2.000'
* wkurs_019 = ' 1.00000'
* zbd2t_020 = '30'
* zzdeptnr_021 = dept_no "'002'
* ematn_01_022 = mat_no "'LAMP 40WBAJAJ'
* ktmng_01_023 = quan "'20.000'
* netpr_01_024 = price "'90.00'
ls_pur = ls_pur
lt_pur = lt_pur
lt_pur1 = lt_pur1
ls_pur1 = ls_pur1

* EBELP_025 = '10'
* IMPORTING
* SUBRC =
TABLES
messtab = it_bdcmsgcoll
.

* ENDLOOP.

IF it_bdcmsgcoll IS NOT INITIAL.


LOOP AT it_bdcmsgcoll INTO wa_bdcmsgcoll.
READ TABLE lt_pur INDEX 1 INTO ls_pur.
wa_bdcmsgcoll-msgv4 = ls_pur-reference_no.
APPEND wa_bdcmsgcoll TO gt_mesgtab.
CLEAR wa_bdcmsgcoll.
ENDLOOP.
CLEAR: it_bdcmsgcoll, wa_bdcmsgcoll.
ENDIF.

DELETE gt_mesgtab WHERE msgtyp = 'S' AND msgv1 IS INITIAL.


DELETE gt_mesgtab WHERE msgtyp = 'I'.
LOOP AT gt_mesgtab INTO wa_bdcmsgcoll.

CALL FUNCTION 'FORMAT_MESSAGE'


EXPORTING
id = wa_bdcmsgcoll-msgid
lang = sy-langu
no = wa_bdcmsgcoll-msgnr
v1 = wa_bdcmsgcoll-msgv1
v2 = wa_bdcmsgcoll-msgv2
v3 = wa_bdcmsgcoll-msgv3
v4 = wa_bdcmsgcoll-msgv4
IMPORTING
msg = msg_txt
EXCEPTIONS
not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

ls_status-scope_ref_no = ls_pur-reference_no.
ls_status-seq_no = 0.
ls_status-ints_name = 'VEN RC'.

IF wa_bdcmsgcoll-msgtyp EQ 'E' OR wa_bdcmsgcoll-msgtyp EQ 'A'.

ls_return-mj_create_success = '0'.
ls_return-reference_no = ls_pur-reference_no.
ls_return-return_messages = msg_txt.
ls_return-cond_ref_num = '00'.
ls_status-seq_no = ls_status-seq_no + 1.
ls_status-status = ls_return-mj_create_success.
ls_status-resp_text1 = msg_txt. "ls_return-return_messages.
APPEND: ls_return TO lt_return,
ls_status TO lt_status.
CLEAR : ls_return, ls_status-status, ls_status-resp_text1.

ELSEIF wa_bdcmsgcoll-msgtyp EQ 'S'.


CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.

ls_return-mj_create_success = '1'.
ls_return-reference_no = wa_bdcmsgcoll-msgv4. "ls_vendorcreate_data-
vendor_master_ref.
ls_return-cond_ref_num = wa_bdcmsgcoll-msgv2.
CONCATENATE 'Purchase Contract' wa_bdcmsgcoll-msgv2 'has been created
successfully' INTO ls_return-return_messages
SEPARATED BY space.

ls_status-seq_no = ls_status-seq_no + 1.
ls_status-status = ls_return-mj_create_success.
ls_status-resp_text1 = msg_txt. "ls_return-return_messages. "'Vendor has
been created successfully'.
APPEND: ls_return TO lt_return,
ls_status TO lt_status.
CLEAR : ls_return, ls_status-status, ls_status-resp_text1.
ELSE.
ENDIF.

ENDLOOP.

IF lt_return IS NOT INITIAL.


output-mt_sas_arc_purchase_rate_contr-purchase_rate_contract[] = lt_return[].
ENDIF.
IF lt_status IS NOT INITIAL.
MODIFY zpi_call_status FROM TABLE lt_status.
CLEAR lt_status.
ENDIF.

ENDMETHOD.
"zii_si_sas_arc_purchase_rate_c~si_sas_arc_purchase_rate_contr

LS_OUT1-S_MATERIAL_MASTER_REQ_MT-MATERIAL_DETAILS[1]-MATERIALS

MATERIAL_NO
osb2344,-dinesh

You might also like