Preguntas técnicas para la entrevista Oracle BRM

Preguntas técnicas para la entrevista Oracle BRM

 

Preguntas de la entrevista de Oracle BRM (OBRM / Portal Infranet / Pipeline)

 

1). ¿Cómo implementará / configurará la conversión de moneda en BRM Pipeline?

2). ¿Cuáles son los pasos para escribir un código de operación personalizado?

Respuesta: Consulte este enlace para obtener más detalles: http://billingandrevenuemanagement.blogspot.com/2011/05/guidelines-to-write-new-fm-in-brm.html

3). ¿Cuáles son las formas admitidas de procesamiento de pagos en BRM?

Respuesta: Hay dos tipos de métodos de pago en BRM:

I). Pagos iniciados por BRM: el procesamiento de pagos iniciado por BRM es activado por BRM y no requiere ninguna acción por parte de los clientes. Los pagos procesados ​​de esta manera son aquellos por los que se cobra automáticamente a un cliente, como los pagos con tarjeta de crédito y domiciliación bancaria. Se admiten los siguientes métodos de pago iniciados por BRM:

Tarjeta de crédito

Tarjeta de débito (que no necesita PIN)

Débito directo

ii). Pagos iniciados externamente: la herramienta de pago o un método de aplicación de pago de terceros se utiliza para recopilar pagos iniciados externamente y registrarlos en BRM.

Los siguientes métodos de pago iniciados externamente son compatibles con BRM:

Dinero en efectivo

Cheque

Transferencia interbancaria

orden postal

Transferencia bancaria

Vale

4). ¿Cómo expondría los códigos de operación BRM personalizados a otras aplicaciones?

5). ¿Qué es UEL? ¿Dónde se usa?

Respuesta: UEL o Universal Event Loader se utiliza para clasificar y cargar los eventos de cualquier formato. Usando UE Mapper podemos crear la plantilla de mapeo para llamar al código de operación de calificación y con el cargador de UE los eventos se pueden clasificar y cargar en la base de datos de BRM.

 

6). ¿Qué es REL?

 

Respuesta: REL o Rated Event Loader cargó los eventos calificados por el motor de clasificación por lotes en BRM. Usó SQLLDR para cargar los eventos en diferentes tablas BRM.

7). ¿Cuáles son las diferencias en UEL y REL?

 

Respuesta: Diferencias –

I). UEL puede calificar los eventos mientras que REL no puede

ii). UEL llama a los códigos de operación de BRM para calificar y cargar los eventos, mientras que REL usa la utilidad sql para simplemente cargar los eventos clasificados en BRM DB

iii). UEL puede clasificar y cargar CDR de cualquier formato, mientras que REL puede cargar los CDR clasificados en formato SOL42.

8). ¿Cuáles son las diferentes etapas de carga en REL?

9). Explique la jerarquía de creación de productos.

10). ¿Qué son el administrador de diámetro y los administradores de radio en BRM?

11). ¿Qué es el administrador GSM y GPRS?

12). Cual es la diferencia en:

a). PIN_FLIST_FLD_SET y PIN_FLIST_FLD_PUT,

B). PIN_FLIST_FLD_GET y PIN_FLIST_FLD_TAKE

Respuesta:

 

PIN_FLIST_FLD_GET

PIN_FLIST_FLD_TAKE

Esta macro obtiene el valor de un campo de un

flist

Esta macro obtiene el valor de un campo de un flist y lo elimina del flist.

El valor devuelto es un puntero al valor real que posee el flist, y el campo permanece en el flist original, sin cambios.

La memoria asignada dinámicamente que contiene el valor del campo se devuelve a la aplicación

El valor devuelto debe tratarse como de solo lectura para mantener la integridad del flist.

La aplicación que recibe el valor obtiene la propiedad de la memoria asignada

La asignación de memoria de campo se libera al destruir el flist.

La aplicación es entonces responsable de liberar esta memoria cuando ya no sea necesaria.

PIN_FLIST_FLD_SET

PIN_FLIST_FLD_PUT

Esta macro agrega un campo y un valor a un

flist

Esta macro pone un campo (incluido su valor de datos) en un flist

El valor pasado no tiene que estar en la memoria dinámica

La memoria que contiene el valor debe asignarse dinámicamente

