Tuesday, 24 January 2017

Procure to Pay (P2P) Life Cycle


P2P Query :


SELECT   DISTINCT
         RH.SEGMENT1 "REQ NUMBER",
         RH.PREPARER_ID,
         RH.CREATION_DATE,
         PH.SEGMENT1 "PO NUMBER",
         RL.ITEM_DESCRIPTION,
         RL.TO_PERSON_ID,
         RL.SOURCE_TYPE_CODE,
         RL.NEED_BY_DATE,
         PH.VENDOR_ID,
         PH.VENDOR_SITE_ID,
         PV.VENDOR_NAME "VENDOR NAME",
         UPPER (PV.VENDOR_TYPE_LOOKUP_CODE) "VENDOR TYPE",
         PVS.VENDOR_SITE_CODE "VENDOR SITE",
         PVS.ADDRESS_LINE1 "ADDRESS",
         PVS.CITY "CITY",
         PVS.COUNTRY "COUNTRY",
         TO_CHAR (TRUNC (PH.CREATION_DATE)) "PO DATE",
         PH.TYPE_LOOKUP_CODE "PO TYPE",
         PD.QUANTITY_ORDERED "QTY ORDERED",
         PD.QUANTITY_CANCELLED "QTY CANCALLED",
         PL.ITEM_DESCRIPTION "ITEM DESCRIPTION",
         PL.UNIT_PRICE "UNIT PRICE",
         (NVL (PD.QUANTITY_ORDERED, 0) - NVL (PD.QUANTITY_CANCELLED, 0))
         * NVL (PL.UNIT_PRICE, 0)
            "PO LINE AMOUNT",
         DECODE (PH.APPROVED_FLAG, 'Y', 'Approved') "PO STATUS",
         PL.ITEM_ID,
         AIA.INVOICE_TYPE_LOOKUP_CODE "INVOICE TYPE",
         AIA.INVOICE_AMOUNT "INVOICE AMOUNT",
         TO_CHAR (TRUNC (AIA.INVOICE_DATE)) "INVOICE DATE",
         AIA.INVOICE_NUM "INVOICE NUMBER",
         (SELECT   DESCRIPTION
            FROM   APPS.AP_TERMS_TL Y
           WHERE   Y.TERM_ID = AIA.TERMS_ID)
            "INVOICE TERMS",
         (SELECT   DECODE (X.MATCH_STATUS_FLAG, 'A', 'Approved')
            FROM   AP.AP_INVOICE_DISTRIBUTIONS_ALL X
           WHERE   X.INVOICE_DISTRIBUTION_ID = AIDA.INVOICE_DISTRIBUTION_ID)
            "INVOICE APPROVED ?",
         AIA.AMOUNT_PAID,
         AIPA.AMOUNT,
         AIA.INVOICE_CURRENCY_CODE,
         AIA.PAYMENT_CURRENCY_CODE,
         AIA.PAYMENT_METHOD_LOOKUP_CODE "PAYMENT METHOD",
         ACA.CHECK_NUMBER "PAYMENT NUMBER",
         TO_CHAR (TRUNC (ACA.CHECK_DATE)) "PAYMENT DATE"
  FROM   APPS.PO_HEADERS_ALL PH,
         APPS.PO_DISTRIBUTIONS_ALL PD,
         APPS.PO_REQ_DISTRIBUTIONS_ALL RD,
         APPS.PO_REQUISITION_LINES_ALL RL,
         APPS.PO_REQUISITION_HEADERS_ALL RH,
         APPS.PO_LINES_ALL PL,
         APPS.PO_VENDORS PV,
         APPS.PO_VENDOR_SITES_ALL PVS,
         APPS.RCV_TRANSACTIONS RT,
         APPS.RCV_SHIPMENT_HEADERS RSH,
         APPS.RCV_SHIPMENT_LINES RSL,
         APPS.AP_INVOICES_ALL AIA,
         APPS.AP_INVOICE_LINES_ALL AILA,
         APPS.AP_INVOICE_DISTRIBUTIONS_ALL AIDA,
         APPS.AP_INVOICE_PAYMENTS_ALL AIPA,
         APPS.AP_CHECKS_ALL ACA
 WHERE       PH.PO_HEADER_ID = PD.PO_HEADER_ID
         AND PD.REQ_DISTRIBUTION_ID = RD.DISTRIBUTION_ID
         AND RD.REQUISITION_LINE_ID = RL.REQUISITION_LINE_ID
         AND RL.REQUISITION_HEADER_ID = RH.REQUISITION_HEADER_ID
         AND PH.PO_HEADER_ID = PL.PO_HEADER_ID
         AND PV.VENDOR_ID(+) = PH.VENDOR_ID
         AND PVS.VENDOR_SITE_ID(+) = PH.VENDOR_SITE_ID
         AND RT.PO_HEADER_ID = PH.PO_HEADER_ID
         AND RT.PO_LINE_ID = PL.PO_LINE_ID
         AND RSH.SHIPMENT_HEADER_ID = RT.SHIPMENT_HEADER_ID
         AND RSL.SHIPMENT_HEADER_ID = RSH.SHIPMENT_HEADER_ID
         AND RSL.SHIPMENT_LINE_ID = RT.SHIPMENT_LINE_ID
         AND AILA.PO_HEADER_ID = PH.PO_HEADER_ID
         AND AILA.PO_LINE_ID = PL.PO_LINE_ID
         AND AIA.INVOICE_ID = AILA.INVOICE_ID
         AND AIDA.INVOICE_ID = AILA.INVOICE_ID
         AND AIDA.INVOICE_LINE_NUMBER = AILA.LINE_NUMBER
         AND AIPA.INVOICE_ID = AIA.INVOICE_ID
         AND ACA.CHECK_ID = AIPA.CHECK_ID



