Sunday, August 22, 2010

Default Output Type di template modul XML Publisher

Default Output Type di template modul XML Publisher

Secara Default di EBS R12.0 tidak terdapat list value default output tipe (Excel, FO, HTML, PDF, RTF) untuk Template modul XML Publisher. Perhatikan gambar dibawah ini.

Create Template Before Patch
1

Tujuannya adalah agar dapat setting default output ketika kita submit request suatu concurrent program (ex : report).

Submit Request Before Patch
image002

Kalau secara default Output dari concurrent program (report) yang templatenya diregister melalui XML Publisher adalah bentuk PDF.

Perhatikan gambar dibawah ini

Options Submit Request Before Patch
image003

Solusi :

Apply Patch p5612820 dan p7017250 di Application tier applikasi Oracle, file patch bisa di di download dari http://metalink.oracle.com/.

Setelah kedua patch tersebut dijalankan, Create template di modul XML Publisher tampak seperti gambar dibawah ini

Create Template After Patch
image004
Options Submit request After Patch
image005

Perhatikan gambar diatas pada Form Options Submit Request Concurrent program, tampak terlihat format output dari template report adalah dalam bentuk Excel.

Thursday, August 19, 2010

Submit Request from Backend

Submit request pada oracle APPS salah satu caranya bisa dilakukan dengan cara menggunakan menu VIEW > Request, kali ini saya mencoba mencoba melakukan submit request dari backend dari suatu procedure (PL/SQL) yang saya apply di database, dengan parameter inputan yang saya passing dari record transaksi pada form

Perhatikan gambar form input Kwitansi dibawah ini, dari Form ini pengennya sih langsung generate report kwitansi melalui menu Tools WS Print Kwitansi

image001

Form Input Kwintansi

Setelah menu WS Print Kwintasi di tekan, Submit request untuk generate report Kwitansi otomatis jalan, perhatikan gambar dibawah

image002

Form Submit Request

Untuk detail report tidak saya jelaskan disini, untuk Mapping parameter reportnya perhatikan table di bawah

Program

WS Kwitansi Print

Short Name Program

WSARKWI

Application

Receivables

Parameter

1

p_branch_id

2

p_kwitansi_number

3

P_Org_id

4

P_Username

Skenario

  1. Membuat procedure untuk submit request, perhatikan procedure WS_PRINT_KWITANSI dibawah ini
PROCEDURE WS_PRINT_KWITANSI
p_branch_id INNUMBER,
p_kwitansi_number INNUMBER,
p_org_id INNUMBER,
p_username INVARCHAR2
IS
v_req_id NUMBER
BEGIN
/*
-- If you are directly running from the database using the TOAD, SQL-NAVIGATOR or --SQL*PLUS etc. Then you need to Initialize the Apps. In this case use the above API to --Initialize the APPS. If you are using same code in some procedure and running directly
--from application then you don’t need to initalize.
--Then you can comment the above API.
*/
v_req_id :=fnd_request.Submit_request’AR’,’WSARKWI’,’WS Kwitansi Print’,
SYSDATE,false,p_branch_id,p_kwitansi_number,p_org_id,p_username
/*
fnd_request.Submit_request(application,program,description,start_time,sub_request,argument1..100)
-- Arguments
-- application - Short name of application under which the program is registered
-- program - concurrent program name for which the request has to be submitted
-- description - Optional. Will be displayed along with user concurrent program name
-- start_time - Optional. Time at which the request has to startb running
-- sub_request - Optional. Set to TRUE if the request is submitted from another running request and has to be treated
-- - as a sub request. Default is FALSE
-- argument1..100 - Optional. Arguments for the concurrent request
*/
COMMIT;
IF v_req_id = 0
THEN
fnd_file.put_line fnd_file.LOG,’Request submission For this store FAILED’
--DBMS_OUTPUT.PUT_LINE( ’Request submission For this store FAILED’ );
ELSE
fnd_file.put_line fnd_file.LOG,’Request submission for this store SUCCESSFUL’
--DBMS_OUTPUT.PUT_LINE( ’Request submission For this store SUCCESSFUL’ );
ENDIF;
--Note:- If you are running directly from database, use DBMS API to display. If you are
-- Running directly from Application, then Use the fnd_file API to write the message
-- in the log file.
END WS_PRINT_KWITANSI
2. Personalisasi Form Print Kwitansi untuk mengeksekusi procedure WS_PRINT_KWITANSI diatas

