Search This Blog

Wednesday, December 21, 2022

Oracle SQL Query for Customer Details

  SELECT DISTINCT hp.party_name           "CUSTOMER_NAME",

                      hca.account_number,

                      hca.status,

                      hca.cust_account_id     customer_id,

                      HOU.NAME                "OPERATING_UNIT"

        FROM apps.hz_parties            hp,

             apps.hz_party_sites        hps,

             apps.hz_locations          hl,

             apps.hz_cust_accounts      hca,

             apps.hz_cust_acct_sites_all hcas,

             apps.hz_cust_site_uses_all hcsu,

             --apps.hz_customer_profiles hcp,

             --apps.hz_cust_profile_classes hcpc,

             --apps.ar_payment_schedules_all ps,

             apps.hr_operating_units    hou

       WHERE     hp.party_id = hca.party_id(+)

             --AND hp.party_id             = hcp.party_id

             AND hp.party_id = hps.party_id

             AND hps.party_site_id = hcas.party_site_id

             AND hps.location_id = hl.location_id

             AND hca.cust_account_id = hcas.cust_account_id

             AND hcas.cust_acct_site_id = hcsu.cust_acct_site_id

             --AND hca.cust_account_id     = hcp.cust_account_id

             --AND hca.cust_account_id     = ps.customer_id

             --AND hcp.profile_class_id    = hcpc.profile_class_id

             --AND ps.customer_site_use_id =hcsu.site_use_id

             AND hcsu.org_id = hou.organization_id

             AND hcsu.ORG_ID = 2352

Oracle Apps R12 Assignment Mode Status Function

 


FUNCTION GET_MODE_ASSGINMENT_F(P_ASSIGNMENT_ID NUMBER, P_DATE DATE)

RETURN VARCHAR2 AS

   lb_correction                  BOOLEAN;

   lb_update                      BOOLEAN;

   lb_update_override             BOOLEAN;

   lb_update_change_insert        BOOLEAN;

   lc_dt_ud_mode varchar2(200); 

   L_ERROR varchar2(2000); 

   BEGIN

dt_api.find_dt_upd_modes

   (    p_effective_date                  => P_DATE,

        p_base_table_name            => 'PER_ALL_ASSIGNMENTS_F',

        p_base_key_column            => 'ASSIGNMENT_ID',

        p_base_key_value                => P_ASSIGNMENT_ID,

         -- Output data elements

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

         p_correction                   => lb_correction,

         p_update                       => lb_update,

         p_update_override              => lb_update_override,

         p_update_change_insert    => lb_update_change_insert  ); 

 

   IF ( lb_correction = TRUE )

   THEN lc_dt_ud_mode := 'CORRECTION';

   end if;

   IF ( lb_update = TRUE )

   THEN lc_dt_ud_mode := 'UPDATE';

   END IF; 

   IF ( lb_update_override = TRUE  )

   THEN lc_dt_ud_mode := 'UPDATE_OVERRIDE';

   end if;

   IF (lb_update_change_insert = TRUE)

   THEN lc_dt_ud_mode := 'UPDATE_CHANGE_INSERT';

   end if;

  

   RETURN lc_dt_ud_mode;

   EXCEPTION WHEN OTHERS THEN 

   L_ERROR := SQLERRM;

END;


Oracle Apps R12 Object Version Number Function

 FUNCTION GET_OVN_F (P_ASSIGNMENT_ID NUMBER, P_DATE DATE) RETURN NUMBER IS

L_RETURN NUMBER;

BEGIN

SELECT OBJECT_VERSION_NUMBER 

INTO L_RETURN

FROM PER_ALL_ASSIGNMENTS_F PAAF

WHERE ASSIGNMENT_ID = P_ASSIGNMENT_ID

AND P_DATE BETWEEN EFFECTIVE_START_DATE AND EFFECTIVE_END_DATE

AND PRIMARY_FLAG = 'Y'

;

RETURN L_RETURN;

EXCEPTION WHEN OTHERS THEN RETURN 0;

END;


Use as Below in any package:

ln_object_number := 0;

  ln_object_number :=GET_OVN_F(:ASSIGNMENT_ID,:RES_DATE);



Oracle Apps R12 for Create Element Entry api

 PROCEDURE FUJ_CRT_ELEMENT_ENTRY

(

L_ASSIGNMENT_ID NUMBER,

L_PAYROLL_ID NUMBER,

L_EFF_DATE DATE,

L_AMOUNT NUMBER,

L_ELEMENT_NAME VARCHAR2,

L_INPUT_NAME  VARCHAR2

) AS

--L_ASSIGNMENT_ID NUMBER := 45570;

--L_PAYROLL_ID NUMBER := 60;

--L_ELEMENT_NAME VARCHAR2(200) := 'XX123 Allowance';

--L_INPUT_NAME  VARCHAR2(200) := 'Override Amount';

--L_EFF_DATE DATE := TO_DATE('20-DEC-2022');

--L_AMOUNT NUMBER := 200;

--local variables

l_input_value_id NUMBER;

l_link_id NUMBER;

 l_effective_end_date      DATE := NULL;

 l_effective_start_date    DATE := NULL;

   l_object_version_number   NUMBER := NULL;

   l_element_entry_id        NUMBER := NULL;

   l_create_warning          BOOLEAN;

 lc_dt_ud_mode           VARCHAR2(100)    := NULL;

 L_OVN  NUMBER;

 L_ELEMENT_EXISTS VARCHAR2(200);

 V_ERROR_MSG varchar2(2000);

