MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 02/06/09, 10:36:02
Paola79 Paola79 is offline
Member
 
Fecha de Ingreso: oct 2006
Mensajes: 62
Gracias BALLAN tengo una duda el ls_items de que tipo lo creo¿?...

Saludos
Responder Con Cita
  #2  
Viejo 02/06/09, 10:51:39
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
La cabecera seria de tipo MEPOHEADER y la posicion del tipo MEPOITEM

De todas formas para poder saber eso yo hago lo siguiente:

Haciendo un resumen muy superficial una BADI es una INTERFAZ que se puede ver a traves de la transaccion SE24 (si miramos la definicion de la badi a traves de la SE18 veremos que la badi ME_PROCESS_PO_CUST tiene definida la interfaz IF_EX_ME_PROCESS_PO_CUST)

Si miramos la IF_EX_ME_PROCESS_PO_CUST en la SE24 veremos todos los metodos de la badi, al ser una interfaz solo vienen las definiciones y los parametros de los metodos DENTRO NO TIENE CODIGO

Si nos vamos al metodo PROCESS_ITEM por ejemplo veremos que como parametro recibe el parametro IM_ITEM cuyo tipo es otra interfaz IF_PURCHASE_ORDER_ITEM_MM si vamos a ver esa interfaz por la SE24 veremos que en dicha interfaz existe un metodo llamado GET_DATA que si miramos los parametros veremos que devuelve una estructura del tipo MEPOITEM

Bueno no se si he aclarado algo o lo he liado mas pero espero que se me entienda
Responder Con Cita
  #3  
Viejo 02/06/09, 10:51:39
Paola79 Paola79 is offline
Member
 
Fecha de Ingreso: oct 2006
Mensajes: 62
Exclamation

Le he puesto el BREAK para ver si me para donde quiero yo porque el chequeo que quiero es que si el importe es superior a 3.000 que de error...

Muchas gracias
Responder Con Cita
  #4  
Viejo 02/06/09, 10:54:23
Paola79 Paola79 is offline
Member
 
Fecha de Ingreso: oct 2006
Mensajes: 62
Muchas gracias BALLAR, me ah quedado claro, porque yo y las badis no nos llevabamos hasta ahora pero el problema como te he expuesto anteriormente no me para el break donde quiero.

Un saludo
Responder Con Cita
  #5  
Viejo 02/06/09, 11:16:16
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
A ver ni balla ni ballar es ballan :P

Si quieres chequear si el pedido tiene mas de 3000 euros y dar un mensaje

Implementa la badi que te he dicho y utiliza el metodo check, en este metodo se para cuando pulsas el boton verificar del pedido o bien cuando le das al boton de grabacion primero verifica y luego graba

El codigo seria algo por el estilo

data: lt_items type PURCHASE_ORDER_ITEMS.

data: lt_item like line of lt_items,
ls_po_item type mepoitem.

data: lv_importe type mepoitem-menge.

clear: lv_importe.

lt_items = im_header->get_items( ).

loop at lt_items into ls_item.

ls_po_item = ls_item->get_data( ).

add ls_po_item-menge to lv_importe.

endloop.

if lv_importe > 3000.

mmpur_message ... aqui iria el mensaje
ch_failed = 'X'.

endif.
Responder Con Cita
  #6  
Viejo 02/06/09, 11:21:52
Paola79 Paola79 is offline
Member
 
Fecha de Ingreso: oct 2006
Mensajes: 62
Exclamation

No me para en ningun lado el break que puede ser he revisado que este todo activado y es correcto... Pero no para... Para ver cual es el dato del precio...



Me podrias dar una pistilla...

Muchas gracias y siento ser tan pesada...
Responder Con Cita
  #7  
Viejo 02/06/09, 11:27:38
Paola79 Paola79 is offline
Member
 
Fecha de Ingreso: oct 2006
Mensajes: 62
Perdon por lo del nombre. Ya esta...

Un saludo ygraicas
Responder Con Cita
  #8  
Viejo 15/06/09, 14:47:15
Paola79 Paola79 is offline
Member
 
Fecha de Ingreso: oct 2006
Mensajes: 62
Exclamation

Hola buenas tardes,

Ya me funciona la validación correctamente, desde hace ya días, el consultor ha echo pruebas, y le salta en el resto de tipo de pedidos, y solo queremos que salga en un determinado tipo de pedidos.

La validación la estoy haciendo en las items, ya que es ahi que el importe no sea superior a 3000, pero ahi no tengo la clase de pedido, que en mi caso será tipo de pedido SD, ya que se encuentra este dato en la cabecera (header).

Mi pregunta es: ¿Cómo puedo pasar el tipo de pedido en la BADI a las posiciones para que solo me salga en ese tipo de pedido?

Muchas gracias
Responder Con Cita
  #9  
Viejo 18/08/09, 13:14:53
Avatar de torrescano
torrescano torrescano is offline
Member
 
Fecha de Ingreso: may 2006
Mensajes: 57
buen dia Ballan.

vi tus post's, resulta q tengo q hacer una validacion en la ME51N en la solicitud de pedido con imputacion a un centro de costo.

implemente la bdai ME_PROCESS_REQ_CUST en el metodo CHECK,
tengo el siguiente codigo:

METHOD if_ex_me_process_req_cust~check.
break vandrade.
DATA: lt_items TYPE mmpur_requisition_items.
DATA: ls_item LIKE LINE OF lt_items.
DATA: ls_pr_item TYPE mereq_item.
DATA: ls_po_item TYPE mepoitem.

lt_items = im_header->get_items( ).

LOOP AT lt_items INTO ls_item.

ls_po_item = im_item->get_data( ).

IF ls_po_item-kostl NE '223'. "este es mi CeCo
*mensaje
ENDIF.
ENDLOOP.
ENDMETHOD.

bueno pues resulta q no puedo activar el metodo pues me dice el sigueinte error.

Clase ZCL_IM_ME_PROCESS_REQ_CUST,Método IF_EX_ME_PROCESS_REQ_CUST~CHECK
The field "IM_ITEM" is unknown, but there is a field with the similar
name "LS_ITEM" . . . .

si me pudieras orientar por favor, muchas gracias, saludos.
__________________
Saludos amigos SAPeros
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 15:59:04.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web