Sunday, June 8, 2014

API to Update costing and balancing segments for element links


 /*Test on element_link_id=43033 to check that it's correction not update and in a business group 4350*/
--------------------
Declare
      l_object_version_number        number; --must be in , use a variable
      l_cost_allocation_keyflex_id        number;
      l_balancing_keyflex_id              number;
      l_cost_concat_segments_out           varchar2(4000);
      l_balance_concat_segments_out        varchar2(4000);
      l_effective_start_date            date;
      l_effective_end_date                 date;
    begin
    for I in (
                select  src_link.* --,src_bal_kff.*
                ,src_cost_kff.segment3 cost_segment3,src_cost_kff.segment4 cost_segment4
                ,src_cost_kff.segment5 cost_segment5
                ,src_bal_kff.segment1 bal_segment1 ,src_bal_kff.segment2 bal_segment2,src_bal_kff.segment3 bal_segment3
                ,src_bal_kff.segment4 bal_segment4,src_bal_kff.segment5 bal_segment5,src_bal_kff.segment6 bal_segment6
                ,src_bal_kff.segment7 bal_segment7
                 ,src_cost_kff.concatenated_segments cost_concatenated_segments
                 FROM   pay_element_links_f src_link,
                        pay_cost_allocation_keyflex src_cost_kff,
                        pay_cost_allocation_keyflex src_bal_kff
                  WHERE  src_link.business_group_id =4530-- Business Group you are dealing with
                                  AND src_link.cost_allocation_keyflex_id =
                                        src_cost_kff.cost_allocation_keyflex_id
                                  AND src_link.balancing_keyflex_id =
                                        src_bal_kff.cost_allocation_keyflex_id
                                  AND TRUNC (SYSDATE) BETWEEN src_link.effective_start_date
                                                          AND  src_link.effective_end_date
                 and src_link.element_link_id = 43033
     );
    LOOP
    BEGIN
     l_object_version_number :=i.object_version_number;
     pay_element_link_api.update_element_link
      (p_validate                        =>  false
      ,p_effective_date                => i.effective_start_date -- in     date
      ,p_element_link_id             => i.element_link_id--in     number
      ,p_datetrack_mode               => 'CORRECTION'--to correct
    ,p_costable_type             => i.costable_type       -- in     varchar2  default hr_api.g_varchar2
      ,p_element_set_id          => i.element_set_id         -- in     number    default hr_api.g_number
      ,p_multiply_value_flag     => i.multiply_value_flag       -- in     varchar2  default hr_api.g_varchar2
      ,p_standard_link_flag      => i.standard_link_flag       -- in     varchar2  default hr_api.g_varchar2
      ,p_transfer_to_gl_flag     => i.transfer_to_gl_flag           -- in     varchar2  default hr_api.g_varchar2
      --,p_comments                       -- in     varchar2  default hr_api.g_varchar2
      ,p_comment_id              => i.comment_id       -- in     varchar2  default hr_api.g_varchar2
      ,p_employment_category     => i.employment_category       -- in     varchar2  default hr_api.g_varchar2
      ,p_qualifying_age          => i.qualifying_age       -- in     number    default hr_api.g_number
      ,p_qualifying_length_of_service => i.qualifying_length_of_service    --in     number    default hr_api.g_number
      ,p_qualifying_units              => i.qualifying_units  --in     varchar2  default hr_api.g_varchar2
      ,p_attribute_category           => i.attribute_category   --in     varchar2  default hr_api.g_varchar2
        ,p_attribute1                 => i.attribute1 --     in     varchar2  default hr_api.g_varchar2
      ,p_attribute2                    => i.attribute2 --    in     varchar2  default hr_api.g_varchar2
      ,p_attribute3                     => i.attribute3 --   in     varchar2  default hr_api.g_varchar2
      ,p_attribute4                     => i.attribute4 --   in     varchar2  default hr_api.g_varchar2
      ,p_attribute5                     => i.attribute5 --   in     varchar2  default hr_api.g_varchar2
      ,p_attribute6                     => i.attribute6 --  in     varchar2  default hr_api.g_varchar2
      ,p_attribute7                      => i.attribute7 --  in     varchar2  default hr_api.g_varchar2
      ,p_attribute8                      => i.attribute8 --  in     varchar2  default hr_api.g_varchar2
      ,p_attribute9                      => i.attribute9 --  in     varchar2  default hr_api.g_varchar2
      ,p_attribute10                    => i.attribute10 --   in     varchar2  default hr_api.g_varchar2
      ,p_attribute11                     => i.attribute11 --  in     varchar2  default hr_api.g_varchar2
      ,p_attribute12                     => i.attribute12 --  in     varchar2  default hr_api.g_varchar2
      ,p_attribute13                     => i.attribute13 --  in     varchar2  default hr_api.g_varchar2
      ,p_attribute14                      => i.attribute14 -- in     varchar2  default hr_api.g_varchar2
      ,p_attribute15                     => i.attribute15 --  in     varchar2  default hr_api.g_varchar2
      ,p_attribute16                      => i.attribute16 -- in     varchar2  default hr_api.g_varchar2
      ,p_attribute17                      => i.attribute17 -- in     varchar2  default hr_api.g_varchar2
      ,p_attribute18                      => i.attribute18 -- in     varchar2  default hr_api.g_varchar2
      ,p_attribute19                     => i.attribute19 --  in     varchar2  default hr_api.g_varchar2
      ,p_attribute20                     => i.attribute20 --  in     varchar2  default hr_api.g_varchar2
      --,p_cost_segment1                    => i.cost_segment1 -- in     varchar2  default hr_api.g_varchar2
      --,p_cost_segment2                   => i.cost_segment2 -- in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment3                   => i.cost_segment3 -- in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment4                   => i.cost_segment4 -- in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment5                   => i.cost_segment5 --
      /*,p_cost_segment6                   in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment7                   in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment8                   in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment9                   in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment10                  in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment11                  in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment12                  in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment13                  in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment14                  in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment15                  in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment16                  in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment17                  in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment18                  in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment19                  in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment20                  in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment21                  in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment22                  in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment23                  in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment24                  in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment25                  in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment26                  in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment27                  in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment28                  in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment29                  in     varchar2  default hr_api.g_varchar2
      ,p_cost_segment30                  in     varchar2  default hr_api.g_varchar2*/
      ,p_balance_segment1               => i.bal_segment1 --  in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment2                => i.bal_segment2 -- in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment3               => i.bal_segment3 --  in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment4               => i.bal_segment4 --  in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment5                => i.bal_segment5 -- in     varchar2  default hr_api.g_varchar2*/
      ,p_balance_segment6                =>'000000'--change this only --RRWR
      ,p_balance_segment7               => i.bal_segment7 -- in  in     varchar2  default hr_api.g_varchar2
     /* ,p_balance_segment8                in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment9                in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment10               in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment11               in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment12               in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment13               in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment14               in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment15               in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment16               in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment17               in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment18               in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment19               in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment20               in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment21               in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment22               in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment23               in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment24               in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment25               in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment26               in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment27               in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment28               in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment29               in     varchar2  default hr_api.g_varchar2
      ,p_balance_segment30             in     varchar2  default hr_api.g_varchar2 */
      ,p_cost_concat_segments_in       => i.cost_concatenated_segments--  in     varchar2  default hr_api.g_varchar2
     --,p_balance_concat_segments_in => i.bal_segment1||'.'||i.bal_segment2||'.'||i.bal_segment4||'.'||i.bal_segment5||'.132000.'||i.bal_segment7--in     varchar2  default hr_api.g_varchar2
      ,p_object_version_number            => l_object_version_number --must be in , use a variable
      ,p_cost_allocation_keyflex_id     => l_cost_allocation_keyflex_id
      ,p_balancing_keyflex_id           => l_balancing_keyflex_id
      ,p_cost_concat_segments_out      => l_cost_concat_segments_out
      ,p_balance_concat_segments_out   => l_balance_concat_segments_out--  out nocopy    varchar2
      ,p_effective_start_date             => l_effective_start_date
      ,p_effective_end_date                 => l_effective_end_date--out nocopy    date
      );           
   --   commit;--**
      Exception when others then
       dbms_output.put_line('Error Not updated element_link_id ' ||I.element_link_id );
      END;
