zaterdag 25 augustus 2012

Automatically Maintain OTL Timekeeper Groups

Jolie IT has developed a custom solution for automatically maintaining your Timekeeper Groups in Oracle EBS R12.
This is a generic solution that has been proven to work very well and prevents customers from the tedious job of manually maintaining their Timekeeper Groups in OTL.

How does it work ?

Standard EBS functionality
1. In Oracle HRMS create a Dynamic Assignment Set by the same name as the Timekeeper Group you wish to maintain automatically.
2. Add all dynamic criteria for the Assignment Set on which you want to base your Timekeeper Group. You can use all dynamic criteria that Oracle HRMS provides. This is quite a long list, see list of Assignment Set Criteria
The most common criteria used, besides Payroll (mandatory), are Organization and Job. You can specify as many criteria as you like however, as long as they are provided by Oracle HRMS.

Custom extension
3. Run custom concurrent program "Refresh Timekeeper Groups". This concurrent program can be scheduled as frequently as you wish. It refreshes all your Timekeeper Groups for which you defined a Dynamic Assignment Set with the same name. All updates to your Timekeeper Groups are handled by using Oracle API's of course, so no hassle with Oracle support, patches and upgrades.

Very simple, very straightforward !

You can order this solution or get more info by sending an email to info@jolie-it.nl

When ordered you will get:
- software (wrapped)
- installation manual including usage instructions

Price: EUR 2999,- ex. VAT, no consultancy included






woensdag 25 april 2012

Voor ZZP-ers: eenmanszaak of BV

Veel ZZP-ers / freelancers die ik spreek worstelen met dit dilemma. 
Als je het puur fiscaal wilt bekijken dan is er nu een handige app om te bekijken wat in fiscaal opzicht het meest voordelig is: link naar de app
Houd er wel rekening mee dat een BV hogere instandhoudingskosten heeft dan een eenmanszaak. Dit aspect wordt volgens mij niet meegenomen in de app.

PL/SQL RESULT CACHE

Are you still afraid of using PL/SQL functions in your SQL queries ?
Are you optimizing performance by saving data in global PL/SQL variables ?
Are you storing lookup data in PL/SQL tables ?

Check out the new 11G feature PL/SQL RESULT_CACHE.

Read this article for more information: pl/sql function result cache

When you are on version 11.1 do not forget the relies_on clause, when using the result_cache option in your PL/SQL functions !!! When on 11.2, you are lucky: the relies_on clause is no longer required.

maandag 6 juni 2011

Cloudservers bij Jolie IT

Tijdelijk een server nodig voor een ontwikkel, test of acceptatieomgeving ? 


Jolie IT biedt vanaf 14 juni 2011 een nieuwe service. Jolie IT omarmt cloudtechnologie waarmee wij u de mogelijkheid bieden gebruik te maken van onze public cloudservers waarbij de beveiliging uiteraard dusdanig geregeld is dat alleen u bij uw eigen gegevens kunt.


Binnen 1 werkdag heeft u de beschikking over een cloudserver met een operating system naar keuze.


Geen moeilijk gedoe, geen contracten, u betaalt gewoon wat u verbruikt. 


Altijd schaalbaar: geheugen, CPU, schijfruimte kunt u zelf optimaliseren. 


Met RAID 10 opslag en automatische failover zodat wij een hoge beschikbaarheid kunnen bieden. 


En natuurlijk gewoon volledige toegang tot de server, als ware het uw eigen server, maar dan zonder zorgen over de infrastructuur. 


Op verzoek kunnen we de server opleveren met daarop Joomla of Wordpress reeds voorgeinstalleerd.


En heeft u de server niet meer nodig...  
Geen probleem dan verwijdert u gewoon volledig geautomatiseerd de server en hoeft u vanaf dat moment niets meer te betalen.


Prijzen vanaf EUR 12,38 per maand (ex. BTW) en EUR 0,25 (ex. BTW) per GB dataverkeer.


Voor meer informatie kunt u contact opnemen via info@jolie-it.nl



