Tuesday, February 3, 2009

XDK

select dbms_xmlgen.getxml('select * from emp') from dual;
above query will give table data as xml.

declare
xml_string varchar2(4000);
flag number(5):=0;
begin
xml_string='';
flag:=dbms_xmlsavexmlgen.insertxml('scott.emp',xml_string);
end;

BPEL(Business Process Execution Language)

Its replacement to workflow.
BPEL Processes(xxtest.bpel) and xxtest.wsdl files can be created using Jdev 10g or Eclipse.
Both xxtest.bpel and xxtest.wsdl files will be bundled in .jar file used for deployment.

Workflow

APIS:wf_directory.createadhocrole
wf_engine.setitemattrtext
wf_engine.launch_process
wf_engine.create_process
wf_engine.start_process
wf_engine.setitemuserkey
wf_engine.setitemowner

Tables:wf_notifications
wf_item_types
wf_local_roles
wf_events

Steps to create and raise business events:
1.create tables you need
2.define business event in wf administrator resp
3.define subscription to above event
4.create plsql function and attach it to event via subscription
5.raise event using wf_event.raise()
http://oracle.anilpassi.com/workflows-business-events-training-lesson-4-2.html

UNSUPPORTED CUSTOMIZATIONS

The following types of customizations are NOT supported:
- Modifying a workflow object that has a protection level less than 100
- Altering a workflow object’s protection level if its original protection level is less than 100
- Changing access level to an unauthorized level of less than 100 for the purpose of modifying workflow objects that are protected at levels less than 100

PRESERVING CUSTOMIZATIONS
To ensure that your customizations are preserved during an upgrade of Oracle Workflow:
Check your access level before you make your modifications to the predefined workflow process.
Oracle E-Business Suite: 100
Standalone Oracle Workflow: 100 or higher
Set the appropriate options in the Access property page for any object that you modify.
Oracle E-Business Suite: Select both the Preserve Customizations and Lock at this Access Level options.
Standalone Oracle Workflow: Select the Preserve Customizations option. Optionally select the Lock at this Access Level option.
During an Oracle Workflow seed data upgrade, the Workflow Definitions Loader is always run in Upgrade mode at an access level less than 100. As a result, the upgrade will not overwrite any object with a customization level of 100 or higher


How to send an email to Oracle EBS Users 

This is 3 step process

l_adhoc_role varchar2(240) := 'XXE_APPR'||TO_CHAR(SYSTIMESTAMP,'YYYYMMDDHH24MISSFF');
l_adhoc_role_name varchar2(240) := 'XXE_APPR'||TO_CHAR(SYSTIMESTAMP,'YYYYMMDDHH24MISSFF');
 
  1. Create Adhoc Role
      This is using wf_directory.CreateAdHocRole(    role_name     => l_adhoc_role,
                                    role_display_name => l_adhoc_role_name);
  2. Add User(s) to Adhoc Role
     This is using wf_directory.AddUsersToAdHocRole( role_name    => l_adhoc_role,
                                            role_users =>'SYSADMIN');

  3.  Create item attribute of 'Role' in Workflow and assign l_adhoc_role to it, which will be    attached to Notification.

If you want to create custom function in workflow, create below sample PLSQL Procedure 
procedure GET_APPR(
    itemtype  in varchar2,
    itemkey   in varchar2,
    actid     in number,
    funcmode  in varchar2,
    resultout    in out nocopy varchar2);


How to Ensure Workflow File Customizations/Changes Are Not OverWritten By Upgrades/Patches (Doc ID 1343956.1)

Thumb rule is 
      - For Modified objects inside workflow CAP level should be 100/100/1000
      - For New objects inside workflow CAP level should be 100/100/100

CAP= Customization level
           Access level
           Protection level

WBP=Workflow background process
Below is recommendation from oracle.

The recommendation is to run three separate background engines at different intervals:

a. Run a background engine to handle only deferred activities every 5 to 60 minutes.
b. Run a background engine to handle only timed out activities every 1 to 24 hours as needed.
c. Run a background engine to handle only stuck processes once a week to once a month, when the load on the system is low. 

 

Friday, January 30, 2009

