Thursday 29 March 2012

IMP ABOUT THE WHOLE CYCLE OF O TO CASH

---------------------------IMP ABOUT THE RELATION AND FLOW -------------------------------
 INV---OM---- AR--- > GL<-----AP---- PO----INV     O TO C CYCLE CALLED ORDER TO CASH CYCLE.....

AR --INVOICE AND RECEIPT
AP --PAYMENT  AND INVOICE

 -------------------IMP ABOUT THE RELATION -----------------------------------------------
 (CUSTOMER) AR------RECEIVING MONEY FROM CUSTOMER  ------>ORGANIZATION  -----PAYING MONEY TO SUPPLIER ------>AP (SUPPLIER)

Saturday 24 March 2012

referance query

SELECT ORGANIZATION_CODE AS "Warehouse name", SEGMENT1 AS "Item Number",
       Description AS "Item Descriptions",PRIMARY_UOM_CODE AS "UOM",
       sum(MOQ.TRANSACTION_QUANTITY) AS "Quantity",ACTUAL_COST AS "Cost"
      
     
FROM   MTL_PARAMETERS MP,MTL_SYSTEM_ITEMS_B MB,
       MTL_ONHAND_QUANTITIES MOQ,MTL_MATERIAL_TRANSACTIONS MMT
      
WHERE MP.ORGANIZATION_ID = MB.ORGANIZATION_ID
AND   MB.INVENTORY_ITEM_ID = MOQ.INVENTORY_ITEM_ID
AND   MB.ORGANIZATION_ID = MOQ.ORGANIZATION_ID
AND   MOQ.INVENTORY_ITEM_ID = MMT.INVENTORY_ITEM_ID
AND   MMT.ORGANIZATION_ID = MOQ.ORGANIZATION_ID
AND   MOQ.CREATE_TRANSACTION_ID = MMT.TRANSACTION_ID
AND   MP.ORGANIZATION_ID = NVL(:ORG,MP.ORGANIZATION_ID)
AND   TRUNC(MOQ.CREATION_DATE) BETWEEN NVL (:FROM_DATE, trunc(moq.creation_date))
                                      AND NVL (:TO_DATE, trunc(moq.creation_date))
group by moq.organization_id,ORGANIZATION_CODE,SEGMENT1,Description,PRIMARY_UOM_CODE,ACTUAL_COST,MOQ.CREATION_DATE,
      MOQ.INVENTORY_ITEM_ID;



function AfterPForm return boolean is
begin
:F_D:=to_date(:FROM_DATE,'YYYY/MM/DD HH24:MI:SS');
:T_D:=to_date(:TO_DATE,'YYYY/MM/DD HH24:MI:SS');
  return (TRUE);
end;

function BeforeReport return boolean is
begin
  SRW.USER_EXIT('FND SRWINIT');
  return (TRUE);
end;

function AfterReport return boolean is
begin
      SRW.MESSAGE(000,'********** HMC Warehouse Obsolesce Report **********');
  if :CS_COUNT > 0 then 
  SRW.MESSAGE(001,'Number Of Records Printed '||:CS_COUNT);
  else
  SRW.MESSAGE(001,'No data for the provided report parameters');
  end if;
 
  SRW.MESSAGE(000,'********** End of HMC Warehouse Obsolesce Report **********');
  SRW.USER_EXIT('FND SRWEXIT');
  return (TRUE);
end;

po print correct

select poh.segment1 PO_Number,poh.REVISION_NUM, papf.full_name,aps.vendor_name Vendor_Name,apsa.address_line1||','||apsa.address_line2||','||apsa.address_line3
||','||apsa.address_line4||','||apsa.city||','||apsa.zip Vendor_Address,TO_CHAR(TO_DATE(poh.CREATION_DATE,'DD-MON-RRRR'))CREATION_DATE,
TO_CHAR(TO_DATE(SYSDATE,'DD-MON-RRRR')) PRINT_DATE,TO_CHAR(TO_DATE(poh.REVISED_DATE,'DD-MON-RRRR'))REVISED_DATE,
decode(poh.authorization_status ,'APPROVED',poh.authorization_status,'DRAFT') Status, poh.type_lookup_code PO_Type,poh.currency_code,
poh.user_hold_flag on_hold, poh.freight_terms_lookup_code delivery_mode,poh.quote_vendor_quote_number supplier_quote_number,
poh.attribute1 Insurance,apt.name payment_term,pol.line_num||'.'||rsl.line_num line_number,pltv.line_type line_type
,(select segment1
  from mtl_system_items_b
  where inventory_item_id=pol.item_id
  and organization_id =prl.destination_organization_id) Item_code
, pol.item_description,
pol.vendor_product_num vendor_item_code,mcb.concatenated_segments item_category,pol.quantity,pol.UNIT_MEAS_LOOKUP_CODE Purchasing_uom,pol.unit_price,
pol.quantity*pol.unit_price line_total,poll.PROMISED_DATE,prh.segment1||'.'||prl.LINE_NUM PR_Ref,
hrl.ADDRESS_LINE_1||','||hrl.address_line_2||','||hrl.address_line_3||','||hrl.TOWN_OR_CITY||','||hrl.country Ship_to_location,pol.NOTE_TO_VENDOR Line_comments,
decode(poh.authorization_status ,'APPROVED','','This PO is in draft status and should not be considered as a confirmed Purchase Order from HMC') COMMENTS
from po_headers_all poh,
po_lines_all pol,
ap_terms_tl apt,
ap_suppliers aps,
ap_supplier_sites_all apsa,
per_all_people_f papf,
--mtl_system_items_b msib,
mtl_categories_b_kfv mcb,
po_line_locations_all poll,
hr_locations hrl,
po_distributions_all pod,
po_req_distributions_all prd,
po_requisition_lines_all prl,
po_requisition_headers_all prh,
rcv_shipment_lines rsl,
rcv_shipment_headers rsh,fnd_user fnd,po_line_types_vl pltv
where poh.PO_HEADER_ID = pol.po_header_id and
      pol.line_type_id= pltv.LINE_TYPE_ID and
      poh.terms_id = apt.term_id and
      poh.VENDOR_ID  = aps.vendor_id and
      poh.VENDOR_SITE_ID =apsa.vendor_site_id and
      aps.vendor_id =apsa.vendor_id and
      poh.AGENT_ID  = papf.person_id and
      fnd.employee_id(+)=PAPF.PERSON_ID and
      --pol.ITEM_ID  = msib.INVENTORY_ITEM_ID and
      pol.category_id= mcb.category_id and
      pol.po_line_id=poll.po_line_id and
      poll.LINE_LOCATION_ID = pod.LINE_LOCATION_ID
      and prh.requisition_header_id(+)=prl.requisition_header_id
      and prl.requisition_line_id(+)=prd.requisition_line_id
      and prd.distribution_id(+)=pod.req_distribution_id
      --and prl.DESTINATION_ORGANIZATION_ID = msib.ORGANIZATION_ID
      and poll.ship_to_location_id = hrl.location_id
      AND pod.po_distribution_id=rsl.po_distribution_id(+)
      AND rsl.shipment_header_id = rsh.shipment_header_id(+) and
      apt.language='US'
     and poh.PO_HEADER_ID = nvl(:SEG,poh.PO_HEADER_ID)
      and aps.vendor_id = nvl(:VEND,aps.vendor_id)
