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.