Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

BAPI for transaction ME11 and ME12

Former Member
0 Kudos
10,387

Hi All,

My requirement is to upload data for Purchase price, for which I require BAPI on transaction ME11 and ME12. Please suggest are BAPI available for these tcodes or shall I write BDC on it?

1 ACCEPTED SOLUTION

Former Member
0 Kudos
2,051

Hi,

Check these fm.

ME_MAINTAIN_INFORECORD

ME_UPDATE_INFORECORD

ME_GET_INFORECORD_CONDITIONS

ME_PRICING_INFORECORD.

if they dont serve for ur cause then go with Bdc.

Regards,

Dwarakanath.S

6 REPLIES 6

Former Member
0 Kudos
2,052

Hi,

Check these fm.

ME_MAINTAIN_INFORECORD

ME_UPDATE_INFORECORD

ME_GET_INFORECORD_CONDITIONS

ME_PRICING_INFORECORD.

if they dont serve for ur cause then go with Bdc.

Regards,

Dwarakanath.S

GauthamV
Active Contributor
0 Kudos
2,051

Hi,

Check these function modules.

ME_DIRECT_INPUT_INFORECORD

ME_POST_INFORECORD.

0 Kudos
2,051

Hi,

For example usage of functions check this link:

http://scnblogs.techweb.com.cn/yangrisheng/archives/category/mm

Former Member
0 Kudos
2,051

Loong back I had written BDC for ME11 - 12. I was not able to do it with BAPI. possibly I was new & may have not tried hard enough

0 Kudos
2,051

i guess BDC is better option for ME11.

cristian_tr
Newcomer
0 Kudos
1,839

good morning, I am trying to modify a record where the info-rec already exists, I pass it as a parameter in the EINA and EINE structure but it tells me that the record already exists, maybe I am passing it wrong, can you give me a hand to know how it works both the registration and the modification?
I would appreciate it very much!

LOOP AT tabla_funcion_t_excel into VL_R_EXCEL. "SE HACE UN LOOP PARA CADA UNO DE LOS REGISTROS DE EXCEL

Clear IMP_EINA. "LIMPIAMOS LA ESTRUCTURA

CLEAR IMP_EINE. "LIMPIAMOS LA ESTRUCTURA

 

IMP_EINA-VENDOR = VL_R_EXCEL-LIFNR. "PASAMOS EL DATO PROVEEDOR

IMP_EINA-MATERIAL = VL_R_EXCEL-MATNR. "PASAMOS EL DATO MATERIAL

IMP_EINA-PO_UNIT = VL_R_EXCEL-KMEIN. "PASAMOS EL DATO UNIDAD DE MEDIDA

IMP_EINA-VEND_MAT = VL_R_EXCEL-IDNLF. "PASAMOS EL DATO NUMERO ARTICULO PROVEEDOR

IMP_EINA-REGION = VL_R_EXCEL-REGIO. "PASAMOS EL DATO REGION

IMP_EINE-ORDERPR_UN = VL_R_EXCEL-KPEIN. "PASAMOS EL DATO UNIDAD MEDIDA PEDIDO

IMP_EINE-PLND_DELRY = VL_R_EXCEL-APLFZ. "PASAMOS EL DATO PLAZO ENTREGA PEDIDO

IMP_EINE-NRM_PO_QTY = VL_R_EXCEL-NORBM. "PASAMOS EL DATO CANTIDAD PEDIDO ESTANDAR

IMP_EINE-MIN_PO_QTY = VL_R_EXCEL-MINBM. "PASAMOS EL DATO CANTIDAD MINIMA PEDIDO

IMP_EINE-UNDER_TOL = VL_R_EXCEL-UNTTO. "PASAMOS EL DATO LIMITE TOLERANCIA

IMP_EINE-OVERDELTOL = VL_R_EXCEL-UEBTO. "PASAMOS EL DATO LIMITE EXCESO

IMP_EINE-INCOTERMS1 = VL_R_EXCEL-INCO1. "PASAMOS EL DATO INCOTERMS 1

