About Me

London, United Kingdom
My name is Muhammad Faizan Karim and my aim is to spread the knowledge to everyone who want to learn oracle HRMS. I will try to write the video blogs for beginners so they can understand e-business suits from HRMS perspective, and if you have any difficulty in oracle applications HRMS , please feel free to contact with me at this email : faizan.kareem.ocp@gmail.com
Powered by Blogger.
Tuesday, December 25, 2018
SELECT petf.element_type_id,
       petf.element_name,
       peg.event_group_name,
       prcu.retro_component_usage_id,
       pesu.retro_element_type_id,
       petf_retro.element_name retro_element_name
  FROM pay_element_types_f petf,
       pay_event_groups peg,
       pay_retro_component_usages prcu,
       pay_element_span_usages pesu,
       pay_element_types_f petf_retro
 WHERE     1=1
       AND petf.recalc_event_group_id = peg.event_group_id
       AND prcu.creator_id = petf.element_type_id
       AND pesu.retro_component_usage_id = prcu.retro_component_usage_id
       AND petf_retro.element_type_id = pesu.retro_element_type_id
Monday, April 3, 2017
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:

    1 begin
    2   jdr_utils.listCustomizations( '/oracle/apps/per/selfservice/absence/server/AbsenceTypeVO' ) ;
    3 end ;
    4 /
    5 
    6 

It will output the path of the customization, which is the one to remove.
    1/oracle/apps/per/selfservice/absence/server/customizations/site/0/AbsenceTypeVO
    2 

In order to delete the customization definition, use the following call, using the output from the previous command as a parameter.
    1 begin
    2   jdr_utils.DeleteDocument( '/oracle/apps/per/selfservice/absence/server/customizations/site/0/AbsenceTypeVO' ) ;
    3 end ;

    4 /
    5 Successfully deleted document /oracle/apps/per/selfservice/absence/server/customizations/site/0/AbsenceTypeVO.

Tuesday, January 17, 2017
Adding transaction details to FYI notifications after approval
In R11 Self Service applications, it was not possible to send transaction details in FYI notification after approval. There is a new feature in R12.1.3 which allows to configure specific notifications to contain transaction details. This will certainly help user community who were long waiting for this functionality (specifically for absence approvals through SSHR).

Steps to configure this functionality: 
1.    Log in using System Administrator responsibility
2.    Application > Function
3.    Add &pNtfFyiDetails=Y into form parameters to both functions: HR_LOA_SS and HR_LOA_MGR_SS
4.    Save

If this parameter is set to Y, then the FYI Notification page displays a Details region with the Proposed column and a Supporting Documents region.

Note: This feature is available from 12.1.3.


Referencehttps://oraebizblog.wordpress.com/2012/09/18/adding-transaction-details-to-fyi-notifications-after-approval/
Tuesday, December 6, 2016
Function to Get HRMS Table Balances

FUNCTION GET_BALANCE_VALUE (p_assignment_id    IN NUMBER,
                               p_balance_name     IN VARCHAR2,
                               p_dimension_name   IN VARCHAR2,
                               p_date             IN DATE)
      RETURN NUMBER
   IS
      v_bg_id            per_business_groups.business_group_id%TYPE;
      v_leg_code         per_business_groups.legislation_code%TYPE;
      v_defined_bal_id   pay_defined_balances.defined_balance_id%TYPE;
      v_bal_value        NUMBER;
   --
   BEGIN
      --
      SELECT paaf.business_group_id, pbg.legislation_code
        INTO v_bg_id, v_leg_code
        FROM apps.per_business_groups pbg, apps.per_all_assignments_f paaf
       WHERE     paaf.business_group_id = pbg.business_group_id
             AND paaf.assignment_id = p_assignment_id
             AND paaf.primary_flag = 'Y'
             AND paaf.assignment_type = 'E'
             AND TRUNC (p_date) BETWEEN paaf.effective_start_date
                                    AND  paaf.effective_end_date;

      --
      v_defined_bal_id :=
         get_defined_balance_id (v_bg_id,
                                 p_balance_name,
                                 p_dimension_name,
                                 v_leg_code);
      --
      v_bal_value :=
         get_balance_value_on_date (p_assignment_id,
                                    v_defined_bal_id,
                                    p_date);
      RETURN v_bal_value;
   --
   EXCEPTION
      WHEN OTHERS
      THEN
         RETURN 0;
   END GET_BALANCE_VALUE;
