PDA

Ver la Versión Completa : Validación en la T/C ME23N


tgfch
03/06/08, 18:13:53
Hola a todos,

Poseo un requerimiento para la validación de dos campos mostrados en ls ME23N, uno esta ubicado en las posiciones columna "Solicitante" campo AFNAM y el otro en el detalle de la posición, en la pestaña de imputación "Centro de Coste" campo KOSTL. Deseaba saber cual BADI debo utilizar para hacer esta validación, si alguien conoce alguna mucho le agradecería la ayuda.

ballan
05/06/08, 09:19:41
Mira aver si hay alguna implementacion de la badi ME_PROCESS_PO_CUST y sino implementala tu, ahi tienes el metodo CHECK que te puede servir

tgfch
05/06/08, 20:30:27
Gracias ballan, estoy intentanto colocar un break-point y no se detiene cuando hago click para chequear el documento.
Esta BADI se usa tanto para el Pedido como para la Solicitud de Pedido???, pues en mi caso la validación la debo hacer para la Solicitud del pedido.

Gracias por responder.

ballan
06/06/08, 10:52:12
En la solicitud de pedido se llama ME_PROCESS_REQ_CUST

tgfch
06/06/08, 16:25:30
Gracias Ballan por responder.

Estoy tratando de treaerme los datos pero me aparece un mensaje, esta es la declaración que tengo hasta los momentos

DATA: it_items TYPE purchase_order_items,
wa_items LIKE LINE OF it_items.

CALL METHOD im_header->get_items
RECEIVING
re_items = it_items.

y el mensaje es: El type de "IT_ITEMS" no puede ser convertido al type "RE_ITEMS"

bisonye
09/06/08, 07:56:28
El problema es que las dos tablas no son iguales.
Entra en el método y mira como está definido re_items y declara it_items igual.

Saludos

ballan
09/06/08, 08:42:49
Aqui te dejo un ejemplillo de coger datos de las posiciones:

data:
lt_items TYPE purchase_order_items,
ls_items TYPE LINE OF purchase_order_items,
ls_item TYPE REF TO if_purchase_order_item_mm,


CALL METHOD im_header->get_items
RECEIVING
re_items = lt_items.

LOOP AT lt_items INTO ls_items.

ls_item ?= ls_items-item.

ls_mepoitem = ls_item->get_data( ).

*Aqui colocarias codigo para calcular lo que fuera
*en la variable ls_mepoitem llevas los valores de la ekpo

endloop.

tgfch
10/06/08, 18:01:18
Gracias ballan, muchisimas gracias. Me he guiado por tu consejo, pero lo unico que obtengo en ese método son los datos de la cabecera, sabes en que otró método puedo validar tanto las posiciones como el valor de los campos, pues necesito hacer la validación por item y por el campo del centro de costo.

Saludos

ballan
11/06/08, 09:36:04
En tu implementacion de la badi ME_PROCESS_REQ_CUST tiene que haber un metodo que sea PROCESS_ITEM que se lanza cada vez que hay una actualizacion en algun campo de la posicion