Deprecated feature

URL OrderQuotationRequest

Transmite solicitudes de presupuesto a una o más tiendas habilitadas para presupuesto para artículos de pedidos especificados. Se suprimen todos los presupuestos existentes para los pedidos especificados de cualquiera de los centros de despacho de pedidos especificados. (Utilice el mandato de controlador OrderQuotationCheck para comprobar si todos los presupuestos solicitados se han recibido.)

Nota: No puede utilizar este mandato con los kits estático y dinámico.

Estructura de URL

http:// host_name/ path/
El nombre completo de Transaction server y la vía de acceso de configuración.

Este diagrama muestra la estructura para el URL OrderQuotationRequest.

Valores de parámetros

quotationType
Especifica el tipo de presupuesto solicitado, "initial" o "final". El valor predeterminado para este parámetro es "initial" (inicial).
orderId
Especifica el carro de la compra para el que se van a solicitar presupuestos. El valor predeterminado para este parámetro es ".". Este parámetro puede repetirse.
deleteOrderQuotationRelId
Especifica los objetos OrderQuotationRel que se han de eliminar (junto con sus pedidos hijo) si su tipo es "initial", "final" o "selection" y si sus pedidos padre son uno de los carros de la compra especificados en el parámetro orderId. El valor predeterminado para este parámetro es "*n". Este parámetro puede repetirse.
quotationStoreId_ i
Especifica una tienda de la cual se van a solicitar presupuestos. Las tiendas que no están habilitadas para presupuesto bajo el contrato especificado por el parámetro quotationContractId_ i para el usuario actual en la tienda actual se pasan por alto.
quotationContractId_ i
Especifica un contrato que contiene un ReferralInterfaceTC que indica un PolicyCommand a utilizar para obtener un presupuesto. Se genera una excepción del sistema si un contrato especificado no contiene dicho ReferralInterfaceTC o no se utiliza en la tienda indicada en quotationStoreId_ i. Se ignora si no se especifica quotationStoreId_ i.
quotationUserId_ i
Especifica el ID de usuario que se enviará con la solicitud de presupuesto enviada a la tienda indicada en storeId_i para el contrato indicado en quotationContract_ i. Se ignora si no se especifica quotationStoreId_ i.
quotationPassword_ i
Especifica una contraseña para el ID de usuario especificado en el parámetro quotationUserId_ i. Este parámetro se pasa por alto si quotationStoreUserId_i no se especifica.
outOrderQuotationRelIdName
Especifica los pares nombre-valor que deben añadirse al URL de redirección. Los valores de los pares nombre-valor son los identificadores de los objetos OrderQuotationRel creados por esta invocación de mandato. Este parámetro puede repetirse.
URL
Especifica el URL de redirección que se devuelve cuando el mandato se completa satisfactoriamente.

Ejemplo 1

El ejemplo siguiente solicita presupuestos iniciales para el carro de la compra actual en la tienda 1111 de las tiendas de referencia 2222 y 3333. Todos los pedidos iniciales, finales y de selección existentes para el carro de la compra se suprimen antes de que se envíen las solicitudes. Después de enviar las solicitudes, redirige a un URL que espera a que lleguen las respuestas de presupuesto.


    
http://myhostname/webapp/wcs/stores/servlet/OrderQuotationRequest?storeId=1111
          &orderId=.
          &quotationType=initial
          &quotationStoreId_1=2222&quotationStoreId_2=3333
          &deleteOrderQuotationRelId=*parent.
          &URL=
WaitForInitialQuotations

Ejemplo 2

El ejemplo siguiente solicita presupuestos finales para los pedidos de selección para el carro de la compra actual en la tienda 1111 de las tiendas de referencia 2222 y 3333. Después de enviar las solicitudes, redirige a un URL que espera a que lleguen las respuestas de presupuesto.


    
http://myhostname/webapp/wcs/stores/servlet/OrderQuotationRequest?storeId=1111
          &orderId=.
          &quotationType=final
          &quotationStoreId_1=2222&quotationStoreId_2=3333
          &URL=
WaitForFinalQuotations