Performance Tuning

Tips:
1.use EXISTS instead of IN as it uses indexes
2.remember DECODE will ignore indexes
3. Use Hints
Tips

Performance Tuning

Tips:

1.use EXISTS instead of IN as it uses indexes

2.remember DECODE will ignore indexes

Thursday, January 29, 2009

FND Logging

Profile Options used are:FND: Debug enabledFND: Debug pathFND: Debug%ModuleFND:Debug%Level%

We can save log messages in 6 levels: statement, procedure,event,warning, error, exception

PLSQL API used to enter log messages: fnd_log.string(level, message,module)

Most advantages are :

  1. we can enable debugging, whenever we want
  2. debug messages are autonomous transactions.
  3. we can purge these messages whenever we want using standard purge program

FND table: fnd_log_messages

Monday, January 26, 2009

iProc

Edit charge accoutns page:
Oracle provided feature to enable DFF attributes to display values and save into DB using POR_CUSTOM_PKG.set... procedures

Punchout: Using this Users can navigate to suppliers website from iProc, where users can check their shopping cart at suppliers website directly.

Workflow setups required:
To make auto approval of requisitions: Set 'Is Automatic approval required' to 'Y' at PO Create Documents workflow.

To make system to create PO after requisition is created at iProc:
Set SEND_CREATEPO_TO_BACKGROUND as 'N' at PO Requisition Approval work flow.

Friday, January 23, 2009

GL

Mass Allocation: This is used to allocate revenues & expenses across multiple cost centers, departments, divisions and so on.
GL uses below format to determine allocation amount.
A*B/C (Cost Pool*Usage factor/Total Usage).

GL Data Model Affected:
GL_BATCHES

GL_JE_HEADERS

GL_JE_LINES

GL_BALANCES

Other tables: GL_SOURCES, GL_CATEGORIES, GL_PERIODS, GL_CODE_COMBINATIONS, GL_DAILY_RATES & FND_CURRENCIES.

GCS:Global Consolidation System:
Its period end closing process of combining financial results of multiple subsidiries having different SOB(Currency/Calendar/COA).
Mainly 2 tools used are
1.FSG
2.GCS

Other Uses of GCS:
1.Used to map balances/values from old COA to new COA
2.Used to map balances/values from old Calendar to new Calendar

GIS:Global Intercompany System:
This is used to maintain intercompany transactions occur between SOB
It streamlines transactions and saves time by preventing unbalanced intercompany transactions.

Thursday, January 22, 2009

Inventory

1.What is item import? How is it done?
A) The process of converting inventory items from another inventory system, migrating assembly and component items from a legacy manufacturing system, converting purchase items from a custom purchasing system and importing new items from a product data management package into Oracle Inventory.
This import mechanism is achieved through a concurrent program called Open Item Interface.
Custom programs are executed prior to item interface and this gets data from the external systems into the interface tables such as
MTL_SYSTEM_ITEMS _INTERFACE and
MTL_ITEM_REVISIONS_INTERFACE.
Item Interface program is then run which actually imports the items and revision information from the above mentioned interface face tables into the base tables such as MTL_SYSTEM_ITEMS_B,
MTL_ITEM_REVISIONS.
Item Interface assigns defaults and validates the data to ensure data integrity before feeding data into base tables.
2. What are Interface and Base Tables?Interface Tables : MTL_SYSTEM_ITEMS_INTERFACE
MTL_ITEM_REVISIONS_INTERFACE (Oracle Defaults) MTL_ITEM_CATEGORIES_INTERFACE (Oracle has Provided certain default categories, if not specified)
MTL_INTERFACE_ERRORS
Base Tables:
MTL_SYSTEM_ITEMS_B (Segment 1 stores Model # of Item)
MTL_ITEM_ATTRIBUTES,
MTL_ITEM_CATEGORIES,
MTL_ITEM_LOCATIONS,
MTL_ITEM_REVISIONS
MTL_ITEM_STATUS (Status Active/Engineer etc)
MTL_ITEM_SUB_INVENTORIES

3. What are Item Attributes?
A) Attributes are the specific characteristics associated to every item, namely order cost, item status, revision control, COGS account etc.

