PDA

Ver la Versión Completa : Ayuda, pestaña stock lotes insp. (qa11)


mikitio
05/03/09, 08:57:44
Buenas, tengo un pequeño problema con la pestaña de stock de lotes de inpeccion de la qa11.

Resulta que he activado una user-exit (QPL10001) que se ejecuta antes de la creacion de un lote y dentro he añadido codigo para enviar un mail de que se ha creado dicho lote.

Bueno pues mi problema es que al enviar el mail pierdo el status_object del lote, con lo cual tengo que leer el status antes de enviar y luego volver a crearlo. Pues resulta que si hago este proceso, al entrar en la qa11 no me aparece la pestaña Stock. Lotes Insp. y no tengo la menor idea de que puede ser, si comento el codigo de la user-exit, este error desaparece.

Os pongo mi codigo, aver si a alguien se le ocurre algo. Saludo¡¡

DATA:l_wa_order_objects TYPE bapi_pp_order_objects,
t_operation TYPE bapi_order_operation1 OCCURS 0 WITH HEADER LINE.
* t_destinatarios TYPE zntmail_oper OCCURS 0 WITH HEADER LINE,
* l_fname TYPE rs38l_fnam,
* l_wa_control_parametes TYPE SSFCTRLOP.
DATA e_jsto TYPE jsto.
*Leer status
CALL FUNCTION 'STATUS_OBJECT_READ'
EXPORTING
* CLIENT = SY-MANDT
objnr = i_qals-objnr
IMPORTING
e_jsto = e_jsto
EXCEPTIONS
object_not_found = 1
OTHERS = 2
.
IF sy-subrc <> 0.
" MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
" WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*&---------------------------------------------------------------------*
*& OBTENER TEXTO LOTE INSPECCIÓN
*&---------------------------------------------------------------------*
MOVE-CORRESPONDING i_qals TO e_qals.
l_wa_order_objects-operations = 'X'.
BREAK iceabap2.
CALL FUNCTION 'BAPI_PRODORD_GET_DETAIL'
EXPORTING
number = e_qals-aufnr
* COLLECTIVE_ORDER =
order_objects = l_wa_order_objects
* IMPORTING
* RETURN =
TABLES
* HEADER =
* POSITION =
* SEQUENCE =
operation = t_operation.
* TRIGGER_POINT =
* COMPONENT =
* PROD_REL_TOOL =
*
READ TABLE t_operation INDEX 1.
e_qals-ktextlos = t_operation-work_center.
e_active = 'X'.
e_qals-stat04 = 'X'.

*---------------------------------------------------------------------*
*& ENVIAR MAILS
*&--------------------------------------------------------------------*
*Enviar mail, se pierde el Status
CALL FUNCTION 'Z_NTMAIL_LOTE_INSPECCION'
EXPORTING
e_qals = e_qals
EXCEPTIONS
error_procede = 1
OTHERS = 2.

*Crear Status
CALL FUNCTION 'STATUS_OBJECT_CREATE'
EXPORTING
* CLIENT = SY-MANDT
objnr = e_jsto-objnr
obtyp = e_jsto-obtyp
STSMA = E_JSTO-STSMA
* TEST_MODE = 'X'
* IMPORTING
* NO_CHANGE_DOCS =
EXCEPTIONS
OBTYP_INVALID = 1
STSMA_INVALID = 2
STSMA_OBTYP_INVALID = 3
STATUS_OBJECT_EXISTS = 4
OTHERS = 5
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.