Comportamiento

  • Se invocan los mandatos de tarea ResolveOrdersCmd y ResolveOrderQuotationRelsCmd para evaluar todas las abreviaturas especificadas por los parámetros orderId y deleteOrderQuotationRelId.
  • Para cada pedido especificado por el parámetro orderId, si tiene un atributo de estado 'P' o 'E':
    • Asignar un número de secuencia de visualización a cada una de los pares de tienda y contrato especificadas:
      • Asignar números de secuencia que reflejen el orden en que los pares de tienda y contrato aparecen en los parámetros quotationStoreId_ i y quotationContractId_ i, cuando los parámetros estén ordenados en secuencia de i de inferior a superior.
    • Eliminar de la lista de parámetros quotationStoreId_ i y quotationContractId_ i (es decir, pasar por alto) los pares de tienda y contrato especificados que no están habilitados para presupuesto para el usuario actual en la tienda actual.
    • Si quotationType es initial:
      • Para cada par de tienda y contrato especificado por los parámetros quotationStoreId_ i y quotationContractId_ i:
        • Determinar una lista de OrderItemData para los que deben solicitarse presupuestos, de la siguiente manera:
          • Incluir todos los artículos de pedido del pedido especificado.
    • Si quotationType es final:
      • Determinar una lista de objetos OrderQuotationRel con relType "selection" cuyo pedido padre sea el pedido especificado por el parámetro orderId y cuyo atributo childStoreId indique una de las tiendas especificadas por el parámetro quotationStoreId_ i y cuyo atributo tradingAgreementId indique el contrato especificado por el parámetro quotationContractId_ i correspondiente.
      • Para cada par de tienda y contrato especificado por los parámetros quotationStoreId_ i y quotationContract_ i:
        • Determinar una lista de OrderItemData para los que deben solicitarse presupuestos, de la siguiente manera:
          • Incluir todos los artículos de pedido del pedido hijo al que hace referencia el objeto OrderQuotationRel de la lista determinada anteriormente cuyos atributos childStoreId y tradingAgreementId indiquen la tienda y contrato especificados.
    • Para cada par de tienda y contrato especificado por los parámetros quotationStoreId_ i y quotationContractId_ i, eliminar todos los objetos OrderQuotationRel para este pedido, tienda y contrato cuyos atributos relType coincidan con el quotationType especificado y eliminar también todos los pedidos hijo a los que hagan referencia. Además, eliminar los objetos OrderQuotationRel especificados por el parámetro deleteOrderQuotationRelId, y sus pedidos hijo, pero solo aquellos con relType "initial", "final" o "selection" y cuyo atributo parentOrderId indique el pedido que se está procesando (especificado por el parámetro orderId).
    • Para cada par de tienda y contrato (especificado por los parámetros quotationStoreId_ i y quotationContractId_ i) que tenga OrderItemData en su lista determinada anteriormente:
      • Crear un nuevo objeto OrderQuotationRel para el pedido especificado con el relType especificado. Establecer los atributos childStoreId y tradingAgreementId para indicar la tienda y el contrato. Establecer el atributo displaySequence en el número de secuencia de visualización asignado (anteriormente) al par de tienda y contrato. Establecer el atributo tradingAgreementId para indicar el acuerdo comercial del contrato.
      • Establecer el atributo timeoutTime del objeto OrderQuotationRel en la hora actual más el número de segundos especificado por el atributo quoteWaitFor del ReferralInterfaceTC del acuerdo de comercio del contrato.
  • Llamar a requestOrderQuotationCmd para solicitar presupuestos para cada uno de los objetos OrderQuotationRel creados anteriormente y su lista de OrderItemData determinada anteriormente (si la lista no está vacía). Pasar los valores de quotationUserId y quotationPassword especificados así como el ID de organización del pedido.
  • Redirigir al URL especificado por el parámetro URL, estableciendo la propiedad de respuesta viewTaskName en "RedirectView", estableciendo la propiedad de respuesta URL de redirección en el valor especificado por el parámetro URL y añadiendo propiedades de respuesta con nombres y valores según especifique el parámetro outOrderQuotationRelIdName.

Condiciones de excepción

  • Si el valor de un parámetro de entrada especificado falta o no es válido, el mandato genera una excepción ECApplicationException con el mensaje de error _ERR_BAD_MISSING_CMD_PARAMETER y la vista de error GenericApplicationError.