and TRUNC(poh.CREATION_DATE) >= to_date(substr(:DAT,1,instr(:DAT,' ')),'yyyy/mm/dd')
and trunc(poh.CREATION_DATE) <= to_date(substr(:DAT1,1,instr(:DAT1,' ')),'yyyy/mm/dd')
     --AND poh.CREATION_DATE between to_date(:dat,'dd/mon/yyyy hh24:mi:ss')
      --and  to_date(:dat1,'dd/mon/yyyy hh24:mi:ss')
      and trunc(sysdate) between trunc(papf.EFFECTIVE_START_DATE) and trunc(papf.EFFECTIVE_END_DATE)    
      and fnd.user_id=FND_GLOBAL.USER_ID
 order by poh.segment1,pol.line_num



function BeforeReport return boolean is
begin
  SRW.USER_EXIT('FND SRWINIT');
  /*:P_USERID:=FND_GLOBAL.USER_ID;
  :P1:='AND FND.USER_ID = '''||:P_USERID||'''';
  return (TRUE);
exception
    when others then
    :P1:='';*/
     return (TRUE);   
end;



function AfterReport return boolean is
begin
     SRW.MESSAGE(000,'*****************PO Print Report***************');
  if :CS_COUNTRCP>0 then
  SRW.MESSAGE(000,'Number of PO Printed:'||:CS_COUNTRCP);
  else
  SRW.MESSAGE(000,'No Data Found:');   
  end if;
  SRW.MESSAGE(000,'*****************End Of Report**********************');
  SRW.USER_EXIT('FND SRWEXIT');
  return (TRUE);
end;

query for the po print report

SELECT
DISTINCT(PHA.SEGMENT1) "PO Number",
PHA.REVISION_NUM "Revision",
PHA.AGENT_ID "Buyer ID",
PAPF.FULL_NAME "Buyer",
PV.SEGMENT1 "Vendor",
PVSA.ADDRESS_LINE1 || ',' ||PVSA.ADDRESS_LINE2 || ',' ||PVSA.ADDRESS_LINE3 || ',' ||PVSA.CITY || ',' ||PVSA.ZIP || ',' ||PVSA.COUNTRY "Vendor Address",
to_char(PHA.CREATION_DATE,'DD-MON-YYYY')"Creation Date",
to_char(SYSDATE,'DD-MON-YYYY')"Printed Date",
to_char(PHA.REVISED_DATE,'DD-MON-YYYY') "Revised Date",
DECODE(PHA.AUTHORIZATION_STATUS,'REQUIRES REAPPROVAL','DRAFT',
 'INCOMPLETE',    'DRAFT',
 'IN PROCESS',    'DRAFT',
 'PRE-APPROVED' ,'DREFT',
 '','DRAFT',
'APPROVED') "Status",
PHA.TYPE_LOOKUP_CODE "PO type",
PHA.CURRENCY_CODE "Currency",
PHA.USER_HOLD_FLAG "On Hold",
PHA.FREIGHT_TERMS_LOOKUP_CODE "Delivery Mode",
PHA.QUOTE_VENDOR_QUOTE_NUMBER "Supplier Quote Number",
PHA.ATTRIBUTE1 "Insurance",
APT.NAME "Payment Term" ,
PLA.LINE_NUM "Line Number",
PLA.ORDER_TYPE_LOOKUP_CODE "Line Type",
msib.SEGMENT1 "Item code",
PLA.ITEM_DESCRIPTION "Item Description",
PLA.VENDOR_PRODUCT_NUM "Vendor Item Code",
MCBK.CONCATENATED_SEGMENTS "Item Category",
PLA.QUANTITY "Quantity",
PLA.UNIT_MEAS_LOOKUP_CODE "Purchasing UOM",
PLA.UNIT_PRICE "Unit Price",
DECODE(PLA.QUANTITY,NULL,1*PLA.UNIT_PRICE,
 PLA.QUANTITY*PLA.UNIT_PRICE
 ) "Line Total",
--(PLA.QUANTITY*PLA.UNIT_PRICE) "Line Total",
PLLA.PROMISED_DATE "Promised date",
PRHA.SEGMENT1||'.'||PRLA.LINE_NUM "PR Ref",
HL.ADDRESS_LINE_1 || ',' || HL.ADDRESS_LINE_2 || ',' ||HL.ADDRESS_LINE_3 || ',' ||HL.TOWN_OR_CITY || ',' ||HL.POSTAL_CODE || ',' ||HL.COUNTRY "Ship to Location",
PLA.NOTE_TO_VENDOR "Line Comments",
xx_po_print_receipt_test(pha.po_header_id,pha.currency_code)"PO Total(QAR)",
xx_po_print_receipt_test_rates(PHA.CURRENCY_CODE,'USD',PHA.CREATION_DATE,PHA.PO_HEADER_ID) "PO Total (USD)",
PHA.COMMENTS "Comments"

FROM
PER_ALL_PEOPLE_F PAPF ,
PO_VENDORS PV,
PO_VENDOR_SITES_ALL PVSA,
AP_TERMS APT,
HR_LOCATIONS HL,
MTL_CATEGORIES_B_KFV MCBK,
MTL_SYSTEM_ITEMS_B MSIB,
ORG_ORGANIZATION_DEFINITIONS OOD,

PO_HEADERS_ALL PHA,
PO_LINES_ALL PLA,
PO_LINE_LOCATIONS_ALL PLLA,
PO_DISTRIBUTIONS_ALL PDA,
PO_REQ_DISTRIBUTIONS_ALL PRDA,
PO_REQUISITION_LINES_ALL PRLA,
PO_REQUISITION_HEADERS_ALL PRHA