Se realiza una copia dinámica del valor especificado para el flist.

La memoria dinámica que contiene el valor se le da al flist como parte del put

El valor pasado no se ve afectado por la macro.

Esto es útil para agregar un campo al flist sin copiar su valor, si la aplicación ya no necesita esa memoria.

13). ¿Cómo recuperar un campo opcional de una lista de entrada para asegurarse de que el código no se rompa si el campo no está presente en la lista de entrada?

Respuesta: Establecer o no establecer la condición de error mientras se recupera un campo de una lista de entrada si el campo no está presente en la lista de entrada está controlado por la bandera “opcional”.

Si la bandera “opcional” se establece en un valor distinto de cero mientras se recupera el campo de la lista de entrada, la condición de error no se establece si el campo no está presente en la lista, lo que significa que el valor se consideraría opcional.

Si no se establece la bandera, la condición de error se establecería si el campo no está presente en la lista de entrada, lo que significa que el valor se consideraría obligatorio.

 

14). ¿Cuáles son los campos principales de la tabla de elementos o de la clase almacenable de elementos?

Respuesta: Los objetos de elemento representan A / R en Infranet. Cualquier impacto en las cuentas por cobrar de una cuenta se almacena y se realiza un seguimiento en un objeto / item. Esto incluye no solo tarifas y cargos por uso, sino también pagos, ajustes, disputas y reembolsos. Los eventos siempre pertenecen a uno o más objetos / item. El impacto de cualquier evento se puede rastrear hasta el seguimiento de / item que A / R. Algunos objetos / item pertenecen a un objeto / bill (tarifas de ciclo, uso, etc.), mientras que otros son A / R directos y no pertenecen a ninguna factura (pagos, reembolsos, etc.). Los campos principales / importantes de los objetos / item son PIN_FLD_ACCOUNT_OBJ, PIN_FLD_BAL_GRP_OBJ, PIN_FLD_BILLINFO_OBJ y PIN_FLD_STATUS. (PIN_FLD_STATUS – Estado de este artículo. Los valores son PENDIENTE (no facturado), ABIERTO (facturado) y CERRADO (vencimiento cero)).

Algunos de los campos más importantes para ser avisos en los objetos / item son:

DEBIDO, RECIBIDO, AJUSTADO, TRANSFERIDO, ESCRIBIR, DISPUESTO, TOTAL

 

 

15). ¿Cuáles son los campos principales de la tabla de cuentas o de la clase almacenable de cuentas?

 

dieciséis). ¿Cuáles son los diferentes estados de los objetos / item?

Respuesta: PENDIENTE (no facturado), ABIERTO (facturado) y CERRADO (vencimiento cero)

 

17). ¿Cuáles son los campos importantes de las clases / bill y / billinfo?

Respuesta :

 

/ factura: los objetos de factura representan facturas en Infranet. Cada cuenta de cliente tiene sus propios objetos de factura, incluso si la cuenta es subordinada (el objeto de factura tendrá un padre en ese caso). Un objeto de factura representa un período de facturación, que puede tener una duración de uno o más meses. Las cuentas por cobrar de una factura se almacenan y se registran en los objetos / item que apuntan a la factura. Los principales campos importantes de este objeto son: PIN_FLD_ACCOUNT_OBJ, PIN_FLD_BILLINFO_OBJ, PIN_FLD_INVOICE_OBJ, PIN_FLD_BILL_NO, PIN_FLD_DUE_T, PIN_FLD_TOTAL_DUE,

/ billinfo: los objetos BillInfo contienen la información de facturación de la cuenta, como el estado de facturación, el ciclo de facturación y contabilidad y la jerarquía. Cada cuenta tendrá al menos un BillInfo. Un grupo Balance contiene un puntero a BillInfo. De manera similar, un BillInfo contiene un puntero a su grupo de saldo predeterminado. Los principales campos importantes de este objeto son:

PIN_FLD_BILLINFO_ID, PIN_FLD_ACCOUNT_OBJ, PIN_FLD_ACTG_CYCLE_DOM, PIN_FLD_ACTG_TYPE, PIN_FLD_ACTG_LAST_T, PIN_FLD_ACTG_NEXT_T, PIN_FLD_ACTG_FUTURE_T, PINBILL_WDHD_, PINTEXT_BILL_WHD_

