Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Dish México
Funcionalidad: Error en Familias
Registro de Cambios
3
Revisores
Nombre Puesto
Distribución
Nota:
Si recibe una copia electrónica de este documento y la imprime, favor de escribir su nombre
en el equivalente de la portada para propósitos de control documental.
Si recibe una copia impresa de este documento, favor de escribir su nombre en la portada
para propósitos de control documental.
Solución 2iixiv10ii
INCIDENCIA # I-170547
Enero 2021
Contenido
Solución 2iiixiv10iii
INCIDENCIA # I-170547
Enero 2021
Introducción
Issue I-170547
El presente documento tiene como alcance, el análisis de actualización de servicios del suscriptor e inserción de registros,
realizándose desde la funcionalidad del servicio (SOA) de familias, adoptando así el mismo manejo y nuevas reglas que
este módulo que ya se tienen considerados para la mejora.
1.1 Requerimiento del negocio
Requerimiento:
1) Un Carrier o familia se actualiza siempre y cuando cuente con un Carrier Inactivo con fecha de instalación
esto para generar un nuevo registro.
2) Un Carrier se actualiza siempre y cuando cumpla con un Carrier en estado Activo, solo realiza la
actualización de la fecha de instalación.
3) Un Carrier se actualiza siempre y cuando cumpla con un Carrier en prospecto, solo realiza la actualización de
la fecha de instalación y el estado de la familia a Activo.
El diseño y desarrollo deberá adaptarse a las reglas ya definidas para el módulo de familias en Siebel.
Se realizará el ajuste necesario en los procesos existentes que abarcan el supuesto.
1.4 Consideraciones
Los escenarios no documentados y/o validados en pruebas de certificación no serán considerados como
incidencias y tendrán que ser gestionados como control de cambios por medio de la oficina de administración de
proyectos bajo el flujo de nuevos requerimientos gestionados y priorizados por dicha oficina
INCIDENCIA # I-170547
Enero 2021
Descripción de flujo.
SOA
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:cus="http://siebel.com/CustomUI" xmlns:ds="http://www.siebel.com/xml/DS%20IT%20Family%20Date
%20IO">
<soapenv:Header/>
<soapenv:Body>
<cus:UPSERT_Input>
<ds:ListOfDsItFamilyDateIo>
<!--Zero or more repetitions:-->
<ds:DsItFamilyBc Operation="?">
<ds:AccountId>1-FKNBIK0</ds:AccountId>
<ds:DSInstallDate>09/23/2020</ds:DSInstallDate>
<ds:Family>DISH DTH</ds:Family>
<ds:Status>Activo</ds:Status>
<ds:SubFamily>DISH</ds:SubFamily>
<ds:Type>Servicio</ds:Type>
</ds:DsItFamilyBc>
</ds:ListOfDsItFamilyDateIo>
<cus:Process_spcInstance_spcId/>
<cus:Object_spcId/>
<cus:Siebel_spcOperation_spcObject_spcId></cus:Siebel_spcOperation_spcObject_spcId>
<cus:Error_spcCode/>
<cus:Error_spcMessage/>
</cus:UPSERT_Input>
</soapenv:Body>
</soapenv:Envelope>
Error
<siebelf:errormsg>
El método 'SetFieldValue' del business component 'DS IT Family BC' (componente de integración 'DS IT Family BC')
para el registro con especificación de búsqueda '[Account Id] IS NULL AND [Family] = "DISH DTH" AND [Subtype] IS
NULL' ha devuelto el error siguiente:"El valor del campo Subtype del business component DS IT Family BC no
coincide con ningún valor de la lista de selección enlazada DS IT Sub Family Pick List.(SBL-DAT-00225)"(SBL-EAI-
04451)
</siebelf:errormsg>
INCIDENCIA # I-170547
Enero 2021
SIEBEL STAGE
Escenario replica para tipo de acción Nuevo y familia inactiva sin valor en la LOV High (Alto).
Suscriptor: 10202893
Simulación
Segmento 1
INCIDENCIA # I-170547
Enero 2021
function ObtieneFamilia(strSubFamilia)
{
var boLov = TheApplication().GetBusObject("List Of Values");
var bcLov = boLov.GetBusComp("List Of Values");
bcLov.ActivateField("Type");
bcLov.ActivateField("Name");
bcLov.ActivateField("High");
bcLov.ActivateField("Parent");
bcLov.SetViewMode(AllView);
bcLov.ClearToQuery();
bcLov.SetSearchSpec("Type","DS_IT_SUB_FAMILY");
bcLov.SetSearchSpec("Name", strSubFamilia);
bcLov.ExecuteQuery(ForwardOnly);
if(bcLov.FirstRecord())
{
INCIDENCIA # I-170547
Enero 2021
return(bcLov.GetFieldValue("High"));
}
Descripción:
Obtiene valor dato por la Subfamilia DTH, el código consulta una LOV con el dato de DTH, y lo obtiene el valor del
campo High
A nivel administración de lista de valores no existe el valor en el campo, lo cual no obtiene ningún valor, esto genera
que no se cumpla el proceso.
Escenario 2 replica para tipo de acción Nuevo y familia inactiva con valor en la LOV High (Alto).
function ObtieneFamilia(strSubFamilia)
{
var boLov = TheApplication().GetBusObject("List Of Values");
var bcLov = boLov.GetBusComp("List Of Values");
bcLov.ActivateField("Type");
bcLov.ActivateField("Name");
bcLov.ActivateField("High");
bcLov.ActivateField("Parent");
bcLov.SetViewMode(AllView);
bcLov.ClearToQuery();
bcLov.SetSearchSpec("Type","DS_IT_SUB_FAMILY");
bcLov.SetSearchSpec("Name", strSubFamilia);
INCIDENCIA # I-170547
Enero 2021
bcLov.ExecuteQuery(ForwardOnly);
if(bcLov.FirstRecord())
{
return(bcLov.GetFieldValue("High"));
}
Descripción:
Obtiene valor dato por la Subfamilia DTH, el código consulta una LOV con el dato de DTH, y lo obtiene el valor del
campo High
Segmento 3
Descripción:
Obtiene valor dato por la Subfamilia DTH, del campo High = ALPHA PREPAGO
Segmento 4
// Valida Familia
INCIDENCIA # I-170547
Enero 2021
Descripción:
Valida que la familia sea diferente o igual a Null o blanco (sin valor)
Valida el tipo de acción a ejecutar en este escenario es New (Nuevo).
Segmento 5
if (bcAccount.FirstRecord()){
Idcliente = bcAccount.GetFieldValue("Id");
switch (strAccion){
case "Upgrade":
Ejecuta = Upgrade(Familia, Idcliente, strFechaInsta,strNoCliente,strSubFamilia);
break;
case "Downgrade":
Ejecuta = Downgrade(Familia, Idcliente, strFechaCancel,strNoCliente);
break;
case "Cancel":
Ejecuta = Cancelar(Familia, Idcliente,strFechaCancel,strNoCliente);
break;
case "New":
Ejecuta = Nuevo(Familia, Idcliente, strFechaInsta,strNoCliente,strSubFamilia);
break;
}
Descripción:
Valida que tipo de acción es para invocar la Función correspondiente, en este escenario (Nuevo)
INCIDENCIA # I-170547
Enero 2021
Descripción:
Setea las valiables del estatus de la Familia en las variables.
Segmento 4: continuación
Descripción:
Realiza una consulta si existe la familia llamada High = ALPHA PREPAGO en el suscriptor, si no existe no realiza
ninguna acción.
Donde si no existe la familia de lo que obtuvo en el campo High en el Suscriptor, no realiza ninguna operación el proceso
Al igual que si no contara con alguna suscripción el suscriptor, no realizaría ninguna acción?
Si la familia fuera DISH DTH y el estado de este es Inactivo, entra a actualizar e inserta el registro.
Segmento 4: continuación
Descripción:
Actualiza la información del Carrier existente cuando el estado de la familia esta Inactivo
Error
El valor del campo Subtype del business component DS IT Family BC no coincide con ningún valor de la lista
de selección enlazada DS IT Sub Family Pick List.(SBL-DAT-00225)
Este error pertenece a las lista de valores que de acuerdo al análisis están dañadas
INCIDENCIA # I-170547
Enero 2021
Solución
1) Para solucionar el error se quita los pick list del BC en los campos Family y Subtype ya que a nivel aplicación no
se permite elegir el valor (todo es en automático la creación del registro).
2) Para la solución de insertar el nuevo Carrier diferente al que se tiene igual activo o no cumpla con lo anterior se
realiza una condiconal mas para la inserción.
Aprobadores