You are on page 1of 26

ACKNOWLEDGEMENT

I take it a great privilege to avail this opportunity to express my deep gratitude to all those who helped me and guided me throughout my training period. It is indeed a great moment of pleasure to express my sense of profound gratitude tp all the people who have been instrumental in making my training a rich experience. The special thank goes to my helpful team leader MR. DEEPAK GUPTA and my project manager MR. AKHIL AGGARWAL. The supervision and support that they gave truly helped in the progression and smoothness of the internship program. The cooperation in indeed much appreciated. Besides I would like to thank my mentor MS. SWATI VERMA for giving me helpful support and for sharing her ideas and interests with me about my study. Her contribution boosted my confidence and helped me finish my work on time. The internship program made me realize the value of working together as a team and gave me a new experience in actual industrial environment, which challenges us every moment. Not to forget, great appreciation to rest of the OSIs staff who spared their time in answering my queries and also the support and interest they has shown in me. Regards ANKIT SINHA

COMPANY PROFILE
BIRLASOFT (INDIA) LIMITED
Birlasoft is the global technology services division of the CK Birla Group, one of India's premier commercial and industrial houses, with strategic equity participation by GE Capital. Birlasoft offers IT services worldwide from development centers in India and Australia. Birlasoft has 2,800+ technical employees and a large number of clients among Fortune 1000 companies. The company provides application development and support services in eCommerce, Data Warehousing, Legacy Systems, QA, CRM, RIMS (Remote Infrastructure Management Service) and ERP. Birlasofts key strengths as an offshore outsourcing partner lie in its mature and robust global delivery model that embraces Digitized Project Management Methodologies, embedded within proven practices of Six Sigma, SEI CMMI Level 5 on Continuous Representation and a secure services framework with BS7799. Earning the trust of its customers and being honored with their repeat business, is what they strive for each day. Birlasoft is uniquely positioned to create value and provide a competitive advantage to the customers. Leveraging the experience, they help clients exploit the latest innovations in technology and efficiently scale their businesses to meet the challenges of the new economy. they have a reputation for delivering projects on budget, on time and exceeding the clients expectations.

FINANCE AND BANKING


As an industry, the banking and financial services sector is constantly governed by regulatory & compliance standards. Operational efficiency is difficult to attain when faced with challenges such as, increasing regulatory and security requirements, consolidation, market evolution, financial volatility, geo-political uncertainty and pricing pressures. In addition, evolving business needs and new technologies are forcing financial organizations to re-think their IT strategy. Birlasoft, with its deep understanding of the Banking and Financial Services domain, provides comprehensive solutions that increase efficiency and effectiveness of organizations. Leveraging a combination of domain experts and techno-functional consultants, we offer comprehensive business-driven technology solutions that help organizations attain enhanced operational efficiencies with minimized risks. At Birlasoft, we employ pre-fabricated tools and applications to ensure adaptability and compliance. Further, our solutions also ensure regulatory compliance allowing organizations to focus on core competencies. Our domain expertise in the BFS industry lies in areas including: Retail Banking Corporate Banking Investment Banking Payments and Treasury Operations Capital Market services Card Management services

Birlasofts "start-to-end" services range from consulting to support, on a turn-key basis, for all IT initiatives taken by banks and financial institutions. Our robust delivery processes embrace digitized project management methodologies and are embedded within proven practices such as, Six Sigma and SEI CMMi Level 5. This allows the company to deliver sustainable business value to customers, such as: Increased productivity and reduced time-to-market with new product offerings Improved efficiencies and mitigated risks leading to reduced cost of operations Increased business agility and flexibility through ability to map IT capabilities to business needs Reduced IT systems complexity and maintenance costs, as well as increased leveraging of existing assets and investments Real time view of supply chain for better decision making

PROJECT ALLOTED

Open Solutions Inc -

TCBS/TCCUS: DNA platform | The Complete Banking Solution (TCBS), TotalPlus,The Complete Credit Union Solution (TCCUS)

