Monday 7 August 2017

Windows Presentation Foundation

The Windows Presentation Foundation (WPF, code name Avalon) is a class library used to create graphical user interfaces , developed by Microsoft . WPF is released in .NET Framework version 3.0, and is significantly different in its design from its earlier equivalent solution, Windows Form .
WPF class libraries are built into Windows operating systems since Windows Vista and Windows Server 2008 . You can install it separately for earlier versions.

Properties

Declarative User Interface

One of WPF's major innovations is the separation of the interface and business logic from the previous window design solution. The windows are designed with an XML-based markup language XAML . Separating the markup language or the tasks makes it easier for programmers and visual staff to collaborate.

Vectorial graphics

Graphic elements of WPF applications are vector graphics , enabling aesthetic resizing and significantly less storage space.

Animation

WPF and its smaller set of Microsoft Silverlight allow you to make declarative definitions of animations.

Graphic acceleration

The WPF to display the GDI without an DirectX uses eth, a far superior performance.

Data binding

Data binding connects between the user interface and business logic. This can be done in several ways, from one-way, one-touch to two-way, synchronous relationship.

Tools

There are many integrated development environments for application development and development, most commonly are Microsoft Visual Studio and Microsoft Expression . The latter mainly focuses on visual designers.
External companies have also developed development tools for WPF development, such as SharpDevelop and PowerBuilder .
WPF application development can take place in many programming languages , such as C # and Visual Basic.NET .

Friday 21 July 2017

Platform as a service (PaaS) or application platform as a service (aPaaS) is a category of cloud computing services that provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app. PaaS can be delivered in two ways: as a public cloud service from a provider, where the consumer controls software deployment with minimal configuration options, and the provider provides the networks, servers, storage, operating system (OS), 'middleware' (e.g. Java runtime, .NET runtime, integration, etc.), database and other services to host the consumer's application; or as a private service (software or appliance) inside the firewall, or as software deployed on a public infrastructure as a service.
servicenow admin training
Development and uses

Fotango, a London-based (Old Street) company owned by Canon Europe launched the world's first public platform as a service known as 'Zimki'. It was developed in 2005 with a beta launch in March 2006 and a public launch at EuroOSCON in 2006. Zimki was an end-to-end JavaScript web application development and utility computing platform that removed all the repetitive tasks encountered when creating web applications and web services. All aspects of infrastructure and operations from provisioning and setting up virtual servers, scaling, configuration, security and backups were done automatically by Zimki. Zimki introduced the tagline 'Pre-Shaved Yaks' to describe the removal of all these repetitive tasks.

Zimki was a pure 'pay as you go' code execution platform which enabled developers to build and deploy applications or web services without incurring any start-up costs on a true utility based computing platform. Charging was done on storage used, network traffic and JSOPs (Javascript Operations). It provided a multi-tenant platform where developers could create entire applications (front and back end through SSJS) by using a single language - Javascript, with all development, billing, monitoring and application control exposed through APIs and a range of component services from a No-SQL object store to Message Queue services. Furthermore, all functions within Zimki could be exposed as web services and Zimki provided billing analysis down to individual functions.

Whilst the Zimki platform was rapidly growing and Fotango was profitable, the parent company decided this area was not core and the service was closed in Dec 2007. At the time of its closure, Zimki had several thousand developer accounts and had demonstrated the technical viability of Platform as a Service but also provided the first example of the perils of being dependent upon a single provider. This risk had been highlighted in July 2007, when the CEO gave a presentation on Zimki at OSCON 2007 which announced that Zimki would no longer be open sourced and discussed the future of what was then called Framework as a Service (later renamed to Platform as a Service) covering the importance of a market of providers based upon an open source reference model. 

In April 2008, Google launched App Engine, with a free trial version limited to 10,000 developers. This was said to have "turned the Internet cloud computing space into a fully-fledged industry virtually overnight."

The original intent of PaaS was to simplify the code-writing process for developers, with the infrastructure and operations handled by the PaaS provider. Originally, all PaaSes were in the public cloud. Because many companies did not want to have everything in the public cloud, private and hybrid PaaS options (managed by internal IT departments) were created.

PaaS provides an environment for developers and companies to create, host and deploy applications, saving developers from the complexities of the infrastructure side (setting up, configuring and managing elements such as servers and databases). PaaS can improve the speed of developing an app, and allow the consumer to focus on the application itself. With PaaS, the consumer manages applications and data, while the provider (in public PaaS) or IT department (in private PaaS) manages runtime, middleware, operating system, virtualization, servers, storage and networking. Development tools provided by the vendor are customized according to the needs of the user. The user can choose to maintain the software, or have the vendor maintain it

PaaS offerings may also include facilities for application design, application development, testing and deployment, as well as services such as team collaboration, web service integration, and marshalling, database integration, security, scalability, storage, persistence, state management, application versioning, application instrumentation, and developer community facilitation. Besides the service engineering aspects, PaaS offerings include mechanisms for service management, such as monitoring, workflow management, discovery and reservation.

