Deprecated feature

URL OrderCopy

Crear, fusionar o modificar pedidos pendientes cuyo atributo de estado es P o I.

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 del URL de OrderCopy para pedidos avanzados.

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.
forUser
El ID de conexió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
Igual que forUser, pero identifica al usuario mediante el ID de usuario interno que aparece en la tabla USERS.
URL
Se necesita: El URL de redirección al que se llama cuando el mandato se completa.
fromOrderId_ i
Especifica cero o más pedidos de origen desde los que se copiarán los artículos de pedido cuando se procese el grupo de enumeración i. Las abreviaturas especiales "." , "*", " .t" , "*t" y "q" se resuelven utilizando memberId_ i y storeId. Consulte las Abreviaturas de pedidos para ver una descripción de estas abreviaturas. Este parámetro puede repetirse.
toOrderId
Especifica el pedido que se debe crear o modificar. Se puede especificar como un número de referencia de pedido o como una de las abreviaturas especiales ".", "*", ".t", "*t", "**" y ".**.". Consulte las Abreviaturas de pedidos para ver una descripción de estas abreviaturas. Si no se especifica este parámetro, su valor se establece en **, lo cual crea un nuevo pedido. Si se especifica más de un pedido, solamente se tiene en cuenta el actualizado más recientemente. Las abreviaturas se resuelven utilizando el cliente actual (el cliente que ejecuta este mandato) y la tienda que se especificó en el parámetro storeId.
copyOrderItemId_ i
Especifica los artículos de pedido que se deben copiar de los pedidos de origen especificados por fromOrderId_ i y que se deben añadir al pedido de destino especificado por toOrderId. Este parámetro puede repetirse.
  • Si no se especifica este parámetro o se especifica "*", se seleccionan todos los artículos de pedido pertenecientes a los pedidos especificados por fromOrderId_ i.
  • Si se especifica ".", el parámetro hace referencia al artículo de pedido actualizado más recientemente que pertenezca los pedidos especificados por fromOrderId_ i.
  • Si se especifica "**", el parámetro hace referencia a un nuevo artículo de pedido individual que se añadirá al pedido de destino utilizando información de otros parámetros del grupo de enumeración especificado por i, pero no de los pedidos de origen de dicho grupo de enumeración. En este caso, se debe especificar catEntryId_ i o partNumber_ i. El mandato OrderCopy invoca el mandato OrderItemUpdate para añadir nuevos artículos al pedido de destino.
updateOrderItemId_ i
Especifica artículos del pedido de destino que se debe actualizar. El pedido se actualiza utilizando información de otros parámetros contenidos en el grupo de enumeración especificado por i, pero no de los pedidos de origen correspondientes a ese grupo de enumeración ni tampoco de catEntryId_ i y partNumber_ i. Observe que el ID de entrada de catálogo de un artículo de pedido cannot se puede actualizar. El mandato OrderCopy invoca el mandato OrderItemUpdate para actualizar artículos del pedido de destino. Este parámetro puede repetirse.
  • La especificación "*" hace referencia a todos los artículos del pedido de destino.
  • La especificación "." hace referencia al artículo actualizado más recientemente.
orderInfoFrom
Especifica el número de referencia de un pedido del que copiar información a nivel de pedido (valores para las columnas DESCRIPTION, ADDRESS_ID, SEQUENCE, FIELD1, FIELD2 y FIELD3 de la tabla ORDERS). Este parámetro puede repetirse.
  • Si se especifica más de un pedido, solamente se tiene en cuenta el actualizado más recientemente.
  • Si se especifica "**", no se copia la información de nivel de pedido de ningún pedido.
  • Si este parámetro no se especifica y los parámetros fromOrderId_ i solo especifican un pedido, se aplicará dicho pedido. En otro caso, el valor del parámetro se establece en ** por omisión. Las abreviaturas se resuelven utilizando el cliente actual y la tienda especificada por el parámetro storeId.
payInfoFrom
Este parámetro se utiliza solamente por razones de compatibilidad. Con la nueva regla de pagos, la información de pago no se guarda en ORDPAYINFO.

Especifica el número de referencia de un pedido a partir del cual se debe obtener información de pago invocando el mandato de tarea com.ibm.commerce.order.commands.GetOrderPaymentInfoCmd. Si se especifica más de un pedido, solamente se tiene en cuenta el actualizado más recientemente. Este parámetro puede repetirse.