Overview:
Open Solutions Inc (OSI) is a US corporation that provides information processing and software products and services for banks, thrifts, credit unions and financial services providers in the United States, Canada and internationally. The full OSI suite of products creates a fully-featured strategic product platform that integrates core data processing applications built on a single centralized Oracle relational database, with Internet banking, cash management, CRM/business intelligence, financial accounting tools, imaging, Check 21, digital document, interactive voice response, network services, Web hosting and design, and payment and loan origination solutions. OSI can deliver industry-standard payment (credit card, debit card, chip and internet) transaction processing solutions. The OSI have a large number of clients of more than 3000 Banks and Credit Unions in US. Its Main product is TCBS and TCCUS, which offers mainly Savings Bank accounts, Loan Accounts, Retirement Plans. It is a .Net application in Shared Application Framework, where all the users will be validated through their web site

embedded in the application. Both the applications are verify dynamic where any business logic can be implemented and can be delivered to its customers and Windows XP client.

THE GROWTH GRAPH OF OPEN SOLUTIONS

Platforms:
TCBS - Microsoft .NET / Oracle (open relational database) TOTALPLUS - Mainframe and "thin client" TCCUS - Microsoft .NET / Oracle (open relational database)

Products: TCBS/TCCUS: DNA platform


The Complete Banking Solution (TCBS) - In-house or Outsourced TCBS is a stable and flexible banking platform capable of supporting both retail and commercial business in a truly customer-focused fashion. TCBS presents a full customer view instead of just the traditional account level view.

Functional features include:


Core-based teller and platform - integrated retail delivery, including teller and platform processing Single deposit and lending system - deposit and loan product support including savings, checking, time deposit, retirement capabilities, commercial, consumer and real estate lending, and more Real-time memo post or hybrid transactional processing options Rapid creation and control of unlimited numbers of products and related rate screens Customer-centric banking with our relationship-based central information file (CIF) and Customer Relationship Management (CRM) capabilities Streamlined operations Online signature and photo identification Relational Service Charging Marketing-focused processes Data mining Multi-lingual capability Multi-currency processing

TotalPlus Outsourced TotalPlus serves commercial banks, savings banks, and thrifts with integrated, enterprise-wide automation in an outsourced environment. This enterprise-level platform supports both front and back-office operations and is well suited for institutions in the $5-30 billion asset range, including extremely large commercial banks and superregional thrifts. The functionality and operating flexibility of this mature platform enables very large institutions to develop complex books of business in distinct vertical markets such as commercial lending, mortgage lending and servicing, and other

areas to successfully compete with national and super-regional organizations. Functionality covers: Retail Services, Commercial and Corporate Services, Mortgage Banking, Relationship Management, Branch Automation, eBanking, Business Intelligence, Risk Management

Clients:
(IBS 2007 primarily universal banking | TCBS, TCCUS | Total Customers: 1160 / New Signings in Yr: 7)

Bank of Easton, Easton, MA USA (TCBS) Berkshire Bank, Pittsfield MA USA (TCBS) Canandaigua National Bank and Trust Co, NY USA (TCBS) OBA Bank, Germantown, MD USA (TCBS) Piedmont Federal Savings and Loan, Winston-Salem, NC USA (TCBS)

Understanding the OSI Database


Overview The OSI system is built upon a fully relational, highly normalized database containing in excess of 1,000 tables. While every table is important for the smooth operation of the OSI software, some tables are used more extensively for report writing. This document will group these tables into logical groups called subjects and provide detailed information about their structure. Also provided are sample SQL statements and tips and tricks for accessing data. The database subjects covered in this document are:
Accounts Accrued Interest Balances Name and Addresses Cards Property Transactions Loans Groups Escrow Allotments

Calculation Variables

Definitions
Term
Column

Definition

A unique data element within a table. A column is analogous to a field in a flat-file based system. Foreign Key A column or columns in a table that are related to the primary key in another table. Function A program stored within the Oracle database and typically performs a single function and returns a single data item. Package A program that is stored in the Oracle database that is available for all users. A package is made up of one or many functions and/or procedures. Primary Key A column or columns in a table that uniquely identifies the data in the table. Every database table needs a primary key. Row Data within a table. A row is analogous to a record in a flat-file based system. SQL An abbreviation for Structured Query Language. This is a set of standard commands that are used to retrieve data from any relational database. Table The basic structure for storing information in a relational database. A table is analogous to a data file in a flat-file based system.

OSI Database Table and Column Naming Hints