Advantages and disadvantages

The advantages of PaaS are primarily that it allows for higher-level programming with dramatically reduced complexity; the overall development of the application can be more effective, as it has built-in infrastructure; and maintenance and enhancement of the application is easier. It can also be useful in situations where multiple developers are working on a single project involving parties who are not located nearby.

One disadvantage of PaaS offerings is that developers may not be able to use a full range of conventional tools (e.g. relational databases, with unrestricted joins). Another possible disadvantage is being locked in to a certain platform. However, most PaaSes are relatively lock-in free.

Types
Public, private and hybrid
There are several types of PaaS, including public, private and hybrid. PaaS was originally intended for applications on public cloud services, before expanding to include private and hybrid options.

Public PaaS is derived from software as a service (SaaS), and is situated in cloud computing between SaaS and infrastructure as a service (IaaS). SaaS is software that is hosted in the cloud, so that it doesn't take up hard drive from the computer of the user or the servers of a company. IaaS provides virtual hardware from a provider with adjustable scalability. With IaaS, the user still has to manage the server, whereas with PaaS the server management is done by the provider. IBM Bluemix (also private and hybrid), Amazon AWS and Heroku are some of the commercial public cloud PaaS providers.

A private PaaS can typically be downloaded and installed either in a company's on-premises data center, or in a public cloud. Once the software is installed on one or more machines, the private PaaS arranges the application and database components into a single hosting platform. Private PaaS vendors include Apprenda, which started out on the Microsoft .NET platform before rolling out a Java PaaS; Red Hat's OpenShift and Pivotal Cloud Foundry. Apprenda and Microsoft once considered to be two of the only PaaSes that provide superior .NET support. Now joined by the publicly announced  Microsoft and IBM Partnership programme.

Hybrid PaaS is typically a deployment consisting of a mix of public and private deployments. An example here is IBM Bluemix which is delivered as a single, integrated cloud platform across public, dedicated, and on-premises deployment models.

Mobile PaaS
Initiated in 2012, mobile PaaS (mPaaS) provides development capabilities for mobile app designers and developers. The Yankee Group identified mPaaS as one of its themes for 2014, naming a number of providers including Kinvey, CloudMine, AnyPresence, FeedHenry, FatFractal and Point.io.

Open PaaS
Open PaaS does not include hosting, but rather it provides open source software allowing a PaaS provider to run applications in an open source environment. For example, AppScale allows a user to deploy some applications written for Google App Engine to their own servers, providing datastore access from a standard SQL or NoSQL database. Some open platforms let the developer use any programming language, database, operating system or server to deploy their applications.

PaaS for Rapid Development
In 2014, Forrester Research defined enterprise public cloud platforms for rapid developers as an emerging trend, naming a number of providers including Mendix, Salesforce.com, OutSystems and Acquia.

System types
PaaS is found on the following types of systems:

Add-on development facilities
These facilities allow customization of existing SaaS applications, often requiring PaaS developers and their users to purchase subscriptions to the add-on SaaS application.
Stand alone environments
Stand-alone PaaS environments do not include technical, licensing or financial dependencies on specific SaaS applications or web services, and are intended to provide a generalized development environment.
Application delivery-only environments
Delivery-only PaaS offerings generally focus on hosting services, such as security and on-demand scalability. The service does not include development, debugging and test capabilities, though they may be supplied offline (via an Eclipse plugin, for example).

Providers
There are various types of PaaS providers. All offer application hosting and a deployment environment, along with various integrated services. Services offer varying levels of scalability and maintenance. Developers can write an application and upload it to a PaaS that supports their software language of choice, and the application runs on that PaaS.

What is Node.js?

Node.js is a platform built on Chrome’s JavaScript runtime for easily building fast and scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
Node.js. It’s the latest in a long line of “Are you cool enough to use me?” programming languages, APIs, and toolkits. In that sense, it lands squarely in the tradition of Rails, and Ajax, and Hadoop, and even to some degree iPhone programming and HTML5. Go to a big technical conference, and you’ll almost certainly find a few talks on Node.js, although most will fly far over the head of the common mortal programmer.
Node.js training
Dig a little deeper, and you’ll hear that Node.js (or, as it’s more briefly called by many, simply “Node”) is a server-side solution for JavaScript, and in particular, for receiving and responding to HTTP requests. If that doesn’t completely boggle your mind, by the time the conversation heats up with discussion of ports, sockets, and threads, you’ll tend to glaze over. Is this really JavaScript? In fact, why in the world would anyone want to run JavaScript outside of a browser, let alone the server?
It is an open source, cross-platform runtime environment for developing server-side and networking applications. Node.js applications are written in JavaScript, and can be run within the Node.js runtime on OS X, Microsoft Windows, and Linux.
Node.js also provides a rich library of various JavaScript modules which simplifies the development of web applications using Node.js to a great extent.
Node.js = Runtime Environment + JavaScript Library
The good news is that you’re hearing (and thinking) about the right things. Node really is concerned with network programming and server-side request/response processing. The bad news is that like Rails, Ajax, and Hadoop before it, there’s precious little clear information available. There will be, in time — as there now is for these other “cool” frameworks that have matured — but why wait for a book or a tutorial when you might be able to use Node today, and dramatically improve the maintainability of your code and even the ease with which you bring on programmers?