Joins and Tables :

 
  1. Requisition:

SELECT * FROM PO_REQUISITION_HEADERS_ALL WHERE SEGMENT1='XXXX' --REQUISITION_HEADER_ID SELECT * FROM PO_REQUISITION_LINES_ALL WHERE REQUISITION_HEADER_ID=XXXX  --REQUISITION_LINE_ID SELECT * FROM PO_REQ_DISTRIBUTIONS_ALL WHERE REQUISITION_LINE_ID=XXX

   2. Purchase Order :
             PO_HEADERS_ALL
 
SELECT PO_HEADER_ID FROM PO_HEADERS_ALL WHERE SEGMENT1 =;
SELECT * FROM PO_HEADERS_ALL WHERE PO_HEADER_ID =;
 
PO_LINES_ALL

SELECT * FROM PO_LINES_ALL WHERE PO_HEADER_ID =;
 PO_LINE_LOCATIONS_ALL
 SELECT * FROM PO_LINE_LOCATIONS_ALL WHERE PO_HEADER_ID =;
 
             PO_DISTRIBUTIONS_ALL 
SELECT * FROM PO_DISTRIBUTIONS_ALL WHERE PO_HEADER_ID =;
 PO_RELEASES_ALL
 SELECT * FROM PO_RELEASES_ALL WHERE PO_HEADER_ID =; 
    3. Receiving :
RCV_SHIPMENT_HEADERS
 SELECT * FROM RCV_SHIPMENT_HEADERS WHERE SHIPMENT_HEADER_ID IN
(SELECT SHIPMENT_HEADER_ID FROM RCV_SHIPMENT_LINES
WHERE PO_HEADER_ID =);
 RCV_SHIPMENT_LINES
 SELECT * FROM RCV_SHIPMENT_LINES WHERE PO_HEADER_ID =;
 RCV_TRANSACTIONS 
SELECT * FROM RCV_TRANSACTIONS WHERE PO_HEADER_ID =;
 RCV_ACCOUNTING_EVENTS
 SELECT * FROM RCV_ACCOUNTING_EVENTS WHERE RCV_TRANSACTION_ID IN
(SELECT TRANSACTION_ID FROM RCV_TRANSACTIONS
WHERE PO_HEADER_ID =);
 RCV_RECEIVING_SUB_LEDGER 
SELECT * FROM RCV_RECEIVING_SUB_LEDGER WHERE RCV_TRANSACTION_ID IN
(SELECT TRANSACTION_ID FROM RCV_TRANSACTIONS WHERE PO_HEADER_ID =);
 RCV_SUB_LEDGER_DETAILS
 SELECT * FROM RCV_SUB_LEDGER_DETAILS