The OSI database has several naming standards that programmers can use to help understand its structure: 1. Columns that end with CD indicate that there is a corresponding code table. To review all of the available values for that code, look at the parent table. For example, the PURPCD in the ACCTLOAN table has a parent table named PURP (Purpose). 2. A column that starts with either CURR or ORIG is derived data (i.e. data that has been duplicated in another table for performance reasons). Remove the CURR or ORIG and the corresponding column will be in a history table. 3. Oracle allows for a column to contain date/time information. Oracle will only track time to the second. It does not track milliseconds. OSI columns that end in DATE indicate that the time will always be 00:00:00. If the column ends in DATETIME, the time portion of the date will be set. 4. Tables ending in HIST such as ACCTBALHIST identify a history table. The primary key will always contain at least one column that ends in DATE or DATETIME. If the column ends in DATE, only one row will be created per day. If the column ends in DATETIME, there can be potentially multiple rows per day. In addition, a primary key containing a DATETIME will also contain a column called TIMEUNIQUEEXTN. This column is a sequential number that ensures no database errors if the system attempts to insert more than one row in a single second. 5. Long OSI table names are often derivatives of the tables from which they relate. For example, the ACCTACCTROLEPERS table combines information from the ACCT, ACCTROLE and PERS tables to define what roles people play on each account.

Exploring the Database


Accounts
Includes tables that are common to all accounts. The account tables are shared between loan and deposit accounts. The key to link these tables is the ACCTNBR column. The most commonly used Account tables include the following: ACCT , ACCTACCTCYCLEAPPL, ACCTAPPLHIST, ACCTCLATACCT, ACCTACCTHOLD, ACCTACCTROLEORG, ACCTACCTROLEPERS etc.

Accrued Interest
The tables in this section include those that contain interest rates, accrual calculations and accrued interest. ACCTINTHIST, ACCTINTBALHIST, ACCTRATEHIST

Balances
A balance type is a combination of Balance Category (BALCAT) and Balance Type (BALTYP) BALCAT, BALTYP, BALCATBALTYP, ACCTSUBACCT, ACCTBALHIST

Name and Addresses


Includes tables that contain data about people, organizations, addresses, titles, phone numbers and related information. ACCTTITLE, ADDR, ADDRLINE, ORG, ORGPHONE, ORGTAXID, PERS, PERSADDRUSE, PERSPERSTYP, PERSPHONE

Cards and Agreements


Includes tables used to support cards and card agreements such as ATM cards and VRU agreements. CARDAGREEMENT, CARDPERS, ACCTAGREEMENTPERS, CARDMEMBER, CARDMEMBERISSUE, CARDMEMBERISSUEHIST

Property
Includes tables that support the property or collateral on loans. Examples of properties are houses, cars or securities. ACCTPROP, PROP, PROPAPRSHIST

Transactions
Includes the tables that contain account financial transaction information. RTXN, RTXNTYP, RTXNBAL, RTXNFUNDTYP, RTXNSTATHIST, RTXNEXCP

Loans
Includes tables used exclusively for loans. Included here are the key payment tables, line of credit tables, the main loan table, payment due data and more. ACCTLOAN, ACCTLOANLIMITHIST, ACCTLOANPMTHIST, ACCTPMTHST, ACCTPMTSUBACCTHIST,ACCTRCVB

Roles
The system uses roles to assign people and organizations to accounts. Roles can be created by OSI or a client and can be for employees, customers or both. ACCTROLE, ACCTACCTROLEPERS, ACCTACCTROLEORG

Allotments
An allotment is a scheduled distribution from a balance (sub-account). Used for scheduled transfers between deposit accounts, automatic loan payments, escrow disbursements, retirement distributions, club distributions, interest distributions and more. ACCTSUBACCTALLOT,ACCTSUBACCTALLOTINSTANCE, ACCTSUBACCTINSTDTL, ALLOTTYP, RTXNALLOTTYP

Roles
The system uses roles to assign people and organizations to accounts. Roles can be created by OSI or a client and can be for employees, customers or both. ACCTROLE, ACCTACCTROLEPERS, ACCTACCTROLEORG