4. What are Templates?
Templates are the defined set of attributes that can be used over and over to create similar items. Templates initial definition of items easier. Oracle has provided certain predefined templates such as (ATO MODEL, ATO OPTION CLASS, and FINISHED GOOD etc). Templates can also be User defined.

5) What are Status Codes?
A) Statuses are used to provide default values to certain item attributes to control the functionality of an item. Statuses typically default 8 item attributes namely, BOM allowed, build in WIP, Customer orders enabled, internal orders enabled, invoice enabled, transactable, purchasable, stackable. Different status types include Active, Inactive, Engineer, obsolete, Phase-out, Prototype, OPM.

6. What are Categories and Category Sets?A) Category is a code used to group items with similar characteristics such as plastics, metals or glass items etc. A subset of categories grouped together is termed as a Category set. Typical category sets include purchasing, materials, costing and planning.

7. What is Pick Release?A)

8. What are Lot Numbers and Serial Numbers?
A) Lot number is a number that identifies a specific batch of items. Serial Number is a number assigned to each unit of an item and used to track the item.

9. What are Locators?
A) A locator is a physical area with in the sub inventory where you store material such as a row, aisle, shelf, or a bin etc.

10. What is a Sub Inventory?It is a subdivision of an organization representing a physical area or a logical grouping of items such as store room or a receiving dock.

11. What are the flexfields in Inventory module?
A) Item Key Flexfield, Category Key Flexfield.

12. While importing items from the legacy system through items interface what profile options do u set.
There are two profile options that we need to check, before running the Item Import. They are
i) PRIMARY_UNIT_OF_MEASURE from INV: Define Primary Unit of Measure
ii) INVENTORY_ITEM_STATUS_CODE from INV: Define Item Status

INV

INVENTORY:

1. What is item import? How is it done?

A) The process of converting inventory items from another inventory system, migrating assembly and component items from a legacy manufacturing system, converting purchase items from a custom purchasing system and importing new items from a product data management package into Oracle Inventory. This import mechanism is achieved through a concurrent program called Open Item Interface.

Custom programs are executed prior to item interface and this gets data from the external systems into the interface tables such as

MTL_SYSTEM_ITEMS _INTERFACE and

MTL_ITEM_REVISIONS_INTERFACE.


Item Interface program is then run which actually imports the items and revision information from the above mentioned interface face tables into the base tables such as MTL_SYSTEM_ITEMS_B,

MTL_ITEM_REVISIONS.

Item Interface assigns defaults and validates the data to ensure data integrity before feeding data into base tables. 2. What are Interface and Base Tables?Interface Tables : MTL_SYSTEM_ITEMS_INTERFACE MTL_ITEM_REVISIONS_INTERFACE (Oracle Defaults) MTL_ITEM_CATEGORIES_INTERFACE (Oracle has Provided certain default categories, if not specified) MTL_INTERFACE_ERRORS
Base Tables: MTL_SYSTEM_ITEMS_B (Segment 1 stores Model # of Item) MTL_ITEM_ATTRIBUTES, MTL_ITEM_CATEGORIES, MTL_ITEM_LOCATIONS, MTL_ITEM_REVISIONSMTL_ITEM_STATUS (Status Active/Engineer etc)MTL_ITEM_SUB_INVENTORIES
3. What are Item Attributes?A) Attributes are the specific characteristics associated to every item, namely order cost, item status, revision control, COGS account etc. 4. What are Templates?Templates are the defined set of attributes that can be used over and over to create similar items. Templates initial definition of items easier. Oracle has provided certain predefined templates such as (ATO MODEL, ATO OPTION CLASS, and FINISHED GOOD etc). Templates can also be User defined.
5) What are Status Codes?A) Statuses are used to provide default values to certain item attributes to control the functionality of an item. Statuses typically default 8 item attributes namely, BOM allowed, build in WIP, Customer orders enabled, internal orders enabled, invoice enabled, transactable, purchasable, stackable. Different status types include Active, Inactive, Engineer, obsolete, Phase-out, Prototype, OPM.
6. What are Categories and Category Sets?A) Category is a code used to group items with similar characteristics such as plastics, metals or glass items etc. A subset of categories grouped together is termed as a Category set. Typical category sets include purchasing, materials, costing and planning.
7. What is Pick Release?A)
8. What are Lot Numbers and Serial Numbers?A) Lot number is a number that identifies a specific batch of items. Serial Number is a number assigned to each unit of an item and used to track the item.
9. What are Locators?A) A locator is a physical area with in the sub inventory where you store material such as a row, aisle, shelf, or a bin etc.
10. What is a Sub Inventory?It is a subdivision of an organization representing a physical area or a logical grouping of items such as store room or a receiving dock.
11. What are the flexfields in Inventory module?A) Item Key Flexfield, Category Key Flexfield. 12. While importing items from the legacy system through items interface what profile options do u set. There are two profile options that we need to check, before running the Item Import. They arei) PRIMARY_UNIT_OF_MEASURE from INV: Define Primary Unit of Measureii) INVENTORY_ITEM_STATUS_CODE from INV: Define Item Status