18). Escriba una lista de búsqueda que recupere todas las poids de cuenta cuya próxima fecha de facturación sea el 6 de enero.

 

19). ¿Qué es un POID?

Respuesta: POID es un tipo de datos de Portal / BRM de complejo con formato como:

DB_NO STORABLE_CLASS OBJECT_ID VERSION

<db_no> p. ej., un POID típico para un objeto de cuenta se ve así: 0.0.0.1 / cuenta 1 12

 

Dónde :

 

DB_NO: el número de la base de datos donde se crea la clase almacenable, p. Ej. 0.0.0.1

Nombre de clase almacenable: el nombre de la clase almacenable cuyo objeto es instanciado, p. Ej. por cuenta es / cuenta

ID de objeto: este es el ID del objeto creado en la base de datos

Versión: mantenida por la base de datos cada vez que se actualiza el objeto

 

20). ¿Cómo buscar y recuperar campos de dos clases diferentes usando un solo FList de búsqueda para PCM_OP_SEARCH?

Respuesta:

 

Se crea una sola pantalla de búsqueda para recuperar datos de dos objetos diferentes utilizando el concepto LINKED_OBJ, una búsqueda típica para esto se vería así:

0 PIN_FLD_POID POID [0] 0.0.0.1 / búsqueda -1 0

0 PIN_FLD_FLAGS INT [0] 768

0 PIN_FLD_TEMPLATE STR [0] ”seleccione X de / cuenta 1, / factura 2 donde 1.F1 = 2.F2 y 1.F3 = 100000”

0 PIN_FLD_ARGS ARRAY [1] asignado 20, usado 1

1 PIN_FLD_POID POID [0] puntero NULL

0 PIN_FLD_ARGS ARRAY [2] asignado 20, usado 1

1 PIN_FLD_ACCOUNT_OBJ POID [0] puntero NULL

0 PIN_FLD_ARGS ARRAY [3] asignado 20, usado 1

1 PIN_FLD_POID POID [0] puntero NULL

0 PIN_FLD_RESULTS ARRAY [*] asignado 20, usado 2

1 PIN_FLD_ACCOUNT_NO STR [0] “”

1 PIN_FLD_LINKED_OBJ ARRAY [2] asignó 20, usó 3

2 PIN_FLD_ACCOUNT_OBJ POID [0] puntero NULL

2 PIN_FLD_LINK_DIRECTION ENUM [0] 1

2 PIN_FLD_EXTRA_RESULTS ARRAY [*] asignado 20, usado 2

3 PIN_FLD_BILL_NO STR [0] “”

Nota:

1) El índice de matriz PIN_FLD_LINKED_OBJ debe ser solo 2.

2) PIN_FLD_LINK_DIRECTION puede tomar el valor 1 o –1

1 (DM_LINK_OBJ_RIGHT_TO_LEFT): significa que algún campo de segunda clase está relacionado con POID_ID0 de la primera clase.

Por ejemplo: en la lista de entrada anterior, PIN_FLD_ACCOUNT_OBJ de segunda clase / factura

Está relacionado con POID_ID0 de primera clase / cuenta.

-1 (DM_LINK_OBJ_LEFT_TO_RIGHT) – significa que algún campo de primera clase está relacionado con POID_ID0 de segunda clase.

Flist de salida:

0 PIN_FLD_POID POID [0] 0.0.0.1 / búsqueda -1 0

0 PIN_FLD_RESULTS ARRAY [0] asignado 3, usado 3

1 PIN_FLD_ACCOUNT_NO STR [0] “EJEMPLO”

1 PIN_FLD_POID POID [0] 0.0.0.1 / cuenta 100000 55

1 PIN_FLD_LINKED_OBJS ARRAY [2] asignado 24, usado 24

2 PIN_FLD_LINKED_OBJ ARRAY [0] asignado 1, usado 1

3 PIN_FLD_POID POID [0] 0.0.0.1 / factura 2157764469 1

2 PIN_FLD_LINKED_OBJ ARRAY [1] asignado 1, usado 1

3 PIN_FLD_POID POID [0] 0.0.0.1 / factura 2157639021 3

……………………………………………………………………….

