Saturday, December 24, 2011

Getting Things Done - 2 minute rule

If you have read or follow the Getting Things Done method, you'll know about the Just do it when it takes 2 minutes.  Now and again you need to remind yourself how long tasks are taking you and I found this simple site, www.timer-tab.com after finding a chrome extension and then found it just works in any browser.  Its simple and does what it says, end of.  My favourite sort of site.

Thursday, September 29, 2011

Running legacy 11.5.10 Apps on Windows 7


This took a bit of time to get the right components working for an old 11.5.10 install working on Windows 7 build PCs but you can use the following to get up and running with Professional / Core / Forms based E Business Suite applications.

Internet Browser - Firefox 3.5.19
Download and install locally.

JInitiator - 1.3.1.26 
Download and install locally.
http://metis.eur.nl/forms/jinitiator/jinit.exe

Fix for JVM - download jvm.dll
http://sathyabh.at/2009/06/27/fixing-internet-explorer-crash-on-launchin
g-oracle-forms-application-with-jinitiator/

and save to C:\Program Files\Oracle\JInitiator 1.3.1.26\bin\hotspot

Browser Plug In
Copy C:\Program Files\Oracle\JInitiator 1.3.1.26\bin\NPJinit13126.dll to
C:\[replace wth your installation direcory for firefox 3.5.19 above]\FirefoxPortableLegacy36\App\DefaultData\plugins

Thursday, September 22, 2011

No Unix No SQL Loader Interfaces and Data Conversions

The classic Interface or Dataload routines take the form of a flat datafile being loaded into the database, then some PL/SQL processing to parse and validate the data before moving it (usually) into Open Interface tables.

The data file would usually need FTP'ing to a directory on the host, loading into the database with SQL*Loader, file copied and archived using Unix (.prog) and a concurrent program submitted to do the SQL processing.  These steps would probably be defined in a sequential request set.

With 11g its now alot easier and all of this can be done in one PL/SQL package using UTL_FILE, database directories and External tables.  No .prog. No Unix. No SQL Loader.


Basic steps are as follows.


Create the external table (use _FILE suffix for external tables)

create table xxap_invoice_file
(
BATCH_NUMBER                     VARCHAR(20),
BATCH_TYPE                      VARCHAR(20),
BATCH_DATE                      DATE,
VENDOR_NAME                        VARCHAR(240),
...
INVOICE_NUMBER                  VARCHAR(240)
)
organization external
( default directory xx_incoming_files
access parameters
( RECORDS DELIMITED BY NEWLINE
  FIELDS TERMINATED by ','
  OPTIONALLY ENCLOSED BY '"'
  MISSING FIELD VALUES ARE NULL
  ( BATCH_NUMBER,
    BATCH_TYPE,
    BATCH_DATE date 'DD-MM-YYYY',
    VENDOR_NAME,
     ...
    INVOICE_NUMBER
  )
)
location ('xx_data_file.csv')
);
The external table works on a fixed filename (location).  I suggest you copy a dated or numbered file at runtime.

     --  making copy of file as xx_data_file.csv to load
     UTL_FILE.FCOPY ( 
      src_location  => 'XX_INCOMING_FILES', 
      src_filename  => v_filename,  -- e.g. 'xx_data_file_01-JAN-2011.csv' 
      dest_location => 'XX_INCOMING_FILES', 
      dest_filename => 'xx_data_file.csv');

Now populate a custom interface table from the external table (adding a RUN_ID from a custom sequence)
INSERT INTO xxap_invoices
(run_id, batch_number, batch_type....)
SELECT xx_ap_invoices_s.nextval, batch_number...
FROM XXAP_INVOICES_FILE;
Perform custom validation and processing on the new data in XXAP_INVOICES and populate Open Interface tables.  Finally submit the open interface job using fnd_submit.

fnd_request.submit_request
More examples to follow.  Let me know if you've any suggestions or questions?

Monday, January 17, 2011

Getting things done - Orange and o2 Customer Support Online

I've recently needed to contact both o2 and Orange; the quickest and no cost way is online - 

Orange - Twitter - go and follow orangehelpers and ask for help. Seems to be UK based and UK working hours Mon-Fri but they will sort out most things it seems,


o2 - Interractive liveperson.  Sometimes pops up asking if you'd like to chat on the website but doesnt seem consistant, perhaps dependant on load.  Instead use this link to open chat window.  https://server.lon.liveperson.net/hc/63960994/?cmd=file&file=visitorWantsToChat&site=63960994&byhref=0

Saturday, January 15, 2011

Fix My Street - it works

If you've a pot hole, a street light out or a traffic light problem, just find it on the map on over on fix my street and they automatically email the correct department in the correct local council with the issue.  Have a look at www.fixmystreet.com  Had some dangerous potholes filled and some lights fixed recently...