Wednesday, November 29, 2017

Call Stored Procedure From Forms Personalization

To call a pl/sql API from forms personalization, do this

1. Personalize the form
2. Create an action of type "BuiltIn"
3. BuiltIn Type for Action should be "Execute a Procedure"

4. Argument should be as below 


='declare
   v_param_value VARCHAR2(200) ;
   begin
       test_pakage.yourprocedure;
  end'
Note: don't put semicolon after end.
You can pass field values as 
'''||${item.BLOCKNAME.FIELDNAME.value}||'''

Hope this helpful

Monday, November 27, 2017

How to get ledger name in Oracle APPS R12


Hello,
 Oracle you can get ledger name by using below query: 


select mo_utils.Get_Ledger_Name(P_ORG_ID) from dual ;

Using ORG ID from profile value:

select mo_utils.Get_Ledger_Name( fnd_profile.value('ORG_ID')) from dual;

Using the above query in concurrent programs parameters default value for sql statement.

Thank you, 


Update OPP Java Memory XML Report Publisher Fails With java.lang.OutOfMemoryError



XML Report Publisher Fails With java.lang.OutOfMemoryError
In order to Update Oracle EBS R12 OPP (Output Post Processor) Memory usage you need to run the below update statement :
- To find the current parameter value use the below SELECT statement:
SELECT service_id, service_handle, developer_parameters  FROM fnd_cp_services WHERE service_id = (SELECT manager_type                     FROM FND_CONCURRENT_QUEUES                     where concurrent_queue_name = 'FNDCPOPP');

Output: J:oracle.apps.fnd.cp.gsf.GSMServiceController:-Xmx512M

to update the OPP to use 2G RAM using the below UPDATE statement:

J:oracle.apps.fnd.cp.gsf.GSMServiceController:-Xmx2048M
update fnd_cp_servicesset developer_parameters ='J:oracle.apps.fnd.cp.gsf.GSMServiceController:-Xmx2048M'where service_id = (select manager_type from fnd_concurrent_queues                    where concurrent_queue_name = 'FNDCPOPP');


*) Increase the values for these profiles for at least 2 hours each (7200):
Concurrent:OPP Process Timeout
Concurrent:OPP Response Timeout


*) Restart the concurrent managers
Best Regards,

Thursday, November 23, 2017

Visual studio installer failed to download

Hello,
When trying to install Visual studio 2017 (community,enterprise,..etc) some users get this error :


solution:

  1. Install the certificates (They are in the "certificates" folder, which is in your Layout folder. )
  2. Simply right-click on setup EXE such as vs_Enterprise.exe ---> Properties
  3. Specify Local machine (not current user) when install certificate wizard asking.
  4. You can use an empty password
  5. Run the installation file. For example, run: vs_enterprise.exe
Note: Remember to install the certs using the Admin account on the PC, or it won't work...

Hope this helps you,

Thanks,,

Sunday, November 19, 2017

Create Appsutil and sub directories for DB Tier

Re-Create Appsutil and sub directories for DB Tier


Problem

Appsutil directory or sub directories of appsutil are missing



Solution


Re-create the Appsutil  directory


Steps


 On the Application Tier (From Application binary owner)


1. Source the environment variables for Oracle Applications
. $APPL_TOP/APPS.env
2. Run AutoConfig on the APPL_TOP
. $ADMIN_SCRIPT_HOME/adautocfg.sh
3. Execute admkappsutil.pl utility to create the file appsutil.zip
perl $AD_TOP/bin/admkappsutil.pl
This will create appsutil.zip in $INST_TOP/admin/out

     

 On the Database Tier (From DB binary owner)

1. Source the environment variables for RDBMS ORACLE_HOME

. /$ORACLE_HOME/.env
2. Copy the created appsutil.zip file from $INST_TOP/admin/out to the <RDBMS ORACLE_HOME>

3. Uncompress appsutil.zip under the <RDBMS ORACLE_HOME>

cd $ORACLE_HOME
unzip -o appsutil.zip
4. Create Contextfile
cd $ORACLE_HOME/appsutil/bin
perl adbldxml.pl appsuser=apps
5. Create Script directory
cd $ORACLE_HOME/appsutil/bin
sh adconfig.sh contextfile=<contextfile path>
6. Run AutoConfig on the <RDBMS ORACLE_HOME>
sh $ORACLE_HOME/appsutil/scripts/<context_name>/adautocfg.sh

References :

Using AutoConfig to Manage System Configurations in Oracle E-Business Suite Release 12 (Doc ID 387859.1)


Cloning Oracle Applications Release 12 with Rapid Clone (Doc ID 406982.1)

