Loading...

Follow Oraask on Feedspot

Continue with Google
Continue with Facebook
or

Valid

Introductions:

RICE , RICEW and FRICE Components in oracle apps. Many times, we saw and heard many terminologies especially in job requirements. Today we are going to clarify and simplify these terms.

RICE:

This term is shortcuts of (Reports, Interfaces, Conversions and Enhancements / Extensions).

When we are going to implement oracle ERP for X Company most of the time there will be a functional requirements are special to that company and not currently supported within the core ERP functionality. Oracle giving us the ability to develop and customize the ERP as per our need if the core functionality not covering our business and thus require additional technical development to achieve additional functional requirement.

We can take each letter of the shortcut (RICE) and explain it by simplest way like below:

Reports:

Oracle apps technical consultants should be able to develop or create business reports, which is not available in oracle apps module.

Interfaces:

Is ongoing process and there are two types:

  • Inbound interface :
    Is the process of transferring the data from legacy system (E.g. Excel Sheet) into oracle apps base tables.
  • Outbound interface :
    Is the process of transferring the data from oracle apps base tables to other legacy systems (E.g: SAP, PeopleSoft etc.).
Conversions :

Is opposite to Interface, which is a onetime process that Oracle apps technical consultant write the code using sql loader to load the data from legacy system into oracle apps base tables.

Extensions / Enhancement:

Is the way that we can customize or enhance the functionality of any standard form thus can be achieved through different ways oracle provide us with like (form developer, personalization, custom libraries etc.).

RICEW:

This term is shortcuts of (Reports, Interfaces, Conversions, Enhancements / Extensions and Workflows).Its same like above term except additional term, which is:

  • Workflows: It is a technology enables modeling, automation and continuous improvement of business process.
FRICE:

This term is shortcuts of (Forms, Reports, Interfaces, Conversions and Enhancements / Extensions).
Its same like above term except additional term, which is:

  • Forms : By this we can develop new forms or applications and embedding it into oracle apps to integrate with different oracle applications available in Oracle ERP.


Hope this helpful.
If you found it simple and easy to understand, we would love to provide you and your friends a simple solution for your problems.
Thanks.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

From the question what are RICE components refer to in oracle APPS ?

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 
Oraask by Ahmed_shmes - 1w ago
Introduction:

Today we’re going to explain how to Create absence api in oracle hrms .
Absence it is an activity for the employee in which HRs are responsible for managing it.

Absence it is an activity for the employee in which HRs are responsible for managing it.

Goal:

create absence for a person using “hr_person_absence_api.create_person_absence” API

Forms Or Pages: Example: Create absence api in oracle hrms

API IN/OUT Parameters :

  • IN p_validate BOOLEAN— IN p_effective_date DATE
  • IN p_person_id NUMBER
  • IN p_business_group_id NUMBER
  • IN p_absence_attendance_type_id NUMBER
  • IN p_date_start DATE
  • IN p_date_end DATE
  • IN OUT p_absence_days NUMBER
  • OUT p_absence_attendance_id NUMBER
  • OUT p_object_version_number NUMBER
  • OUT p_occurrence NUMBER
  • OUT p_dur_dys_less_warning BOOLEAN
  • OUT p_dur_hrs_less_warning BOOLEAN
  • OUT p_exceeds_pto_entit_warning BOOLEAN
  • OUT p_exceeds_run_total_warning BOOLEAN
  • OUT p_abs_overlap_warning BOOLEAN
  • OUT p_abs_day_after_warning BOOLEAN
  • OUT p_dur_overwritten_warning BOOLEAN
