Billing KnowledgeBank
Billing KnowledgeBank
The Steps for Test Cases execution for Arbor are divided into following sub sections:
1) Verify the Customer and the MSISDN exists in Arbor DB and are valid.
2) Verify that the Price Plan attached in Clarify to the MSISDN gets Activated/De-activated
to the same MSISDN in Arbor also.
3) Verify that the Discounts attached in Clarify to the MSISDN gets Activated/De-activated to
the same MSISDN in Arbor also.
4) Performing the Sample Billing for the Account for next billing cycle
5) Generate the invoice in DOC1 to verify that the Price Plan and discounts are correctly
applied.
The above sub sections are described with detailed Steps below:
Verify the Customer and the MSISDN exists in Arbor DB and are valid.
The following steps are executed for the verifications:
Step 1: Run the following query in the CATALOG database in FACTT_MS to verify that the
Customer Account as specified in the Clarify exists in Arbor:
If the query doesn’t retrieve any value, the Account is not present in Arbor. If the Account No. is
returned by query, the account exists in Arbor DB. Take a note of this account_no.
Step 2: Run the following query in the CATALOG database in FACTT_MS to verify that the
Customer Account as specified in the Clarify exists in Arbor:
If the query doesn’t retrieve any value, the MSISDN is not present in Arbor. If the query returns a
row, verify that the MSISDN is active on the same account as retrieved in Step 1. Take a note of
subscr_no and server_id field. The server_id will provide the Customer Database to which the
Account belongs as the Customer Database to which the Account belongs will be always
server_id-2. For example, if the value of server_id retrieved is 17, then Customer Database to
which the Account belongs is 17-2=15.
Verify that the Price Plan attached in Clarify to the MSISDN gets
Activated/De-activated to the same MSISDN in Arbor also.
The following steps need to be executed:
Step 1: Login to the MIDDLET_MS DDBB using username PPR_BATCH and password as
psbatch and run the following query:
select * from x_mapping where cla_id in ('<Name of the Price Plan in Clarify>')
Take a note of arb_id and arb_type values retrieved from the query.
Step 2: Based on the Customer Database where the account reside in FACTTxx_MS DDBB,
where xx is 01 if the Account resides in Customer Database 15 to 20 or the value of xx is 03 if the
account resides in Customer Database 1 to 14.
If arb_type is product, then run the following query to verify that the Price Plan is active for the
MSISDN or not else Go to Step 3:
If we need to verify that the Price Plan is active for the Account, verify that the Activation Date is
correctly applied and Inactive Date is Null. If we need to verify that the Price Plan is deactivated,
verify that the Activation date and Deactivation Date is correctly shown.
Go to “Verify that the Discounts attached in Clarify to the MSISDN gets Activated/De-
activated to the same MSISDN in Arbor also” section
Step 3: If arb_type is ppkg, then run the following steps of queries to verify that the Price Plan is
Active/Inactive.
Take a note of the member_id value retrieved in this query where the value of member_type is 1.
If we need to verify that the Price Plan is active for the Account, verify that the Activation Date is
correctly applied and Inactive Date is Null. If we need to verify that the Price Plan is Deactivated,
verify that the Activation date and Deactivation Date is correctly shown.
Verify that the Discount attached in Clarify to the MSISDN gets
provisioned to the same MSISDN in Arbor also.
The following steps need to be executed for verifications
Step 1: Login to the MIDDLET_MS DDBB using username PPR_BATCH and password as
psbatch and run the following query:
select * from x_mapping where cla_id in ('<Name of the Discount in Clarify>')
Take a note of arb_id and cla_id values retrieved from the query.
Step 2: Based on the Customer Database where the account reside in FACTTxx_MS server,
where xx is 01 if the Account resides in Customer Database 15 to 20 or the value of xx is 03 if the
account resides in Customer Database 1 to 14.
Run the following query to verify that the discounts are Active/Inactive
If we need to verify that the Discount is active for the Account, verify that the Activation Date is
correctly applied and Inactive Date is Null. If we need to verify that the Discount is deactivated,
verify that the Activation date and Deactivation Date is correctly shown.
Performing the Sample Billing for the Account for next billing cycle
Once the Price Plan and Discount verification is done, we need to run the sample billing for the
next billing cycle to validate the change in the Price Plan and the Discount reflect in the Invoice
correctly. Following steps are performed for the same:
Step 1: Based on the Customer Database where the account reside in FACTTxx_MS DDBB,
where xx is 01 if the Account resides in Customer Database 15 to 20 or the value of xx is 03 if the
account resides in Customer Database 1 to 14. Check the billing cycle to which the account has
been billed using the following query
Take a note of to_date and from_date fields to find if the billing cycle for the account is the current
billing cycle or not. The billing cycle is the current billing cycle if the account has been billed till the
current month. For example, if the account is billed on 1 st of every month and we execute the
above query on 29th Oct, then the current billing cycle for the account will have from_date as 1 st
Sept and to_date as 31st Oct.
Step 2: If the billing cycle for the account as retrieved from previous step is not the current billing
cycle, we need to bring the account to current billing cycle. But if the billing cycle is the current
cycle, Go to Step 5. To bring the account to current cycle we need to follow following steps:
Step 3: Prepare to run the normal billing for the account to bring it to the current billing cycle.
Run the following set of queries for the same:
select * from FC_BIP_CYCLE_ACCOUNTS where account_no = <Value retrieved from Step 1 in “Verify
the Customer and the MSISDN exists in Arbor DB and are valid“ section>
If the query returns values for the the account, use the following query delete the values:
delete from FC_BIP_CYCLE_ACCOUNTS where account_no = <Value retrieved from Step 1 in “Verify
the Customer and the MSISDN exists in Arbor DB and are valid“ section>
insert into FC_BIP_CYCLE_ACCOUNTS values ( Value retrieved from Step 1 in “Verify the Customer and the
MSISDN exists in Arbor DB and are valid“ section>,0,1)
4.1 Run one of the Pre-BIP processes as mentioned below based on the Customer
Database to which the account belongs:
CUSTOMER_01 FEARB041L
CUSTOMER_02 FEARB042L
CUSTOMER_03 FEARB043L
CUSTOMER_04 FEARB044L
CUSTOMER_05 FEARB055L
CUSTOMER_06 FEARB056L
CUSTOMER_07 FEARB057L
CUSTOMER_08 FEARB058L
CUSTOMER_09 FEARB609L
CUSTOMER_10 FEARB60AL
CUSTOMER_11 FEARB60BL
CUSTOMER_12 FEARB60CL
CUSTOMER_13 FEARB69DL
CUSTOMER_14 FEARB69EL
CUSTOMER_15 FEARB69FL
CUSTOMER_16 FEARB69GL
CUSTOMER_17 FEARB80HL
CUSTOMER_18 FEARB80IL
4.2 Run one of the BIP processes as mentioned below based on the Customer Database
to which the account belongs:
CUSTOMER_01 FEARB0411
CUSTOMER_02 FEARB0421
CUSTOMER_03 FEARB0431
CUSTOMER_04 FEARB0441
CUSTOMER_05 FEARB0551
CUSTOMER_06 FEARB0561
CUSTOMER_07 FEARB0571
CUSTOMER_08 FEARB0581
CUSTOMER_09 FEARB6091
CUSTOMER_10 FEARB60A1
CUSTOMER_11 FEARB60B1
CUSTOMER_12 FEARB60C1
CUSTOMER_13 FEARB69D1
CUSTOMER_14 FEARB69E1
CUSTOMER_15 FEARB69F1
CUSTOMER_16 FEARB69G1
CUSTOMER_17 FEARB80H1
CUSTOMER_18 FEARB80I1
Repeat steps 4.1 and 4.2 repeatedly till the account’s billing cycle comes to the current cycle. Use
the following query to verify the same
Step 5: Prepare to run the sample billing for the account. Follow the following sub-steps for the
same:
select account_category from CMF where account_no = <Value retrieved from Step 1 in “Verify
the Customer and the MSISDN exists in Arbor DB and are valid“ section>
5.3 Run the following query to get the to_date value for the account
5.4 Run the following set of queries to insert the value in the
FC_SAMPLE_LIST_MASTER table
If the query returns values, run the following query to delete these values
6.2 Run one of the Pre-BIP processes as mentioned below based on the Customer
Database to which the account belongs:
CUSTOMER_01 FEARB3610
CUSTOMER_02 FEARB3620
CUSTOMER_03 FEARB3630
CUSTOMER_04 FEARB3640
CUSTOMER_05 FEARB3750
CUSTOMER_06 FEARB3760
CUSTOMER_07 FEARB3770
CUSTOMER_08 FEARB3780
CUSTOMER_09 FEARBC190
CUSTOMER_10 FEARBC1A0
CUSTOMER_11 FEARBC1B0
CUSTOMER_12 FEARBC1C0
CUSTOMER_13 FEARBC2D0
CUSTOMER_14 FEARBC2E0
CUSTOMER_15 FEARBC2F0
CUSTOMER_16 FEARBC2G0
CUSTOMER_17 FEARB38H0
CUSTOMER_18 FEARB38I0
CUSTOMER_19 FEARB38J0
CUSTOMER_20 FEARB38K0
6.3 Run one of the BIP processes as mentioned below based on the Customer
Database to which the account belongs:
CUSTOMER_01 FEARB3615
CUSTOMER_02 FEARB3625
CUSTOMER_03 FEARB3635
CUSTOMER_04 FEARB3645
CUSTOMER_05 FEARB3755
CUSTOMER_06 FEARB3765
CUSTOMER_07 FEARB3775
CUSTOMER_08 FEARB3785
CUSTOMER_09 FEARBC195
CUSTOMER_10 FEARBC1A5
CUSTOMER_11 FEARBC1B5
CUSTOMER_12 FEARBC1C5
CUSTOMER_13 FEARBC2D5
CUSTOMER_14 FEARBC2E5
CUSTOMER_15 FEARBC2F5
CUSTOMER_16 FEARBC2G5
CUSTOMER_17 FEARB38H5
CUSTOMER_18 FEARB38I5
CUSTOMER_19 FEARB38J5
CUSTOMER_20 FEARB38K5
6.4 Run the following query to verify that the account has been billed or not
Verify that the to_date and from_date have been correctly updated and format_status
field has the value 0.
6.5 Execute one of the FED jobs as mentioned below based on the Customer Database
to which the account belongs:
CUSTOMER_01 FEARBED10
CUSTOMER_02 FEARBED20
CUSTOMER_03 FEARBED30
CUSTOMER_04 FEARBED40
CUSTOMER_05 FEARBED50
CUSTOMER_06 FEARBED60
CUSTOMER_07 FEARBED70
CUSTOMER_08 FEARBED80
CUSTOMER_09 FEARBED90
CUSTOMER_10 FEARBEDA0
CUSTOMER_11 FEARBEDB0
CUSTOMER_12 FEARBEDC0
CUSTOMER_13 FEARBEDD0
CUSTOMER_14 FEARBEDE0
CUSTOMER_15 FEARBEDF0
CUSTOMER_16 FEARBEDG0
CUSTOMER_17 FEARBEDH0
CUSTOMER_18 FEARBEDI0
CUSTOMER_19 FEARBEDJ0
CUSTOMER_20 FEARBEDK0
6.7 Execute one of the FNC jobs as mentioned below based on the Customer Database
to which the account belongs:
CUSTOMER_01 FEARB3616
CUSTOMER_02 FEARB3626
CUSTOMER_03 FEARB3636
CUSTOMER_04 FEARB3646
CUSTOMER_0A FEARB3756
CUSTOMER_06 FEARB3766
CUSTOMER_07 FEARB3776
CUSTOMER_08 FEARB3786
CUSTOMER_09 FEARBC196
CUSTOMER_10 FEARBC1A6
CUSTOMER_11 FEARBC1B6
CUSTOMER_12 FEARBC1C6
CUSTOMER_13 FEARBC2D6
CUSTOMER_14 FEARBC2E6
CUSTOMER_1A FEARBC2F6
CUSTOMER_16 FEARBC2G6
CUSTOMER_17 FEARB38H6
CUSTOMER_18 FEARB38I6
CUSTOMER_19 FEARB38J6
CUSTOMER_20 FEARB38K6
FEARB3801
FEARB3802
6.7 Run the following query to verify that the processes have run fine
Verify that the format_status value has been updated to 2. Take a note of the
6.8 Run the following query to validate that the ext_bill_ref_no is updated.
Step 7: Run the following sub-steps to complete the extraction of bill to be sent to DOC1 for the
preparation of the pdf format Invoice.
7.1 Execute one of the FEC jobs as mentioned below based on the Customer Database
to which the account belongs:
CUSTOMER_01 FEARB3910
CUSTOMER_02 FEARB3920
CUSTOMER_03 FEARB3930
CUSTOMER_04 FEARB3940
CUSTOMER_05 FEARB4050
CUSTOMER_06 FEARB4060
CUSTOMER_07 FEARB4070
CUSTOMER_08 FEARB4080
CUSTOMER_09 FEARBC390
CUSTOMER_10 FEARBC3A0
CUSTOMER_11 FEARBC3B0
CUSTOMER_12 FEARBC3C0
CUSTOMER_13 FEARBC4D0
CUSTOMER_14 FEARBC4E0
CUSTOMER_15 FEARBC4F0
CUSTOMER_16 FEARBC4G0
CUSTOMER_17 FEARBC8H0
CUSTOMER_18 FEARBC8I0
CUSTOMER_19 FEARBC8J0
CUSTOMER_20 FEARBC8K0
7.2 Execute one of the CDOC jobs as mentioned below based on the Customer
Database to which the account belongs:
CUSTOMER_01 FEARB3052
CUSTOMER_02 FEARB3052
CUSTOMER_03 FEARB3052
CUSTOMER_04 FEARB3052
CUSTOMER_05 FEARB3053
CUSTOMER_06 FEARB3053
CUSTOMER_07 FEARB3053
CUSTOMER_08 FEARB3053
CUSTOMER_09 FEARB3054
CUSTOMER_10 FEARB3054
CUSTOMER_11 FEARB3054
CUSTOMER_12 FEARB3054
CUSTOMER_13 FEARB3055
CUSTOMER_14 FEARB3055
CUSTOMER_15 FEARB3055
CUSTOMER_16 FEARB3055
CUSTOMER_17 FEARB3055
CUSTOMER_18 FEARB3055
CUSTOMER_19 FEARB3055
CUSTOMER_20 FEARB3055
• The Communications (COM) process retrieves files of usage records from a network mediation
layer.
• The Usage Router (MCAP) process routes usage records to the proper Customer server.
• The Usage Guider/Rater (CAP) process rates usage records.
• The Long Term Persistence (LTP) module commits rated usage data to the Arbor database.
The CAP process internally call LTP process and it is not required to launch the same
separately. Once the CAP has processed our CDR file it puts the file in
/opt/kenan/data/kenanFX/data/usage/ltp/ready directory with the naming convention as
OriginalFileName.file_id.
We look out for ltp logs in $HOME/logs directory to verify that the ltp process is
completed or not. Generation of ltp logs implies that the ltp process has completed
processing. Once the ltp process completes, our CDR file moves from
/opt/kenan/data/kenanFX/data/usage/ltp/ready to
/opt/kenan/data/kenanFX/data/usage/ltp/done directory
Once the ltp process finishes, go to CDR_DATA table in FACTT0x_MS and verify that
the CDR records have been committed to database or not. Here x is either 0 or 3
depending upon the Customer Server. Use the following query for the same
Additional cases
Free Calls:
In cases of calls defined as “to be rated “ but “not to be billing“, one entry is generated in
CDR_FREE table in FACTT0x_MS. These calls will not follow with billing process.
Use the following query:
Invalid calls
In case of invalid calls, that it is not possible to be rated, one entry is generated in
CDR_DATA_WORK table in FACTT_MS in Admin Database.
Select miu_error_code from CDR_DATA_WORK where file_id = <file id no. retrieved from
/opt/kenan/data/kenanFX/data/usage/ltp/ready directory>
Then query in table SYSTEM_MESSAGES to see error message. Use the following
query:
The Rating process in Arbor begins when a text file containing call records arrives to ARBOR.
These files are commonly called CDRs (Call Data Records). Each line in the file is associated
with one call, one SMS, one download etc. These files come to ARBOR from different systems
depending on the consumption type
But usually in our testing scenario, we manually create CDRs to replicate usage scenarios. The
document explains how a CDR is manually created.
Each CDR has a particular format based on usage type. These CDR formats information is
available in Arbor table RAW_USAGE_FIELD_MAPPING. CDR format is based on type of a
usage for which we need to perform testing. For example the snapshot below shows the CDR
format for GPRS.
Each CDR starts with a header line. It is then followed by one or more lines of details of usage.
Finally a CDR file ends with a trailer. Attached is a sample CDR file for GPRS
C:\Documents and
Settings\Administrator\Desktop\March Release\Execution\6363\ES6363\Arbor-Doc1\SC_01\CDR_63630102_New.txt
For our testing purpose we usually manipulate some of the fields from the sample CDR to
prepare test data.
Step 5: Verify that the invoice generated reflects the changes in Price Plan and Discounts
correctly.
1) Once you have created the invoice (pdf file), then create the xml file. Also clear
everything from path "E:/factxml/out_ciclo_01/fxml0"
4) Two parameters must be passed to the script, the parttition and the cycle, in our case
the parttition is “0” and the cycle will be “01”. The script must be executed as “aDOC1-
XML.cmd 0 01”
5) The XML files will be at “E:/factxml/out_ciclo_01/fxml0” there will be one XML file
for each invoice.
Recalculation
1) Go to Servicios tab and check MSISDN in the column “Servicios” that is in left of
window in tab “Servicios”.
2) If you are applying the PricePlan click on Cambiar Plan de Precios.
3) Else if you are applying the Supplementary Serivce click on Service
Supplemento.
4) Else if you are applying the Bonus click on Applicadas Bonos.
5) Else click on Descuntos if you are applying the discount.
6) A new corresponding (either to PP, SS, Bonus, Discount) screen will open and
select the corresponding (either PP, SS, Bonus, Discount) from the drop down
menu.
7) Click on Anadir.
8) Click on Recalcular.
9) A new small screen will open.
10) Click on ver field against your factura number.
11) Another new screen will open “Resumen del Proceso de Recalculo”, which shows
the calculation being done after the PP or SS or Bonus or Discount is applied.
12) Click on volver button.
13) In Datos Administrativos screen, click on 7 tabs that are at the end of the page, to
see the changes.
MEDIATION:-
Apache
4) Copy the input file in the corresponding directory depending on the type of usage
to be tested
/CHAT
/DRM
/GPRS
/LIBERTY
/MMS
/PushToTalk
/STARENT
Navajo
4) Copy the input file in the corresponding directory depending on the type of usage
to be tested
/CCN
/CCP
/CORPA
/EFAX
/ER
/ER4
/GAIAS
/GDF
/IVPN
/LES
/MWEB
/NRTROUT
/SCP
/TAP3
/TMAP
/UM
Itanium
Optimal Pricing is a tool, principal target of which is to rate all clients call events following several
configurations. The tool is basically used to suggest an optimal price plan to the Vodafone client
whenever he requests for the same. When a Vodafone Customer enquires with a CSR about the
Optimal Price Plans available, the CSR simulates the Price Plan and then suggest the list of Price
Plans which are more Optimal (If any) than the existing Price Plan the Customer has. By
simulation we mean that for the same CDRs, the simulated rating is done with different price
plans and then Optimal Price Plan is suggested to the Customer. The application is also used by
Marketing Executives to identify the Optimal Plans available for a group of users. All the existing
Price Plans are configured in this tool and new Price Plans are added whenever a request comes
for the same. This tool shows to the users their saving with the different configured prices plans
and other interested information.
1. OPTIMAL PRICING OPERATIONS
One of the major component of Optimal Pricing is the Rater. OPR’s major functionality is to
calculate the call events price with the diferent Vodafone price plans.
Configuration Files : These are several xml files which have all information on Vodafone
price plans, tariffs, profits, products.
Client Call Event Files : These are the call event files which the OPR receives from the
Arbor (PostPaid) and PUC (PrePaid) systems. For each billing cycle all the call events
are sent by Arbor and PUC to the OPR. The OPR uses these files to carry out its
operations. The Arbor Postpayment files will be with the naming convention
“FAC_{cycle’s date YYYYMMDD}_OP.dat” while the PUC file have the naming convention
“PUC_{cycle’s date YYYYMMDD}_OP.dat”.
FAC_20100801_OP. PUC_20080901.dat
dat
The Rater loads all information from configuration files in the RAM memory to use it during the
rater process. OPR then calculate the call events price with the diferents Vodafone price plans
with the help of the input files from Arbor and PUC. The OPR generate several files with the
results of the price plan simulations. Following is the list of output generated :
TarificadosDetalle: It shows the price plans simulation information for each Vodafone
client. This information will be loaded in the data bases’s table
OP_RC_RESULTADOS_PS.
DetalleUsosPPOriginal: It shows simulated information in differents levels which are
defined in the table OP_CA_DETALLE_USOS. This information will be loaded in the
table: OP_OR_DETALLE_USOS.
MejoresB: It shows the information of calls and sms to the best B numbers for each
client. This information will be loaded in the table: OP_OR_USOS_MEJORES_B.
UsoProductosContratados: It shows clients products information. This information will
be loaded in the table: OP_OR_USO_PRODUCTOS_CTR.
Promociones: It shows promotions information. This information will be loaded in the
table: : OP_OR_PROMOCIONADOS.
Data: It shows data price plans simulations, this information will be loaded in the table:
OP_RC_DATA.
The Optimal Pricing application has two subproducts, namely Optimal Pricing Particular (OPP)
and Optimal Pricing Enterprise (OPE). In each one of the sub products the following
functionalities will be defined:
This part of the Optimal Pricing makes a reference to all the operations to be performed on the
individuals. There are 2 directories which will be navigated during the entire backend processes
that need to be executed.
/
opt/weblogic/wlprep1/PREPRO/applications/VodafoneApps/OptimalPricing_R3/OP_
Retarificador is the app directory and will have all the scripts that need to be executed.
/opt/weblogic/share/OptimalPricing_R3/OP_Retarificador will have the input files and
the log files generated.
This process is responsible for rebilling the input files received from Arbor and PUC. For this
process it required to put the input file in the
/opt/weblogic/share/OptimalPricing_R3/OP_Retarificador/input/current directory. If the
directory has more than 1 file then the file which has the oldest date will be processed first. Once
this initial set up is done, the script launch_rater.sh is executed from
/opt/weblogic/wlprep1/PREPRO/applications/VodafoneApps/OptimalPricing_R3/OP_Retarif
icador.
Once the script is launched the input file passes from the
/opt/weblogic/share/OptimalPricing_R3/OP_Retarificador/input/current to the directory
/opt/weblogic/share/OptimalPricing_R3/OP_Retarificador/input/current/in_process. This
indicates that the file is getting processed. The files resulting from rebilling will be saved in the
same directory.
When the script completes “0” will be printed on the console if everything has gone well and a
"1" is printed in case of some problem.
If the process completes correctly the input file will move from the directory
/opt/weblogic/share/OptimalPricing_R3/OP_Retarificador/input/current/in_process to
the directory /opt/weblogic/share/OptimalPricing_R3/OP_Retarificador/input/current/old
and will be compressed to occupy the smaller possible space in File System. The resulting
files will be stored in the
/opt/weblogic/share/OptimalPricing_R3/OP_Retarificador/output/current folder of the
work directory.
If the process fails, it would be necessary to review the logs to try to detect the error and to be
able to relaunch the process.
This process loads files generated by the rebilling process explained in previous section into
the Database.
In order to initiate this process it is necessary that in the
/opt/weblogic/share/OptimalPricing_R3/OP_Retarificador/output/current directory there
is a folder with the name of a file which will contain the files generated by the rebilling process.
For example, if the file processed by the rebilling process was FAC_20080921.dat, then all the
files processed by rebilling process should be stored in the path
/opt/weblogic/share/OptimalPricing_R3/OP_Retarificador/output/current/FAC_20080921.
If there are several folders, the process will pick up the one that has the oldest date.
Once we validate all the files are in place we will execute the E_launch_load.sh shell script.
Once the shell script start processing the files will be moved to the directory
/weblogic/share/OptimalPricing_R3/OP_Retarificador/output/current/in_process and the
script will begin to load file by file in the data base. Each loaded file will be moved to the
directory path
/weblogic/share/OptimalPricing_R3/OP_Retarificador/output/old/nombre_fichero folder
and will be compressed to occupy the smaller possible space in the data base.
When the script completes “0” will be printed on the console if everything has gone well and a
"1" is printed in case of some problem.
When the files finish loading themselves, a process in parallel is launched (Clarify Process)
that updates the fields of tables. When the process completes successfully the data entered
into the Database can be viewed from the Web Application. If this process has not completed,
there is a possibility that the Web Application will not work properly.
If the process fails, it would be necessary to review logs to try to detect the error and to be
able to relaunch the retarificador.
Monitoring Process
In order to monitor the processes we need to verify the logs generated by these processes. There
are 3 types of logs are generated:
Log of scripts: It shows the information about the state of all the process being
launched. We can navigate to these logs to verify whether the process has completed
successfully or have errored out. The file can be viewed at the following path in the
Unix box
/opt/weblogic/share/OptimalPricing_R3/OP_Retarificador/log/script_OPR.log.
Log of the tarificador: The tarificador generates log indicating the number of clients
that will be rebilled.
/opt/weblogic/share/OptimalPricing_R3/OP_Retarificador/log/OPR.log is the path
where these logs can be found.
Log of loaders: These files show how the load has gone in the data base for each
file resulting from the rebilling. They are generated in Work directory in the
/opt/weblogic/share/OptimalPricing_R3/OP_Retarificador/log/loader/nombre_fic
hero_arbor route and they can be of three types, according the load that has finished
(log, bad, dis).
This part of the Optimal Pricing makes a reference to all the operations to be performed on the
companies. There are 2 directories which will be navigated during the entire backend processes
that need to be executed.
/
opt/weblogic/wlprep1/PREPRO/applications/VodafoneApps/OptimalPricing_R2/OP_
Retarificador is the app directory and will have all the scripts that need to be executed.
/opt/weblogic/share/OptimalPricing_R2/OP_Retarificador will have the input files and
the log files generated.
This process is responsible for rebilling the input files received from Arbor and PUC. For this
process it required to put the input file in the
/opt/weblogic/share/OptimalPricing_R2/OP_Retarificador/input/current directory. If the
directory has more than 1 file then the file which has the oldest date will be processed first. Once
this initial set up is done, the script launch_rater.sh is executed from
/opt/weblogic/wlprep1/PREPRO/applications/VodafoneApps/OptimalPricing_R2/OP_Retarif
icador.
Once the script is launched the input file passes from the
/opt/weblogic/share/OptimalPricing_R2/OP_Retarificador/input/current to the directory
/opt/weblogic/share/OptimalPricing_R2/OP_Retarificador/input/current/in_process. This
indicates that the file is getting processed. The files resulting from rebilling will be saved in the
same directory.
When the script completes “0” will be printed on the console if everything has gone well and a
"1" is printed in case of some problem.
If the process completes correctly the input file will move from the directory
/opt/weblogic/share/OptimalPricing_R2/OP_Retarificador/input/current/in_process to
the directory /opt/weblogic/share/OptimalPricing_R2/OP_Retarificador/input/current/old
and will be compressed to occupy the smaller possible space in File System. The resulting
files will be stored in the
/opt/weblogic/share/OptimalPricing_R2/OP_Retarificador/output/current folder of the
work directory.
If the process fails, it would be necessary to review the logs to try to detect the error and to be
able to relaunch the process.
This process loads files generated by the rebilling process explained in previous section into
the Database.
In order to initiate this process it is necessary that in the
/opt/weblogic/share/OptimalPricing_R2/OP_Retarificador/output/current directory there
is a folder with the name of a file which will contain the files generated by the rebilling process.
For example, if the file processed by the rebilling process was FAC_20080921.dat, then all the
files processed by rebilling process should be stored in the path
/opt/weblogic/share/OptimalPricing_R2/OP_Retarificador/output/current/FAC_20080921.
If there are several folders, the process will pick up the one that has the oldest date.
Once we validate all the files are in place we will execute the E_launch_load.sh shell script.
Once the shell script start processing the files will be moved to the directory
/weblogic/share/OptimalPricing_R2/OP_Retarificador/output/current/in_process and the
script will begin to load file by file in the data base. Each loaded file will be moved to the
directory path
/weblogic/share/OptimalPricing_R2/OP_Retarificador/output/old/nombre_fichero folder
and will be compressed to occupy the smaller possible space in the data base.
When the script completes “0” will be printed on the console if everything has gone well and a
"1" is printed in case of some problem.
When the files finish loading themselves, a process in parallel is launched (Clarify Process)
that updates the fields of tables. When the process completes successfully the data entered
into the Database can be viewed from the Web Application. If this process has not completed,
there is a possibility that the Web Application will not work properly.
If the process fails, it would be necessary to review logs to try to detect the error and to be
able to relaunch the retarificador.
Monitoring Process
In order to monitor the processes we need to verify the logs generated by these processes. There
are 3 types of logs are generated:
Log of scripts: It shows the information about the state of all the process being
launched. We can navigate to these logs to verify whether the process has completed
successfully or have errored out. The file can be viewed at the following path in the
Unix box
/opt/weblogic/share/OptimalPricing_R3/OP_Retarificador/log/script_OPR.log.
Log of the tarificador: The tarificador generates log indicating the number of clients
that will be rebilled.
/opt/weblogic/share/OptimalPricing_R3/OP_Retarificador/log/OPR.log is the path
where these logs can be found.
Log of loaders: These files show how the load has gone in the data base for each file resulting
from the rebilling. They are generated in Work directory in the
/opt/weblogic/share/OptimalPricing_R3/OP_Retarificador/log/loader/nombre_fichero_arbor
route and they can be of three types, according the load that has finished (log, bad, dis).
The Optimal Pricing Application has two modules. Ne module is for Individuals and the other one
is for the Enterprise. For both the modules there are 3 different types of profile of the users.
These are RAC, Marketin and Advanced Marketing.
The three different users, i.e. RAC, Marketing and Marketing Advance login to the application
using the following URL: http://62.87.1.82:8801/op-vod_R3.
On successful login, the first page for all the three users is different.
The figure below shows the first page for a Advance Marketing profile on successful login.
The Advance Marketing profile can carry out following operations using the Advance Options
given in the figure above:
• To configure Parameters: It allows the user to access to the screen in which he can
manage the Default values and can form groups of plans of prices.
To initiate Online Optimal Pricing: Clicking this Tab the user will be able to initiate
process online.
To initiate Optimal Pricing batch: Clicking on this option, the user will be able to
initiate a batch process.
To consult Advance of Optimal Processes: In this tab the user can view all the
Batch processes initiated by the user. These process can be in In-Process or
Finalized state.
To consult the conducted Processes Batch: This tab is used to search and
summarize all the batch processes which have been finalized.
For the profile Marketing, the following first page appears on the successful login:
The Marketing profile can carry out following tasks with the Advanced Menu Options:
To initiate Optimal Pricing: On clicking this option, the user will be able to
initiate a batch process.
Advance consult of Processes of Optimal: In this tab the user can view all the
Batch processes initiated by the user. These process can be in In-Process or
Finalized state.
To consult the conducted Processes Batch: This tab is used to search and
summarize all the batch processes which have been finalized.
Important Note: - Once you login to Optimal Pricing Application using any of these profiles, the
following screen appears:
In this case in the URL, please remove all the contents after the word Portal (As shown in the
figure above) and press Enter key.
To Log Out from the Application, Click on the Exit Button and the window gets closed.
The user can also define the % value of the Threshold. It means when the Price Plans
are simulated, all the price plans which are more than x% cheaper than the given price
plan will be recommended as Optimal Price Plans in the Optimal Pricing Online. In the
figure below, 4% is selected as the threshold value. So when price plan simulation is
done, then all the Price plans which are more than 4% cheap will be recommended.
The user can create a new group and add price plans to it using Neuvo Group button as
shown in the figure below:
User can give permissions to a particular profile for accessing a particular Price Plan
group by use of checkbox shown in the figure below. Once a Profile has the permission to
a particular Price Plan, that profile then can simulate a Price Plan against that Price Plan
group. This will be explained later when Optimal PricePlan Online is explained.
User can also delete a particular Price Plan group by clicking on the Bucket shaped
figure under the Borrar column as shown in the figure above.
User can also modify a Particular Price Plan group by clicking on the Pen icon figure
under Modificar column. The user can add a particular Price Plan or delete a particular
Price Plan from a Price plan Group as a part of Modification process. The figure below
shows the Grid that appears once we click the Pen icon. The New Price Plan can be
added to the Price Plan Group by selecting a Plan from the list and clicking on the button
highlighted in the figure. A Price Plan can be deleted by clicking on the Bucket Icon.
Once the values are entered, the User can initiate the simulation process by clicking the Start
Process button as shown in the figure below:
Once the process of simulation completes the result is displayed as shown in the figure below. It
diplays the Actual Plan the Customer has, the recommended Price Plans according to the group
selected, Graphical representation of the Recommendations and the Recommended and Non-
Recommended products. The important thing to note is that simulation is done against only
those Price Plans which belong to the Price Plan Group selected.
Explanation of the resulting fields after Simulation Process Completes:
Original Plan:
The portion of the window selected in the figure above specifies the Actual plan and Product that
the Customer presently has. Each column in this portion is explained below:
Plan: It is the plan which the Customer has. In case of Prepaid Customer it is the actual
plan and in case of Postpaid it is the plan for which the last invoice was generated for the
Customer.
Contracted products: List of products contracted by the client.
Consumption: Total consumption in a particular billing cycle of the client in Euros.
Commercializable: If the contracted plan is marketable or not.
Detailed Call: It has a magnifying Glass Icon. Once we click this Icon we get a new
window which will have details of all the calls that were made by the Customer in the last
Billing Cycle. The window will have, for each call information like type of call, Total No. of
Calls made and the Duration for the calls in MM:SS format.
Plan: Each Price Plan present in the Price Plan Group for which the simulation was
carried out.
%Saving: The percentage of saving that would be obtained with respect to the Original
Price Plan held by the client. A negative saving vaue means that the original price plan is
more optimal than the Price plan for which simulation was performed.
Recommendation (YES/NO): On the basis of the savings calculated, recommendation
are made whether a Price Plan is Optimal or not. In section 6.1.1.1.1 (Page 21) we
discussed about the Threshold value. So if we have set a value of Threshold as 4%, then
all those Price Plans which have more than 4% of Saving will be recommended as
Optimal Price Plans for the
Detail of Calls: It gives the detail of the calls and the % saving which can be achieved
with different Price Plans. When we click the Binoculare Image following window opens:
As can be seen, the Window gives information about the type of calls, total no. of calls
made, total duration of calls for each type and simulated savings which can be achieved
if the Price Plan is selected with the recommendation in the bracket.
Detail of Consumptions: This column shows the detailed comparison of the
consumption between Original Price Plan and the one which is simulated. Once we click
the binocular Icon, the following window opens:
As can be seen in the figure the Window gives in detail, different periods within a Billing
Cycle, Actual Consumption with the Original Price Plan, Consumption that will happen
with the simulated Price Plan, percentage savings and recommendations in the bracket.
Please note that only 3 simulated plans will be displayed in order of decreasing % saving. To see
next 3 plan, please click on the “3 Siquintes” link. Do go back to 3 previous plans, “3 Anteriors”
link needs to be clicked.
Graphical Comparison
The Optimal Pricing online also presents a graphical representation of the comparison of actual
plan with the three better Price Plans present in the group.
The actual plan will always be in dark gray color, whereas the rest of colors go in accordance with
the following criteria:
Red: Optimal plan.
Purple: Secondly better Plan.
Green: Third better Plan.
Below is the figure with the Graphical Portion marked:
Note: - In case of not having three recommendable plans, the graph will only show those
price plans that there are available.
Recommendation of Products
The figure above shows the Product Recommendation section of the window marked. This
section has the following sub-sections:
§ Contracted products: The products that customer already holds with him.
§ NonRecommendable products: The products that the Customer does not have and are
also not recommended to the Customer.
§ Recommendable products: The products that the Customer does not have contracted
and that are recommended to the Customer as it would result in more saving for him.
There is an icon to the right side of the Recommended Products. Once we click on this icon, a
new window opens which will provide more detail on why this product is recommended. It will
have information like Product Identifier, B Number (if applicable) to which if the call is made using
this product will lead to more savings and % savings using this product.
667485232
(...)
We then upload this file by browsing this file using “Find” button and then loading the file using
“Load File” Button. Then click “Initiate Process” to initiate Batch process.
To initiate a process manually we use the following section of the window as shown in the figure
above. Firstly, we give enter the name of the campaign and its Description. We then select the
Price Plan group against which simulation needs to be done. Then products required for the
simulations can be added by using icon. This can also be left blank. Then click Add/Modify.
The following section appears as shown in the figure below on clicking Add/Modify
Services can be added either by entering each MSISDN individually and clicking Add each time
or it can be added in Bulk by browsing a file using Find Button against Service Massive Charge
text box and then clicking Load file. The number of Services added to the campaign gets
populated under the Number of Services of the Campaign field as shown in the next diagram
where 4 services have been added.
Once these steps are complete then either we can Save File, Clear Data or Initiate the process.
3. There is another table in this window which gives a percentage of Customers with Optimal
Price plan and the percentage of Customers which do not have an Optimal Price Plan. If the
percentage of Customers which have Optimal Price Plan is more than 0%, then a Binocular
Icon will be present. On clicking this icon, a window will appear which will show Optimal price
plan names and the % of Customers having the Optimal Plan.
If the Customers not having Optimal Price plan is greater than 0% a Binocular Icon will be
present against it and on clicking it a new Window will open as shown in the figure below. This
new window will have Actual Plan and % of Customers having it. It wall also have all the
recommended products with the % of Customers for which the product is recommended.
INFRANET:-
The application is used for Rating of VAS Services (Both Postpaid and Prepaid).
Different operations performed during Testing
The events are created in Portal Infranet by using a flist. Flist is a structure that Portal
Infranet uses to carry out various operations like rating, billing etc. Below are the steps
that we need to carry out for creating a sms usage.
Make
select
access_code1,ts_to_date(d.created_t),ts_to_date(purchase_end_t),dt.name,p.name,service
_obj_type,d.status, dt.*
from account_t a, account_products_t d,product_t p,deal_t dt
where a.poid_id0 = d.obj_id0
and p.poid_id0=d.product_obj_id0
and dt.poid_id0=d.deal_obj_id0
and a.access_code1='600000184'
and service_obj_type ='/service/sva/mms'
and dt.name in ('<List of Deals>')
STRATUS
Application is used to calculate the share for the 3 rd Party in Case of Revenue Sharing
Scenario:-
Steps
1) Login to Stratus.
2) Check whether the event files from Clarify/Or some other system have been ftped at
the destination path:
Check from respective tables, that how records are processed correctly.
Duplicate as well as error records will go to the respective directory paths and will
be embedded in the corresponding files on that location:
ERRORS
DUPLICATES
Files with correct records are generated at the respective directory path:
/home/stratus/input/internal/*****/processed
2) f false
It means, it is non-committed bill . Again it has two categories. Which are
discussed next in this document under Billing processes.
4) Run RATER to rate the event files by running the command as below:
Startus_start <instance name>
Check respective tables for data, whether the correct records have come
**
After running Rater, there are two types of Queues generated corresponding to the
Rated number.
For Example, if we run Rater STRA_R012, then following two tyes of Queues
will be generated::
QUEUE_RATER_RECYCLE_VF_012
QUEUE_RATER_REJECT_VF_012
BILL Processes.
Running of Billing Processes, depends upon the condition, that if the Bill is
Committed or non-committed.
BILL_GROUP.AUTO_COMMIT
In this table, AUTO_COMMIT can have two values as below
1. t true
It means, it is a committed-bill. It will be approved automatically.
In case of committed bill, we need to runn following tree billing processes:
a. BILL CONTROLLER
b. BILL CALCULATER
c. BILL GENERATOR
2. f false
It means, it is non-committed bill . Again it has two categories. Which are
discussed next in this document under Billing processes.
In case of non-committed bills, we need to run cycle, either 5 times or 6 times.
It depends upon the field BILL_GROUP.REVIEW_DELAY
If field REVIEW_DELAY has Null value, then we need to run following 5
Billing processes:
a. BILL CONTROLLER
b. BILL CALCULATOR
c. BILL GENERATOR
After this, we need to update BILL_GROUP.GROUP_STATUS as “AP”
means approved.
d. BILL CALCULATOR
e. BILL GENERATOR
But if field REVIEW_DELAY has other then Null value, then we need to run
following 6 Billing processes:
a. BILL CONTROLLER
b. BILL CALCULATOR
c. BILL GENERATOR
d. BILL CONTROLLER
e. BILL CALCULATOR
f. BILL GENERATOR
Note Here we need not any manual approval. Instead of manual approval,
we are running BILL CONTROLLER extra.
Startus_start BCONTRL
BILL CONTROLLER will close the bill cycles for the customers whose bill cycles falls
under that period
Startus_start BCALC
BILL CALCULATOR will calculate the bill for all those customers whose Bill cycles are
being closed by BILL CONTROLLER.
Let BILL_NUMBER=xyz
Startus_start BGEN
BILL GENERATOR will generate the BILLS for all those customers, whose BILL is being
calculated by BILL CALCULATOR.
Run below query to confirm if the entry of the generated report is made in table
SUBMITTING_REQUEST:
Now these generated reports take data from the following various tables:
RATED_BA07_LIQ_YYYYMMDD
RATED_EVENT_BA_YYYYMMDD
RATED_EVENT_BLB_YYYYMMDD
Note: Here DD will be the last date of that billing cycle month.
In order to verify the reports, we need to check data in these tables.
In order to generate INVALID data reports, run below query::
RGEN --script -o /home/stratus/output/Invalidas.xls -i excel Excel Invalidas Start_Date End_Date
NoteStart_Date= End_Date=Date of report generation.
Startus_start SUBMITTER
SUBMITTER will submit all the Bills generated by BILL GENERATOR to SAP
Run below query to check is the report is being submitted to SAP
PUC:-
This application is used to store all Information for the Prepaid Customers. General Steps
used during the execution:
To validate the recharge has been applied use the following steps:
1) Connect to database of SIRA Alias RECAR.TEST.AIRTEL.ES
User RECARGAT Password gat200
2) Search the recharge of promotion using the next query:
select a.RCRG_CC_MSISDN, b.CDEN_CC_NOMBRE,
b.CDEN_DS_DESCRIPCION, b.CDEN_CO_TELCO,
a.RCRG_CA_CANTIDAD_REAL, a.RCRG_CA_CANTIDAD,
a.RCRG_FX_FECHAHORA, a.RCRG_CO_REFOPER
from RCRG_RECARGAS a, CDEN_CODIGOS_ENTIDAD b
where b.CDEN_CO_TELCO = a.RCRG_CO_ENTIDAD
and a.RCRG_CC_MSISDN = '666666666'
Change the msisdn, and put the prepaid msisdn to search the recharge