Thursday, January 15, 2009

FA

FA Facts:
1.System wont allow you to apply back dated unplanned depreciation.
2.Once you apply amortization adjustment to any asset, system wont allow you to apply expensed adjustment.

I Love Consulting...

You can frame words like this also for successful consulting...
1. It Can’t Be Done-->should replace by belowWill Review And Let You Know The Cost/Benefit By X Date and Time 
2. I Don’t Know
To Be Sure, Let Me Double Check And Get Back To You By X Date and Time 
3. You Are Wrong I Respect Your Point Of View But My Experience Tells Me Something Different. Let Us Discuss It Off-line
4. I Don’t Agree With You
I Respect Your Point Of View But My Experience Is Slightly Different. Let Us Discuss It In More Detail Off-line.
5. We Are Too Busy
Let Me Look At Other High Priority Items And See Where We Can We Fit It In. I Will Get Back to You by X Date and Time
6. You Didn’t Tell Me To Prepare For This Level Of Details For This Meeting
I Apologize That I Can’t Answer The Question From The Top Of My Head. I Will Get Back To You Soon After This Meeting.
7. It Is Not Our/My Responsibility
If You Want Us To Take Care Of This, We Will Add This To Our List Of Things To Do. When Do You Need It?
8. I Can’t Buy That Logic
I Respect Your Point Of View But My Experience Is Slightly Different. Let Us Discuss It Off-line.
9. This Is Not How It Is Done
There Are Many Ways To Accomplish This. Let Us Discuss The Pros and Cons Before Deciding The Final Approach.
10. I Am Waiting For User’s Response.
I Called/Sent Email At 8 AM On July 22. If I Don’t Hear By 10 AM Today, I Will Follow It Up With The User. (Show Proper Initiative To Complete The Task)
11. We Are Still Working On It.
Ashok Is Doing The Analysis As We Speak And We Will Have The Further Update By Tomorrow 8:00 AM. (Be Specific)
12. We Can’t Add This Requirement As Every Body Is Already Over Loaded.
We Have Noted The Requirement And We Will Work With You On Prioritizing It Along With The Other Items In The Queue
13. This Is My Nature.
Thanks For Bringing It To My Attention. I Will Keep It In Mind
14.I didn’t know what to do with it so I left it.
I didn’t know what to do with it so I documented my questions in a email to the user and asked for a quick response to my questions. As soon as I have the clarification, I will get on it.

EDI/E-Commerce Gateway

This module in oracle apps is used to exchange business documents like
sales order
Invoice
PO
between 2 business entities in agreed standard format like ASCII.

EDI is a tool, used to save PO when customer sends.
When supplier sends invoice and saves in EDI, after sending goods/services.
Customer setups EDI to match Invoice & PO automatically and throw error if Invoice and PO does not match.

Wednesday, January 14, 2009

AOL

1.which is most priority in Profile options? if profile option is set at Site Level and user level, which will be overriden by which?

Ans:User level profile option value will override site level profile option value.

2.Cross validation rules
Ans: Using these, you can prevent to enter few code combinations across application.
Generate Accounts like concurrent program or Front end forms will give error while system tries to create code combination and will also give reason as cross validation error message.
Eg: If balancing segment is '00' then cost center should not be '00'.

