Compare commits

...

No commits in common. 'master' and 'REPORTS' have entirely different histories.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -1,6 +0,0 @@
# Explicitly declare .sh files to always be checked out using Unix-style line endings (LF).
.gitattributes text eol=lf
*.sh text eol=lf
*.cmd text eol=crlf
*.ps1 text eol=crlf

@ -1,96 +0,0 @@
{
"version": "24.2",
"languages": [
{
"code": "ar",
"used": "false"
},
{
"code": "bp",
"used": "false"
},
{
"code": "cf",
"used": "false"
},
{
"code": "cs",
"used": "false"
},
{
"code": "da",
"used": "false"
},
{
"code": "de",
"used": "false"
},
{
"code": "es",
"used": "false"
},
{
"code": "fi",
"used": "false"
},
{
"code": "fr",
"used": "false"
},
{
"code": "gb",
"used": "false"
},
{
"code": "gg",
"used": "false"
},
{
"code": "hu",
"used": "false"
},
{
"code": "it",
"used": "false"
},
{
"code": "ja",
"used": "false"
},
{
"code": "ko",
"used": "false"
},
{
"code": "nl",
"used": "false"
},
{
"code": "no",
"used": "false"
},
{
"code": "pl",
"used": "false"
},
{
"code": "pt",
"used": "false"
},
{
"code": "ru",
"used": "false"
},
{
"code": "sk",
"used": "false"
},
{
"code": "sv",
"used": "false"
},
{
"code": "zh",
"used": "false"
}
]}

@ -1,274 +0,0 @@
solutionSetId: IFS-CLOUD-ENG-CON-INF
solutionSetName: IFS Cloud for ECI Solution Set
coreComponents:
accrul: true
adcom: false
adlob: false
admon: false
amfw: false
apppay: true
appsrv: true
asdtcl: false
asinsi: false
aspcom: false
aspred: false
bacli: true
biaxsv: true
bibase: true
biserv: true
boexp: true
brbase: true
buspln: true
calcbb: false
callc: true
career: true
cbs: false
cbsint: false
cfgbb: false
cfgbko: true
cfgchr: true
cfgmgr: false
cfgrul: true
chanbb: true
change: true
chmgmt: true
cmpcfg: false
cmpunt: false
compbe: false
conmgt: true
cost: true
cpmsch: true
crm: true
cromfg: false
crp: true
crystl: true
cshpln: true
cussch: false
datmgt: true
datsvc: false
deford: false
demand: true
discom: true
discop: false
disord: true
docbb: true
docman: true
dop: false
dtsrc: false
ecilob: true
ecoman: false
emipro: false
emppay: true
empsrv: true
enterp: true
equbb: false
equip: true
erep: true
eschnd: true
esspro: false
estman: true
estprd: true
etstd: false
eurlob: false
evelog: true
expctr: false
fincfa: true
fincon: true
fixass: true
flm: false
flmexe: false
flops: false
fmea: true
fmeca: false
fndadm: true
fndbas: true
fndcat: true
fndcob: true
fnddev: true
fnddss: true
fndgpt: false
fndmig: true
fndml: true
fndmob: true
fndrem: false
fndrpl: false
fndrre: true
fndsch: true
fndscm: true
fndwf: true
fsmapp: false
genled: true
genres: true
genuac: false
gisint: false
grocon: true
hmxcon: false
hmxwsl: false
indemn: true
indlob: true
intled: true
inttst: false
invent: true
invoic: true
invpla: true
iotctr: true
istool: true
its: false
jinsui: true
jobrm: true
kanban: true
kpimgt: false
kyrcon: false
linabb: false
linast: false
loc: true
massch: true
matcco: true
metinv: false
mfgexe: false
mfgstd: true
mfgviz: true
mflob: false
mlsrv: false
mpbint: false
mpccom: true
mromfg: false
mrp: true
mscom: true
mso: false
mwo: false
mxcms: false
mxcore: false
mxdiag: false
mxel: false
mxem: false
mxjm: false
mxlp: false
mxmat: false
mxmp: false
mxsc: false
mxsp2k: false
mxts: false
mxwc: false
nainfe: true
natstd: false
ntfyme: true
opplan: false
order: true
ordsrv: false
ordstr: true
osha: true
partca: true
payint: true
payled: true
pbies: false
pcert: false
pcmbb: false
pcmsci: false
pcmstd: true
pdmcon: true
percos: true
periso: true
person: true
plades: false
planav: false
plist: true
pm: true
pmrp: true
prifs: true
prjdel: true
prjmsp: true
prjrep: true
proj: true
projbf: true
proopg: true
prosch: true
purbb: false
purch: true
quaaud: true
quaman: true
quancr: true
rceipt: true
rcruit: true
recsrv: false
rental: true
reqmgt: false
reqquo: false
risk: true
rmcom: true
rmpanl: false
rrp: true
salbb: false
scbb: false
schwrk: true
sercat: false
shipod: true
shpmnt: true
shpobb: false
shpord: true
sinwof: true
sklmgt: false
sla: true
smlob: false
srm: true
srvagr: false
srvbas: false
srvcon: false
srvinv: false
srvmod: false
srvobj: false
srvquo: false
srvwar: false
ssrsor: false
straco: true
subcbb: true
subcon: true
subval: true
supkey: true
supsch: false
susmgt: false
svcsch: false
tabmdl: false
tabmfw: false
tabmtm: false
taxled: true
tclob: false
timclo: true
timman: true
timrep: true
tmcapl: false
tmcobn: false
tmconf: false
tmcrm: false
tmeam: false
tmempa: false
tmgc: false
tmgl: false
tminma: false
tminv: false
tmproc: false
tmproj: false
tmprpe: false
tmsale: false
tooleq: true
toolmf: true
trnadm: true
trndev: true
trvall: true
trvexp: true
tsptai: false
ucfont: true
vim: false
vimfca: false
vimmro: false
wadaco: true
wo: true
wocfg: true
wops: false
wrkcon: false
wrksch: true
wrktsk: true
wscope: false
customComponents:

@ -1,5 +0,0 @@
#GENERATED BY IFS DEVELOPER STUDIO, DO NOT EDIT! SETUP ANOTHER PROJECT IF YOU WANT TO DEVELOP ON A DIFFERENT LAYER.
[Layers]
Cust=Customizations
Core=IFS Applications Core
Base=Generated from models

