Calling FND_GLOBAL.APPS_INITIALIZE
Hi,
I've noticed that some of our custom forms call PL/SQL packages which in turn execute FND_GLOBAL.APPS_INITIALIZE.
At runtime the Forms session initializes EBS security context on its own and I wander what happens to the context and the Forms session after such package is called.
If APPS_INITIALIZE creates a separate session, what happens when the focus returns back to the form?
Cheers
Arek
P.S. We're loosing our ORG_ID (from the PROFILEs) sometimes and I wander if this may be related.
Hi,
If you call fnd_global.apps_initialize then your profile options will be defaulted based on what you call it with.
E.g. if you call with responsibility 123 that doesn't have org_id set then you'll lose org_id.
Make sure org_id is set for the responsibilities that your are calling apps_initialize for.
Regards,
Gareth
Similar Messages
-
Missing privileges when calling FND_GLOBAL.APPS_INITIALIZE in custom schema
Hi All,
I tried to run the FND_GLOBAL.APPS_INITIALIZE using a custom schema following the instruction described in [ID 822225.1]. At the end the APPS_INITIALIZE completed successfully.
But when executing a script in sqlplus (connected to custom schema) that first calls APPS_INITIALIZE and afterwards calls a custom procedure, it seems that the user ID gets lost in FND_GLOBAL (note that this scenario works fine in APPS schema).
However, the APPS_INITIALIZE works fine when directly called in sqlplus (connected to custom schema): Executing FND_GLOBAL.USER_ID directly after APPS_INITIALIZE retrieves the correct user ID.
Has anybody an idea ot what could be missing in my custom schema (any privileges...) ?
Thanks, CarolinHussein,
thanks for reply.
Seems that I solved the problem - after adding some more grants to the custom schema, FND_GLOBAL.APPS_INITIALIZE works fine now. ;-)
However, I'm not quite sure if I'm on the right way with using a custom schema (maybe that I schouldn't use a custom schema at all, but connect to APPS schema instead) and if I'm using the correct approach to find missing privileges...
Perhaps you could also help me with this - I already posted a message for that general issue, please see:
Re: How to grant only required privileges to custom schema
Thanks,
Carolin -
Hello,
We are trying to integrate APEX with Oracle Ebusiness Suite 11i. We are trying to integrate with the HR/Payroll application which uses FND_GLOBAL.APPS_INITIALIZE to set the security context to a user, responsibility and application id which defines who the session has access to for the session. When we make the call to FND_GLOBAL.APPS_INITIALIZE in either a before header process or in the VPD security attribute, we get no data. Using the same call in SQL*PLUS we get the data expected.
Any suggestions on how to get this to work? What are we missing?
Thanks,
-EricHi Rod,
Thanks for the reply. I have not tried passing in the parameters yet. I currently have the following hardcoded in a before header process.
BEGIN
FND_GLOBAL.APPS_INITIALIZE(1003,51172,800);
END;
I do have FND_GLOBAL.USER_ID and FND_GLOBAL.RESP_ID in a report. The values returned are the same as those I have in the before header process.
For this user_id, responsibility_id and application_id I should get 1 row from per_people_f. It works in sqlplus, I get no data found in APEX.
Any further suggestions on what might be happening here?
Thank you,
Eric -
Hello Gurus,
I'm inserting rows into mtl_transaction_interface table and calling mtl_online_transaction_pub.process_online to process it from a TRIGGER on mtl_material_transactions table.
But it doesn't process the data and errors with process_flag 3.
If I comment the call to mtl_online_transaction_pub.process_online and just insert into interface table and then call mtl_online_transaction_pub.process_online from independent PLSQL block it works fine.
Can someone suggest a solution for the problem, I think the issue is in the design.
Thanks
ManuHi,
I hope you are using an 'after insert' trigger on mtl_transactions_interface.
Ensure that the MTI record is populated with transaction_header_id with transaction_mode = 1 (Online), process_flag = 1 and lock_flag = 2.
Call the txn processor with transaction_header_id, and it should work.
If transaction_mode is 2 (immediate) or 3 (Background) then the MTI record must be commited in database; calling txn processor from trigger cannot see the record as it is not committed.
If it doesn't work, then you will have to retrieve errors from the return message to understand the problem in detail.
I would strongly recommend not to use trigger for such processing.
I believe, you have a custom package/procedure from which you are inserting data into MTI.
once the insert is done, then you can call the same API from custom code.
Also check how exactly is MTI is getting inserted, is apps context set correctly (either by means of concurrent program, or by explicitly calling fnd_global.apps_initialize(..) )
If it still doesnt work, enable Inventory Debug by setting up profiles INV%DEBUG%, and see the log messages. (e.g. set the log file as /usr/tmp/mti.log )
Hope it helps, -
What is the best way to submit a Concurrent Request over a DB Link?
Hi,
We have a requirement to submit a Concurrent Request over a DB Link. What is the best way to do this?
What I've done so far is I've created a function in the EBS instance that executes FND_GLOBAl.APPS_INITIALIZE and submits the Concurrent Request. I then call this function remotely from our NON-EBS database. It seems to work fine but I found out from metalink article id 466800.1 that this is not recommended.
Why are Concurrent Programs Calling FND_GLOBAL.APPS_INITIALIZE Using DBLinks Failing? [ID 466800.1]
https://support.oracle.com/epmos/faces/ui/km/SearchDocDisplay.jspx?_afrLoop=11129815723825&type=DOCUMENT&id=466800.1&displayIndex=1&_afrWindowMode=0&_adf.ctrl-state=17dodl8lyp_108
Can anyone suggest a better approach?
Thanks,
AllenWhat I've done so far is I've created a function in the EBS instance that executes FND_GLOBAl.APPS_INITIALIZE and submits the Concurrent Request. I then call this function remotely from our NON-EBS database. It seems to work fine but I found out from metalink article id 466800.1 that this is not recommended.
Why are Concurrent Programs Calling FND_GLOBAL.APPS_INITIALIZE Using DBLinks Failing? [ID 466800.1]
https://support.oracle.com/epmos/faces/ui/km/SearchDocDisplay.jspx?_afrLoop=11129815723825&type=DOCUMENT&id=466800.1&displayIndex=1&_afrWindowMode=0&_adf.ctrl-state=17dodl8lyp_108
Can anyone suggest a better approach?Please log a SR and ask Oracle support for any better (alternative) approach. You can mention in the SR that your approach works properly and ask what would be the implications of using it (even though it is not recommended).
Thanks,
Hussein -
Is there a way to open form as if from different responsibility in R12
Is there a way to open form as if from different responsibility in R12. Have tried to call FND_GLOBAL.apps_initialize but it did not changed a thing.
*"Is there any way I can send her messages back and make it look as though my email address no longer exists? "*
"Message" menu --> Bounce -
EBS UM provisioning in OIM 9.1
Hi experts,
When provisioning user to E-Business suite User Management application, we are getting the below error in the logs.
INFO,06 Apr 2011 15:55:52,819,[XELLERATE.ADAPTERS],Event: Triggering Processes related to User. is initiated.
INFO,06 Apr 2011 15:55:52,851,[XELLERATE.ADAPTERS],Adapter class: com.thortech.xl.adapterGlue.ScheduleItemEvents.adpEBSCOPYATTRIBUTE loaded from Database.
INFO,06 Apr 2011 15:55:52,851,[XELLERATE.ADAPTERS],Adapter: EBSCopyAttribute was initiated for the task: Change Email Address.
INFO,06 Apr 2011 15:55:52,851,[XELLERATE.ADAPTERS],Starting Adapter Execution for adpEBSCOPYATTRIBUTE.
INFO,06 Apr 2011 15:55:52,894,[XELLERATE.ADAPTERS],Adapter class: com.thortech.xl.adapterGlue.ScheduleItemEvents.adpEBSUPDATEUSER loaded from Database.
INFO,06 Apr 2011 15:55:52,894,[XELLERATE.ADAPTERS],Adapter: EBS Update User was initiated for the task: Email Updated.
INFO,06 Apr 2011 15:55:52,894,[XELLERATE.ADAPTERS],Starting Adapter Execution for adpEBSUPDATEUSER.
Running InitUtil
INFO,06 Apr 2011 15:55:52,905,[OIMCP.EBSUM],oracle.iam.connectors.ebs.usermgmt.integration.EBSUserManagement : initUtil : IT Resource field : UD_EBS_USER_EBS_ITRES
INFO,06 Apr 2011 15:55:52,905,[OIMCP.EBSUM],oracle.iam.connectors.ebs.usermgmt.integration.EBSUserManagement : initUtil : Process instance key : 17458
INFO,06 Apr 2011 15:55:52,905,[OIMCP.EBSUM],oracle.iam.connectors.ebs.usermgmt.integration.EBSUserManagement : initUtil : Mode :
INFO,06 Apr 2011 15:55:52,905,[OIMCP.EBSUM],oracle.iam.connectors.ebs.usermgmt.integration.EBSUserManagement : initUtil : Owner : CUST
INFO,06 Apr 2011 15:55:52,931,[OIMCP.EBSUM],oracle.iam.connectors.ebs.usermgmt.integration.EBSUserManagement : initUtil : Connection Pooling : No
INFO,06 Apr 2011 15:55:52,931,[OIMCP.EBSUM],oracle.iam.connectors.ebs.common.dao.DBUtil : DBUtil : isPool : No
INFO,06 Apr 2011 15:55:52,931,[OIMCP.EBSUM],oracle.iam.connectors.ebs.common.dao.DBUtil : DBUtil : Connection Pooling has not been enabled. Will not use Connection Pooling Service
*ERROR,06 Apr 2011 15:55:52,931,[OIMCP.EBSUM],====================================================*
*ERROR,06 Apr 2011 15:55:52,931,[OIMCP.EBSUM],oracle.iam.connectors.ebs.common.dao.DBUtil : getConnectionProp : Failed to get the connection properties*
*ERROR,06 Apr 2011 15:55:52,931,[OIMCP.EBSUM],====================================================*
INFO,06 Apr 2011 15:55:53,011,[OIMCP.EBSUM],oracle.iam.connectors.ebs.common.dao.DBUtil : getConnection : Connection object obtained =oracle.jdbc.driver.T4CConnection@24af298f
INFO,06 Apr 2011 15:55:53,011,[OIMCP.EBSUM],oracle.iam.connectors.ebs.usermgmt.integration.EBSUserManagement : initUtil : InitUtil Result : SUCCESS
Running UpdateUserInfo
INFO,06 Apr 2011 15:55:53,011,[OIMCP.EBSUM],oracle.iam.connectors.ebs.usermgmt.integration.EBSUserManagementHelper : validateUserData : Minimum Password Length= 1
INFO,06 Apr 2011 15:55:53,011,[OIMCP.EBSUM],oracle.iam.connectors.ebs.common.dao.DBUtil : getCallableStatement : Query : {CALL fnd_global.APPS_INITIALIZE(?,?,?)}
INFO,06 Apr 2011 15:55:53,028,[OIMCP.EBSUM],oracle.iam.connectors.ebs.usermgmt.integration.EBSUserManagementHelper : getUserName : User Id : 11631
INFO,06 Apr 2011 15:55:53,029,[OIMCP.EBSUM],oracle.iam.connectors.ebs.usermgmt.integration.EBSUserManagementHelper : updateEBSUser : User Name : [email protected]
There are no issues with provisioning. User is able to provisioned to EBS UM. But we could not find why this error is popping up in the logs.
If any one has encountered this error before, pls update.
Thanks in AdvanceI would say it's old code referencing a file that doesn't get used anymore. The only other item i can think of is if connection pooled is used, it would be looking for the file. If everything is working correctly, I would say continue as is. Create an SR maybe for Oracle to look into the issue.
-Kevin -
Need help on ORA-02074: cannot SET NLS in a distributed transaction
Hi All,
I am Writing a plsql Code like this
DECLARE
op_job_id NUMBER;
op_object_version_number NUMBER;
x_job_definition_id NUMBER;
op_name VARCHAR2(1000);
L_VERIFY_FLAG VARCHAR2(1);
l_error_message VARCHAR2(2000);
BG_ID NUMBER;
lv_job_group_id APPS.per_job_groups.job_group_id@SYSTEM_LINK_VISMA%TYPE;
CURSOR C1 IS SELECT * FROM EBS_PER_JOBS_STG;
BEGIN
FOR H1 IN C1
LOOP
BEGIN
IF H1.BUSINESS_GROUP_NAME IS NOT NULL THEN
SELECT BUSINESS_GROUP_ID,job_group_id INTO BG_ID,lv_job_group_id
FROM APPS.PER_JOB_GROUPS@SYSTEM_LINK_VISMA
WHERE DISPLAYED_NAME=H1.JOB_GROUP_NAME;
END IF;
EXCEPTION
WHEN OTHERS THEN
L_VERIFY_FLAG := 'E';
l_error_message := 'Entered Job Group Name is Wrong';
END;
-->> JOB GROUP ID <<--
APPS.hr_job_api.CREATE_JOB@SYSTEM_LINK_VISMA
(p_business_group_id => BG_ID
,p_date_from => H1.DATE_FROM
,p_approval_authority => H1.APPROVAL_AUTHORITY
,p_emp_rights_flag => H1.EMP_RIGHTS_FLAG
,p_benchmark_job_flag => H1.BENCHMARK_JOB_FLAG
,p_job_group_id => lv_job_group_id
,p_job_information1 => H1.JOB_INFORMATION1
,p_job_information2 => H1.JOB_INFORMATION2
,p_job_information3 => H1.JOB_INFORMATION3
,p_job_information4 => H1.JOB_INFORMATION4
,p_job_information5 => H1.JOB_INFORMATION5
,p_job_information6 => H1.JOB_INFORMATION6
,p_job_information7 => H1.JOB_INFORMATION7
,p_segment3 => H1.JOB_CODE --JOB_CODE
,p_segment6 => H1.JOB_NAME --JOB_NAME
,p_job_id => op_job_id
,p_object_version_number => op_object_version_number
,p_job_definition_id => x_job_definition_id
,p_name => op_name);
dbms_output.PUT_LINE('OUTPUT JOB NAME CREATED : '||op_name);
END LOOP;
EXCEPTION
WHEN OTHERS THEN
dbms_output.PUT_LINE('Error Message Is: '||SQLERRM);
END;
i am running it in Another database Using database link connecting to Apps.
when i am running it am getting the following Error:
Error Message Is: ORA-02074: cannot SET NLS in a distributed transaction
ORA-06512: at "APPS.HR_KFLEX_UTILITY", line 2423
ORA-06512: at "APPS.HR_KFLEX_UTILITY", line 2380
ORA-06512: at "APPS.PER_JBT_UPD", line 468
ORA-02074: cannot SET NLS in a distributed transaction
ORA-06512: at "APPS.HR_JOB_API", line 878
Please help me on this, this is quite urgent to me.
thanks
sriPlease see these docs.
ORA-02074: Cannot SET NLS in a Distributed Transaction [ID 556391.1]
Portal Used To Call PO_CHANGE_API1_S: ORA-20001: ORA-02074: Cannot SET NLS In A Distributed Transaction [ID 561246.1]Why are Concurrent Programs Calling FND_GLOBAL.APPS_INITIALIZE Using DBLinks Failing? [ID 466800.1]
ORA-02074 when Executing set_nls over a DB Link [ID 132679.1]
Thanks,
Hussein -
Generate trace on a user processes on every login
Folks,
I need to enable trace every time XYZ connected to the DB,Can anyone help me on this.XYZ is a user.
I suppose there is some system profile which helps to perform the above mentioned. Also please let me know where the trace file will be generated by default.
Thanks,
Cherrish VaidiyanIt will happen whenever user session calls fnd_global.APPS_INITIALIZE function.
That happens only if an user use Apps interfaces (Forms, Self Service Framework, Concurrent Managers, Discoverer using Apps authorization etc.).
Or will it also generate trace if the user XYZ is using SQLPLUS at DB level??It will not. In order to generate Trace for all session create LOGIN Trigger and include trace switching code other there.
Yury
Check this out:
A.
http://www.freelists.org/archives/ora-apps-dba/05-2006/msg00000.html
B.
- Users can subscribe to the list by sending email to
ora-apps-dba-request_at_freelists.org with 'subscribe' in the Subject field
C.
http://www.freelists.org/archives/ora-apps-dba/05-2006/threads.html
http://www.freelists.org/archives/ora-apps-dba/06-2006/threads.html -
Call to concurrent program in a pl/sql block does not COMMIT data to table
I have the following PL/SQL block.
apps.create_po(x_org_id,x_document_num,x_agent_name,x_vendor_id,x_vendor_site_id,x_ship_to_location,x_bill_to_location,x_creation_date,new_isbn,new_print_key,new_unit_setup_cost,new_unit_run_cost,x_item,x_category_id,x_item_description,x_unit_of_measure,x_quantity,x_unit_price,x_ship_to_org_id,x_promise_date,x_qty_rcv_tolerance, x_deliver_to_location,x_destination_org_id, x_destination_subinventory,x_segment2,x_segment4);
COMMIT;
FND_GLOBAL.APPS_INITIALIZE(v_user_id,v_resp_id,201);
v_po_req_id := apps.fnd_request.submit_request('PO','POXPOPDOI',NULL,NULL,NULL,
NULL,'STANDARD',NULL,'Y',NULL,'APPROVED',NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
DBMS_OUTPUT.PUT_LINE('Request ID is:' || v_po_req_id);
IF v_po_req_id <> 0 THEN
dbms_lock.sleep(60);
dbms_output.Put_line('Sleep executed');
COMMIT;
select PHASE_CODE,STATUS_CODE INTO v_phase_code,v_status_code
FROM FND_CONCURRENT_REQUESTS
WHERE REQUEST_ID = v_po_req_id;
dbms_output.put_line('After commit Phase and status codes are = '||v_phase_code || v_status_code);
ELSE
ROLLBACK;
END IF;
dbms_output.put_line('New Po is' || x_document_num);
dbms_output.put_line('Quantity Is'|| x_quantity);
apps.receive_po(x_document_num,x_quantity);
v_rcv_req_id := apps.fnd_request.submit_request('PO','RVCTP',NULL,NULL,NULL,
'BATCH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
DBMS_OUTPUT.PUT_LINE('Request ID is:' || v_rcv_req_id);
IF v_rcv_req_id <> 0 THEN
COMMIT;
DBMS_OUTPUT.PUT_LINE('COMMITED RECEIVING');
ELSE
ROLLBACK;
END IF;
Presently when this block runs, i can see the new PO number created. Commit is also successfully executed. The last output for the program is
New Po is 20651
Quantity Is 450
But due to some reason, the receiving program(receive_po) cannot retrieve the same PO from the base table.
But once this pl/sql block is complete, and i call the receving procedure from a different session, the Po is retrieved and receiving against the PO is executed successfully.
Can someone please suggest a work around ? Is the code missing something ? Since POXPOPDOI is a concurrent program which is executed as an asyncronous process, the commit statement after the call to concurent program does not work but the commit is executed only after it exits the pl/sql block.Thanks for responding.
receive_po() program just inserts the data into RCV_HEADERS_INTERFACE and RCV_TRANSACTIONS_INTERFACE tables based on the PO that is created in the previous step. So basically the new PO created has to be received and the receive_po() just inserts data into the interface tables so that RVCTP can be called after that for receiving.
Here is the code for the procedure.
SET SERVEROUTPUT ON;
--FND_GLOBAL.APPS_INITIALIZE(3,20707,201);
--Procedure for receiving interface to load data to RCV_HEADERS_INTERFACE and RCV_TRANSACTIONS_INTERFACE
CREATE OR REPLACE PROCEDURE receive_po (x_ponum IN VARCHAR2,x_quantity IN NUMBER) AS
v_vendor_site_id NUMBER;
v_vendor_id NUMBER;
v_agent_id NUMBER;
v_ship_to_organization_id NUMBER;
v_item_id NUMBER;
v_uom_code varchar2(25);
v_subinventory varchar2(25);
v_ship_to_location_id NUMBER;
BEGIN
--header information in variables
dbms_output.put_line('Entering Receiving Insert Procedure');
dbms_output.put_line('Po number ='||x_ponum||'$');
dbms_output.put_line('Quantity is ='||x_quantity||'$');
select pvsa.vendor_site_id into v_vendor_site_id
FROM po_headers_all pha,po_vendors pv, po_vendor_sites_all pvsa
where pha.vendor_id = pv.vendor_id
and pv.vendor_id = pvsa.vendor_id
and pha.segment1 = x_ponum;
dbms_output.put_line('Vendor Site ID is' ||v_vendor_site_id);
select pv.vendor_id into v_vendor_id
FROM po_headers_all pha,po_vendors pv, po_vendor_sites_all pvsa
where pha.vendor_id = pv.vendor_id
and pv.vendor_id = pvsa.vendor_id
and pha.segment1 = x_ponum;
dbms_output.put_line('Vendor ID is' ||v_vendor_id);
select plla.SHIP_TO_ORGANIZATION_ID into v_ship_to_organization_id
from PO_HEADERS_ALL pha, PO_LINE_LOCATIONS_ALL plla
where pha.PO_HEADER_ID = plla.PO_HEADER_ID
and pha.segment1 = x_ponum;
dbms_output.put_line('Ship to org is' ||v_ship_to_organization_id);
select agent_id into v_agent_id
FROM po_headers_all
WHERE segment1 = x_ponum;
dbms_output.put_line('Agent ID is' ||v_agent_id);
--printing header table information
dbms_output.put_line('vendor id is:'||v_vendor_id);
dbms_output.put_line('vendor site id is:'||v_vendor_site_id);
dbms_output.put_line('agent id is:'||v_agent_id);
dbms_output.put_line('ship to organization id is:'||v_ship_to_organization_id);
--line information in variables
--derive item id
select pla.item_id into v_item_id
from po_headers_all pha, po_lines_all pla
where pha.po_header_id = pla.po_header_id
and pha.org_id = pla.org_id
and pha.segment1 = x_ponum;
--derive uom
select pla.unit_meas_lookup_code into v_uom_code
from po_headers_all pha, po_lines_all pla
where pla.po_header_id = pha.po_header_id
and pla.org_id = pha.org_id
and pha.segment1 = x_ponum;
--derive subinventory
select pda.destination_subinventory into v_subinventory
from po_headers_all pha, po_lines_all pla,po_distributions_all pda
where pha.po_header_id = pla.po_header_id
and pla.po_header_id = pda.po_header_id
and pla.po_line_id = pda.po_line_id
and pha.org_id = pla.org_id
and pla.org_id = pda.org_id
and pha.segment1 = x_ponum;
--derive ship to location id
select ship_to_location_id into v_ship_to_location_id
from po_headers_all
where segment1 = x_ponum;
--printing transaction table details
dbms_output.put_line('item id is:'||v_item_id);
dbms_output.put_line('UOM is:'||v_uom_code);
dbms_output.put_line('subinventory is:'||v_subinventory);
dbms_output.put_line('ship to location id is:'||v_ship_to_location_id);
--insert data into the receiving interface header table
INSERT INTO RCV_HEADERS_INTERFACE
HEADER_INTERFACE_ID ,
GROUP_ID ,
PROCESSING_STATUS_CODE ,
RECEIPT_SOURCE_CODE ,
TRANSACTION_TYPE ,
LAST_UPDATE_DATE ,
LAST_UPDATED_BY ,
LAST_UPDATE_LOGIN,
CREATION_DATE ,
CREATED_BY ,
VENDOR_ID ,
VENDOR_SITE_ID ,
SHIP_TO_ORGANIZATION_ID ,
EXPECTED_RECEIPT_DATE ,
EMPLOYEE_ID ,
VALIDATION_FLAG
SELECT
RCV_HEADERS_INTERFACE_S.NEXTVAL,
RCV_INTERFACE_GROUPS_S.NEXTVAL,
'PENDING',
'VENDOR',
'NEW', -- 'CANCEL',
sysdate,
3,
3,
sysdate,
3,
v_vendor_id,
v_vendor_site_id,
v_ship_to_organization_id,
sysdate+5,
v_agent_id,
'Y'
FROM DUAL;
commit;
--insert data into the interface transaction table
for i in 1..1 loop
INSERT INTO RCV_TRANSACTIONS_INTERFACE
(INTERFACE_TRANSACTION_ID ,
HEADER_INTERFACE_ID ,
GROUP_ID ,
LAST_UPDATE_DATE ,
LAST_UPDATED_BY ,
CREATION_DATE ,
CREATED_BY ,
LAST_UPDATE_LOGIN,
TRANSACTION_TYPE ,
TRANSACTION_DATE ,
PROCESSING_STATUS_CODE ,
PROCESSING_MODE_CODE ,
TRANSACTION_STATUS_CODE ,
QUANTITY ,
UNIT_OF_MEASURE ,
ITEM_ID ,
AUTO_TRANSACT_CODE ,
RECEIPT_SOURCE_CODE ,
SOURCE_DOCUMENT_CODE ,
SUBINVENTORY ,
DOCUMENT_NUM ,
SHIP_TO_LOCATION_ID ,
VALIDATION_FLAG
SELECT
RCV_TRANSACTIONS_INTERFACE_S.NEXTVAL,
RCV_HEADERS_INTERFACE_S.CURRVAL,
RCV_INTERFACE_GROUPS_S.CURRVAL,
SYSDATE,
3,
SYSDATE,
3,
3,
'RECEIVE', --'RECEIVE', -- 'SHIP', --'06-JAN-1998',--question here
sysdate,
'PENDING',
'BATCH',
'PENDING',
x_quantity,
v_uom_code,
v_item_id,
'DELIVER', -- 'RECEIVE', --'DELIVER',
'VENDOR',
'PO',
v_subinventory,
x_ponum,
v_ship_to_location_id,
'Y'
FROM DUAL;
end loop;
commit;
END receive_po;
I am really stuck and looking out for work arond. Please help.
Thanks,
Natasha -
How to call a concurrent program from a Custom JSP page.
Hi,
I have a custom JSP page which i have deployed by creating a form function with the path of the JSP Page
and added the JSP Page to the OA_HTML top.
Now, i need to call a concurrent program from the JSP Page, i have all the parameters in my page and i am using the standard class as below:
ConcurrentRequest cr= new ConcurrentRequest(con);
int requestId= cr.submitRequest("XXINV",programName,null,null,false,vec);
I have verified my connection object and it is OK but i am getting the exception that user is not set to run the program.
I tried the below code in my JSP page and getting -1 for all test variables :-
int userId = wctx.getUserId();
int respApplId = wctx.getRespApplId();
int respId = wctx.getRespId();
I think i need to set the context in JSP page to run the program..
Pls help ....
Regards
Saurabh JaiswalHi,
Thanks for the reply,,,
This is a possible solution but this will allow to run the program anyhow.
But the procedure which i call thru callable statement will start with
fnd_global.apps_initialize (3825, 50603, 704);
fnd_request.submit_request API call.
Now, the values of user and Responsibilty is required in the program and it changes.
With this approach we have to hardcode the user and resp.
The same JSP page is attached to other responsibilities and there the concurrent program would get fired as if fired from the resp Id hardcoded as above.
Need to capture user Id and RespId.
How can i set the apps Context in JSP page???
Regards
Saurabh Jaiswal -
ORABPEL-11811 - Error while calling PL/Sql API Into BPEL Process
Hi,
I have created a BPEL Process for creating a Order in Oracle using the synchronous process.
I have followed the below steps.
1) Created a Stored procedure using the Order Creation API's by passing Recard Type IN parameters.
2) Created Synchronous BPEL Process and called the above Procedure using APPS Adapter.
3) Created a xsd file and mapped the input and output parameter values using Transform Activity.
After the above steps, when I try to run the BPEL process I am getting the below error:
An error occurred while preparing and executing the APPS.PROC_PROC_NAME API. Cause: java.sql.SQLException: ORA-06531: Reference to uninitialized collection
ORA-06512: at "APPS.PROC_PROC_NAME ", line 149
ORA-06512: at line 1
[Caused by: ORA-06531: Reference to uninitialized collection
ORA-06512: at "APPS.PROC_NAME", line 149
ORA-06512: at line 1
; nested exception is:
ORABPEL-11811
Error while trying to prepare and execute an API.
An error occurred while preparing and executing the APPS.PROC_PROC_NAME API. Cause: java.sql.SQLException: ORA-06531: Reference to uninitialized collection.
Can anybody help in resolving the error?
Thanks,
Mastanvali.Here is the API Code..
CREATE OR REPLACE PROCEDURE XXMAST_PRC(
arg_in_p_header_rec IN HeaderObject,
arg_in_p_line_tbl IN arrayLines,
arg_out_x_return_status OUT VARCHAR2,
arg_out_order_number OUT NUMBER,
arg_out_header_id OUT NUMBER,
arg_out_flow_status_code OUT VARCHAR2
) AS
p_api_version_number NUMBER;
x_return_status VARCHAR2(2);
x_msg_count NUMBER;
x_msg_data VARCHAR2(2000);
v_msg_data VARCHAR2(8000);
v_msg_index_out NUMBER(10);
p_header_rec OE_ORDER_PUB.HEADER_REC_TYPE;
p_old_header_rec OE_ORDER_PUB.HEADER_REC_TYPE;
p_header_val_rec OE_ORDER_PUB.Header_Val_Rec_Type;
p_old_header_val_rec OE_ORDER_PUB.Header_Val_Rec_Type;
p_Header_Adj_tbl OE_ORDER_PUB.Header_Adj_Tbl_Type;
p_old_Header_Adj_tbl OE_ORDER_PUB.Header_Adj_Tbl_Type;
p_Header_Adj_val_tbl OE_ORDER_PUB.Header_Adj_Val_Tbl_Type;
p_old_Header_Adj_val_tbl OE_ORDER_PUB.Header_Adj_Val_Tbl_Type;
p_Header_price_Att_tbl OE_ORDER_PUB.Header_Price_Att_Tbl_Type;
p_old_Header_Price_Att_tbl OE_ORDER_PUB.Header_Price_Att_Tbl_Type;
p_Header_Adj_Att_tbl OE_ORDER_PUB.Header_Adj_Att_Tbl_Type;
p_old_Header_Adj_Att_tbl OE_ORDER_PUB.Header_Adj_Att_Tbl_Type;
p_Header_Adj_Assoc_tbl OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type;
p_old_Header_Adj_Assoc_tbl OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type;
p_Header_Scredit_tbl OE_ORDER_PUB.Header_Scredit_Tbl_Type;
p_old_Header_Scredit_tbl OE_ORDER_PUB.Header_Scredit_Tbl_Type;
p_Header_Scredit_val_tbl OE_ORDER_PUB.Header_Scredit_Val_Tbl_Type;
p_old_Header_Scredit_val_tbl OE_ORDER_PUB.Header_Scredit_Val_Tbl_Type;
p_line_tbl OE_ORDER_PUB.Line_Tbl_Type;
p_old_line_tbl OE_ORDER_PUB.Line_Tbl_Type;
p_line_val_tbl OE_ORDER_PUB.Line_Val_Tbl_Type;
p_old_line_val_tbl OE_ORDER_PUB.Line_Val_Tbl_Type;
p_Line_Adj_tbl OE_ORDER_PUB.Line_Adj_Tbl_Type;
p_old_Line_Adj_tbl OE_ORDER_PUB.Line_Adj_Tbl_Type;
p_Line_Adj_val_tbl OE_ORDER_PUB.Line_Adj_Val_Tbl_Type;
p_old_Line_Adj_val_tbl OE_ORDER_PUB.Line_Adj_Val_Tbl_Type;
p_Line_price_Att_tbl OE_ORDER_PUB.Line_Price_Att_Tbl_Type;
p_old_Line_Price_Att_tbl OE_ORDER_PUB.Line_Price_Att_Tbl_Type;
p_Line_Adj_Att_tbl OE_ORDER_PUB.Line_Adj_Att_Tbl_Type;
p_old_Line_Adj_Att_tbl OE_ORDER_PUB.Line_Adj_Att_Tbl_Type;
p_Line_Adj_Assoc_tbl OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type;
p_old_Line_Adj_Assoc_tbl OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type;
p_Line_Scredit_tbl OE_ORDER_PUB.Line_Scredit_Tbl_Type;
p_old_Line_Scredit_tbl OE_ORDER_PUB.Line_Scredit_Tbl_Type;
p_Line_Scredit_val_tbl OE_ORDER_PUB.Line_Scredit_Val_Tbl_Type;
p_old_Line_Scredit_val_tbl OE_ORDER_PUB.Line_Scredit_Val_Tbl_Type;
p_Lot_Serial_tbl OE_ORDER_PUB.Lot_Serial_Tbl_Type;
p_old_Lot_Serial_tbl OE_ORDER_PUB.Lot_Serial_Tbl_Type;
p_Lot_Serial_val_tbl OE_ORDER_PUB.Lot_Serial_Val_Tbl_Type;
p_old_Lot_Serial_val_tbl OE_ORDER_PUB.Lot_Serial_Val_Tbl_Type;
p_action_request_tbl OE_ORDER_PUB.Request_Tbl_Type;
x_header_rec OE_ORDER_PUB.Header_Rec_Type;
x_header_val_rec OE_ORDER_PUB.Header_Val_Rec_Type;
x_Header_Adj_tbl OE_ORDER_PUB.Header_Adj_Tbl_Type;
x_Header_Adj_val_tbl OE_ORDER_PUB.Header_Adj_Val_Tbl_Type;
x_Header_price_Att_tbl OE_ORDER_PUB.Header_Price_Att_Tbl_Type;
x_Header_Adj_Att_tbl OE_ORDER_PUB.Header_Adj_Att_Tbl_Type;
x_Header_Adj_Assoc_tbl OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type;
x_Header_Scredit_tbl OE_ORDER_PUB.Header_Scredit_Tbl_Type;
x_Header_Scredit_val_tbl OE_ORDER_PUB.Header_Scredit_Val_Tbl_Type;
x_line_tbl OE_ORDER_PUB.Line_Tbl_Type;
x_line_val_tbl OE_ORDER_PUB.Line_Val_Tbl_Type;
x_Line_Adj_tbl OE_ORDER_PUB.Line_Adj_Tbl_Type;
x_Line_Adj_val_tbl OE_ORDER_PUB.Line_Adj_Val_Tbl_Type;
x_Line_price_Att_tbl OE_ORDER_PUB.Line_Price_Att_Tbl_Type;
x_Line_Adj_Att_tbl OE_ORDER_PUB.Line_Adj_Att_Tbl_Type;
x_Line_Adj_Assoc_tbl OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type;
x_Line_Scredit_tbl OE_ORDER_PUB.Line_Scredit_Tbl_Type;
x_Line_Scredit_val_tbl OE_ORDER_PUB.Line_Scredit_Val_Tbl_Type;
x_Lot_Serial_tbl OE_ORDER_PUB.Lot_Serial_Tbl_Type;
x_Lot_Serial_val_tbl OE_ORDER_PUB.Lot_Serial_Val_Tbl_Type;
x_action_request_tbl OE_ORDER_PUB.Request_Tbl_Type;
icount NUMBER :=0;
BEGIN
fnd_global.apps_initialize(1318,21623,660);
fnd_client_info.set_org_context(204);
p_header_rec:= OE_ORDER_PUB.G_MISS_HEADER_REC;
SELECT OE_ORDER_HEADERS_S.NEXTVAL INTO p_header_rec.header_id FROM DUAL;
dbms_output.put_line('Header ID = '|| p_header_rec.header_id);
p_api_version_number := 1.0;
------------------------------------------header code-----------------------------------------------------------------------
p_header_rec.order_type_id := arg_in_p_header_rec.order_type_id;
p_header_rec.sold_to_org_id := arg_in_p_header_rec.sold_to_org_id;
p_header_rec.ship_to_org_id := arg_in_p_header_rec.ship_to_org_id;
p_header_rec.transactional_curr_code:= arg_in_p_header_rec.transactional_curr_code;
p_header_rec.order_source_id := arg_in_p_header_rec.order_source_id;
p_header_rec.org_id := arg_in_p_header_rec.org_id;
p_header_rec.ship_from_org_id := arg_in_p_header_rec.ship_from_org_id;
p_header_rec.payment_term_id := arg_in_p_header_rec.payment_term_id;
p_header_rec.price_list_id := 1000;
p_header_rec.freight_terms_code := 'Due'; -- Prepay and Add
p_header_rec.operation := OE_GLOBALS.G_OPR_CREATE;
p_header_rec.pricing_date := SYSDATE;
p_header_rec.creation_date := SYSDATE;
p_header_rec.booked_flag := 'N';
p_header_rec.created_by := 1318;
p_header_rec.last_updated_by := 1318;
p_header_rec.last_update_date := SYSDATE;
p_header_rec.invoice_to_org_id := 1424;
p_header_rec.version_number := 1;
p_header_rec.open_flag := 'Y';
p_header_rec.ordered_date := SYSDATE;
p_header_rec.flow_status_code := 'ENTERED';
p_header_rec.tax_exempt_flag := 'S';
p_header_rec.salesrep_id := -3;
--------------------------------------------LINES CODE------------------------------------------------------------
icount := 0;
for icount in 1 .. arg_in_p_line_tbl.count loop
p_line_tbl(icount) := Oe_Order_Pub.G_MISS_LINE_REC;
SELECT OE_ORDER_LINES_S.NEXTVAL INTO p_line_tbl(icount).line_id FROM DUAL;
dbms_output.put_line('Line ID = '|| p_line_tbl(icount).line_id);
p_line_tbl(icount).inventory_item_id := arg_in_p_line_tbl(icount).inventory_item_id;
p_line_tbl(icount).ordered_quantity := arg_in_p_line_tbl(icount).ordered_quantity;
p_line_tbl(icount).pricing_quantity := arg_in_p_line_tbl(icount).pricing_quantity;
p_line_tbl(icount).line_type_id := arg_in_p_line_tbl(icount).line_type_id;
p_line_tbl(icount).line_number := icount;
p_line_tbl(icount).shipment_number := arg_in_p_line_tbl(icount).shipment_number;
p_line_tbl(icount).ship_to_org_id := arg_in_p_line_tbl(icount).ship_to_org_id;
p_line_tbl(icount).sold_to_org_id := arg_in_p_line_tbl(icount).sold_to_org_id;
p_line_tbl(icount).salesrep_id := arg_in_p_line_tbl(icount).salesrep_id;
p_line_tbl(icount).payment_term_id := arg_in_p_line_tbl(icount).payment_term_id;
p_line_tbl(icount).price_list_id := 1000;
p_line_tbl(icount).operation := OE_GLOBALS.G_OPR_CREATE;
p_line_tbl(icount).open_flag := 'Y';
p_line_tbl(icount).booked_flag := 'N';
p_line_tbl(icount).header_id := p_header_rec.header_id;
p_line_tbl(icount).line_category_code := 'ORDER';
p_line_tbl(icount).order_quantity_uom :='Ea';
p_line_tbl(icount).request_date := SYSDATE;
p_line_tbl(icount).schedule_ship_date := SYSDATE;
p_line_tbl(icount).ship_from_org_id := 204;
p_line_tbl(icount).flow_status_code := 'ENTERED';
p_line_tbl(icount).ship_to_customer_id := 1290;
p_line_tbl(icount).invoice_to_org_id := 1424;
p_line_tbl(icount).tax_exempt_flag := 'S';
p_line_tbl(icount).tax_date := '02-Mar-2005';
p_line_tbl(icount).tax_code := 'Location';
SELECT OE_PRICE_ADJUSTMENTS_S.NEXTVAL INTO p_Line_Adj_tbl(icount).price_adjustment_id FROM DUAL;
dbms_output.put_line('Price Adjustment ID = '|| p_Line_Adj_tbl(icount).price_adjustment_id);
p_Line_Adj_tbl(icount).created_by := 1318;
p_Line_Adj_tbl(icount).header_id := p_header_rec.header_id;
p_Line_Adj_tbl(icount).line_id := p_line_tbl(icount).line_id;
p_Line_Adj_tbl(icount).percent := 10;
p_Line_Adj_tbl(icount).operation := OE_GLOBALS.G_OPR_CREATE;
p_Line_Adj_tbl(icount).list_header_id := 8988;
p_Line_Adj_tbl(icount).list_line_id := 16596;
p_Line_Adj_tbl(icount).list_line_type_code := 'DIS';
p_Line_Adj_tbl(icount).arithmetic_operator := 'AMT';
p_Line_Adj_tbl(icount).updated_flag := 'Y';
p_Line_Adj_tbl(icount).update_allowed := 'Y';
p_Line_Adj_tbl(icount).applied_flag := 'Y';
p_Line_Adj_tbl(icount).automatic_flag := 'N';
p_Line_Adj_tbl(icount).OPERAND := 10;
end loop;
oe_msg_pub.initialize;
oe_order_pub.process_order
( p_api_version_number => p_api_version_number
, p_init_msg_list => FND_API.G_FALSE
, p_return_values => FND_API.G_FALSE
, p_action_commit => FND_API.G_FALSE
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
, p_header_rec => p_header_rec
, p_old_header_rec => p_old_header_rec
, p_header_val_rec => p_header_val_rec
, p_old_header_val_rec => p_old_header_val_rec
, p_Header_Adj_tbl => p_Header_Adj_tbl
, p_old_Header_Adj_tbl => p_old_Header_Adj_tbl
, p_Header_Adj_val_tbl => p_Header_Adj_val_tbl
, p_old_Header_Adj_val_tbl => p_old_Header_Adj_val_tbl
, p_Header_price_Att_tbl => p_Header_price_Att_tbl
, p_old_Header_Price_Att_tbl => p_old_Header_Price_Att_tbl
, p_Header_Adj_Att_tbl => p_Header_Adj_Att_tbl
, p_old_Header_Adj_Att_tbl => p_old_Header_Adj_Att_tbl
, p_Header_Adj_Assoc_tbl => p_Header_Adj_Assoc_tbl
, p_old_Header_Adj_Assoc_tbl => p_old_Header_Adj_Assoc_tbl
, p_Header_Scredit_tbl => p_Header_Scredit_tbl
, p_old_Header_Scredit_tbl => p_old_Header_Scredit_tbl
, p_Header_Scredit_val_tbl => p_Header_Scredit_val_tbl
, p_old_Header_Scredit_val_tbl => p_old_Header_Scredit_val_tbl
, p_line_tbl => p_line_tbl
, p_old_line_tbl => p_old_line_tbl
, p_line_val_tbl => p_line_val_tbl
, p_old_line_val_tbl => p_old_line_val_tbl
, p_Line_Adj_tbl => p_Line_Adj_tbl
, p_old_Line_Adj_tbl => p_old_Line_Adj_tbl
, p_Line_Adj_val_tbl => p_Line_Adj_val_tbl
, p_old_Line_Adj_val_tbl => p_old_Line_Adj_val_tbl
, p_Line_price_Att_tbl => p_Line_price_Att_tbl
, p_old_Line_Price_Att_tbl => p_old_Line_Price_Att_tbl
, p_Line_Adj_Att_tbl => p_Line_Adj_Att_tbl
, p_old_Line_Adj_Att_tbl => p_old_Line_Adj_Att_tbl
, p_Line_Adj_Assoc_tbl => p_Line_Adj_Assoc_tbl
, p_old_Line_Adj_Assoc_tbl => p_old_Line_Adj_Assoc_tbl
, p_Line_Scredit_tbl => p_Line_Scredit_tbl
, p_old_Line_Scredit_tbl => p_old_Line_Scredit_tbl
, p_Line_Scredit_val_tbl => p_Line_Scredit_val_tbl
, p_old_Line_Scredit_val_tbl => p_old_Line_Scredit_val_tbl
, p_Lot_Serial_tbl => p_Lot_Serial_tbl
, p_old_Lot_Serial_tbl => p_old_Lot_Serial_tbl
, p_Lot_Serial_val_tbl => p_Lot_Serial_val_tbl
, p_old_Lot_Serial_val_tbl => p_old_Lot_Serial_val_tbl
, p_action_request_tbl => p_action_request_tbl
, x_header_rec => x_header_rec
, x_header_val_rec => x_header_val_rec
, x_Header_Adj_tbl => x_Header_Adj_tbl
, x_Header_Adj_val_tbl => x_Header_Adj_val_tbl
, x_Header_price_Att_tbl => x_Header_price_Att_tbl
, x_Header_Adj_Att_tbl => x_Header_Adj_Att_tbl
, x_Header_Adj_Assoc_tbl => x_Header_Adj_Assoc_tbl
, x_Header_Scredit_tbl => x_Header_Scredit_tbl
, x_Header_Scredit_val_tbl => x_Header_Scredit_val_tbl
, x_line_tbl => x_line_tbl
, x_line_val_tbl => x_line_val_tbl
, x_Line_Adj_tbl => x_Line_Adj_tbl
, x_Line_Adj_val_tbl => x_Line_Adj_val_tbl
, x_Line_price_Att_tbl => x_Line_price_Att_tbl
, x_Line_Adj_Att_tbl => x_Line_Adj_Att_tbl
, x_Line_Adj_Assoc_tbl => x_Line_Adj_Assoc_tbl
, x_Line_Scredit_tbl => x_Line_Scredit_tbl
, x_Line_Scredit_val_tbl => x_Line_Scredit_val_tbl
, x_Lot_Serial_tbl => x_Lot_Serial_tbl
, x_Lot_Serial_val_tbl => x_Lot_Serial_val_tbl
, x_action_request_tbl => x_action_request_tbl
IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
COMMIT;
dbms_output.put_line('Return Status - '|| SUBSTR (x_return_status,1,255));
dbms_output.put_line('------------------------------------');
dbms_output.put_line('Order Number ==== '|| x_header_rec.order_number);
dbms_output.put_line('------------------------------------');
arg_out_x_return_status := x_return_status;
arg_out_order_number := x_header_rec.order_number;
arg_out_header_id := p_header_rec.header_id;
arg_out_flow_status_code := p_header_rec.flow_status_code;
ELSE
dbms_output.put_line('Return Status = '|| SUBSTR (x_return_status,1,255));
dbms_output.put_line('Msg Count = '|| TO_CHAR(x_msg_count));
dbms_output.put_line('Msg Data = '|| SUBSTR (x_msg_data,1,255));
IF x_msg_count >1 THEN
FOR I IN 1..x_msg_count LOOP
Oe_Msg_Pub.get(
p_msg_index => i
,p_encoded => Fnd_Api.G_FALSE
,p_data => v_msg_data
,p_msg_index_out => v_msg_index_out
DBMS_OUTPUT.PUT_LINE('v_msg_index_out '|| v_msg_index_out);
DBMS_OUTPUT.PUT_LINE('v_msg_data '|| v_msg_data);
END LOOP;
END IF;
END IF;
END;
/ -
I am trying to run this AR API, for a perticular set of value in Oracle R12 instance...
DECLARE
L_RETURN_STATUS VARCHAR2(1);
L_MSG_COUNT NUMBER;
L_MSG_DATA VARCHAR2(2000);
L_BATCH_SOURCE_REC AR_INVOICE_API_PUB.BATCH_SOURCE_REC_TYPE;
L_TRX_HEADER_TBL AR_INVOICE_API_PUB.TRX_HEADER_TBL_TYPE;
L_TRX_LINES_TBL AR_INVOICE_API_PUB.TRX_LINE_TBL_TYPE;
L_TRX_DIST_TBL AR_INVOICE_API_PUB.TRX_DIST_TBL_TYPE;
L_TRX_SALESCREDITS_TBL AR_INVOICE_API_PUB.TRX_SALESCREDITS_TBL_TYPE;
BEGIN
FND_GLOBAL.APPS_INITIALIZE(112,50368,7000);
MO_GLOBAL.SET_POLICY_CONTEXT('S',82);
L_BATCH_SOURCE_REC.BATCH_SOURCE_ID := 1024;
L_TRX_HEADER_TBL(1).TRX_HEADER_ID := 16828;
L_TRX_HEADER_TBL(1).TRX_NUMBER := '620121V';
L_TRX_HEADER_TBL(1).TRX_DATE := '29-APR-08';
L_TRX_HEADER_TBL(1).GL_DATE := '30-SEP-2010';
L_TRX_HEADER_TBL(1).TRX_CURRENCY := 'INR';
L_TRX_HEADER_TBL(1).CUST_TRX_TYPE_ID := 1033;
L_TRX_HEADER_TBL(1).BILL_TO_CUSTOMER_ID := 8256;
L_TRX_HEADER_TBL(1).BILL_TO_ADDRESS_ID := 1476;
L_TRX_HEADER_TBL(1).SHIP_TO_CUSTOMER_ID := 8256;
L_TRX_HEADER_TBL(1).SHIP_TO_ADDRESS_ID := 1476;
L_TRX_HEADER_TBL(1).BILL_TO_SITE_USE_ID := 1687;
L_TRX_HEADER_TBL(1).TERM_ID := 1001;
L_TRX_HEADER_TBL(1).ORG_ID := 82;
L_TRX_HEADER_TBL(1).TRX_CLASS := 'INV';
L_TRX_HEADER_TBL(1).REFERENCE_NUMBER := NULL;
L_TRX_HEADER_TBL(1).COMMENTS := 'Sale';
L_TRX_LINES_TBL(1).TRX_HEADER_ID := 16828;
L_TRX_LINES_TBL(1).TRX_LINE_ID := 16864;
L_TRX_LINES_TBL(1).WAREHOUSE_ID := 102;
L_TRX_LINES_TBL(1).QUANTITY_INVOICED := 1;
L_TRX_LINES_TBL(1).MEMO_LINE_ID := 1001;
L_TRX_LINES_TBL(1).UNIT_SELLING_PRICE := 8070;
L_TRX_LINES_TBL(1).LINE_NUMBER := 1;
L_TRX_LINES_TBL(1).AMOUNT := 8070;
L_TRX_LINES_TBL(1).LINE_TYPE := 'LINE';
L_TRX_LINES_TBL(1).INTERFACE_LINE_CONTEXT := 'CONVERSION';
L_TRX_LINES_TBL(1).INTERFACE_LINE_ATTRIBUTE1 := 3882;
L_TRX_LINES_TBL(1).INTERFACE_LINE_ATTRIBUTE2 := 1;
L_TRX_LINES_TBL(1).INTERFACE_LINE_ATTRIBUTE3 := 'Sale';
L_TRX_LINES_TBL(1).DESCRIPTION := 'Conversion';
AR_INVOICE_API_PUB.CREATE_INVOICE(P_API_VERSION => 1.0,
P_BATCH_SOURCE_REC => L_BATCH_SOURCE_REC,
P_TRX_HEADER_TBL => L_TRX_HEADER_TBL,
P_TRX_LINES_TBL => L_TRX_LINES_TBL,
P_TRX_DIST_TBL => L_TRX_DIST_TBL,
P_TRX_SALESCREDITS_TBL => L_TRX_SALESCREDITS_TBL,
X_RETURN_STATUS => L_RETURN_STATUS,
X_MSG_COUNT => L_MSG_COUNT,
X_MSG_DATA => L_MSG_DATA);
IF ((L_RETURN_STATUS = FND_API.G_RET_STS_ERROR) OR (L_RETURN_STATUS = FND_API.G_RET_STS_UNEXP_ERROR)) THEN
DBMS_OUTPUT.PUT_LINE('Unexpected Errors Found While Calling API');
END IF;
DBMS_OUTPUT.PUT_LINE(CHR(10));
DBMS_OUTPUT.PUT_LINE('L_RETURN_STATUS: '||L_RETURN_STATUS);
DBMS_OUTPUT.PUT_LINE('L_MSG_COUNT: '||L_MSG_COUNT);
DBMS_OUTPUT.PUT_LINE('L_MSG_DATA: '||L_MSG_DATA);
DBMS_OUTPUT.PUT_LINE(CHR(10));
END;
On running this,the output comes as -
Unexpected Errors Found While Calling API
L_RETURN_STATUS: U
L_MSG_COUNT:
L_MSG_DATA: Error in AR_INVOICE_UTILS.validate_tax_exemption ORA-01403: no data found
Can some one help me out where am i going wrong???Hi Gourab
You have posted this request to the wrong forum, so no one here will be able to help you.
I believe the correct forum for the question you are asking is the EBS Financials forum:
Financials
Please try posting your query there, hopefully someone there will be able to help you.
Regards
Simon Kissane
Oracle Support -
How to call a concurrent program with some parameters in a stored procedure
Hi All,
I have made two procedures, xx_nidhi_proc1 and xx_nidhi_proc2.
xx_nidhi_proc1 takes four parameters from front end and is registered as concurrent program in oracle apps and running fine alone.
xx_nidhi_proc2 calls the concurrent program of xx_nidhi_proc1 which is XX_NIDS_PROC1_PROG1.
But the problem in my code is , It runs the second concurrent program for xx_nidhi_proc2 but shows the Inactive- No Manager status for my first concurrent program XX_NIDS_PROC1_PROG1,
Please find out the error in my code...
CREATE OR REPLACE PACKAGE BODY NIDHI IS
procedure xx_nidhi_proc1 (errbuf OUT VARCHAR2,
retcode OUT VARCHAR2,
name_t varchar2,
empno varchar2,
doj date,
desig varchar2) is
begin
fnd_file.PUT_LINE(Fnd_File.output,'/**************Start of the output **********/');
fnd_file.PUT_LINE(Fnd_File.output, 'Name:'||name_t);
fnd_file.PUT_LINE(Fnd_File.output, 'Number:'||empno);
fnd_file.PUT_LINE(Fnd_File.output, 'DOJ:'|| to_char(doj, 'DD-MON-RRRR'));
fnd_file.PUT_LINE(Fnd_File.output, 'Designation:'||desig);
fnd_file.PUT_LINE(Fnd_File.output,'/**************End of the output **********/');
errbuf:='SUCCESS';
retcode:='SUCCESS';
end xx_nidhi_proc1;
--calls the xx_nidhi_proc1 as concurrent program.
procedure xx_nidhi_proc21 (errbuf OUT VARCHAR2,
retcode OUT VARCHAR2)
is
v_request_id number;
begin
fnd_file.PUT_LINE(Fnd_File.output,'/**************Start of the output **********/');
fnd_file.PUT_LINE(Fnd_File.output, 'Deptartment Number:'||'Computer');
fnd_file.PUT_LINE(Fnd_File.output, 'Location:'||'TCS Towers');
fnd_file.PUT_LINE(fnd_file.output,'Starting XX_NIDS_PROC1_PROG1');
fnd_global.apps_initialize(user_id => 1318 ,resp_id => 50578, resp_appl_id => 201);
v_request_id := FND_REQUEST.SUBMIT_REQUEST('PO',
'XX_NIDS_PROC1_PROG1',
null,
null,
TRUE,
'Nidhi gupta',
138609,
'12-Dec-2003',
'ASE');
commit;
fnd_file.PUT_LINE(fnd_file.OUTPUT,'Request ID is '||to_char(v_request_id));
fnd_file.PUT_LINE(fnd_file.OUTPUT,'End XX_NIDS_PROC1_PROG1');
fnd_file.PUT_LINE(Fnd_File.output,'/**************End of the output **********/');
errbuf:='SUCCESS';
retcode:='SUCCESS';
end xx_nidhi_proc21;
Thanks
Nidhi
END NIDHI;Nidhi this might help u
v_num_request_load_id :=
fnd_request.submit_request (c_chr_application_short_name,
c_chr_apl_short_name,
NULL,
NULL,
FALSE,
p_chr_allocation_view,
p_chr_flow_type,
p_chr_operating_unit,
p_dte_planned_from,
p_dte_planned_to,
p_num_application_id,
p_num_loc_seg1_id,
p_num_loc_seg2_id,
p_num_organization_id,
p_num_responsibility_id,
p_num_session_id,
p_num_user_id,
p_chr_arrival_status,
p_chr_statuses,
p_chr_locations,
p_chr_transport_unit
COMMIT;
IF v_num_request_load_id = 0
THEN
o_num_stat := 2;
o_chr_err_msg := 'Report could not be submitted';
END IF;
o_chr_err_msg := 'Request Id :' || v_num_request_load_id;
v_boo_wait :=
fnd_concurrent.wait_for_request (v_num_request_load_id,
c_num_interval,
c_num_max_wait,
v_chr_phase,
v_chr_status,
v_chr_dev_phase,
v_chr_dev_status,
v_chr_err_buf
IF v_chr_dev_phase = 'COMPLETE' /* 1.1 */
THEN
IF v_chr_dev_status = 'NORMAL' /* 1.2 */
THEN
BEGIN
-- some your own logic
EXCEPTION
WHEN OTHERS THEN
o_chr_err_msg := o_chr_err_msg||' Unable to determine Report File Path.';
o_num_stat := 2;
END;
ELSIF v_chr_dev_status = 'WARNING' /* 1.2 */
THEN
o_chr_err_msg := o_chr_err_msg||' Report program completed with Warning.';
ELSE /* 1.2 */
o_chr_err_msg := o_chr_err_msg||' Report program completed with Error.';
END IF; /* 1.2 */
ELSE /* 1.1 */
o_chr_err_msg := 'Report program Timed Out.';
END IF; /* 1.1 */ -
How to call pl/sql that is included with FND call in java jdbc directly?
in my case, I want to call my procedure that will call EBS FND procedure in java jdbc thin way.
Actually I can run this procedure in sqlplus very well, but I can't run it in my java code, I found that is caused by FND_GLOBAL.APPS_INITIALIZE. In my opinion, the procedure should be running in same server side, I am confused why the procedure has different way in the client side such as jdbc or sqlplus?
does anyone use pure jdbc thin to call EBS FND procedure directly, instead of AOLj? Thanks in advancebefore you run any oracle apps APIs you need to set environment.....n environment settings will be done by FND_GLOBAL.APPS_INITIALIZE API.
From which java application you need to call FND Proc....
whts the basic requirement ?
Maybe you are looking for
-
How to create an automated script
Hi friends! Back with my doubts! I am working with a web based and client server based program. I making some enhancements into the program to generate some new reports. What it has to do everyday is 1 - create the tables/insert records needed for th
-
1) We have DB2 9.1.2 Express C server on SUSE Linux 10.2 kernel v2.6 2) We have JBoss 4.0 application server & Apache web server on other 2 linux boxes. 3) We are using Eclipse for Java development with Hibernate as intermediate layer. 4) While doing
-
Steelseries engine for GX60 3CC
were can I get steelseries engine for GX60 3CC?
-
Material master - problem with event viewcreated
I have created a WF with a start event ZBUS1001-ViewCreated. ZBUS1001 is a copy of object BUS1001006. If I trigger the event manually, or test the wf, than it works fine. I've linked this event properly (or just I hope), but when I start MM01 to crea
-
Printing in OsX 10.6.x and other issues
I just updated from a trusty G5 running OSX 10.4.11 to a 2010 Intel iMac running OSX 10.6.8 and can't for the life of me get my Epson 3800 and 595 printers to work. I've downloaded new drivers and also resorted to a clean install but no luck. The oth