andresf02
15/11/11, 11:23:14
Buenos dias.
Estoy intentando usar la bapi BAPI_OBJCL_CHANGE pero no me esta realizando lo que necesito.
En el foro me dijeron que esta bapi me servia para realizar el proceso que se realiza normalmente por la transaccion estandar IL02; es decir, quiero actualizar o cambiar el valor actual de una caracteristica de una ubicacion tecnica.
Si entran a la IL02, dan el codigo de una ubicacion tecnica, la transaccion despliega los datos de la ubicacion y en la pestaña "Caracteristicas" muestra todos los valores que tiene cada una de las caracteristicas asociadas a dicha ubicacion tecnica. Lo que quiero es modificar el valor de una de esas caracteristicas.
El codigo que tengo y que no me esta funcionando es el siguiente:
*Obtengo las caracteristicas de una clase
CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
EXPORTING
objectkey = wa_kssk-objek " = '1001-010'
objecttable = p_tcode " = 'IFLOT'
classnum = l_classnum " = 'SUERTE'
classtype = wa_kssk-klart " = '003'
TABLES
allocvaluesnum = i_CARACT_NUM "devuelve las caract num
allocvalueschar = i_CARACT_CHAR "devuelve las caract char
allocvaluescurr = i_CARACT_CURR "devuelve las caract curr
return = i_return.
loop at i_caract_num.
read table caract_num into wa_num with key charact = i_caract_num-charact.
if sy-subrc ne 0.
append i_caract_num to caract_num.
endif.
endloop.
loop at i_caract_char.
read table caract_char into wa_char with key charact = i_caract_char-charact.
if sy-subrc ne 0.
append i_caract_char to caract_char.
endif.
endloop.
loop at i_caract_curr.
read table caract_curr into wa_curr with key charact = i_caract_curr-charact.
if sy-subrc ne 0.
append i_caract_curr to caract_curr.
endif.
endloop.
*Aqui es donde no me funciona
CALL FUNCTION 'BAPI_OBJCL_CHANGE'
EXPORTING
objectkey = wa_kssk-objek " = '1001-010'
objecttable = p_tcode " = 'IFLOT'
classnum = l_classnum " = 'SUERTE'
classtype = wa_kssk-klart " = '003'
TABLES
allocvaluesnumnew = caract_num
allocvaluescharnew = caract_char
allocvaluescurrnew = caract_curr
return = return.
No se como especificarle a la bapi la caracterisitca que quiero cambiar y el nuevo valor que le quiero poner.
En mi caso quiero cambiar una caracteristica tipo CURR, asi que mediante debugging modifcaba la caracteristica que quedaba alojada en la tabla "caract_curr" y en el campo "value_to" le ponia el nuevo valor, pero al ajecutar la bapi no hacia nada; consultaba por la IL02 y seguia con el valor antiguo.
Los datos basicos son:
Clase = 'SUERTE'
Cat. Clase = '003' "ubicacion tecnica
Tabla = 'IFLOT'
Caracteristica = 'VALOR_STOCK_APS' "Tipo CURR
Valor actual = 0 USD
Valor nuevo = 1000 USD
Si puedieran explicarme como debo pasar estos valores a la bapi de tal manera que luego de ejecutarla me cambie el valor de la caracteristica "VALOR_STOCK_APS" de 0 a 1000 USD y que lo pueda ver reflejado al entrar a la transaccion IL02.
Gracias!
Estoy intentando usar la bapi BAPI_OBJCL_CHANGE pero no me esta realizando lo que necesito.
En el foro me dijeron que esta bapi me servia para realizar el proceso que se realiza normalmente por la transaccion estandar IL02; es decir, quiero actualizar o cambiar el valor actual de una caracteristica de una ubicacion tecnica.
Si entran a la IL02, dan el codigo de una ubicacion tecnica, la transaccion despliega los datos de la ubicacion y en la pestaña "Caracteristicas" muestra todos los valores que tiene cada una de las caracteristicas asociadas a dicha ubicacion tecnica. Lo que quiero es modificar el valor de una de esas caracteristicas.
El codigo que tengo y que no me esta funcionando es el siguiente:
*Obtengo las caracteristicas de una clase
CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
EXPORTING
objectkey = wa_kssk-objek " = '1001-010'
objecttable = p_tcode " = 'IFLOT'
classnum = l_classnum " = 'SUERTE'
classtype = wa_kssk-klart " = '003'
TABLES
allocvaluesnum = i_CARACT_NUM "devuelve las caract num
allocvalueschar = i_CARACT_CHAR "devuelve las caract char
allocvaluescurr = i_CARACT_CURR "devuelve las caract curr
return = i_return.
loop at i_caract_num.
read table caract_num into wa_num with key charact = i_caract_num-charact.
if sy-subrc ne 0.
append i_caract_num to caract_num.
endif.
endloop.
loop at i_caract_char.
read table caract_char into wa_char with key charact = i_caract_char-charact.
if sy-subrc ne 0.
append i_caract_char to caract_char.
endif.
endloop.
loop at i_caract_curr.
read table caract_curr into wa_curr with key charact = i_caract_curr-charact.
if sy-subrc ne 0.
append i_caract_curr to caract_curr.
endif.
endloop.
*Aqui es donde no me funciona
CALL FUNCTION 'BAPI_OBJCL_CHANGE'
EXPORTING
objectkey = wa_kssk-objek " = '1001-010'
objecttable = p_tcode " = 'IFLOT'
classnum = l_classnum " = 'SUERTE'
classtype = wa_kssk-klart " = '003'
TABLES
allocvaluesnumnew = caract_num
allocvaluescharnew = caract_char
allocvaluescurrnew = caract_curr
return = return.
No se como especificarle a la bapi la caracterisitca que quiero cambiar y el nuevo valor que le quiero poner.
En mi caso quiero cambiar una caracteristica tipo CURR, asi que mediante debugging modifcaba la caracteristica que quedaba alojada en la tabla "caract_curr" y en el campo "value_to" le ponia el nuevo valor, pero al ajecutar la bapi no hacia nada; consultaba por la IL02 y seguia con el valor antiguo.
Los datos basicos son:
Clase = 'SUERTE'
Cat. Clase = '003' "ubicacion tecnica
Tabla = 'IFLOT'
Caracteristica = 'VALOR_STOCK_APS' "Tipo CURR
Valor actual = 0 USD
Valor nuevo = 1000 USD
Si puedieran explicarme como debo pasar estos valores a la bapi de tal manera que luego de ejecutarla me cambie el valor de la caracteristica "VALOR_STOCK_APS" de 0 a 1000 USD y que lo pueda ver reflejado al entrar a la transaccion IL02.
Gracias!