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.

Sunday, December 14, 2008

OAF Extensions

Apache bounce will kill self service sessions. This is required when you change java & xml files at $JAVA_TOP.

If you changed only java files, clearing cache is enough from 'Functional Administrator' Resp.

Mid-tier bounce will kill self service & D2K sessions.This is required when you change xml files(BC4J & PG).

NO bounce is required for personalizations.

Questions:
1.If I want to display my newly created page with new browser, what should i do?
Ans: Set the Target Frame = -blank
2.How to Embed new page to existing page?
Ans:

Tuesday, December 9, 2008

Good Blogs & R12

Little about R12:
R12 is 50% Form based and 50% Java Based(Self service pages).
More flexibility and options given to responsibility.
User can enter/view/update transactions of multiple ous with single resp.
User need not to switch to run concurrent programs attached to different RGs.
With XMLP, user have more flexibility as well more output formats.

Org Structure:
BG-->Employee setup, payroll, timesheet and all basic major setups included.
Ledger(SOB)-->Has 4 C's-->extra c is SLA.
LE-->Company has to enter legal and tax filing information here
OU-->Company decides here to create separate OU for each branch or building, based on its business.
Inv Org-->Low level unit of Org.

GL: Sets of Book has been replaced by GL: Ledger Id
MO: Security profile.
MO: Operating Unit
MO: Default Operating Unit
Run: Security List Maintenanace program after setup of security profile/operating units.

R12 has 6 flex field qualifiers.
Balancing segment qualifier
Intercompany segment qualifier
Natural Account segment qualifier
Cost Center segment qualifier
Management segment qualifier
Security Tracking segment qualifier

Receivables-->System options-->enable Trading partner check box, so that user can use customer as supplier also.

Oracle payments is new module in R12. 11i Payments has become separate module, with more options like user can receive payments, instead of swing back to receivalbes.

EBTax is new module in R12. 11i AP Tax Codes DFF has been removed and EBTax module has evolved with lot more options


http://knoworacle.wordpress.com/?s=fixed+assets http://www.aboutoracleapps.com/2007/07/cm-concepts-1.html http://www.oracleappshub.com

Upgrade/Reimplement of R12
Before R12 upgrade, run Health check scripts to make sure there are no db inconsistencies.
Backward compatability views RA_ADDRESSES & RA_CUSTOMERS are no longer avialable in R12 database. So you should change custom code and map these views to TCA tables.

In R12 PO_VENDORS is backward compatability view based on R12 table AP_SUPPLIERS.
Similarly GL_SETS_OF_BOOKS based on R12 table GL_LEDGERS

R12 Payables
1.Suppliers are defined as parties in TCA
2.Invoice lines are added as business entities between invoice headers and distributions.
3.Banks, bank branches, bank accounts are defined centrally at CE(cash management)
4.Document sequencing of payments is moved to CE bank setup
5.payments and fund disbursement activities are handled by new module oracle payments.
6.SLA is new moudle in R12, where centralized accounting setup will be done associated to Ledger.
7.EBTax is new module in R12, where tax setup with trading parters and tax authorities as well as transaction tax processing and reporting.
8.Repository is associated with multiple OUs using MOAC.

Friday, April 11, 2008

How to ftp from cmd to server and apply patch?

ftp
user

bin
hash
put
bye

adpatch options=hotpatch

How to ftp from cmd to server and apply patch?

ftp
user

bin
hash
put
bye

adpatch options=hotpatch

How to bounce Middle tier & DB?

Below are the steps to bounce Middle tier.
1. Login to instance using
2. cd $OAD_TOP/admin/scripts/
3. adstpall.sh apps/apps
wait for moment
4. adstrtal.sh apps/apps

Below are the steps to bounce DB
1. Login to instance using
2. sqlplus "/ as sysdba"
3. shut abort
wait for 2 mins
4. startup

Below are the steps to start conc manager service.
1.Login to instance using
2.cd $OAD_TOP/admin/scripts/
3.adcmctl.sh start apps/apps

Debug procedure for PLSQL

DROP TABLE ENRICH_DEBUG
/
CREATE TABLE ENRICH_DEBUG
(
SEQ_LINE NUMBER,
MSG VARCHAR2(2000 BYTE)
)
/
DROP SEQUENCE ENRICH_DEBUG_SEQ
/
create sequence ENRICH_DEBUG_SEQ increment by 1 start with 1
/
CREATE OR REPLACE PROCEDURE ENRICH_DEBUG_PROC(MSG VARCHAR2)
IS
PRAGMA AUTONOMOUS_TRANSACTION;
LN_SEQ NUMBER;
BEGIN
SELECT ENRICH_DEBUG_SEQ.NEXTVAL INTO LN_SEQ FROM DUAL;
INSERT INTO ENRICH_DEBUG VALUES (LN_SEQ,MSG);
COMMIT;
END;
/
DBMS_OUTPUT.PUT_LINE Can print upto 255 chars only.
FND_FILE.PUT_LINE can print upto 32767 chars only.
Solution:
create or replace procedure xxfile_output(msg varchar2)
is
begin
if length(msg) > 255 then
dbms_output.put_line(substr(msg,1,255));
else
xxfile_output(substr(msg,256));
end if;
end;

