Monday, April 24, 2017

API to Create Memo Line

declare
v_row_id varchar2(250);
  v_memo_line_id number;
  V_org_id  number:=93;
  V_SET_OF_BOOKS_ID  NUMBER:=2022;
  V_LE_TYPE  VARCHAR2(200):='LINE';
  V_START_DATE  DATE:= sysdate;
  V_GL_ID_REV  NUMBER :=4095;
  V_TAX_CODE  VARCHAR2(200):='VAT18_EXCLUDE';
  V_UOM_CODE  VARCHAR2(200):='EA';
  V_UNIT_STD_PRICE  NUMBER:=1;
  V_VOICG_RULE_ID  NUMBER;
  V_ACCOUNTG_RULE_ID  NUMBER;
  V_END_DATE  DATE;
  V_ATTRIBUTE_CATEGORY  VARCHAR2(200);
  V_ATTRIBUTE1  VARCHAR2(200);
  V_ATTRIBUTE2  VARCHAR2(200);
  V_ATTRIBUTE3  VARCHAR2(200);
  V_ATTRIBUTE4  VARCHAR2(200);
  V_ATTRIBUTE5  VARCHAR2(200);
  V_ATTRIBUTE6  VARCHAR2(200);
  V_ATTRIBUTE7  VARCHAR2(200);
  V_ATTRIBUTE8  VARCHAR2(200);
  V_ATTRIBUTE9  VARCHAR2(200);
  V_ATTRIBUTE10  VARCHAR2(200);
  V_ATTRIBUTE11  VARCHAR2(200);
  V_ATTRIBUTE12  VARCHAR2(200);
  V_ATTRIBUTE13  VARCHAR2(200);
  V_ATTRIBUTE14  VARCHAR2(200);
  V_ATTRIBUTE15  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE_CATEGORY  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE1  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE2  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE3  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE4  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE5  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE6  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE7  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE8  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE9  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE10  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE11  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE12  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE13  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE14  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE15  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE16  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE17  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE18  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE19  VARCHAR2(200);
  V_GLOBAL_ATTRIBUTE20  VARCHAR2(200);
  V_NAME  VARCHAR2(200):='tetetete';
  V_DESCRIPTION  VARCHAR2(200):='tetete';
  V_CREATION_DATE  DATE:=sysdate;
  V_CREATED_BY  NUMBER;
  V_LAST_UPDATE_DATE  DATE;
  V_LAST_UPDATED_BY  NUMBER;
  V_LAST_UPDATE_LOG  NUMBER;
  V_TAX_PRODUCT_CATEGORY  VARCHAR2(200);
  cursor c_memo_lines is
  select ml.name,
       ml.description,
       ml.line_type,
       ml.start_date,
       ml.gl_id_rev,
       ml.revenue_account,
       ml.tax_code,
       ml.uom_code,
       ml.unit_std_price,
       ml.memo_line_id,
       ml.org_id,
       ml.set_of_books_id
  from temp_memo_line ml

  ;
  begin
 
  for c in c_memo_lines
    loop
     
    select ar_memo_lines_s.nextval into v_memo_line_id  from dual;
     
 AR_MEMO_LINES_PKG.LOAD_ROW(
  X_org_id =>c.org_id,
  X_MEMO_LINE_ID  =>v_memo_line_id,
  X_SET_OF_BOOKS_ID  =>c.set_of_books_id,
  X_LINE_TYPE  =>c.line_type,
  X_START_DATE  =>c.start_date,
  X_GL_ID_REV  =>c.gl_id_rev,
  X_TAX_CODE  =>c.tax_code,
  X_UOM_CODE  =>c.uom_code,
  X_UNIT_STD_PRICE  => c.unit_std_price,
  X_INVOICING_RULE_ID  =>V_VOICG_RULE_ID,
  X_ACCOUNTING_RULE_ID  =>V_ACCOUNTG_RULE_ID,
  X_END_DATE  =>V_END_DATE,
  X_ATTRIBUTE_CATEGORY  =>V_ATTRIBUTE_CATEGORY,
  X_ATTRIBUTE1  =>V_ATTRIBUTE1,
  X_ATTRIBUTE2  =>V_ATTRIBUTE2,
  X_ATTRIBUTE3  =>V_ATTRIBUTE3,
  X_ATTRIBUTE4  =>V_ATTRIBUTE4,
  X_ATTRIBUTE5  =>V_ATTRIBUTE5,
  X_ATTRIBUTE6  =>V_ATTRIBUTE6,
  X_ATTRIBUTE7  =>V_ATTRIBUTE7,
  X_ATTRIBUTE8  =>V_ATTRIBUTE8,
  X_ATTRIBUTE9  =>V_ATTRIBUTE9,
  X_ATTRIBUTE10  =>V_ATTRIBUTE10,
  X_ATTRIBUTE11  =>V_ATTRIBUTE11,
  X_ATTRIBUTE12  =>V_ATTRIBUTE12,
  X_ATTRIBUTE13  =>V_ATTRIBUTE13,
  X_ATTRIBUTE14  =>V_ATTRIBUTE14,
  X_ATTRIBUTE15  =>V_ATTRIBUTE15,
  X_GLOBAL_ATTRIBUTE_CATEGORY  =>V_GLOBAL_ATTRIBUTE_CATEGORY,
  X_GLOBAL_ATTRIBUTE1  =>V_GLOBAL_ATTRIBUTE1,
  X_GLOBAL_ATTRIBUTE2  =>V_GLOBAL_ATTRIBUTE2,
  X_GLOBAL_ATTRIBUTE3  =>V_GLOBAL_ATTRIBUTE3,
  X_GLOBAL_ATTRIBUTE4  =>V_GLOBAL_ATTRIBUTE4,
  X_GLOBAL_ATTRIBUTE5  =>V_GLOBAL_ATTRIBUTE5,
  X_GLOBAL_ATTRIBUTE6  =>V_GLOBAL_ATTRIBUTE6,
  X_GLOBAL_ATTRIBUTE7  =>V_GLOBAL_ATTRIBUTE7,
  X_GLOBAL_ATTRIBUTE8  =>V_GLOBAL_ATTRIBUTE8,
  X_GLOBAL_ATTRIBUTE9  =>V_GLOBAL_ATTRIBUTE9,
  X_GLOBAL_ATTRIBUTE10  =>V_GLOBAL_ATTRIBUTE10,
  X_GLOBAL_ATTRIBUTE11  =>V_GLOBAL_ATTRIBUTE11,
  X_GLOBAL_ATTRIBUTE12  =>V_GLOBAL_ATTRIBUTE12,
  X_GLOBAL_ATTRIBUTE13  =>V_GLOBAL_ATTRIBUTE13,
  X_GLOBAL_ATTRIBUTE14  =>V_GLOBAL_ATTRIBUTE14,
  X_GLOBAL_ATTRIBUTE15  =>V_GLOBAL_ATTRIBUTE15,
  X_GLOBAL_ATTRIBUTE16  =>V_GLOBAL_ATTRIBUTE16,
  X_GLOBAL_ATTRIBUTE17  =>V_GLOBAL_ATTRIBUTE17,
  X_GLOBAL_ATTRIBUTE18  =>V_GLOBAL_ATTRIBUTE18,
  X_GLOBAL_ATTRIBUTE19  =>V_GLOBAL_ATTRIBUTE19,
  X_GLOBAL_ATTRIBUTE20  =>V_GLOBAL_ATTRIBUTE20,
  X_NAME  =>c.name,
  X_DESCRIPTION  =>c.description,
  X_OWNER => 'SEED',
  /*X_CREATION_DATE  =>V_CREATION_DATE,
  X_CREATED_BY  =>V_CREATED_BY,
  X_LAST_UPDATE_DATE  =>V_LAST_UPDATE_DATE,
  X_LAST_UPDATED_BY  =>V_LAST_UPDATED_BY,
  X_LAST_UPDATE_LOG  =>V_LAST_UPDATE_LOG,*/
  X_TAX_PRODUCT_CATEGORY  =>V_TAX_PRODUCT_CATEGORY
 

);
commit;
    end loop;
  end;