Allotments
An allotment is a scheduled distribution from a balance (sub-account). Used for scheduled transfers between deposit accounts, automatic loan payments, escrow disbursements, retirement distributions, club distributions, interest distributions and more. ACCTSUBACCTALLOT,ACCTSUBACCTALLOTINSTANCE, ACCTSUBACCTINSTDTL, ALLOTTYP, RTXNALLOTTYP

Calculation Variables
Calculation variables are used to control the processing of accounts, products and overall system functions. CALCTYPVAR, MJMIACCTCALCVAR, ACCTCALCVAR, APPLCALCVAR, ACCTSUBACCTCALCVAR, CALCCAT, CALCTYP, CALCVAR, CALCTYPVARVALUE

Activity
Tables used to record all non-monetary actions ACTVCAT, ACTVTYP, ACTVCATACTVTYP, ACTVDOC, ACTVNOTE, ACTV, ACTVSUBACTV

Operations
Tables used to run Batch Operations QUE, QUEAPPL, QUEAPPLPARAM, QUEAPPLERROR, QUEAPPLHIST, APPL, PARAMETER, APPLPARAMETER, APPLPARAMETERVALUE

SQL Examples
Example Find the current rate rows of all balances for all accounts where the major = MTG. SQL Command Select B.AcctNbr, B.SubAcctNbr, B.IntRate, B.EffDate From Acct A, AcctRateHist B Where MjAcctTypCd = MTG And A.AcctNbr = B.AcctNbr And B.EffDate = (Select MAX(EffDate) From AcctRateHist Where AcctNbr = B.AcctNbr And SubAcctNbr = B.SubAcctNbr) Select * From AcctIntHist A, AcctSubAcct B, Acct C Where A.AcctNbr = C.AcctNbr And B.AcctNbr = C.AcctNbr And A.SubAcctNbr = B.SubAcctNbr And MjAcctTypCd = CNS And BalCatCd = NOTE And BalTypCd = BAL And EffDate = (Select MAX(Effdate) From AcctIntHist Where AcctNbr = A.AcctNbr And SubAcctNbr = A.SubAcctNbr) Select * From ACCT Where ContractDate Between TO_DATE('10012001', 'MMDDYYYY') And TO_DATE('12312001', 'MMDDYYYY')

Find all of the current interest information on the principal amount for all accounts where the major = CNS.

Find all accounts that opened between 10-01-2001 and 12-312001.

Find the product descriptions for all deposit and loan accounts.

Select AcctNbr, A.MjAcctTypCd, A.CurrMiAcctTypCd, NVL(B.MiCustDesc, B.MiAcctTypDesc|| ||C.MjAcctTypDesc) From Acct A, MjMiAcctTyp B, MjAcctTyp C Where A.MjAcctTypCd = C.MjAcctTypCd And B.MjAcctTypCd = C.MjAcctTypCd And A.CurrMiAcctTypCd = B.MiAcctTypCd And C.MjAcctTypCatCd IN (LOAN, DEP)

Get a count of all accounts by status and product type.

Select MjAcctTypCd, CurrMiAcctTypCd, CurrAcctStatCd, Count(*) From Acct Where MjAcctTypCd NOT IN (GL, BKCK) Group By MjAcctTypCd, CurrMiAcctTypCd, CurrAcctStatCd

Find all people who have an active savings account, but no checking account.

