Archivo

Posts Tagged ‘ME29n’

RSWUWFML2 – Cambiar texto mail Workitem

Caso: se requiere cambiar los textos del correo electrónico que le llega al usuario cuando tiene que, por ejemplo liberar una orden de compra

Solución:

Por ejemplo, por defecto aparece este texto en el correo electrónico:

Asunto: Work item nuevo en sistema SAP DEV
Cuerpo del mensaje:
En la entrada del workflow del sistema SAP DEV existen work items nuevos. Abra el anexo de acceso directo SAP para pasar a la entrada del workflow, y trate los work items.

Si se le presenta algún problema a la hora de acceder, póngase en contacto con el responsable del sistema.

—-

Esto podemos configurarlo, en el programa RSWUWFML2:

– El primer texto es un mensaje de la clase SWU_NOTIF, que podemos ver por la SE91

– La descripción se guarda en las tablas DOKHL y DOKTL.

Anuncios

Liberar pedido de Compras con BAPI_PO_RELEASE

Liberar pedido de Compras con BAPI_PO_RELEASE

Caso: se busca liberar un pedido de compras recién creado, con la BAPI_PO_RELEASE.

Nota: abajo les paso algunos links, ya que no me puse a averiguar mucho del tema porque al final para el caso que buscaba no se va a usar estrategia (digamos que trabajé de más, pero por ello dejo la entrada en el BLOG). Así que sólo espero que de algo les sirva, ya que está bastante incompleto el post (me hubiera gustado probar más sobre el tema).

Algunos tips:

– Hay que tener cuidado es con la estrategia de liberación. En mi caso hay una sola estrategia (código/nivel) de liberación, pero puede darse el caso de que haya más niveles y ahí hay que ver como tratarlo.

– El objeto de autorización necesario para ejecutar la BAPI es: M_EINK_FRG

AUTHORITY-CHECK OBJECT ‘M_EINK_FRG’

ID ‘FRGGR’ FIELD ekko-frggr

ID ‘FRGCO’ FIELD po_rel_code.

– La BAPI_PO_RELEASE parece que no necesitaría un COMMIT, ya que posee un parámetro en su llamada

– También puede serles útil saber que existe una BAPI para restaurar la liberación del pedido, llamada BAPI_PO_RESET_RELEASE.

FORM liberar_pedido USING p_ebeln TYPE ebeln.

DATA: l_grupo TYPE frggr,
l_est TYPE frgsx,
wa_t16fs TYPE t16fs,
lt_return TYPE bapireturn OCCURS 0,
l_rel_status_new TYPE bapimmpara-rel_status,
l_rel_indicator_new TYPE bapimmpara-po_rel_ind,
l_ret_code TYPE sy-subrc.

* Busco el grupo de liberación para la orden de compra.
SELECT SINGLE frggr frgsx
FROM ekko
INTO (l_grupo, l_est)
WHERE ebeln EQ p_ebeln.

* En base al grupo de la orden de compra traigo todos los códigos de liberación.
SELECT SINGLE *
FROM t16fs
INTO wa_t16fs
WHERE frggr EQ l_grupo
AND frgsx EQ l_est.

CALL FUNCTION ‘BAPI_PO_RELEASE’
EXPORTING
purchaseorder = p_ebeln
po_rel_code = wa_t16fs-frgc1
* USE_EXCEPTIONS = ‘X’
* NO_COMMIT = ‘ ‘
IMPORTING
rel_status_new = l_rel_status_new
rel_indicator_new = l_rel_indicator_new
ret_code = l_ret_code
TABLES
return = lt_return
EXCEPTIONS
authority_check_fail = 1
document_not_found = 2
enqueue_fail = 3
prerequisite_fail = 4
release_already_posted = 5
responsibility_fail = 6
OTHERS = 7.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.

* Espera hasta la actualización del documento (hasta que cambie el

* indicador de liberada)
DO 20 TIMES.
SELECT SINGLE mandt
FROM ekko
INTO ekko-mandt
WHERE ebeln = p_ebeln
AND frgke = ‘L’
AND frgzu = ‘X’.

IF sy-subrc = 0.
EXIT.
ELSE.
WAIT UP TO 3 SECONDS.
ENDIF.
ENDDO.

ENDIF.

ENDFORM. “liberar_pedido

Algunos links:

http://www.mundosap.com/foro/showthread.php?t=16140

http://www.se80.co.uk/sapfms/b/bapi/bapi_po_release.htm

http://scn.sap.com/message/7896454#7896454