Tuesday, April 18, 2017

API to assign bank account number to suppliers

declare
p_api_version          number;
  p_init_msg_list        varchar2(200);
  p_commit               varchar2(200);
  x_return_status        varchar2(200);
  x_msg_count            number;
  x_msg_data             varchar2(200);
  p_payee                apps.iby_disbursement_setup_pub.payeecontext_rec_type;
  p_assignment_attribs   apps.iby_fndcpt_setup_pub.pmtinstrassignment_rec_type;
  lr_ext_bank_acct_dtl   iby_ext_bank_accounts%rowtype;
  x_assign_id            number;
  x_response             apps.iby_fndcpt_common_pub.result_rec_type;
  lv_vendor_site_code    varchar2(100);
  lv_vendor_id number;    
  lv_bank_acct_name      varchar2(100);
  lv_supp_site_id        varchar2(100);
  lv_supp_party_site_id  varchar2(100);
  lv_acct_owner_party_id varchar2(100);
  lv_org_id              varchar2(100);
  l_msg                  varchar2(200);
   cursor c_suppliers is
 select
        s.vendor_id,
        s.vendor_site_code,
        s.street,
        s.address_line2,
        s.address_line3,
        s.city,
        s.country,
        s.bank_name,
        s.branch_name,
        s.bank_account_country,
        s.bank_account_num,
        s.currency_code,
        s.iban,
        s.bank_account_type,
        s.payment_factor_flag,
        s.foreign_payment_use_flag,
        s.bank_account_name,
        s.bank_account_num_electronic,
        s.liability_code_id,
        s.prepay_code_combination_id
    from tem_suppliers s;