WHERE PAPF.PERSON_ID=PHA.AGENT_ID
AND PV.VENDOR_ID =PHA.VENDOR_ID
AND PV.VENDOR_ID=PVSA.VENDOR_ID
AND PHA.VENDOR_SITE_ID=PVSA.VENDOR_SITE_ID
AND PHA.TERMS_ID=APT.TERM_ID
AND PLA.PO_HEADER_ID=PHA.PO_HEADER_ID
AND PLA.PO_LINE_ID=PLLA.PO_LINE_ID
AND PLLA.SHIP_TO_LOCATION_ID=HL.LOCATION_ID
AND MCBK.CATEGORY_ID=PLA.CATEGORY_ID
and MSIB.INVENTORY_ITEM_ID=PLA.ITEM_ID
AND PHA.PO_HEADER_ID=PLA.PO_HEADER_ID
AND PDA.PO_HEADER_ID=PLA.PO_HEADER_ID
AND PDA.PO_LINE_ID=PLA.PO_LINE_ID
AND PDA.REQ_DISTRIBUTION_ID=PRDA.DISTRIBUTION_ID
AND PRDA.REQUISITION_LINE_ID=PRLA.REQUISITION_LINE_ID
AND PRLA.REQUISITION_HEADER_ID=PRHA.REQUISITION_HEADER_ID
AND PV.SEGMENT1=NVL(:PV_SEG,PV.SEGMENT1)
AND  PHA.SEGMENT1=NVL(:PO_SEG,PHA.SEGMENT1)
AND PHA.CREATION_DATE BETWEEN :S AND :E
ORDER BY PHA.SEGMENT1;



function BeforeReport return boolean is
begin
 SRW.USER_EXIT('FND SRWINIT');
  return (TRUE);
end;



function AfterReport return boolean is
begin
  SRW.USER_EXIT('FND SRWEXIT');
  return (TRUE);
end;


date
RRRR/MM/DD HH24:MI:SS

P_CONC_REQUEST_ID
number
20

Thursday 22 March 2012

How to set ORG ID in PL/SQL

11i
BEGIN
DBMS_APPLICATION_INFO.SET_CLIENT_INFO('ORG_ID');
END;

R12
BEGIN
MO_GLOBAL.SET_POLICY_CONTEXT('S',ORG_ID);
END;

for reference links use this ones

http://bansibaba.blogspot.in/2011/07/how-to-set-org-id-in-plsql.html
http://oracledollarschennai.blogspot.in/2008/07/flex-and-profiles.html

 http://souravpupu.blogspot.in/2011/08/how-to-enable-oracle-apps.html
 http://oracleinme.blogspot.in/2009/08/how-to-enable-personalization-link-for.html
http://oracle.anilpassi.com/personalization-link-does-not-appear-despite-setting-profile.html

 /OA_MEDIA/FNDSSCORP.gif
path to keep the image for report
for xml reports refer the below links
http://oracleapps88.blogspot.in/search/label/XMLP

IMP LINK FOR OAF AND ALL ORACLE OBJECTS
http://oracleapps88.blogspot.in/2011/09/oracle-apps-xml-reports-in-excel.html

Friday 16 March 2012

Query that shows all the repsonsibilities and what functions are attached to these responsibilities.

SELECT DISTINCT faa.application_name application, rtl.responsibility_name,
ffl.user_function_name, ff.function_name, ffl.description,
ff.TYPE
FROM fnd_compiled_menu_functions cmf,
fnd_form_functions ff,
fnd_form_functions_tl ffl,
fnd_responsibility r,
fnd_responsibility_vl rtl,
apps.fnd_application_all_view faa
WHERE cmf.function_id = ff.function_id
AND r.menu_id = cmf.menu_id
AND rtl.responsibility_id = r.responsibility_id
AND cmf.grant_flag = 'Y'
AND ff.function_id = ffl.function_id
AND faa.application_id(+) = r.application_id
AND r.end_date IS NULL
AND rtl.end_date IS NULL
ORDER BY rtl.responsibility_name;

How to clear Apache Cache from Application without bouncing instance.

1. Navigate to "Functional Administrator" responsibility.
2. Once logged in click on the "Core Services" tab.
3. Click on "Caching Framework" link in the blue menu bar.
4. Click on "Global Configuration" link in the left vertical menu.
5. In the "Cache Policy" region click on the "Clear All Cache" button.
6. Click the "Yes" button to confirm the action.
7. Click the "Apply" button to apply the changes.

Oracle apps Create the Fnd user using API in oracle apps

DECLARE
l_responsibility_id NUMBER;
l_application_id NUMBER;
l_user_id NUMBER := fnd_global.user_id;
x_user_id NUMBER;
l_password VARCHAR2 (2000) := 'welcome123';
BEGIN
apps.hr_user_acct_internal.create_fnd_user (p_user_name => 'dipak',
p_password => l_password,
p_employee_id => NULL,
p_user_id => x_user_id,
p_user_start_date => SYSDATE,
p_email_address => NULL,
p_description => NULL,
p_password_date => NULL
);
DBMS_OUTPUT.put_line (x_user_id);

IF x_user_id IS NOT NULL
THEN
UPDATE fnd_user
SET password_lifespan_days = 90
WHERE user_id = x_user_id;

COMMIT;
END IF;
END;


for attaching responsibility to the user please refer my  previous article ..of  ADDING RESPONSIBILITY TO USER FROM  BACKEND

Oracle apps(Loading data to Stagging table...by using sql loader)

i am explainning all steps with an example as
1)create csv file from excel file by save as with proper format u required(remove all headings  from the excel so that the headings automatically removed in csv )
eg data
85,1-Jan-12,6-Jan-12,7-Jan-12,14-Jan-12,15-Jan-12,22-Jan-12,23-Jan-12,30-Jan-12,31-Jan-12
85,1-Feb-12,7-Feb-12,8-Feb-12,15-Feb-12,16-Feb-12,23-Feb-12,24-Feb-12,,
85,1-Mar-12,2-Mar-12,3-Mar-12,10-Mar-12,11-Mar-12,18-Mar-12,19-Mar-12,26-Mar-12,27-Mar-12
85,1-Apr-12,3-Apr-12,4-Apr-12,11-Apr-12,12-Apr-12,19-Apr-12,20-Apr-12,27-Apr-12,28-Apr-12
85,1-May-12,5-May-12,6-May-12,13-May-12,14-May-12,21-May-12,22-May-12,29-May-12,30-May-12
85,1-Jun-12,6-Jun-12,7-Jun-12,14-Jun-12,15-Jun-12,22-Jun-12,23-Jun-12,30-Jun-12,
85,1-Jul-12,1-Jul-12,8-Jul-12,9-Jul-12,16-Jul-12,17-Jul-12,24-Jul-12,25-Jul-12,
85,1-Aug-12,1-Aug-12,2-Aug-12,9-Aug-12,10-Aug-12,17-Aug-12,18-Aug-12,25-Aug-12,26-Aug-12
85,1-Sep-12,2-Sep-12,3-Sep-12,10-Sep-12,11-Sep-12,18-Sep-12,19-Sep-12,26-Sep-12,27-Sep-12
85,1-Oct-12,4-Oct-12,5-Oct-12,12-Oct-12,13-Oct-12,20-Oct-12,21-Oct-12,28-Oct-12,29-Oct-12
85,1-Nov-12,5-Nov-12,6-Nov-12,13-Nov-12,14-Nov-12,21-Nov-12,22-Nov-12,28-Nov-12,29-Nov-12
85,1-Dec-12,6-Dec-12,7-Dec-12,14-Dec-12,15-Dec-12,22-Dec-12,,29-Dec-12,30-Dec-12