API Parameters clarifications:
  • @param p_validate If true, then validation alone will be performed and the database will remain unchanged. If false and all validation checks pass, then the database will be modified.
  • @param p_effective_date Reference date for validating lookup values are applicable during the start to end active date range. This date does not determine when the changes take effect.
  • @param p_person_id Uniquely identifies the person for whom you create the absence.
  • @param p_business_group_id The business group under which you record the absence. This is usually the same business group that the person belongs to.
  • @param p_absence_attendance_type_id Uniquely identifies the type of absence.
  • @param p_date_start The actual start date of the absence.
  • @param p_date_end The actual end date of the absence.
  • @param p_absence_days The duration of the absence in days. This can only be set when the absence type is associated with an hours-based absence element, or when the absence type has no associated element.
  • @param p_absence_attendance_id If p_validate is false, then this uniquely identifies the absence record created. If p_validate is true, then this is set to null.
  • @param p_object_version_number If p_validate is false, then set to the version number of the created absence record. If p_validate is true, then the value will be null.
  • @param p_occurrence A numerical sequence that denotes the number of absences this person has taken for this type of absence.
  • @param p_dur_dys_less_warning If set to true, this serves as a warning that the specified absence duration in days is different from what the system has calculated. The application uses the BG_ABSENCE_DURATION Fast Formula for this calculation if it exists.
  • @param p_dur_hrs_less_warning If set to true, this serves as a warning that the specified absence duration in hours is different from what the system has calculated. The application uses the BG_ABSENCE_DURATION Fast Formula for this calculation if it exists.
  • @param p_exceeds_pto_entit_warning If set to true, this serves as a warning that the net entitlement of at least one of this person’s accrual plans will be below zero when you apply this absence.
  • @param p_exceeds_run_total_warning If set to true, this serves as a warning that the absence’s type is using a decreasing balance and that the running total will be below zero when you apply this absence.
  • @param p_abs_overlap_warning If set to true, this serves as a warning that this absence overlaps an existing absence for this person.
  • @param p_abs_day_after_warning If set to true, this serves as a warning that this absence starts the day after an existing sickness absence. A sickness absence in this case is one that has an absence category starting with ‘S’.
  • @param p_dur_overwritten_warning If set to true, this serves as a warning that the HR: Absence Duration Auto Overwrite profile option is set to ‘Yes’ and that the the system-calculated duration has automatically overwritten the absence duration.
API Calling example:
DECLARE
  v_validate                     BOOLEAN := FALSE;
  v_effective_date               DATE := trunc (sysdate);
  v_person_id                    NUMBER := 7974;
  v_business_group_id            NUMBER := 202;
  v_absence_attendance_type_id   NUMBER := 5; -- Personal Time
  v_date_start                   DATE := to_date ('01-May-2019', 'dd-mon-yyyy');
  v_date_end                     DATE := to_date ('08-May-2019', 'dd-mon-yyyy');
  io_absence_days                NUMBER := 7;
  io_absence_hours               NUMBER := NULL;
  o_absence_attendance_id        NUMBER;
  o_object_version_number        NUMBER;
  o_occurrence                   NUMBER;
  o_dur_dys_less_warning         BOOLEAN;
  o_dur_hrs_less_warning         BOOLEAN;
  o_exceeds_pto_entit_warning    BOOLEAN;
  o_exceeds_run_total_warning    BOOLEAN;
  o_abs_overlap_warning          BOOLEAN;
  o_abs_day_after_warning        BOOLEAN;
  o_dur_overwritten_warning      BOOLEAN;
  v_error_msg                    VARCHAR2 (3000);
BEGIN
  hr_person_absence_api.create_person_absence (p_validate                     => v_validate
                                              ,p_effective_date               => v_effective_date
                                              ,p_person_id                    => v_person_id
                                              ,p_business_group_id            => v_business_group_id
                                              ,p_absence_attendance_type_id   => v_absence_attendance_type_id
                                              ,p_date_start                   => v_date_start
                                              ,p_date_end                     => v_date_end
                                              ,p_absence_days                 => io_absence_days
                                              ,p_absence_hours                => io_absence_hours
                                              ,p_absence_attendance_id        => o_absence_attendance_id
                                              ,p_object_version_number        => o_object_version_number
                                              ,p_occurrence                   => o_occurrence
                                              ,p_dur_dys_less_warning         => o_dur_dys_less_warning
                                              ,p_dur_hrs_less_warning         => o_dur_hrs_less_warning
                                              ,p_exceeds_pto_entit_warning    => o_exceeds_pto_entit_warning
                                              ,p_exceeds_run_total_warning    => o_exceeds_run_total_warning
                                              ,p_abs_overlap_warning          => o_abs_overlap_warning
                                              ,p_abs_day_after_warning        => o_abs_day_after_warning
                                              ,p_dur_overwritten_warning      => o_dur_overwritten_warning);

  IF (o_absence_attendance_id IS NOT NULL) THEN
  
    COMMIT;
    
    dbms_output.put_line ('***************************');
    dbms_output.put_line ('Output information ....');
    dbms_output.put_line ('Absence has been created Successfully....');
    dbms_output.put_line ('v_person_id: ' || v_person_id);
    dbms_output.put_line ('o_absence_attendance_id: ' || o_absence_attendance_id);
    dbms_output.put_line ('v_date_start: ' || v_date_start);
    dbms_output.put_line ('v_date_end: ' || v_date_end);
    dbms_output.put_line ('***************************');
  END IF;