@ -1,33 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ENTITY xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:ifsworld-com:schemas:entity_entity">
<CODE_GENERATION_PROPERTIES>
<CODE_GENERATION_PROPERTIES>
</CODE_GENERATION_PROPERTIES>
</CODE_GENERATION_PROPERTIES>
<DIAGRAMS>
<DIAGRAM>
<NAME>State Machine</NAME>
<DIAGRAM_TYPE>STATE_MACHINE</DIAGRAM_TYPE>
</DIAGRAM>
</DIAGRAMS>
<NAME>Project</NAME>
<COMPONENT>PROJ</COMPONENT>
<LAYER>Cust</LAYER>
<ATTRIBUTES>
<ATTRIBUTE>
<NAME>CBudgOnSubcont</NAME>
<IS_PRIMARY_KEY>0</IS_PRIMARY_KEY>
<IS_PARENT_KEY>0</IS_PARENT_KEY>
<IS_PUBLIC>1</IS_PUBLIC>
<IS_MANDATORY>0</IS_MANDATORY>
<IS_SERVER_GENERATED>0</IS_SERVER_GENERATED>
<IS_UPDATE_ALLOWED>1</IS_UPDATE_ALLOWED>
<IS_UPDATE_ALLOWED_IF_NULL>0</IS_UPDATE_ALLOWED_IF_NULL>
<IS_DEFAULT_LOV>1</IS_DEFAULT_LOV>
<IS_QUERYABLE>1</IS_QUERYABLE>
<IS_DERIVED>0</IS_DERIVED>
<DATATYPE>ENUMERATION</DATATYPE>
<ENUMERATION_NAME>FndBoolean</ENUMERATION_NAME>
</ATTRIBUTE>
</ATTRIBUTES>
</ENTITY>

@ -1,95 +0,0 @@
client ProjectSetupParameters;
component PROJ;
layer Cust;
description "Project Setup Navigator";
--------------------------------- FRAGMENTS ---------------------------------
----------------------------- NAVIGATOR ENTRIES -----------------------------
-------------------------------- MAIN PAGES ---------------------------------
@Override
page ProjectLevel using Projects {
@DynamicComponentDependency PROJBF
commandgroup BudgetingForecastingCmdGroup {
visible = [not ProjSetupParameterMetadataRef.ShowAccessAndRoles];
label = "Budgeting and Forecasting";
commandgroup ControlBudgetCmdGroup {
label = "Budget Control";
command BudgetControlInSubContract {
visible = [not ProjSetupParameterMetadataRef.ShowAccessAndRoles];
showasaction = IfRoom;
}
}
}
}
--------------------------------- COMMANDS ----------------------------------
command BudgetControlInSubContract for Project {
execute {
messagebox("Confirm", question, "Do you really want to change the control in Subcontract setting on this project ?") {
when "Yes" {
call CBudControlInSubCtr(ProjectId, CBudgOnSubcont);
selected = [true];
}
when "No" {
exit;
}
}
}
}
--------------------------------- SELECTORS ---------------------------------
---------------------------------- GROUPS -----------------------------------
@Override
group BudgetingForecastingGroup for Project {
field CBudgOnSubcont {
label = "Budget Control In Sub";
}
}
----------------------------------- LISTS -----------------------------------
---------------------------------- DIALOGS ----------------------------------
-------------------------------- SINGLETONS ---------------------------------
---------------------------------- CHARTS -----------------------------------
--------------------------------- CALENDERS ---------------------------------
---------------------------------- SHEETS -----------------------------------
----------------------------- STATE INDICATORS ------------------------------
----------------------------------- TREES -----------------------------------
---------------------------------- PLUGINS ----------------------------------
------------------------------- IMAGE VIEWERS -------------------------------

@ -1,48 +0,0 @@
projection ProjectSetupParametersHandling;
component PROJ;
layer Cust;
description "ProjectSetupParametersHandling";
--------------------------------- FRAGMENTS ---------------------------------
----------------------------- MAIN ENTRY POINTS -----------------------------
------------------------------ ENTITY DETAILS -------------------------------
@Override
entity Project {
attribute CBudgOnSubcont Boolean("TRUE", "FALSE") {
editable = [false];
}
}
------------------------------- ENUMERATIONS --------------------------------
---------------------------------- QUERIES ----------------------------------
---------------------------------- ACTIONS ----------------------------------
action CBudControlInSubCtr {
initialcheck implementation;
ludependencies = Project;
parameter ProjectId Text;
parameter CurrValue Boolean;
}
--------------------------------- FUNCTIONS ---------------------------------
-------------------------------- STRUCTURES ---------------------------------
--------------------------------- VIRTUALS ----------------------------------
--------------------------------- SUMMARIES ---------------------------------
-------------------------------- SINGLETONS ---------------------------------

@ -1,85 +0,0 @@
client Projects;
component PROJ;
layer Cust;
description "Put some useful description here ...";
--------------------------------- FRAGMENTS ---------------------------------
----------------------------- NAVIGATOR ENTRIES -----------------------------
-------------------------------- MAIN PAGES ---------------------------------
--------------------------------- COMMANDS ----------------------------------
command BudgetControlInSubContract for Project {
execute {
messagebox("Confirm", question, "Do you really want to change the control in Subcontract setting on this project ?") {
when "Yes" {
call CBudControlInSubCtr(ProjectId, CBudgOnSubcont);
selected = [true];
}
when "No" {
exit;
}
}
}
}
--------------------------------- SELECTORS ---------------------------------
---------------------------------- GROUPS -----------------------------------
----------------------------------- LISTS -----------------------------------
@Override
list ProjectList for Project {
field CBudgOnSubcont {
label = "Budget Control In Sub";
}
commandgroup CommandgroupName {
label = "Budget and Forecasting";
commandgroup BudgForeCmdGroup {
label = "Budget and Forecasting";
command BudgetControlInSubContract;
}
}
}
---------------------------------- DIALOGS ----------------------------------
-------------------------------- SINGLETONS ---------------------------------
---------------------------------- CHARTS -----------------------------------
--------------------------------- CALENDERS ---------------------------------
---------------------------------- SHEETS -----------------------------------
----------------------------- STATE INDICATORS ------------------------------
----------------------------------- TREES -----------------------------------
---------------------------------- PLUGINS ----------------------------------
------------------------------- IMAGE VIEWERS -------------------------------