3.Security rules
Ans: These will be defined at segment level and assigned to particular responsibilities. User with above responsibility can not view certain values of segment, which are excluded by security rule.

Notes:
1.HR Data is at BG Level
GL Data is at SOB Level
Sub Ledgers like AP/AR/FA/PA... Data at OU Level
INV, BOM, WIP data is at Inventory org level

organization_id is Inventory organization Id
Ord_id is OU id

PO

Using this module client can create requisitions, purchase orders, requests for quotoation and receipts quickly and effectively.
4 Types of POs
1.Standard PO
2.Planned PO
3.Blanket Purchase Agreement
4.Contract Purchase Agreement

Client/Customer will have option to enter below
Price
Quantity
Terms&conditions
Goods& services
Delivery schedule
Accounting and
Supplier shipment authorization

Clinet/Customer creats...
Standard PO, when he want vendor commitment and to specific item or service for a particular scheduled time, but long-term agreement is not appropriate.

Planned PO, when customer want long-term agreement committing to buy items or services.

Blanket PA/Release, this will be created with negotiated volume discounts and want to create blanket releases against agreement to place actual order.

Contract PA/Release, customer will do this without indicating goods or services. Later will create po on these contracts.

Global Agreements: Buyers can negotiate price & terms. Later will create po on these.

PO APIs:
1.Open Requisition Interface-->Upload requisitions
PO_REQUISITIONS_INTERFACE_ALL
PO_REQ_DIST_INTERFACE_ALL
2.Purchasing Document Interface-->Upload purchase orders, responses to RFQs
PO_HEADERS_INTERFACE
PO_LINES_INTERFACE
PO_DISTRIBUTIONS_INTERFACE
3.Receiving Open Interface-->Upload receipt information into
RCV_HEADERS_INTERFACE
RCV_TRANSACTIONS_INTERFACE

Matching:
2-way matching
invoice price <= PO price
quantitiy billed <= quantity ordered

3-way matching
invoice price <= PO price
quantity billed <= quantity ordered
quantity billed <= quantity received
4-way matchinginvoice price <= PO price
quantity billed <= quantity ordered
quantity billed <= quantity accepted

Good Links
http://www.oracleappshub.com/oracle-purchasing/po-tips-and-useful-query/

Tuesday, January 13, 2009

AP

All Client payments will be handled by 'Payables'.
For this client will create invoice,validate, pay in full or partial.
Reconcile payments with bank a/c of client.
Create and update of Supplier(Vendor),
setup of payment methods-->Manual,Quick check, Automatic check
setup of terms-->Immediate, net+30, net+45... are necessary.

Steps involved in P2P Cycle:
PO Resp
1.Create requisition from Purchasing or iProcurement module.
2.Create purchase order for the requisition at Purchasing.
Documents-->AutoCreate
3.Create receipt at Purchasing for the PO created in step2

Run "Payon Receipts AutoInvoice" Program to create self billing invoices for receipts.

Payables
4.Create invoice for the PO and match it with receipt at payables
Validate invoice, Create accounting and pay in full for invoice
5.Run 'Transfer Payables to GL' at

Cash Mngt
6. Reconcile payments(Enter bank stmt and clear transaction).

iPayments in 11i turns into Payments Setup Admin.

General Setups Needed:
1.Define which are necessary to creare and pay invoices
Suppliers
Payment terms
Financial and payable options
Banks
Select SOB
Lookup codes
Dff-->
Kff-->

Tables affected by Invoice group:
AP_BATCHES-->batch_id
AP_INVOICES-->Vendor_id & Amount
AP_INVOICE_DISTRIBUTIONS-->CCID & Tax Information
AP_PAYMENT_SCHEDULES-->Due amount and date
Tables affected by Payment Group:
AP_CHECKS-->vendor_id,bank_account_id,amount & check_date
AP_INVOICE_PAYMENTS

R12: Supplier Open Interface
Tables involved are
AP_SUPPLIERS_INT
AP_SUPPLIER_SITES_INT
AP_SUP_SITE_CONTACT_INT