A warning to the Node experts out there

Node is like most technologies, that are new to the masses, but old hat to the experienced few: it’s opaque and weird to most but completely usable for a small group. The result is that if you’ve never worked with Node, you’re going to need to start with some pretty basic server-side scripts. Take your time making sure you know what’s going on, because while this is JavaScript, it’s not operating like the client-side JavaScript you’re used to. In fact, you’re going to have to twist your JavaScript brain around event loops and waiting, and even a bit of network theory.
Unfortunately, this means that if you’ve been working and playing with Node for a year or two, much of this article is going to seem pedestrian and overly simplistic. You’ll look for things like using Node on the client, or heavy theory discussions on evented I/O and reactor patterns, and npm. The reality is that while that’s all interesting — and advances Node to some pretty epic status — it’s incomprehensible to someone who is just getting started out. Given that, maybe you should pass this piece onto your co-workers who don’t know Node, and then when they’re buying into Node’s usefulness, start to bring them along with the more advanced Node use cases.

Performance Counters

There are a few key performance counters to watch when you’re trying to monitor the performance of your SSIS package. These counters greatly help you troubleshoot issues, if you have memory contention or you need to tweak your SSIS settings. Inside the System Monitor (also known to old-school administrators as perfmon) is a performance object called SQLServer: SSIS Pipeline. (There are quite a few other objects as well, but they are not useful enough to describe here.)
SSIS training 
If you’re trying to benchmark how many rows are being read and written, you can use the Rows Read and Rows Written counters. These counters show you the number of rows since you starting monitoring the packages. It sums all rows in total across all packages and does not allow you to narrow the results down to a single package.
The most important counters are the buffer counters. The Buffer Memory counter shows you the amount of memory, in total, being used by all the packages. The Buffers In Use counter indicates how many buffers are actually in use. The critical counter here, though, is Buffers Spooled. This shows you how many buffers have been written from memory to disk. This is critical for the performance of your system. If you have buffers being spooled, you have a potential memory contention, and you may want to consider increasing the memory or changing your buffer settings in your package. This is covered in more detail in Understanding and Tuning the Data Flow Engine Topic, but you should never see this number creep above a 5, if not 0.

Dimensional modeling Concept Introduction

Dimensional modeling (DM) names a set of techniques and concepts used in data warehouse design. It is considered to be different from entity-relationship modeling (ER). Dimensional modeling does not necessarily involve a relational database. The same modeling approach, at the logical level, can be used for any physical form, such as multidimensional database or even flat files. According to data warehousing consultant Ralph Kimball, DM is a design technique for databases intended to support end-user queries in a data warehouse. It is oriented around understandability and performance. According to him, although transaction-oriented ER is very useful for the transaction capture, it should be avoided for end-user delivery.

Dimensional modeling always uses the concepts of facts (measures), and dimensions (context). Facts are typically (but not always) numeric values that can be aggregated, and dimensions are groups of hierarchies and descriptors that define the facts. For example, sales amount is a fact; timestamp, product, register#, store#, etc. are elements of dimensions. Dimensional models are built by business process area, e.g. store sales, inventory, claims, etc. Because the different business process areas share some but not all dimensions, efficiency in design, operation, and consistency, is achieved using conformed dimensions, i.e. using one copy of the shared dimension across subject areas. The term "conformed dimensions" was originated by Ralph Kimball.


Dimensional modeling process

The dimensional model is built on a star-like schema, with dimensions surrounding the fact table. To build the schema, the following design model is used:

Choose the business process
Declare the grain
Identify the dimensions
Identify the fact
Choose the business process
The process of dimensional modeling builds on a 4-step design method that helps to ensure the usability of the dimensional model and the use of the data warehouse. The basics in the design build on the actual business process which the data warehouse should cover. Therefore, the first step in the model is to describe the business process which the model builds on. This could for instance be a sales situation in a retail store. To describe the business process, one can choose to do this in plain text or use basic Business Process Modeling Notation (BPMN) or other design guides like the Unified Modeling Language (UML).

Declare the grain
After describing the business process, the next step in the design is to declare the grain of the model. The grain of the model is the exact description of what the dimensional model should be focusing on. This could for instance be “An individual line item on a customer slip from a retail store”. To clarify what the grain means, you should pick the central process and describe it with one sentence. Furthermore, the grain (sentence) is what you are going to build your dimensions and fact table from. You might find it necessary to go back to this step to alter the grain due to new information gained on what your model is supposed to be able to deliver.

Identify the dimensions

