Hey everyone,
I am creating a custom event on the Project screen that will make the Project Totals tab ‘Manual POC’ field an automatic zero is a Project is in a certain Project Group. This is dictated by a custom field checkbox.
I have debugged the ‘DO’ action of the Manual POC field and it requires (info_, objid_,objversion_,attr_,’DO’)
In attr it requires Company, Project_id, Ledger_id(That is always ‘*’), Manual_POC(That will always be ‘0’ when this action runs).
I have created the action to run after the Accounting_Project table gets a new Project_id, Company, and Project_group data. Once that fires off the action does the below:
DECLARE
company_ VARCHAR2(32000) := '&NEW:COMPANY';
project_group_ VARCHAR2(32000) := '&NEW:PROJECT_GROUP';
project_id_ VARCHAR2(32000) := '&NEW:PROJECT_ID';
cf$_manual_poc_ VARCHAR2(32000);
ledger_id_ VARCHAR(32000) := '*';
attr_ VARCHAR2(32000);
CURSOR c_get_cf$_manual_poc IS
SELECT CF$_MANUAL_POC
FROM PROJECT_GROUP_TAB LEFT JOIN PROJECT_GROUP_CFT
ON PROJECT_GROUP_TAB.ROWKEY = PROJECT_GROUP_CFT.ROWKEY
WHERE COMPANY = company_
AND PROJECT_GROUP = project_group_;
BEGIN
--ERROR_SYS.Record_General('EPT-Custom' || CHR(13), 'Company: ' || company_ || 'Project Group: ' || project_group_ || 'Project Id: ' || project_id_); --Displayed
OPEN c_get_cf$_manual_poc;
FETCH c_get_cf$_manual_poc INTO cf$_manual_poc_;
CLOSE c_get_cf$_manual_poc;
--ERROR_SYS.Record_General('EPT-Custom' || CHR(13), 'Manual POC: ' || cf$_manual_poc_); --Displayed
IF cf$_manual_poc_ IS NOT NULL AND cf$_manual_poc_ = 'TRUE' THEN
-- ERROR_SYS.Record_General('EPT-Custom' || CHR(13), '0 will be entered into Manual POC% field.' || attr_); --Displayed
Client_SYS.Clear_Attr(attr_);
Client_SYS.Add_To_Attr('COMPANY_', company_, attr_);
Client_SYS.Add_To_Attr('PROJECT_ID_', project_id_, attr_);
Client_SYS.Add_To_Attr('LEDGER_ID_', ledger_id_, attr_);
TRANSACTION_SYS.Deferred_Call('EPT_EC_UTILITY_API.Update_Prj_Totals_Man_POC_To_0', attr_, 'Insert 0 into Manual POC% field for Project ' || project_id_);
END IF;
END;
Then the background job kicks off and does this:
PROCEDURE Update_Prj_Totals_Man_POC_To_0 (
attr_in_ IN VARCHAR2
)
IS
company_ VARCHAR2(32000) := Client_SYS.Get_Item_value('COMPANY_', attr_in_);
project_id_ VARCHAR2(32000) := Client_SYS.Get_Item_value('PROJECT_ID_', attr_in_);
ledger_id_ VARCHAR2(32000) := Client_SYS.Get_Item_value('LEDGER_ID_', attr_in_);
info_ VARCHAR2(32000);
objid_ VARCHAR2(32000);
objversion_ VARCHAR2(32000);
attr_ VARCHAR2(32000);
action_ VARCHAR2(3):='DO';
--CURSOR c_get_prj_totals IS
--SELECT OBJID, OBJVERSION
--FROM project_totals
--WHERE PROJECT_ID = project_id_
--AND COMPANY = company_;
BEGIN
--OPEN c_get_prj_totals;
--FETCH c_get_prj_totals INTO objid_, objversion_;
--CLOSE c_get_prj_totals;
Client_SYS.clear_attr(attr_);
Client_SYS.add_to_attr('MANUAL_POC', 0, attr_);
--ERROR_SYS.Record_General('EPT-Custom' || CHR(13), '0 will be entered into Manual POC% field.' || attr_); --Displayed
IFSAPP.project_totals_api.New__(info_, objid_, objversion_, attr_, 'DO');
COMMIT;
END Update_Prj_Totals_Man_POC_To_0;
When I debug this it shows all of my information IFS is requesting in the attr_, however I am getting this error when I am using the Project_Totals.New__ api.
Access denied! User IFSAPP is not connected to Company
ORA-20111: UserFinance.RECNOTEXIST
Does anyone know what this error means or any ideas what I can try to get around this? I have also tried the Project_Totals.Modify__, however since there is no data in that table until we add something in the table I cannot do a modify.
I read a couple of posts on here about this error showing up while users were trying to do IFS functions that resulted in bug fixes so I am curious if that may also be what’s happening here.
Any help is always appreciated.