WHERE RCV_TRANSACTION_ID IN (SELECT TRANSACTION_ID FROM RCV_TRANSACTIONS
WHERE PO_HEADER_ID =);
     4. Invoices :
AP_INVOICE_DISTRIBUTIONS_ALL
 SELECT * FROM AP_INVOICE_DISTRIBUTIONS_ALL WHERE PO_DISTRIBUTION_ID IN
( SELECT PO_DISTRIBUTION_ID FROM PO_DISTRIBUTIONS_ALL WHERE PO_HEADER_ID =);
 AP_INVOICES_ALL
 SELECT * FROM AP_INVOICES_ALL WHERE INVOICE_ID IN
(SELECT INVOICE_ID FROM AP_INVOICE_DISTRIBUTIONS_ALL WHERE PO_DISTRIBUTION_ID IN
( SELECT PO_DISTRIBUTION_ID FROM PO_DISTRIBUTIONS_ALL WHERE PO_HEADER_ID =));
 AP_INVOICE_LINES_ALL  
 SELECT * FROM AP_INVOICE_LINES_ALL WHERE INVOICE_ID IN
(SELECT INVOICE_ID FROM AP_INVOICE_DISTRIBUTIONS_ALL WHERE PO_DISTRIBUTION_ID IN
( SELECT PO_DISTRIBUTION_ID FROM PO_DISTRIBUTIONS_ALL WHERE PO_HEADER_ID =));
       5. Payments :

         We Can join AP_INVOICE_LINES_ALL with PO_HEADER_ID & PO_LINE_ID from        PO_HEADERS_ALL table.
 
FOR VIEW LIST OF PAYMENTS:
            SELECT * FROM AP_INVOICE_PAYMENTS_ALL;
            SELECT * FROM AP_PAYMENT_SCHEDULES_ALL;
 FOR CHECK’S INFORMATION:
            SELECT * FROM AP_CHECKS_ALL;
 FOR CHECK FORMAT:
            SELECT * FROM AP_CHECK_FORMATS;
            SELECT * FROM AP_CHECKRUN_CONC_PROCESSES_ALL;









Tuesday, 15 December 2015

PO Approval Hierarchy Query -R12

SELECT DISTINCT
pah.object_id,
pha.segment1 AS PO_NUMBER,
pah.Action_Code,
pah.Action_Date,
papf.full_name AS performed_by,
pah.Note,
pha.amount_limit,
pha.currency_code,
pha.rate,
pha.blanket_total_amount,
(pha.rate * pha.blanket_total_amount) AS BLANKET_TOTAL_AMOUNT_CAD,
abc.second_sign,
pah.object_revision_num AS Revision_Number
FROM po_action_history pah,
per_all_people_f papf,
po_headers_all pha,
( SELECT object_id,
Action_Code,
object_revision_num,
CASE WHEN COUNT (Action_Code) <= 1 THEN 'N' ELSE 'Y' END
AS SECOND_SIGN
FROM po_action_history
WHERE 1 = 1
AND Action_Code = 'FORWARD'
AND object_sub_type_code = 'BLANKET'
GROUP BY object_id, Action_Code, object_revision_num
HAVING COUNT (Action_Code) > 0) abc
WHERE pah.action_code = 'APPROVE'
AND pah.employee_id = papf.person_id
AND pah.object_id = pha.po_header_id
AND pah.object_id = abc.object_id
AND pah.object_revision_num = abc.object_revision_num
AND pha.segment1 = 'XX_PO_NUMBER' -- PO Number
AND pah.object_sub_type_code = 'BLANKET'
ORDER BY pha.segment1 ASC, pah.object_revision_num

Friday, 28 December 2012

D2K Reports Basics

D2K Reports Basics:

Introduction to Oracle Reports Builder:

Oracle Reports Builder is a powerful enterprise reporting tool used to build reports that dynamically retrieve data from the database, format, display and print quality reports. Reports can be stored in File or Database (Report Builder Tables).

Report file storage formats:

.rdf Report :

• Binary File Full report definition (includes source code and comments)
• Modifiable through Builder. Binary, executable Portable if transferred as binary.
• PL/SQL recompiles on Open/Run

