You are on page 1of 17

Functional

----------
1. O2C Cycle --must
2. Pick Release n Pick Confirm
3. Customer Acceptance (Pre Bill/Post Bill)
4. Interface and standard tables ---all modules
5. Standard Import --no. of instances
6. process order API
7. RMA
8. MOAC
9. Multi-Org structure
10.AutoInvoice --common issues, setting up autoinvoice
11.Types of Transactions created by autoinvoice, and differences --bill forward billing
12.Refund and guarantee
13.Accounting and invoicing rules
14.Auto Accounting in AR
15.Receipt workbench (source, class)
16.Bank setup
17.Difference b/w 11i and R12 (Technical and Functional)
18.Remittance
19.Lockbox
20.TCA and new changes in TCA
21.Month-End Closing
22.Sub Ledger Accounting
23.GL interface and reference
24.4Cs
25.Ledger setup, difference
26.P2P Cycle
27.Types of Order fulfillment
28.AP Invoices and Payment
29.Revenue Recognition

Technical
---------
1. Reports (Custom)
2. Forms Personalisation
3. iReceivables
4. AOL
5. SQL Loader
6. XML Reports
7. XSL
8. SQL, PL/SQL
9. DFF and KFF in each modules

OAF
========================

BG - HRMS

Ledgers - primary ledgers and Sec. ledger, 4c

LE - Banks

OU -

Inventory Org

locators

==========
SQL Loader
==========

Converting Blanks to Nulls in SQL Loader


----------------------------------------

NULLIF field_name=BLANKS
To define animal_id so that blank values are stored as nulls, you would use this definition:
animal_id POSITION (1:3) INTEGER EXTERNAL NULLIF animal_id=BLANKS,
The CONCATENATE Clause
----------------------
If you have a case where a logical record is always made up of a fixed number of physical records, you can use the
CONCATENATE clause to tell SQL*Loader to combine the records. The CONCATENATE clause appears in the
LOAD statement, as shown in this example:
LOAD DATA
INFILE ‘animal_feeding_concat.csv’
BADFILE ‘animal_feeding_concat’
APPEND
CONCATENATE 2
...
In this example, every two physical records in the input file will be combined into one longer, logical record. The
effect will be as if you took the second record and added it to the end of the first record. The following two records,
for example:

100,1-jan-2000,23.5,
“Flipper seemed unusually hungry today.”

will be combined into this one:

100,1-jan-2000,23.5,”Flipper seemed unusually hungry today.”

The CONCATENATE clause is the appropriate choice if the number of records to be combined is always the same.
Sometimes, however, you have to deal with cases where a particular field in a record determines whether the record
is continued. For those cases, you must use CONTINUEIF.

LOAD DATA
INFILE ‘animal_feeding_concat.csv’
BADFILE ‘animal_feeding_concat’
APPEND
CONTINUEIF LAST = “,”
INTO TABLE animal_feeding
TRAILING NULLCOLS
(
animal_id INTEGER EXTERNAL TERMINATED BY “,”,
feeding_date DATE “dd-mon-yyyy” TERMINATED BY “,”,
pounds_eaten DECIMAL EXTERNAL TERMINATED BY “,”,
note CHAR TERMINATED BY “,”
OPTIONALLY ENCLOSED BY ‘“‘
)

Using expressions to transform data


-----------------------------------

LOAD DATA
INFILE ‘animal_feeding_expr.csv’
BADFILE ‘animal_feeding_expr’
APPEND
INTO TABLE animal_feeding
TRAILING NULLCOLS
(
animal_id INTEGER EXTERNAL TERMINATED BY “,”,
feeding_date DATE “dd-mon-yyyy” TERMINATED BY “,”,
pounds_eaten DECIMAL EXTERNAL TERMINATED BY “,” “:pounds_eaten * 2.2”,
note CHAR TERMINATED BY “,” OPTIONALLY ENCLOSED BY ‘“‘ “UPPER(:note)”
)

Loading files into a large object column


-----------------------------------------
LOAD DATA
INFILE ‘animal_feeding_clob.csv’
BADFILE ‘animal_feeding_clob’
APPEND
INTO TABLE animal_feeding
TRAILING NULLCOLS
(
animal_id INTEGER EXTERNAL TERMINATED BY “,”,
feeding_date DATE “dd-mon-yyyy” TERMINATED BY “,”,
pounds_eaten DECIMAL EXTERNAL TERMINATED BY “,”,
note_file_name FILLER CHAR TERMINATED BY “,”,
note LOBFILE (note_file_name)
TERMINATED BY EOF
)