Select TaxRptForPersNbr, FirstName|| ||LastName From Acct A, Pers B Where TaxRptForPersNbr = PersNbr And CurrAcctStatCd = ACT And MjAcctTypCd = SAV And NOT EXISTS(Select NULL From Acct Where A.TaxRptForPersNbr = TaxRptForPersNbr And MjAcctTypCd = CK) Select A.AcctNbr, A.BalAmt, A.EffDate From AcctBalHist A, AcctSubAcct B Where A.AcctNbr = B.AcctNbr And A.SubAcctNbr = B.SubAcctNbr And A.AcctNbr = 123456 And BalCatCd = NOTE And BalTypCd = BAL And EffDate =(Select MAX(EffDate) From AcctBalHist Where AcctNbr = A.AcctNbr And SubAcctNbr = A.SubAcctNbr And EffDate <= TO_DATE(03072002, mmddyyyy) Select C.MjAcctTypCd, CurrMiAcctTypCd, SUM(BalAMt) From AcctBalHist A, AcctSubAcct B, Acct C, MjAcctTyp D Where A.AcctNbr = C.AcctNbr And B.AcctNbr = C.AcctNbr And A.SubAcctNbr = B.SubAcctNbr And C.MjAcctTypCd = D.MjAcctTypCd And BalCatCd = 'NOTE' And BalTypCd = 'BAL' And MjAcctTypCatCd IN ('DEP', 'LOAN') And A.EffDate = (Select MAX(EffDate) From AcctBalHist Where AcctNbr = A.AcctNbr And SubAcctNbr = A.SubAcctNbr) Group By C.MjAcctTypCd, CurrMiAcctTypCd Order By C.MjAcctTypCd, CurrMiAcctTypCd Select AcctNbr, FirstName|| ||LastName From Pers, Acct Where TaxRptForPersNbr = PersNbr UNION Select AcctNbr, OrgName From Org, Acct Where TaxRptForOrgnbr = OrgNbr Order by 1 Select AreaCd, Exchange, PhoneNbr, PhoneExten From PersPhone Where PersNbr = 1234 And PhoneUseCd = 'PER' Select A.PersNbr, A.LastName, A.FirstName, B.EffDate From Pers A, PersEmpl B Where A.PersNbr = B.PersNbr And B.InActiveDate IS NULL Select AgreeTypCd, Count(*) From CardAgreement Group By AgreeTypCd

Find the principal note balance for account 123456 on March 7, 2002.

Find the aggregate balance amount for every deposit and loan product.

Find the tax owners name for all accounts.

Find the personal phone number for person number 1234.

Get a list of all current employees.

Get a count of each agreement type.

List all of the valid property types in the system. List all accounts associated with a property.

Select PropTypCd, PropTypDesc From PropTyp Select A.AcctNbr, C.PropTypCd, C.PropDesc From Acct A, AcctProp B, Prop C Where A.AcctNbr = B.AcctNbr And B.PropNbr = C.PropNbr

Add appraisal information to the above SQL.

Determine the number and appraisal amount for each property type secured by accounts in the database.

Select A.AcctNbr, C.PropTypCd, C.PropDesc, D.AprsValueAmt, D.EffDate From Acct A, AcctProp B, Prop C, PropArpsHist D Where A.AcctNbr = B.AcctNbr And B.PropNbr = C.PropNbr And D.PropNbr = C.PropNbr And D.EffDate = (Select MAX(EffDate) From PropAprsHist Where PropNbr = D.PropNbr) Select count(*), c.Proptypcd, sum(d.AprsValueAmt) From ACCT a, ACCTPROP b, PROP c, PROPAPRSHIST d Where a.acctnbr=b.acctnbr And b.propnbr=c.propnbr And c.propnbr=d.propnbr And a.curracctstatcd <> 'CLS' And d.EffDate = (SELECT max(EffDate) FROM PROPAPRSHIST z WHERE z.propnbr=c.propnbr) Group By c.proptypcd Select A.AcctNbr, A.MjAcctTypCd, A.CurrMiAcctTypCd From Acct A, AcctLoan B Where A.AcctNbr = B.AcctNbr And CurrAcctStatCd = ACT And PmtMethCd = BILL Select A.AcctNbr, A.EffDate From AcctGrpAcct A Where AcctGrpNbr = (Select AcctGrpNbr From AcctGrpAcct Where Acctnbr = 123) And A.InActiveDate IS NULL Select A.AcctNbr, FirstName|| ||LastName From Acct A, Pers B, AcctAcctRolePers C Where A.AcctNbr = C.AcctNbr And B.PersNbr = C.PersNbr And AcctRoleCd = LOFF And MjAcctTypCd = MTG Select A.AcctNbr, MjAcctTypCd, CurrMiAcctTypCd, CurrAcctStatCd, FirstName|| ||LastName From Acct A, Pers B, AcctAcctRolePers C Where A.AcctNbr = C.AcctNbr And B.PersNbr = C.PersNbr And AcctRoleCd = CUST Select a.calctypcd , calctypname , a.calcvarcd , calcvarname , calcvarvalue , count(*) from acctcalcvar a , calcvar b , calctyp c where a.calcvarcd = b.calcvarcd and a.calctypcd = c.calctypcd group by a.calctypcd , calctypname , a.calcvarcd , calcvarname , calcvarvalue Select a.calctypcd , calctypname , a.calcvarcd , calcvarname , calcvarvalue , count(*) from acctsubacctcalcvar a , calcvar b , calctyp c where a.calcvarcd = b.calcvarcd and a.calctypcd = c.calctypcd group by a.calctypcd , calctypname , a.calcvarcd , calcvarname , calcvarvalue

Find all active loans that create bills.

Find all accounts in the same retirement plan as account 123.

Show the name of all loan officers on any mortgage account.

Show information for all accounts that have a custodian.

Show a summary of all account level calculation variables.

Show a summary of balance level calculation variables.

SCREEN SHOTS OF THE EXCEPTIONS FIRED IN THE OSI APPLICATION

QUERY
I need a query under Feature : Person Maintenance where I need to get a persons first and Last Name along with all the Values of the Combo Boxes under SIC codes and NAICS Codes Section. Below is the Snapshot of the Screen under Which these Value are needed.Please provide me the same. Navigation-1) Navigate to Services >Relationships > Maintenance > Person/Member 2) On the Combined Search Screen Search for the person to be edited.Click Query 3) Select the person/member in the Search Results box.Click Continue. 4) From the summary slideout note the person number 5) Click on the Additional sub menu from the Edit Person Screen 6) Select Industry codes from the list ,The Industry Codes screen should be displayed with Person Number, SIC Codes section & NAICS Section. 'SIC section & NAICS section should display information saved during Person creation process. 'Person Number should be displayed in the Person Number disabled field