.rep Report :

• Binary Run-Only File
• No source code or comments. Not modifiable binary, executable.
• Report Executables

You can use the Reports File Converter (rwcon60) to convert a .RDF to a .REP file. RWCON60 Report Converter/Compiler [File => Administration => Compile (rdf torep)/Convert]

Oracle Reports Builder Tools:

Oracle Reports Builder comes with the following components

• Object Navigator
• Property Palette
• Data Model Editor
• Layout Model Editor
• Parameter Form Editor

Object Navigator:
The Object Navigator shows a hierarchical view of objects in the report. Each item listed is called a node and represents an Object or type of object the report can contain or reference.

Property Palette:
A Property Palette is a window that displays the settings for defining an Oracle reports object.

Data Model Editor:
To specify data for a report, a data model should be defined. A data model is composed of some or all of the following data definition objects.

Queries:
Queries are SQL Select statements that fetch data from the oracle database.
These statements are fired each time the report is run.

Groups:
Groups determine the hierarchy of data appearing in the report and are primarily used to group columns selected in the query. Oracle report automatically creates a group for each query.

Data Columns:
Data columns contain the data values for a report. Default data columns,corresponding to the table columns included in each query’s SELECT list are automatically created by oracle reports. Each column is placed in the group associated with the query that selected the column.

Formula Columns:
Formulas can be entered in formula columns to create computed columns.
Formulas can be written using PL/SQL syntax. Formula columns are generally preceded by CF_ to distinguish from other columns.

Summary Columns:
Summary columns are used for calculating summary information like sum, average etc. This column uses a set of predefined oracle aggregate functions.

Summary columns are generally preceded by CS_ to distinguish them from other columns.

Placeholder Column:
Place holder column is the name of variable which can hold a calculated value like (sum, avg..) or the value can be set by function or by a pl/sql block. Use of place holder column for aggrigate function is not advised, for that use summary column.

Data Links:
Data links are used to establish parent-child relationships between queries and groups via column matching.

Layout Model Editor:
A report layout editor contains the following layout objects

Frames:
Frames surround other layout objects, enabling control of multiple objects simultaneously

Repeating Frames:
Repeating frames acts as placeholders for groups (I.e repeating values) and present rows of data retrieved from the database. Repeating frames repeat as often as the number of rows retrieved.

Fields:
Fields acts as placeholders for columns values. They define the formatting attributes for all columns displayed in the report.

Boilerplate:
Boilerplate consists of text (label of the column) and graphics that appear in a report each time it is run.

Anchor:
Anchors fasten an edge of one object to an edge of another object, ensuring that they maintain their relative positions.

Parameter Form Editor:
Parameter form is a runtime form used to accept inputs from the user.

Parameters:
Parameters are variables for a report that accept input from the user at runtime. These parameter values can then be used in the SQL select statements to retrieve data conditionally. Oracle reports creates a set of system parameters at runtime namely report destination type, number of copies etc.

Report Wizard:

• When we create a default Tabular Report using report wizard, the wizard will take you through the below mentioned pages
• Report Style Tabular, Form-Like, Mailing Label, Form Letter, Group Left, Group

Above, Matrix, Matrix with Group

• Query Type Choose whether to build a SQL query or an Express query.
• Data Enter a SELECT statement to retrieve the report data.
• Displayed Fields Select the fields that you want to display in the output.
• Fields to Total Select the fields that you want to summarize.
• Labels for Fields Alter the labels that appear for each field and the width of each field.
• Template Select the template that you want to use for this report. A template contains standard information such as company logo, date, and so on.

Note: The above steps are different for each report style.

Group Left & Have an additional page: ‘Groups’

Group Above styles

Matrix Reports styles Have 3 additional pages:
 ‘Matrix Rows’ ‘Columns’ ‘Cells’ Mailing Label & Have 4 pages: ‘Report Style’ ‘Data’
Form Letter styles ‘Text’ ‘Template’

The difference between Mailing Labels and Form Letters is, Mailing Label shows multiple records on one page while Form Letter shows one record on each page.

Triggers in Reports:

Types of Triggers:

Formula Triggers: Formula triggers are PL/SQL functions that populate columns of type Formula.