IMP_EINE-INCOTERMS2 = VL_R_EXCEL-INCO2. "PASAMOS EL DATO INCOTERMS 2

IMP_EINE-INCOTERMSV = VL_R_EXCEL-INCOV. "PASAMOS EL DATO VERSION INCOTERMS

IMP_EINE-INCOTERMS2L = VL_R_EXCEL-INCO2_L. "PASAMOS EL DATO UBICACION INCOTERMS

IMP_EINE-PURCH_ORG = '2000'. "VALOR (A FUTURO MODIFICABLE) ORGANIZACION COMPRAS

IMP_EINE-PLANT = '2000'. "VALOR (A FUTURO MODIFICABLE) CENTRO

IMP_EINE-PUR_GROUP = '002'. "VALOR (A FUTURO MODIFICABLE) GRUPO DE COMPRAS

IMP_EINE-NET_PRICE = VL_R_EXCEL-KBETR. "PASAMOS EL DATO PRECIO NETO

 

IMP_BAPI_VENDOR = VL_R_EXCEL-LIFNR. "PASAMOS EL VALOR PROVEEDOR PARA BAPI 'BAPI_INFORECORD_GETLIST'

IMP_BAPI_MATERIAL = VL_R_EXCEL-MATNR. "PASAMOS EL VALOR MATERIAL PARA BAPI 'BAPI_INFORECORD_GETLIST'

 

CALL FUNCTION 'BAPI_INFORECORD_GETLIST' "LLAMAMOS A LA FUNCIÓN

EXPORTING

VENDOR = IMP_BAPI_VENDOR

MATERIAL = IMP_BAPI_MATERIAL

TABLES

INFORECORD_GENERAL = INFORECORD_REGISTRO_COMPRAS.

 

LOOP AT INFORECORD_REGISTRO_COMPRAS INTO DATA(RECORRER_INFORECORD). "RECOGEMOS EL NUMERO DE INFORECORD

IF RECORRER_INFORECORD-INFO_REC <> ''. "SI TIENE INFORMACIÓN ES QUE EXISTE UN INFORECORD CON ESE PROVEEDOR Y ARTICULO

IMP_EINA-INFO_REC = RECORRER_INFORECORD-INFO_REC. "PASAMOS EL DATO INFORECORD A LA ESTRUCTURA EINA

IMP_EINE-INFO_REC = RECORRER_INFORECORD-INFO_REC. "PASAMOS EL DATO INFORECORD A LA ESTRUCTURA EINA

 

"********PASAMOS A TRUE TODOS LOS VALORES QUE QUEREMOS MODIFICAR QUE ESTEN EN EL EXCEL

 

IMP_EINAX-PO_UNIT = abap_true.

IMP_EINAX-VEND_MAT = abap_true.

IMP_EINAX-REGION = abap_true.

IMP_EINEX-PLND_DELRY = abap_true.

IMP_EINEX-NRM_PO_QTY = abap_true.

IMP_EINEX-MIN_PO_QTY = abap_true.

IMP_EINEX-UNDER_TOL = abap_true.

IMP_EINEX-OVERDELTOL = abap_true.

IMP_EINEX-INCOTERMS1 = abap_true.

IMP_EINEX-INCOTERMS2 = abap_true.

IMP_EINEX-INCOTERMSV = abap_true.

IMP_EINEX-INCOTERMS2L = abap_true.

IMP_EINEX-NET_PRICE = abap_true.

IMP_EINEX-ORDERPR_UN = abap_true.

IMP_EINEX-PUR_GROUP = abap_true.

 

"*******LLAMAMOS A LA FUNCIÓN PARA MODIFICAR

CALL FUNCTION 'ME_INFORECORD_MAINTAIN'

EXPORTING

I_EINA = IMP_EINA

I_EINAX = IMP_EINAX

I_EINE = IMP_EINE

I_EINEX = IMP_EINEX

* TESTRUN = TESTRUN

* IMPORTING

* E_EINA = EXP_EINA

* E_EINE = EXP_EINE

TABLES

RETURN = FUNCION_RETURN.