2)create stagging table as given below
CREATE TABLE XX_CUST_STG_TAB_V2
(
  EMPLOYEE_NUMBER       VARCHAR2(30 BYTE),
  MONTHYEAR VARCHAR2(200), 
  SEGMENT1              VARCHAR2(200 BYTE),
  SEGMENT2              VARCHAR2(200 BYTE),
  SEGMENT3              VARCHAR2(200 BYTE),
  SEGMENT4              VARCHAR2(200 BYTE),
  SEGMENT5              VARCHAR2(200 BYTE),
  SEGMENT6              VARCHAR2(200 BYTE),
  SEGMENT7              VARCHAR2(200 BYTE),
  SEGMENT8              VARCHAR2(200 BYTE),
  SEGMENT9              VARCHAR2(200 BYTE),
  SEGMENT10             VARCHAR2(200 BYTE),
  SEGMENT11             VARCHAR2(200 BYTE),
  SEGMENT12             VARCHAR2(200 BYTE),
  ATTRIBUTE1            VARCHAR2(200 BYTE),
  ATTRIBUTE2            VARCHAR2(200 BYTE),
  ATTRIBUTE3            VARCHAR2(200 BYTE),
 CREATED_BY             NUMBER(15),
 LAST_UPDATE_LOGIN      NUMBER(15),
 LAST_UPDATED_BY        NUMBER(15),
 CREATION_DATE          DATE,
 LAST_UPDATE_DATE       DATE
);

3)create the CTL file to load the data of csv to the stagging table
as
LOAD DATA
INFILE '/u01/DEv/apps/apps_st/appl/xxcustomtop/12.0.0/bin/XX_SHIFT_EMP.csv'
APPEND INTO TABLE XX_CUST_STG_TAB_V2
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(
  EMPLOYEE_NUMBER,
  MONTHYEAR, 
  SEGMENT1 ,
  SEGMENT2 ,
  SEGMENT3 ,
  SEGMENT4 ,
  SEGMENT5 ,
  SEGMENT6 ,
  SEGMENT7 ,
  SEGMENT8 ,
  SEGMENT9 ,
  SEGMENT10,
  SEGMENT11,
  SEGMENT12,
  ATTRIBUTE1 "IN",----this is keep the track of all records i have inserted it as IN
  ATTRIBUTE2 "XX_SHIFT_STG_SEQ.NEXTVAL", ---this is the sequence value ..
  CREATED_BY        "FND_GLOBAL.USER_ID",
  LAST_UPDATE_LOGIN "FND_GLOBAL.LOGIN_ID",
  LAST_UPDATED_BY   "FND_GLOBAL.USER_ID",
  CREATION_DATE     SYSDATE,
  LAST_UPDATE_DATE  SYSDATE
 )



4)place or copy the  Csv and CTL files in the bin of the custom top
as example
/u01/DEv/apps/apps_st/appl/xxcustomtop/12.0.0/bin/XX_SHIFT_EMP.csv'
(always give the same name to the csv ,ctl ,concurrent program name )

5)then create the concurrent program to load the data to stagging table as select the type as sql loader
and always give the custom application top while creating the concurrent program.execution name  should be same as the ctl and csv..

6)and for running the concurrent program attach it to the proper request group and to the responsibility through which you have to run the cocurrent program .

and 7)query the table to see all data of csv has been loaded in the stagging table or not ..




Wednesday 14 March 2012

Oracle apps (Conversions)To remove last column spaces ( conversions )from staging table

----UPDATE THE LAST COUMN BY USING FOLLOWING STATEMENT----

Update INVOICE_HEADERS_STG90
set VENDOR_SITE_CODE = replace (VENDOR_SITE_CODE, CHR (13)) 
where VENDOR_SITE_CODE  like '%' || CHR (13) || '%';

Oracle apps (SIT(special Information Type) in oracle using API )

1)Creating SIT in oracle apps Using API

declare
  v_count                     INTEGER := 0;
  n_object_version_number     INTEGER;
  n_analysis_criteria_id      INTEGER;
  n_person_analysis_id        INTEGER;
  n_pea_object_version_number INTEGER;
begin
SELECT fi.id_flex_num
  INTO n_id_flex_num
  FROM fnd_id_flex_structures_vl fi
  WHERE (fi.id_flex_structure_code = 'Shift Employee Offdays')
  AND (application_id = 800)
  AND (id_flex_code = 'PEA');
use cursor  loop to load data
hr_sit_api.create_sit(
                            p_person_id        => xx_person_id
                           ,p_business_group_id    => fnd_profile.VALUE('PER_BUSINESS_GROUP_ID')
                           ,p_id_flex_num               => n_id_flex_num
                           ,p_effective_date           => SYSDATE
                           ,p_date_from                 => v_rec.start_date
                           ,p_date_to                     => v_rec.end_date
                           ,p_segment1                  => var3
                           ,p_segment2                  => var4
                           ,p_segment3                  => var5
                           ,p_segment4                  => var6
                           ,p_segment5                  => var7
                           ,p_segment6                  => var8
                           ,p_segment7                  => var9
                           ,p_segment8                  => var10
                           ,p_segment9                  => var11
                           ,p_segment10                 => var12
                           ,p_segment11                 => var13
                           ,p_segment12                 => var14
                          
                           ,p_analysis_criteria_id    => n_analysis_criteria_id
                           ,p_person_analysis_id    => n_person_analysis_id
                           ,p_pea_object_version_number => n_pea_object_version_number
                           );