Si se especifica "**", no se copia la información de nivel de pedido de ningún pedido. Si este parámetro no se especifica y solo se ha especificado un pedido de origen en los parámetros FromOrderId_ i, se aplicará dicho pedido. En otro caso, el valor del parámetro se establece en ** por omisión. Las abreviaturas se resuelven utilizando el cliente actual y la tienda especificada por el parámetro storeId.

catEntryId_ i
Define el ID de entrada de catálogo de los artículos de pedido contenidos en el grupo de enumeración i.
quantity_ i
Define la cantidad de los artículos de pedido contenidos en el grupo de enumeración i.
UOM_ i
Es la unidad de medida de quantity_ i.
partNumber_ i
Es el número de pieza que se debe resolver para obtener un ID de entrada de catálogo. Su valor prevalece sobre catEntryId_ i.
addressId_ i
Es el número de referencia de la dirección a la cual se deben enviar los artículos de pedido contenidos en el grupo de enumeración especificado por i. La dirección debe pertenecer al cliente que ejecuta este mandato.
shipModeId_ i
Especifica una serie de caracteres que se debe pasar al mandato OrderItemUpdate cuando se añaden o actualizan artículos del pedido de destino, para el grupo de enumeración especificado por i. Este número de referencia está asociado a un servicio de envío específico.
ShipAsComplete
Especifica si el pedido creado o modificado se puede enviar parcialmente. Si el valor es Y, el pedido se enviará cuando todos los artículos del pedido estén disponibles. Si el valor es N, el pedido se puede enviar parcialmente cuando algunos de los artículos del pedido estén disponibles. El valor predeterminado es Y. Este parámetro se almacena en la columna SHIPASCOMPLETE de la tabla ORDERS.
comment_ i
Es un comentario para incluir con un artículo que se debe pasar al mandato OrderItemUpdate al añadir o actualizar artículos del pedido de destino.
field1_ i
Especifica un valor entero que se debe pasar al mandato OrderItemUpdate cuando se añaden o actualizan artículos del pedido de destino, para el grupo de enumeración especificado por i.
field2_ i
Especifica una serie de caracteres que se debe pasar al mandato OrderItemUpdate cuando se añaden o actualizan artículos del pedido de destino, para el grupo de enumeración especificado por i.
contractId_ i
Es el número de referencia de contrato asociado al pedido, que se debe pasar al mandato OrderItemUpdate al añadir o actualizar artículos del pedido de destino.
offerId_ i
Es una lista de los ID de oferta de entre los que se debe elegir al crear un nuevo artículo de pedido. Esta lista se pasará al mandato OrderItemUpdate. No existe valor predeterminado.
configurationId_i
Es el ID configuración de un artículo de pedido que representa un kit dinámico configurado. Este parámetro puede repetirse.
correlationGroup_ i
Es el grupo al que está asociado el artículo de pedido. Normalmente, correlationGroup es igual a OrderItemID. Los artículos de pedido para los cuales el atributo correlationGroup tiene el mismo valor representan el mismo objeto que el cliente desea comprar. Se puede especificar un valor para correlationGroup y propagarlo cuando se dividen los artículos del pedido al asignar existencias (por ejemplo, cuando se deben utilizar dos centros de despacho de pedidos para cumplimentar un pedido para el mismo artículo si un centro tiene existencias insuficientes), o cuando se recibe una oferta de precio para un artículo. Cuando se divide un artículo de pedido durante la asignación de inventario, el artículo de pedido recién creado hereda el valor correlationGroup del artículo de pedido original. En el caso de una oferta de precio, el artículo hereda el valor de correlationGroup del artículo correspondiente del pedido padre.
outOrderName
Especifica pares nombre-valor para añadir al URL de redirección. El valor de cada par añadido nombre-valor es el número de referencia de un pedido de destino. El valor predeterminado es orderId. Este parámetro puede repetirse.
outOrderItemName
Especifica pares nombre-valor para añadir al URL de redirección. El valor de cada par añadido nombre-valor es el número de referencia de un artículo del pedido de destino. El valor predeterminado es orderItemId. Este parámetro puede repetirse.
descripción
Especifica la descripción del pedido de destino. Si no se especifica, se utiliza la descripción del pedido especificado por "orderInfoFrom", si existe uno.
billingAddressId
Especifica el ID de la dirección de facturación del pedido de destino. Si no se especifica este parámetro, se utiliza el ID de dirección de facturación del pedido especificado por "orderInfoFrom", si existe uno.
displaySeq
Especifica la secuencia de visualización del pedido de destino. Si no se especifica, se utiliza la secuencia de visualización del pedido especificado por "orderInfoFrom", si existe uno.
field1 - field3
Especifica los valores de field1, field2 y field3 para el pedido de destino. Si no se especifica este parámetro, se utiliza el valor de campo correspondiente del pedido especificado por "orderInfoFrom", si existe uno.
status
Especifica el estado del pedido de destino. Los únicos valores válidos son I (tramitado) y P (pendiente). El valor predeterminado es P. Si se especifica I, se actualiza el pedido de destino, se prepara para su visualización y se bloquea (como si se hubiera invocado OrderPrepare), y el estado se establece en I. Esto prepara el pedido para ser aceptado por OrderProcess e impide que sea modificado por el cliente.
prepare
Especifica si se debe preparar el pedido invocando el mandato PrepareOrder. Los valores válidos son Y y N. (Una vez actualizado el pedido de destino, se prepara para su visualización y se bloquea. El pedido queda así preparado para su aceptación por OrderProcess y se impide cualquier modificación posterior en el pedido).
memberId_ i
Es el número de referencia de un miembro. Se utiliza para resolver abreviaturas especiales (".", "*", ".t", ".**." y "*t") cuando aparecen en fromOrderId_ i. Por ejemplo, el mandato siguiente hace referencia a todos los pedidos pendientes del miembro 1001: fromOrderId_1=*&memberId_1=1001 El valor predeterminado es el ID de miembro del usuario actual. Si el cliente actual intenta acceder a los pedidos de otros clientes pero no está autorizado para hacerlo, se genera una excepción.
storeId
Especifica el ID de tienda del pedido de destino. Se utiliza también para resolver abreviaturas especiales (".", "*", ".t", ".**." y "*t") cuando aparecen en fromOrderId_ i, toOrderId, orderInfoFrom y payInfoFrom. Por ejemplo, el mandato siguiente hace referencia a todos los pedidos pendientes del miembro 1001 en la tienda 1: fromOrderId_1=*&memberId_1=1001&storeId=1
attr_ i_name
Especifica un nombre y valor de atributo para pasar al mandato OrderItemUpdate cuando se añaden artículos al pedido de destino para el grupo de enumeración especificado por i. Por ejemplo, el mandato siguiente hace referencia a la pieza ABC123 que tiene el atributo "length"=="10": partNumber_1=ABC123&attr_1_length=10
pay_ payment_name (En desuso)
Se utiliza para mantener la compatibilidad con versiones anteriores. Con la regla de pagos, ORDPAYINFO no se utiliza, mientras que se utiliza el controlador de plugin de pagos y los plugins de pagos. Especifica los pares nombre-valor de pago del pedido de destino. Este parámetro puede repetirse. Por ejemplo, el mandato siguiente hace referencia al par nombre-valor de pago "quot;creditCardNumber==2222222222": pay_creditCardNumber=2222222222 Estos pares nombre-valor de pago se añadirán a la tabla ORDPAYINFO utilizando el mandato de tarea com.ibm.commerce.order.commands.SetOrderPaymentInfoCmd. Si no se especifica este parámetro, se utilizarán los pares nombre-valor de pago correspondientes al pedido especificado por payInfoFrom, si existe alguno.
partOwner_Id_ i
Es el ID de miembro del propietario de la pieza. Se utiliza con partNumber_ i. El valor predeterminado es el propietario de la tienda.
continue
Controla si la copia del pedido continúa cuando no se pueden copiar uno o más artículos del pedido. El valor 0 termina y retrotrae la ejecución si un artículo de pedido no se puede crear o actualizar en el pedido de destino; el valor 1 pasa por alto la operación de creación o actualización para ese artículo de pedido y continúa la ejecución. El valor predeterminado es 0.
orderComment
Especifica comentarios para el pedido, si existen.
remerge
Es una lista de los artículos de pedido que se deben fusionar con otros artículos del mismo pedido y con el mismo atributo correlationGroup, si la operación es posible. Este parámetro puede repetirse.
merge
Es una lista de artículos de pedido que se deben fusionar con otros artículos del mismo pedido, si la operación es posible, sea cuales fueran los atributos correlationGroup de los artículos. Este parámetro puede repetirse.
check
Es una lista de artículos de pedido que debe ser comprobada por el mandato de tarea CheckInventory. Este parámetro puede repetirse.
allocate
Es una lista de artículos de pedido a la cual se le debe asignar inventario existente. Este parámetro puede repetirse.
backorder
Es una lista de artículos de pedido a la cual se le debe asignar inventario previsto. Este parámetro puede repetirse.
reverse
Es una lista de artículos de pedido cuya asignación se debe liberar (es decir, desasignar del inventario existente o previsto, según sea apropiado). Este parámetro puede repetirse.
shippingAddressFromOrderProfile
Especifica si se debe utilizar la dirección de envío predeterminada contenida en el perfil de pedido: Si el valor es 1, la dirección de envío predeterminada se copia desde el perfil del pedido a todos los artículos del pedido especificados en toOrderId.
Nota: Si el valor de este parámetro es 1, el valor de updateOrderItemId_ i se establece implícitamente en "*" y el valor de addressId_ i se establece implícitamente en el número de referencia de la dirección de envío predeterminada. No se tienen en cuenta los valores de updateOrderItemId_i y addressId_i proporcionados en el URL.
shippingModeFromOrderProfile
Especifica si se debe utilizar la modalidad de envío predeterminada del perfil de pedido: Si el valor es 1, la modalidad de envío predeterminada se copia desde el perfil dle pedido a todos los artículos del pedido especificados en toOrderId.
Nota: Si el valor de este parámetro es 1, el valor de updateOrderItemId_i se establece implícitamente en "*" y el valor de shipModeId _i se establece implícitamente en el número de referencia de la modalidad de envío predeterminada. No se tienen en cuenta los valores de updateOrderItemId_i y shipModeId_i proporcionados en el URL.
copyAutoAddedOrderItems
Este nombre de parámetro indica si se deben copiar artículos de adición automática en OrderCopy.
blockInfoCopy
El valor predeterminado para este parámetro es Y. Decidirá si los objetos ORDERBLOCK se van a copiar.
sensitiveInfoCopy
El valor predeterminado de este parámetro es N. Determina si se copiarán los métodos de pago.
prepare
El valor predeterminado de este parámetros es nulo. Si el valor es Y, el pedido se preparará.
Nota: Los parámetros remerge, merge, check, allocate, backorder y reverse solo son aplicables si el inventario ATP está habilitado (consulte la columna STORE.INVENTORYSYSTEM en la tabla STORE). Estos parámetros representan listas de artículos de pedido que se pasan al mandato de tarea DoInventoryAction, el cual invocará AllocateInventory cuando se habilite ATP. AllocateInventory llama a los mandatos de tarea com.ibm.commerce.fulfillment.commands.CheckInventoryAvailabilityCmd, com.ibm.commerce.fulfillment.commands.AllocateExistingInventoryCmd, com.ibm.commerce.fulfillment.commands.AllocateExpectedInventoryCmd, com.ibm.commerce.fulfillment.commands.DeallocateExistingInventoryCmd y com.ibm.commerce.fulfillment.commands.DeallocateExpectedInventoryCmd que se especifican a continuación. Además, estos parámetros aceptan abreviaturas de artículo de pedido, las cuales se describen en la ayuda para los URL del subsistema de gestión de pedidos.
Los valores predeterminados de los parámetros de ATP son los siguientes:
  • remerge=*n
  • merge=*n
  • check=***
  • allocate=*n
  • backorder=*n
  • reverse=*n