Format Triggers: Format triggers are PL/SQL functions executed before the object is formatted. These triggers are used to dynamically change the formatting attributes and used to conditionally print and not to print a report column value. These triggers return Boolean values TRUE or FALSE. If the return value of the format trigger is FALSE, the value is not displayed.

Action Triggers: Action triggers are used to perform user-defined action. These triggers do not return any value.

Validation Triggers: Validation triggers are PL/SQL functions that are executed when a parameter value is entered and the cursor moves to the next parameter. These triggers return Boolean value TRUE / FALSE.

Report Triggers: Report triggers enable execution of PL/SQL functions at specific time during execution and formatting of report.

Trigger Firing Sequence:

Before Parameter :
Fires before the Runtime Parameter Form are displayed. Can access the PL/SQL
global variables, report level columns and manipulate accordingly.

After Parameter:
Fires after the Runtime Parameter form are displayed. Used to validate the parameter values.

Before Report:
Fires before the report is executed but after the queries is parsed and date is fetched.

Between Pages:
Fires before each page of the report are formatted, except the very first page.
This page is used to customize page formatting.

After Report:
Fires after the report previewer are exited, or after report output is sent to a specified destination.

Thursday, 6 January 2011

All About Oracle Synonym

Synonym : A synonym is an alias for table, stored procedure and other database objects.Main use of synonym :
Hide Complexity :
If you have to access a object owned by another database user thenYou have to use syntax Owner.Objectname every time to use that object. Instead of using cumbersome syntax every time we can
create synonym for thatCreate Synonym Syn_Name for Owner.ObjectnameSuppose you have to access Table Tab_Y owner by user User_Y .Before creating synonym you have to use
Select * from User_Y.Tab_Y
Now if we create a synonym
Create Synonym Tab_Y for User_Y.Tab_YAfter creating synonym you can use
Select * from Tab_Y
Note : The object does not need to exist at the time of its creation
Hide Owner/Location : In some applications application designers do not want to reveal the owner and location of object to other user. To achieve this they create synonym
Type of synonym :
There are primarily two type of synonym
1. Private : Only owner of synonym can use private synonym By default synonym created is private
Create Synonym Tab_Y for User_Y.Tab_Y .
2. Public : Everyone can use public synonym. Syntax for creating public synonym
Create Public Synonym Tab_Y for User_Y.Tab_Y .

Order of precedence for synonym :
There are lot of confusion when both object and synonym exist in database, which one will be used first. Following is order of precedence
1. Local objects will always be accessed first.
2. If a local object does not exist, the object with a private synonym will be accessed.
3. If a private synonym does not exist or the object does not exist, then the public synonym will be used.

Flip Side of using synonym :
1. There are security issues related with public synonym
2. If there are lot of synonym in database then database performance will degrade i.e. suppose user want to query Tab_A in above mentioned example database parser have to go across large set of synonym and have to put each synonym in library cache along with dependency.
Alternative to using synonyms:
Use logon trigger to set ALTER SESSION SET CURRENT_SCHEMA This will make default schema for unqualified object
create or replace trigger trg_at_logon on database after logonbegin
if user in ('X','Y') then execute immediate 'alter session set current_schema=’DFLT’;
end if
end;
now if user X,Y login their default schema for unqualified object will be DFLT
Misc point about synonym :
We cannot use Drop and truncate command with synonym
Removing Synonyms :
We can use following syntax to drop private synonym
Drop synonym syn_name
To drop public synonnynm
Drop Public synonym syn_name
We can also use force command
Drop synonym syn_name force
The force syntax will force Oracle to drop the synonym even if it has dependencies. It is not a good idea to use the force phrase as it can cause invalidation of Oracle objects.
Query to find Synonym use in database :
Suppose we want to object that reference synonynm test_syn
Select owner, name, type
From dba_dependencies
Where referenced_name ='TEST_SYN'and referenced_type ='SYNONYM'

Common Error with Synonym :
One of the most common error encountered with synonynm is"ORA-00980: synonym translation is no longer valid"
Main causes for this to happen are
1. One has created a synonym on non-existing object by mistake.
2. You dropped an object but did not drop the synonyms which are referencing the object.

Friday, 18 June 2010