EXCEPTION
  WHEN OTHERS THEN
    dbms_output.put_line ('***************************');
    dbms_output.put_line ('Error informations ....');

    v_error_msg   := sqlerrm;
    
    dbms_output.put_line ('Absence creation corrupted for person_id: ' || v_person_id);
    dbms_output.put_line ('The Error Returned from API is : ' || v_error_msg);
    dbms_output.put_line ('***************************');
    
END;
Final Result:

Hope this helpful.
If you found it simple and easy to understand, we would love to provide you and your friends a simple solution for your problems.
Thanks.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 
Introduction:

A responsibility is a level of authority in Oracle Applications that lets users access only those Oracle Applications functions and data appropriate to their roles in an organization.

Oracle
for more information click here
Goal:

Add a List of Responsibilities to a user using “fnd_user_pkg.AddResp” API

Forms Or Pages: Example:

Add responsibility to user in oracle apps from backend Using API

For how to create user using API click here

API IN/OUT Parameters :
  • IN username        VARCHAR2.
  • IN resp_app          VARCHAR2.
  • IN resp_key               VARCHAR2.
  • IN security_group     VARCHAR2.
  • IN description             VARCHAR2.
  • IN start_date               DATE.
  • IN end_date                DATE.
API Parameters clarifications:
  • @param username User Name from table “fnd_user” .
  • @param resp_app Application Short Name from table “fnd_application”.
  • @param resp_key Responsibility Key from table “fnd_responsibility”.
  • @param security_group Security Group Key from table “fnd_security_groups”.
API Calling example: — Create Custom table to hold our responsibilities informations
CREATE TABLE xx_responsibility_info
(
  seq                  NUMBER (5)
 ,user_name            VARCHAR2 (200)
 ,app_short_name       VARCHAR2 (200)
 ,responsibility_key   VARCHAR2 (200)
 ,security_group_key   VARCHAR2 (200)
 ,description          VARCHAR2 (200)
 ,start_date           DATE
 ,end_date             DATE
 ,status               VARCHAR2 (10)
 ,error_msg            VARCHAR2 (600)
);

INSERT INTO xx_responsibility_info (seq
                                   ,user_name
                                   ,app_short_name
                                   ,responsibility_key
                                   ,security_group_key
                                   ,start_date)
VALUES (1
       ,'AHMED_SHMES'
       ,'FND'
       ,'APPLICATION_DEVELOPER'
       ,'STANDARD'
       ,sysdate);

INSERT INTO xx_responsibility_info (seq
                                   ,user_name
                                   ,app_short_name
                                   ,responsibility_key
                                   ,security_group_key
                                   ,start_date)
VALUES (2
       ,'AHMED_SHMES'
       ,'SYSADMIN'
       ,'SYSTEM_ADMINISTRATOR'
       ,'STANDARD'
       ,sysdate);
— API Script
DECLARE
  v_error_msg   VARCHAR2 (500) := NULL;

  CURSOR xx_resp_info
  IS
    SELECT * FROM xx_responsibility_info;