begin
  -- initialize apps session
  fnd_global.apps_initialize(user_id=>6837,
                           resp_id=>50558,
                           resp_appl_id=>200);
  mo_global.init('S', null);
  --fnd_client_info.set_org_context(101);
  -- input values
  for c in c_suppliers loop
  lv_vendor_site_code := c.vendor_site_code;
  lv_vendor_id      := c.vendor_id;
  lv_bank_acct_name   := c.bank_account_name;
  -- assign api parameters
  p_api_version   := 1.0;
  p_init_msg_list := fnd_api.g_true;
  p_commit        := fnd_api.g_true;

  -- get ext bank account details
  begin
    select *
      into lr_ext_bank_acct_dtl
      from iby_ext_bank_accounts
     where bank_account_name = lv_bank_acct_name;
  exception
    when others then
      dbms_output.put_line('Unable to derive the external bank details:' ||
                           sqlerrm);
  end;

  -- get supplier details
  begin
    select assa.vendor_site_id,
           assa.party_site_id,
           aps.party_id,
           assa.org_id
      into lv_supp_site_id,
           lv_supp_party_site_id,
           lv_acct_owner_party_id,
           lv_org_id
      from ap_suppliers aps, ap_supplier_sites_all assa
     where aps.vendor_id = assa.vendor_id
       and aps.vendor_id = c.vendor_id
       and assa.vendor_site_code = lv_vendor_site_code;
  exception  
    when others then
      dbms_output.put_line('Error- Get supp_site_id and supp_party_site_id' ||
                           sqlcode || sqlerrm);
  end;

  -- assign payee values
  p_payee.supplier_site_id := lv_supp_site_id;
  p_payee.party_id         := lv_acct_owner_party_id;
  p_payee.party_site_id    := lv_supp_party_site_id;
  p_payee.payment_function := 'PAYABLES_DISB';
  p_payee.org_id           := lv_org_id;
  p_payee.org_type         := 'OPERATING_UNIT';
  -- assignment values
  p_assignment_attribs.instrument.instrument_type := 'BANKACCOUNT';
  p_assignment_attribs.instrument.instrument_id   := lr_ext_bank_acct_dtl.ext_bank_account_id;
  -- external bank account id
  p_assignment_attribs.priority   := 1;
  p_assignment_attribs.start_date := sysdate;

  iby_disbursement_setup_pub.set_payee_instr_assignment
    (p_api_version        => p_api_version,
     p_init_msg_list      => p_init_msg_list,
     p_commit             => p_commit,
     x_return_status      => x_return_status,
     x_msg_count          => x_msg_count,
     x_msg_data           => x_msg_data,
     p_payee              => p_payee,
     p_assignment_attribs => p_assignment_attribs,
     x_assign_id          => x_assign_id,
     x_response           => x_response
    );

  dbms_output.put_line('X_RETURN_STATUS = ' || x_return_status);
  dbms_output.put_line('X_MSG_COUNT = ' || x_msg_count);
  dbms_output.put_line('X_MSG_DATA = ' || x_msg_data);
  dbms_output.put_line('X_ASSIGN_ID = ' || x_assign_id);
  dbms_output.put_line('X_RESPONSE.Result_Code = ' ||
                       x_response.result_code);
  dbms_output.put_line('X_RESPONSE.Result_Category = ' ||
                       x_response.result_category);
  dbms_output.put_line('X_RESPONSE.Result_Message = ' ||
                       x_response.result_message);