begin

          

                   SELECT XXI.input_value_id, element_link_id,

                             INTO l_input_value_id, l_link_id

                                 FROM 

                                PAY_INPUT_VALUES_F XXI, 

                                PAY_ELEMENT_TYPES_F XXT,

                                PAY_ELEMENT_LINKS_F XXL

                                WHERE XXT.ELEMENT_TYPE_ID = XXI.ELEMENT_TYPE_ID

                                AND XXT.ELEMENT_TYPE_ID = XXL.ELEMENT_TYPE_ID

                                AND XXL.PAYROLL_ID = L_PAYROLL_ID

                                AND XXT.ELEMENT_NAME = L_ELEMENT_NAME--in ('XX123 Allowance')

                                and XXI.NAME = L_INPUT_NAME

                                AND ROWNUM =1

                                ;

                               

                                                                     

                         pay_element_entry_api.create_element_entry (

                            p_validate                => FALSE,

                            p_effective_date          => L_EFF_DATE,

                            p_business_group_id       => 81, 

                            p_assignment_id           => L_ASSIGNMENT_ID,

                            p_element_link_id         => l_link_id,

                            p_entry_type              => 'E',

                            p_input_value_id1                 => l_input_value_id

                            ,p_entry_value1                  => L_AMOUNT,

                            p_effective_start_date    => l_effective_start_date,

                            p_effective_end_date      => l_effective_end_date,

                            p_element_entry_id        => l_element_entry_id,

                            p_object_version_number   => l_object_version_number,

                            p_create_warning          => l_create_warning

                         );

                          commit;

 

 EXCEPTION WHEN OTHERS THEN

                         DBMS_OUTPUT.PUT_LINE(SQLERRM);

                         V_ERROR_MSG := sqlerrm;

                         

END;


Tuesday, December 6, 2022

Apps R12 Delete Absence API

 DECLARE

   CURSOR get_absence

   IS

      SELECT absence_attendance_id, object_version_number

        FROM per_absence_attendances

       WHERE PERSON_ID IN (SELECT PERSON_ID FROM PER_ALL_ASSIGNMENTS_F WHERE PAYROLL_ID =1002);

BEGIN

   FOR fetch_absence IN get_absence

   LOOP

      BEGIN

         hr_person_absence_api.

          delete_person_absence (

            p_validate                => FALSE,

            p_absence_attendance_id   => fetch_absence.absence_attendance_id,

            p_object_version_number   => fetch_absence.object_version_number);

         COMMIT;

         DBMS_OUTPUT.

          put_line (

            fetch_absence.absence_attendance_id

            || ' has been deleted Successfully !!!');

      EXCEPTION

         WHEN OTHERS

         THEN

            DBMS_OUTPUT.

             put_line (

                  'Inner Exception: '

               || fetch_absence.absence_attendance_id

               || ' - - '

               || SQLERRM);

      END;

   END LOOP;

EXCEPTION

   WHEN OTHERS

   THEN

      DBMS_OUTPUT.put_line ('Main Exception: ' || SQLERRM);

end;

Apps R12 HR Delete SIT API

 DECLARE

   CURSOR c1

   IS

     

 SELECT paa.person_analysis_id, paa.object_version_number,PER.EMPLOYEE_NUMBER

        FROM per_person_analyses paa,

             per_analysis_criteria pac,

             fnd_id_flex_structures_vl fifv,

             per_all_people_f per

       WHERE     paa.analysis_criteria_id = pac.analysis_criteria_id

             AND fifv.id_flex_num = paa.id_flex_num

             AND UPPER (fifv.id_flex_structure_code) = UPPER('XX_Leave_Details')

             AND fifv.id_flex_code = 'PEA'

             AND paa.date_from BETWEEN per.effective_start_date

                                   AND per.effective_end_date

             AND paa.person_id = per.person_id

             AND PER.PERSON_ID IN (SELECT PERSON_ID FROM PER_ALL_ASSIGNMENTS_F WHERE PAYROLL_ID =1002)

             ORDER BY 3 DESC

             ;

BEGIN

   FOR i IN c1

   LOOP

      BEGIN

         hr_sit_api.

          delete_sit (

            p_validate                    => FALSE,

            p_person_analysis_id          => i.person_analysis_id,

            p_pea_object_version_number   => i.object_version_number);


         COMMIT;

         DBMS_OUTPUT.

          put_line (

            i.person_analysis_id || ' has been deleted successfully !!!');

      EXCEPTION

         WHEN OTHERS

         THEN

            DBMS_OUTPUT.

             put_line (

               'Failure: ' || i.person_analysis_id || ' - ' || SQLERRM);

      END;

   END LOOP;

EXCEPTION

   WHEN OTHERS

   THEN

      DBMS_OUTPUT.put_line ('Main Exception:  ' || SQLERRM);


END;

Monday, November 21, 2022

Oracle Apps R12 Create AR Invoice to exclude TAX engine

API:  AR_INVOICE_API_PUB.CREATE_SINGLE_INVOICE

Important Line: l_trx_lines_tbl(1).taxable_flag := 'N';


How To Create An Invoice With Manual Tax Lines Using Invoice API 

(Doc ID 821259.1)