=========================
AutoInvoice Common Errors
=========================
•No errors. (Import program RAXTRX does not get spawned)Records do exist in the interface, No errors in the log
file
•Solution
•Make sure that column Request_ID is Null
•If the column is not null, the records will not be picked by the Master program

•Invalid GL date
•Solution
•If GL Date is being passed, make sure it is in an open period
•If not, make sure the Derive date option is set
•If the transaction has rules, make sure that the rule start date is in an open period

•Please Correct Revenue (or Receivable or Freight or Tax) Account Assignment


•Solution
•Check Autoaccounting setup to see where the missing account is being derived from
•Make sure the account is defined there

Mandatory setups for Autoinvoice

Customer, currencies, Tax rates, Payment Terms, Transaction Types, Batch source, Salesperson, Accounting Rule,
Grouping rules
AutoInvoice Validations

Value Existence, Batch Source, Uniqueness, Precision, Cross Validation

Importing Invoices with Rules


Use AutoInvoice to import invoices with accounting and invoicing rules if your accounting method is 'Accrual'.
AutoInvoice rejects all invoices with rules if your accounting method is 'Cash Basis' because with Cash Basis
Accounting, you only recognize revenue when payment is received
How to use Flexfields in reports ?

Ans : Most common way is to use FND user exits provided by oracle applications.

Other way is to directly use the DB views (TableName || ‘_KFV’ or ’_DFV’) created by apps, and use the
concatenated_segments column which holds the concatenated segments of the key or descriptive flexfields.

What is '$flex$ and '$profile$? What is the use of '$flex$'?

$Flex$ is used when we need to return the value contained by any Valueset.
For Ex . $Flex$.<Valueset name> would return the value held by that valueset .

$profiles$. are used to get the values of environment variables like org_id or mfg_Organization_id etc which are
related to the current apps environment.
Ex. $profiles$.org_id would return the operating unit which is active at that time for the user.

What is the difference between data conversion and data migration?

Data Migration is upgrading from one version to another version for e.g. from 11.5.9 to 11.5.10.. Data Conversion is
receiving data from a legacy system or receiving data from another module ( e.g. PA), validating it and converting it
to the target module using the standard import program.

Required parameter for PL/SQL Procedure registered in Oracle. What will happen if these are not included?

Retcode and Errbuf are two out parameters having varchar2 datatype that are required. Use errbuf to return any
error messages, and retcode to return completion status. The parameter retcode returns 0 for success, 1 for success
with warnings, and 2 for error. After your concurrent program runs, the concurrent manager writes the contents of
both errbuf and retcode to the log file associated with your concurrent request. If we do not include these two
parameters, it will give run time error.

What is context field is all about.

Context field is used to make descriptive flexfield segments context sensitive, so that segment that may or may not
appear depending upon what other information is present in your form

IN WHICH TABLE U GET FLEXFIELD (KFF & DFF) INFORMATION

fnd_flex_values_tl, fnd_id_flex_segment, Fnd_flex_value_sets,Fnd_id_flex_structure, fnd_id_flexs

Descriptive flexfield details are stored in

FND_DESCRIPTIVE_FLEXS,FND_DESCR_FLEX_CONTEXT,FND_DESCR_FLEX_COLUMN_USAGES
What is pragma exception

IT ASSOCIATES EXCEPTIONS WITH ERROR NUMBERS.


SHOULD BE DECLARED IN DECLARATION SECTION.
IT’S THE COMPILER DIRECTIVE , PROCESSES ERRORS AT THE COMPILE TIME.
Exception Propagation:

 IF EXCEPTION HANDLER IS NOT PRESENT IN LOCAL BLOCK THEN IT’S AUTOMATICALLY


PROPAGATRED TO IT’S ENCLOSING BLOCK.
 SCOPE RULES :
EXCEPTION DECLARED IN OUTER BLOCK
BECOMES GLOBAL TO ALL IT’S SUBBLOCKS.
BUT THE SAME IS NOT TRUE FOR SUBBLOCKS.

What is responsibility?

ANS: A collection of forms, menu and program that a user can access.

what is pragma?
Pragma is a compiler directive.
Oracle has following PRAGMAS.
v PRAGMA EXCEPTION_INIT
Used to attach a non defined error with a number.
v PRAGMA AUTONOMOUS_TRANSACTION
To mention that this transaction will contain a call to an autonomous transaction.

