Thursday, June 28, 2018

Profile Options related to OAF

Profile Options related to OAF

1. Disable Self-Service Personal (FND_DISABLE_OA_CUSTOMIZATIONS) : This disables the rendering of all personalization that have been created. If this system profile option is set to Yes, the configurations made will not be applied, regardless of the level at which the configurations were made. Only the original definition of each self-service page will be displayed.

2. Personalize Self-Service Defn (FND_CUSTOM_OA_DEFINTION) : This system profile option controls access to the Personalization Framework. This profile option enables or disables the global Personalize URL link that appears on each self-service web application page for Admin-level customizations.

3. FND: Personalization Region Link Enabled (FND_PERSONALIZATION_REGION_LINK_ENABLED) : Enables the "Personalize Region" links on a page if the Personalize Self-Service Defn profile is set to Yes. Enabling the "Personalize Region" links allows users to also personalize regions that are dynamically added to the page from custom code in the controller.

4. Fnd Xliff Export Root Path (FND_XLIFF_EXPORT_ROOT_PATH) : Use this profile option to set the root path used to generate the full path where the Xliff files are exported to when users extract their translated personalizations using the Extract Translation Files page.

5. Xliff Import Root Path (FND_XLIFF_IMPORT_ROOT_PATH) : Use this profile option to set the root path used to derive the full path from where the Xliff files are uploaded when users use the Upload Translations page to upload translated personalizations.

6. FND: Personalization Document Root Path (FND_PERZ_DOC_ROOT_PATH) : Use this profile option to define the root path where personalizations documents are exported to or imported from when users use the Database page or the File System page of the Functional Administrator responsibility's Document Manager, respectively.

7. FND: Disable Partial Page Rendering (FND_PPR_DISABLED) : Controls whether partial page rendering is disabled. If set to Yes, PPR is disabled. In this case, UIX automatically renders a Go button next to each item with a partialAction enabled.

8. Enable PPR Debugging (FND_ENABLE_PPR_DEBUGGING) : Controls the PPR debugging feature. When this profile option is enabled, the partial targets are displayed at the top of the screen as the page renders. 

9. FND: View Object Max Fetch Size (VO_MAX_FETCH_SIZE) : By setting the value for this profile option, we can determine how many records are fetched by View Objects in all of the EBS applications. The profile value is set at site level to 200 by default, so it may need to be changed to a more appropriate value depending on requirements. Setting a large value can effect performance. The higher the value, the longer pages will take to load. So it is best to set it at application level e.g. Projects.

10. FND: Personalization Seeding Mode (FND_PERSONALIZATION_SEEDING_MODE) : When the profile 'FND: Personalization Seeding Mode' is set to "Yes", it sets the developerMode flag to "Yes" for any function level or user level personalization. These personalizations are then protected against update/delete. That personalization then can only be deleted from back end using JDR_UTILS.deleteDocument.

11. FND: Passivation Level (PASSIVATION_LEVEL) : indicates whether passivation is enabled, and if so, at what level of frequency. (Resource Threshold/Request)

12. FND: Session Timeout Recovery Enabled (SESSION_TIMEOUT_RECOVERY_ENABLED) : It indicates whether servlet session time-out recovery is enabled for the application.

13. ICX: Limit Time (ICX_LIMIT_TIME) : Indicates the amount of time after which the user, regardless of their level of activity, will be asked to validate their credentials in order to continue working.

14. ICX:Session Timeout (ICX_SESSION_TIMEOUT) : Maximum idle time for an Oracle Applications user session (specified in minutes).

15. FND: Disable Configurable Home Page (FND_CONFIG_HOMEPAGE_DISABLED) : This profile is for retaining backward compatibility. It basically determines whether the Configurable Home page is enabled or disabled.

16. FND: Disable Look Ahead LOV (FND_DISABLE_LOOK_AHEAD_LOV) : Determines whether the Look Ahead LOV feature is enabled or disabled at the Site or Application level. However, the value of Look Ahead Enabled property set on the messageLOVInput item overrides this profile option value.

17. Corporate Branding Image for Oracle Applications (FND_CORPORATE_BRANDING_IMAGE) : To globally override the Oracle corporate branding image with your own corporate branding image, set this profile option to the name of an image file (GIF) that contains your corporate image. This image file should be placed under the $OA_MEDIA directory.

18. ICX: Date format mask (ICX_DATE_FORMAT_MASK) : This profile specifies the format used when displaying date fields. When a field displays both date and time, the date component is displayed in the format specified here.