end cursor loop
  COMMIT;
 end;

navigation to check whether SIT created or Not
goes to responsibility  HRMS SUPER USER=>ENTER  AND MAINTAIN =>SPECIAL INFORMATION TYPE=>SELECT  ANY SIT AND CLICK ON DETAILS TO SEE WHETHER THE DATA HAS BEEN LOADED OR NOT

2)Delete SIT 

declare
begin
 hr_sit_api.delete_sit(false,5070,1);
end;
*)first parameter is always false
*)find the proper person_analysis_id  by using  following  query
 SELECT  person_analysis_id FROM PER_PERSON_ANALYSES
 *)object version is always 1

3)Upadating SIT
hr_sit_api.update_sit
(i have not tried the update sit API if i will use this one then will put the details on the same ...)

Thursday 8 March 2012

How attach concurrent program to request group


BEGIN
FND_PROGRAM.add_to_group('XYZ_ABC_EMPLOYEE' -- program_short_name
, 'XYZ' -- application
, 'XYZ Group' -- Report Group Name
, 'XYZ'); -- Report Group Application

END;

example...
begin
FND_PROGRAM.add_to_group('XXPONEEDBY',
                         'Purchasing',
                         'Application Developer Reports',---request group name  FND_REQUEST_GROUPS
                         'Purchasing');
                         commit;
                         end;

OAF (Importing page and Application module in 11i)

1)Import Page from the bin  of jdev of jdeveloper9i
steps to remember --write the below code in single line only
import D:\JDEVELOPER9i\jdevbin\jdev\myprojects\xxtest\oracle\apps\per\selfservice\an_expense\webui\APPROVEREJECTPAGE.xml -username xxapps -password xxapps -rootdir D:\JDEVELOPER9i\jdevbin\jdev\myprojects\ -dbconnection "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.129.231.234)(PORT=1520))(CONNECT_DATA=(SID=XXDEV)))"

2)Importing Am from bin of jdev of jdeveloper9i
steps to remember --write the below code in single line only
import D:\JDEVELOPER9i\jdevbin\jdev\myprojects\xx1\oracle\apps\pos\suppreg\webui\xxeextendedRG.xml -username xxapps -password xxapps -rootdir D:\JDEVELOPER9i\jdevbin\jdev\myprojects\ -dbconnection "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xx.xxx.xxx.xxx)(PORT=1520))(CONNECT_DATA=(SID=xxxx)))"

OAF jpx remove Code for 11i

begin
jdr_utils.deleteDocument('/oracle/apps/pos/suppreg/server/customizations/site/0/SupplierRegAM');
end;

execute the above script by replacing  path of document and  finally commit 
commit;

OAF(How To Bounce 11i)

/u03/DEV/devcomn/admin/scripts/DEV_msftora2
no need to bounce OACORE server only need to bounce HTTP server...
adapcctl.sh stop
adapcctl.sh start

OAF(How To Bounce R12)

Environment File.......
cd $ADMIN_SCRIPTS_HOME
. APPSCLONE_trainingsrv.env
adapcctl.sh      -- for HTTP server .
adoacorectl.sh -- for OACORE server.

/u02/CLONE/inst/apps/CLONE_trainingsrv/admin/scripts

adapcctl.sh stop
adoacorectl.sh stop
adoacorectl.sh start
adapcctl.sh start

ADDING RESPONSIBILITY TO USER FROM BACKEND

begin
fnd_user_pkg.addresp(
        ‘&User_Name’, /*Application User Name */
        ‘&Responsablity_Application_Short_Name’, /*get from Query Below */
        ‘&Responsibility_Key’,/*get from Query Below */
        ‘&Security_Group’, /* Most of cases it is ‘STANDARD’ so you can hard code it */
        ‘&Description’, /* Any comments you want */
        ‘&Start_Date’, /* Sysdate From Today */
        ‘&End_Date’ ); /* Sysdate + 365 Rights for Next One Year*/
commit;
dbms_output.put_line(‘Responsibility Added Successfully’);
exception
        when others then
                dbms_output.put_line(‘ Responsibility is not added due to ‘ SQLCODE substr(SQLERRM, 1, 100));
                Rollback;
end;
 EXAMPLEEEE..................................


BEGIN
        fnd_user_pkg.addresp ('SYSADMIN','FND','FND_FUNC_ADMIN','STANDARD','Add Responsibility to USER using pl/sql',SYSDATE,SYSDATE + 100);
         COMMIT;
        DBMS_OUTPUT.put_line ('Responsibility Added Successfully');
EXCEPTION
        WHEN OTHERS
        THEN
        DBMS_OUTPUT.put_line (   ' Responsibility is not added due to '|| SQLCODE|| SUBSTR (SQLERRM, 1, 100));
        ROLLBACK;
END;

OAF Things to Remeber in Mind....

1)The Path to take DBC File from middle tier..
the DBC file is present at the application folder in the fnd TOP
/u03/FAUAT/fauatappl/fnd/11.5.0/secure/FAUAT_msftora2

2)query to find the responsibility key for creating OAF application

SELECT FAV.APPLICATION_SHORT_NAME, FAV.APPLICATION_NAME,FRV.RESPONSIBILITY_KEY, FRV.RESPONSIBILITY_NAME
FROM FND_APPLICATION_VL FAV, FND_RESPONSIBILITY_VL FRV
WHERE FRV.APPLICATION_ID=FAV.APPLICATION_ID and responsibility_name like '%Functional Administrator%'
ORDER BY FRV.RESPONSIBILITY_NAME ;

3)give the proper username and password  and give the responsibility short name and the responsibility key

4)give  proper database connection details
as
   1)  hostname
   2)  port
   3) SID or SERVICE NAME

OAF(mandatory who columns while creating table for oracle R12)

 CREATED_BY                      NUMBER(15),
  LAST_UPDATE_LOGIN               NUMBER(15),
  LAST_UPDATED_BY                 NUMBER(15),
  CREATION_DATE                   DATE,
  LAST_UPDATE_DATE                DATE);

OAF(mandatory who columns while creating table for oracle 11i)

  CREATED_BY              NUMBER,
  CREATION_DATE           DATE,
  LAST_UPDATED_BY         NUMBER,
  LAST_UPDATE_DATE        DATE,
  OBJECT_VERSION_NUMBER   NUMBER,
  LAST_UPDATE_LOGIN       NUMBER,

OAF(File Download from application server)


steps
1)create item as link or button or whatever u want which will fire after clicking or selecting
(here i have created button and event name is actionInMainSearchScreen )
2)make changes only at highlighted places

 import com.sun.java.util.collections.ArrayList;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import oracle.apps.fnd.common.VersionInfo;