Oracle Apex Custom Authentication scheme

Default authentication of APEX:

When Create new APEX application you can logon your application with username and password created by APEX_ADMIN

In this post i show you how you can logon your application using your custom authentication function.

Custom Authentication function for APEX:

STEP1:

Create your function to check username and password depends on your local table in our case 
COM_USERS as the following:



FUNCTION authenticate_user(p_username IN VARCHAR2
                      ,p_password IN VARCHAR2)
 RETURN BOOLEAN
 IS
 BEGIN
   RETURN TRUE;
 END authenticate_user;


FUNCTION authenticate_user(p_username IN VARCHAR2
                                        ,p_password IN VARCHAR2) RETURN BOOLEAN IS
   isValid       NUMBER;
   l_return BOOLEAN;
 BEGIN
   BEGIN
     SELECT 1
       INTO isValid
       FROM com_users
      WHERE 1 = 1
        AND upper(user_name) = upper(p_username)
        AND upper(user_password) = upper(p_password );
   EXCEPTION
     WHEN no_data_found
          OR too_many_rows THEN
       isValid:= 0;
     WHEN OTHERS THEN
       isValid:= 0;
   END;
   l_return := isValid = 1;
   RETURN l_return ;
 END;
STEP 2:

Now all you have to do is tell your application that it needs to reference the custom authentication.
To create custom authentication scheme you go to the Shared components –> Authentication Schemes and create your own authentication scheme and its by default set as current authentication scheme as the following: 





Hope this helps. 
Thank you,

Thursday, November 16, 2017

Setting Oracle Apex hotkeys buttons Shortcuts

How to set Shortcuts hotkeys for buttons in Oracle Apex


I will show you how to implement hotkey for Buttons in Oracle Apex: 

1- Create button and give Static Id to that button. For Example:

 2- Select  Edit Page and in JavaScript Execute when Page Loads properties
 write following JavaScript code:

              document.getElementById("back").accessKey = "b";



3- Now you are done test your page.

Hope this helps.
Thanks,

:)

Tuesday, November 14, 2017

Oracle APEX – XDB Authentication Popup dialog on 12cR2 multitenant



XDB username and password required


When installing Apex on 12cR2 multitenant this popup appears: 


This Popup appears when user : ANONYMOUS status is LOCKED or EXPIRED .

Solution: 
Connect as sysdba to CDB$root then alter user account status: 

SQL> select account_status from dba_users where username='ANONYMOUS';

ACCOUNT_STATUS
--------------------------------
EXPIRED & LOCKED

SQL> alter user ANONYMOUS ACCOUNT UNLOCK;

SQL> select account_status from dba_users where username='ANONYMOUS';

ACCOUNT_STATUS
--------------------------------
EXPIRED

SQL> alter user ANONYMOUS identified by ANONYMOUS  ACCOUNT UNLOCK;

  user Altered..

SQL> select account_status from dba_users where username='ANONYMOUS';

ACCOUNT_STATUS
--------------------------------
OPEN


Hope this help.. 

if you still having troubles then alter the following user

ALTER USER APEX_PUBLIC_USER IDENTIFIED BY APEX_PUBLIC_USER ACCOUNT UNLOCK;

Thank you.


   

Tuesday, May 30, 2017

Resolve ORA-02085: database link connects to by

Resolve  ORA-02085: database link 

Error:  ORA-02085: database link <name> connects to by<> 

Cause: When parameter global_name set to TRUE you cannot create database link name different from database service name.

Solution : 
 Quick fix by: alter system set global_name=FALSE;

Thanks


Thursday, April 20, 2017

Removing OA Framework Extended VO substitutions

it is possible to substitute a VO definition.

however, are not shown on the personalization catalog available under the System Administration responsibility and thus are not easily disabled in case something is wrong with them.

In order to remove the substitution definition, you have to identify the customization path and then use the jdr API to remove it.

In order to identify the customization, use the following call:
BEGIN
    jdr_utils.listdocuments ('/oracle/apps/ar/cusstd/srch/webui/ArPrtySrchPG', TRUE);
END;
/
It will output the path of the customization, which is the one to remove.
/oracle/apps/ce/bankaccount/server/customizations/site/0/AccountSimpleVO
In order to delete the customization definition, use the following call, using the output from the previous command as a parameter.
execute jdr_utils.deletedocument('/oracle/apps/ar/hz/.....full path');

You will get the following message if everything is ok, otherwise you could get an error if document is not found in case you did not properly copy the path or if you execute the command a second time.
Successfully deleted document 
/oracle/apps/ar/hz/components/v2search/server/customizations/site/0/

