URL ReturnItemUpdate
Este URL actualiza la información sobre un artículo devuelto y puede invocarse para varios artículos de autorización de devolución de mercancía (RMA).
Estructura de URL
- http:// host_name/path/
- El nombre totalmente calificado de HCL Commerce Server y la vía de acceso de configuración.
Valores de parámetros
- langId
- Establece o restablece el idioma preferido durante el tiempo que dura la sesión; los idiomas soportados para una tienda se encuentran en la tabla STORELANG
- storeId
- Se necesita: El número de referencia de la tienda.
- forUser
- El ID de inicio de sesión del usuario en cuyo nombre se ejecutará el mandato; este parámetro solo lo puede especificar una persona con autorización para procesar pedidos.
- forUserId
- El ID de conexión del usuario en cuyo nombre se ejecutará el mandato; este parámetro solo lo puede especificar una persona cuyo rol de seguridad sea Representante de servicio al cliente. El usuario se identifica mediante un ID de usuario interno, que se encuentra en la tabla USERS.
- creditAdjustment_ i
- La cantidad en la que hay que ajustar el importe del abono del producto. El formato de este número debe ajustarse a las normas de un objeto java.math.BigDecimal. El número debe utilizar un punto para una posición decimal. Esta cantidad prevalecerá sobre cualquier cantidad calculada por el mandato de tarea CalculateReturnItemAdjustmentCmd. Este parámetro es opcional y solo es válido si se especifica el parámetro forUser o forUserId.
- receive_ i
- Especifica si la tienda debe recibir los componentes del artículo de devolución. Por ejemplo, los comestibles en mal estado no hace falta devolverlos a la tienda, mientras que un jersey sí se tiene que devolver.
- RMAItemId_i
- Se necesita: El identificador del artículo de RMA.
- quantity_ i
- La cantidad que se devuelve.
- UOM_ i
- La unidad de medida para quantity_i. Este valor debe coincidir con una de las claves primarias de la tabla QTYUNIT. Cuando no se especifica, se utiliza el valor de la columna QUANTITYMEASURE de la tabla CATENTSHIP para la fila con el mismo CATENTRY_ID que el artículo de pedido, y el valor del parámetro quantity_i se multiplica por el valor de la columna NOMINALQUANTITY de la misma fila en la tabla CATENTSHIP.
- comment_ i
- Un comentario sobre el artículo que se devuelve.
- reason_ i
- La razón de la devolución, como la ha proporcionado el comprador. Este valor se puede encontrar en la columna CODE de la tabla RTNREASON con el tipo de razón 'B' o 'C'.
- URL
- Se necesita: El URL al que se debe llamar cuando el mandato se completa satisfactoriamente.
- outRMAName
- El nombre a utilizar para el par nombre-valor que se pasará al URL redirigido. Este parámetro es útil para encadenar mandatos. Si no se especifica este parámetro, entonces se utiliza "RMAId".
Ejemplo
El ejemplo siguiente actualiza el RMAItem 123 para que especifique una cantidad de devolución de 2 y actualiza el RMAItem 456 para que especifique una cantidad de devolución de 3. Una vez completado satisfactoriamente, se visualizará la RMA.
http://myhostname/webapp/wcs/stores/servlet/
ReturnItemUpdate?RMAItemId_1=123&RMAItemId_2=456&quantity_1=1&quantity_2=3&URL=ReturnDisplay&storeId=1
Comportamiento
- Actualiza un artículo devuelto y puede invocarse para varios artículos de RMA. Si se llama a este mandato con varios artículos de RMA, todos los artículos de RMA deben pertenecer a la misma RMA.
- El distintivo PREPARED de la RMA se establece en 'N'. Si se especifica el parámetro forUser o forUserId, la RMA debe iniciarse en estado 'EDT', 'PND', 'APP' y el estado se establece en 'EDT'. De lo contrario, la RMA debe iniciarse en estado 'PRC' y el estado se cambia a 'PRC'.
- Cada artículo se procesará de la siguiente manera:
- Comprueba que los artículos de RMA no se hayan abonado previamente al cliente.
- Actualiza el artículo de RMA. Si los parámetros quantity o receive se especifican para un artículo, se actualizan los componentes (en la tabla RMAITEMCMP).
- Si el artículo devuelto está basado en un artículo de pedido, el mandato llama al mandato de tarea CalculateReturnItemCreditCmd para calcular el importe del abono predeterminado, y establece el importe del abono para el artículo de RMA.
- Si el artículo devuelto está basado en una entrada de catálogo, el mandato llama al mandato de tarea CalculateReturnItemCreditForCatEntryCmd.
- Llama al mandato de tarea AutoApproveReturnItemCmd para ver si el artículo se aprueba automáticamente y marca el artículo de RMA como "aprobado por el sistema" o "pendiente de aprobación", según el resultado del mandato de tarea.
- Una vez completado satisfactoriamente, establece la redirección al URL especificado.
- Llama al mandato de tarea ExtendReturnItemUpdateCmd.
Condiciones de excepción
- Si el estado de la RMA no está establecido en 'PRC' (es decir, si los parámetros forUser o forUserId no se utilizan) o no está establecido en 'EDT', 'PND' o 'APP' (si los parámetros forUser o forUserId no se utilizan), se genera una excepción ECApplicationException con el mensaje _ERR_RMA_IN_INVALID_STATE_FOR_COMMAND.
- Si un artículo de RMA no está en la misma RMA que otros artículos de RMA ya procesados, se genera una excepción ECApplicationException con el mensaje _ERR_BAD_MISSING_CMD_PARAMETER.
- Si un artículo de RMA ya se ha abonado, se genera una excepción ECApplicationException con el mensaje _ERR_BAD_MISSING_CMD_PARAMETER.