@ -1,49 +0,0 @@
projection ProjectsHandling;
component PROJ;
layer Cust;
description "PROJECTS";
--------------------------------- FRAGMENTS ---------------------------------
----------------------------- MAIN ENTRY POINTS -----------------------------
------------------------------ ENTITY DETAILS -------------------------------
@Override
entity Project {
attribute CBudgOnSubcont Boolean("TRUE", "FALSE") {
fetch = "c_budg_on_subcont_db";
editable = [false];
}
}
------------------------------- ENUMERATIONS --------------------------------
---------------------------------- QUERIES ----------------------------------
---------------------------------- ACTIONS ----------------------------------
action CBudControlInSubCtr {
initialcheck implementation;
ludependencies = Project;
parameter ProjectId Text;
parameter CurrValue Boolean;
}
--------------------------------- FUNCTIONS ---------------------------------
-------------------------------- STRUCTURES ---------------------------------
--------------------------------- VIRTUALS ----------------------------------
--------------------------------- SUMMARIES ---------------------------------
-------------------------------- SINGLETONS ---------------------------------

@ -1,75 +0,0 @@
-----------------------------------------------------------------------------
-- Module : PROJ
--
-- File : 040925_PROJ_BUDGONSUBCONT.cdb
--
-- IFS Developer Studio Template Version 2.6
--
-- Date Sign History
-- ------ ------ --------------------------------------------------------
-- 250409 DADHLK IMCO - CRIM UPLIFT - Budget on subcontract
-----------------------------------------------------------------------------
DECLARE
table_name_ VARCHAR2(30) := 'PROJECT_TAB';
columns_ Database_SYS.ColumnTabType;
column_ Database_SYS.ColRec;
BEGIN
IF NOT (Database_SYS.Column_Exist (table_name_, 'C_BUDG_ON_SUBCONT')) THEN
Database_SYS.Set_Table_Column(columns_, 'C_BUDG_ON_SUBCONT', 'NUMBER', 'Y');
Database_SYS.Create_Or_Replace_Table(table_name_, columns_, '&IFSAPP_DATA', NULL, TRUE);
END IF;
END;
--create temp attribute C_BUDG_ON_SUBCONT_DEP
DECLARE
table_name_ VARCHAR2(30) := 'PROJECT_TAB';
column_ VARCHAR2(30) := 'C_BUDG_ON_SUBCONT';
column_temp_ VARCHAR2(30) := 'C_BUDG_ON_SUBCONT_DEP';
BEGIN
IF (Database_SYS.Column_Exist (table_name_, column_)) THEN
IF (Database_SYS.Get_Column_Type(table_name_, column_) = 'NUMBER') THEN
Database_SYS.Rename_Column(table_name_, column_temp_, column_, TRUE);
END IF;
END IF;
END;
--create correct attribute C_BUDG_ON_SUBCONT with type VARCHAR2(20)
DECLARE
table_name_ VARCHAR2(30) := 'PROJECT_TAB';
column_ Database_SYS.ColRec;
BEGIN
IF NOT (Database_SYS.Column_Exist (table_name_, 'C_BUDG_ON_SUBCONT')) THEN
column_ := Database_SYS.Set_Column_Values('C_BUDG_ON_SUBCONT', 'VARCHAR2(20)');
Database_SYS.Alter_Table_Column ( table_name_ , 'A', column_ , TRUE );
END IF;
END;
--set column C_BUDG_ON_SUBCONT nullable
DECLARE
table_name_ VARCHAR2(30) := 'PROJECT_TAB';
column_ Database_SYS.ColRec;
BEGIN
IF (Database_SYS.Get_Column_Type(table_name_, 'C_BUDG_ON_SUBCONT') = 'VARCHAR2(20)') THEN
column_ := Database_SYS.Set_Column_Values('C_BUDG_ON_SUBCONT', NULL ,'Y');
Database_SYS.Alter_Table_Column(table_name_, 'M', column_, TRUE);
END IF;
END;
-- update all null to FALSE
DECLARE
stmt_ VARCHAR2(2000) := 'UPDATE PROJECT_TAB
SET C_BUDG_ON_SUBCONT = ''FALSE''
WHERE C_BUDG_ON_SUBCONT IS NULL';
BEGIN
EXECUTE IMMEDIATE stmt_;
END;

@ -1,37 +0,0 @@
-----------------------------------------------------------------------------
--
-- Logical unit: ActivityElement
-- Component: PROJ
--
-- IFS Developer Studio Template Version 3.0
--
-- Date Sign History
-- ------ ------ ---------------------------------------------------------
-----------------------------------------------------------------------------
layer Cust;
-------------------- PUBLIC DECLARATIONS ------------------------------------
-------------------- PRIVATE DECLARATIONS -----------------------------------
-------------------- LU SPECIFIC IMPLEMENTATION METHODS ---------------------
-------------------- LU SPECIFIC PRIVATE METHODS ----------------------------
-------------------- LU SPECIFIC PROTECTED METHODS --------------------------
-------------------- LU SPECIFIC PUBLIC METHODS -----------------------------
-------------------- LU CUST NEW METHODS -------------------------------------

@ -1,84 +0,0 @@
-----------------------------------------------------------------------------
--
-- Logical unit: Project
-- Component: PROJ
--
-- IFS Developer Studio Template Version 3.0
--
-- Date Sign History
-- ------ ------ ---------------------------------------------------------
-----------------------------------------------------------------------------
layer Cust;
-------------------- PUBLIC DECLARATIONS ------------------------------------
-------------------- PRIVATE DECLARATIONS -----------------------------------
-------------------- LU SPECIFIC IMPLEMENTATION METHODS ---------------------
-------------------- LU SPECIFIC PRIVATE METHODS ----------------------------
@Override
@DynamicComponentDependency PROJBF
PROCEDURE Check_Insert___ (
newrec_ IN OUT NOCOPY project_tab%ROWTYPE,
indrec_ IN OUT NOCOPY Indicator_Rec,
attr_ IN OUT NOCOPY VARCHAR2 )
IS
BEGIN
IF Proj_Comp_Bud_Con_API.Get_C_Budg_On_Subcont(newrec_.company) = 'True' THEN
newrec_.c_budg_on_subcont := Fnd_Boolean_API.DB_TRUE;
ELSE
newrec_.c_budg_on_subcont := Fnd_Boolean_API.DB_FALSE;
END IF;
super(newrec_,indrec_,attr_);
END Check_Insert___;
-------------------- LU SPECIFIC PROTECTED METHODS --------------------------
-------------------- LU SPECIFIC PUBLIC METHODS -----------------------------
-------------------- LU CUST NEW METHODS -------------------------------------
PROCEDURE C_Control_On_Sub_Contract__ (
project_id_ IN VARCHAR2,
control_on_subcontarct_ IN BOOLEAN )
IS
CURSOR get_obj IS
SELECT objid,objversion FROM Project
WHERE project_id = project_id_;
attr_ VARCHAR2(32000);
info_ VARCHAR2(32000);
objid_ VARCHAR2(200);
objversion_ VARCHAR2(200);
action_ VARCHAR2(10) := 'DO';
BEGIN
Client_SYS.Clear_Attr(attr_);
IF(control_on_subcontarct_) THEN
Client_SYS.Add_To_Attr('C_BUDG_ON_SUBCONT', 'True', attr_);
Proj_Budget_Control_Rules_API.C_Update_Project_Rule_List(project_id_);
ELSE
Client_SYS.Add_To_Attr('C_BUDG_ON_SUBCONT', 'False', attr_);
END IF;
OPEN get_obj;
FETCH get_obj INTO objid_,objversion_;
CLOSE get_obj;
Project_API.Modify(info_, objid_, objversion_, attr_, action_);
END C_Control_On_Sub_Contract__;