……………………………………………………………………….

0 PIN_FLD_EXTRA_RESULTS ARRAY [1] asignado 2, usado 2

1 PIN_FLD_BILL_NO STR [0] “”

1 PIN_FLD_POID POID [0] 0.0.0.1 / factura 2157764469 1

0 PIN_FLD_EXTRA_RESULTS ARRAY [2] asignado 2, usado 2

1 PIN_FLD_BILL_NO STR [0] “B1-3294”

1 PIN_FLD_POID POID [0] 0.0.0.1 / factura 2157639021 3

0 PIN_FLD_EXTRA_RESULTS ARRAY [3] asignado 2, usado 2

1 PIN_FLD_BILL_NO STR [0] “B1-3312”

1 PIN_FLD_POID POID [0] 0.0.0.1 / factura 2157641837 3

0 PIN_FLD_EXTRA_RESULTS ARRAY [4] asignado 2, usado 2

1 PIN_FLD_BILL_NO STR [0] “B1-3311”

1 PIN_FLD_POID POID [0] 0.0.0.1 / factura 2157759772 4

0 PIN_FLD_EXTRA_RESULTS ARRAY [5] asignado 2, usado

1 PIN_FLD_BILL_NO STR [0] “B1-3318”

1 PIN_FLD_POID POID [0] 0.0.0.1 / factura 2157758940 4

21). ¿Podemos tener cuentas con DOM como 29,30 o 31?

Respuesta: De forma predeterminada, la cuenta puede tener el día de facturación del mes entre 1 y 28, ya que 29,30 y 31 no están en todos los meses. Sin embargo, el sistema BRM se puede configurar para tener el BDOM del cliente como 29,30 y 31. Los detalles se pueden encontrar aquí: http://billingandrevenuemanagement.blogspot.com/2011/02/31-day-billing-in-brm.html

 

22). ¿Qué es ciclo contable largo y ciclo contable corto?

Respuesta: El ciclo contable corto y largo se explica aquí en detalle: http: //billingandrevenuemanagement.blogspot.com/2011/02/partial-short-and-long-accounting.html

 

 

23). ¿Cuál es el ciclo contable predeterminado cuando se crea una cuenta?

Respuesta: De forma predeterminada, si el ciclo contable corto es de 15 días o más, cree un ciclo corto. Si el ciclo contable corto es de menos de 15 días, cree un ciclo largo.

Más información aquí: http://billingandrevenuemanagement.blogspot.com/2011/02/defaults-for-billing.html

 

24). ¿Qué otros objetos se crean al crear un objeto de cuenta usando PCM_OP_CUST_COMMIT_CUSTOMER?

25). ¿La creación de cuenta también crea / factura objeto?

26). ¿Cuál es el DOM predeterminado?

 

27). ¿Se puede crear una cuenta sin crear un objeto / service?

 

Respuesta: Sí, es posible. El siguiente flist cuando lo llama PCM_OP_CUST_COMMIT_CUSTOMER crea un cliente sin ningún plan o servicio:

0 PIN_FLD_POID POID [0] 0.0.0.1 / plan 9198 0

0 ARRAY PIN_FLD_ACCTINFO [0]

1 PIN_FLD_POID POID [0] 0.0.0.1 / cuenta -1 0

0 ARRAY PIN_FLD_PAYINFO [0]

1 PIN_FLD_POID POID [0] 0.0.0.1 / payinfo / invoice -1 0

1 PIN_FLD_PAY_TYPE ENUM [0] 10001

1 SUBSTRUCT PIN_FLD_INHERITED_INFO [0]

2 ARRAY PIN_FLD_INV_INFO [0]

3 PIN_FLD_ADDRESS STR [0] “Sunnyvale”

3 PIN_FLD_CITY STR [0] “SFO”

3 PIN_FLD_COUNTRY STR [0] “EE. UU.”

0 ARRAY PIN_FLD_NAMEINFO [1]

1 PIN_FLD_LAST_NAME STR [0] “Veilch”

1 PIN_FLD_FIRST_NAME STR [0] “Tom”

1 PIN_FLD_ADDRESS STR [0] “# 42, Castro St”

1 PIN_FLD_CITY STR [0] “Mountain View”

1 PIN_FLD_STATE STR [0] “SFO”