Registry Id is party number from hz_parties.

Tips:
AP_TAX_CODES_ALL is replaced by ZX_RATES_B & ZX_ACCOUNTS.
PO_VENDORS is view in R12 on AP_SUPPLIERS & HZ_PARTIES.
PO_VENDOR_SITES&PO_VENDOR_SITES_ALL are views on AP_SUPPLIER_SITES_ALL.

Receivables AR

RA Tables moved to HZ tables in 11i due to TCA Evaluation.
RA_CUSTOMERS-->HZ_PARRIES, HZ_CUST_ACCOUTNS, HZ_PARTY_SITES, HZ_PARTY_SITE_USES...

Pre 11i there were 11 tables...RA_CUSTOMERS, RA_ADDRESSES....But now in 11i these became views. Now RA_CUSTOMERS is a view which is based on HZ_PARTIES, HZ_CUST_ACCOUNTS.

One party can have multiple customer accounts. One record at HZ_PARTIES can have multiple records at HC_CUST_ACCOUNTS.

Once Party becomes customer, customer information will be stored in HZ_CUST_ACCOUNTS.

Flow of customer Interface:
Feedar System(SQL Loader)-->Staging table(Import, Mapping, Validation)-->Customer Interface(Interfaces-->Customer)-->Customer(HZ) Tables
1.RA_CUSTOMERS_INTERFACE_ALL
2.RA_CUSTOMER_PROFILES_INT_ALL
3.RA_CONTACT_PHONES_INT_ALL
4.RA_CUST_PAY_METHOD_INT_ALL
5.RA_CUSTOMER_BANKS_INT_ALL
Base tables:
All HZ Tables+4 tables(RA_CUST_RECEIPT_METHODS, AP_BANK_ACCOUNTS_ALL,AP_BANK_BRANCHES, AP_BANK_ACCOUNT_USES_ALL)

You have to consider AR Setups while doing Customer Interface:
1.Setups
2.Map the interface tables(5Above) at Import program and validations.
3.Run import program
4.Customer-->Interface
Check output for errors.

Validation errors & tips:
1.Customer Number Automatic-->Check the checkbox at System Options window.
2.Use Bulk collect so that cursor will process 10,000 records at a time
3.Make sure that you are populating correct ORG_ID in interface tables.
4.Checkout few profile options(HZ:%) which will impact Customer interface.
Auto Invoice interface:
RA_INTERFACE_LINES_ALL
RA_INTERAFCE_DISTRIBUTIONS_ALL
RA_INTERFACE_SALESCREDITS_ALL
RA_INTERFACE_ERRORS_ALL
Basetables:
RA_CUSTOMER_TRX_ALL
RA_CUSTOMER_TRX_LINES_ALL
RA_CUST_TRX_LINE_GL_DIST_ALL
RA_CUST_TRX_TYPES_ALL
Auto Lock Box:
AR_PAYMENTS_INTERFACE_ALL
Basetables:
AR_PAYMENT_SCHEDULES_ALL
AR_CASH_RECEIPTS_ALL
AR_RECEIVABLE_APPLICATIONS_ALL
Interim tables:
AR_INTERIM_CASH_RECEIPTS_ALL
AR_INTERIM_CASH_REPT_LINES_ALL
AR_INTERIM_POSTING
General Setups Needed for AR:
1.Define which are necessary to creare invoices & Receipts
Customers
Payment terms
System options
Auto Accounting
Transaction Type
Transaction Source
Lookup codes
Dff-->
Kff--> Sales tax location and Territory

Few TCA APIs:
hz_cust_account_v2pub.create_account()-->to create party and account
hz_location_v2pub.create_location()-->to create physical location
hz_party_site_v2pub.create_party_site
hz_cust_acct_site_v2pub.create_cust_acct_site()
hz_cust_acct_site_v2pub.create_cust_site_use()

Different statuses of receipts:
Unidentified-->Lack of customer information
UnApplied-->Lack of invoice info
Applied-->All information is set
On-Account-->Lack of sufficient funds

