Friday, July 15, 2016

COUNT FUNCTIONALITIES IN SQL

count(*):

It selects all the columns in the table and then count the rows in a table

Example:select  count(*) from emp;

count(1):

It selects the first column from the table and then count the rows and including null values also.

Example:select  count(1) from emp;

count(column name):

It select the column and then count all the rows except null values

Example:select  count(empno) from emp;

count(distict column name):

It will count the rows in  column with distinct values

Example: select  count( distinct empno) from emp;

Scheduling concurrent program in Oracle Apps

Now let us see how we schedule a concurrent program in Oracle Apps.
1. Go to the respective responsibility where the concurrent program to be scheduled exists. Then go to View > Requests and click on “Submit a New Request”
Sch1
2. Select “Single Request” and click on OK button
Sch2
3. Enter the concurrent program name to be scheduled and the respective parameters and click on Schedule button
Sch3
4. This will open up the Schedule window.
Sch4
5. Schedule options: The below are the available scheduling options, we will see what they mean.
(i) As Soon as Possible: Selecting this option will kick off the concurrent program immediately.
(ii) Once: Selecting this option lets you specify at what time and date you want to kick off the concurrent program. The concurrent program will be submitted only once at the specified time and date.
Sch5
(iii) Periodically: Lets you schedule the program at the specified interval like once a month/week/day/hour/minute.
Sch6
Description of the fields and their importance:
Start At: Enter the date and time when you want to start the schedule
End At: Enter the end date for the schedule. Leaving this blank will run indefinitely.
Re-run every: Specify the interval you want to run like for example – every 1 day or every 2 months.
Apply the interval: How do you want to apply the interval from the start of the prior run or from the completion of the prior run.
Increment date parameters each run: Use this when one of the parameters for your program is a date.
If you check this, the date parameter will be incremented for each run.
If not checked, the date given in the parameter will not increment, it will remain the same as entered while scheduling for every run.
Apply a Saved Schedule: If more than one program has to be scheduled in a similar fashion, instead of entering the schedule details for each and every program, you can save the schedule and apply the same schedule for the remaining programs.
(iv) On Specific Days: Use this if you want to run the program for example on 5th day of every month or on Tuesday of every week,. This option lets you choose on what days of every month you want to run a program.
Sch7
6. Once you specify the interval/frequency you want the program to run, click on OK button. (I have set it to run once a day at 2:00 P.M starting from 23-Feb-2014 till 26-Feb-2014 as seen in the below screenshot)
Sch8
7. Click on Submit button.
Sch9
8. Upon querying for the request in the requests window, you see our program with status scheduled. When it’s time, the program will be executed.
Sch10
This is how you schedule a program to run at a specified frequency or interval.
9. At any point of time, if you need to change the schedule, you can select the scheduled request and click on View Details button
Sch11
Then click on Schedule button. Here you can change the schedule as per your wish.
Sch12
10. If you wish to cancel a scheduled request, select the request in the Requests window and click on Cancel Request in Requests window.
Sch13
This will prevent the program from running. If you see the below screenshot, status is cancelled.
Sch14

Wednesday, July 13, 2016

Implement External LOV in OA Framework

Implement External LOV in OA Framework
1. Create a New Workspace and Project
Right click Workspaces and click create new OAworkspace and name it as PRajkumarLovDemo. Automatically a new OA Project is also created. Name the project as LovDemo and package as prajkumar.oracle.apps.fnd.lovdemo

2. Create a New Application Module (AM)
Right Click on LovDemo > New > ADF Business Components > Application Module
Name -- LovAM
Package -- prajkumar.oracle.apps.fnd.lovdemo.server

3. Create a New View Object (VO)
Right click on LovDemo > New > ADF Business Components > View Object
Name -- LovVO
Package -- prajkumar.oracle.apps.fnd.lovdemo.server

Note - The VO is not based on any EO so click next and go to the query section and paste the query
SELECT          employee_number, full_name
FROM             per_all_people_f
WHERE           SYSDATE BETWEEN effective_start_date AND effective_end_date

4. Add View Object to Root UI Application Module

5. Create a New Page
Right click on LovDemo > New > Web Tier > OA Components > Page
Name -- LovPG
Package -- prajkumar.oracle.apps.fnd.lovdemo.webui

6. Select the LovPG and go to the strcuture pane where a default region has been created

7. Select region1 and set the following properties:  
ID -- PageLayoutRN
AM Definition -- prajkumar.oracle.apps.fnd.lovdemo.server.LovAM
Window Title -- List of values Demo Window
Title – List of values Demo

8. Right click PageLayoutRN and  click new Region
ID -- MainRN
Region Style – messageComponentLayout
Note - Style is given as messageComponentlayout because we are going to create only message components that is messageLovInput item in that region

9. Create a New Region
Right click on LovDemo > New > Web Tier > OA Components > Region
Name -- EmployeeLovRN
Package -- prajkumar.oracle.apps.fnd.lovdemo.webui
Region Style -- listOfValues
Scope -- Public

Note - The property Scope is the key property which makes the LOV region public and makes it usable in multiple pages