What validation must be given on the customer_number?


Must be null if you are using Automatic Customer Numbering. Must exist if you are not using Automatic Customer
Numbering. This value must be unique within RA_CUSTOMERS.

What is value set?


Value set is a set of values. It is used to validate that the correct data is being entered in the field.

UTL_FILE
The Oracle supplied package UTL_FILE can be used to read and write files that are located on the server. It cannot
be used to access files locally, that is on the computer where the client is running.

What is the use of lockboxes?

Auto Lockbox (or Lockbox) is a service that commercial banks offer corporate customers to enable them to
outsource their accounts receivable payment processing.
Auto lock box is used create receipts automatically and match against the invoices, customers.
Advantages of AutoLockBox

 No chances of manual errors


 Time saving
 Money saving

Program name: Process LockBox

Steps for lockbox are :

The first step involves reading and formatting data from your bank file into AutoLockbox tables.
AR_PAYMENTS_INTERFACE_ALL. Transmission formats contain information such as the customer number,
bank account number, the amount of each receipt to apply, and transaction numbers to which to apply each receipt.

The second step involves submitting the validation program which checks data in the AutoLockbox tables for
compatibility with Receivables. Once data is validated, it is transferred into QuickCash tables
(AR_INTERIM_CASH_RECEIPTS_ALL and AR_INTERIM_CASH_RCPT_LINES_ALL). At this point, you can
optionally query your receipts in the QuickCash window and change how they will be applied before submitting the
final step, During the validation step, AutoLockbox ensures that no duplicate entries exist, the
customer and receipt information is valid, the amount to apply does not exceed the receipt amount, and that columns
in the AR_PAYMENTS_INTERFACE_ALL table reference the correct values and columns in Receivables.

Post QuickCash. Submitting Post QuickCash updates your customer's balances.


AR_CASH_RECEIPTS_ALL
AR_CASH_RECEIPT_HISTORY_ALL
AR_RECEIVABLE_APPLICATIONS_ALL
AR_PAYMENT_SCHEDULES_ALL

To allow overapplication using AutoLockbox, set the profile option AR: Allow Overapplication in
Lockbox to Yes

Can one customer pay for another customer's invoices through AutoLockbox?
Yes, if you have set up a relationship between these customers or the system option Allow Payment of Unrelated
Invoices is Yes for this Lockbox submission

When does AutoLockbox consider a receipt to be a duplicate?


Duplicate receipts have the same receipt number, amount, currency, and customer number. AutoLockbox does not
allow duplicate receipts within the same batch source for the same customer. This is the same validation Receivables
performs when you manually enter receipts using the Receipts window.

Eg. Control file

dnbna_ar_amex_bip_lb.ctl

What are various customer interface tables?


RA_CUSTOMERS_INTERFACE_ALL
RA_CUSTOMER_PROFILE_INT_ALL
RA_CUSTOMER_BANKS_INT_ALL
RA_CUST_PAY_METHOD_INT_ALL
RA_CONTACT_PHONES_INT_ALL

O2C Data flow


1. Order Entry
a. Oe_order_headers_all(flow status code is ‘entered’)
b. Oe_order_lines_all (flow status code is ‘entered’)
c. Order number is generated

2. Order Booking
a. Oe_order_headers_all (flow status code is ‘booked’)
b. Oe_order_lines_all (flow status code is ‘awaiting shipping’)
c. Wsh_delivery_details (released_status is ‘R’ ready to release)
d. Demand Interface program and schedule order program runs in background and insert into
mtl_demand and mtl_reservations respectively.

3. Pick Release
a. Oe_order_lines_all (flow status code is ‘picked’)
b. Wsh_new_deliveries (status_code is ‘Open’)
c. Wsh_delivery_details (released status ‘S’ submitted for release)

4. Pick Confirm
a. Items transferred from warehouse to staging inventory.
b. Wsh_delivery_details (released_status ‘Y’ released)

5. Ship confirm
a. Ship confirm interface program runs in background
b. Data removed from wsh_new_deliveries
c. Oe_order_lines_all (flow_status_code is ‘shipped’)
d. Wsh_delivery_details (released_status is ‘C’ shipped)

6. Receivable interface
a. Invoicing workflow activity transfers shipped item information to AR
b. Ra_interface_lines_all
c. Then Autoinvoice program imports data into AR base tables (ra_customer_trx_all,
ra_customer_trx_lines_all)