BEGIN
  FOR resp_data IN xx_resp_info
  LOOP
    BEGIN
      fnd_user_pkg.addresp (username         => resp_data.user_name
                           ,resp_app         => resp_data.app_short_name
                           ,resp_key         => resp_data.responsibility_key
                           ,security_group   => resp_data.security_group_key
                           ,description      => resp_data.description
                           ,start_date       => resp_data.start_date
                           ,end_date         => resp_data.end_date);

      dbms_output.put_line ('***************************');
      dbms_output.put_line ('Output information ....');
      dbms_output.put_line ('Responsibility has been added to user Successfully....');
      dbms_output.put_line ('user_name: ' || resp_data.user_name);
      dbms_output.put_line ('responsibility_key: ' || resp_data.responsibility_key);
      dbms_output.put_line ('update custom table with Done status');

      COMMIT;

      --To ensure that the data inserted successfully
      BEGIN
        UPDATE xx_responsibility_info
        SET    status = 'Done', error_msg = NULL
        WHERE  seq = resp_data.seq;
      EXCEPTION
        WHEN OTHERS THEN
          NULL;
      END;

      dbms_output.put_line ('***************************');
    -- To handle unexpected errors and unsuccessful data insertion
    EXCEPTION
      WHEN OTHERS THEN
        dbms_output.put_line ('***************************');
        dbms_output.put_line ('Error informations ....');

        v_error_msg   := sqlerrm;

        dbms_output.put_line ('The Error Returned from API is : ' || v_error_msg);
        dbms_output.put_line ('Update custom table with error for current row ');

        UPDATE xx_responsibility_info
        SET    error_msg = v_error_msg, status = 'Error'
        WHERE  seq = resp_data.seq;

        COMMIT;

        --
        dbms_output.put_line ('***************************');
    END;
  END LOOP;
END;
Final Result:

Hope this helpful.
If you found it simple and easy to understand, we would love to provide you and your friends a simple solution for your problems.
Thanks.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Types of costing in oracle cost management Simple & clear explanation.

Types of costing: Standard Costing:

In this type of costing the cost of all the items and resources are defined in the system ASA they are created and / or imported prior to performing any transaction.
The standard cost is revised – generally – at the beginning of the year based on the values collected in the variance account.

  • If any organization is adopting “Standard” Costing method, then the system defined cost would be “Frozen” and the user defined cost would be “Pending”
  • The pending cost can be updated online here as the frozen cost will have to updated based on the updated pending cost.
Average Costing
  • In this type of costing the cost of all the resources (labor, etc ) are defined in the system whereas the item cost is derived from the purchasing and / or inter –org receipts
  • Every time there is a receipt performed, the cost changes based on the average value. The system averages out automatically.
  • The average costing method provides a real time cost of the transactions and the items.
  • This is mostly preferred In the case of manufacturing industry since the end product is coasted with almost all real costs computed .since this system provides a real time cost. the system does not maintain any variance account
  • If any organization is adopting “Average” costing method then the system defined cost would be “Average” and the user defined cost would be “Avg. Rate.
  • The avg rate cost can be updated online whereas the average cost will have to updated based on then updated Avg Rate cost.
FIFO and LIFO costing
  • In the case of FIFO and LIFO the system maintains costs in different layers – a and when fresh lots and received
  • The layers are even maintained on the shop floor when the items are issued for manufacturing. however please noe that this is maintained by the system but In actual practice , it is possible that there could be a mix up of lots which physically issuing.

You can refer for more details about cost types from Oracle Cost Management User’s Guide : Here

How to define costing types ? see below the steps:

Navigation:

Inventory Responsibility ==> Setup ==> Costs ==> Cost Types

Concept of costing and its impact in oracle EBS

  • Cost is an amount that is incurred at the time of procuring any item or during manufacture of any item.
  • Cost and price are two different entities and should never be mixed.
  • For ‘Purchased’ items the cost is the total amount spent in acquiring the item. This would include the purchase order price plus the taxes that are applicable plus the freight and insurance.
  • For “Manufacture” items , the cost would be that total of all the item costs plus the manufacturing cost (which would include the cost of labor, rent for the place , electricity , fuel , etc )
  • An “item cost” comprises of several Cost elements.
  • Material Cost
  • Material overhead cost
  • Resource cost
  • Outside processing
  • Overhead

How to assign cost to an item? See below steps:

Navigation :

  1. Inventory Responsibility ==> Costs ==> Item Cost
  2. Click New
  3. Insert an Item
  4. Choose The Cost Type
  5. Click Cost Button
  6. Enter Cost Element & Sub Element
  7. Enter Rate OR Amount
  8. Click Save.

Hope this helpful.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

How do i remove files from linux using command ?

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Hello guys i want linux command to list all users and groups.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 
Introduction:

Enterprise asset management (EAM) involves the management of the maintenance of physical assets of an organization throughout each asset’s life cycle.

Goal:

Add a New asset number at enterprise asset management using “EAM_AssetNumber_PUB.Insert_Asset_Number” API

Forms Or Pages: Example:

API to create eam asset number in oracle apps r12

API IN/OUT Parameters :

— IN p_api_version NUMBER.
— IN p_validation_level NUMBER.
— IN p_init_msg_list VARCHAR2.
— IN p_commit VARCHAR2.
— IN p_inventory_item_id NUMBER.
— IN p_serial_number VARCHAR2.
— IN p_current_organization_id NUMBER.
— IN p_owning_department_id NUMBER.
— OUT x_return_status VARCHAR2.
— OUT x_msg_count NUMBER.
— OUT x_msg_data VARCHAR2.

API Parameters clarifications:
  • @param p_api_version Version of the API  (previous version        0,  Initial version          1.0).
  • @param p_validation_level Validation Level of the API
  • @param p_init_msg_list Flag to indicate initialization of message list.
  • @param p_commit Flag to indicate whether API should commit changes.
  • @param p_inventory_item_id Asset Group Identifier.
  • @param p_serial_number Asset Serial Number.
  • @param p_current_organization_id Organization where the serial number is currently stored.
  • @param p_owning_department_id Owning Department Identifier.
  • @param x_return_status Return status of the procedure call.
  • @param x_msg_count Count of the return messages that API returns.
  • @param x_msg_data The collection of the messages.
  • @param x_object_id The new object id, primary key of new record.
API Calling example:
DECLARE
  g_inventory_item_id         NUMBER;
  g_owning_department_id      NUMBER;
  g_current_organization_id   NUMBER;
  g_serial_number             VARCHAR2 (150);
  g_return_status             VARCHAR2 (1000);
  g_msg_count                 NUMBER;
  g_msg_data                  VARCHAR2 (1000);
  l_output_mesg               VARCHAR2 (4000);
  g_object_id                 NUMBER;
BEGIN
  --to initialize the global security context for a database session
  fnd_global.apps_initialize (user_id => 1318, -- User ID
                              resp_id => 23118, -- Responsibility ID
                              resp_appl_id => 426); --Application ID to which responsibility belongs

  g_inventory_item_id := 11039;
  g_owning_department_id := 771;
  g_current_organization_id := 4812;
  g_serial_number := 'EQ10009';

  eam_assetnumber_pub.insert_asset_number (p_api_version               => 1.0
                                          ,p_validation_level          => fnd_api.g_valid_level_full
                                          ,p_init_msg_list             => fnd_api.g_false
                                          ,p_commit                    => fnd_api.g_false
                                          , --in (required)
                                           p_inventory_item_id         => g_inventory_item_id
                                          ,p_serial_number             => g_serial_number
                                          ,p_current_organization_id   => g_current_organization_id
                                          ,p_owning_department_id      => g_owning_department_id
                                          , --out
                                           x_return_status             => g_return_status
                                          ,x_msg_count                 => g_msg_count
                                          ,x_msg_data                  => g_msg_data
                                          ,x_object_id                 => g_object_id);

  --
  IF (g_return_status = 'S') THEN
    --
    dbms_output.put_line ('***************************');
    dbms_output.put_line ('Output information ....');
    dbms_output.put_line ('EAM Asset Number Created Successfully ....');
    dbms_output.put_line ('p_serial_number: ' || g_serial_number);
    dbms_output.put_line ('x_return_status: ' || g_return_status);
    dbms_output.put_line ('***************************');
    --
    COMMIT;
  --
  ELSIF (g_return_status IN ('E', 'U')) THEN
    --
    dbms_output.put_line ('***************************');
    dbms_output.put_line ('Error informations ....');

    FOR i IN 1 .. (g_msg_count)
    LOOP
      l_output_mesg := substr (fnd_msg_pub.get (fnd_msg_pub.g_next, fnd_api.g_false), 1, 250);
      dbms_output.put_line (l_output_mesg);
    END LOOP;

    --
    dbms_output.put_line ('***************************');
  --
  END IF;