import oracle.apps.fnd.framework.OAApplicationModule;
import oracle.apps.fnd.framework.webui.OAControllerImpl;
import oracle.apps.fnd.framework.webui.OAPageContext;
import oracle.apps.fnd.framework.webui.beans.OAWebBean;
import oracle.apps.fnd.framework.webui.beans.message.OAMessageTextInputBean;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;
import oracle.apps.fnd.framework.OAApplicationModule;
import oracle.sql.NUMBER;
import oracle.apps.fnd.framework.OAException;
import oracle.apps.fnd.framework.OARow;
import oracle.apps.fnd.framework.OAViewObject;
import oracle.apps.fnd.framework.server.OAApplicationModuleImpl;
import oracle.apps.fnd.framework.server.OADBTransaction;
import oracle.jbo.domain.Number;
import java.io.Serializable;
import oracle.apps.fnd.framework.OAApplicationModule;
import oracle.apps.fnd.common.VersionInfo;
import oracle.apps.fnd.framework.webui.OAControllerImpl;
import oracle.apps.fnd.framework.webui.OAPageContext;
import oracle.apps.fnd.framework.webui.beans.OAWebBean;
import oracle.apps.fnd.framework.OAException;
import oracle.cabo.ui.data.DataObject;
import java.io.FileOutputStream;
import java.io.InputStream;
import oracle.jbo.domain.BlobDomain;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import oracle.apps.fnd.common.URLTools;
import oracle.apps.fnd.common.WebAppsContext;
import oracle.apps.fnd.framework.server.OADBTransactionImpl;
import oracle.apps.fnd.framework.server.OAViewRowImpl;
import oracle.apps.fnd.framework.webui.beans.OABodyBean;
import oracle.jbo.AttributeDef;

 write the logic under the process form request  as actionInMainSearchScreen is the event name  and i have called the method    downloadFileFromServer(pageContext,"D:/c sharp development guide.pdf","c sharp development guide.pdf"); here  D:/c sharp development guide.pdf is the whole path of file to which u have to give access to download (u have to specify the path of server ) c sharp development guide.pdf is also the same name of file
if (actionInMainSearchScreen.equals("download"))
      {
          downloadFileFromServer(pageContext,"D:/c sharp development guide.pdf","c sharp development guide.pdf");
      }







