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
  #21  
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
  #22  
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
  #23  
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
  #24  
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
  #25  
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
  #26  
Viejo 21/08/09, 15:12:30
Avatar de torrescano
torrescano torrescano is offline
Member
 
Fecha de Ingreso: may 2006
Mensajes: 57
saludos foro. pos aki de nuevo, ya resolvi mi problema.

pues resulto q el metodo fue process_account.

aki le sdejo el codigo por si alguien le sirrviera.

METHOD if_ex_me_process_req_cust~process_account.

DATA: ls_item TYPE mepoitem,
ls_exkn TYPE exkn.
DATA: v_kostl TYPE kostl.

break vandrade.

ls_item = im_account->get_exknx( ).

ls_exkn = im_account->get_exkn( ).

CHECK NOT ls_exkn-kostl IS INITIAL.

* MOVE: ls_exkn-kostl TO v_kostl.

AUTHORITY-CHECK OBJECT 'Z_MM_CECO' "'K_CSKS'
ID 'ACTVT' FIELD '03'
ID 'KOSTL' FIELD ls_exkn-kostl.

IF sy-subrc NE 0.
MESSAGE 'Verificar Centro de Costo' TYPE 'E'.
ENDIF.


ENDMETHOD.
__________________
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 12:34:36.


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