RESPONSE
SELECT z.PERSNBR, p.firstname, p.lastname,y.sicdesc as "SIC Class Code", x.sicsubdesc AS "SIC Subclass", e.naicscd||' - '||e.naicsdesc as "NAICS Sector", d.naicscd||' - '||d.naicsdesc as "NAICS Subsector",c.naicscd||' - '||c.naicsdesc as "NAICS Group", B.naicscd||' - '||B.naicsdesc as "NAICS Subgroup", a.naicscd||' - '||a.naicsdesc as "NAICS Industry" FROM PERSNAICSSIC z, naics a, naics b,naics c,naics d,naics e, sic y, sicsub x, pers p where z.naicsnbr is not null and z.siccd is not null and z.sicsubcd is not null and Z.SICCD = Y.SICCD AND Y.SICCD = X.SICCD AND Z.SICSUBCD = X.SICSUBCD and z.naicsnbr = a.naicsnbr and z.persnbr = p.persnbr AND B.NAICSCD = SUBSTR(A.NAICSCD,1,( LENGTH(A.NAICSCD)-1)) AND C.NAICSCD = SUBSTR(B.NAICSCD,1,( LENGTH(B.NAICSCD)-1)) AND D.NAICSCD = SUBSTR(C.NAICSCD,1,( LENGTH(C.NAICSCD)-1)) AND E.NAICSCD = SUBSTR(D.NAICSCD,1,( LENGTH(D.NAICSCD)-1)) and p.firstname != ' '

QUERY
Require Query regarding 047_TCCA_Retirement Processing_Distributin funds 50% to one and 25% to rest two Beneficiary's_P for pre-requisite part .

RESPONSE
select A.ACCTNBR, A.taxrptforpersnbr from acct A, pers b where A.mjaccttypcd = 'RTMT' AND A.curracctstatcd = 'ACT' and a.taxrptforpersnbr = b.persnbr and b.validyn = 'Y' AND B.DATEBIRTH IS NOT NULL AND A.VALIDYN = 'Y' and exists( SELECT C.ACCTNBR FROM ACCT C, bankoption D WHERE mjaccttypcd IN ('TD','CK') AND retirementyn = 'Y' AND contractdate <= TO_DATE(BANKOPTIONVALUE, 'YYYY-MM-DD') AND BANKOPTIONCD = 'PDAT' and c.taxrptforpersnbr = a.taxrptforpersnbr and c.acctnbr in (select Z.acctnbr from acctbalhist Z where (Z.acctnbr, Z.subacctnbr) in (select acctnbr, subacctnbr from acctsubacct where balcatcd = 'NOTE' AND BALTYPCD = 'BAL') AND Z.EFFDATE IN (SELECT MAX(Y.EFFDATE) FROM ACCTBALHIST Y WHERE Z.ACCTNBR = Y.ACCTNBR AND z.subacctnbr = Y.SUBACCTNBR) AND z.balamt > 0))