@ -1,26 +0,0 @@
-----------------------------------------------------------------------------
--
-- Logical unit: Project
-- Component: PROJ
--
-- IFS Developer Studio Template Version 3.0
--
-- Date Sign History
-- ------ ------ ---------------------------------------------------------
-----------------------------------------------------------------------------
layer Cust;
-------------------- COMMON COLUMN DEFINITIONS ------------------------------
-------------------- PUBLIC VIEW DEFINITIONS --------------------------------
@Override
VIEW Project_Base IS
SELECT Fnd_Boolean_API.Decode(nvl(c_budg_on_subcont,'FALSE')) c_budg_on_subcont,
nvl(c_budg_on_subcont,'FALSE') c_budg_on_subcont_db;
-------------------- PRIVATE VIEW DEFINITIONS -------------------------------

@ -1,29 +0,0 @@
-----------------------------------------------------------------------------
--
-- Logical unit: ProjectSetupParametersHandling
-- Component: PROJ
--
-- IFS Developer Studio Template Version 3.0
--
-- Date Sign History
-- ------ ------ ---------------------------------------------------------
-----------------------------------------------------------------------------
layer Cust;
PROCEDURE C_Bud_Control_In_Sub_Ctr___ (
project_id_ IN VARCHAR2,
curr_value_ IN BOOLEAN)
IS
BEGIN
IF (curr_value_) THEN
Project_API.C_Control_On_Sub_Contract__(project_id_,FALSE);
ELSE
Project_API.C_Control_On_Sub_Contract__(project_id_,TRUE);
END IF;
END C_Bud_Control_In_Sub_Ctr___;

@ -1,26 +0,0 @@
-----------------------------------------------------------------------------
--
-- Logical unit: ProjectsHandling
-- Component: PROJ
--
-- IFS Developer Studio Template Version 3.0
--
-- Date Sign History
-- ------ ------ ---------------------------------------------------------
-----------------------------------------------------------------------------
layer Cust;
PROCEDURE C_Bud_Control_In_Sub_Ctr___ (
project_id_ IN VARCHAR2,
curr_value_ IN BOOLEAN)
IS
BEGIN
IF (curr_value_) THEN
Project_API.C_Control_On_Sub_Contract__(project_id_,FALSE);
ELSE
Project_API.C_Control_On_Sub_Contract__(project_id_,TRUE);
END IF;
END C_Bud_Control_In_Sub_Ctr___;

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ENTITY xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:ifsworld-com:schemas:entity_entity">
<CODE_GENERATION_PROPERTIES>
<CODE_GENERATION_PROPERTIES>
</CODE_GENERATION_PROPERTIES>
</CODE_GENERATION_PROPERTIES>
<DIAGRAMS>
<DIAGRAM>
<NAME>State Machine</NAME>
<DIAGRAM_TYPE>STATE_MACHINE</DIAGRAM_TYPE>
</DIAGRAM>
</DIAGRAMS>
<NAME>ProjBudgetControlRules</NAME>
<COMPONENT>PROJBF</COMPONENT>
<LAYER>Cust</LAYER>
</ENTITY>

@ -1,33 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ENTITY xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:ifsworld-com:schemas:entity_entity">
<CODE_GENERATION_PROPERTIES>
<CODE_GENERATION_PROPERTIES>
</CODE_GENERATION_PROPERTIES>
</CODE_GENERATION_PROPERTIES>
<DIAGRAMS>
<DIAGRAM>
<NAME>State Machine</NAME>
<DIAGRAM_TYPE>STATE_MACHINE</DIAGRAM_TYPE>
</DIAGRAM>
</DIAGRAMS>
<NAME>ProjCompBudCon</NAME>
<COMPONENT>PROJBF</COMPONENT>
<LAYER>Cust</LAYER>
<ATTRIBUTES>
<ATTRIBUTE>
<NAME>CBudgOnSubcont</NAME>
<IS_PRIMARY_KEY>0</IS_PRIMARY_KEY>
<IS_PARENT_KEY>0</IS_PARENT_KEY>
<IS_PUBLIC>1</IS_PUBLIC>
<IS_MANDATORY>0</IS_MANDATORY>
<IS_SERVER_GENERATED>0</IS_SERVER_GENERATED>
<IS_UPDATE_ALLOWED>1</IS_UPDATE_ALLOWED>
<IS_UPDATE_ALLOWED_IF_NULL>0</IS_UPDATE_ALLOWED_IF_NULL>
<IS_DEFAULT_LOV>1</IS_DEFAULT_LOV>
<IS_QUERYABLE>1</IS_QUERYABLE>
<IS_DERIVED>0</IS_DERIVED>
<DATATYPE>ENUMERATION</DATATYPE>
<ENUMERATION_NAME>FndBoolean</ENUMERATION_NAME>
</ATTRIBUTE>
</ATTRIBUTES>
</ENTITY>

@ -1,56 +0,0 @@
client ProjectBudgetControlBasicData;
component PROJBF;
layer Cust;
description "Put some useful description here ...";
--------------------------------- FRAGMENTS ---------------------------------
----------------------------- NAVIGATOR ENTRIES -----------------------------
-------------------------------- MAIN PAGES ---------------------------------
--------------------------------- COMMANDS ----------------------------------
--------------------------------- SELECTORS ---------------------------------
---------------------------------- GROUPS -----------------------------------
@Override
group BudgetControlGroup for ProjCompBudCon {
field CBudgOnSubcont {
label = "Budget Control In Sub Contract";
}
}
----------------------------------- LISTS -----------------------------------
---------------------------------- DIALOGS ----------------------------------
-------------------------------- SINGLETONS ---------------------------------
---------------------------------- CHARTS -----------------------------------
--------------------------------- CALENDERS ---------------------------------
---------------------------------- SHEETS -----------------------------------
----------------------------- STATE INDICATORS ------------------------------
----------------------------------- TREES -----------------------------------
---------------------------------- PLUGINS ----------------------------------
------------------------------- IMAGE VIEWERS -------------------------------