Ejemplo 1

El ejemplo siguiente copia un pedido utilizando fromOrderId_1 pues el valor predeterminado de toOrder es ** (pedido nuevo) y el valor predeterminado de copyOrderItemId_1 es * (todos los artículos de pedido).

http://myhostname/webapp/wcs/stores/servlet/OrderCopy?fromOrderId_1=388
     &URL=OrderItemDisplay 

Ejemplo 2

El ejemplo siguiente crea dos pedidos pendientes, y luego fusiona todos los artículos procedentes de todos los pedidos pendientes del cliente.

http://myhostname/webapp/wcs/stores/servlet/OrderItemAdd?catEntryId=322200305&quantity=11&URL=OrderItemDisplay&storeId=32&orderId=**    

http://myhostname/webapp/wcs/stores/servlet/OrderItemAdd?catEntryId=322200301&quantity=11&URL=OrderItemDisplay&storeId=32&orderId=**    

http://myhostname/webapp/wcs/stores/servlet/OrderCopy?URL=OrderItemDisplay&fromOrderId_1=*&copyOrderItemId_1=* 

Ejemplo 3

El ejemplo siguiente añade un nuevo artículo de pedido al pedido 111.

http://myhostname/webapp/wcs/stores/servlet/OrderCopy?fromOrderId_1=111    
&toOrderId=111&partNumber_1=PART-I312200303&quantity_1=21&memberId_1=0&storeId=31&URL=OrderItemDisplay 