7. Complete line
a. Oe_order_lines_all (flow_status_code is ‘Shipped’ , open_flag is ‘N’)

8. Close line
a. Oe_order_lines_all (flow_status_code is ‘Closed’)

Drop Ship order


1. Order entry with order type as external
2. Order booking
3. Run “purchase release” concurrent program (transfers into po_requisitions_interface_all)
4. Run “requisition import” program from purchasing
5. AutoCreate PO
6. Receiving in drop ship warehouse
7. Invoice creation in AP
8. Invoice creation in AR
9. Complete line
10. Close order

Processing Constraints
Processing constraints are rules that control who can change what and when they can change it. Processing
constraints can prevent certain changes, but can also be set up to perform actions based on those changes

Defaulting Rules
Defaulting rules determine the source and other prioritization information to reduce the amount of information you
must enter manually.
Updates to defaulting rules take effect once the Defaulting Generator concurrent program has been submitted for
the application and the program successfully completes for the entity combination modified

AR-System Options --- Important fields


Accounting Tab
Realised Gains and realized loss accounts for cross currency transactions
Header level rounding, once enabled cannot be disabled

Trans and Customer Tab


Automatic customer numbering
Automatic site numbering
Allow changes to printed transactions
Allow transaction deletion
AutoInvoice purgre options (Max. Memory and Log level)

Miscellanous Tab
Allow salesperson

AR-Transaction Source –Imp fields


Batch source Tab
Automatic Transaction numbering
Copy document number to transaction number
Allow duplication transaction number
Reference field default value\

Autoinvoice option tab


Invalid line –reject, create
GL date in a closed period --reject,adjust
Allow sales credit

Accounting information Tab


Derive GL Date

Transaction Types -> Invoice, Debit memo, credit memo, deposit, chargeback, guarantee, bill receivable

Transaction Status -> Open, Closed, Void, Pending


Auto Accounting

Auto Accounting is a mechanism for generating default accounting flexfields for revenue,
receivables, freight and tax based on the other parameters associated with the invoice you are
entering. since auto accounting looks at the following tables to get the data so please set/define
the following depending upon your requirement.

1.Salesrep.

2.Transaction Types.

3.Standard Lines.

4.Taxes.

5.Customer bill-to-site

• Deposits: Create a deposit to record a customer's prepayment for goods or services that you will
provide in the future.
• Guarantees: Create a guarantee to record a contractual agreement with your customer to conduct
business over a specified period of time.
Adjustments: Create adjustments to increase or decrease the balance due for an invoice, debit memo,
chargeback, or commitment. For example, you apply a receipt to an invoice, but there is still an open
balance of two dollars. You can create an adjustment to write off the remaining amount and close the
debit item.
Chargeback: Use chargebacks to create a new debit item for your customer when closing an existing
debit item. For example, your customer sends payment of $75 for a $100 invoice. You can apply the
receipt to the invoice, then create a chargeback for the balance due.

Balance Forward Billing


Use balance forward billing to print a single bill that includes all of a customer's transactions for the
billing period and any balance carried forward from the previous billing period. This lets you send one
consolidated bill to a customer, instead of a separate invoice for each transaction.
A balance forward bill includes the following items:
• A beginning balance or the balance carried over from the last billing period.
• An itemized list of current charges and activities (such as invoices, credit memos, debit memos,
adjustments) in either summary or detail format.
Allow Change to Printed Transactions or the AR: Update Due Date profile option. Receivables considers
inclusion on a balance forward bill to be an activity and you cannot update a transaction
once it has activity against it.
• Payment received for the last billing period.
• Current total outstanding balance.

You can generate bills consolidated at either the customer account or site level:
• Account-level balance forward billing lets you generate one bill for each operating unit of the
account, addressed to the primary bill-to site of the account.
• Site-level balance forward billing lets you generate a balance forward bill for each bill-to site of a
customer with multiple bill-to sites.

Customer Interface using API

Standard program name is ‘Customer Interface’

Open cursor, fetch all values from staging table and based on update/create the records.
1.CREATE/Update CUSTomer -> hz_cust_account_v2pub.create_cust_account internally call
HZ_PARTY_V2PUB.create_person,HZ_PARTY_V2PUB.create_organization
For update of cusotmer and party hz_party_v2pub.update_organization and
hz_cust_account_v2pub.update_cust_account