The third step in the design process is to define the dimensions of the model. The dimensions must be defined within the grain from the second step of the 4-step process. Dimensions are the foundation of the fact table, and is where the data for the fact table is collected. Typically dimensions are nouns like date, store, inventory etc. These dimensions are where all the data is stored. For example, the date dimension could contain data such as year, month and weekday.

Identify the facts

After defining the dimensions, the next step in the process is to make keys for the fact table. This step is to identify the numeric facts that will populate each fact table row. This step is closely related to the business users of the system, since this is where they get access to data stored in the data warehouse. Therefore, most of the fact table rows are numerical, additive figures such as quantity or cost per unit, etc.

Dimension Normalization

Dimensional normalization or snowflaking removes redundant attributes, which are known in the normal flatten de-normalized dimensions. Dimensions are strictly joined together in sub dimensions.

Snowflaking has an influence on the data structure that differs from many philosophies of data warehouses. Single data (fact) table surrounded by multiple descriptive (dimension) tables

Developers often don't normalize dimensions due to several reasons:

Normalization makes the data structure more complex
Performance can be slower, due to the many joins between tables
The space savings are minimal
Bitmap indexes can't be used
Query performance. 3NF databases suffer from performance problems when aggregating or retrieving many dimensional values that may require analysis. If you are only going to do operational reports then you may be able to get by with 3NF because your operational user will be looking for very fine grain data.
There are some arguments on why normalization can be useful. It can be an advantage when part of hierarchy is common to more than one dimension. For example, a geographic dimension may be reusable because both the customer and supplier dimensions use it.


Benefits of dimensional modeling
Benefits of the dimensional model are the following:

Understandability. Compared to the normalized model, the dimensional model is easier to understand and more intuitive. In dimensional models, information is grouped into coherent business categories or dimensions, making it easier to read and interpret. Simplicity also allows software to navigate databases efficiently. In normalized models, data is divided into many discrete entities and even a simple business process might result in dozens of tables joined together in a complex way.
Query performance. Dimensional models are more denormalized and optimized for data querying, while normalized models seek to eliminate data redundancies and are optimized for transaction loading and updating. The predictable framework of a dimensional model allows the database to make strong assumptions about the data which may have a positive impact on performance. Each dimension is an equivalent entry point into the fact table, and this symmetrical structure allows effective handling of complex queries. Query optimization for star-joined databases is simple, predictable, and controllable.
Extensibility. Dimensional models are scalable and easily accommodate unexpected new data. Existing tables can be changed in place either by simply adding new data rows into the table or executing SQL alter table commands. No queries or applications that sit on top of the data warehouse need to be reprogrammed to accommodate changes. Old queries and applications continue to run without yielding different results. But in normalized models each modification should be considered carefully, because of the complex dependencies between database tables.


Dimensional Models, Hadoop, and Big Data

We still get the benefits of dimensional models on Hadoop and similar big data frameworks. However, some features of Hadoop require us to slightly adopt the standard approach to dimensional modelling.

The Hadoop File System is immutable. We can only add but not update data. As a result we can only append records to dimension tables. Slowly Changing Dimensions on Hadoop become the default behaviour. In order to get the latest and most up to date record in a dimension table we have three options. First, we can create a View that retrieves the latest record using windowing functions. Second, we can have a compaction service running in the background that recreates the latest state. Third, we can store our dimension tables in mutable storage, e.g. HBase and federate queries across the two types of storage.
The way how data is distributed across HDFS makes it expensive to join data. In a distributed relational database (MPP) we can co-locate records with the same primary and foreign keys on the same node in a cluster. This makes it relatively cheap to join very large tables. No data needs to travel across the network to perform the join. This is very different on Hadoop and HDFS. On HDFS tables are split into big chunks and distributed across the nodes on our cluster. We don’t have any control on how individual records and their keys are spread across the cluster. As a result joins on Hadoop for two very large tables are quite expensive as data has to travel across the network. We should avoid joins where possible. For a large fact and dimension table we can de-normalise the dimension table directly into the fact table. For two very large transaction tables we can nest the records of the child table inside the parent table and flatten out the data at run time.

Learn All Concepts In OBIEE

Advanced planning and scheduling Concept introduction

Advanced planning and scheduling (APS, also known as advanced manufacturing) refers to a manufacturing management process by which raw materials and production capacity are optimally allocated to meet demand.[1] APS is especially well-suited to environments where simpler planning methods cannot adequately address complex trade-offs between competing priorities. Production scheduling is intrinsically very difficult due to the (approximately) factorial dependence of the size of the solution space on the number of items/products to be manufactured.


Difficulty of production planning

Traditional production planning and scheduling systems (such as manufacturing resource planning) use a stepwise procedure to allocate material and production capacity. This approach is simple but cumbersome, and does not readily adapt to changes in demand, resource capacity or material availability. Materials and capacity are planned separately, and many systems do not consider material or capacity constraints, leading to infeasible plans. However, attempts to change to the new system have not always been successful, which has called for the combination of management philosophy with manufacturing.