QUERY
Query for fetching Person who is an Employee

RESPONSE
select firstname, lastname, persnbr from pers where persnbr in (select persnbr from persempl where (inactivedate is null or inactivedate > (select TO_DATE(bankoptionvalue, 'YYYY-MM-DD') from bankoption where bankoptioncd = 'PDAT'))) intersect select firstname, lastname, persnbr from pers where persnbr in (select prodpersid from saf.persprod where prodnbr = 3 group by prodpersid having count(prodpersid)=1)

QUERY
Query for Person Maintenance

RESPONSE
SELECT p.persnbr,P.FIRSTNAME,P.LASTNAME FROM ACCT A,PERS P WHERE A.MJACCTTYPCD IN ('TD','CK','SAV') AND A.CURRACCTSTATCD='ACT' AND A.TAXRPTFORPERSNBR= p.persnbr AND A.taxrptforpersnbr IN (SELECT TAXRPTFORPERSNBR FROM ACCT WHERE MJACCTTYPCD IN ('TD','CK','SAV') AND CURRACCTSTATCD='ACT' GROUP BY TAXRPTFORPERSNBR HAVING COUNT(TAXRPTFORPERSNBR)=2) INTERSECT SELECT p.persnbr,P.FIRSTNAME,P.LASTNAME FROM ACCT A,PERS P,acctacctrolepers c WHERE A.MJACCTTYPCD IN ('TD','CK','SAV') AND A.CURRACCTSTATCD='ACT' AND A.TAXRPTFORPERSNBR= p.persnbr AND A.taxrptforpersnbr IN (SELECT TAXRPTFORPERSNBR FROM ACCT WHERE MJACCTTYPCD IN ('TD','CK','SAV') AND CURRACCTSTATCD='ACT' GROUP BY TAXRPTFORPERSNBR HAVING COUNT(TAXRPTFORPERSNBR)=2) and c.acctrolecd='OWN' AND A.ACCTNBR= c.acctnbr AND P.PERSNBR=C.PERSNBR ORDER BY 1

QUERY
User should have a Loan account on the applicable product and it must be disbursed and have unpaid receivables and should have active simple insurance receivables. Please check these with MTC person

RESPONSE
select a.acctnbr from acct a, acctrcvb b, acctsubacct c WHERE a.acctnbr = b.acctnbr and b.currrcvbstatcd = 'ACT' and a.curracctstatcd = 'ACT' and a.acctnbr = b.acctnbr and b.acctnbr = c.acctnbr and c.balcatcd = 'LIFE' and b.subacctnbr = c.subacctnbr order by 1 desc

QUERY
Query 1User should have a Loan account having the interest calculation method as Amortized and it must be disbursed and should have unpaid receivables. RESPONSE
select a.acctnbr from acct a,mjmiacctinthist b,acctrcvb c where a.mjaccttypcd in ('MTG','CML','CNS') and a.acctnbr=c.acctnbr and a.mjaccttypcd=b.mjaccttypcd and a.currmiaccttypcd=b.miaccttypcd and a.curracctstatcd='ACT' and c.currrcvbstatcd='ACT' and b.intmethcd='AMRT' order by 1 desc

Query 2User should have a Loan account associated with escrow balance type RESPONSE
select a.acctnbr from acct a,acctsubacct b where a.mjaccttypcd in ('MTG','CML','CNS') and b.balcatcd='ESC' and b.baltypcd='BAL'

and a.acctnbr= b.acctnbr and a.curracctstatcd='ACT' order by 1 desc

Query 3User should have a Loan account on the applicable product and it must be disbursed but should have no unpaid receivables. RESPONSE
select a.acctnbr from acct a,acctrcvb b where a.mjaccttypcd in ('MTG','CML','CNS') and a.curracctstatcd='ACT' and b.currrcvbstatcd='ACT'

You might also like