commit;

  if (x_return_status <> fnd_api.g_ret_sts_success) then
    for i in 1 .. fnd_msg_pub.count_msg loop
      l_msg := fnd_msg_pub.get(p_msg_index => i,
                               p_encoded   => fnd_api.g_false);
      dbms_output.put_line('The API call failed with error ' || l_msg);
    end loop;
  else
    dbms_output.put_line('The API call ended with SUCESSS status');
  end if;
  end loop;
end;

Monday, April 17, 2017

API to Create Item Categories

declare
l_category_rec    inv_item_category_pub .category_rec_type;
l_return_status   varchar2(80);
l_error_code      number;
l_msg_count       number;
l_msg_data        varchar2(80);
l_out_category_id number;
begin
  l_category_rec.segment1 := 'London';

  select f.id_flex_num
    into l_category_rec.structure_id
    from fnd_id_flex_structures f
   where f.id_flex_structure_code = 'CITY';

  l_category_rec.description := 'London is located in Uk';

  inv_item_category_pub.create_category
          (
          p_api_version   => 1.0,
          p_init_msg_list => fnd_api.g_false,
          p_commit        => fnd_api.g_true,
          x_return_status => l_return_status,
          x_errorcode     => l_error_code,
          x_msg_count     => l_msg_count,
          x_msg_data      => l_msg_data,
          p_category_rec  => l_category_rec,
          x_category_id   => l_out_category_id
          );
  if l_return_status = fnd_api.g_ret_sts_success then
    commit;
    dbms_output.put_line ('Creation of Item Category is Successful : '||l_out_category_id);
  else
    dbms_output.put_line ('Creation of Item Category Failed with the error :'||l_error_code);
    rollback;
  end if;
end ;

API to create AR customer

declare
l_num_user_id       NUMBER;
l_num_appl_id       NUMBER;
l_num_resp_id       NUMBER;
cust_account_rec_type   hz_cust_account_v2pub.cust_account_rec_type;
l_num_obj_ver_num     NUMBER;
l_chr_return_status    VARCHAR2 (2000);
l_num_msg_count      NUMBER;
l_chr_msg_data       VARCHAR2 (500);
l_num_profile_id      NUMBER;
cust_account_rec HZ_CUST_ACCOUNT_V2PUB.CUST_ACCOUNT_REC_TYPE;
l_organization_rec     hz_party_v2pub.organization_rec_type;
l_customer_profile_rec   hz_customer_profile_v2pub.customer_profile_rec_type;
l_num_cust_id       NUMBER;
l_chr_acct_num       VARCHAR2 (500);
l_num_party_id       NUMBER;
l_chr_party_number     VARCHAR2 (500);
l_cust_acct_site_use_rec  hz_cust_account_site_v2pub.cust_site_use_rec_type;
l_cust_acct_site_rec    hz_cust_account_site_v2pub.cust_acct_site_rec_type;
l_chr_sit_return_status  VARCHAR2 (500);
l_num_sit_msg_count    NUMBER;
l_chr_sit_msg_data     VARCHAR2 (500);
l_chr_situ_return_status  VARCHAR2 (500);
l_num_situ_msg_count    NUMBER;
l_chr_situ_msg_data    VARCHAR2 (500);
l_num_site_use_id     NUMBER;
CURSOR update_base_tables_cur
IS
   select distinct ps.party_site_name, a.party_number, ps.party_site_number, a.party_id,
           'CUST-' ||a.party_id||'-'||ass.org_id as customer_ref,
           'ADD-'||ps.party_site_id||'-'||ass.org_id as address_ref,
           ps.party_site_id,
           ass.address_line1,
           ass.city, ass.state, ass.zip, ass.country,
           'N' primary_site_use_flag,
           a.orig_system_reference as party_ref,
           a.party_name as customer_name, ass.org_id
        from apps.ap_suppliers ap,
           apps.ap_supplier_sites_all ass,
           apps.hz_parties a,
           apps.hz_party_sites ps
       
        where ap.vendor_id = ass.vendor_id
         and a.party_id = ap.party_id
         and ps.party_id = ap.party_id
         and ass.party_site_id = ps.party_site_id
         and a.party_name = ap.vendor_name
         and not exists (select * from hz_cust_accounts ac
         where ac.party_id = a.party_id);