EXCEPTION
  WHEN OTHERS THEN
    dbms_output.put_line ('API Faild with error code: ' || sqlcode || ' and error message is: ' || sqlerrm);
END;
Final Result:

Hope this helpful.
If you found it simple and easy to understand, we would love to provide you and your friends a simple solution for your problems.
Thanks.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 
Introduction:

The People Group flexfields lets you add your own key information to the Employee Assignment. You use each segment to define the different groups of employees which exist within your own enterprise.

Goal:

update people group using “hr_assignment_api.update_emp_asg_criteria” API

Forms Or Pages: Example:

Oracle HRMS API to update people group in oracle

API IN/OUT Parameters :

— IN p_effective_date IN DATE Required
— IN p_datetrack_update_mode IN VARCHAR2 Required
— IN p_assignment_id IN NUMBER Required
— IN p_validate IN BOOLEAN Required
— IN p_called_from_mass_update IN BOOLEAN Required
— IN p_organization_id IN NUMBER Required
— IN Out p_people_group_id NUMBER
— IN Out p_object_version_number NUMBER
— IN Out p_special_ceiling_step_id NUMBER
— Out p_group_name VARCHAR2
— Out p_effective_start_date DATE
— Out p_effective_end_date DATE
— Out p_org_now_no_manager_warning BOOLEAN
— Out p_other_manager_warning BOOLEAN
— Out p_spp_delete_warning BOOLEAN
— Out p_entries_changed_warning VARCHAR2
— Out p_tax_district_changed_warning BOOLEAN
— Out p_concatenated_segments BOOLEAN

API Parameters clarifications:
  • @param p_effective_date Can be either the current date or a date in the future.
  • @param p_datetrack_update_mode control parameter enables you to define the type of DateTrack change to be made.
  • @param p_assignment_id System-generated primary key column Primary Key for “PER_ASSIGNMENTS_F”.
  • @param p_validate control parameter (the default value is FALSE) to executes all validation for that business function.
  • @param p_called_from_mass_update Set to TRUE if the API is called from the Mass Update Processes.
  • @param p_organization_id Foreign Key for“HR_ALL_ORGANIZATION_UNITS”.
  • @param p_people_group_id Foreign Key for “PAY_PEOPLE_GROUPS”.
  • @param p_object_version_number Object Version Number (OVN) is a column in a database table. It is used to track multiple changes to a record. When a new row is inserted, the OVN is set to 1.
  • @param p_special_ceiling_step_id API sets this attribute to null on the database and the latest value is passed out of the API. If you do not want to alter this attribute, set the calling logic variable to hr_api.g_number.???
  • @param p_group_name Identifies the name of an existing group in the workspace.
  • @param p_effective_start_date and @param p_effective_end_date are all maintained by DateTrack. The START_DATE is the date when the first record for this person was created. The earliest EFFECTIVE_START_DATE for a person is equal to the START_DATE, so that If p_validate is false, then set to the effective end date for the created assignment. If p_validate is true, then set to null.
  • @param p_org_now_no_manager_warning Set to true if this assignment is a manager, the organization is updated and there is now no manager in the previous organization. Set to false if another manager exists in the previous organization.
  • @param p_other_manager_warning If set to true, then a manager existed in the organization prior to calling this API and the manager flag has been set to ‘Y’ for yes.
  • @param p_spp_delete_warning Set to true when grade step and point placements are date effectively ended or purged by the update of the assignment. Both types of change occur when the Grade is changed and spinal point placements exist over the updated date range. Set to false when no grade step and point placements are affected.
  • @param p_entries_changed_warning This is set to ‘Y’, if at least one element entry was altered due to the assignment change. It is set to ‘S’, if at least one salary element entry was affected (This is a more specific case than ‘Y’).
  • @param p_tax_district_changed_warning Always set to False, since contingent worker assignments are not eligible to have a Payroll, therefore cannot be included in the United Kingdom processing which determines the value of this parameter.
  • @param p_concatenated_segments If p_validate is false, set to Soft Coded Key Flexfield concatenated segments, if p_validate is true, set to null.