10. Select EmployeeLovRN. Right click on EmployeeLovRN in Structure pane and click table using wizard. In the wizard choose the prajkumar.oracle.apps.fnd.lovdemo.server.LovAM and select the LovVO1. Click Next
Region Id -- LovRN
Region style -- table

11. Shuttle the two attributes to the right side.That is EmployeeNumber and FullName

12. Click next, check the mapping and then finish

13. Select the field FullName and set the following properties:
Search Allowed -- True
Selective Search Criteria – True

Note - The first property lets users search on these values in the LOV, and the second property ensures that the users specify search criteria for at least one of these values to avoid a blind query

Attaching External LOV to Page:

14. Click on LovPG and right click the MainRN and click new messageLovInput
External Lov -- /prajkumar/oracle/apps/fnd/lovdemo/webui/EmployeeLovRN
Lov Region Item -- FullName
Return Item -- item1
Criteria Item -- item1
Prompt -- Employee Name

15. Congratulation you have successfully finished. Run Your page and Test Your Work 
 






Tuesday, July 12, 2016

Error: oracle.apps.fnd.framework.OAException: Application: FND, Message Name: FND_GENERIC_MESSAGE. Tokens: MESSAGE = java.lang.NullPointerException;
Solution :
Set profile “Sign-On:Notification” to “No” at site level.

OAF Errors and Resolutions

OAF Error

oracle.apps.fnd.framework.OAException: Application: ICX, Message Name: Could not find the specified responsibility. (Could not lookup message because there is no database connection)

Resolution

Check the following properties are set correctly.

Go to Project Settings. Expand Common and then Oracle Applications.

1) Database Connection 
  • Check if database setup is created.
2) Runtime conneciton 
  • DBC file name. ( this is the connection used when your run it . The database connection is only for the desing time)
  • Application short name such AK.
  • Responsiblity key
  • User name (Apps user name)
  • Password (Apps user password).
3) Check if responsibility(from responsibility key used above) is assigned to your apps user   
     name that is used in runtime connection.

Monday, July 11, 2016

About Controller

About Controller

  • Controller will take care of the web browser activities.
  • The controller manages the flow between pages.
  • Controller responds to the user actions and directs application flow.
  • The controller will request from HTTP get and HTTP post.
  • All the controllers end with the CO.
  • When we create controller on subclass will generate.
one
Controllers have three methods:
  1. Process Request (HTTP get).
  2. Process Form Request (HTTP post).
  3. Process Form Data.
HTTP get:This is used while loading the page.
HTTP post: After loading the page if we want changes.
Process Request: This method will handle HTTP get example while loading the page displaying the default items.
Process Form Request: This method will handle HTTP post.After loading the page if we want to perform any actions then we go for process form request.
Process Form Data: This page is invoked upon a browser ‘post’. During this phase the framework will automatically applies changes back to the underlying view objects. Rarely custom code is required in this phase. If exceptions are thrown during this phase the phase is skipped and the page redisplays with the error message.
There are two parameters in the controller:
1) OAPageContext
2) OAWebBean
OAPageContext:
  • To get and set values of the fields using the OAPageContext.getparatmeter and OAPageContext.putparameter.
  • To call one page to another page OAPageContext.setforwardURL.
  • To redirect the current page itself use OAPageContext.forwardImmediatelyToCurrentPage (or) OAPageContext.sendRedirect and many more.
OAWebBean:
  • Each and every field we have properties and the properties define the behavior of item.
  • OAWebBean represents the Hierarchy/Structure of the components in the page.
  • WebBean represents the properties of item.
As we discussed what Model, View, and Controller is, look at the below figure which shows that how they generally interact with each other or how the data flow between them is.
two

About View

About View

  • View is the actual output OAF page what an end user can able to see.

  • In Oracle Apps Framework View is implemented using UIX technology, whereas UIX means User Interface XML.

  • Whenever we run the page in JDeveloper then automatically UIX will generate web.xml file.

  • The power of UIX is that allows metadata to be translated to an HTML page for a web browser or mobile device browsers.

  • The generated web.xml file will be converted into HTML format of OAF page.

  • Since web.xml file here will work as a cache memory.

  • Whenever we want to move the web.xml file into the server side then MDS repository is used to move the web.xml file into the server.

  • MDS stands for Meta Data Service and in the application top we will be having MDS folder.

  • When we deploy all the OAF page destination paths, regions then the files will be stored into the MDS tables.

  • The MDS table are like:

JDR_Paths:Stores the path of the documents, OA Framework pages and their parent child relationship.
JDR_Components:Stores components on documents and OA Framework pages.
JDR_Attributes:Stores attributes of components on documents and OA Framework pages.
JDR_ATTRIBUTES_TRANS:Stores translated attribute values of document components or OA framework pages.
JDR_DOCUMENT_ID_S:  This is a sequence generator table.

  • MDS can be managed using standard database procedures and tools.

Oracle Fusion - Cost Lines and Expenditure Item link in Projects

SELECT   ccd.transaction_id,ex.expenditure_item_id,cacat.serial_number FROM fusion.CST_INV_TRANSACTIONS cit,   fusion.cst_cost_distribution_...