2. Create/update party TAX profile -> zx_party_tax_profile_pkg.update_row or


zx_party_tax_profile_pkg.insert_row
3. Create/update location -> hz_location_v2pub.create_location or HZ_LOCATION_V2PUB.update_location
4. Create/update party site -> hz_party_site_v2pub.create_party_site or hz_party_site_v2pub.update_party_site
5. Create/update customer site -> hz_cust_account_site_v2pub.create_cust_acct_site or
hz_cust_account_site_v2pub.update_cust_acct_site
6. Create/update contact point -> HZ_PARTY_V2PUB.create_person ->
HZ_PARTY_CONTACT_V2PUB.create_org_contact ->
HZ_CUST_ACCOUNT_ROLE_V2PUB.create_cust_account_role ->
HZ_CONTACT_POINT_V2PUB.create_contact_point
7. Create/update customer site use -> hz_cust_account_site_v2pub.create_cust_site_use or
hz_cust_account_site_v2pub.update_cust_site_use
8. Create/update customer profile -> hz_customer_profile_v2pub.create_customer_profile or
hz_customer_profile_v2pub.update_customer_profile
9. Create/update payment method -> HZ_PAYMENT_METHOD_PUB.create_payment_method

Common errors:
a1 -> for customer profile table having only 1 row instead of 2 rows.
C5-> duplicate customer records

To process Order in OM the API used is OE_Order_PUB.Process_Order

Use of Memo Lines in 11i


It is used to create a tax line for every transaction. Tax codes were defined in AR and every tax code was associated
with a Memo line and Auto Invoice used to create a Tax line based on the tax code attached in the Memo Line.

Approval Limit can be defined for Adjustment, Receipt write off, refund, credit memo for a user

Receivable Activity

Define receivables activities to default accounting information for your miscellaneous receipt, finance
charge, chargeback, and adjustment transactions. The activities you define appear as list of values
choices in the Receipt and Adjustment windows. You can define as many activities as you need.
Receivables uses finance charge activity accounting information when you assess finance charges in
your statements and dunning letters.

You need to query the Chargeback Adjustment, Chargeback Reversal, and Debit Memo Reversal
activities that Receivables provides and specify accounts for each before creating chargebacks or
reversing applications in Receivables.

Once you define an activity, you cannot change its type. You can only update an existing activity's GL
account if you have not previously selected this activity for a transaction.

You can make an activity inactive by unchecking the Active check box and then saving your work.

Activity Types
An activity's type determines whether it uses a distribution set or GL account and in which window your
activity will appear. You can choose from the following types:

Adjustment: Activities of this type appear in the Adjustments window. You must create at least one
activity of this type.

Bank Error: Activities of this type appear in the Receipts window when you enter Miscellaneous
transactions. You can use this type of activity to help reconcile bank statements when using Cashbook.

Finance Charge: You must define a finance charge activity if you include finance charges on your
statements or dunning letters. You can only define one activity of this type.

Miscellaneous Cash: Activities of this type appear in the Receipts window when you enter Miscellaneous
transactions. You must create at least one activity of this type
Distribution Sets
Define distribution sets to record your non-invoice related receipt payments (also known as miscellaneous receipts).
These payments can include refunds, revenue from the sale of stock, as well as interest and investment income.

Distribution sets are predefined groups of general ledger accounting codes that determine the debit accounts for
payments and let you speed your receivables accounting by reducing time spent on data entry. You can also use
distribution sets to apply percentages of other receipt payments to different accounts.

You can create an unlimited number of distribution set lines for each distribution set. The total distribution lines
must equal 100% before you can save your distribution set.

Receivables displays active distribution sets as list of values choices in the Transactions and Receivables Activities
windows.

You can make a distribution set inactive by unchecking the Active check box, and then saving your work.
Revenue Recognition

Revenue Recognition generates the revenue distribution records for your invoices and credit memos that use
Invoicing and Accounting Rules. You assign accounting rules to recognize revenue over several accounting periods.
Invoicing rules determine when to recognize the receivable for invoices that span more than one accounting period.

The Revenue Recognition program uses the accounting distributions that you specify in the Transaction window or
pass into Receivables using AutoInvoice to determine the accounts of your newly created revenue distribution
records.

Application Rule Set – How to apply on the Invoice 

1. Line First – Tax After


2. Line and Tax prorate

3. Prorate All

4. Over Application rule

AutoCash Rule set-: determines how to apply receipts to your customer's outstanding debit items.

You might also like