@ -1,43 +0,0 @@
projection ProjectBudgetControlBasicDataHandling;
component PROJBF;
layer Cust;
description "ProjectBudgetControlBasicDataHandling";
--------------------------------- FRAGMENTS ---------------------------------
----------------------------- MAIN ENTRY POINTS -----------------------------
------------------------------ ENTITY DETAILS -------------------------------
@Override
entity ProjCompBudCon {
attribute CBudgOnSubcont Boolean("TRUE", "FALSE") {
fetch = "c_budg_on_subcont_db";
editable = [true];
}
}
------------------------------- ENUMERATIONS --------------------------------
---------------------------------- QUERIES ----------------------------------
---------------------------------- ACTIONS ----------------------------------
--------------------------------- FUNCTIONS ---------------------------------
-------------------------------- STRUCTURES ---------------------------------
--------------------------------- VIRTUALS ----------------------------------
--------------------------------- SUMMARIES ---------------------------------
-------------------------------- SINGLETONS ---------------------------------

@ -1,62 +0,0 @@
-----------------------------------------------------------------------------
-- Module : PROJBF
--
-- File : 040925_PROJBF_BUDGONSUBCONT.cdb
--
-- IFS Developer Studio Template Version 2.6
--
-- Date Sign History
-- ------ ------ --------------------------------------------------------
-- 250411 DELL
-----------------------------------------------------------------------------
DECLARE
table_name_ VARCHAR2(30) := 'PROJ_COMP_BUD_CON_TAB';
columns_ Database_SYS.ColumnTabType;
column_ Database_SYS.ColRec;
BEGIN
IF NOT (Database_SYS.Column_Exist (table_name_, 'C_BUDG_ON_SUBCONT')) THEN
Database_SYS.Reset_Column_Table(columns_);
Database_SYS.Set_Table_Column(columns_, 'C_BUDG_ON_SUBCONT', 'NUMBER', 'Y');
Database_SYS.Create_Or_Replace_Table(table_name_, columns_, '&IFSAPP_DATA', NULL, TRUE);
END IF;
END;
--create temp attribute C_BUDG_ON_SUBCONT_DEP
DECLARE
table_name_ VARCHAR2(30) := 'PROJ_COMP_BUD_CON_TAB';
column_ VARCHAR2(30) := 'C_BUDG_ON_SUBCONT';
column_temp_ VARCHAR2(30) := 'C_BUDG_ON_SUBCONT_DEP';
BEGIN
IF (Database_SYS.Column_Exist (table_name_, column_)) THEN
IF (Database_SYS.Get_Column_Type(table_name_, column_) = 'NUMBER') THEN
Database_SYS.Rename_Column(table_name_, column_temp_, column_, TRUE);
END IF;
END IF;
END;
--create correct attribute C_BUDG_ON_SUBCONT with type VARCHAR2(20)
DECLARE
table_name_ VARCHAR2(30) := 'PROJ_COMP_BUD_CON_TAB';
column_ Database_SYS.ColRec;
BEGIN
IF NOT (Database_SYS.Column_Exist (table_name_, 'C_BUDG_ON_SUBCONT')) THEN
column_ := Database_SYS.Set_Column_Values('C_BUDG_ON_SUBCONT', 'VARCHAR2(20)');
Database_SYS.Alter_Table_Column ( table_name_ , 'A', column_ , TRUE );
END IF;
END;
--set column C_BUDG_ON_SUBCONT nullable
DECLARE
table_name_ VARCHAR2(30) := 'PROJ_COMP_BUD_CON_TAB';
column_ Database_SYS.ColRec;
BEGIN
IF (Database_SYS.Get_Column_Type(table_name_, 'C_BUDG_ON_SUBCONT') = 'VARCHAR2(20)') THEN
column_ := Database_SYS.Set_Column_Values('C_BUDG_ON_SUBCONT', NULL ,'Y');
Database_SYS.Alter_Table_Column(table_name_, 'M', column_, TRUE);
END IF;
END;

@ -1,109 +0,0 @@
-----------------------------------------------------------------------------
--
-- Logical unit: ProjBudgetControlRules
-- Component: PROJBF
--
-- IFS Developer Studio Template Version 3.0
--
-- Date Sign History
-- ------ ------ ---------------------------------------------------------
-----------------------------------------------------------------------------
layer Cust;
-------------------- PUBLIC DECLARATIONS ------------------------------------
-------------------- PRIVATE DECLARATIONS -----------------------------------
-------------------- LU SPECIFIC IMPLEMENTATION METHODS ---------------------
-------------------- LU SPECIFIC PRIVATE METHODS ----------------------------
-------------------- LU SPECIFIC PROTECTED METHODS --------------------------
-------------------- LU SPECIFIC PUBLIC METHODS -----------------------------
-------------------- LU CUST NEW METHODS -------------------------------------
PROCEDURE C_Update_Project_Rule_List (
project_id_ IN VARCHAR2)
IS
combination_id_ NUMBER;
CURSOR combination_id_cur IS
SELECT proj_bud_conf_rule_comb_id.NEXTVAL
FROM DUAL;
CURSOR get_budget_line IS
SELECT a.project_id, a.sub_project_id, a.activity_seq, a.project_cost_element, a.proj_cost_struct_item_type, a.currency_code,
a.account, a.code_b, a.code_c, a.code_d, a.code_e, a.code_f, a.code_g,
a.code_h, a.code_i, a.code_j, a.codestring
FROM project_forecast_item_tab a, project_forecast_tab b
WHERE a.forecast_id = b.forecast_id
AND a.created_by_snapshot = 'FALSE'
AND b.active_budget = 'TRUE'
AND a.item_type = 'COST'
AND a.project_id = project_id_;
BEGIN
DELETE FROM proj_budget_control_rules_tab
WHERE project_id = project_id_;
FOR newrec_ IN get_budget_line LOOP
OPEN combination_id_cur;
FETCH combination_id_cur INTO combination_id_;
CLOSE combination_id_cur;
INSERT
INTO proj_budget_control_rules_tab (
combination_id,
project_id,
sub_project_id,
activity_seq,
project_cost_element,
proj_cost_struct_item_type,
currency_code,
account,
code_b,
code_c,
code_d,
code_e,
code_f,
code_g,
code_h,
code_i,
code_j,
codestring,
rowversion)
VALUES (
combination_id_,
newrec_.project_id,
newrec_.sub_project_id,
newrec_.activity_seq,
newrec_.project_cost_element,
newrec_.proj_cost_struct_item_type,
newrec_.currency_code,
newrec_.account,
newrec_.code_b,
newrec_.code_c,
newrec_.code_d,
newrec_.code_e,
newrec_.code_f,
newrec_.code_g,
newrec_.code_h,
newrec_.code_i,
newrec_.code_j,
newrec_.codestring,
SYSDATE);
END LOOP;
END C_Update_Project_Rule_List;

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ENTITY xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:ifsworld-com:schemas:entity_entity">
<CODE_GENERATION_PROPERTIES>
<CODE_GENERATION_PROPERTIES>
</CODE_GENERATION_PROPERTIES>
</CODE_GENERATION_PROPERTIES>
<DIAGRAMS>
<DIAGRAM>
<NAME>State Machine</NAME>
<DIAGRAM_TYPE>STATE_MACHINE</DIAGRAM_TYPE>
</DIAGRAM>
</DIAGRAMS>
<NAME>PurchaseOrder</NAME>
<COMPONENT>PURCH</COMPONENT>
<LAYER>Cust</LAYER>
</ENTITY>

