|
#1
|
|||
|
|||
Ejemplo
te paso un ejemplo para poder modificar proveedores en la parte de sociedad en la BP:
DATA: ls_data_prov TYPE vmds_ei_extern, ls_data_comp TYPE vmds_ei_company, ls_data_tax TYPE vmds_ei_wtax_type, ls_proveedor TYPE vmds_ei_main, ls_mensajes TYPE cvis_message, ls_mensaje TYPE bapiret2. DATA: lv_msg TYPE string. CLEAR: ls_data_prov, ls_data_comp, ls_data_tax, ls_proveedor, ls_mensajes. "Proveedor a modificar ls_data_prov-header-object_instance-lifnr = pf_lfbw-lifnr. ls_data_prov-header-object_task = 'M'. "Sociedad ls_data_comp-data_key-bukrs = pf_lfbw-bukrs. ls_data_comp-task = 'M'. "Datos de la retención a modificar ls_data_tax-data_key = pe_witht. ls_data_tax-task = pe_task."'M'. ls_data_tax-data-wt_subjct = pe_lfbw-wt_subjct. ls_data_tax-datax-wt_subjct = 'X'. ls_data_tax-data-qsrec = pe_lfbw-qsrec. ls_data_tax-datax-qsrec = 'X'. ls_data_tax-data-wt_withcd = pe_wt_withcd. ls_data_tax-datax-wt_withcd = 'X'. ls_data_tax-data-wt_exnr = pe_lfbw-wt_exnr. ls_data_tax-datax-wt_exnr = 'X'. ls_data_tax-data-wt_exrt = pe_lfbw-wt_exrt. ls_data_tax-datax-wt_exrt = 'X'. ls_data_tax-data-wt_exdf = pe_lfbw-wt_exdf. ls_data_tax-datax-wt_exdf = 'X'. ls_data_tax-data-wt_exdt = pe_lfbw-wt_exdt. ls_data_tax-datax-wt_exdt = 'X'. ls_data_tax-data-wt_wtexrs = pe_lfbw-wt_wtexrs. ls_data_tax-datax-wt_wtexrs = 'X'. APPEND: ls_data_tax TO ls_data_comp-wtax_type-wtax_type, ls_data_comp TO ls_data_prov-company_data-company, ls_data_prov TO ls_proveedor-vendors. CALL METHOD vmd_ei_api=>initialize( ). CLEAR: ls_mensajes. CALL METHOD vmd_ei_api=>maintain_bapi EXPORTING iv_test_run = space iv_collect_messages = 'X' is_master_data = ls_proveedor IMPORTING es_message_defective = ls_mensajes. IF ls_mensajes-is_error EQ 'X'. ps_status = icon_red_light. CLEAR ls_mensaje. READ TABLE ls_mensajes-messages INTO ls_mensaje WITH KEY id = 'E'. IF sy-subrc IS INITIAL. CLEAR lv_msg. CALL FUNCTION 'FORMAT_MESSAGE' EXPORTING id = ls_mensaje-id no = ls_mensaje-number v1 = ls_mensaje-message_v1 v2 = ls_mensaje-message_v2 v3 = ls_mensaje-message_v3 v4 = ls_mensaje-message_v4 IMPORTING msg = lv_msg EXCEPTIONS not_found = 1 OTHERS = 2. IF sy-subrc EQ 0. ps_result = lv_msg. ENDIF. ENDIF. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. ps_status = icon_green_light. ps_result = TEXT-016. REPLACE: '&1' IN ps_result WITH pe_lifnr, '&2' IN ps_result WITH gc_rg18. ENDIF. Espero que te sirva. Slds.
__________________
Sebas Desarrollador ABAP. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|