Now, be careful not to pass the base document path to the delete call.

Oracle EBS R12.2.6 EXTENDING VIEW OBJECT IN OAF FRAMEWORK

EXTENDING VIEW OBJECT IN OAF  FRAMEWORK

View Objects are quires that bring data seen in EBS web pages, a lot of attributes offered by oracle in each view object, but sometimes you need to show additional attributes. In this case oracle let developer to show these attribute by extending View Objects.  The following are steps used to extend View Objects:
Before Starting you should set the following profile options on user level:
Profile NameProfile Value
FND: DiagnosticsYes
Personalize Self-Service DefnYes
FND: Personalization Region Link EnabledYes
Disable Self-Service PersonalNo

Step 1:

  1. Navigate to the page you want to extend the View Object.
  2. Focus on the region you want to extend.
  3. Click on about this page and get VO name and path associated to this region.

Step 2:

Let consider that we want to add voucher number to the notification arrived to the approver.
region_of_extended_view_object
We want to add voucher number in invoice approval notification page, by adding new column to the region view object.
Note down the below details:
VO Name: NotifPGAcctSumVO
VO Pathoracle.apps.ap.invoice.request.negotiation.server.NotifPGAcctSumVO(View Object path can be found in Business components section in about page)

Step 3:

  1. Get NotifPGAcctSumVO.class and NotifPGAcctSumVOIMPL.class from server ($JAVA_TOP) download them under the same path in jdeveloper(in our example: oracle/apps/ap/invoice/request/negotiation/server/).
  2. Build the same directory under VOExtension file in jdeveloper(in our example: jdeveloper\jdevhome\jdev\myprojects\VOExtension\oracle\apps\ap\invoice\request\negotiation\server)
  3. Convert NotifPGAcctSumVOIMPL.class to java file.
  4. Build new view object under (VOExtension \oracle\apps\ap\invoice\request\negotiation\server), extend the original View Object that is already downloaded from server.
create_new_vo
5. Add the modified query of the original view object to the newly created view object.
Note: Make sure to use different binding names for bind variable to get ride JBO-27122: sql error
vo_query
6. Substitute the original View Object with the newly created View Object.
project_properties.png
Substitute_VO.png

Step 4:

Move the newly created folder:
From: D:\jdeveloper\jdevhome\jdev\myclasses\
TO: $JAVA_TOP

Step 5:

Use java import utility so that substitution take effect by using the following command:
jpximport.bat D:\jdeveloper\jdevhome\jdev\myprojects\VOExtension.jpx -username user -password pss –dbconnection “(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host)(PORT=port))(CONNECT_DATA=(SID=sid)))”

Step 6:

Bounce the Apache Web Server using the following commands:
admanagedsrvctl.sh stop oacore_server1
admanagedsrvctl.sh start oacore_server1

Step 7:

Go to the front end go to the page which you want to extend.
Click on about this page. Expand all in business components check whether the extended VO is reflecting or not.

Step 8:

  1. Add a new item of column type for the newly added filed.
  2. Add a new item for displaying the information. Provide the required information.
  3. Create one item for column header.
  4. Apply then back to application to make sure that the column has been added.
Reference: https://jehadmzahimblog.wordpress.com/

Tuesday, March 21, 2017

Oracle WEBADI,Paste Does Not Work After Copy Cells from Excel.

Oracle WEBADI, Paste Does Not Work After Copy Cells from Excel.

Paste Does Not Work After Copy Cells from Excel (Doc ID 2226263.1)

Applied to : Oracle Web Applications Desktop Integrator - Version 12.2.5 and later
Apply Patch :  patch: 24575212:R12.BNE.C 


After Apply Patch its works normally as the following screen shot:


Wednesday, January 4, 2017

AD-TXK Delta 7 New Feature

adcfgclone.pl appsTier dualfs

Cloning Dualfs the new feature introduced in the latest AD-TXK Delta 7. This feature created both fs1 and fs2 base just by specifying location as seen below.

appltest>$ perl adcfgclone.pl appsTier dualfs

                     Copyright (c) 2002, 2015 Oracle Corporation
                        Redwood Shores, California, USA

                        Oracle E-Business Suite Rapid Clone

                                 Version 12.2

                      adcfgclone Version 120.63.12020000.56

Enter the APPS password :

Enter the Weblogic AdminServer password :

Do you want to add a node (yes/no) [no] :

Target System Current File System Base set to /oracle/TEST/fs1

Target System Other File System Base set to /oracle/TEST/fs2
... 
continue the cloning procedure as usual ......


Thank you .
I hope that is helpful for you .