AUTHID CURRENT_USER/ AUTHID DEFINER:
procedure xxfile(msg varchar2)
AUTHID CURRENT_USER
is
xxfileout(msg);
end;

In above example, procedure will compile reference to xxfileout at run time with the login user.
Else proc xxfile will compile xxfileout at declaration time with create user.

DECLARE
    lb_status BOOLEAN;
BEGIN
    lb_status := FND_USER_PKG.CHANGEPASSWORD
                                                            (
                                                                username           => 'SJAKKULA',
                                                                newpassword     => 'Welcome'
                                                           );

    IF lb_status
    THEN
        DBMS_OUTPUT.PUT_LINE('Request processed sucessfully'); 
    ELSE
        DBMS_OUTPUT.PUT_LINE('Error while processing the request'||substr(SQLERRM,1,500)); 
    END IF;
END;

Commit;

Commit is very important here. Otherwise Password would not change. If you write cursor also, commit is required.

There is patch to expire password of all users in application.

FNDLOAD,WFLOAD Commands

Pls find the commands to download the data using FNDLOAD utility
1 - Printer Styles
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afcppstl.lct file_name.ldt STYLE PRINTER_STYLE_NAME="printer style name"

2 - Lookups
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.lct file_name.ldt FND_LOOKUP_TYPE APPLICATION_SHORT_NAME="prod"
LOOKUP_TYPE="lookup name"

3 - Descriptive Flexfield with all of specific Contexts
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt DESC_FLEX P_LEVEL=?COL_ALL:REF_ALL:CTX_ONE:SEG_ALL? APPLICATION_SHORT_NAME="prod" DESCRIPTIVE_FLEXFIELD_NAME="desc flex name" P_CONTEXT_CODE="context name"

4 - Key Flexfield Structures
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt KEY_FLEX P_LEVEL=?COL_ALL:FQL_ALL:SQL_ALL:STR_ONE:WFP_ALL:SHA_ALL:CVR_ALL:SEG_ALL? APPLICATION_SHORT_NAME="prod" ID_FLEX_CODE="key flex code" P_STRUCTURE_CODE="structure name"

5 - Concurrent Programs
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct file_name.ldt PROGRAM APPLICATION_SHORT_NAME="prod" CONCURRENT_PROGRAM_NAME="concurrent name"

FNDLOAD apps/apps@dev O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct XXFINARKIGENPER270.ldt PROGRAM APPLICATION_SHORT_NAME="XXFIN" CONCURRENT_PROGRAM_NAME="XXFIN_AR_PROV_KI_GEN_PER270"

6 - Value Sets
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt VALUE_SET FLEX_VALUE_SET_NAME="value set name"

7 - Value Sets with values
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt VALUE_SET_VALUE FLEX_VALUE_SET_NAME="value set name"

8 - Profile Options
FNDLOAD apps/apps\@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afscprof.lct file_name.ldt PROFILE PROFILE_NAME="profile option" APPLICATION_SHORT_NAME="prod"

8 - Request Groups
FNDLOAD apps/apps\@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.lct file_name.ldt REQUEST_GROUP REQUEST_GROUP_NAME="request group" APPLICATION_SHORT_NAME="prod"

10 - Request Sets
FNDLOAD apps/apps\@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct file_name.ldt REQ_SET
APPLICATION_SHORT_NAME="prod" REQUEST_SET_NAME="request set"

11 - Responsibilities
FNDLOAD apps/apps\@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct file_name.ldt FND_RESPONSIBILITY RESP_KEY="responsibility"

12 - Menus
FNDLOAD apps/apps\@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct file_name.ldt MENU MENU_NAME="menu_name"

13 - Messages
FNDLOAD apps/apps@seed115 0 Y DOWNLOAD $FND_TOP/patch/115/import/afmdmsg.lct file_name.ldt FND_NEW_MESSAGES MESSAGE_NAME="message_name" APPLICATION_SHORT_NAME=”prod”

To upgrade-- WFLOAD apps/pwd 0 Y UPGRADE file.wft
To upload-- WFLOAD apps/pwd 0 Y UPLOAD file.wft
To force-- WFLOAD apps/pwd 0 Y FORCE file.wft
To download-- WFLOAD apps/pwd 0 Y DOWNLOAD file.wft ITEMTYPE1 [ITEMTYPE2 ...ITEMTYPEN]

AKLOAD for jlts
java oracle.apps.ak.akload apps apps THIN "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=<>)(PORT=<>))(CONNECT_DATA=(SID=kalr12)))" DOWNLOAD task.jlt GET REGION FND

XDFLOAD for xdfs
XDFLOAD apps/apps

how to transfer workflow business events?
wmximport, its a java class available in package oracle.apps.fnd.wf
wmximport -d/-u d-download u-upload

LDT file will not remove rows from DB if you remove the blocks from Ldt file and apply