Ejemplo 4

El ejemplo siguiente realiza una operación de copia utilizando partNumber. Si se especifica partNumber, el parámetro catEntryId_ i no se tiene en cuenta. El parámetro partNumber_ i y el número de referencia de tienda especificado o implícito mediante los otros parámetros se utilizan para determinar un número de referencia de producto, mediante la selección de las columnas PARTNUMBER y MEMBER_ID en la tabla CATENTRY. Este mandato se comporta como si ese número de referencia de producto se hubiera especificado como el valor para catEntryId_ i. El mandato debe poder determinar un número de referencia de tienda a partir de los otros parámetros. El resultado es la adición de un nuevo artículo al pedido 111.


    
http://myhostname/webapp/wcs/stores/servlet/OrderCopy?fromOrderId_1=111
    
&toOrderId=111&partNumber_1=PART-I312200303&quantity_1=21
     &memberId_1=1&storeId=31&URL=OrderItemDisplay 

Ejemplo 5

El ejemplo siguiente copia la información de nivel de pedido, la información de pago, la información de dirección de envío del perfil de pedido en el pedido 1234:


http://myhostname/webapp/wcs/stores/servlet/OrderCopy?
&toOrderId=1234&shippingAddressFromOrderProfile=1&orderInfoFrom=q&paymentInfoFrom=q&URL=OrderItemDisplay