1 PIN_FLD_COUNTRY STR [0] “EE. UU.”

1 PIN_FLD_ZIP STR [0] “94114”

1 PIN_FLD_COMPANY STR [0] “Pizzería”

1 PIN_FLD_EMAIL_ADDR STR [0] “sam@pizzeria.com”

0 ARRAY PIN_FLD_SERVICES [0]

1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 / service / telco / gsm / telephony -1 0

28). En un código de operación personalizado, ¿cómo se administra una conexión BRM? o ¿Cómo se conecta un código de operación personalizado a BRM?

 

Respuesta: El contexto de conexión se recupera del puntero cm_nap_connection_t pasado al código de operación.

void SOME_PCM_OPCODE (cm_nap_connection_t * connp,

…,

….)

{

pcm_context_t * ctxp = connp-> dm_ctx;

otro código …

….

}

29). ¿Qué otros códigos de operación se ejecutan en la llamada de PCM_OP_CUST_COMMIT_CUSTOMER?

30). ¿Qué pasará si usamos PIN_FLD_PUT para poner un campo en un FList que fue recuperado por PIN_FLD_GET?

Respuesta: Nada, no necesitas destruir la memoria del campo que vas a poner.

 

Algunas preguntas de BRM de Tech Mahindra, entrevista de Bangalore:

 

31). En la jerarquía de cuentas, ¿qué son las cuentas de pago (no subordinadas) y las cuentas de no pago (subordinadas)?

32). ¿Cómo identificará si el tipo de cuenta paga o no paga desde el objeto / billinfo?

33). Si hay 3 cuentas, a saber, A1, A2 y A3 donde:

a). A1 es la cuenta matriz de A2 y A3

B). A2 es niño que no paga

C). A3 es niño de pago

Durante la generación de la factura, qué comportamiento se espera en BRM para estas cuentas. ¿Se generará la factura para las 3 cuentas?

34). ¿Qué es el análisis de eventos personalizado en GPRS en tiempo real? ¿Para qué sirve?

35). ¿Qué es el RUM y cómo se usa?

 

36). Si supongamos que necesitamos calcular RUM con un cálculo complejo como seno, cos o usando alguna otra fórmula, ¿será compatible con BRM?

Respuesta: No existe una configuración predeterminada para cambiar la forma en que se calculan los RUM, pero se puede personalizar cambiando el código de operación de la política PCM_OP_ACT_POL_SPEC_CANDIDATE_RUMS.

 

37). ¿Cómo se implementa el siguiente escenario?

“Si la cantidad nominal de un evento es menor o igual a 0,001, rechace el evento o almacene los eventos”.

¿Qué códigos de operación se modificarán para implementar esto y cuáles son las modificaciones que se deben hacer?

Respuesta: Para implementar el escenario anterior en un escenario en tiempo real, tenemos que personalizar el código de operación PCM_OP_RATE_POL_POST_RATING para implementar la funcionalidad anterior. Para implementar el escenario anterior para eventos retrasados, se debe escribir un iScript que califique y descarte el CDR anterior o descarte sin calificar según el requisito.

 

38). ¿Qué son los eventos precalificados?

 

Respuesta: Los eventos prevalorados son eventos para los que los cargos se asignan mediante un código de operación de la póliza o mediante el archivo de códigos de motivo. Estos eventos precalificados no son procesados ​​por las tarifas definidas en su lista de precios.

39). ¿Cómo asignará GLID a los eventos precalificados?

Respuesta: Los GLID se pueden asignar a eventos precalificados o parcialmente calificados utilizando el código de operación de la política PCM_OP_ACT_POL_SPEC_GLID. De forma predeterminada, este código de operación de política recupera el ID de mayor de un evento del objeto almacenable / config / map_glid, pero puede personalizarlo para realizar búsquedas en otros objetos y ver otros campos.

Por ejemplo, puede clasificar los ajustes personalizando el código de operación de la política para asignar ID de mayor según el tipo de ajuste.

 

 

40). ¿Cómo asignará GLID a los eventos no clasificados?

 

