Data type size for the view column
I am creating a view from base table using substr() for some fields. The data type size of the column in the view becomes twice the size of the corresponding column in the base table. Example
SQL> create table temp_sat(name varchar2(20));
Table created.
SQL> create view temp_view as select substr(name,1,10) name from temp_sat;
View created.
SQL> desc temp_view
Name Null? Type
NAME VARCHAR2(40)
Can i specify the size of the column while creating view
satish asnani wrote:
I am creating a view from base table using substr() for some fields. The data type size of the column in the view becomes twice the size of the corresponding column in the base table. Example
SQL> create table temp_sat(name varchar2(20));
Table created.
SQL> create view temp_view as select substr(name,1,10) name from temp_sat;
View created.
SQL> desc temp_view
Name Null? Type
NAME VARCHAR2(40)Can i specify the size of the column while creating viewHi,
Which platform and Oracel DB version?
I had try to replicate, but I can't:
SQL> create table t_v
2 (id varchar2(20));
Tabla creada.
SQL> desc t_v
Nombre ┐Nulo? Tipo
ID VARCHAR2(20)
SQL> r
1 create view v_t_v
2 as
3 select substr(id,1,10) id
4* from t_v
Vista creada.
SQL> desc v_t_v
Nombre ┐Nulo? Tipo
ID VARCHAR2(10)John
Similar Messages
-
Hi All,
I'm still struggling with the same cube and this is my 3rd post and once i fix some thing the other breaks. Please forgive me. When i process my cube i'm getting the error:
Errors in the back-end database access module. OLE DB was unable to convert a value to the data type requested for column 5.
My question is when the error says column 5 (is it the column 5 in the DSV?) or is it the column 5 in the DIMENSION list?
My next question is the DSV Query works perfectly fine , so why this error in cube? This is what i have in the query in DSV.
Please need help. In the below query both the column 5 (ArEASSIGNED TO VENDOR) in the CUBE and underlying table have the same data type and length VARCHAR(4000). Why is the process failing still?
SELECT [High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[compliancejoin]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_0],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[mowingsector]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_1],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[caseclosedflag]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_2],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[casehasvendorinfo]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_3],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[mowingstatus]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_4],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[assignedtovendor]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_5],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[reassignedtovendor]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_6],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[currentvendor]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_7],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[invoiced]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTSInvoiced0_8],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[invoicedstatus]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_9],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[casecloseddateid]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_10],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[assignedtovendordateid] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_11],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[reassigneddateid] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_12],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[currentassigneddateid] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_13],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[mowingduedateid] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_14],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[vendormoweddateid] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_15],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[captypename] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_16],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[casetype] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTSCaseType0_17],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[casenumbersubgroup] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_18],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[casetownship] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_19],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[casestatus] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTSCaseStatus0_20],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[caseopendateid] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_21],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[casereferredtolegalflag]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_22],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[casemacinitiatedflag] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_23],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[caseconversionstatusdesc]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_24],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[reasonforinvestigation] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_25],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[investigationopendateid]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_26],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[receiveddateid] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_27],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[assigned_department_staff]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_28],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[caseinitiator] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_29],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[vendorinvoiceamount] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_30],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[inspection_result] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_31],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[reason_for_complaint] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_32],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[vendor_action] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_33],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[complaint_source] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_34],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[contractcompliancevendor]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_35],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[invoicedstatusdateid] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_36],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[date_of_complaint_id] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_37],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[date_of_inspection_id] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_38],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[casenumber] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTSCaseNumber0_39],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[parcelnumber] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_40],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[row_index] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTSROW_INDEX0_41]
FROM (SELECT CASE Isnumeric(
accela_staging.dbo.fact_highweedsandgrassdetails.vendorinvoiceamount)
WHEN 1 THEN Cast(
fact_highweedsandgrassdetails.vendorinvoiceamount AS
VARCHAR(
10))
END AS
Total_Dollar_Amount,
fact_highweedsandgrassdetails.casenumber,
fact_highweedsandgrassdetails.row_index,
fact_highweedsandgrassdetails.mowingsector,
fact_highweedsandgrassdetails.caseclosedflag,
fact_highweedsandgrassdetails.casecloseddateid,
fact_highweedsandgrassdetails.maccomments,
fact_highweedsandgrassdetails.lastfeeinvoicedateid,
fact_highweedsandgrassdetails.casehasvendorinfo,
fact_highweedsandgrassdetails.mowingstatus,
fact_highweedsandgrassdetails.receiveddateid,
fact_highweedsandgrassdetails.assignedtovendordateid,
fact_highweedsandgrassdetails.assignedtovendor,
fact_highweedsandgrassdetails.reassigneddateid,
fact_highweedsandgrassdetails.reassignedtovendor,
fact_highweedsandgrassdetails.currentvendor,
fact_highweedsandgrassdetails.currentassigneddateid,
fact_highweedsandgrassdetails.mowingduedateid,
fact_highweedsandgrassdetails.vendormoweddateid,
fact_highweedsandgrassdetails.invoiced,
fact_highweedsandgrassdetails.invoicedstatus,
fact_highweedsandgrassdetails.invoicedstatusdateid,
fact_highweedsandgrassdetails.vendorinvoicenumber,
fact_highweedsandgrassdetails.vendorcomments,
fact_casedetails.captypename,
fact_casedetails.casenumbersubgroup,
fact_casedetails.casetype,
fact_casedetails.township AS
CaseTownship,
fact_casedetails.casestatus,
fact_casedetails.caseopendateid,
fact_casedetails.referredtolegalflag AS
CaseReferredToLegalFlag,
fact_casedetails.macinitiatedflag AS
CaseMACInitiatedFlag,
fact_casedetails.conversionstatusdesc AS
CaseConversionStatusDesc,
fact_casedetails.assignedstaff AS
CaseAssignedStaff,
fact_casedetails.completedstaff AS
CaseCompletedStaff,
fact_casedetails.closedbystaff AS
CaseClosedByStaff,
fact_casedetails.initiator AS
CaseInitiator,
fact_casedetails.reasonforinvestigation,
fact_casedetails.primaryaddress,
fact_casedetails.parcelnumber,
Cast(Datediff([day],
fact_highweedsandgrassdetails.receiveddatetime,
COALESCE (fact_highweedsandgrassdetails.casecloseddate,
fact_highweedsandgrassdetails.vendormoweddate,
fact_highweedsandgrassdetails.recordimportdatetime)) AS
DECIMAL(6, 2))
AS
DaysOpen,
Cast(Datediff([day],
fact_highweedsandgrassdetails.receiveddatetime,
COALESCE
(fact_highweedsandgrassdetails.vendormoweddate,
fact_highweedsandgrassdetails.casecloseddate,
fact_highweedsandgrassdetails.recordimportdatetime)) AS
NUMERIC(9, 2))
* 24 AS
HoursOpenToMow,
Cast(Datediff([day],
fact_highweedsandgrassdetails.assignedtovendordate,
COALESCE
(fact_highweedsandgrassdetails.vendormoweddate,
fact_highweedsandgrassdetails.casecloseddate,
fact_highweedsandgrassdetails.recordimportdatetime)) AS
NUMERIC(9, 2))
* 24 AS
HoursAssignedToMow,
CASE
WHEN mowingstatus = 'Mowed'
OR mowingstatus = 'Closed' THEN 1
ELSE 0
END AS
NumberComplete,
fact_highweedsandgrassdetails.recordimportdatetime,
fact_casedetails.macsiebelnumber,
fact_highweedsandgrassdetails.mowingduedate,
fact_highweedsandgrassdetails.vendormoweddate,
fact_highweedsandgrassdetails.lastfeeinvoicedate,
fact_highweedsandgrassdetails.investigationopendatetime,
fact_highweedsandgrassdetails.investigationopendate,
fact_highweedsandgrassdetails.investigationopendateid,
Cast(Datediff([day],
fact_highweedsandgrassdetails.investigationopendatetime,
CASE
WHEN
( vendormoweddatetime IS NOT NULL
AND vendormoweddatetime <=
fact_highweedsandgrassdetails.casecloseddate ) THEN
fact_highweedsandgrassdetails.vendormoweddatetime
ELSE
CASE
WHEN (
fact_highweedsandgrassdetails.casecloseddate IS
NOT NULL
AND fact_highweedsandgrassdetails.casecloseddate
<=
fact_highweedsandgrassdetails.recordimportdatetime )
THEN
fact_highweedsandgrassdetails.casecloseddate
ELSE fact_highweedsandgrassdetails.recordimportdatetime
END
END) AS NUMERIC(9, 2)) * 24 AS
AbatementDurationHoursOLD,
Cast(Datediff([day],
fact_highweedsandgrassdetails.investigationopendatetime,
CASE
WHEN
COALESCE (vendormoweddatetime,
fact_highweedsandgrassdetails.casecloseddate) IS
NOT NULL THEN COALESCE (vendormoweddatetime,
fact_highweedsandgrassdetails.casecloseddate)
ELSE
CASE
WHEN ( fact_highweedsandgrassdetails.casecloseddate IS NOT NULL
AND fact_highweedsandgrassdetails.casecloseddate <=
fact_highweedsandgrassdetails.recordimportdatetime ) THEN
fact_highweedsandgrassdetails.casecloseddate
ELSE fact_highweedsandgrassdetails.recordimportdatetime
END
END) AS NUMERIC(9, 2)) * 24 AS
AbatementDurationHours,
fact_casedetails.assigneddepartment,
COALESCE (fact_casedetails.assignedstaff, '[null]')
+ '/'
+ COALESCE (fact_casedetails.assigneddepartment, '[null]') AS
Assigned_Department_Staff,
fact_highweedsandgrassdetails.casecloseddate,
fact_highweedsandgrassdetails.receiveddatetime,
fact_highweedsandgrassdetails.assignedtovendordate,
fact_highweedsandgrassdetails.vendorinvoiceamount,
fact_highweedsandgrassdetails.invoicedstatusdate,
fact_highweedsandgrassdetails.complaint_source,
fact_highweedsandgrassdetails.inspection_result,
fact_highweedsandgrassdetails.reason_for_complaint,
fact_highweedsandgrassdetails.contractcompliancevendor,
fact_highweedsandgrassdetails.vendor_action,
fact_highweedsandgrassdetails.date_of_complaint_id,
fact_highweedsandgrassdetails.date_of_inspection_id,
CONVERT(INT, Replace(Replace(fact_highweedsandgrassdetails.casenumber,
'HWG', 0)
, '-', 0)) AS compliancejoin,
fact_highweedsandgrassdetails.maccomments AS Expr1,
dbo.dim_highweedscensustracts.b1_census_tract
FROM dbo.fact_highweedsandgrassdetails
INNER JOIN dbo.fact_casedetails
ON fact_highweedsandgrassdetails.casenumber =
fact_casedetails.casenumber
INNER JOIN dbo.dim_highweedscensustracts
ON fact_highweedsandgrassdetails.casenumber =
dbo.dim_highweedscensustracts.casenumber
GROUP BY fact_highweedsandgrassdetails.casenumber,
fact_highweedsandgrassdetails.row_index,
fact_highweedsandgrassdetails.mowingsector,
fact_highweedsandgrassdetails.caseclosedflag,
fact_highweedsandgrassdetails.casecloseddateid,
fact_highweedsandgrassdetails.maccomments,
fact_highweedsandgrassdetails.lastfeeinvoicedateid,
fact_highweedsandgrassdetails.casehasvendorinfo,
fact_highweedsandgrassdetails.mowingstatus,
fact_highweedsandgrassdetails.receiveddateid,
fact_highweedsandgrassdetails.assignedtovendordateid,
fact_highweedsandgrassdetails.assignedtovendor,
fact_highweedsandgrassdetails.reassigneddateid,
fact_highweedsandgrassdetails.reassignedtovendor,
fact_highweedsandgrassdetails.currentvendor,
fact_highweedsandgrassdetails.currentassigneddateid,
fact_highweedsandgrassdetails.mowingduedateid,
fact_highweedsandgrassdetails.vendormoweddateid,
fact_highweedsandgrassdetails.invoiced,
fact_highweedsandgrassdetails.invoicedstatus,
fact_highweedsandgrassdetails.invoicedstatusdateid,
fact_highweedsandgrassdetails.vendorinvoicenumber,
fact_highweedsandgrassdetails.vendorcomments,
fact_casedetails.captypename,
fact_casedetails.casenumbersubgroup,
fact_casedetails.casetype,
fact_casedetails.township,
fact_casedetails.casestatus,
fact_casedetails.caseopendateid,
fact_casedetails.referredtolegalflag,
fact_casedetails.macinitiatedflag,
fact_casedetails.conversionstatusdesc,
fact_casedetails.assignedstaff,
fact_casedetails.completedstaff,
fact_casedetails.closedbystaff,
fact_casedetails.initiator,
fact_casedetails.reasonforinvestigation,
fact_casedetails.primaryaddress,
fact_casedetails.parcelnumber,
fact_highweedsandgrassdetails.vendormoweddatetime,
Cast(Datediff([day],
fact_highweedsandgrassdetails.receiveddatetime,
COALESCE (
fact_highweedsandgrassdetails.casecloseddate,
fact_highweedsandgrassdetails.vendormoweddate,
fact_highweedsandgrassdetails.recordimportdatetime))
AS
NUMERIC(9, 2)),
Cast(Datediff([day],
fact_highweedsandgrassdetails.receiveddatetime,
COALESCE (
fact_highweedsandgrassdetails.vendormoweddate,
fact_highweedsandgrassdetails.casecloseddate,
fact_highweedsandgrassdetails.recordimportdatetime))
AS
NUMERIC(9, 2)),
Cast(Datediff([day],
fact_highweedsandgrassdetails.assignedtovendordate,
COALESCE (
fact_highweedsandgrassdetails.vendormoweddate,
fact_highweedsandgrassdetails.casecloseddate,
fact_highweedsandgrassdetails.recordimportdatetime))
AS
NUMERIC(9, 2)),
CASE
WHEN mowingstatus = 'Mowed'
OR mowingstatus = 'Closed' THEN 1
ELSE 0
END,
fact_highweedsandgrassdetails.recordimportdatetime,
fact_casedetails.macsiebelnumber,
fact_highweedsandgrassdetails.mowingduedate,
fact_highweedsandgrassdetails.vendormoweddate,
fact_highweedsandgrassdetails.lastfeeinvoicedate,
fact_highweedsandgrassdetails.investigationopendatetime,
fact_highweedsandgrassdetails.investigationopendate,
fact_highweedsandgrassdetails.investigationopendateid,
Cast(Datediff([day],
fact_highweedsandgrassdetails.investigationopendatetime,
CASE
WHEN
( vendormoweddatetime IS NOT NULL
AND vendormoweddatetime <=
fact_highweedsandgrassdetails.casecloseddate ) THEN
fact_highweedsandgrassdetails.vendormoweddatetime
ELSE
CASE
WHEN (
fact_highweedsandgrassdetails.casecloseddate
IS NOT NULL
AND
fact_highweedsandgrassdetails.casecloseddate <=
fact_highweedsandgrassdetails.recordimportdatetime )
THEN
fact_highweedsandgrassdetails.casecloseddate
ELSE
fact_highweedsandgrassdetails.recordimportdatetime
END
END) AS NUMERIC(9, 2)),
Cast(Datediff(ss,
fact_highweedsandgrassdetails.investigationopendatetime,
CASE
WHEN
COALESCE (vendormoweddatetime,
fact_highweedsandgrassdetails.casecloseddate) IS
NOT NULL THEN COALESCE (vendormoweddatetime,
fact_highweedsandgrassdetails.casecloseddate)
ELSE
CASE
WHEN
( fact_highweedsandgrassdetails.casecloseddate IS NOT NULL
AND fact_highweedsandgrassdetails.casecloseddate <=
fact_highweedsandgrassdetails.recordimportdatetime ) THEN
fact_highweedsandgrassdetails.casecloseddate
ELSE fact_highweedsandgrassdetails.recordimportdatetime
END
END) AS NUMERIC(18, 2)) * 60,
fact_casedetails.assigneddepartment,
COALESCE (fact_casedetails.assignedstaff, '[null]')
+ '/'
+ COALESCE (fact_casedetails.assigneddepartment, '[null]'),
fact_highweedsandgrassdetails.casecloseddate,
fact_highweedsandgrassdetails.receiveddatetime,
fact_highweedsandgrassdetails.assignedtovendordate,
fact_highweedsandgrassdetails.vendorinvoiceamount,
fact_highweedsandgrassdetails.invoicedstatusdate,
fact_highweedsandgrassdetails.complaint_source,
fact_highweedsandgrassdetails.inspection_result,
fact_highweedsandgrassdetails.reason_for_complaint,
fact_highweedsandgrassdetails.contractcompliancevendor,
fact_highweedsandgrassdetails.vendor_action,
fact_highweedsandgrassdetails.date_of_complaint_id,
fact_highweedsandgrassdetails.date_of_inspection_id,
CONVERT(INT, Replace(
Replace(fact_highweedsandgrassdetails.casenumber, 'HWG', 0)
, '-', 0)),
fact_highweedsandgrassdetails.maccomments,
dbo.dim_highweedscensustracts.b1_census_tract) AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS]
ORDER BY [High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[compliancejoin]
ASC
SVI just counted the columns from the top:
1) compliancejoin, 2) mowingsector, 3) caseclosedflag, 4) casehasvendorinfo, 5) mowingstatus, 6) assignedtovendor.
I see now that your subject line talks about column 6, but you say column 5 in body of your original post.
I don't know anything about cubes, but apparently there is some mapping problem when you run it from SSAS. (I assume it is SSAS, a part of the product I'm entirely ignorant of.) I figured that if you had got tripped by the zero-based numbering, you
might be staring on the wrong column.
Erland Sommarskog, SQL Server MVP, [email protected] -
Hi All,
I'm still struggling with the same cube and this is my 3rd post and once i fix some thing the other breaks. Please forgive me. When i process my cube i'm getting the error:
Errors in the back-end database access module. OLE DB was unable to convert a value to the data type requested for column 5.
My question is when the error says column 5 (is it the column 5 in the DSV?) or is it the column 5 in the DIMENSION list?
My next question is the DSV Query works perfectly fine , so why this error in cube? This is what i have in the query in DSV.
Please need help. In the below query both the column 5 (ArEASSIGNED TO VENDOR) in the CUBE and underlying table have the same data type and length VARCHAR(4000). Why is the process failing still?
SELECT [High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[compliancejoin]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_0],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[mowingsector]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_1],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[caseclosedflag]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_2],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[casehasvendorinfo]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_3],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[mowingstatus]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_4],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[assignedtovendor]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_5],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[reassignedtovendor]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_6],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[currentvendor]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_7],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[invoiced]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTSInvoiced0_8],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[invoicedstatus]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_9],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[casecloseddateid]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_10],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[assignedtovendordateid] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_11],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[reassigneddateid] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_12],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[currentassigneddateid] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_13],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[mowingduedateid] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_14],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[vendormoweddateid] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_15],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[captypename] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_16],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[casetype] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTSCaseType0_17],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[casenumbersubgroup] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_18],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[casetownship] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_19],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[casestatus] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTSCaseStatus0_20],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[caseopendateid] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_21],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[casereferredtolegalflag]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_22],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[casemacinitiatedflag] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_23],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[caseconversionstatusdesc]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_24],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[reasonforinvestigation] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_25],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[investigationopendateid]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_26],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[receiveddateid] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_27],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[assigned_department_staff]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_28],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[caseinitiator] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_29],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[vendorinvoiceamount] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_30],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[inspection_result] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_31],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[reason_for_complaint] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_32],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[vendor_action] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_33],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[complaint_source] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_34],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[contractcompliancevendor]
AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_35],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[invoicedstatusdateid] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_36],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[date_of_complaint_id] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_37],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[date_of_inspection_id] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_38],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[casenumber] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTSCaseNumber0_39],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[parcelnumber] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS0_40],
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[row_index] AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTSROW_INDEX0_41]
FROM (SELECT CASE Isnumeric(
accela_staging.dbo.fact_highweedsandgrassdetails.vendorinvoiceamount)
WHEN 1 THEN Cast(
fact_highweedsandgrassdetails.vendorinvoiceamount AS
VARCHAR(
10))
END AS
Total_Dollar_Amount,
fact_highweedsandgrassdetails.casenumber,
fact_highweedsandgrassdetails.row_index,
fact_highweedsandgrassdetails.mowingsector,
fact_highweedsandgrassdetails.caseclosedflag,
fact_highweedsandgrassdetails.casecloseddateid,
fact_highweedsandgrassdetails.maccomments,
fact_highweedsandgrassdetails.lastfeeinvoicedateid,
fact_highweedsandgrassdetails.casehasvendorinfo,
fact_highweedsandgrassdetails.mowingstatus,
fact_highweedsandgrassdetails.receiveddateid,
fact_highweedsandgrassdetails.assignedtovendordateid,
fact_highweedsandgrassdetails.assignedtovendor,
fact_highweedsandgrassdetails.reassigneddateid,
fact_highweedsandgrassdetails.reassignedtovendor,
fact_highweedsandgrassdetails.currentvendor,
fact_highweedsandgrassdetails.currentassigneddateid,
fact_highweedsandgrassdetails.mowingduedateid,
fact_highweedsandgrassdetails.vendormoweddateid,
fact_highweedsandgrassdetails.invoiced,
fact_highweedsandgrassdetails.invoicedstatus,
fact_highweedsandgrassdetails.invoicedstatusdateid,
fact_highweedsandgrassdetails.vendorinvoicenumber,
fact_highweedsandgrassdetails.vendorcomments,
fact_casedetails.captypename,
fact_casedetails.casenumbersubgroup,
fact_casedetails.casetype,
fact_casedetails.township AS
CaseTownship,
fact_casedetails.casestatus,
fact_casedetails.caseopendateid,
fact_casedetails.referredtolegalflag AS
CaseReferredToLegalFlag,
fact_casedetails.macinitiatedflag AS
CaseMACInitiatedFlag,
fact_casedetails.conversionstatusdesc AS
CaseConversionStatusDesc,
fact_casedetails.assignedstaff AS
CaseAssignedStaff,
fact_casedetails.completedstaff AS
CaseCompletedStaff,
fact_casedetails.closedbystaff AS
CaseClosedByStaff,
fact_casedetails.initiator AS
CaseInitiator,
fact_casedetails.reasonforinvestigation,
fact_casedetails.primaryaddress,
fact_casedetails.parcelnumber,
Cast(Datediff([day],
fact_highweedsandgrassdetails.receiveddatetime,
COALESCE (fact_highweedsandgrassdetails.casecloseddate,
fact_highweedsandgrassdetails.vendormoweddate,
fact_highweedsandgrassdetails.recordimportdatetime)) AS
DECIMAL(6, 2))
AS
DaysOpen,
Cast(Datediff([day],
fact_highweedsandgrassdetails.receiveddatetime,
COALESCE
(fact_highweedsandgrassdetails.vendormoweddate,
fact_highweedsandgrassdetails.casecloseddate,
fact_highweedsandgrassdetails.recordimportdatetime)) AS
NUMERIC(9, 2))
* 24 AS
HoursOpenToMow,
Cast(Datediff([day],
fact_highweedsandgrassdetails.assignedtovendordate,
COALESCE
(fact_highweedsandgrassdetails.vendormoweddate,
fact_highweedsandgrassdetails.casecloseddate,
fact_highweedsandgrassdetails.recordimportdatetime)) AS
NUMERIC(9, 2))
* 24 AS
HoursAssignedToMow,
CASE
WHEN mowingstatus = 'Mowed'
OR mowingstatus = 'Closed' THEN 1
ELSE 0
END AS
NumberComplete,
fact_highweedsandgrassdetails.recordimportdatetime,
fact_casedetails.macsiebelnumber,
fact_highweedsandgrassdetails.mowingduedate,
fact_highweedsandgrassdetails.vendormoweddate,
fact_highweedsandgrassdetails.lastfeeinvoicedate,
fact_highweedsandgrassdetails.investigationopendatetime,
fact_highweedsandgrassdetails.investigationopendate,
fact_highweedsandgrassdetails.investigationopendateid,
Cast(Datediff([day],
fact_highweedsandgrassdetails.investigationopendatetime,
CASE
WHEN
( vendormoweddatetime IS NOT NULL
AND vendormoweddatetime <=
fact_highweedsandgrassdetails.casecloseddate ) THEN
fact_highweedsandgrassdetails.vendormoweddatetime
ELSE
CASE
WHEN (
fact_highweedsandgrassdetails.casecloseddate IS
NOT NULL
AND fact_highweedsandgrassdetails.casecloseddate
<=
fact_highweedsandgrassdetails.recordimportdatetime )
THEN
fact_highweedsandgrassdetails.casecloseddate
ELSE fact_highweedsandgrassdetails.recordimportdatetime
END
END) AS NUMERIC(9, 2)) * 24 AS
AbatementDurationHoursOLD,
Cast(Datediff([day],
fact_highweedsandgrassdetails.investigationopendatetime,
CASE
WHEN
COALESCE (vendormoweddatetime,
fact_highweedsandgrassdetails.casecloseddate) IS
NOT NULL THEN COALESCE (vendormoweddatetime,
fact_highweedsandgrassdetails.casecloseddate)
ELSE
CASE
WHEN ( fact_highweedsandgrassdetails.casecloseddate IS NOT NULL
AND fact_highweedsandgrassdetails.casecloseddate <=
fact_highweedsandgrassdetails.recordimportdatetime ) THEN
fact_highweedsandgrassdetails.casecloseddate
ELSE fact_highweedsandgrassdetails.recordimportdatetime
END
END) AS NUMERIC(9, 2)) * 24 AS
AbatementDurationHours,
fact_casedetails.assigneddepartment,
COALESCE (fact_casedetails.assignedstaff, '[null]')
+ '/'
+ COALESCE (fact_casedetails.assigneddepartment, '[null]') AS
Assigned_Department_Staff,
fact_highweedsandgrassdetails.casecloseddate,
fact_highweedsandgrassdetails.receiveddatetime,
fact_highweedsandgrassdetails.assignedtovendordate,
fact_highweedsandgrassdetails.vendorinvoiceamount,
fact_highweedsandgrassdetails.invoicedstatusdate,
fact_highweedsandgrassdetails.complaint_source,
fact_highweedsandgrassdetails.inspection_result,
fact_highweedsandgrassdetails.reason_for_complaint,
fact_highweedsandgrassdetails.contractcompliancevendor,
fact_highweedsandgrassdetails.vendor_action,
fact_highweedsandgrassdetails.date_of_complaint_id,
fact_highweedsandgrassdetails.date_of_inspection_id,
CONVERT(INT, Replace(Replace(fact_highweedsandgrassdetails.casenumber,
'HWG', 0)
, '-', 0)) AS compliancejoin,
fact_highweedsandgrassdetails.maccomments AS Expr1,
dbo.dim_highweedscensustracts.b1_census_tract
FROM dbo.fact_highweedsandgrassdetails
INNER JOIN dbo.fact_casedetails
ON fact_highweedsandgrassdetails.casenumber =
fact_casedetails.casenumber
INNER JOIN dbo.dim_highweedscensustracts
ON fact_highweedsandgrassdetails.casenumber =
dbo.dim_highweedscensustracts.casenumber
GROUP BY fact_highweedsandgrassdetails.casenumber,
fact_highweedsandgrassdetails.row_index,
fact_highweedsandgrassdetails.mowingsector,
fact_highweedsandgrassdetails.caseclosedflag,
fact_highweedsandgrassdetails.casecloseddateid,
fact_highweedsandgrassdetails.maccomments,
fact_highweedsandgrassdetails.lastfeeinvoicedateid,
fact_highweedsandgrassdetails.casehasvendorinfo,
fact_highweedsandgrassdetails.mowingstatus,
fact_highweedsandgrassdetails.receiveddateid,
fact_highweedsandgrassdetails.assignedtovendordateid,
fact_highweedsandgrassdetails.assignedtovendor,
fact_highweedsandgrassdetails.reassigneddateid,
fact_highweedsandgrassdetails.reassignedtovendor,
fact_highweedsandgrassdetails.currentvendor,
fact_highweedsandgrassdetails.currentassigneddateid,
fact_highweedsandgrassdetails.mowingduedateid,
fact_highweedsandgrassdetails.vendormoweddateid,
fact_highweedsandgrassdetails.invoiced,
fact_highweedsandgrassdetails.invoicedstatus,
fact_highweedsandgrassdetails.invoicedstatusdateid,
fact_highweedsandgrassdetails.vendorinvoicenumber,
fact_highweedsandgrassdetails.vendorcomments,
fact_casedetails.captypename,
fact_casedetails.casenumbersubgroup,
fact_casedetails.casetype,
fact_casedetails.township,
fact_casedetails.casestatus,
fact_casedetails.caseopendateid,
fact_casedetails.referredtolegalflag,
fact_casedetails.macinitiatedflag,
fact_casedetails.conversionstatusdesc,
fact_casedetails.assignedstaff,
fact_casedetails.completedstaff,
fact_casedetails.closedbystaff,
fact_casedetails.initiator,
fact_casedetails.reasonforinvestigation,
fact_casedetails.primaryaddress,
fact_casedetails.parcelnumber,
fact_highweedsandgrassdetails.vendormoweddatetime,
Cast(Datediff([day],
fact_highweedsandgrassdetails.receiveddatetime,
COALESCE (
fact_highweedsandgrassdetails.casecloseddate,
fact_highweedsandgrassdetails.vendormoweddate,
fact_highweedsandgrassdetails.recordimportdatetime))
AS
NUMERIC(9, 2)),
Cast(Datediff([day],
fact_highweedsandgrassdetails.receiveddatetime,
COALESCE (
fact_highweedsandgrassdetails.vendormoweddate,
fact_highweedsandgrassdetails.casecloseddate,
fact_highweedsandgrassdetails.recordimportdatetime))
AS
NUMERIC(9, 2)),
Cast(Datediff([day],
fact_highweedsandgrassdetails.assignedtovendordate,
COALESCE (
fact_highweedsandgrassdetails.vendormoweddate,
fact_highweedsandgrassdetails.casecloseddate,
fact_highweedsandgrassdetails.recordimportdatetime))
AS
NUMERIC(9, 2)),
CASE
WHEN mowingstatus = 'Mowed'
OR mowingstatus = 'Closed' THEN 1
ELSE 0
END,
fact_highweedsandgrassdetails.recordimportdatetime,
fact_casedetails.macsiebelnumber,
fact_highweedsandgrassdetails.mowingduedate,
fact_highweedsandgrassdetails.vendormoweddate,
fact_highweedsandgrassdetails.lastfeeinvoicedate,
fact_highweedsandgrassdetails.investigationopendatetime,
fact_highweedsandgrassdetails.investigationopendate,
fact_highweedsandgrassdetails.investigationopendateid,
Cast(Datediff([day],
fact_highweedsandgrassdetails.investigationopendatetime,
CASE
WHEN
( vendormoweddatetime IS NOT NULL
AND vendormoweddatetime <=
fact_highweedsandgrassdetails.casecloseddate ) THEN
fact_highweedsandgrassdetails.vendormoweddatetime
ELSE
CASE
WHEN (
fact_highweedsandgrassdetails.casecloseddate
IS NOT NULL
AND
fact_highweedsandgrassdetails.casecloseddate <=
fact_highweedsandgrassdetails.recordimportdatetime )
THEN
fact_highweedsandgrassdetails.casecloseddate
ELSE
fact_highweedsandgrassdetails.recordimportdatetime
END
END) AS NUMERIC(9, 2)),
Cast(Datediff(ss,
fact_highweedsandgrassdetails.investigationopendatetime,
CASE
WHEN
COALESCE (vendormoweddatetime,
fact_highweedsandgrassdetails.casecloseddate) IS
NOT NULL THEN COALESCE (vendormoweddatetime,
fact_highweedsandgrassdetails.casecloseddate)
ELSE
CASE
WHEN
( fact_highweedsandgrassdetails.casecloseddate IS NOT NULL
AND fact_highweedsandgrassdetails.casecloseddate <=
fact_highweedsandgrassdetails.recordimportdatetime ) THEN
fact_highweedsandgrassdetails.casecloseddate
ELSE fact_highweedsandgrassdetails.recordimportdatetime
END
END) AS NUMERIC(18, 2)) * 60,
fact_casedetails.assigneddepartment,
COALESCE (fact_casedetails.assignedstaff, '[null]')
+ '/'
+ COALESCE (fact_casedetails.assigneddepartment, '[null]'),
fact_highweedsandgrassdetails.casecloseddate,
fact_highweedsandgrassdetails.receiveddatetime,
fact_highweedsandgrassdetails.assignedtovendordate,
fact_highweedsandgrassdetails.vendorinvoiceamount,
fact_highweedsandgrassdetails.invoicedstatusdate,
fact_highweedsandgrassdetails.complaint_source,
fact_highweedsandgrassdetails.inspection_result,
fact_highweedsandgrassdetails.reason_for_complaint,
fact_highweedsandgrassdetails.contractcompliancevendor,
fact_highweedsandgrassdetails.vendor_action,
fact_highweedsandgrassdetails.date_of_complaint_id,
fact_highweedsandgrassdetails.date_of_inspection_id,
CONVERT(INT, Replace(
Replace(fact_highweedsandgrassdetails.casenumber, 'HWG', 0)
, '-', 0)),
fact_highweedsandgrassdetails.maccomments,
dbo.dim_highweedscensustracts.b1_census_tract) AS
[High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS]
ORDER BY [High_x0020_Weeds_x0020_and_x0020_Grass_x0020_FACTS].[compliancejoin]
ASC
SVI just counted the columns from the top:
1) compliancejoin, 2) mowingsector, 3) caseclosedflag, 4) casehasvendorinfo, 5) mowingstatus, 6) assignedtovendor.
I see now that your subject line talks about column 6, but you say column 5 in body of your original post.
I don't know anything about cubes, but apparently there is some mapping problem when you run it from SSAS. (I assume it is SSAS, a part of the product I'm entirely ignorant of.) I figured that if you had got tripped by the zero-based numbering, you
might be staring on the wrong column.
Erland Sommarskog, SQL Server MVP, [email protected] -
Please confirm is the maximum Text Data Type Size within MDS 4000 characters
Hi,
Please confirm is the maximum Text Data Type Size within MDS 4000 characters?
If you could give me a link referencing my answer to the above question that would be even better.
Kind Regards,
Kieran.
Kieran Patrick Wood http://www.innovativebusinessintelligence.com http://uk.linkedin.com/in/kieranpatrickwood http://kieranwood.wordpress.com/However I am extending a system which stores dynamic SQL within an MDM column to facilitate a generic extract and load process. I am sure you are already aware in this type of scenario the business rules behind a piece of dynamic SQL defining a generic
extract process could easily exceed 4000 characters.
Kieran Patrick Wood http://www.innovativebusinessintelligence.com http://uk.linkedin.com/in/kieranpatrickwood http://kieranwood.wordpress.com/ -
Hi Guys, good product beginning however it's not as good as many of the other Adobe product's workspaces. I cannot change the size of the view during form design work, so it's a visual strain to work in Forms Central. Is there a way to modify the view (not affecting the width, size or font when presented on website or on paper)?
In Photoshop CC 2014 (Windows only) it is possible to use a setting of 200% to scale the UI. On some monitors it improves readability and on others it cuts part of the application screen. To give it a try go to:
Edit >> Preferences >> Experimental Features
Put a check-mark in the box and click OK
Then close PS and re-start for the change to take effect. -
In Bdc I have huge volume of data to upload for the given transaction
Hi gurus,
In Bdc I have huge volume of data to upload for the given transaction, here am using session method, it takes lots of exection time to complete the whole transaction, Is there any other method to process the huge volume with minimum time,
reward awaiting
with regards
ThambeSelection of BDC Method depends on the type of the requirement you have. But you can decide which one will suite requirement basing the difference between the two methods. The following are the differences between Session & Call Transaction.
Session method.
1) synchronous processing.
2) can tranfer large amount of data.
3) processing is slower.
4) error log is created
5) data is not updated until session is processed.
Call transaction.
1) asynchronous processing
2) can transfer small amount of data
3) processing is faster.
4) errors need to be handled explicitly
5) data is updated automatically
Batch Data Communication (BDC) is the oldest batch interfacing technique that SAP provided since the early versions of R/3. BDC is not a typical integration tool, in the sense that, it can be only be used for uploading data into R/3 and so it is
not bi-directional.
BDC works on the principle of simulating user input for transactional screen, via an ABAP program.
Typically the input comes in the form of a flat file. The ABAP program reads this file and formats the input data screen by screen into an internal table (BDCDATA). The transaction is then started using this internal table as the input and executed in the background.
In Call Transaction, the transactions are triggered at the time of processing itself and so the ABAP program must do the error handling. It can also be used for real-time interfaces and custom error handling & logging features. Whereas in
Batch Input Sessions, the ABAP program creates a session with all the transactional data, and this session can be viewed, scheduled and processed (using Transaction SM35) at a later time. The latter technique has a built-in error processing mechanism too.
Batch Input (BI) programs still use the classical BDC approach but doesnt require an ABAP program to be written to format the BDCDATA. The user has to format the data using predefined structures and store it in a flat file. The BI program then reads this and invokes the transaction mentioned in the header record of the file.
Direct Input (DI) programs work exactly similar to BI programs. But the only difference is, instead of processing screens they validate fields and directly load the data into tables using standard function modules. For this reason, DI programs are much faster (RMDATIND - Material Master DI program works at least 5 times faster) than the BDC counterpart and so ideally suited for loading large volume data. DI programs are not available for all application areas.
synchronous & Asynchronous updating:
http://www.icesoft.com/developer_guides/icefaces/htmlguide/devguide/keyConcepts4.html
synchronous & Asynchronous processings
Asynchronous refers to processes that do not depend on each other's outcome, and can therefore occur on different threads simultaneously. The opposite is synchronous. Synchronous processes wait for one to complete before the next begins. For those Group Policy settings for which both types of processes are available as options, you choose between the faster asynchronous or the safer, more predictable synchronous processing.
By default, the processing of Group Policy is synchronous. Computer policy is completed before the CTRLALTDEL dialog box is presented, and user policy is completed before the shell is active and available for the user to interact with it.
Note
You can change this default behavior by using a policy setting for each so that processing is asynchronous. This is not recommended unless there are compelling performance reasons. To provide the most reliable operation, leave the processing as synchronous. -
Why is the newest version of Palm's Desktop software for Windows XP & Vista have such small type size? It's at least 2 pts. smaller than my older version and very hard to read. Is there a setting somewhere that I can't find which allows users to customize the type size in the Desktop?
Post relates to: Treo 755p (Verizon)
Message Edited by tsmyth on 04-17-2008 10:18 AMUsing "regedit" I was able to change the font size larger for use with the Palm Desktop software.
Run "regedit" and export (save) a backup copy for safety
File > Export
Search for "FontSmall"
Edit > Find > Find what > FontSmall
Click on FontSizeGeneral and change the "Value data" to 16
Exit "regedit"
Run Palm Desktop software and enjoy the new legible font size!
Notes:
1) The location of the Palm Desktop software on my system using "regedit" is:
HKEY_CURRENT_USER\Software\U.S. Robotics\Pilot Desktop\Core
* Your location of the Palm Desktop software may differ.
2) I tested this on monitors using resolutions of 1280 x 1024 and 1024 x 768
The font size is noticeably readable and much, much better
3) You may also change the font family from the default (Arial) to another, such as Verdana, etc.
FontCard (Changes the font family in the side panels)
FontGeneral (Changes the font family for most of the program fonts)
4) Operating System: Windows XP Pro
Palm Desktop v4.1.4 -
MetaData For Database View Columns How ??
SELECT * FROM user_tabs_columns WHERE table_name = 'EMPLOYEES';
The above query will return column information like data_type, lenght etc for the columns in the EMPLOYEE table, how can one retrieve such information on the columns / fields in a view instead of a table. I have views built from several tables, and I use the data returned from quering the views as records displayed to the user in an AJAX application, using the data-grid widget in the said AJAX library. If the user has rights to edit the records, I need to use specific ajax widgets (like a date widget) to edit a field if the datatype information provided by the database is DATE or DATETIME, if the field is nullable, I can permit the user to enter nothing, and I can restrict input length to the lenght of the column. But since the record is spread across several tables and pulled out from a view, I therfore need a way to get the column information on the said view.
How can this be achieved.
Thanks.
Charles Odili.You should still be able to use the USER_TAB_COLUMNS view to obtain this information. I did a quick test below:
SQL> create view test as select * from all_objects;
View created.
SQL> select table_name,column_name from user_tab_columns where table_name='TEST';
TABLE_NAME COLUMN_NAME
TEST OWNER
TEST OBJECT_NAME
TEST SUBOBJECT_NAME
TEST OBJECT_ID
TEST DATA_OBJECT_ID
TEST OBJECT_TYPE
TEST CREATED
TEST LAST_DDL_TIME
TEST TIMESTAMP
TEST STATUS
TEST TEMPORARY
TEST GENERATED
TEST SECONDARY
13 rows selected.
SQL> spool off; -
Revision: 3672
Author: [email protected]
Date: 2008-10-15 16:54:51 -0700 (Wed, 15 Oct 2008)
Log Message:
Removing the commonly used getUnqualifiedClassName out of the less commonly used utility class to reduce SWF size for the general case.
Reviewer: Gordon
QE: No
Modified Paths:
flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/TextGraphicEleme nt.as
flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as
flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as
flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as
flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectInstance.as
flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as
flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/NameUtil.as
flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectUtil.as
flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/OrderedObject.asIn general theory, one now has the Edit button for their posts, until someone/anyone Replies to it. I've had Edit available for weeks, as opposed to the old forum's ~ 30 mins.
That, however, is in theory. I've posted, and immediately seen something that needed editing, only to find NO Replies, yet the Edit button is no longer available, only seconds later. Still, in that same thread, I'd have the Edit button from older posts, to which there had also been no Replies even after several days/weeks. Found one that had to be over a month old, and Edit was still there.
Do not know the why/how of this behavior. At first, I thought that maybe there WAS a Reply, that "ate" my Edit button, but had not Refreshed on my screen. Refresh still showed no Replies, just no Edit either. In those cases, I just Reply and mention the [Edit].
Also, it seems that the buttons get very scrambled at times, and Refresh does not always clear that up. I end up clicking where I "think" the right button should be and hope for the best. Seems that when the buttons do bunch up they can appear at random around the page, often three atop one another, and maybe one way the heck out in left-field.
While I'm on a role, it would be nice to be able to switch between Flattened and Threaded Views on the fly. Each has a use, and having to go to Options and then come back down to the thread is a very slow process. Jive is probably incapable of this, but I can dream.
Hunt -
Issue with xsd Data type mapping for collection of user defined data type
Hi,
I am facing a issue with wsdl for xsd mapping for collection of user defined data type.
Here is the code snippet.
sample.java
@WebMethod
public QueryPageOutput AccountQue(QueryPageInput qpInput)
public class QueryPageInput implements Serializable, Cloneable
protected Account_IO fMessage = null;
public class QueryPageOutput implements Serializable, Cloneable
protected Account_IO fMessage = null;
public class Account_IO implements Serializable, Cloneable {
protected ArrayList <AccountIC> fintObjInst = null;
public ArrayList<AccountIC>getfintObjInst()
return (ArrayList<AccountIC>)fintObjInst.clone();
public void setfintObjInst(AccountIC val)
fintObjInst = new ArrayList<AccountIC>();
fintObjInst.add(val);
Public class AccountIC
protected String Name;
protected String Desc;
public String getName()
return Name;
public void setName(String name)
Name = name;
For the sample.java code, the wsdl generated is as below:
<?xml version="1.0" encoding="UTF-8" ?>
<wsdl:definitions
name="SimpleService"
targetNamespace="http://example.org"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://example.org"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
>
<wsdl:types>
<xs:schema version="1.0" targetNamespace="http://examples.org" xmlns:ns1="http://example.org/types"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="http://example.org/types"/>
<xs:element name="AccountWSService" type="ns1:accountEMRIO"/>
</xs:schema>
<xs:schema version="1.0" targetNamespace="http://example.org/types" xmlns:ns1="http://examples.org"
xmlns:tns="http://example.org/types" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="http://examples.org"/>
<xs:complexType name="queryPageOutput">
<xs:sequence>
<xs:element name="fSiebelMessage" type="tns:accountEMRIO" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="accountEMRIO">
<xs:sequence>
<xs:element name="fIntObjectFormat" type="xs:string" minOccurs="0"/>
<xs:element name="fMessageType" type="xs:string" minOccurs="0"/>
<xs:element name="fMessageId" type="xs:string" minOccurs="0"/>
<xs:element name="fIntObjectName" type="xs:string" minOccurs="0"/>
<xs:element name="fOutputIntObjectName" type="xs:string" minOccurs="0"/>
<xs:element name="fintObjInst" type="xs:anyType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="queryPageInput">
<xs:sequence>
<xs:element name="fPageSize" type="xs:string" minOccurs="0"/>
<xs:element name="fSiebelMessage" type="tns:accountEMRIO" minOccurs="0"/>
<xs:element name="fStartRowNum" type="xs:string" minOccurs="0"/>
<xs:element name="fViewMode" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.org"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://example.org" xmlns:ns1="http://example.org/types">
<import namespace="http://example.org/types"/>
<xsd:complexType name="AccountQue">
<xsd:sequence>
<xsd:element name="arg0" type="ns1:queryPageInput"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="AccountQue" type="tns:AccountQue"/>
<xsd:complexType name="AccountQueResponse">
<xsd:sequence>
<xsd:element name="return" type="ns1:queryPageOutput"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="AccountQueResponse" type="tns:AccountQueResponse"/>
</schema>
</wsdl:types>
<wsdl:message name="AccountQueInput">
<wsdl:part name="parameters" element="tns:AccountQue"/>
</wsdl:message>
<wsdl:message name="AccountQueOutput">
<wsdl:part name="parameters" element="tns:AccountQueResponse"/>
</wsdl:message>
<wsdl:portType name="SimpleService">
<wsdl:operation name="AccountQue">
<wsdl:input message="tns:AccountQueInput" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"
ns1:Action=""/>
<wsdl:output message="tns:AccountQueOutput" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"
ns1:Action=""/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="SimpleServiceSoapHttp" type="tns:SimpleService">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="AccountQue">
<soap:operation soapAction=""/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="SimpleService">
<wsdl:port name="SimpleServicePort" binding="tns:SimpleServiceSoapHttp">
<soap:address location="http://localhost:7101/WS-Project1-context-root/SimpleServicePort"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
In the above wsdl the collection of fintObjInst if of type xs:anytype. From the wsdl, I do not see the xsd mapping for AccountIC which includes Name and Desc. Due to which, when invoking the web service from a different client like c#(by creating proxy business service), I am unable to set the parameters for AccountIC. I am using JAX-WS stack and WLS 10.3. I have already looked at blog http://weblogs.java.net/blog/kohlert/archive/2006/10/jaxws_and_type.html but unable to solve this issue. However, at run time using a tool like SoapUI, when this wsdl is imported, I am able to see all the params related to AccountIC class.
Can some one help me with this.
Thanks,
Sudha.Did you try adding the the XmlSeeAlso annotation to the webservice
@XmlSeeAlso({<package.name>.AccountIC.class})
This will add the schema for the data type (AccountIC) to the WSDL.
Hope this helps.
-Ajay -
Please Help!!!
How to write a case statement for the totals column of two different years (2013 and 2014) of the same month so that I can get a +/- column.
January 2014 January
2013 +/-
Region Entry Exit Total Entry Exit Total (Total of Jan2014-Total of Jan2013)
A 2 3
40 5 7 30 40-30= 10What is a table structure? Sorry cannot test it right now..
SELECT <columns>,(SELECT Total FROM tbl WHERE Y=2014)-(SELECT Total FROM tbl WHERE Y=2013)
FROM tbl
Best Regards,Uri Dimant SQL Server MVP,
http://sqlblog.com/blogs/uri_dimant/
MS SQL optimization: MS SQL Development and Optimization
MS SQL Consulting:
Large scale of database and data cleansing
Remote DBA Services:
Improves MS SQL Database Performance
SQL Server Integration Services:
Business Intelligence -
How to implement tooltip for the list items for the particular column in sharepoint 2013
Hi,
I had created a list, How to implement tooltip for the list items for the particular column in SharePoint 2013.
Any help will be appreciatedWe can use JavaScript or JQuery to show the tooltips. Refer to the following similar thread.
http://social.technet.microsoft.com/forums/en/sharepointdevelopmentprevious/thread/1dac3ae0-c9ce-419d-b6dd-08dd48284324
http://stackoverflow.com/questions/3366515/small-description-window-on-mouse-hover-on-hyperlink
http://spjsblog.com/2012/02/12/list-view-preview-item-on-hover-sharepoint-2010/ -
S/A bridge problem: No object type found for the message
Hi all,
I've been spending days looking into the following problem. I have a RFCXIFile scenario. The R3 system sends data via an RFC to XI and XI post the data as a flat file on a certain server using FTP.
This scenario worked just fine for 1 exception. I could only run this scenario once. The second time I got timeouts when checking the data sent to my RFC destination using SM58. When I reactivated my RFC communcation channel I could again send 1 RFC to the system. All subsequent tries would fail.
I guess this is due to the fact that I use a synchonous call (RFC) to an asynchronous one. Thus the adapter is still waiting for the response from the XI system and will not accept any further new calls from R3.
So I figure let's use this pattern called the S/A bridge. So I designed everything according to guides and examples and I'm quite certain everything is configured right but when I run the scenario I get the following message:
<i> <!-- Call Adapter
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
<SAP:Category>XIAdapter</SAP:Category>
<SAP:Code area="BPE_ADAPTER">UNKNOWN_MESSAGE</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>No object type found for the message. Check that the corresponding process is activated</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error></i>
It seems that the adapter cannot find any integration process to send the message into!?
I've looked at numerous threads on sdn and tried all kinds of stuff (looked at the cache==> code 0 = OK , tried to reactivate my integration process, checked the interface determination,...), but to no avail. Does anybody has an idea what could be wrong ?
Any help would be greatly appreciated for I'm all out of clues....
BobFirst of all, Thank you for trying to help me out here.
Some answer to your suggestions/questions:
The IP has return code 0 in SXI_CACHE. so that doesn't seem to be the problem.
I've checked the BPM for syntax errors. I doesn't have any.
I've reimported the BPM into the integration directory.
And did a full cache refresh in SXI_CACHE. Return code is (stays) zero, so that's OK.
I've already included the error message from SXI_MONI. It is in the last step ("Call Adater") that the error occurs.
The other steps execute just fine...
The RFC communcation channel accepts the incoming RFC call and puts into the pipeline, so no problems with the communication channel either. the problem is actually when the pipeline is trying to forward the message into an IP trhough the BPE_ADAPTER (according to SXMB_MONI).
Therefore I'm not able to go to into PE, because the workflow is never started. the BPE_ADAPTER does not find any active process for the interface determination i've entered.
So i can not debug the IP in the PE and check container variables, like some of you mentioned.
Maybe some more information about the scenario:
The RFC is called from an R3 system to XI over the interface "CONTROL_RECIPE_DOWNLOAD", which is an imported RFC, with a request and response message type.
Then I got a receiver and interface determination with lead the incoming RFC message to the IP, into interface "XI_ERP_MF_MD_CONTROL_RECIPE_REQ_AI_MI".
This is an abstract synchronous interface based on the request and response types of the "CONTROL_RECIPE_DOWNLOAD" imported RFC.
This interface is used the first step (receive) of my BPM as the synchronous interface to open the S/A bridge.
The message (container var) used in this step is
name: CORREQ
Category: Abstract interface
type: "XI_ERP_MF_MD_CONTROL_RECIPE_REQ_AI_MI"
The interface "XI_ERP_MF_MD_CONTROL_RECIPE_REQ_AI_MI" is an abstract, asynchronous interface based on the request type of the "CONTROL_RECIPE_DOWNLOAD".
Then there are 2 send steps for putting the flat files into place and finally i close the the S/A bridge using message:
name: CORRES
Category: Abstract interface
type: "XI_ERP_MF_MD_CONTROL_RECIPE_RES_AI_MI"
The interface "XI_ERP_MF_MD_CONTROL_RECIPE_RES_AI_MI" is an abstract, asynchronous interface based on the response type of the "CONTROL_RECIPE_DOWNLOAD".
I hope this information gives you guys a better understanding of hte problem.
Really looking forward to see more suggestions and to solve this nasty problem ...
Regards,
Bob -
To find the date type fields in the row and validate those date fields
TYPES : BEGIN OF TY_MARA,
MATNR TYPE MARA-MATNR,
ERSDA TYPE MARA-ERSDA,
ERNAM TYPE MARA-ERNAM,
LAEDA TYPE MARA-LAEDA,
MTART TYPE MARA-MTART,
END OF TY_MARA.
DATA : it_mara TYPE STANDARD TABLE OF ty_mara,
it_mara1 TYPE STANDARD TABLE OF ty_mara,
wa_mara TYPE ty_mara.
loop at it_mara into wa_mara.
describe field wa_mara-ersda type c_data.
if c_data eq 'D'.
CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'
EXPORTING
date = wa_mara-ersda
EXCEPTIONS
PLAUSIBILITY_CHECK_FAILED = 1
OTHERS = 2
IF sy-subrc eq 0.
wa_mara-ersda = '00000000'.
append wa_mara to it_mara1.
write :wa_mara-matnr,wa_mara-ersda.
else.
wa_mara-ersda = '00000000'.
append wa_mara to it_mara1.
write :wa_mara-matnr,wa_mara-ersda.
ENDIF.
endif.
endloop.
This issue regarding how to find the date type fields in the row and validate those date fields.If its not a valid date ,i have to assign initial value to that.
I've tried that for single field using describe field.Please help me do that for all fields.Hi Sam,
I believe we had discussed the same issue in the below thread. Can you please refer the below one?
http://social.msdn.microsoft.com/Forums/sharepoint/en-US/d93e16ff-c123-4b36-b60b-60ccd34f6ca7/calculate-time-differences-in-infopath?forum=sharepointcustomizationprevious
If it's not helping you please let us know
Sekar - Our life is short, so help others to grow
Whenever you see a reply and if you think is helpful, click "Vote As Helpful"! And whenever
you see a reply being an answer to the question of the thread, click "Mark As Answer -
Using photoshop elements 13 for creating a brochure -drew the rectanle shape for the first column but when i go to the move tool it doesnt allow me to highlite this shape why?
The faulting module is photoshop. Report below.
Source
Adobe Photoshop CC 2014
Summary
Stopped working
Date
2/2/2015 4:54 PM
Status
Report sent
Description
Faulting Application Path: C:\Program Files\Adobe\Adobe Photoshop CC 2014\Photoshop.exe
Problem signature
Problem Event Name: APPCRASH
Application Name: Photoshop.exe
Application Version: 15.2.2.310
Application Timestamp: 5480338c
Fault Module Name: Photoshop.exe
Fault Module Version: 15.2.2.310
Fault Module Timestamp: 5480338c
Exception Code: c000001d
Exception Offset: 00000000049de322
OS Version: 6.3.9600.2.0.0.768.101
Locale ID: 1033
Additional Information 1: 8db4
Additional Information 2: 8db473619c10c0c8b85ce99afe676ed8
Additional Information 3: f06d
Additional Information 4: f06da704bdd5338df2a8d09bde2244bb
Extra information about the problem
Bucket ID: 1fe6d1d4e5765bd348843b981b8ec4d2 (85990875000)
Maybe you are looking for
-
How do I select/change the status of my post/reply?
Hello, I'm fairly new to the forum and I'm finding it challenging to figure out how to use all the features in a straight forward manner. For instance, I've noticed on my recent reply to one of my post questions that the status automatically showed
-
hello guys my i phone touch is not working on edges and some touch problem and it is not taking too much time too respond it is purshecd in kuwait can i get replace in india it is i phone 4s
-
I have 980 pictures to order thru Iphoto, want to order one each of all in size 4x6, do I have to put quantity of one by each picture or how do I tell it to order one of each so I don't have to individually mark each one
-
Can I use a standard Portal page as Single Sign-On page?
Hi all IHAC that would like to be able to maintain the login page. I have told them that it might be difficult as the login page is a jsp file and not a standard portal page. So now I'm wondering if it would be possible to create a standard portal pa
-
Bluetooth mouse, keyboard, cinema display + Powerbook?
I'm posting this here because it incorporates displays and peripherals as well as the behavior of the PB when all are plugged in... I have an ADC 23" cinema display that doesn't get used anywhere near enough. I got a 17" Powerbook about a year ago an