Comportamiento

  • Se invocan los mandatos de tarea ResolveOrdersCmd y ResolveOrderItemsCmd para resolver las abreviaturas de OrderId y OrderItemId y determinar los pedidos y artículos especificados por los parámetros.
  • El pedido de destino se crea en la tabla ORDERS con un estado de pedido de P, desbloqueado.
  • Se invoca la tarea CheckOrderCopyCmd para verificar la autorización del cliente para copiar información de los pedidos especificados por los parámetros fromOrderId_ i, orderInfoFrom y payInfoFrom, y para actualizar información en el pedido de destino.
  • Se actualiza información sobre el pedido en la tabla ORDERS.
  • Se copia información de envío de la tabla SHIPINFO del pedido especificado mediante el parámetro orderInfoFrom.
  • Se lee la información de pago del pedido especificado mediante el parámetro payInfoFrom, llamando al mandato de tarea GetOrderPaymentInfoCmd. A continuación, la información se actualiza de acuerdo con lo especificado por los parámetros pay_ payment_name y se escribe en el pedido de destino especificado por el parámetro toOrderId. Para ello se invoca la tarea de proceso SetOrderPaymentInfoCmd. Actualmente este mandato de tarea se conserva para mantener la compatibilidad con versiones anteriores.
  • Para cada parámetro copyOrderItem_ i y updateOrderItem_ i en orden ascendente de i, la información de artículos de pedido especificada se copia o se actualiza en la tabla ORDERITEMS para el pedido de destino, llamando al mandato OrderItemUpdate. Si el valor del parámetro prepare es Y, se llama a PrepareOrderCmd.
  • Si el valor del parámetro status es I, se prepara el pedido de destino para su visualización y proceso como si se hubiera invocado el mandato OrderPrepare: los importes se calculan y el pedido se bloquea. El estado del pedido de destino y de sus artículos de pedido se cambia a I en las tablas ORDERS y ORDERITEMS. Se invoca ValidateOrderAddressCmd para validar el valor de billingAddressId después de comenzar la copia del pedido. Si el parámetro prepare tiene el valor Y, se llama a OrderPrepare.
  • Si el valor de blockInfoCopy es Y, se copian objetos de bloqueo de pedido.
  • Si el valor de sensitiveInfoCopy es Y, se copian métodos de pago.
  • Se invoca el mandato de tarea ExtOrderCopyCmd.
  • Se añaden pares nombre-valor al URL de redirección, de acuerdo con lo especificado por los parámetros outOrderName y outShiptoName.

Condiciones de excepción

  • El mandato de tarea CheckOrderCopyCmd emite una excepción ECApplicationException de tipo _ERR_ORDER_COPY con la vista de error OrderCopyErrorView si se deniega el acceso del mandato OrderCopy a un pedido. Se establecen los siguientes pares nombre-valor:
    • ERROR_CODE=601
    • orderId= the offending order ID
  • Si el pedido de destino no está en estado pendiente, se emite una excepción ApplicationException de tipo _ERR_ORDER_WRONG_STATUS con la vista de error OrderCopyErrorView. Se definen también los siguientes pares nombre-valor:
    • ERROR_CODE=603
    • orderId= the offending order ID
  • También son aplicables todas las condiciones de excepción de OrderItemUpdate.