Los eventos no calificados, como pagos y reembolsos, se incluyen en los informes de L / M. Para asignar ID de L / M para eventos no clasificados, edite el archivo de muestra functions.en_US en el directorio inicio_BRM / sys / msgs / reasoncodes. Los ID de L / M que defina en este archivo y el archivo pin_glid deben coincidir.

 

Después de editar el archivo, usa la utilidad load_localized_strings para cargar el contenido del archivo en el objeto / config / map_glid.

Cuando ejecute la utilidad load_localized_strings, use este comando:

 

 

load_localized_strings razones.locale

 

 

41). ¿Cómo funcionan los ajustes?

 

42). ¿Qué son los códigos de motivo? ¿Para dónde se utilizan?

43). ¿Cómo implementará CUG en un entorno en tiempo real?

44). ¿Cómo implementará CUG en el entorno de calificación por lotes?

45). ¿Qué son las etiquetas de aprovisionamiento? ¿Cómo están configurados?

46). En FCT_DuplicateCheck, ¿cuál es la importancia de los parámetros de límite de tienda y límite de biffer? (Suponga que está usando sistemas de archivos para administrar registros en lugar de tablas)

47). ¿Cómo se mostrarán los eventos personalizados en la factura?

48). ¿Cómo se almacena generalmente una factura en la base de datos?

49). ¿Qué utilidad se utilizaría para generar XML a partir de la representación de la factura en la base de datos?

Respuesta: la utilidad pin_inv_export se utiliza para exportar la factura en el siguiente formato:

Texto sin formato

text / pin_flist

texto / xml

text / html (predeterminado)

text / doc1 (archivo sin formato)

 

Para exportar la factura en formato XML, configure invoice_fmt en PIN_HOME / apps / pin_inv / pin.conf en text / xml y ejecute pin_inv_export con los parámetros apropiados.

Consulte la documentación de BRM para obtener más información sobre la utilidad pin_inv_export.

50). ¿Para qué se utiliza el campo PIN_FLD_INVOICE_DATA? Cual es su significado?

 

RESPUESTA: El campo PIN_FLD_INVOICE_DATA en el objeto / event contiene un caché de todos los campos que deben manejarse en la facturación. El código de operación de la política PCM_OP_ACT_POL_SPEC_EVENT_CACHE se utiliza para definir qué campos de impacto de saldo se almacenan en caché para la facturación.

 

51). ¿Qué son los productos del sistema?

52). ¿Cómo se implementará el siguiente escenario?

“Un producto tiene un complemento. Un suscriptor no puede volver a comprar el mismo complemento hasta que caduque el primero ”

53). En una cuenta jerárquica, p. Ej. La cuenta A tiene cuentas secundarias que no pagan como B y C, ¿cómo se personalizará para generar facturas para las cuentas secundarias que no pagan? ¿Cuáles son los códigos de operación que se verán afectados por la implementación de este escenario?

54). ¿Cuál es la diferencia entre macros PIN y bibliotecas PCM?

 

Algunas preguntas de la entrevista Emphasis para BRM:

1). ¿Se puede personalizar un formato de POID? Si es así, ¿cómo?

Respuesta: No podemos personalizar el formato POID y no es necesario personalizarlo como tal.

 

2). ¿Cuál es la diferencia entre la categoría de impacto de tubería y la categoría de impacto de PortalBase?

3). ¿Cómo imprimirías un flist en Java?

4). ¿Cómo expondría los campos personalizados en Java?

5). ¿Cuál es el trabajo de pin_deferred_acts?

6). ¿De dónde se obtienen los detalles para la facturación?

7). ¿Cómo se establece una conexión en:

– PCM Java

– PCM C

8). ¿Cómo leería el valor de una configuración en pin.conf?

 

Algunas preguntas de la entrevista de Intuit para BRM:

1). Diferencia entre pin_flist_fld_get y take.

2). ¿Cómo se asigna la memoria a un flist creado usando la función pin_flist_create?

(Pista: montón o pila)

3). ¿Qué pasa si se llama a pin_flist_create dentro de una función local?

4). ¿Cuáles son las funciones pbo en BRM?

5). ¿Por qué a veces los flists se pasan como doble puntero en las funciones?

6). ¿Podemos reutilizar un puntero de flist? ¿Cómo?

Ingresa tus datos y atenderemos tu solicitud a la brevedad posible.

¿Cómo daremos seguimiento?