Unlike previous systems, APS simultaneously plans and schedules production based on available materials, labor and plant capacity.

APS has commonly been applied where one or more of the following conditions are present:

make to order (as distinct from make to stock) manufacturing
capital-intensive production processes, where plant capacity is constrained
products 'competing' for plant capacity: where many different products are produced in each facility
products that require a large number of components or manufacturing tasks
production necessitates frequent schedule changes which cannot be predicted before the event
Advanced planning & scheduling software enables manufacturing scheduling and advanced scheduling optimization within these environments.

Learn Microsoft Dynamics AX

Wednesday 31 May 2017

Oracle HRMS Interview Questions

Q. How do you Debug a Fast Formula?

You can create a message variable in Fast Formula.
This message variable must also be registered as a Formula Result( In “Formula Result Rule” window).
visit Here for more questions

Q. How can you make Employee Number generation Automated based on business rule etc.

Use Fast Formula.

Q. What is the difference between per_people_f and per_all_people_f

PER_PEOPLE_F is a secured view on top of PER_ALL_PEOPLE_F. The secure view uses an API hr_security.show_person.
This API internally checks for an entry in table PER_PERSON_LIST for the logged in person’s security profile. A concurrent
program named “Security List Maintainence program” will insert records in PER_PERSON_LIST

Q. If you do personalization at both FUNCTION level and Responsibility level, which personalization has higher precedence?

Responsibility level. Responsibility level will override FUNCTION level personalizations.

Say you have done a lot of Personalizations to Self Service Screens.

But all these Personalizations were done in DEVELOPMENT environment.

How will you migrate these personalizations to PRODUCTION environment?

Before 11.5.7…Use AKLoad
This is a java program given by Oracle. This is the only way you can script it.
In DEV you will do è akdload DOWNLOAD ( & other parameters)
In PRD you will do è akdload UPLOAD ( & other parameters)
On or after 11.5.10 Use responsibility “Functional Administrator”, then click
on Personalization Tab, and then click on Import/Export.
Next select the documents to be exported.
Go to the unix box and tar the personalizations into a .tar file.
On the Production environment unzip this tar file in location as entered in profile “FND: Personalization Document Root Path”.
Setting up of this profile is mandatory or else Oracle Framework would’nt know where to search for the files to be imported.

Q. What are the minimum classifications to create a Business Group?

  • Business Group
  • GRE/legal Entity
  • HR Organization

Q. What are the pre-requisites for creating a Business group?

  • Value sets
  • Key flex fields
  • Location

Q. What is the use of HR organization?

If we want to assign the employee information to a Business Group then we need to have HR organization classification under a business group

Q. What is people group?

  • It is a flexible area for holding user defined assignment data
  • Data can be used for grouping sets of assignment together
  • People group can be used for element eligibility
  • This information is used by the payroll run
  • The data will be held in PAY_PEOPLE_GROUPS.
  • Group_name field holds the concatenation of segment data.

Q. What is kff structure for SIT?

Personnel analysis flexfields

Q. What is the DFF structure for EIT?

  • Extra person information
  • Assignment extra information
  • Extra location information
  • Extra position information
  • Extra job informantion
  • Organization developer DF

Q. How to enable EIT?

  • Switch responsibility to human resources, vision enterprises
  • Double click on security
  • Click on information types
  • Create your own information types under your responsibility name

Q. How to enable SIT?

  • Switch responsibility to human resources vision enterprises
  • Double click other definitions
  • Click on special information types

Q. What is the Data Track?

  • It is used to maintain record history by creating a new record when the date track mode is UPDATE and override on the existing record when the Data track mode is CORRECTION.
  • The value of the Data track record depends on the date
  • Tables ending with _F are date track tables
  • To control data tracked rows, every Date Track table must include Effective start date and Effective end date.
  • The effective start date indicates when the record inserted
  • The effective end date indicates when the record updated or deleted.

Q. Important Tables in HRMS?

  • per_all_people_f  : This table will provide us the very basic information about the employee. The very data from the first screen we see when we open the ‘People -> Enter and Maintain’ form goes into this table.
  • per_all_assignments_f  : This table will store all the information which is been entered in the employee assignment form.
  • per_addresses  :  This table will store all the information which is been entered in the employee address form.
  • per_pay_proposals   :  This table will store all the information which is been entered in the employee salary form.
  • per_person_types_tl   :  This table is used to find the type of the employee. This table is linked with the per_all_people_f with the person_type_id to find out the type of person.
  • per_jobs_tl  :  This table will contain the various types of JOBS in oracle. This table is been linked with the per_all_assignments_f table to retrieve the correct job name from the employee.
  • per_grades_tl  :  This table will contain the various types of GRADES in oracle. This table is been linked with the per_all_assignments_f table to retrieve the correct grade name from the employee.
  • hr_locations_all  :  This table will contain the various LOCATIONS in oracle. This table is been linked with the per_all_assignments_f table to retrieve the correct location name from the employee.
  • pay_all_payrolls_f  :  This table will contain the various types of PAYROLLS in oracle. This table is been linked with the per_all_assignments_f table to retrieve the correct payroll name from the employee.
  • per_pay_bases  :  This table will contain the various types of PAY BASES in oracle. This table is been linked with the per_all_assignments_f table to retrieve the correct pay basis name from the employee.
  • per_assignment_status_types_tl  :  This table will contain the various types of assignment types in oracle. The assignment types generally would be ‘Active Assignment’ etc.. This table is been linked with the per_all_assignments_f table to retrieve the correct job name from the employee.
  • per_person_type_usages_f  :  This table will store the correct person type of the particluar employee. We should never depend on the person type present in the per_all_people_f table. Instead we need to link the person_id with this table and get the correct person type.