End Loop;
end;

Getting row lock information from the Active Session History archive

select sample_time, session_state, blocking_session,
owner||'.'||object_name||':'||nvl(subobject_name,'-') obj_name,
    dbms_ROWID.ROWID_create (
        1,
        o.data_object_id,
        current_file#,
        current_block#,
        current_row#
    ) row_id
from dba_hist_active_sess_history s, dba_objects o
where user_id = 92
and sample_time between
    to_date('29-SEP-12 04.55.02 PM','dd-MON-yy hh:mi:ss PM')
    and
    to_date('29-SEP-12 05.05.02 PM','dd-MON-yy hh:mi:ss PM')
and event = 'enq: TX - row lock contention'
and o.data_object_id = s.current_obj#
order by 1,2;

Thursday, June 5, 2014

Adding System Adminisitrator Reponsibility from the Backend

--get the user_id to feed the api below
select *
from fnd_user
where user_name like 'AHMAD.RAMMAL'  ----

--get the responsibility_id to feed the api below
select *
from FND_RESPONSIBILITY
where RESPONSIBILITY_KEY = 'SYSTEM_ADMINISTRATOR'


-- replace the user_id and responsibility_id with the out values above
begin
fnd_user_resp_groups_api.insert_assignment
(user_id => 19477
,responsibility_id => 20420
,responsibility_application_id => 1
,security_group_id => 0
,start_date => SYSDATE
,end_date => NULL
,description => NULL
);
end;

Commit;