Few validations during interfaces:
1.Address: If interface table is populated by orig_system_address_ref, we should populate RA_ADDRESSES.ADDRESS1-4 fields
2.Location: Populated fields of city,county should be valid with fnd_territories table.
3.Customer Number: It should be null if automatic customer number is enabled, else it should not be null
4.Customer Status: Should be A-->Actice or I-->Inactice
5.Customer Type: Should be one of value from AR_LOOKUPS

Transaction types:
Oracle provides only invoice/credit memo trans types.
Trans type is used to default payment term,account,tax,freight and other receivable information.
Define new trans types at Receivables resp-->setup-->transactions-->transaction types
http://oracle.anilpassi.com/how-to-define-transaction-types-in-oracle-receivables.html

iSupport(IBU)

what is istore?
its a internet based customer support application used to provide online support to customers and employees.
Also provides customers to resolve problems themselves with search functionality.
Provides service profitability by decreasing number of calls to contact center.

It supports these types of users.
1.Primary user
2.Business User
3.Individual User
4.iSupport Admin and etc...

Service Request
After user enters service request will be validated by teleservice and if it valid, provides unique tracking number for future reference.
User can update/cancel/close service request.
User can also attach documents. User can also open closed service requests conditionally.
User can also escalate SR if there is no progress.
User can also create SR templates.

iSupport Additional Features
Knowledge Base: Users can use this using search to resolve issues.
Technical Library: Admin can maintain While papers/Documentation etc
Forums:Online forums to post questions and discuss
Account Mgmt: Users can view orders, invoices,payments and shipping information.

Saturday, January 10, 2009

iStore(IBE)

what is istore?
its web-based application which is used to establish flexible, robust web stores.
it has 2 main applicaitons 1. Site Admin 2.Customer Application
SITE ADMIN
1.Create unlimited number of sites
2.Setup business rules, price lists, payment methods, shipping methods and promotional goods (e.g.Buy1 Get1 Free)
3.Build product catalogs, levaraging with powerful search functionality
4.Change site look & feel
5.Run and view business reports
6.View and configure workflow notifications

CUSTOMER APPLICATION
After registration customer can do...
1.Online shopping with orders processed in OM
2.Save carts, quotes and lists
3.Share carts and quotes
4.Retrieve carts and quotes
5.Track/cancle and return orders
6.Store user address and credit card data


In this application site admin will create Sites.
Site will have multiple Catalogs
Catalog will have multiple Products
Product will have again multiple Sections

Integration of Sub Ledger(AP/AR/FA/PA/PO/OE) to GL

Below will import data from sub-ledger to GL_INTERFACE
1.FA-->GL
Run: Create Journal Entries
2.AP-->GL
Run: Transfer Payables to GL
3.INV-->GL
Run: Transfer transactions to GL
4.PA-->FA-->GL
PRC: Generate Asset lines for range of projects
PRC: Interface asset lines Mass additions
FA-->Create & Post Mass Additions
Run: Create Journal Entries

'Import Journal' will populate journal entries from GL_INTERFACE to GL Tables.
Reference21-30 will have respective sub-ledger data.

Posting process will post journals if they are balanced. If not balanced enter journals to reverse entries and post.

Link between OE & AR
of oe_order_headers_all <-->salels_rep_id of ra_salesreps_all
invoice_to_org_id of oe_order_header_id <--> site_use_id of ra_site_uses_all

AutoAccounting

This is used to default below GL Accounts at Receivables
receivables
revenue
frieght
tax
finance charges
unearned revenue
unbilled receivalbes
billed receivables
auto invoice clearing

Based on transaction types{salesrep/transactiontype/standard lines/taxes/customer-bill-to}

AutoInvoice Validations

1.Transaction type should be at RA_CUST_TRX_TYPES_ALL
2.Transaction batch source shoulbe be at RA_BATCH_SOURCES_ALL
3.Currency should be at FND_CURRENCIES
4.customer, shipto & billto location fields should be at RA_CUSTOMERS/RA_ADDRESSES_V
5.primary sales reprasentative number should be -3 for "No Sales Credit"
6.terms should be at RA_TERMS
7.Inventory items should be from MTL_SYSTEM_ITEMS
8.UOM should be at MTL_UNIT_OF_MEASURE
9.Tax codes should be at AP_VAT_TAX_ALL_B
10.GL Data should be validated as per ARP_UTILS.IS_GL_DATE_VALID API