19. Restrict Text Input (FND_RESTRICT_INPUT) : If you develop code that fails to perform adequate input validation, there is always the risk that an attacker may be able to inject dynamic scripting content such as Javascript/vbscript, into Oracle E-Business Suite, and run the script(s) in the context of a legitimate Oracle E-Business Suite user. This is referred to as cross-site scripting. Oracle Framework provides a feature called Cross-Site Script scanning (XSS scanning), that provides added security to mitigate cross-site scripting attacks. When requests are made to get a value or values for a parameter by calling OA Framework methods, the XSS scanning feature performs an automatic scan of the value or values for scripting content. If scripting content is found, an exception is thrown, otherwise the value or values are returned. To enable XSS scanning, set this profile option to Yes at the Site level.

Monday, July 11, 2016

MOAC in OAF Custom pages

There would be property called MULTIORG ENABLE at AM. Please set that as M for multi org.

You can register custom application using API FND_MO_PRODUCT_INIT_PKG.register_application

In D2K forms below are built in APIs to change menu, form and security
    FIND_MENU_ITEM
    GET_MENU_ITEM_PROPERTY
    COPY
     DO_KEY



Tuesday, November 3, 2015

Implementing SIF (Service Invocation Framework)

To invoke all integration services from Oracle E-Business Suite, Oracle E-Business Suite Integrated SOA Gateway uses service invocation framework (SIF) that leverages Oracle Workflow Java Business Event System (JBES) and a seeded Java rule function to allow any WSDL-described service to be invoked.

Note: To have the Web service invocation feature work properly, Oracle E-Business Suite Integrated SOA Gateway has dependency on the Oracle Application Server WSIF and Oracle Workflow Java Business Event System.

By using this service invocation framework, developers or implementors can interact with Web services through WSDL descriptions instead of working directly with SOAP APIs, the usual programming model. This approach lets you use WSDL as a normalized description of disparate software, and allows you to access this software in a manner that is independent of protocol or location.

This invocation framework used in Oracle E-Business Suite allows updated implementations of a binding to be plugged into WSIF at run time. As a result, it not only facilitates a stubless or completely dynamic Web service invocation, but also allows the calling service to defer choosing a service binding until run time. More importantly, this enhances the seamless business integration between loosely coupled applications and accelerates service execution and consumption.

https://docs.oracle.com/cd/E18727_01/doc.121/e12169/T511175T513090.htm

the picture is described in the document text




Wednesday, September 9, 2015

ORA-06508: Could not find program unit being called wf_xml.generate for oracle.apps.wf.notification.send

Solution: Verified invalids and found 248. Asked DBA to recompile APPS schema and restart workflow services. After recompile of APPS schema there were 28 invalids and issue got resolved

Thursday, July 30, 2015

OAF challenges and tips

D2K <-> OAF
Call D2K form from oaf using syntax: pageContext.forwardImmediatelyToForm(String); String should be in format of form:APPLICATION_SHORT_NAME:RESPONSIBILITY_KEY:DATA_GROUP_NAME:FORM_FUNCTION_NAME

Example: String d2k = "form:FND:APPLICATION_DEVELOPER:STANDARD:FND_FNDPOMPO";
Call OAF from D2K using fnd_function.execute API

Import data from Excel to Oracle Table using OAF:
For this we need jxl.jar to download and place it in myprojects folder in local and place it in

Deployment of JAR Files
Till R12.1.
JAR file by placing in server and add below entry in orion-application.xml at $ORA_CONFIG_HOME/10.1.3/j2ee/oacore/application-deployments/oacore/ Remember to run auto-config bounce middle tier as well. This works upto R12.1, since OCJ4 understands orion-application.xml file. After R12.1 its different procedure.
       
From R12.2, it works like this.
 Deploy JAR file into $FND_TOP/java/jar in R12.2, WLS understands a file $FND_TOP/admin/template/ebsProductManifest_xml.tmp and run auto-config and bounce middle-tier services.
    customprod.jar
1. if you modify file in standard folder--> unjar using jar -xvf, unzip, modify, zip, jar using  jar -cvf and then execute 'regenerate product jar' from adadmin
2. if you modify file in non-oracle standard custom i,e $JAVA_TOP/oracle/apps/xxe --> create customprod.zip using below and then run adjava command as sample below
zip -r customprod.zip $JAVA_TOP/oracle/apps/xxe

adjava oracle.apps.ad.jri.adjmx -areas $JAVA_TOP/customprod.zip -outputFile $JAVA_TOP/customprod.jar -jar $CONTEXT_NAME 1 CUST jarsigner -storePass apps -keyPass apps