API Calling example:
DECLARE
  v_datetrack_update_mode          VARCHAR2 (200);
  v_assignment_id                  NUMBER (20);
  v_assignment_number              NUMBER;
  v_object_version_number          NUMBER (2);
  v_people_group_id                NUMBER (20);
  v_special_ceiling_step_id        NUMBER;
  v_group_name                     VARCHAR2 (200);
  v_effective_start_date           DATE := NULL;
  v_effective_date                 DATE;
  v_effective_end_date             DATE := NULL;
  v_org_now_no_manager_warning     BOOLEAN;
  v_other_manager_warning          BOOLEAN;
  v_spp_delete_warning             BOOLEAN;
  v_entries_changed_warning        VARCHAR2 (200);
  v_tax_district_changed_warning   BOOLEAN;
  v_soft_coding_keyflex_id         NUMBER (20);
  v_concatenated_segments          VARCHAR2 (200);
  v_api_error                      VARCHAR (4000);
BEGIN
  v_special_ceiling_step_id   := NULL;

  BEGIN
    SELECT a.assignment_id
          ,a.assignment_number
          ,a.effective_start_date
          ,a.object_version_number
          ,a.people_group_id
    INTO   v_assignment_id
          ,v_assignment_number
          ,v_effective_date
          ,v_object_version_number
          ,v_people_group_id
    FROM   per_all_assignments_f a
    WHERE  person_id = 31418;
  EXCEPTION
    WHEN OTHERS THEN
      NULL;
  END;

  BEGIN
    v_datetrack_update_mode   := 'UPDATE';

    hr_assignment_api.update_emp_asg_criteria ( --in
                                               p_effective_date                 => v_effective_date
                                              ,p_datetrack_update_mode          => v_datetrack_update_mode
                                              ,p_assignment_id                  => v_assignment_id
                                              ,p_validate                       => FALSE
                                              ,p_called_from_mass_update        => NULL
                                              ,p_organization_id                => 202
                                              ,p_segment18                      => 'ORAASK'
                                              --in out
                                              ,p_people_group_id                => v_people_group_id
                                              ,p_object_version_number          => v_object_version_number
                                              ,p_special_ceiling_step_id        => v_special_ceiling_step_id
                                              , --out
                                               p_group_name                     => v_group_name
                                              ,p_effective_start_date           => v_effective_start_date
                                              ,p_effective_end_date             => v_effective_end_date
                                              ,p_org_now_no_manager_warning     => v_org_now_no_manager_warning
                                              ,p_other_manager_warning          => v_other_manager_warning
                                              ,p_spp_delete_warning             => v_spp_delete_warning
                                              ,p_entries_changed_warning        => v_entries_changed_warning
                                              ,p_tax_district_changed_warning   => v_tax_district_changed_warning
                                              ,p_soft_coding_keyflex_id         => v_soft_coding_keyflex_id
                                              ,p_concatenated_segments          => v_concatenated_segments);
    COMMIT;
    dbms_output.put_line ('*************************************');
    dbms_output.put_line ('People Group Updated Successfully for assignment no : ' || v_assignment_number);
    dbms_output.put_line ('*************************************');
  EXCEPTION
    WHEN OTHERS THEN
      v_api_error         := sqlerrm;
      dbms_output.put_line ('*************************************');
      dbms_output.put_line ('There is exception has been raised from API for assignment No : ' || v_assignment_number || ' with error message ' || v_api_error);
      dbms_output.put_line ('*************************************');
      --just if you use cursor
      v_api_error         := NULL;
      v_people_group_id   := NULL;
  END;
END;
Final Result:

Hope this helpful.
If you found it simple and easy to understand, we would love to provide you and your friends a simple solution for your problems.
Thanks.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Separate tags by commas
To access this feature, please upgrade your account.
Start your free month
Free Preview