OAF

Steps to do PPR
If you want to render/hide fields programatically then
1.Create transient boolean variables at PVO
2.Attach these boolean variables to rendered property of fields using SPEL({$oa.PVO.booleanVariable})
3.set client navigation property as partialFire to base field
4.Initialize row using STATUS_INITIALIZED at PR & setProperty for fields at PFR.

If you want to render/hide fields declaratively
1.Create transient boolean variable at VO and modify rendered property.
2.Modify get method at xxVORowImpl file

Limits
If the region to implement PPR is cellFormat or rowLayout, hide/show is not supported
As a alternative, create flowLayout for cellFormat/rowLayout and apply.

If you want to apply PPR to switcher in a table, create flowLayout and attach table to flowLayout and then apply PPR.



Steps to create field with LOV using Personalization:
1.Create item of style 'Message Input LOV' with below properties
External Lov = /oracle/apps/prod/subprod/lov/webui/xxempLovRN
2.Create item of style 'LovMap' under LOV item with below properties
Criteria Item = item name of Lov
LOV Region Item = item name of LovRN
Return Item = item name of Lov

what is AM Pooling?
Whenever application wants any object, AM will not create new and destroy after its use.
It will check first in pool and if there is no available, it will create upto maximum avialable count.
Else will wait one to be released object. After maximum waiting time will give timeout error.

Error Page
You have encountered unexpected error. Please contact system administrator. Click here for details.
"Error: Cannot Display Page
You cannot complete this task because one of the following events caused a loss of page data:
Your login session has expired.
A system failure has occurred. "

This is due to customization of Root AM. Oracle does not recommend this customization.
Solution:
1.Customization using Nested AMs will solve this issue.
2.Extend server commnads and helpers will solve this issue.

Reports

User exits used to initialize APPS & Release memory.
SRW.USER_EXIT('FND SRWINIT')
SRW.USER_EXIT('FND SRWEXIT')

$FLEXDATA is used to get Key flexfield segment values

Forms

Tips:
1.If you think that form is not rendering due to personalization, you can make it off using Help--&gt;Diagnostics--&gt;Custom code--&gt;Off
2.Profile options to hide this property:
FND: Hide Diagnostics menu entry
Utilities: Diagnostics

Development/Customization:
1.copy TEMPLATE.fmb from $AU_TOP/forms/US to local machine and rename it
2.delete unnecessary blocks &amp; create windows/block/items
3.Modify APP_CUSTOM program unit to write logic
4.Modify standard libraries like APPCORE,APPDAYPK,FNDSQF to modify standard toolbar or menu or calendar or messages or profiles or concurrent processing...
5.Modify CUSTOM.pll if you want to modify standard forms without modifying them
like hide/show or enable/disable or mandatory/optional fields. Include business rules like supplier name should be in CAPITAL LETTERS.

How to open multiple forms in single session
In menu form Tools --&gt; Uncheck ( Close Other Forms) That's it

How to see form personalizations from DB?
Select Distinct
A.Id,
A.Form_Name , A.Enabled, C.User_Form_Name, D.Application_Name ,A.Description,Ca.Action_Type,Ca.Enabled,Ca.Object_Type,
ca.message_type,ca.message_text
from FND_FORM_CUSTOM_RULES a,
     FND_FORM b,
     FND_FORM_TL c,
     Fnd_Application_Tl D,
     Fnd_Form_Custom_Actions ca
where a.form_name = b.form_name
And B.Form_Id = C.Form_Id
And B.Application_Id = D.Application_Id
And D.Application_Id = 660 --For Order Management
And C.User_Form_Name Like 'Sales%'  --All the Forms that Start with Sales
And A.Enabled ='Y'
and a.id = ca.rule_id

SQL

PLSQL

4 Steps at AutoLockBox

1.Format bank file and upload data into Autolockbox tables
2.Validate Autolockbox tables
3.Populate into Quick cash tables and verify from Quick Cash forms
4.Post Quickcash, which will update customer balances.