woensdag 1 juni 2011

Must haves for the Mac

I am an Oracle developer with a great passion for the Mac.
As much as possible I use my MacBook Pro. Some tools like Oracle Forms/Reports and Workflow Builder just don't run under OSX. I use virtualbox with windows for these tools, but everything else I can do on my Mac and with great pleasure and satisfaction. 


I even don't use Toad anymore, but instead I use SQLDeveloper which runs nice and smoothly on my Mac. And did you know SQLDeveloper is a great svn-client also. Maybe not as good as Tortoise under Windows, but still good enough.


Some other tools which are superb on the Mac:


- Alfred as an alternative for spotlight
- TextWrangler for editing files
- DiffMerge for comparing files


And today I installed the Deep Sleep widget, which really "hibernates" my Mac. Which means the current state of my Mac is saved to disk, and this state will be restored when I start up. This is of course a bit slower than the normal Mac sleep mode, but the advantage is that it doesn't drain my battery when I'm not behind my Mac.









dinsdag 24 mei 2011

OVERRIDE EMAIL ADDRESS

Oracle Applications has a very useful feature for overriding email addresses.
This feature is especially nice for your development- and test-environments.

What does this feature do ?
Well it just simply routes all email send by the workflow notification mailer to the override email address specified. 
So instead of sending an email to your Chief Purchasing Department the email will be routed to your override email address.

This works for all workflow notification emails and alert emails.

Because just when you need this option, you don't remember where it is, I made a couple of screen shots which help you navigate to this functionality.

From the System Administration responsibility, choose Dashboard.


Choose Site Map



Under Workflow, choose Notification Mailer

Click on the Workflow Notification Mailer link


Click button Set Override Address



And finally, enter your override address

The owner of the override email address will now get an email with a verification code.
When the owner accepts this email, the override email address will be activated.




maandag 23 mei 2011

Pipelined function

Ever heard about pipelined functions ?
It's a very nice feature which lets you handle the results of a PL/SQL-function as a real table.
So you can for example join the results of a pipelined function with a real table.

I will explain this with an example.

Step 1
Create a package containing a collection and the pipelined function. Package initialization of package jan1 populates collection g_tab.
Function f1 does nothing else than returning the collection g_tab.
Watch the clue of this function: keyword pipelined in the function declaration and the statement pipe row which returns a row of the collection.


create or replace package jan1
as

  type g_rectype is record(invoice_number varchar2(100));
  
  type g_tabtype is table of g_rectype;
  
  function f1 
  return g_tabtype pipelined;
end jan1;
/

create or replace package body jan1
as
  g_tab g_tabtype;
  
  function f1 
  return g_tabtype pipelined
  is
  begin
    if g_tab.count >0
    then
      for i in g_tab.first .. g_tab.last
      loop
        pipe row(g_tab(i));
      end loop;
    end if;
    
    return;
    
  end f1;
  
begin
  g_tab := g_tabtype();   -- initialize collection by calling constructor
  g_tab.extend();
  g_tab(1).invoice_number := '1';
  g_tab.extend();
  g_tab(2).invoice_number := '2';
  g_tab.extend();
  g_tab(3).invoice_number := '3';
  g_tab.extend();
  g_tab(4).invoice_number := '4';
  g_tab.extend(); 
  g_tab(5).invoice_number := '5';
end jan1;
/


Step 2
Below I create a table which I will join to the pipelined function in step 3.

create table xxtest(invoice_number varchar2(100), tekst varchar2(100));

insert into xxtest values('0', 'text0');
insert into xxtest values('1', 'text1');
insert into xxtest values('2', 'text2');
insert into xxtest values('3', 'text3');
insert into xxtest values('4', 'text4');
insert into xxtest values('5', 'text5');
insert into xxtest values('6', 'text6');
insert into xxtest values('7', 'text7');

Step 3
Finally I join the pipelined function and the table.

select * 
from table(jan1.f1)  a
,        xxtest               b
where a.invoice_number = b.invoice_number;

And voila:

www.jolie-it.nl