Period Closing Process in Financials Modules

Introduction:
Period End Processing - Summary
1. A summary of the period-end procedures for each of the Financials applications
2. An indication of the order in which the steps should be undertaken.
StepsPayables
1. Complete All Transactions for the Period Being Closed
2. Run the Payables AutoApproval Process for All Invoices / Invoice Batches
3. Review & Resolve Amounts to Post to the General Ledger
4. Reconcile Payments to Bank Statement Activity for the Period
5. Transfer All Approved Invoices Payments, Reconciled Payments to the General Ledger
6. Review the Payables to General Ledger Posting Process After Completion
7. Submit the Unaccounted Transactions Sweep Program
8. Close the Current Oracle Payables Period
9. Accrue Uninvoiced Receipts
10. Reconcile Oracle Payables Activity for the Period
11. Run Mass Additions Transfer to Oracle Assets
12. Open the Next Payables Period
13. Run Reports for Tax Reporting Purposes (Optional)
14. Run the Key Indicators Report (Optional)
15. Purge Transactions (Optional)

Purchasing
1. Complete All Transactions for the Period Being Closed
2. Review the Current and Future Commitments (Optional)
3. Review the Outstanding and Overdue Purchase Orders (Optional)
4. Follow up Receipts-Check with Suppliers
5. Identify and Review Un-invoiced Receipts (Period End Accruals)
6. Follow Up Outstanding Invoices
7. Complete the Oracle Payables- Period End Process
8. Run Receipt Accruals - Period End Process
9. Reconcile Accounts - Perpetual Accruals
10. Perform Year End Encumbrance Processing. (Optional)
11. Close the Current Purchasing Period.
12. Open the Next Purchasing Period.
13. Run Standard Period End Reports (Optional)

Inventory/WIP
1. Complete All Transactions for the Period Being Closed.
2. Check Inventory and Work In Process Transaction Interfaces.
3. Check Oracle Order Management Transaction Process.
4. Review Inventory Transactions.
5. Balance the Perpetual Inventory.
6. Validate Work In Process Inventory.
7. Transfer Summary or Detail TransactionsClose the Current Oracle Payables and Oracle Purchasing Periods
8.Close the Current Inventory Period
9. Open the Next Inventory Period
10. Run Standard Period End Reports (Optional)

Order Management
1. Complete All Transactions for the Period Being Closed
2. Ensure all Interfaces are Completed for the Period (Optional)
3. Review Open Orders and Check the Workflow Status
4. Review Held Orders
5. Review Discounts
6. Review Backorders
7. Review and Correct Order Exceptions
8. Reconcile to Inventory
9. Reconcile to Receivables (Optional)
10. Run Standard Period End Reports

Receivables
1. Complete All Transactions for the Period Being Closed
2. Reconcile Transaction Activity for the Period
3. Reconcile Outstanding Customer Balances
4. Review the Unapplied Receipts Register
5. Reconcile receipts.
6. Reconcile Receipts to Bank Statement Activity for the Period
7. Post to the General Ledger
8. Reconcile the General Ledger Transfer Process
9. Reconcile the Journal Import Process
10. Print Invoices
11. Print Statements (Optional)
12. Print Dunning (Reminder) Letters (Optional)
13. Close the Current Oracle Receivables Period
14. Reconcile Posted Journal Entries
15. Review Unposted Items Report
16. Open the Next Oracle Receivables Period
17. Run Reports for Tax Reporting Purposes (Optional)
18. Run Archive and Purge programs (Optional)
Assets
1. Complete All Transactions for the Period Being Closed
2. Assign All Assets to Distribution Lines
3. Run Calculate Gains and Losses (Optional)
4. Run Depreciation
5. Create Journal Entries
6. Rollback Depreciation and/or Rollback Journal Entries (Optional)
7. Create Deferred Depreciation Journal Entries (Optional)
8. Depreciation Projections(Optional)
9. Review and Post Journal Entries
10. Reconcile Oracle Assets to Oracle General Ledger Using Reports.
11. Run Responsibility Reports (Optional)
12. Archive and Purge Transactions (Optional)

