Mandato ReturnPrepare
Este mandato prepara una autorización de devolución de mercancía (RMA) calculando los impuestos
que se han de reembolsar, contabilizando el reembolso total y determinando un vehículo de abono,
un método de devolución y un centro de despacho de devoluciones.

Valores de parámetros
- http://nombre_sistpral/vía de acceso/
- (Obligatorio) El nombre totalmente calificado del servidor WebSphere Commerce
y la vía de acceso de configuración.
- forUser
- El ID de conexión del usuario en cuyo nombre se ejecutará el
mandato; este parámetro sólo lo puede especificar una persona con
autorización para procesar pedidos.
- forUserId
- Igual que forUser, pero identifica al usuario mediante el ID de usuario
interno, como se encuentra en la tabla USERS.
- langId
- Establece o restaura el idioma preferido para la duración de la sesión;
los idiomas soportados para una tienda se encuentran en la tabla
STORELANG.
- storeId
- (Obligatorio) El número de referencia de la tienda.
- RMAId
- (Obligatorio) El identificador de la RMA que se ha de preparar.
- comment
- Un comentario sobre la RMA.
- URL
- (Obligatorio) El URL al que se debe llamar cuando el mandato se ejecuta satisfactoriamente.
Ejemplo
El ejemplo siguiente prepara la RMA con número de referencia 1 y se redirige
al mandato ReturnDisplay para ver esta RMA.
http://misistpral/webapp/wcs/stores/servlet/ReturnPrepare?RMAId=1
&storeId=1&URL=ReturnDisplay
Comportamiento
- Comprueba si la RMA existe. Si no existe, devuelve un error.
- Llama al mandato de tarea RefreshExpiredRMAItemsCmd
para determinar si el periodo de tiempo RMAGOODFOR ha caducado para cada artículo de RMA.
El cálculo de abono y la aprobación automática se invocan de nuevo para aquellos artículos
que hayan sobrepasado el tiempo de 'validez'.
- Llama al mandato de tarea CalculateReturnAdjustmentPolicyCmd
para calcular los cargos o abonos a nivel de RMA especificados por la política.
- Llama al mandato de tarea CalculateReturnTaxCmd
para calcular los impuestos.
- Calcula todos los totales; es decir, el abono total de la RMA y el abono total de la
devolución.
- Si el abono total para la RMA es mayor que cero, llama al mandato de tarea
DetermineReturnCreditVehicleCmd
para determinar cómo hacer el abono al cliente, y establece el valor en la RMA. Si
el mandato de tarea no determina un método de abono, devuelve un error.
- Si algunos componentes del artículo de devolución están marcados para ser recibidos, llama al mandato de tarea ResolveReturnFulfillmentCenterCmd
para determinar un centro de despacho de devoluciones para la RMA, y establece el valor
en la RMA. De lo contrario, establece RMA.Ffmctr_id en nulo.
- Marca la RMA como preparada.
- Llama al mandato de tarea ExtendReturnPrepareCmd.
- Una vez completado satisfactoriamente, llama al URL especificado.
Condiciones de excepción
- Si el RMAId especificado no es válido o no está en un estado correcto, se genera
una excepción ECApplicationException con el mensaje _ERR_RMA_IN_INVALID_STATE_FOR_COMMAND
- Si no se especifica ningún ID de comercio en la RMA, se genera una excepción ECApplicationException
con el mensaje _ERR_BAD_MISSING_CMD_PARAMETER
- Si no se puede determinar un vehículo de abono, se genera una excepción ECSystemException con
el mensaje _ERR_CANNOT_DETERMINE_CREDIT_VEHICLE
- Si no se puede determinar un centro de despacho de devoluciones, se genera una excepción ECSystemException con
el mensaje _ERR_CANNOT_DETERMINE_RETURN_FFMCENTER