public void downloadFileFromServer(OAPageContext pageContext,
    String file_name_with_path,
    String file_name_with_ext)
    {
    HttpServletResponse response =
    (HttpServletResponse) pageContext.getRenderingContext().getServletResponse();
    if (((file_name_with_path == null) ||
    ("".equals(file_name_with_path))))
    {
    throw new OAException("File path is invalid.");
    }

    File fileToDownload = null;
    try
    {
    fileToDownload = new File(file_name_with_path);
    }
    catch (Exception e)
    {
    throw new OAException("Invalid File Path or file does not exist.");
    }

    if (!fileToDownload.exists())
    {
    throw new OAException("File does not exist.");
    }

    if (!fileToDownload.canRead())
    {
    throw new OAException("Not Able to read the file.");
    }

    String fileType = getMimeType(file_name_with_ext);
    response.setContentType(fileType);
    response.setContentLength((int)fileToDownload.length());
    response.setHeader("Content-Disposition",
    "attachment; filename=\"" + file_name_with_ext +
    "\"");

    InputStream in = null;
    ServletOutputStream outs = null;

    try
    {
    outs = response.getOutputStream();
    in = new BufferedInputStream(new FileInputStream(fileToDownload));
    int ch;
    while ((ch = in.read()) != -1)
    {
    outs.write(ch);
    }

    }
    catch (IOException e)
    {
    // TODO
    e.printStackTrace();
    }
    finally
    {
    try
    {
    outs.flush();
    outs.close();
    if (in != null)
    {
    in.close();
    }
    }
    catch (Exception e)
    {
    e.printStackTrace();
    }
    }
    }

    /**
    * @param s
    * @return file mime type from its name
    */
    public String getMimeType(String s)
    {
    int i = s.lastIndexOf(".");
    if (i > 0 && i < s.length() - 1)
    {
    String s1 = s.substring(i + 1);
    if (s1.equalsIgnoreCase("amr"))
    {
    return "audio/amr";
    }
    if (s1.equalsIgnoreCase("mid"))
    {
    return "audio/midi";
    }
    if (s1.equalsIgnoreCase("mmf"))
    {
    return "application/vnd.smaf";
    }
    if (s1.equalsIgnoreCase("qcp"))
    {
    return "audio/vnd.qcelp";
    }
    if (s1.equalsIgnoreCase("hqx"))
    {
    return "application/mac-binhex40";
    }
    if (s1.equalsIgnoreCase("cpt"))
    {
    return "application/mac-compactpro";
    }
    if (s1.equalsIgnoreCase("doc"))
    {
    return "application/msword";
    }
    if (s1.equalsIgnoreCase("jsp"))
    {
    return "application/jsp";
    }
    if (s1.equalsIgnoreCase("oda"))
    {
    return "application/oda";
    }
    if (s1.equalsIgnoreCase("pdf"))
    {
    return "application/pdf";
    }
    if (s1.equalsIgnoreCase("ai"))
    {
    return "application/postscript";
    }
    if (s1.equalsIgnoreCase("eps"))
    {
    return "application/postscript";
    }
    if (s1.equalsIgnoreCase("ps"))
    {
    return "application/postscript";
    }
    if (s1.equalsIgnoreCase("ppt"))
    {
    return "application/powerpoint";
    }
    if (s1.equalsIgnoreCase("rtf"))
    {
    return "application/rtf";
    }
    if (s1.equalsIgnoreCase("bcpio"))
    {
    return "application/x-bcpio";
    }
    if (s1.equalsIgnoreCase("vcd"))
    {
    return "application/x-cdlink";
    }
    if (s1.equalsIgnoreCase("Z"))
    {
    return "application/x-compress";
    }
    if (s1.equalsIgnoreCase("cpio"))
    {
    return "application/x-cpio";
    }
    if (s1.equalsIgnoreCase("csh"))
    {
    return "application/x-csh";
    }
    if (s1.equalsIgnoreCase("dcr"))
    {
    return "application/x-director";
    }
    if (s1.equalsIgnoreCase("dir"))
    {
    return "application/x-director";
    }
    if (s1.equalsIgnoreCase("dxr"))
    {
    return "application/x-director";
    }
    if (s1.equalsIgnoreCase("dvi"))
    {
    return "application/x-dvi";
    }
    if (s1.equalsIgnoreCase("gtar"))
    {
    return "application/x-gtar";
    }
    if (s1.equalsIgnoreCase("gz"))
    {
    return "application/x-gzip";
    }
    if (s1.equalsIgnoreCase("hdf"))
    {
    return "application/x-hdf";
    }
    if (s1.equalsIgnoreCase("cgi"))
    {
    return "application/x-httpd-cgi";
    }
    if (s1.equalsIgnoreCase("jnlp"))
    {
    return "application/x-java-jnlp-file";
    }
    if (s1.equalsIgnoreCase("skp"))
    {
    return "application/x-koan";
    }
    if (s1.equalsIgnoreCase("skd"))
    {
    return "application/x-koan";
    }
    if (s1.equalsIgnoreCase("skt"))
    {
    return "application/x-koan";
    }
    if (s1.equalsIgnoreCase("skm"))
    {
    return "application/x-koan";
    }
    if (s1.equalsIgnoreCase("latex"))
    {
    return "application/x-latex";
    }
    if (s1.equalsIgnoreCase("mif"))
    {
    return "application/x-mif";
    }
    if (s1.equalsIgnoreCase("nc"))
    {
    return "application/x-netcdf";
    }
    if (s1.equalsIgnoreCase("cdf"))
    {
    return "application/x-netcdf";
    }
    if (s1.equalsIgnoreCase("sh"))
    {
    return "application/x-sh";
    }
    if (s1.equalsIgnoreCase("shar"))
    {
    return "application/x-shar";
    }
    if (s1.equalsIgnoreCase("sit"))
    {
    return "application/x-stuffit";
    }
    if (s1.equalsIgnoreCase("sv4cpio"))
    {
    return "application/x-sv4cpio";
    }
    if (s1.equalsIgnoreCase("sv4crc"))
    {
    return "application/x-sv4crc";
    }
    if (s1.equalsIgnoreCase("tar"))
    {
    return "application/x-tar";
    }
    if (s1.equalsIgnoreCase("tcl"))
    {
    return "application/x-tcl";
    }
    if (s1.equalsIgnoreCase("tex"))
    {
    return "application/x-tex";
    }
    if (s1.equalsIgnoreCase("textinfo"))
    {
    return "application/x-texinfo";
    }
    if (s1.equalsIgnoreCase("texi"))
    {
    return "application/x-texinfo";
    }
    if (s1.equalsIgnoreCase("t"))
    {
    return "application/x-troff";
    }
    if (s1.equalsIgnoreCase("tr"))
    {
    return "application/x-troff";
    }
    if (s1.equalsIgnoreCase("roff"))
    {
    return "application/x-troff";
    }
    if (s1.equalsIgnoreCase("man"))
    {
    return "application/x-troff-man";
    }
    if (s1.equalsIgnoreCase("me"))
    {
    return "application/x-troff-me";
    }
    if (s1.equalsIgnoreCase("ms"))
    {
    return "application/x-troff-ms";
    }
    if (s1.equalsIgnoreCase("ustar"))
    {
    return "application/x-ustar";
    }
    if (s1.equalsIgnoreCase("src"))
    {
    return "application/x-wais-source";
    }
    if (s1.equalsIgnoreCase("xml"))
    {
    return "text/xml";
    }
    if (s1.equalsIgnoreCase("ent"))
    {
    return "text/xml";
    }
    if (s1.equalsIgnoreCase("cat"))
    {
    return "text/xml";
    }
    if (s1.equalsIgnoreCase("sty"))
    {
    return "text/xml";
    }
    if (s1.equalsIgnoreCase("dtd"))
    {
    return "text/dtd";
    }
    if (s1.equalsIgnoreCase("xsl"))
    {
    return "text/xsl";
    }
    if (s1.equalsIgnoreCase("zip"))
    {
    return "application/zip";
    }
    if (s1.equalsIgnoreCase("au"))
    {
    return "audio/basic";
    }
    if (s1.equalsIgnoreCase("snd"))
    {
    return "audio/basic";
    }
    if (s1.equalsIgnoreCase("mpga"))
    {
    return "audio/mpeg";
    }
    if (s1.equalsIgnoreCase("mp2"))
    {
    return "audio/mpeg";
    }
    if (s1.equalsIgnoreCase("mp3"))
    {
    return "audio/mpeg";
    }
    if (s1.equalsIgnoreCase("aif"))
    {
    return "audio/x-aiff";
    }
    if (s1.equalsIgnoreCase("aiff"))
    {
    return "audio/x-aiff";
    }
    if (s1.equalsIgnoreCase("aifc"))
    {
    return "audio/x-aiff";
    }
    if (s1.equalsIgnoreCase("ram"))
    {
    return "audio/x-pn-realaudio";
    }
    if (s1.equalsIgnoreCase("rpm"))
    {
    return "audio/x-pn-realaudio-plugin";
    }
    if (s1.equalsIgnoreCase("ra"))
    {
    return "audio/x-realaudio";
    }
    if (s1.equalsIgnoreCase("wav"))
    {
    return "audio/x-wav";
    }
    if (s1.equalsIgnoreCase("pdb"))
    {
    return "chemical/x-pdb";
    }
    if (s1.equalsIgnoreCase("xyz"))
    {
    return "chemical/x-pdb";
    }
    if (s1.equalsIgnoreCase("gif"))
    {
    return "image/gif";
    }
    if (s1.equalsIgnoreCase("ief"))
    {
    return "image/ief";
    }
    if (s1.equalsIgnoreCase("jpeg"))
    {
    return "image/jpeg";
    }
    if (s1.equalsIgnoreCase("jpg"))
    {
    return "image/jpeg";
    }
    if (s1.equalsIgnoreCase("jpe"))
    {
    return "image/jpeg";
    }
    if (s1.equalsIgnoreCase("png"))
    {
    return "image/png";
    }
    if (s1.equalsIgnoreCase("tiff"))
    {
    return "image/tiff";
    }
    if (s1.equalsIgnoreCase("tif"))
    {
    return "image/tiff";
    }
    if (s1.equalsIgnoreCase("ras"))
    {
    return "image/x-cmu-raster";
    }
    if (s1.equalsIgnoreCase("pnm"))
    {
    return "image/x-portable-anymap";
    }
    if (s1.equalsIgnoreCase("pbm"))
    {
    return "image/x-portable-bitmap";
    }
    if (s1.equalsIgnoreCase("pgm"))
    {
    return "image/x-portable-graymap";
    }
    if (s1.equalsIgnoreCase("ppm"))
    {
    return "image/x-portable-pixmap";
    }
    if (s1.equalsIgnoreCase("rgb"))
    {
    return "image/x-rgb";
    }
    if (s1.equalsIgnoreCase("xbm"))
    {
    return "image/x-xbitmap";
    }
    if (s1.equalsIgnoreCase("xpm"))
    {
    return "image/x-xpixmap";
    }
    if (s1.equalsIgnoreCase("xwd"))
    {
    return "image/x-xwindowdump";
    }
    if (s1.equalsIgnoreCase("html"))
    {
    return "text/html";
    }
    if (s1.equalsIgnoreCase("htm"))
    {
    return "text/html";
    }
    if (s1.equalsIgnoreCase("txt"))
    {
    return "text/plain";
    }
    if (s1.equalsIgnoreCase("rtx"))
    {
    return "text/richtext";
    }
    if (s1.equalsIgnoreCase("tsv"))
    {
    return "text/tab-separated-values";
    }
    if (s1.equalsIgnoreCase("etx"))
    {
    return "text/x-setext";
    }
    if (s1.equalsIgnoreCase("sgml"))
    {
    return "text/x-sgml";
    }
    if (s1.equalsIgnoreCase("sgm"))
    {
    return "text/x-sgml";
    }
    if (s1.equalsIgnoreCase("mpeg"))
    {
    return "video/mpeg";
    }
    if (s1.equalsIgnoreCase("mpg"))
    {
    return "video/mpeg";
    }
    if (s1.equalsIgnoreCase("mpe"))
    {
    return "video/mpeg";
    }
    if (s1.equalsIgnoreCase("qt"))
    {
    return "video/quicktime";
    }
    if (s1.equalsIgnoreCase("mov"))
    {
    return "video/quicktime";
    }
    if (s1.equalsIgnoreCase("avi"))
    {
    return "video/x-msvideo";
    }
    if (s1.equalsIgnoreCase("movie"))
    {
    return "video/x-sgi-movie";
    }
    if (s1.equalsIgnoreCase("ice"))
    {
    return "x-conference/x-cooltalk";
    }
    if (s1.equalsIgnoreCase("wrl"))
    {
    return "x-world/x-vrml";
    }
    if (s1.equalsIgnoreCase("vrml"))
    {
    return "x-world/x-vrml";
    }
    if (s1.equalsIgnoreCase("wml"))
    {
    return "text/vnd.wap.wml";
    }
    if (s1.equalsIgnoreCase("wmlc"))
    {
    return "application/vnd.wap.wmlc";
    }
    if (s1.equalsIgnoreCase("wmls"))
    {
    return "text/vnd.wap.wmlscript";
    }
    if (s1.equalsIgnoreCase("wmlsc"))
    {
    return "application/vnd.wap.wmlscriptc";
    }
    if (s1.equalsIgnoreCase("wbmp"))
    {
    return "image/vnd.wap.wbmp";
    }
    if (s1.equalsIgnoreCase("css"))
    {
    return "text/css";
    }
    if (s1.equalsIgnoreCase("jad"))
    {
    return "text/vnd.sun.j2me.app-descriptor";
    }
    if (s1.equalsIgnoreCase("jar"))
    {
    return "application/java-archive";
    }
    if (s1.equalsIgnoreCase("3gp"))
    {
    return "video/3gp";
    }
    if (s1.equalsIgnoreCase("3g2"))
    {
    return "video/3gpp2";
    }
    if (s1.equalsIgnoreCase("mp4"))
    {
    return "video/3gpp";
    }
    }
    return "application/octet-stream";
    }

