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.