Q. Key Flexfields (KFFs) in HRMS?

=>Job KFF, =>Grade KFF, =>People Group KFF, =>Position KFF, => Cost Allocation KFF, => Competence KFF

Q. What are Date Track Tables?

Every update in the Table, we will save the change in the form of a Record to provide the facility to find the information at any point of time.
These tables are post fixed by _F

Q. What are secured Views?

The Views which do not have the _all to be said as secured views.
Per_all_people_F
per_people_f
per_all_assignemtns_f
per_assignments_f
pay_all_payrolls_F
per_payrolls_f

Q. The difference between both secured views and non secured views is :

  • Secured views display information only for the current period
  • Unsecured views is used to get the information from the entire rows

Q. APIs in HRMS?

API are used in HR to insert the data into the Base tables. As its very secured system, the user does nothave the facility to copy the data directly into the Base tables.When we write the inbound interfaces / use WebAdI, the systems will use the APIs to store the data into system.The API are published by oracle with number of parameters.The different types of parameters are IN / INOUT / OUT.Of these parameters few are mandatory, with out which the process wont complete.Generally when we use API we give data for : Object Version Number, Effective Date, P_Validate
HR_EMOYEE_api ex: hr_employee_api.create_employee
hr_PERSON_api
hr_organization_api Ex: hr_organization_api.create_organization
hr_applicant_apI
hr_assignment_api

Q. What are the reports which you have done in HR?

HR PAYROLL COSTING :
This report is used to display the information about the employees, the assignements which were given to the employees along with the payroll details including the Hours Paid, Salary, NI, Pension, Car Allowances and Other Allowances.

Q. Understanding the p_datetrack_update_mode Control Parameter in HRMS API

The p_datetract_update_mode control parameter enables you to define the type of DateTrack change to be made. This mandatory parameter must be set to one of the values as mentioned below:
UPDATE – Keep history of existing information
CORRECTION – Correct existing information
UPDATE_OVERRIDE – Replace all scheduled changes
UPDATE_CHANGE_INSERT – Insert this change before next scheduled change

Q. Understanding the p_datetrack_delete_mode Control Parameter

The p_datetract_update_mode control parameter enables you to define the type of DateTrack deletion to be made. This mandatory parameter must be set to one of the following values:
ZAP – Completely remove from the database
DELETE – Set end date to effective date
FUTURE_CHANGE – Remove all scheduled changes
DELETE_NEXT_CHANGE – Remove next change

Q. How will you migrate Oracle General Ledger Currencies and Sets of Books Definitions fromone environment to another without reKeying? Will you use FNDLOAD?

FNDLOAD can not be used in the scenario. You can use migrator available in “Oracle iSetup” Responsibility

Q. This is a very tough one, almost impossible to answer, but yet I will ask. Which Form in Oracle Applications has most number of Form Functions?

“Run Reports”. And why not, the Form Function for this screen has a parameter to which we pass name of the “Request Group”, hence securing the list of Concurrent Programs that are visible in “Run Request” Form. Just so that you know, there are over 600 form functions for “Run Reports”

Q. Which responsibility do you need to extract Self Service Personalizations?

Functional Administrator

Q. Can you list any one single limitation of Forms Personalization feature that was delivered with 11.5.10

You can not implement interactive messages, i.e. a message will give multiple options for Response. The best you can get from Forms Personalization to do is popup up Message with OK option.

Q. You have just created two concurrent programs namely “XX PO Prog1” & “XX PO Prog2”. Now you wish to create a menu for Concurrent Request submission such that only these two Concurrent Programs are visible from that Run Request menu. Please explain the steps to implement this?

  1. a) Define a request group, lets say with name “XX_PO_PROGS”
  2. b) Add these two concurrent programs to the request group “XX_PO_PROGS”
  3. c) Define a new Form Function that is attached to Form “Run Reports”
  4. d) In the parameter field of Form Function screen, enter
REQUEST_GROUP_CODE=”XX_PO_PROGS” REQUEST_GROUP_APPL_SHORT_NAME=”XXPO” TITLE=”XXPO:XX_PO_PROGS”
  1. e) Attach this form function to the desired menu.