begin
fnd_global.apps_initialize( 6837, 50546, 222); -- input from 1st sql
dbms_output.put_line('***************************');
for update_base_tables_rec in update_base_tables_cur
loop
   null;
   cust_account_rec_type.cust_account_id := fnd_api.g_miss_num;
   cust_account_rec_type.account_name := update_base_tables_rec.customer_name;
   cust_account_rec_type.customer_type   := 'R';
   --l_organization_rec.party_rec_type.category_code := 'ROAMING';
   l_organization_rec.party_rec.party_id := update_base_tables_rec.party_id;
   l_organization_rec.party_rec.party_number := update_base_tables_rec.party_number;
   l_organization_rec.organization_name := update_base_tables_rec.customer_name;
   cust_account_rec_type.orig_system_reference := update_base_tables_rec.customer_ref;
     l_customer_profile_rec.party_id := update_base_tables_rec.party_id;
   l_customer_profile_rec.profile_class_id := 0 ; -- use default profile with id=0
   l_customer_profile_rec.created_by_module := 'HZ_CPUI';
   cust_account_rec_type.created_by_module := 'HZ_CPUI';
   hz_cust_account_v2pub.create_cust_account
             (p_init_msg_list       => fnd_api.g_false,
              p_cust_account_rec     => cust_account_rec_type,
              p_organization_rec     => l_organization_rec,
             
              p_customer_profile_rec   => l_customer_profile_rec,
              p_create_profile_amt    => fnd_api.g_true,
              x_cust_account_id      => l_num_cust_id,
              x_account_number      => l_chr_acct_num,
              x_party_id         => l_num_party_id,
              x_party_number       => l_chr_party_number,
              x_profile_id        => l_num_profile_id,
              x_return_status       => l_chr_return_status,
              x_msg_count         => l_num_msg_count,
              x_msg_data         => l_chr_msg_data
             );
dbms_output.put_line('x_return_status: '||l_chr_return_status);
dbms_output.put_line('x_cust_account_id: '||l_num_cust_id);
dbms_output.put_line('x_account_number: '||l_chr_acct_num);
dbms_output.put_line('x_party_id: '||l_num_party_id);

dbms_output.put_line(l_chr_return_status ||' ' ||l_chr_msg_data  );
   if l_chr_return_status != 'S'
   then
    --display all the error messages
    for j in 1 .. fnd_msg_pub.count_msg
    loop
  --    dbms_output.put_line (j);
      l_chr_msg_data :=
            fnd_msg_pub.get (p_msg_index   => j,
                     p_encoded    => 'F');
     -- dbms_output.put_line ('Message(' || j || '):= ' || l_chr_msg_data);
    end loop;
   end if;
   begin
    select cust_account_id
     into l_cust_acct_site_rec.cust_account_id
     from hz_cust_accounts
     where orig_system_reference = update_base_tables_rec.customer_ref;
     dbms_output.put_line(2  );
   exception
    when others
    then
      l_cust_acct_site_rec.cust_account_id := fnd_api.g_miss_num;
   end;
   l_cust_acct_site_rec.party_site_id := update_base_tables_rec.party_site_id;
   l_cust_acct_site_rec.created_by_module := 'HZ_CPUI';
    l_cust_acct_site_rec.orig_system_reference := update_base_tables_rec.address_ref;
        l_cust_acct_site_rec.org_id := update_base_tables_rec.org_id;
   mo_global.init ('ONT');
   mo_global.set_policy_context (p_access_mode   => 'S',
                  p_org_id      => update_base_tables_rec.org_id
                 );
               
                 dbms_output.put_line(3  );
   hz_cust_account_site_v2pub.create_cust_acct_site
                (p_init_msg_list      => 'T',
                p_cust_acct_site_rec   => l_cust_acct_site_rec,
                x_cust_acct_site_id    => l_num_obj_ver_num,
                x_return_status      => l_chr_sit_return_status,
                x_msg_count        => l_num_sit_msg_count,
                x_msg_data        => l_chr_sit_msg_data
                );
dbms_output.put_line('x_cust_acct_site_id: '||l_num_obj_ver_num);
dbms_output.put_line('x_return_status: '||l_chr_sit_return_status);