OAF(File upload to application server)

Following is the code which u have to written in Controller class
steps to follow 
1) create one item on page as  type messagefileupload
2)and call the method  from any event
uploadFileToServer(pageContext,"item2","/u03/DEV/devcomn/java");
3) and simply make changes as change the item2  and the path that is highlighted
(you can check it by changing the path to local system as "D:/new folder/") this is for testing 

import oracle.apps.fnd.common.VersionInfo;
import oracle.apps.fnd.framework.webui.OAControllerImpl;
import oracle.apps.fnd.framework.webui.OAPageContext;
import oracle.apps.fnd.framework.webui.beans.OAWebBean;
import oracle.apps.fnd.common.VersionInfo;
import oracle.apps.fnd.framework.webui.OAControllerImpl;
import oracle.apps.fnd.framework.webui.OAPageContext;
import oracle.apps.fnd.framework.webui.beans.OAWebBean;
import java.io.Serializable;
import oracle.apps.fnd.framework.OAApplicationModule;
import oracle.apps.fnd.common.VersionInfo;
import oracle.apps.fnd.framework.webui.OAControllerImpl;
import oracle.apps.fnd.framework.webui.OAPageContext;
import oracle.apps.fnd.framework.webui.beans.OAWebBean;
import oracle.apps.fnd.framework.OAException;
import oracle.cabo.ui.data.DataObject;
import java.io.FileOutputStream;
import java.io.InputStream;
import oracle.jbo.domain.BlobDomain;
import java.io.File;

in process form request write under  event
{
 uploadFileToServer(pageContext,"item2","/u03/DEV/devcomn/java");
}

public void uploadFileToServer(OAPageContext pageContext,
String fileuploadBeanId,
String server_dir_path)
{
DataObject fileUploadData =
(DataObject) pageContext.getNamedDataObject(fileuploadBeanId);
if(fileUploadData!=null)
{
String uFileName =
(String) fileUploadData.selectValue(null, "UPLOAD_FILE_NAME");
String contentType =
(String) fileUploadData.selectValue(null, "UPLOAD_FILE_MIME_TYPE");

File file = new File(server_dir_path, uFileName);
FileOutputStream output = null;
InputStream input = null;
try
{
output = new FileOutputStream(file);
BlobDomain uploadedByteStream =
(BlobDomain) fileUploadData.selectValue(null, uFileName);
input = uploadedByteStream.getInputStream();
for (int bytes = 0; bytes < uploadedByteStream.getLength(); bytes++)
{
output.write(input.read());
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
if (input != null)
{
input.close();
}
if (output != null)
{
output.close();
output.flush();
}
}
catch (Exception ez)
{
ez.printStackTrace();
}
}

}
}

steps to remember
-1)always check the item id of messagefileupload item  and change at highlighted  item2 place
2)sometimes the u are unable to store the file at application server because u dont have full access to create or write any thing on server so check with DBA and told him give the full access rights to the folder.