Q. Does Oracle 10g support rule based optimization?

The official stance is that RBO is no longer supported by 10g.

Q. Does oracle support partitioning of tables in Oracle Apps?

Yes, Oracle does support partitioning of tables in Oracle Applications. There are several implementations that partition on GL_BALANCES. However your client must buy licenses to if they desire to partition tables. To avoid the cost of licensing you may suggest the clients may decide to permanently close their older GL Periods, such that historical records can be archived.
Note: Before running the archival process the second time, you must clear down the archive table GL_ARCHIVE_BALANCES (don’t forget to export archive data to a tape).

Q. What will be your partitioning strategy on GL_BALANCES? Your views please?

This really depends upon how many periods are regularly reported upon, how many periods are left open etc. You can then decide to partition on period_name, or period ranges, or on the status of the GL Period.

Q. Does Oracle support running of gather stats on SYS schema in Oracle Apps?

If your Oracle Applications instance is on 10g, then you can decide to run stats for SYS schema.  This can be done by  exec dbms_stats.gather_schema_stats(‘SYS’);
Alternately using command dbms_stats.gather_schema_stats(‘SYS’,cascade=>TRUE,degree=>20);
I will prefer the former with default values.
If you wish to delete the stats for SYS use exec dbms_stats.delete_schema_stats(‘SYS’);
You can schedule a dbms_job for running stats for SYS schema.

Q. Can you use concurrent program “Gather Schema Statistics” to gather stats on sys schema in oracle apps?

No, “Gather Schema Statistics” has no parameters for SYS schema.  Please use dbms_job.

Q. Which table is used to provide drill down from Oracle GL into sub-ledger?

GL_IMPORT_REFERENCES

Q. What is the significance of profile option “Node Trust Level” in Oracle Apps.

If this profile option is set to a value of external against a server, then it signifies that the specific mid-tier is External i.e. it will be exposed to the www. In other words this server is not within the firewall of your client. The idea behind this profile option is to flag such middle-tier so that special restrictions can be applied against its security, which means a very restricted set of responsibilities will be available from such Middle-Tier.

Q. What is the significance of profile option “Responsibility Trust Level”.

In order to make a responsibility accessible from an external web tier, you must set profile option “Responsibility Trust Level” at responsibility level to “External”. Only those responsibilities that have this profile option against them will be accessible from External Middle tiers.

Q. What else can you suggest to restrict the access to screens from external web tiers?

You may use URL filtering within Apache.

Q. What is the role of Document Manager in Oracle Purchasing?

POXCON is an immediate concurrent program. It receives pipe signal from the application when a request is made for approval/reservations/receipts.

Q. How to debug a document manager in Oracle Apps?

Document manger runs within the concurrent manager in Oracle Applications.  When an application uses a Document Manager, it sends a pipe signal which is picked up by the document manager.
There are two mechanisms by which to trace the document manager
  1. Set the debugging on by using profile option
STEP 1. Set profile option “Concurrent:Debug Flags” to TCTM1
This profile should only generate debugs when set at Site level(I think, as I have only tried site), because Document Manager runs in a different session.
STEP 2. Bounce the Document Managers
STEP 3. Retry the Workflow to generate debugs.
STEP 4. Reset profile option “Concurrent:Debug Flags” to blank
STEP 5. have a look at debug information in table fnd_concurrent_debug_info
  1. Enable tracing for the document managers
This can be done by setting profile option “Initialization SQL Statement – Custom” against your username before reproducing the issue. The value of this profile will be set so as to enable trace using event 10046, level 12.

Q. You have written a Java Concurrent Program in Oracle Apps. You want to modify the CLASSPATH such that new class CLASSPATH is effective just for this program.

In the options field of the concurrent program you can enter something similar to below.
-cp <your custom lib pathused by Java Conc Prog> :/home/xxvisiondev/XXDEVDB/comn/java/appsborg. zip:/home/xxvisiondev/XXDEVDB/comn/java

Q. How will you open a bc4j package in jdeveloper?

Oracle ships a file named server.xml with each bc4j package. You will need to ftp that file alongside other bc4j objects(VO’s, EO’s, AM, Classes etc).
Opening the server.xml will load the complete package starting from AM(application module). This is a mandatory step when building Extensions to framework.

Q. In OA Framework Self-Service screen, you wish to disable a tab. How will you do it?

Generally speaking, the tabs on a OA Framework page are nothing but the SubMenus. By entering menu exclusion against the responsibility, you can remove the tab from self service page.
In self service, you wish to change the background color and the foreground text of the OA

Q. Framework screens to meet your corporate standards. How will you do it?

You will need to do the below steps
  • Go to Mid Tier, and open $OA_HTML/cabo/styles/custom.xss
  • Enter below text( change colours as needed)
<style name=”DarkBackground”>
<property name=”background-color”>#000066</property>
</style>
<style name=”TextForeground”>
<property name=”color”>#0000FF</property>
</style>
  • cd $OA_HTML/cabo/styles/cache
  • Take a backup of all the css files.
  • Delete all the files of following pattern oracle-desktop*.css
