Cuando los clientes pulsan Crear nueva lista de solicitudes, en la
página Lista de solicitudes, se visualiza la página Nueva lista de solicitudes,
RequisitionListCreate.jsp.
Los clientes deben elegir un nombre para la nueva lista, el tipo de lista, es decir,
si es privada o compartida, y pueden entrar los códigos de artículo y las cantidades
para los artículos que deseen incluir en la nueva lista.
Nota: Los clientes sólo pueden entrar un máximo de 30 artículos por
lista de solicitudes en esta página. Si los clientes desean añadir más artículos, deben
utilizar la página Editar lista de solicitudes. Si los clientes entran el código de
artículo válido y dejan la cantidad en blanco, se tomará uno como valor por omisión
para la cantidad. Si el campo de código de artículo se deja vacío, se hará caso
omiso del campo de cantidad.
Mandatos
RequisitionListCreate.jsp utiliza los mandatos siguientes:
Beans
RequisitionListCreate.jsp utiliza los beans siguientes:
Implementación
Cuando los clientes pulsan Crear nueva lista de solicitudes en la página Lista de solicitudes, se llama al mandato RequisitionListCreateView y se visualiza la página Nueva lista de solicitudes, RequisitionListCreate.jsp. RequisitionListCreateView está registrado con RequisitionListCreate.jsp en la base de datos. Todos los campos se inicializan como vacíos, según se muestra en el código siguiente:
//El formulario se carga bajo condiciones normales. Inicializar todos los campos como vacíos. strName = ""; strStatus = "Y";
for (int i=0; i<31; i++) { strPartNumber[i] = ""; strQuantity[i] = ""; } strPartNumber[1] = partNumber; strQuantity[1] = quantity;
Una vez que los clientes han entrado la nueva información y han pulsado Guardar, el mandato RequisitionListUpdate crea una nueva lista de solicitudes y la llena con los nuevos artículos. A continuación, RequisitionListUpdateView carga la página Editar lista de solicitudes. Los clientes pueden entonces editar la lista de solicitudes recién creada cambiando el tipo, añadiendo un nuevo artículo o cambiando la cantidad. RequisitionListUpdate.jsp se utiliza para editar la lista de solicitudes.
Nota: La lista de solicitudes por omisión es privada.
Manejo de errores
Si los clientes entran información inexacta, como por ejemplo, una cantidad o un código de artículo incorrecto, ErrorDataBean muestra un mensaje de error en la página, como se muestra a continuación:
if (strMessageKey != null && strMessageKey.length() > 0) { // Tenemos un error
strMessageParams = bnError.getMessageParam(); if (strMessageKey.equals(ECMessageKey._ERR_BAD_MISSING_CMD_PARAMETER)) { strErrorMessage = tooltechtext.getString("Newreq_Error_Missing_Parameter"); } else if (strMessageKey.equals(ECMessageKey._ERR_GETTING_SKU)) { TypedProperty nvps = bnError.getExceptionData(); if (nvps != null) { String catEntryId = nvps.getString("catEntryId"); ProductDataBean prodDB=new ProductDataBean(); prodDB.setProductID(catEntryId); com.ibm.commerce.beans.DataBeanManager.activate(prodDB, request); strErrorMessage = tooltechtext.getString("Newreq_Error_ProdSKU")+prodDB.getPartNumber(); }
} else if (strMessageKey.equals(ECMessageKey._ERR_PROD_NOT_EXISTING)) { strFieldName = (String)strMessageParams[0]; strErrorMessage = tooltechtext.getString("Newreq_Error_SKU") + strFieldName; } else if (strMessageKey.equals(ECMessageKey._ERR_INVALID_INPUT)) { strErrorMessage = tooltechtext.getString("Newreq_Error_Quantity")+jhelper.getParameter("quantity"); } //Recuperar los datos de formulario entrados antes strName = jhelper.getParameter("orderDesc"); strStatus = jhelper.getParameter("status"); for (int i=1; i<31; i++) { strPartNumber[i] = jhelper.getParameter("partNumber_"+i); strQuantity[i] = jhelper.getParameter("quantity_"+i); if (strPartNumber[i]==null) strPartNumber[i] = ""; if (strQuantity[i]==null) strQuantity[i] = ""; }
}
![]() |