Seq

10

Description

Menu WS Print Kwitansi

Condition

Trigger Event

WHEN-NEW-FORM-INSTANCE

Trigger Object

Condition

Actions

Seq

10

Type

Menu

Description

Language

All

Menu Entry

MENU1

Menu Label

WS Print Kwitansi

Seq

20

Description

Trigger Submit Request From Backend

Condition

Trigger Event

MENU1

Trigger Object

Condition

Actions

Seq

10

Type

Builtin

Description

Language

All

Builtin Type

Execute a Procedure

Argument

=’DECLARE

BEGIN

WS_PRINT_KWITANSI(’’’||:KWITANSI.BRANCH_ID

||’’’,’’’||

:KWITANSI.KWITANSI_NUMBER||’’’,

fnd_global.ORG_ID,

fnd_global.USER_NAME);

END’

Wednesday, August 18, 2010

FNDLOAD pada personalize form Oracle APPS

Kali ini saya coba mendokumentasikan penggunaan FNDLOAD dalam Personalize Form, beberapa hari yang lalu saya memindahkan personalisasi-personalisasi yang telah saya setup di salah satu environment oracle applikasi ke environment yang lain.

Perhatikan personalisasi pada Invoice modul Account Payables [Mesin 1]

image001

Form Personalisasi Oracle APPS 1

aktifkan enviroment oracle applikasi, pada mesin / server oracle anda [Mesin 1]

[oracleuser1@mesin1 ~]$ . $APPL_TOP/APPSVIS_ mesin1.env

Jalankan FNDLOAD Download pada mesin 1 untuk mendoanload personalisasi,

Level Form :

FNDLOAD <userid>/<password> 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct <filename.ldt> FND_FORM_CUSTOM_RULES

form_name=<form name>

Level Function :

FNDLOAD <userid>/<password> 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct <filename.ldt> FND_FORM_CUSTOM_RULES function_name=<function name>

Kali ini saya akan mendownload personalisasi pada level form, dalam contoh saya mendownload personalisai dari Form APXINWKB

[oracleuser1@ mesin1 ~]FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct APXINWKB_pers.ldt FND_FORM_CUSTOM_RULES form_name=APXINWKB

Log filename : L4500022.log [Enter]

Report filename : O4500022.out

[oracleuser1@ mesin1 ~]

Selanjutnya cek di $APPL_TOP, pastikan file APXINWKB_pers.ldt sudah tergenerate.

[oracleuser1@ mesin1 ~]$ ll APXINWKB_pers.ldt

-rw-r--r-- 1 oracleuser1 dba 119122 Jun 16 02:14 APXINWKB_pers.ldt

[oracleuser1@hostname ~]$

Selanjutnya copy file .ldt anda, karena personalisasi akan di upload di instance yang berbeda dimana berbeda mesin juga yaitu mesin 2, maka file .ldt tersebut kita copy ke $APPL_TOP di mesin 2

Sebagai contoh saya menggunakan scp mesin 2 (local machine) dari mesin 1 (remote machine)

[oracleuser2@ mesin2 appl]$ scp oracleuser2@ mesin1:$APPL_TOP/APXINWKB_pers.ldt APXINWKB_pers.ldt

[oracleuser2@ mesin2 appl]$ ll APXINWKB_pers.ldt

-rw-r--r-- 1 mesin2 dba 119122 Jun 16 03:47 APXINWKB_pers.ldt

Selanjutnya di mesin 2 agar FNDLOAD di kenalin maka aktifkan environment oracle applikasi mesin 2

[oracleuser1@ mesin2 appl] . . APPSVIS_mesind.env

image002

Personalize Form Oracle APPS 2 Before FNDLOAD Upload

Selanjutnya, jalan kan FNDLOAD Upload untuk

[oracleuser1@mesin2 appl]$ FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/affrmcus.lct APXINWKB_pers.ldt

Log filename : L4499468.log

Report filename : O4499468.out

Setelah itu cek kembali Form Invoice di instance yg baru (mesin 2)

image003

Personalize Form Oracle APPS 2 After FNDLOAD Upload