The idea here is to delete the cache. Next time when you logon to Oracle Apps Self Service, the Framework will rebuild the css file if found missing for your browser.

Q. Can you extend and substitue a root AM ( Application Module) in OA Framework using JDeveloper?

You can extend the AM in jDeveloper, but it doesn’t work( at least it didn’t work in 11.5.9). I am hopeful that Oracle will deliver a solution to this in the future.

Q. In a workflow notification, you have a free text response field where the user enters the Vendor Number for the new vendor. You want to validate the value entered in the notification response field upon the submission of a response. How will you do it?

You will need to attach a post notification function to the Workflow Notification.
The PL/SQL code will look similar to below:-
The below code will display an error in the notification when user attempts to create a Duplicate Vendor Number.
PROCEDURE validate_response_from_notif
(
itemtype IN VARCHAR2
,itemkey  IN VARCHAR2
,actid IN NUMBER
,funcmode IN VARCHAR2
,RESULT   IN OUT VARCHAR2
) IS
l_nid                   NUMBER;
l_activity_result_code VARCHAR2(200);
v_newly_entered_vendor_num VARCHAR2(50);
CURSOR c_get_response_for_new_vendor IS
SELECT wl.lookup_code
FROM   wf_notification_attributes wna
,wf_notifications        wn
,wf_message_attributes_vl   wma
,wf_lookups              wl
WHERE  wna.notification_id = l_nid
AND wna.notification_id = wn.notification_id
AND wn.message_name = wma.message_name
AND wn.message_type = wma.message_type
AND wna.NAME = wma.NAME
AND wma.SUBTYPE = ‘RESPOND’
AND wma.format = wl.lookup_type
AND wna.text_value = wl.lookup_code
AND wma.TYPE = ‘LOOKUP’
AND decode(wma.NAME, ‘RESULT’, ‘RESULT’, ‘NORESULT’) = ‘RESULT’;
BEGIN
IF (funcmode IN (‘RESPOND’))
THEN
l_nid := wf_engine.context_nid;
OPEN c_get_response_for_new_vendor;
FETCH c_get_response_for_new_vendor
INTO l_activity_result_code;
CLOSE c_get_response_for_new_vendor;
v_newly_entered_vendor_num := wf_notification.getattrtext(l_nid,’NEWLY_ENTERED_VENDOR_NUM_4_PO’);
IF l_activity_result_code = ‘NEW_VENDOR’
AND does_vendor_exist(p_vendor => v_newly_entered_vendor_num)
THEN
RESULT := ‘ERROR: VendorNumber you entered already exists’;
RETURN;
END IF;
END IF;
EXCEPTION
WHEN OTHERS THEN
RESULT := SQLERRM;
END validate_response_from_notif;

Q. How to make concurrent program end with warning?

If the concurrent program is of type PL/SQL, you can assign a value of 1 to the “retcode” OUT Parameter.
For a Java Concurrent program, use the code similar to below
ReqCompletion lRC;
//get handle on request completion object for reporting status
lRC = pCpContext.getReqCompletion();
lRC.setCompletion(ReqCompletion.WARNING, “WARNING”);

Q. How do you link a Host type concurrent program to Concurrent Manager?

Assuming your executable script is LOADPO.prog, then use the commands below
cd $XXPO_TOP/bin
ln -s $FND_TOP/bin/fndcpesr $XXPO_TOP/bin/LOADPO

Q. How do you know if a specific Oracle patch has been applied in apps to your environment?

Use table ad_bugs, in which column bug_number is the patch number.
SELECT bug_number
,to_char(creation_date, ‘DD-MON-YYYY HH24:MI:SS’) dated
FROM   apps.ad_bugs
WHERE  bug_number = TRIM(‘&bug_number’) ;

Q. How do you send a particular Oracle Apps Workflow Activity/Function within a workflow process into background mode?

If cost of the workflow activity is greater than 50, then the workflow activity will be processed in background mode only, and it won’t be processed in online mode.

Q. What are the various ways to kick-off a workflow

You can eiter use wf_engine.start_process or you can attach a runnable process such ghat it subscribes to a workflow event.
When starting (kicking off) an oracle workflow process, how do you ensure that it happens in a background mode?
–a) if initiating the process using start_process, do the below
wf_engine.threshold := -1;
wf_engine.createprocess(l_itemtype
,l_itemkey
,'<YOUR PROCESS NAME>’);
wf_engine.startprocess(l_itemtype, l_itemkey)
–b) When initiating the workflow process through an event subscription, set the Execution Condition Phase to be equal to or above 100 for it to be executed by background process.

Q. On 10g, how will you use awr?

By running below scripts. These are both the same scripts, but with differing parameters.
$ORACLE_HOME/rdbms/admin/awrrpt.sql
$ORACLE_HOME/rdbms/admin/awrrpti.sql