Projects
1. Change the Current Oracle Projects Period Status from Open to Pending Close
2. Open the Next Oracle Projects Period
3. Complete All Maintenance Activities
4. Run Maintenance Processes
5. Complete All Transaction Entry for the Period Being Closed
6. Run the Final Cost Distribution Processes
7. Interface Transactions to Other Applications (AP, GL, FA)
8. Generate Draft Revenue for All Projects
9. Generate Invoices
10. Run Final Project Costing and Revenue Management Reports
11. Transfer Invoices to Oracle Receivables
12. Interface Revenue to General ledger (Project Billing Only)
13. Run Period Close Exception and Tieback Reports
14. Change the Current Period Oracle Projects Status from Pending Close to Closed
15. Advance the PA Reporting Period (Optional)
16. Update Project Summary Amounts
17. Restore Access to User Maintenance Activities
18. Permanently Close the Oracle Projects Period (Optional)
19. Reconcile Cost Distribution Lines with General Ledger (Optional)

Cash Managment
1. Load Bank Statements
2. Reconcile Bank Statements
3. Create Miscellaneous Transactions
4. Review AutoReconciliation Execution Report
5. Resolve Exceptions on the AutoReceonciliation Execution Report
6. Run Bank Statement Detail Report
7. Run Transactions Available for Reconcilaition Report
8. Resolve Un-reconciled Statement Lines
9. Run the GL Reconciliation Report
10. Run the Account Analysis Report for the General Ledger Cash Account
11. Review the Account Analysis Report
12. Correct any Invalid Entries to the General Ledger Cash Account (Optional)
13. Perform the Bank Reconciliation

General Ledger
1. Ensure the Next Accounting Period Status is Set to Future Entry
2. Complete Oracle Sub-ledger Interfaces to Oracle General Ledger
3. Upload Journals from ADI (Applications Desktop Integrator) to Oracle General Ledger
4. Complete Non-Oracle Sub-ledger Interfaces to Oracle General Ledger (Optional)
5. Generate Reversal Journals (Optional)
6. Generate Recurring Journals (Optional)
7. Generate Mass Allocation Journals (Optional)
8. Review and Verify Journal Details of Unposted Journal Entries
9. Post All Journal Batches
10. Run General Ledger Trial Balances and Preliminary Financial Statement Generator Reports (FSGs)
11. Revalue Balances (Optional)
12. Translate Balances (Optional)
13. Consolidate Sets of Books (Optional)
14. Review and Correct Balances (Perform Reconciliations)
15. Enter Adjustments and / or Accruals and Post
16. Perform Final Adjustments
17. Close the Current Oracle Gneral Ledger Period
18. Open the Next Oracle General Ledger Period
19. Run Financial Reports for the Closed Period
20. Run Reports for Tax Reporting Purposes (Optional)
21. Perform Encumbrance Year End Procedures (Optional)

Note: This list talks at various points about the 'Standard Reports'. If you can name the standard period closing reports in various modules, that can add value to this list

Thursday, 4 March 2010

Printer type and its significance and How you relate Printer driver and Printer type.

A printer type identifies a printer by manufacturer and model. A print style tells the printer how a printed output should look. A printer driver delivers commands that tell the printer how to output the specified print style. The ability to print a report in a particular print style depends on the type of printer the report file is sent to.

Step 1.Printer Type : What kind of printer you have. This is the manufacturer and model. Two examples are a DEC LN03 printer and an HP Laserjet III printer.

Step 2.Print Style : A description of how your report should be printed. Print style determines the:
- Number of lines per page.
- Width of each line.
- Whether a header page should be printed.
- Number of lines per page.
- Width of each line.
- Whether a header page should be printed.

Step 3.Printer Driver: The set of commands that tell a printer how to print in the Print Style chosen.
- Initialization sets printing orientation.
- Reset clears printer’s instructions for next print job.

SetUp Steps
Step 4 - Setup Printer Driver - run on Client
Go into applications as a user with 'System Administrator' responsibility.
Go to Install-->Printer-->Driver
Create new driver by entering the following information:-
Driver Name : testDriver
User Driver : testDriver
SRW Driver : L
Arguments : print /d:\\\ $PROFILES$.FILENAME (where is the host name returned by the hostname command and is the Share Name you gave to the printer in step (1) above) e.g. 'print /d:\\ukp19999-4w\testprn $PROFILES$.FILENAME'