3. if you modify file in oracle standard custom i,e $JAVA_TOP/xxe/oracle/apps --> Run adcgnjar utility from $AD_TOP/bin, which will create and sign-in customall.jar

Bit map index

This type of indexes normally used to create on low cardinality columns. Low cardinality column means, which is going to have very less type of values. For example: Supplier type would be internal or external. These indexes would be created in Data warehouse tables to improve the performance. We can create this index on column or joining of tables also.

http://www.orafaq.com/wiki/Bitmap_index

Thursday, July 23, 2015

Deployment changes from 12.2 onwards

Please refer to:
1.Oracle® E-Business Suite Developer's Guide Release 12.2 (Part No. E22961-09)
2.Deploying Customizations in Oracle E-Business Suite Release 12.2 (MOS Doc ID 1577661.1)
3.Using the Online Patching Readiness Report in Oracle E-Business Suite Release 12.2 (MOS Doc ID 1531121.1)
4.Oracle E-Business Suite Release 12.2: Online Patching FAQ (MOS Doc ID 1583902.1)

Edition based Redefination ( EBR) - Run Edition and Patch Edition

EBR in DB: Editionable objects are synonym, views and all plsql objects.
In Linux:
echo $FILE_EDITION
 In DB:
select ad_zd.GET_EDITION_TYPE,
ad_zd.GET_EDITION
from dual;

How to set your Edition?
OS:
source /oracle/ebs122/EBSapps.env run or
source /oracle/ebs122/EBSapps.env patch
echo $RUN_BASE - the run filesystem
echo $PATCH_BASE - the patch filesystem
DB:
ad_zd.SET_EDITION(‘RUN’)
or
ad_zd.SET_EDITION(‘PATCH’)

Check Edition Status:
•How to check the status of patching
•In the OS:
adop –status
•From the DB:
sqlplus apps @ADZDSHOWED.sql

EBR and Data:
•Table Data is maintained through triggers
•Seed Data is handled by striping it with an Edition column









Oracle MAF (Mobile Application Framework)

Need to install Jdeveloper 12c.

http://multikoop.blogspot.in/2014/07/adf-mobile-rebrands-to-oracle-maf.html
http://www.oracle.com/technetwork/developer-tools/maf/overview/index.html
http://download.oracle.com/otn_hosted_doc/maf/academy/DevelopingApplicationsWithMAF/presentation.html


Develop your own free IM(Instant Messaging) tool for your website or organization

Openfire server --> Install this at linux server. This is open source and written in java. This uses XMPP (Extensible Messaging and Presence Protocal)

Spark client --> Clients should install this at their local machines

http://www.tecmint.com/create-your-own-instant-messagingchat-server-using-openfire-in-linux/

We can also integrate IM(XMPP) with Oracle Apex. Please check below

https://technology.amis.nl/2012/10/01/how-to-build-an-im-xmpp-solution-with-oracle-apex-and-websockets/

Wednesday, May 27, 2015

Useful scripts

--Script to reset password of application user with APPS password
declare
v_user_name varchar2(30):=upper('&Enter_User_Name');
v_new_password varchar2(30):='&Enter_New_Password';
v_status boolean;
begin
v_status:= fnd_user_pkg.ChangePassword (
    username => v_user_name,
    newpassword => v_new_password
);
if v_status =true then
dbms_output.put_line ('The password reset successfully for the User:'||v_user_name);
commit;
else
DBMS_OUTPUT.put_line ('Unable to reset password due to'||SQLCODE||' '||SUBSTR(SQLERRM, 1, 100));
rollback;
END if;
end;
 List of responsibilities a application user has
------------------------------------------------------------------ ------------------------------------------------------------------
SELECT frt.RESPONSIBILITY_NAME, furg.end_date
FROM
fnd_user_resp_groups fur,
FND_RESPONSIBILITY fr,
fnd_responsibility_tl frt,
fnd_user fu
WHERE fu.user_name = '&username'
AND fu.user_id = fur.user_id
AND furg.responsibility_id = fr.RESPONSIBILITY_ID
AND frt.responsibility_id = fr.RESPONSIBILITY_ID
ORDER BY 1

 How to activate user by setting end_date as Null

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

DECLARE
   CURSOR usercur
   IS
      SELECT fu.user_name
        FROM apps.fnd_user fu
       WHERE user_name = 'TEST_ACCOUNT';
