create or replace package UDO_PKG_P8PANELS_RPR_ANL as /* */ procedure GET_INS_DEPARTMENT_NAME ( SCODE in varchar2, -- SNAME out varchar2 -- ); /* */ procedure CHART_STATUSES ( DDATE_FROM in date, -- DDATE_TO in date, -- SINS_DEPARTMENT in varchar2, -- SEQTYPEWRK in varchar2, -- SEQWRKKIND in varchar2, -- NSTATE in number, -- NTYPESPEND in number, -- (null, 0 - , 1 - ) COUT out clob -- ); /* */ procedure CHART_SPENDINGS ( DDATE_FROM in date, -- DDATE_TO in date, -- SINS_DEPARTMENT in varchar2, -- SEQTYPEWRK in varchar2, -- SEQWRKKIND in varchar2, -- NSTATE in number, -- NTYPESPEND in number, -- (null, 0 - , 1 - ) COUT out clob -- ); /* */ procedure DATA_GRID ( NPAGE_NUMBER in number, -- ( NPAGE_SIZE=0) NPAGE_SIZE in number, -- (0 - ) CFILTERS in clob, -- CORDERS in clob, -- NINCLUDE_DEF in number, -- COUT out clob -- ); /* */ procedure EQRPSHEETS_BASE_COND; end UDO_PKG_P8PANELS_RPR_ANL; / create or replace package body UDO_PKG_P8PANELS_RPR_ANL as /* */ procedure GET_INS_DEPARTMENT_NAME ( SCODE in varchar2, -- SNAME out varchar2 -- ) is NCOMPANY PKG_STD.TREF := GET_SESSION_COMPANY(); -- begin /* */ begin select T.NAME into SNAME from INS_DEPARTMENT T where T.CODE = SCODE and T.COMPANY = NCOMPANY; exception when others then SNAME := ' '; end; end GET_INS_DEPARTMENT_NAME; /* */ procedure PARAMS_JOINS ( NCOMPANY in number, -- . SINS_DEPARTMENT in varchar2, -- SEQTYPEWRK in varchar2, -- SEQWRKKIND in varchar2, -- NDEPTCUSTOMER out number, -- . - NTYPEWRK out number, -- . NEQWRKKIND out number -- . ) is begin /* . - */ FIND_SUBDIVS_CODE_EX(NFLAG_SMART => 0, NFLAG_OPTION => 1, NCOMPANY => NCOMPANY, SCODE => SINS_DEPARTMENT, NRN => NDEPTCUSTOMER); /* . */ FIND_EQTYPEWRK_CODE(NFLAG_SMART => 0, NFLAG_OPTION => 1, NCOMPANY => NCOMPANY, SCODE => SEQTYPEWRK, NRN => NTYPEWRK); /* . */ FIND_EQWRKKIND_CODE(NFLAG_SMART => 0, NFLAG_OPTION => 1, NCOMPANY => NCOMPANY, SCODE => SEQWRKKIND, NRN => NEQWRKKIND); end PARAMS_JOINS; /* */ procedure EQRPSHEETS_COND_SET ( NCOMPANY in number, -- . DDATE_FROM in date, -- DDATE_TO in date, -- SINS_DEPARTMENT in varchar2, -- SEQTYPEWRK in varchar2, -- SEQWRKKIND in varchar2, -- NSTATE in number, -- (null, 0 - , 1 - ) NTYPESPEND in number, -- (null, 0 - , 1 - ) NIDENT out number -- ) is begin /* */ NIDENT := GEN_IDENT(); /* - */ PKG_COND_BROKER.PROLOGUE(IMODE => PKG_COND_BROKER.MODE_SMART_, NIDENT => NIDENT); /* - */ PKG_COND_BROKER.SET_PROCEDURE(SPROCEDURE_NAME => 'UDO_PKG_P8PANELS_RPR_ANL.EQRPSHEETS_BASE_COND'); /* - */ PKG_COND_BROKER.SET_UNIT(SUNITCODE => 'EquipRepairSheets'); /* - */ PKG_COND_BROKER.SET_COMPANY(NCOMPANY => NCOMPANY); /* */ PKG_COND_BROKER.SET_CONDITION_DATE('EDREPAIRFACTBEGINFrom', DDATE_FROM); /* */ PKG_COND_BROKER.SET_CONDITION_DATE('EDREPAIRFACTBEGINTo', DDATE_TO); /* - */ PKG_COND_BROKER.SET_CONDITION_STR('CUSTOMERDEPTEDIT', SINS_DEPARTMENT, 0); /* */ PKG_COND_BROKER.SET_CONDITION_STR('EQTYPEWRKCOMP', SEQTYPEWRK, 0); /* */ PKG_COND_BROKER.SET_CONDITION_STR('EQWRKKINDCOMP', SEQWRKKIND, 0); /* */ PKG_COND_BROKER.SET_CONDITION_NUM('STATETYPE', NSTATE); /* */ PKG_COND_BROKER.SET_CONDITION_NUM('TYPESPEND', NTYPESPEND); /* - */ PKG_COND_BROKER.EPILOGUE(); end EQRPSHEETS_COND_SET; /* */ procedure CHART_STATUSES ( DDATE_FROM in date, -- DDATE_TO in date, -- SINS_DEPARTMENT in varchar2, -- SEQTYPEWRK in varchar2, -- SEQWRKKIND in varchar2, -- NSTATE in number, -- (null, 0 - , 1 - ) NTYPESPEND in number, -- (null, 0 - , 1 - ) COUT out clob -- ) is NCOMPANY PKG_STD.TREF := GET_SESSION_COMPANY(); -- RCH PKG_P8PANELS_VISUAL.TCHART; -- RCH_DS PKG_P8PANELS_VISUAL.TCHART_DATASET; -- RATTR_VALS PKG_P8PANELS_VISUAL.TCHART_DATASET_ITEM_ATTR_VALS; -- NCOMPLETED PKG_STD.TNUMBER; -- NUNCOMPLETED PKG_STD.TNUMBER; -- NIDENT PKG_STD.TREF; -- NCOMPLETED_SUM EQRPSHEETS.COASTFACT%type; -- NUNCOMPLETED_SUM EQRPSHEETS.COASTFACT%type; -- begin /* */ RCH := PKG_P8PANELS_VISUAL.TCHART_MAKE(STYPE => PKG_P8PANELS_VISUAL.SCHART_TYPE_PIE, STITLE => '', SLGND_POS => PKG_P8PANELS_VISUAL.SCHART_LGND_POS_RIGHT); /* */ RCH_DS := PKG_P8PANELS_VISUAL.TCHART_DATASET_MAKE(SCAPTION => ''); /* */ EQRPSHEETS_COND_SET(NCOMPANY => NCOMPANY, DDATE_FROM => TRUNC(DDATE_FROM), DDATE_TO => TRUNC(DDATE_TO), SINS_DEPARTMENT => SINS_DEPARTMENT, SEQTYPEWRK => SEQTYPEWRK, SEQWRKKIND => SEQWRKKIND, NSTATE => NSTATE, NTYPESPEND => NTYPESPEND, NIDENT => NIDENT); /* */ begin select COALESCE(sum(case when T.STATE = 3 then 1 else 0 end), 0) COMPLETED, COALESCE(sum(case when T.STATE = 3 then T.COASTFACT else 0 end), 0) COMPLETED_SUM, COALESCE(sum(case when T.STATE in (0, 2) then 1 else 0 end), 0) UNCOMPLETED, COALESCE(sum(case when T.STATE in (0, 2) then T.COASTFACT else 0 end), 0) UNCOMPLETED_SUM into NCOMPLETED, NCOMPLETED_SUM, NUNCOMPLETED, NUNCOMPLETED_SUM from EQRPSHEETS T where T.RN in (select ID from COND_BROKER_IDSMART where IDENT = NIDENT) and T.STATE in (0,2,3); exception when NO_DATA_FOUND then NCOMPLETED := 0; NUNCOMPLETED := 0; when others then P_EXCEPTION(0, ' .'); end; /* */ PKG_P8PANELS_VISUAL.TCHART_ADD_LABEL(RCHART => RCH, SLABEL => ' (' || TRIM(TO_CHAR(NCOMPLETED_SUM, '999G999G999G999G999G990D99', 'nls_numeric_characters=''. ''')) || ')'); /* */ PKG_P8PANELS_VISUAL.TCHART_DATASET_ITM_ATTR_VL_ADD(RATTR_VALS => RATTR_VALS, SNAME => 'NSTATE', SVALUE => '1', BCLEAR => true); /* */ PKG_P8PANELS_VISUAL.TCHART_DATASET_ADD_ITEM(RDATASET => RCH_DS, NVALUE => NCOMPLETED, RATTR_VALS => RATTR_VALS); /* */ PKG_P8PANELS_VISUAL.TCHART_ADD_LABEL(RCHART => RCH, SLABEL => ' (' || TRIM(TO_CHAR(NUNCOMPLETED_SUM, '999G999G999G999G999G990D99', 'nls_numeric_characters=''. ''')) || ')'); /* */ PKG_P8PANELS_VISUAL.TCHART_DATASET_ITM_ATTR_VL_ADD(RATTR_VALS => RATTR_VALS, SNAME => 'NSTATE', SVALUE => '0', BCLEAR => true); /* */ PKG_P8PANELS_VISUAL.TCHART_DATASET_ADD_ITEM(RDATASET => RCH_DS, NVALUE => NUNCOMPLETED, RATTR_VALS => RATTR_VALS); /* */ PKG_P8PANELS_VISUAL.TCHART_ADD_DATASET(RCHART => RCH, RDATASET => RCH_DS); /* */ COUT := PKG_P8PANELS_VISUAL.TCHART_TO_XML(RCHART => RCH, NINCLUDE_DEF => 1); end CHART_STATUSES; /* */ procedure CHART_SPENDINGS ( DDATE_FROM in date, -- DDATE_TO in date, -- SINS_DEPARTMENT in varchar2, -- SEQTYPEWRK in varchar2, -- SEQWRKKIND in varchar2, -- NSTATE in number, -- (null, 0 - , 1 - ) NTYPESPEND in number, -- (null, 0 - , 1 - ) COUT out clob -- ) is NCOMPANY PKG_STD.TREF := GET_SESSION_COMPANY(); -- RCH PKG_P8PANELS_VISUAL.TCHART; -- RCH_DS_MTR PKG_P8PANELS_VISUAL.TCHART_DATASET; -- RCH_DS_LABOR PKG_P8PANELS_VISUAL.TCHART_DATASET; -- RATTR_VALS PKG_P8PANELS_VISUAL.TCHART_DATASET_ITEM_ATTR_VALS; -- NINTERNAL_MTR PKG_STD.TLNUMBER; -- () NINTERNAL_LABOR PKG_STD.TLNUMBER; -- () NEXTERNAL_MTR PKG_STD.TLNUMBER; -- () NEXTERNAL_LABOR PKG_STD.TLNUMBER; -- () NIDENT PKG_STD.TREF; -- /* */ procedure MAKE_CHART_ELEMENT ( RCH in out nocopy PKG_P8PANELS_VISUAL.TCHART, -- RCH_DS_MTR in out nocopy PKG_P8PANELS_VISUAL.TCHART_DATASET, -- RCH_DS_LABOR in out nocopy PKG_P8PANELS_VISUAL.TCHART_DATASET, -- SELEMENT_NAME in varchar2, -- NTYPE in number, -- NMTR_VALUE in number, -- NLABOR_VALUE in number -- ) is RATTR_VALS PKG_P8PANELS_VISUAL.TCHART_DATASET_ITEM_ATTR_VALS; -- begin /* */ PKG_P8PANELS_VISUAL.TCHART_ADD_LABEL(RCHART => RCH, SLABEL => SELEMENT_NAME); /* . */ PKG_P8PANELS_VISUAL.TCHART_DATASET_ITM_ATTR_VL_ADD(RATTR_VALS => RATTR_VALS, SNAME => 'NTYPE', SVALUE => TO_CHAR(NTYPE), BCLEAR => true); /* . */ PKG_P8PANELS_VISUAL.TCHART_DATASET_ITM_ATTR_VL_ADD(RATTR_VALS => RATTR_VALS, SNAME => 'stack', SVALUE => SELEMENT_NAME); /* */ PKG_P8PANELS_VISUAL.TCHART_DATASET_ADD_ITEM(RDATASET => RCH_DS_MTR, NVALUE => NMTR_VALUE, RATTR_VALS => RATTR_VALS); /* . */ PKG_P8PANELS_VISUAL.TCHART_DATASET_ITM_ATTR_VL_ADD(RATTR_VALS => RATTR_VALS, SNAME => 'NTYPE', SVALUE => '0', BCLEAR => true); /* */ PKG_P8PANELS_VISUAL.TCHART_DATASET_ITM_ATTR_VL_ADD(RATTR_VALS => RATTR_VALS, SNAME => 'stack', SVALUE => SELEMENT_NAME); /* */ PKG_P8PANELS_VISUAL.TCHART_DATASET_ADD_ITEM(RDATASET => RCH_DS_LABOR, NVALUE => NLABOR_VALUE, RATTR_VALS => RATTR_VALS); end MAKE_CHART_ELEMENT; begin /* */ RCH := PKG_P8PANELS_VISUAL.TCHART_MAKE(STYPE => PKG_P8PANELS_VISUAL.SCHART_TYPE_BAR, STITLE => ' ', SLGND_POS => PKG_P8PANELS_VISUAL.SCHART_LGND_POS_RIGHT); /* */ RCH_DS_MTR := PKG_P8PANELS_VISUAL.TCHART_DATASET_MAKE(SCAPTION => ' '); /* */ RCH_DS_LABOR := PKG_P8PANELS_VISUAL.TCHART_DATASET_MAKE(SCAPTION => ' '); /* */ EQRPSHEETS_COND_SET(NCOMPANY => NCOMPANY, DDATE_FROM => TRUNC(DDATE_FROM), DDATE_TO => TRUNC(DDATE_TO), SINS_DEPARTMENT => SINS_DEPARTMENT, SEQTYPEWRK => SEQTYPEWRK, SEQWRKKIND => SEQWRKKIND, NSTATE => NSTATE, NTYPESPEND => NTYPESPEND, NIDENT => NIDENT); /* / */ begin select /*COALESCE(sum(case when T.DEPTPERF is not null then 1 else 0 end), 0) INTERNAL_MTR, COALESCE(sum(case when T.DEPTPERF is not null then 2 else 0 end), 0) INTERNAL_LABOR, COALESCE(sum(case when T.PERFORM_AGN is not null then 1 else 0 end), 0) EXTERNAL_MTR, COALESCE(sum(case when T.PERFORM_AGN is not null then 2 else 0 end), 0) EXTERNAL_LABOR*/ /* */ COALESCE(sum(case when T.DEPTPERF is not null then UDO_F_EQRP_SHMRC_SHOVH_SUM(T.COMPANY, T.RN) else 0 end), 0) INTERNAL_MTR, COALESCE(sum(case when T.DEPTPERF is not null then UDO_F_ERS_EQRPSHWRK_SUM(T.COMPANY, T.RN) else 0 end), 0) INTERNAL_LABOR, COALESCE(sum(case when T.PERFORM_AGN is not null then UDO_F_EQRP_SHMRC_SHOVH_SUM(T.COMPANY, T.RN) else 0 end), 0) EXTERNAL_MTR, COALESCE(sum(case when T.PERFORM_AGN is not null then UDO_F_ERS_EQRPSHWRK_SUM(T.COMPANY, T.RN) else 0 end), 0) EXTERNAL_LABOR into NINTERNAL_MTR, NINTERNAL_LABOR, NEXTERNAL_MTR, NEXTERNAL_LABOR from EQRPSHEETS T where T.RN in (select ID from COND_BROKER_IDSMART where IDENT = NIDENT) and T.STATE in (0,2,3); exception when NO_DATA_FOUND then NINTERNAL_MTR := 0; NINTERNAL_LABOR := 0; NEXTERNAL_MTR := 0; NEXTERNAL_LABOR := 0; when others then P_EXCEPTION(0, ' .'); end; /* */ MAKE_CHART_ELEMENT(RCH => RCH, RCH_DS_MTR => RCH_DS_MTR, RCH_DS_LABOR => RCH_DS_LABOR, SELEMENT_NAME => '', NTYPE => 0, NMTR_VALUE => NINTERNAL_MTR, NLABOR_VALUE => NINTERNAL_LABOR); /* */ MAKE_CHART_ELEMENT(RCH => RCH, RCH_DS_MTR => RCH_DS_MTR, RCH_DS_LABOR => RCH_DS_LABOR, SELEMENT_NAME => '', NTYPE => 1, NMTR_VALUE => NEXTERNAL_MTR, NLABOR_VALUE => NEXTERNAL_LABOR); /* */ PKG_P8PANELS_VISUAL.TCHART_ADD_DATASET(RCHART => RCH, RDATASET => RCH_DS_MTR); /* */ PKG_P8PANELS_VISUAL.TCHART_ADD_DATASET(RCHART => RCH, RDATASET => RCH_DS_LABOR); /* */ COUT := PKG_P8PANELS_VISUAL.TCHART_TO_XML(RCHART => RCH, NINCLUDE_DEF => 1); end CHART_SPENDINGS; /* */ procedure DATA_GRID ( NPAGE_NUMBER in number, -- ( NPAGE_SIZE=0) NPAGE_SIZE in number, -- (0 - ) CFILTERS in clob, -- CORDERS in clob, -- NINCLUDE_DEF in number, -- COUT out clob -- ) is NCOMPANY PKG_STD.TREF := GET_SESSION_COMPANY(); -- NIDENT PKG_STD.TREF := GEN_IDENT(); -- RF PKG_P8PANELS_VISUAL.TDG_FILTERS; -- RO PKG_P8PANELS_VISUAL.TDG_ORDERS; -- RDG PKG_P8PANELS_VISUAL.TDG; -- RDG_ROW PKG_P8PANELS_VISUAL.TDG_ROW; -- NROW_FROM PKG_STD.TREF; -- NROW_TO PKG_STD.TREF; -- CSQL clob; -- ICURSOR integer; -- begin /* */ RF := PKG_P8PANELS_VISUAL.TDG_FILTERS_FROM_XML(CFILTERS => CFILTERS); /* */ RO := PKG_P8PANELS_VISUAL.TDG_ORDERS_FROM_XML(CORDERS => CORDERS); /* */ PKG_P8PANELS_VISUAL.UTL_ROWS_LIMITS_CALC(NPAGE_NUMBER => NPAGE_NUMBER, NPAGE_SIZE => NPAGE_SIZE, NROW_FROM => NROW_FROM, NROW_TO => NROW_TO); /* */ RDG := PKG_P8PANELS_VISUAL.TDG_MAKE(BFIXED_HEADER => true); /* */ PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'NRN', SCAPTION => '. ', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, BVISIBLE => false); /* */ PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'SDOCTYPES', SCAPTION => ' ', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SCOND_FROM => 'EDDOCTYPE', BORDER => true, BFILTER => true); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'SPREF', SCAPTION => ' ', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SCOND_FROM => 'EDPREFFrom', BORDER => true, BFILTER => true); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'SNUMB', SCAPTION => ' ', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SCOND_FROM => 'EDNUMBFrom', BORDER => true, BFILTER => true); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'DDOCDATE', SCAPTION => ' ', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, SCOND_FROM => 'EDDATEFrom', SCOND_TO => 'EDDATETo', BORDER => true, BFILTER => true); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'NSTATE', SCAPTION => '', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, BORDER => true); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'DDATEFACT_BEG', SCAPTION => ' ', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, BORDER => true); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'DDATEFACT_END', SCAPTION => ' ', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, BORDER => true); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'SDEPTCUSTOMER_CODE', SCAPTION => ' ', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, BORDER => true); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'SDEPTCUSTOMER_NAME', SCAPTION => ' ', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, BORDER => true); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'SDEPTPERF_CODE', SCAPTION => ' ', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, BORDER => true); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'SDEPTPERF_NAME', SCAPTION => ' ', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, BORDER => true); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'SPERFORM_AGN_CODE', SCAPTION => ' ', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, BORDER => true); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'SPERFORM_AGN_NAME', SCAPTION => ' ', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, BORDER => true); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'NLABORIOUSNESS_PLAN', SCAPTION => ', ()', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, BORDER => true); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'NLABORIOUSNESS_FACT', SCAPTION => ', ()', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, BORDER => true); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'NNORMH_COST', SCAPTION => '# /', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, BORDER => true); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'NWORK_COST', SCAPTION => '# ', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, BORDER => true); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'NMTR_COST', SCAPTION => '# /', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, BORDER => true); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'NCOASTFACT', SCAPTION => ' ', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, BORDER => true); /* ( . ) */ PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'DDATEBEGIN_FILTER', SCAPTION => ' ()', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, SCOND_FROM => 'EDREPAIRFACTBEGINFrom', SCOND_TO => 'EDREPAIRFACTBEGINTo', BFILTER => true, BVISIBLE => false); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'SCUSTOMERDEPT_FILTER', SCAPTION => ' ()', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SCOND_FROM => 'CUSTOMERDEPTEDIT', BFILTER => true, BVISIBLE => false); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'SWORKTYPE_FILTER', SCAPTION => ' ()', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SCOND_FROM => 'EQTYPEWRKCOMP', BFILTER => true, BVISIBLE => false); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'SWORKKIND_FILTER', SCAPTION => ' ()', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SCOND_FROM => 'EQWRKKINDCOMP', BFILTER => true, BVISIBLE => false); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'NSTATE_FILTER', SCAPTION => ' ()', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SCOND_FROM => 'STATETYPE', BFILTER => true, BVISIBLE => false); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'NTYPESPEND_FILTER', SCAPTION => ' ()', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SCOND_FROM => 'TYPESPEND', BFILTER => true, BVISIBLE => false); begin /* */ CSQL := PKG_SQL_BUILD.COMPATIBLE(SSQL => CSQL); /* */ PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => 'select *'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' from (select D.*,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => PKG_SQL_BUILD.SQLROWNUM() || ' NROW'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' from (select A.RN as NRN,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' B.DOCCODE as SDOCTYPES,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' TRIM(A.PREF) as SPREF,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' TRIM(A.NUMB) as SNUMB,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' A.DOCDATE as DDOCDATE,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' A.STATE as NSTATE,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' A.DATEFACT_BEG as DDATEFACT_BEG,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' A.DATEFACT_END as DDATEFACT_END,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' DP.CODE as SDEPTCUSTOMER_CODE,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' DP.NAME as SDEPTCUSTOMER_NAME,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' E.CODE as SDEPTPERF_CODE,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' E.NAME as SDEPTPERF_NAME,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' C.AGNABBR as SPERFORM_AGN_CODE,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' C.AGNNAME as SPERFORM_AGN_NAME,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' (select NVL(sum(ES.WORKTIMEPLAN * DECODE(ES.TIME_MEAS,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' ' || PKG_SQL_BUILD.WRAP_NUM(1) || ','); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' ' || PKG_SQL_BUILD.WRAP_NUM(24) || ','); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' ' || PKG_SQL_BUILD.WRAP_NUM(1) || ') * ES.PERFORM_QUANT),'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' ' || PKG_SQL_BUILD.WRAP_NUM(0) || ')'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' from EQRPSHWRK W,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' EQRPSHWRC ES'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' where ES.PRN = W.RN'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' and W.PRN = A.RN) as NLABORIOUSNESS_PLAN,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' (select NVL(sum(ES.WORKTIMEFACT * DECODE(ES.TIME_MEAS,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' ' || PKG_SQL_BUILD.WRAP_NUM(1) || ','); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' ' || PKG_SQL_BUILD.WRAP_NUM(24) || ','); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' ' || PKG_SQL_BUILD.WRAP_NUM(1) ||') * ES.QUANTFACT),'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' ' || PKG_SQL_BUILD.WRAP_NUM(0) || ')'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' from EQRPSHWRK W,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' EQRPSHWRC ES'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' where ES.PRN = W.RN'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' and W.PRN = A.RN) as NLABORIOUSNESS_FACT,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => PKG_SQL_BUILD.PERFORM('UDO_F_ERS_EQRPSHWRK_AVG_PRICE') || '(A.COMPANY, A.RN) NNORMH_COST,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => PKG_SQL_BUILD.PERFORM('UDO_F_ERS_EQRPSHWRK_SUM') || '(A.COMPANY, A.RN) NWORK_COST,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => PKG_SQL_BUILD.PERFORM('UDO_F_EQRP_SHMRC_SHOVH_SUM') || '(A.COMPANY, A.RN) NMTR_COST,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' A.COASTFACT as NCOASTFACT'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' from EQRPSHEETS A'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' left outer join AGNLIST C on A.PERFORM_AGN = C.RN'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' left outer join INS_DEPARTMENT E on A.DEPTPERF = E.RN'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' left outer join AGNLIST AGN on A.CUSTOMER_AGN = AGN.RN'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' left outer join INS_DEPARTMENT DP on A.DEPTCUSTOMER = DP.RN,'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' DOCTYPES B'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' where A.COMPANY = :NCOMPANY'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' and A.STATE in (0,2,3)'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' and A.DOCTYPES = B.RN'); /*PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' and exists (select null from V_USERPRIV UP where UP.CATALOG = A.CRN)'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' and exists (select null'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' from V_USERPRIV UP'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' where UP.JUR_PERS = A.JURPERSONS'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' and UP.UNITCODE = ' || PKG_SQL_BUILD.WRAP_STR('EquipRepairSheets') || ')');*/ PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' and A.RN in (select ID from COND_BROKER_IDSMART where IDENT = :NIDENT)'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' %ORDER_BY%) D) F'); PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' where F.NROW between :NROW_FROM and :NROW_TO'); /* */ PKG_P8PANELS_VISUAL.TDG_ORDERS_SET_QUERY(RDATA_GRID => RDG, RORDERS => RO, SPATTERN => '%ORDER_BY%', CSQL => CSQL); /* */ PKG_P8PANELS_VISUAL.TDG_FILTERS_SET_QUERY(NIDENT => NIDENT, NCOMPANY => NCOMPANY, SUNIT => 'EquipRepairSheets', SPROCEDURE => 'UDO_PKG_P8PANELS_RPR_ANL.EQRPSHEETS_BASE_COND', RDATA_GRID => RDG, RFILTERS => RF); /* */ ICURSOR := PKG_SQL_DML.OPEN_CURSOR(SWHAT => 'SELECT'); PKG_SQL_DML.PARSE(ICURSOR => ICURSOR, SQUERY => CSQL); /* */ PKG_SQL_DML.BIND_VARIABLE_NUM(ICURSOR => ICURSOR, SNAME => 'NCOMPANY', NVALUE => NCOMPANY); PKG_SQL_DML.BIND_VARIABLE_NUM(ICURSOR => ICURSOR, SNAME => 'NIDENT', NVALUE => NIDENT); PKG_SQL_DML.BIND_VARIABLE_NUM(ICURSOR => ICURSOR, SNAME => 'NROW_FROM', NVALUE => NROW_FROM); PKG_SQL_DML.BIND_VARIABLE_NUM(ICURSOR => ICURSOR, SNAME => 'NROW_TO', NVALUE => NROW_TO); /* */ PKG_SQL_DML.DEFINE_COLUMN_NUM(ICURSOR => ICURSOR, IPOSITION => 1); PKG_SQL_DML.DEFINE_COLUMN_STR(ICURSOR => ICURSOR, IPOSITION => 2); PKG_SQL_DML.DEFINE_COLUMN_STR(ICURSOR => ICURSOR, IPOSITION => 3); PKG_SQL_DML.DEFINE_COLUMN_STR(ICURSOR => ICURSOR, IPOSITION => 4); PKG_SQL_DML.DEFINE_COLUMN_DATE(ICURSOR => ICURSOR, IPOSITION => 5); PKG_SQL_DML.DEFINE_COLUMN_NUM(ICURSOR => ICURSOR, IPOSITION => 6); PKG_SQL_DML.DEFINE_COLUMN_DATE(ICURSOR => ICURSOR, IPOSITION => 7); PKG_SQL_DML.DEFINE_COLUMN_DATE(ICURSOR => ICURSOR, IPOSITION => 8); PKG_SQL_DML.DEFINE_COLUMN_STR(ICURSOR => ICURSOR, IPOSITION => 9); PKG_SQL_DML.DEFINE_COLUMN_STR(ICURSOR => ICURSOR, IPOSITION => 10); PKG_SQL_DML.DEFINE_COLUMN_STR(ICURSOR => ICURSOR, IPOSITION => 11); PKG_SQL_DML.DEFINE_COLUMN_STR(ICURSOR => ICURSOR, IPOSITION => 12); PKG_SQL_DML.DEFINE_COLUMN_STR(ICURSOR => ICURSOR, IPOSITION => 13); PKG_SQL_DML.DEFINE_COLUMN_STR(ICURSOR => ICURSOR, IPOSITION => 14); PKG_SQL_DML.DEFINE_COLUMN_NUM(ICURSOR => ICURSOR, IPOSITION => 15); PKG_SQL_DML.DEFINE_COLUMN_NUM(ICURSOR => ICURSOR, IPOSITION => 16); PKG_SQL_DML.DEFINE_COLUMN_NUM(ICURSOR => ICURSOR, IPOSITION => 17); PKG_SQL_DML.DEFINE_COLUMN_NUM(ICURSOR => ICURSOR, IPOSITION => 18); PKG_SQL_DML.DEFINE_COLUMN_NUM(ICURSOR => ICURSOR, IPOSITION => 19); PKG_SQL_DML.DEFINE_COLUMN_NUM(ICURSOR => ICURSOR, IPOSITION => 20); PKG_SQL_DML.DEFINE_COLUMN_NUM(ICURSOR => ICURSOR, IPOSITION => 21); /* */ if (PKG_SQL_DML.EXECUTE(ICURSOR => ICURSOR) = 0) then null; end if; /* */ while (PKG_SQL_DML.FETCH_ROWS(ICURSOR => ICURSOR) > 0) loop /* */ PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLN(RROW => RDG_ROW, SNAME => 'NRN', ICURSOR => ICURSOR, NPOSITION => 1, BCLEAR => true); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLS(RROW => RDG_ROW, SNAME => 'SDOCTYPES', ICURSOR => ICURSOR, NPOSITION => 2); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLS(RROW => RDG_ROW, SNAME => 'SPREF', ICURSOR => ICURSOR, NPOSITION => 3); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLS(RROW => RDG_ROW, SNAME => 'SNUMB', ICURSOR => ICURSOR, NPOSITION => 4); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLD(RROW => RDG_ROW, SNAME => 'DDOCDATE', ICURSOR => ICURSOR, NPOSITION => 5); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLN(RROW => RDG_ROW, SNAME => 'NSTATE', ICURSOR => ICURSOR, NPOSITION => 6); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLD(RROW => RDG_ROW, SNAME => 'DDATEFACT_BEG', ICURSOR => ICURSOR, NPOSITION => 7); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLD(RROW => RDG_ROW, SNAME => 'DDATEFACT_END', ICURSOR => ICURSOR, NPOSITION => 8); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLS(RROW => RDG_ROW, SNAME => 'SDEPTCUSTOMER_CODE', ICURSOR => ICURSOR, NPOSITION => 9); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLS(RROW => RDG_ROW, SNAME => 'SDEPTCUSTOMER_NAME', ICURSOR => ICURSOR, NPOSITION => 10); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLS(RROW => RDG_ROW, SNAME => 'SDEPTPERF_CODE', ICURSOR => ICURSOR, NPOSITION => 11); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLS(RROW => RDG_ROW, SNAME => 'SDEPTPERF_NAME', ICURSOR => ICURSOR, NPOSITION => 12); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLS(RROW => RDG_ROW, SNAME => 'SPERFORM_AGN_CODE', ICURSOR => ICURSOR, NPOSITION => 13); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLS(RROW => RDG_ROW, SNAME => 'SPERFORM_AGN_NAME', ICURSOR => ICURSOR, NPOSITION => 14); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLN(RROW => RDG_ROW, SNAME => 'NLABORIOUSNESS_PLAN', ICURSOR => ICURSOR, NPOSITION => 15); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLN(RROW => RDG_ROW, SNAME => 'NLABORIOUSNESS_FACT', ICURSOR => ICURSOR, NPOSITION => 16); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLN(RROW => RDG_ROW, SNAME => 'NNORMH_COST', ICURSOR => ICURSOR, NPOSITION => 17); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLN(RROW => RDG_ROW, SNAME => 'NWORK_COST', ICURSOR => ICURSOR, NPOSITION => 18); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLN(RROW => RDG_ROW, SNAME => 'NMTR_COST', ICURSOR => ICURSOR, NPOSITION => 19); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLN(RROW => RDG_ROW, SNAME => 'NCOASTFACT', ICURSOR => ICURSOR, NPOSITION => 20); /* */ PKG_P8PANELS_VISUAL.TDG_ADD_ROW(RDATA_GRID => RDG, RROW => RDG_ROW); end loop; /* */ PKG_SQL_DML.CLOSE_CURSOR(ICURSOR => ICURSOR); exception when others then PKG_SQL_DML.CLOSE_CURSOR(ICURSOR => ICURSOR); raise; end; /* */ COUT := PKG_P8PANELS_VISUAL.TDG_TO_XML(RDATA_GRID => RDG, NINCLUDE_DEF => NINCLUDE_DEF); end DATA_GRID; /* */ procedure EQRPSHEETS_BASE_COND as SPREF PKG_STD.TSTRING; SNUMB PKG_STD.TSTRING; SWORK_TYPE PKG_STD.TSTRING; SWORK_KIND PKG_STD.TSTRING; SCLAUSE PKG_STD.TSTRING; NSTATE PKG_STD.TNUMBER; NTYPESPEND PKG_STD.TNUMBER; begin /* */ PKG_COND_BROKER.SET_TABLE( 'EQRPSHEETS' ); /* */ -- // PKG_COND_BROKER.ADD_CONDITION_CODE( 'DOCCODE','EDDOCTYPE','DOCTYPES <- RN;DOCTYPES' ); -- // if (PKG_COND_BROKER.CONDITION_EXISTS('EDPREFFrom') = 1) then /* trim */ SPREF := UPPER(TRIMNUMB(PKG_COND_BROKER.GET_CONDITION_STR('EDPREFFrom') ,10)); /* */ PKG_COND_BROKER.ADD_CLAUSE('UPPER(PREF) = ''' || SPREF || ''''); end if; -- // if (PKG_COND_BROKER.CONDITION_EXISTS('EDNUMBFrom') = 1) then /* trim */ SNUMB := UPPER(TRIMNUMB(PKG_COND_BROKER.GET_CONDITION_STR('EDNUMBFrom') ,10)); /* */ PKG_COND_BROKER.ADD_CLAUSE('UPPER(NUMB) = ''' || SNUMB || ''''); end if; -- // .. PKG_COND_BROKER.ADD_CONDITION_BETWEEN( 'DOCDATE','EDDATEFrom','EDDATETo' ); /* */ if (PKG_COND_BROKER.CONDITION_EXISTS('STATETYPE') = 1) then /* (0 - , 1 - ) */ NSTATE := PKG_COND_BROKER.GET_CONDITION_NUM('STATETYPE'); /* - */ if (NSTATE = 1) then /* "" */ PKG_COND_BROKER.SET_CONDITION_ENUM('CGSTATE', '3'); else /* " ", "" */ PKG_COND_BROKER.SET_CONDITION_ENUM('CGSTATE', '0;2', ';'); end if; -- / PKG_COND_BROKER.ADD_CONDITION_ENUM( 'STATE','CGSTATE' ); end if; /* */ if (PKG_COND_BROKER.CONDITION_EXISTS('TYPESPEND') = 1) then /* (0 - , 1 - ) */ NTYPESPEND := PKG_COND_BROKER.GET_CONDITION_NUM('TYPESPEND'); /* - */ if (NTYPESPEND = 0) then PKG_COND_BROKER.ADD_NOT_NULL('DEPTPERF'); else PKG_COND_BROKER.ADD_NOT_NULL('PERFORM_AGN'); end if; end if; /* */ -- /, /- PKG_COND_BROKER.ADD_CONDITION_CODE( 'CODE','CUSTOMERDEPTEDIT','DEPTCUSTOMER <- RN;INS_DEPARTMENT' ); -- / / .. PKG_COND_BROKER.ADD_CONDITION_BETWEEN( 'DATEFACT_BEG','EDREPAIRFACTBEGINFrom','EDREPAIRFACTBEGINTo' ); -- if ((PKG_COND_BROKER.CONDITION_EXISTS('EQTYPEWRKCOMP') = 1) or (PKG_COND_BROKER.CONDITION_EXISTS('EQWRKKINDCOMP') = 1)) then /* */ SWORK_TYPE := PKG_COND_BROKER.GET_CONDITION_STR('EQTYPEWRKCOMP'); /* */ SWORK_KIND := PKG_COND_BROKER.GET_CONDITION_STR('EQWRKKINDCOMP'); /* . */ SCLAUSE := ' exists (select null'; SCLAUSE := SCLAUSE || ' from EQRPSHWRK SW,'; SCLAUSE := SCLAUSE || ' EQTYPEWRK TW'; /* */ if (SWORK_KIND is not null) then SCLAUSE := SCLAUSE || ' left outer join EQWRKKIND WK on TW.KIND = WK.RN'; end if; SCLAUSE := SCLAUSE || ' where SW.PRN = T.RN'; SCLAUSE := SCLAUSE || ' and TW.RN = SW.TYPEWRK'; /* */ if (SWORK_TYPE is not null) then SCLAUSE := SCLAUSE || ' and TW.CODE = ''' || SWORK_TYPE || ''''; end if; /* */ if (SWORK_KIND is not null) then SCLAUSE := SCLAUSE || ' and WK.CODE = ''' || SWORK_KIND || ''''; end if; SCLAUSE := SCLAUSE || ')'; /* */ PKG_COND_BROKER.ADD_CLAUSE(SCLAUSE); end if; -- / --PKG_COND_BROKER.ADD_CONDITION_ENUM( 'STATE','CGSTATE' ); end EQRPSHEETS_BASE_COND; end UDO_PKG_P8PANELS_RPR_ANL; /