@ -1,58 +0,0 @@
-----------------------------------------------------------------------------
--
-- Logical unit: PurchaseOrder
-- Component: PURCH
--
-- IFS Developer Studio Template Version 3.0
--
-- Date Sign History
-- ------ ------ ---------------------------------------------------------
-- 250904 HoiKalshA Added
-- 250904 HoiKalshA Uplifting a part of C_G1570751-1 PO Printout issues
-----------------------------------------------------------------------------
layer Cust;
-------------------- PUBLIC DECLARATIONS ------------------------------------
-------------------- PRIVATE DECLARATIONS -----------------------------------
-------------------- LU SPECIFIC IMPLEMENTATION METHODS ---------------------
-------------------- LU SPECIFIC PRIVATE METHODS ----------------------------
-------------------- LU SPECIFIC PROTECTED METHODS --------------------------
-------------------- LU SPECIFIC PUBLIC METHODS -----------------------------
-------------------- LU CUST NEW METHODS -------------------------------------
--(+) 150826 C_G1570751-1 PO Printout issues(START)
FUNCTION Get_C_Ordered_for (
order_no_ IN VARCHAR2 ) RETURN VARCHAR2
IS
CURSOR get_values IS
SELECT DISTINCT Purchase_Requisition_API.Get_Receiver(a.requisition_no) order_for
FROM PURCHASE_ORDER_LINE_NOPART a
WHERE a.order_no = order_no_
UNION
SELECT Purchase_Requisition_API.Get_Receiver(b.requisition_no)
FROM PURCHASE_ORDER_LINE_PART b
WHERE b.order_no = order_no_;
order_for_ VARCHAR2(1000);
BEGIN
FOR rec_ IN get_values LOOP
order_for_ := order_for_ || ', ' || rec_.order_for;
END LOOP;
RETURN substr(order_for_,3,length(order_for_));
END Get_C_Ordered_for;
--(+) 150826 C_G1570751-1 PO Printout issues(FINISH)

@ -1,22 +0,0 @@
-----------------------------------------------------------------------------
--
-- Logical unit: PurchaseOrder
-- Component: PURCH
--
-- IFS Developer Studio Template Version 3.0
--
-- Date Sign History
-- ------ ------ ---------------------------------------------------------
-- 250904 HoiKalshA Added
-----------------------------------------------------------------------------
layer Cust;
-------------------- COMMON COLUMN DEFINITIONS ------------------------------
-------------------- PUBLIC VIEW DEFINITIONS --------------------------------
-------------------- PRIVATE VIEW DEFINITIONS -------------------------------

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ENTITY xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:ifsworld-com:schemas:entity_entity">
<CODE_GENERATION_PROPERTIES>
<CODE_GENERATION_PROPERTIES>
</CODE_GENERATION_PROPERTIES>
</CODE_GENERATION_PROPERTIES>
<DIAGRAMS>
<DIAGRAM>
<NAME>State Machine</NAME>
<DIAGRAM_TYPE>STATE_MACHINE</DIAGRAM_TYPE>
</DIAGRAM>
</DIAGRAMS>
<NAME>SubConCallOff</NAME>
<COMPONENT>SUBCON</COMPONENT>
<LAYER>Cust</LAYER>
</ENTITY>