Sunday, April 3, 2016

Deployment Steps for OA Framework on R 12.2.x or R 12.2.4

Steps to deploy custom OA Framework page on R 12.2.4

1) Copy class files on server
2) Create ZIP file
3) Make Jar file from the ZIP file created before
4) Bounce the services

1) Copy class files on server
==================================
Copy files to custom folder path on server.

2) To Make .ZIP file
==================================
A) Create a temporary custom.zip file which contains all the custom application's directories/files at non-standard location. Please follow the following steps:

    1) cd $JAVA_TOP

    2) zip -r customprod.zip. Where the list of all directory paths are present, relative to $JAVA_TOP, for custom application's java files at non-standard location.

    Command: zip -r xxtest.zip xxtest

    3) Generate & sign customprod.jar file.

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

3) To Make .JAR file
==================================
example : adjava oracle.apps.ad.jri.adjmx -areas $JAVA_TOP/customprod.zip -outputFile $JAVA_TOP/customprod.jar -jar $CONTEXT_NAME 1 CUST jarsigner -storePass -keyPass

Command:     adjava oracle.apps.ad.jri.adjmx -areas $JAVA_TOP/xxtest.zip -outputFile $JAVA_TOP/xxtest.jar -jar $CONTEXT_NAME 1 CUST jarsigner 


4) Bounce the Apache and mid-tier service by using the following commands.
==================================
adapcctl.sh stop

adapcctl.sh start

admanagedsrvctl.sh stop oacore_server1

EnterWeblogic Password:

admanagedsrvctl.sh start oacore_server1

EnterWeblogic Password:

Thursday, August 20, 2015

How to use same data definition/template for multiple concurrent programs?


Scenario:
Consider for example that there are two different concurrent programs (because they have different set of parameters) and both wants to use the same data definition (xml file) and Template (RTF layout)
Problem:
Both concurrent programs need to use same data definition (the same data template xml file) and same RTF layout template. However when registering data definition in the E-Biz, the data definition code must match shortname of concurrent program, hence there is a need to create two data definitions (for the same data template xml file) .  Again, because the layout template is attached with data definition,  the Templates also needs  to duplicated
In summary:  Physically there is only one xml data template file and only one RTF file, however to meet the the above requirement we need to create duplicate Data Definitions and Template registrations attaching the same xml and rtf files in both.
The problem is maintenance. In future any change in the xml/rtf needs to be uploaded against all the definitons and problem becomes more severe if you have more number of concurrents sharing the single  xml/rtf files.
Solution
It is very simple;  we create only one CP with executable XDODTEXE and all other concurrent programs will use a PL/SQL procedure as executale (instead of XDODTEXE) and submit the first CP by passing necessary parameters.
  1. Create first concurrent program (for e.g. XXFIRSTCP)  with executable XDODTEXE
  2. Create Data definition XXFIRSTCP and attach the xml data template file
  3. Create Layout template XXFIRSTCP_RTF and attach the related RTF layout template file.  So far it is all normal that we do to create an XMLPublisher based report
  4. Create a custom package and procedure as a concurrent executable and it should submit XXFIRSTCP using  FND_REQUEST.SUBMIT_REQUEST and create executable in ebiz (for e.g. XXFIRSTCPEXE)
  5. Create all other concurrent programs (for e.g. XXSECONDCP, XXTHIRDCP …) that you need using executable created above (XXFIRSTCPEXE)
Now when you submit any of the concurrent program internally it will always use only one Data Definition / Template.

NOTE:  The user will have to check the output of internally submitted concurrent and not the one he/she submits.  To overcome this problem you can also copy the output to user submited concurrent