BEGIN

   FOR myuser IN usercur
   LOOP
      fnd_user_pkg.updateuser(
         x_user_name      => myuser.user_name
       , x_owner          => 'CUST'

        ---- This is 1/2/4712. Oracle keeps end date as null
        , x_end_date       =>  to_date('2', 'J')
      );
   END LOOP;

END;

Saturday, January 10, 2015

How to resolve ORA-22288 ORA-06512 File or LOB operation GETLENGTH failed

ORA-22288: file or LOB operation GETLENGTH failed
No such file or directory
ORA-06512: at "SYS.DBMS_LOB", line 850
ORA-06512: at line 99
22288. 00000 -  "file or LOB operation %s failed\n%s"
*Cause:    The operation attempted on the file or LOB failed.
*Action:   See the next error message in the error stack for more detailed
           information.  Also, verify that the file or LOB exists and that
           the necessary privileges are set for the specified operation. If
           the error still persists, report the error to the DBA.

Solution: Make sure you uploaded file into proper DB Server.

Thursday, December 4, 2014

How to remove Oracle OAF VO Substitution

Oracle OAF Substitution basically creates personalization for example if I do VO substitution on oracle.apps.pos.request.server.SupplierRequestsVO with xxus.oracle.apps.pos.request.server.xxSupplierRequestsVO

After I do jpx import, it creates below personalization
     /oracle/apps/pos/request/server/customizations/site/0/xxSupplierRequestsVO

So If you want to remove VO Substitution, we have to remove above personalization either using 'Functional Administrator' or using below

begin
   jdr_utils.deletedocument('/oracle/apps/pos/request/server/customizations/site/0/xxSupplierRequestsVO');
   commit;//this is important :)
end;

Happy Substitution. :)

Thursday, November 6, 2014

Order of sub ledgers closing

It must be Payables, Purchasing, Inventory, Receivables and then Fixed assets

Wednesday, October 29, 2014

Switzerland Tax Registration number logic from Jan 1st 2014

SELECT  DECODE(
        ceil(((REGEXP_SUBSTR(num,'[0-9]',1,1))*5+
                         (REGEXP_SUBSTR(num,'[0-9]',1,2))*4+
                         (REGEXP_SUBSTR(num,'[0-9]',1,3))*3+
                         (REGEXP_SUBSTR(num,'[0-9]',1,4))*2+
                         (REGEXP_SUBSTR(num,'[0-9]',1,5))*7+
                         (REGEXP_SUBSTR(num,'[0-9]',1,6))*6+
                         (REGEXP_SUBSTR(num,'[0-9]',1,7))*5+
                         (REGEXP_SUBSTR(num,'[0-9]',1,8))*4
                        )/11) * 11 -
                   ((REGEXP_SUBSTR(num,'[0-9]',1,1))*5+
                    (REGEXP_SUBSTR(num,'[0-9]',1,2))*4+
                    (REGEXP_SUBSTR(num,'[0-9]',1,3))*3+
                    (REGEXP_SUBSTR(num,'[0-9]',1,4))*2+
                    (REGEXP_SUBSTR(num,'[0-9]',1,5))*7+
                    (REGEXP_SUBSTR(num,'[0-9]',1,6))*6+
                    (REGEXP_SUBSTR(num,'[0-9]',1,7))*5+
                    (REGEXP_SUBSTR(num,'[0-9]',1,8))*4),
                   10,'INVALID',
                   (REGEXP_SUBSTR(num,'[0-9]',1,9)),'VALID',
                   'INVALID'
                   ) FINAL_RESULT
    --INTO l_result
    FROM (SELECT
            REGEXP_SUBSTR(REPLACE(REGEXP_SUBSTR(:p_trn_value,'^(CHE-[0-9]{3}.[0-9]{3}.[0-9]{3}) (MWST|TVA|IVA)$'),'.',''),'[0-9]+') NUM
          FROM DUAL
         );

Sample value is CHE-456.456.791 MWST 

In words, the ninth digit should be equal to  upper round(digit1*5+digit2*4+digit3*3+digit4*2+digit5*7+digit6*6+digit7*5+digit8*4)/11*11-(digit1*5+digit2*4+digit3*3+digit4*2+digit5*7+digit6*6+digit7*5+digit8*4)

That's it. Nice logic right :). It will be different for different countries.

Wednesday, October 15, 2014

Oracle Fusion Applications

Hardware requirements



http://www.oratraining.com/blog/2013/09/fusion-applications-financials-virtual-machine-available-now/





Install steps below

http://www.oratraining.com/blog/2014/04/oracle-fusion-applications-installation-step-by-step-guide-11-1-8/