@ -1,151 +0,0 @@
-----------------------------------------------------------------------------
--
-- Logical unit: SubConCallOff
-- Component: SUBCON
--
-- IFS Developer Studio Template Version 3.0
--
-- Date Sign History
-- ------ ------ ---------------------------------------------------------
-----------------------------------------------------------------------------
layer Cust;
-------------------- PUBLIC DECLARATIONS ------------------------------------
-------------------- PRIVATE DECLARATIONS -----------------------------------
-------------------- LU SPECIFIC IMPLEMENTATION METHODS ---------------------
-------------------- LU SPECIFIC PRIVATE METHODS ----------------------------
-------------------- LU SPECIFIC PROTECTED METHODS --------------------------
-------------------- LU SPECIFIC PUBLIC METHODS -----------------------------
@Override
PROCEDURE Release__ (
info_ OUT VARCHAR2,
objid_ IN VARCHAR2,
objversion_ IN OUT NOCOPY VARCHAR2,
attr_ IN OUT NOCOPY VARCHAR2,
action_ IN VARCHAR2 )
IS
rec_ sub_con_call_off_tab%ROWTYPE;
BEGIN
super(info_,objid_,objversion_,attr_,action_);
rec_ := Lock_By_Id___(objid_, objversion_);
C_Prepare_Validate(rec_.sub_con_no,rec_.call_off_seq);
END Release__;
-------------------- LU CUST NEW METHODS -------------------------------------
PROCEDURE C_Prepare_Validate(
sub_con_no_ IN VARCHAR2,
call_off_seq_ IN NUMBER
)
IS
project_id_ VARCHAR2(200);
category_ VARCHAR2(200);
CURSOR get_activities IS
SELECT sci.activity_seq,
SUB_CON_CO_LINES_API.Get_Tot_Cum_Co_Line_Value(sccl.sub_con_no,
sccl.call_off_seq,
sccl.call_off_line_no,
SUB_CON_CALL_OFF_API.Get_Currency_Code(sccl.sub_con_no,
sccl.call_off_seq)) call_off_value
FROM sub_con_co_lines sccl,sub_con_co_items scci,sub_con_item sci
WHERE sccl.sub_con_no = sub_con_no_ AND sccl.call_off_seq = call_off_seq_
AND scci.sub_con_no = sccl.sub_con_no AND scci.call_off_seq = sccl.call_off_seq AND scci.call_off_line_no = sccl.call_off_line_no
AND sci.sub_con_no = scci.sub_con_no AND sci.rev_seq = scci.rev_seq AND sci.line_no = scci.line_no AND sci.item_no = scci.item_no;
CURSOR get_project(activity_seq_ VARCHAR2) IS
SELECT project_id FROM sub_con_project WHERE sub_con_no = sub_con_no_ AND activity_seq = activity_seq_;
CURSOR get_cat IS
select t.CATEGORY1_NAME from sub_contract t
where sub_con_no = sub_con_no_;
BEGIN
OPEN get_cat;
FETCH get_cat INTO category_;
CLOSE get_cat;
FOR rec_ IN get_activities LOOP
OPEN get_project(rec_.activity_seq);
FETCH get_project INTO project_id_;
CLOSE get_project;
IF (Project_API.Get_C_Budg_On_Subcont_Db(project_id_) = 'TRUE') THEN
C_Check_For_Budget(project_id_,rec_.activity_seq,rec_.call_off_value,category_);
END IF;
END LOOP;
END C_Prepare_Validate;
PROCEDURE C_Check_For_Budget(
project_id_ IN VARCHAR2,
activity_seq_ IN NUMBER,
call_off_value_ IN NUMBER,
control_category_ IN VARCHAR2
)
IS
CURSOR get_activity_element IS
SELECT committed,planned_committed,used
FROM activity_element_summary_cost
WHERE activity_seq = activity_seq_ AND project_id = project_id_ AND control_category = control_category_;
pl_committed_cost_ NUMBER;
committed_cost_ NUMBER;
used_cost_ NUMBER;
budget_ NUMBER;
comparison_ NUMBER;
CURSOR get_control_budget IS
select Proj_Budget_Control_Rules_API.Get_Control_Total(t.combination_id) budget from proj_budget_control_rules t
where project_id = project_id_ AND activity_seq = activity_seq_ AND project_cost_element = control_category_;
BEGIN
OPEN get_activity_element;
FETCH get_activity_element INTO committed_cost_,pl_committed_cost_,used_cost_;
CLOSE get_activity_element;
OPEN get_control_budget;
FETCH get_control_budget INTO budget_;
CLOSE get_control_budget;
comparison_ := nvl(committed_cost_,0) + nvl(pl_committed_cost_,0) + nvl(used_cost_,0);
IF (budget_ < comparison_) THEN
Error_SYS.record_general('SubConCallOff','ACTBUDGERROR: Call off amount exceeds active budget');
END IF;
END C_Check_For_Budget;

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ENTITY xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:ifsworld-com:schemas:entity_entity">
<CODE_GENERATION_PROPERTIES>
<CODE_GENERATION_PROPERTIES>
</CODE_GENERATION_PROPERTIES>
</CODE_GENERATION_PROPERTIES>
<DIAGRAMS>
<DIAGRAM>
<NAME>State Machine</NAME>
<DIAGRAM_TYPE>STATE_MACHINE</DIAGRAM_TYPE>
</DIAGRAM>
</DIAGRAMS>
<NAME>SubvalValuation</NAME>
<COMPONENT>SUBVAL</COMPONENT>
<LAYER>Cust</LAYER>
</ENTITY>

