Ver Mensaje Individual
  #14  
Viejo 02/04/14, 20:23:59
Avatar de ing_Gmaurisio
ing_Gmaurisio ing_Gmaurisio is offline
Junior Member
 
Fecha de Ingreso: may 2009
Mensajes: 15
PO to PDF

Hola, te cuento lo que vi una vez en otro foro y me sirvió a mi.
En la nast se almacena para la orden de compra los mensajes creados.
1º - Buscas el ultimo mensaje creado, y obtienes el campo CMFPNR.
2º - Luego vas a la tabla CMPF con los campos... APLID = 'WMFC' y NR = nast-cmfpnr.
3º - De los resultados buscas aquel que tenga el nº spool, en español buscas por APLID = 'WFMC' y NR = nast-cmfpnr y ARBGB = 'ME' y MSGNR = '320'.


* Recuperamos la orden Spool de la siguiente manera.
* Vamos a la tabla NAST con el Doc. de Compras y ordenamos por
* la última orden lanzada.
CLEAR gt_nast. REFRESH gt_nast.
SELECT * FROM nast INTO TABLE gt_nast
WHERE kappl = gf_kappl
AND objky = ebeln
AND kschl = gf_kschl.

SORT gt_nast BY erdat eruhr DESCENDING.


* Con el campo NAST-CMFPNR (Número de control de error) vamos a la
* tabla CMFP, en el campo MSGV1 está la orden Spool.
LOOP AT gt_nast.
IF gt_nast-vstat = '1'.
SELECT SINGLE * FROM cmfp
WHERE aplid = 'WFMC'
AND nr = gt_nast-cmfpnr
AND arbgb = 'ME'
AND msgnr = '320'.

MOVE: cmfp-msgv1 TO tsp01-rqident.

SELECT SINGLE * FROM tsp01 WHERE rqident = cmfp-msgv1
AND ( rqcretime <> space OR
rq2name <> space ).
IF sy-subrc = 0.
*------ En cuanto encontremos la primera orden de Spool válida. EXIT.
EXIT.
ENDIF.
ENDLOOP.
Responder Con Cita