dbms_output.put_line(4||' '|| l_chr_sit_return_status   );
   if l_chr_sit_return_status != 'S'
   then
    --display all the error messages
    for j in 1 .. fnd_msg_pub.count_msg
    loop
   
      l_chr_sit_msg_data :=
            fnd_msg_pub.get (p_msg_index   => j,
                     p_encoded    => 'F');
 
    end loop;
   end if;
   begin
    select cust_acct_site_id
     into l_cust_acct_site_use_rec.cust_acct_site_id
     from hz_cust_acct_sites_all
     where orig_system_reference = update_base_tables_rec.address_ref;
   exception
    when others
    then
      l_cust_acct_site_use_rec.cust_acct_site_id := fnd_api.g_miss_num;
   end;
   l_cust_acct_site_use_rec.org_id := update_base_tables_rec.org_id;
   l_cust_acct_site_use_rec.site_use_code := 'BILL_TO';
   l_cust_acct_site_use_rec.status := 'A';
    l_cust_acct_site_use_rec.location := update_base_tables_rec.party_site_name;
     l_cust_acct_site_use_rec.primary_flag := 'Y';
   l_cust_acct_site_use_rec.orig_system_reference :=
                      update_base_tables_rec.address_ref;
   l_cust_acct_site_use_rec.created_by_module := 'HZ_CPUI';
   mo_global.set_policy_context (p_access_mode   => 'S',
                  p_org_id      => update_base_tables_rec.org_id
                 );
   hz_cust_account_site_v2pub.create_cust_site_use
              (p_init_msg_list       => 'T',
              p_cust_site_use_rec     => l_cust_acct_site_use_rec,
              p_customer_profile_rec   => l_customer_profile_rec,
              p_create_profile      => fnd_api.g_true,
              p_create_profile_amt    => fnd_api.g_true,
              x_site_use_id        => l_num_site_use_id,
              x_return_status       => l_chr_situ_return_status,
              x_msg_count         => l_num_situ_msg_count,
              x_msg_data         => l_chr_situ_msg_data
              );
dbms_output.put_line('x_site_use_id: '||l_num_site_use_id);
dbms_output.put_line('x_return_status: '||l_chr_situ_return_status);
   if l_chr_situ_return_status != 'S'
   then
    --display all the error messages
    for j in 1 .. fnd_msg_pub.count_msg
    loop
      l_chr_situ_msg_data :=
            fnd_msg_pub.get (p_msg_index   => j,
                     p_encoded    => 'F');

    end loop;
   end if;
end loop;
end;

How to find user id,responsibility id, application id for FND_GLOBAL.APPS_INITIALIZE

How to find USER_ID:


select user_id from fnd_user where user_name='test';


How to find  RESPONSIBILITY_ID:

select responsibility_id from fnd_responsibility_vl where responsibility_name like 'AP Accountant';


How to get APPLICATION_ID:
select * from fnd_responsibility_vl  where responsibility_id=223;

Sunday, April 16, 2017

How to find a word with different endings in the string


SELECT
REGEXP_SUBSTR('I have earned 100 dollars today ','earn((ing)|(ed))')
FROM dual;


result : earned


If you change the string

SELECT
REGEXP_SUBSTR('I have been earning 100 dollars today ','earn((ing)|(ed))')
FROM dual;


result: earning

API to create JOBS



declare
 l_business_group_id     number;
  l_job_group_id          number;
  l_job_id                number;
  l_object_version_number number;
  l_job_definition_id     number;
  l_job_name              varchar2(200);
  l_group_name; varchar2(200) :='test';

begin




  -- get group id and business group id

  begin
    select business_group_id,
           job_group_id
      into l_business_group_id,
           l_job_group_id
      from per_job_groups
     where displayed_name = l_group_name;
  exception
    when others then
      dbms_output.put_line('Unable to get the job group details.Error:'||sqlerrm);
      raise;
  end;
 --- loop values from temporary table
 for i in (
           select
               name,
               date_from,
                vacation_days
               from temp_jobs
    )
  loop
 
  HR_JOB_API .CREATE_JOB
  (p_validate                      => FALSE
  ,p_business_group_id             => l_business_group_id
  ,p_date_from                     =>i.date_from
  ,p_comments                      => 'test for nar'
  ,p_date_to                       => NULL
  ,p_job_group_id                  => l_job_group_id
  ,p_concat_segments               => i.name
  --output
  ,p_job_id                        => l_job_id
  ,p_object_version_number         => l_object_version_number
  ,p_job_definition_id             => l_job_definition_id
  ,p_name                          => l_job_name
  ,p_attribute11 =>  i.vacation_days-- annual vacation days
  );
  commit;
  end loop;

  DBMS_OUTPUT.PUT_LINE('job id: '||l_job_id);
  DBMS_OUTPUT.PUT_LINE('object_version_number: '||l_object_version_number);
  DBMS_OUTPUT.PUT_LINE('job_definition_id: '||l_job_definition_id);
  DBMS_OUTPUT.PUT_LINE('job_name: '||l_job_name);
EXCEPTION
    WHEN OTHERS THEN
      dbms_output.put_line('unable to create a job.error:'||SQLERRM);
      rollback;
      RAISE;
END;