@ -1,293 +0,0 @@
-----------------------------------------------------------------------------
--
-- Logical unit: SubvalValuation
-- Component: SUBVAL
--
-- IFS Developer Studio Template Version 3.0
--
-- Date Sign History
-- ------ ------ ---------------------------------------------------------
-----------------------------------------------------------------------------
layer Cust;
-------------------- PUBLIC DECLARATIONS ------------------------------------
-------------------- PRIVATE DECLARATIONS -----------------------------------
-------------------- LU SPECIFIC IMPLEMENTATION METHODS ---------------------
-------------------- LU SPECIFIC PRIVATE METHODS ----------------------------
-------------------- LU SPECIFIC PROTECTED METHODS --------------------------
-------------------- LU SPECIFIC PUBLIC METHODS -----------------------------
@Override
PROCEDURE Receive_Application (
info_ OUT VARCHAR2,
sub_con_no_ IN VARCHAR2,
valuation_no_ IN NUMBER,
company_ IN VARCHAR2,
voucher_date_ IN DATE,
user_group_ IN VARCHAR2,
app_voucher_type_ IN VARCHAR2 )
IS
CURSOR get_value IS
SELECT gen_valuation_work_value FROM Subval_Valuation_Summary
WHERE sub_con_no = sub_con_no_ AND valuation_no = valuation_no_;
afp_value_ NUMBER;
BEGIN
super(info_,sub_con_no_,valuation_no_,company_,voucher_date_,user_group_,app_voucher_type_);
OPEN get_value;
FETCH get_value INTO afp_value_;
CLOSE get_value;
--C_Validate(sub_con_no_,valuation_no_, afp_value_);
--Test(sub_con_no_,valuation_no_);
END Receive_Application;
-------------------- LU CUST NEW METHODS -------------------------------------
PROCEDURE Test (
sub_con_no_ IN VARCHAR2,
valuation_no_ IN NUMBER
)
IS
project_id_ VARCHAR2(200);
log_ VARCHAR2(200);
comp_log_ VARCHAR2(32000);
CURSOR get_afp_lines IS
select t.activity_seq,t.item_no, t.application_tot_value from subval_valuation_line_Item t
where sub_con_no = sub_con_no_ and valuation_no = valuation_no_;
CURSOR get_project(activity_seq_ VARCHAR2) IS
SELECT project_id FROM sub_con_project WHERE sub_con_no = sub_con_no_ AND activity_seq = activity_seq_;
CURSOR get_proj_cons(project_id_ VARCHAR2, activity_seq_ NUMBER) IS
select rownum, t.* from project_connection_details t
where t.project_id = project_id_
and t.activity_seq = activity_seq_
and t.proj_lu_name = 'Activity Estimate';
BEGIN
FOR rec_ IN get_afp_lines LOOP
OPEN get_project(rec_.activity_seq);
FETCH get_project INTO project_id_;
CLOSE get_project;
FOR cons_ IN get_proj_cons(project_id_,rec_.activity_seq) LOOP
IF (rec_.item_no = cons_.rownum) THEN
error_sys.record_general('Debug','Debug 2');
C_Check_For_Budget(project_id_,rec_.activity_seq,rec_.application_tot_value,cons_.control_category,log_);
comp_log_ := comp_log_ || log_;
END IF;
END LOOP;
END LOOP;
error_sys.record_general('DEBUG','Debug :P1',comp_log_);
END Test;
PROCEDURE C_Check_For_Budget(
project_id_ IN VARCHAR2,
activity_seq_ IN NUMBER,
afp_value_ IN NUMBER,
control_category_ IN VARCHAR2,
log_ OUT VARCHAR2
)
IS
committed_cost_ NUMBER;
used_cost_ NUMBER;
budget_ NUMBER;
comparison_ NUMBER;
CURSOR get_activity_element IS
SELECT committed,used
FROM activity_element_summary_cost
WHERE activity_seq = activity_seq_ AND project_id = project_id_ AND control_category = control_category_;
CURSOR get_budget IS
SELECT pfi.budget_base_curr FROM project_forecast pf,project_forecast_item_all pfi
WHERE pf.project_id = project_id_
and pf.active_budget_db = 'TRUE'
and pf.project_id = pfi.project_id
and pf.forecast_id = pfi.forecast_id
and pfi.activity_seq = activity_seq_
and pfi.project_cost_element = control_category_;
CURSOR get_control_budget IS
select Proj_Budget_Control_Rules_API.Get_Control_Total(t.combination_id) budget from proj_budget_control_rules t
where project_id = project_id_ AND activity_seq = activity_seq_ AND project_cost_element = control_category_;
BEGIN
OPEN get_activity_element;
FETCH get_activity_element INTO committed_cost_,used_cost_;
CLOSE get_activity_element;
-- OPEN get_budget;
-- FETCH get_budget INTO budget_;
-- CLOSE get_budget;
OPEN get_control_budget;
FETCH get_control_budget INTO budget_;
CLOSE get_control_budget;
comparison_ := nvl(used_cost_,0) + nvl(committed_cost_,0);
IF (nvl(committed_cost_,0) < afp_value_) THEN
--comparison_ := ((afp_value_ - nvl(committed_cost_,0)) + nvl(committed_cost_,0)) + nvl(used_cost_,0);
comparison_ := nvl(used_cost_,0);
END IF;
IF (nvl(committed_cost_,0) > afp_value_) THEN
comparison_ := (nvl(committed_cost_,0) - afp_value_) + (afp_value_ + nvl(used_cost_,0));
END IF;
--comparison_ := call_off_value_;
--error_sys.record_general('DEBUG','Debug budget - :P1',budget_ || ' com - ' || comparison_ );
log_ := 'budget - ' || budget_ || ' comp - ' || comparison_;
IF (budget_ < comparison_) THEN
log_ := 'budget - ' || budget_ || ' comp - ' || comparison_;
--error_sys.record_general('SubConCallOff','ACTBUDGERROR: AFP amount exceeds active budget');
END IF;
END C_Check_For_Budget;
@DynamicComponentDependency PROJ
PROCEDURE C_Validate (
sub_con_no_ IN VARCHAR2,
valuation_no_ IN NUMBER,
afp_value_ IN NUMBER
)
IS
CURSOR get_afp_lines IS
select t.activity_seq,t.application_tot_value from subval_valuation_line_Item t
where sub_con_no = sub_con_no_ and valuation_no = valuation_no_;
CURSOR get_project_details IS
SELECT project_id
FROM sub_con_project WHERE sub_con_no = sub_con_no_;
CURSOR get_project(activity_seq_ VARCHAR2) IS
SELECT project_id FROM sub_con_project WHERE sub_con_no = sub_con_no_ AND activity_seq = activity_seq_;
CURSOR get_cat IS
select t.CATEGORY1_NAME from sub_contract t
where sub_con_no = sub_con_no_;
project_id_ VARCHAR2(200);
control_category_ VARCHAR2(200);
log_ VARCHAR2(200);
log_temp_ VARCHAR2(400);
BEGIN
OPEN get_cat;
FETCH get_cat INTO control_category_;
CLOSE get_cat;
FOR rec_ IN get_afp_lines LOOP
OPEN get_project(rec_.activity_seq);
FETCH get_project INTO project_id_;
CLOSE get_project;
--error_sys.record_general('DEBUG','Debug project - :P1',project_id_ || ' activity - ' || rec_.activity_seq );
IF (Project_API.Get_C_Budg_On_Subcont_Db(project_id_) = 'TRUE') THEN
C_Check_For_Budget(project_id_,rec_.activity_seq,rec_.application_tot_value,control_category_,log_);
--C_Check_Budget(project_id_,rec_.activity_seq,0,log_);
--log_temp_ := log_temp_ || ' | ' || log_;
END IF;
END LOOP;
--error_sys.record_general('DEBUG','Debug log - :P1',log_temp_);
END C_Validate;
PROCEDURE C_Check_Budget(
project_id_ IN VARCHAR2,
activity_seq_ IN NUMBER,
call_off_value_ IN NUMBER,
check_log_ OUT VARCHAR2
)
IS
budget_ NUMBER;
comparison_ NUMBER;
log_ VARCHAR2(200);
CURSOR get_activity_element IS
SELECT committed,used,control_category
FROM activity_element_summary_cost
WHERE activity_seq = activity_seq_ AND project_id = project_id_;
CURSOR get_control_budget(control_category_ VARCHAR2) IS
select Proj_Budget_Control_Rules_API.Get_Control_Total(t.combination_id) budget from proj_budget_control_rules t
where project_id = project_id_ AND activity_seq = activity_seq_ AND project_cost_element = control_category_;
BEGIN
FOR rec_ IN get_activity_element LOOP
OPEN get_control_budget(rec_.control_category);
FETCH get_control_budget INTO budget_;
CLOSE get_control_budget;
comparison_ := nvl(rec_.used,0) + nvl(rec_.committed,0);
--comparison_ := call_off_value_;
log_ := log_ || 'cc - ' || rec_.control_category || ' ( budget - ' || budget_ || 'comparison - ' || comparison_ || ') ';
--error_sys.record_general('DEBUG','Debug budget - :P1',budget_ || ' com - ' || comparison_ );
IF (budget_ < comparison_) THEN
error_sys.record_general('SubConCallOff','ACTBUDGERROR: AFP amount exceeds active budget');
END IF;
END LOOP;
check_log_ := log_;
--error_sys.record_general('DEBUG','Debug - :P1',log_);
END C_Check_Budget;

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save