All other options should be left at default - which is blank for everything except 'Driver Method' which is defaulted to 'Command'.

Step 5 - Setup Print Style - run on Client
Go to Install-->Printer-->Style
Create new style by entering the following information:-
Style Name : testStyle
Seq : 4User
Style : testStyle
SRW Driver : L
Columns : 132
Rows : 64
All other options should be left blank. NOTE - the 'Seq' number needs to be unique, so if you get an error to the effect number 4 has already been used, then use a different number that has not previously been used. The seeded data uses multiples of 5 (ie - 5, 10, 15, etc) up to a value of 185.

Step 6 - Setup Printer Types - run on ClientGo to Install-->Printer-->TypesCreate new type by entering the following information:-
Type : testType
Style : testStyle
Driver Name : testDriver

Step 7 - Register Printer - run on ClientGo to Install-->Printer-->RegisterCreate new printer by entering the following information:-
Printer : testPrinter
Type : testType

Step 8 - Setup profile option - run on ClientGo to Profile-->System Type in 'printer' in the 'Profile' and click on 'Find' This should display the System Profile option called Printer on screen. Click on "Site" and then use the List Of Values to select your printer called'testPrinter' Save this setting, then exit Oracle Applications

Step 9 - Stop and restart Concurrent Manager - run on Server Go to Settings-->Control Panel-->Service Scroll down to and click on 'OracleConcMgr' where is your APPL_CONFIG setting. Click on 'Stop' to stop the service. This could take a couple of minutes whilst the FNDLIBR, etc processes are gracefully stopped. When you are returned to the Services list, click on 'Start' to restart the Concurrent Manager.

Wednesday, 29 July 2009

FND_GLOBAL.APPS_INITIALIZE in oracle applications

Setting the Applications Context FND_GLOBAL.APPS_INITIALIZE in oracle applications:

Use the API FND_GLOBAL.APPS_INITIALIZE to set the applications context in standalone sessions that were not initialized through normal means. Typically, you would use this API in external custom programs that are establishing their own connections.

procedure APPS_INITIALIZE(user_id IN number,resp_id IN number,resp_appl_id IN number security_group_id IN number);
USER_ID - The User ID number.
RESP_ID - The ID number of the responsibility.
RESP_APPL_ID - The ID number of the application TO which the responsibility belongs.
SECURITY_GROUP_ID - The ID number of the security GROUP. This argument IS automatically defaulted BY the API. The caller should NOT pass a value FOR it.
Usage: fnd_global.APPS_INITIALIZE (1010,20417,201):
This procedure sets up global variables and profile values in a database session. Call this procedure to initialize the global security context for a database session. You can use it for routines such as PL/SQL or other programs that are not integrated with either the Oracle Applications concurrent processing facility or Oracle Forms (both of which already do a similar initialization for a database session). The typical use for this routine would be as part of the logic for launching a separate non–Forms session from an established Oracle Applications form session. You can also use this procedure to set up a database session for manually testing application code using SQL*Plus. This routine should only be used when the session must be established outside of a normal form or concurrent program connection. You can obtain valid values to use with this procedure by using profile option routines to retrieve these values in an existing Oracle Applications form session.

begin
fnd_global.APPS_INITIALIZE(200131258,20004,51710);
end;

SELECT fnd_profile.value (‘RESP_ID’) FROM dual
SELECT fnd_profile.value (‘USER_ID’) FROM dual
SELECT fnd_profile.value (‘APPLICATION_ID’) FROM dual
SELECT TO_NUMBER (FND_PROFILE.VALUE( ‘LOGIN_ID ‘)) FROM dual
SELECT FND_PROFILE.VALUE(‘ORG_ID’) FROM dual
SELECT FND_PROFILE.VALUE(‘SO_ORGANIZATION_ID’) FROM dual
SELECT FND_PROFILE.VALUE(‘USERNAME’) FROM dual
SELECT FND_PROFILE.VALUE(‘GL_SET_OF_BKS_ID’) FROM dual

AIM Document List

AIM Document List Business Process Architecture (BP) BP.010 Define Business and Process Strategy BP.020 Catalog and Analyze P...