Query cfl problem in matrix
hi all good morning.... i have one problem i assigned query cfl for matrix field. the value fetch based on header level.... the query fetch the data but its not show the CFL window..here i pasted my code
Case "matvariant"
Select Case pVal.ColUID
Case "Col_Colour"
Select Case pVal.EventType
Case SAPbouiCOM.BoEventTypes.et_GOT_FOCUS
Dim oForm As SAPbouiCOM.Form = gonAppApplication.Forms.Item("VARAINT")
Dim sQuery As String = "SELECT T1.[U_U_COLOR] FROM [dbo].[@ITEMCOLOR_DETAIL] T0 inner join [dbo].[@ITEMCOLOR_HEADER] T1 on t0.docentry=t1.docentry WHERE T0.[U_Itmcode] !='' and T0.[U_Avail] ='y' and T0.[U_Itmcode] = '" & oForm.Items.Item("txticode").Specific.Value & "'"
oGeneral.SetConditionToCFL1(oForm, "COLITEMCFL1", "U_ID", sQuery)
Case SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST
Dim bonCflEvents As SAPbouiCOM.ChooseFromListEvent
Dim bonDTTable As SAPbouiCOM.DataTable
Dim bonCflList As SAPbouiCOM.ChooseFromList
Dim bnnstrUID As String
bonCflEvents = pVal
bnnstrUID = bonCflEvents.ChooseFromListUID
bonDTTable = bonCflEvents.SelectedObjects
bonCflList = lonConvForm.ChooseFromLists.Item(bnnstrUID)
If Not (bonDTTable Is Nothing) Then
If bonCflList.UniqueID = "COLITEMCFL1" Then
gonMatConvMatrix.GetLineData(pVal.Row)
gonMatConvMatrix.GetLineData(pVal.Row)
lonDetailDatasource.SetValue("U_Col_COLOR", lonDetailDatasource.Offset, bonDTTable.GetValue("U_COLOR_NAME", 0))
gonMatConvMatrix.SetLineData(pVal.Row)
If pVal.Row = gonMatConvMatrix.VisualRowCount Then
lonDetailDatasource.SetValue("U_Col_COLOR", lonDetailDatasource.Offset, "")
lonDetailDatasource.SetValue("U_Col_LENGTH", lonDetailDatasource.Offset, "")
lonDetailDatasource.SetValue("U_Col_WIDTH", lonDetailDatasource.Offset, "")
lonDetailDatasource.SetValue("U_Col_THICK", lonDetailDatasource.Offset, "")
lonDetailDatasource.SetValue("U_Col_SIZE", lonDetailDatasource.Offset, "")
lonDetailDatasource.SetValue("U_Col_Desc", lonDetailDatasource.Offset, "")
lonDetailDatasource.SetValue("U_Col_Price", lonDetailDatasource.Offset, "")
lonDetailDatasource.SetValue("LineId", lonDetailDatasource.Offset, pVal.Row + 1)
gonMatConvMatrix.AddRow()
gonMatConvMatrix.SetLineData(pVal.Row + 1)
gonMatConvMatrix.FlushToDataSource()
End If
Else
End If
End If
End Select
End Select
Edited by: narain.balan on Oct 26, 2010 7:02 AM
Hi
Please post the function code oGeneral.SetConditionToCFL1(oForm, "COLITEMCFL1", "U_ID", sQuery)
I think the problem is with choose from list condition.
Regards
Arun
Similar Messages
-
Hi expert , cfl problem in matrix
Hi friend,
i am added two cfl in user form but first cfl working fine but when i using second cfl it bind same value in the seconf row also.
Regards
Rajkumar Guptathanks for reply
ElseIf (pVal.ItemUID = "38") And (pVal.ColUID = "ItemCode") And pVal.EventType = SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST Then
Dim oCFLEvento As SAPbouiCOM.IChooseFromListEvent
oCFLEvento = pVal
Dim sCFL_ID As String
sCFL_ID = oCFLEvento.ChooseFromListUID
Dim oForm As SAPbouiCOM.Form
oForm = SBO_Application.Forms.Item(FormUID)
Dim oCFL As SAPbouiCOM.ChooseFromList
oCFL = oForm.ChooseFromLists.Item(sCFL_ID)
If oCFLEvento.BeforeAction = False Then
Dim oDataTable As SAPbouiCOM.DataTable
oDataTable = oCFLEvento.SelectedObjects
If oDataTable Is Nothing Then
Exit Sub
End If
Dim Code As String = ""
Dim Name As String = ""
Dim cflValBefore As String = ""
Dim i As Integer = 0
Code = oDataTable.GetValue(0, 0)
Name = oDataTable.GetValue(1, 0)
Try
' If (pVal.ItemUID = "38") And (pVal.ColUID = "ItemCode") Then
oMatrix = oForm.Items.Item("38").Specific
For i = 0 To oDataTable.Rows.Count - 1
'cflValBefore = oForm.DataSources.DBDataSources.Item(0).GetValue("U_itemCode", oForm.DataSources.DBDataSources.Item(1).Offset)
oForm.DataSources.DBDataSources.Item(1).SetValue("U_itemCode", oForm.DataSources.DBDataSources.Item(1).Offset, oDataTable.GetValue("ItemCode", 0))
oForm.DataSources.DBDataSources.Item(1).SetValue("U_ItemDec", oForm.DataSources.DBDataSources.Item(1).Offset, oDataTable.GetValue(1, 0))
'oForm.DataSources.DBDataSources.Item(1).SetValue("U_BOM", oForm.DataSources.DBDataSources.Item(1).Offset, oDataTable.GetValue("ItemCode", 0))
'oForm.DataSources.DBDataSources.Item(1).SetValue("U_ProdO", oForm.DataSources.DBDataSources.Item(1).Offset, oDataTable.GetValue("ItemCode", 0))
cflValBefore = oForm.DataSources.DBDataSources.Item(1).GetValue("U_itemCode", oForm.DataSources.DBDataSources.Item(1).Offset)
If oForm.Mode <> SAPbouiCOM.BoFormMode.fm_ADD_MODE Then
If cflValBefore <> oForm.DataSources.DBDataSources.Item(1).GetValue("U_itemCode", oForm.DataSources.DBDataSources.Item(1).Offset) Then oForm.Mode = SAPbouiCOM.BoFormMode.fm_UPDATE_MODE
If cflValBefore <> oForm.DataSources.DBDataSources.Item(1).GetValue("U_ItemDec", oForm.DataSources.DBDataSources.Item(1).Offset) Then oForm.Mode = SAPbouiCOM.BoFormMode.fm_UPDATE_MODE
End If
''For Bom
If Trim(cflValBefore) <> "" Then
If CheckBOM(Trim(cflValBefore)) = True Then
oForm.DataSources.DBDataSources.Item(1).SetValue("U_BOM", oForm.DataSources.DBDataSources.Item(1).Offset, CStr(oDataTable.GetValue("ItemCode", 0)))
Else
oForm.DataSources.DBDataSources.Item(1).SetValue("U_BOM", oForm.DataSources.DBDataSources.Item(1).Offset, "")
ItemcodeProduction = cflValBefore
End If
End If
''For Production Order
If Trim(cflValBefore) <> "" And Docnum <> "" Then
Dim check As String = CheckPO(Trim(cflValBefore), Docnum)
If check <> "" Then
oForm.DataSources.DBDataSources.Item(1).SetValue("U_ProdO", oForm.DataSources.DBDataSources.Item(1).Offset, CStr(check))
Else
oForm.DataSources.DBDataSources.Item(1).SetValue("U_ProdO", oForm.DataSources.DBDataSources.Item(1).Offset, "")
ItemcodeProduction = cflValBefore
End If
End If
oMatrix.SetLineData(pVal.Row)
Next
' End If
' SetInitialDataWorkOrder()
Catch ex As Exception
'MsgBox(ex.Message)
ShowErrMsg(" Event Error et_CHOOSE_FROM_LIST: 38 matrix " & ex.Message)
End Try
End If ' BeforeAction
ElseIf (pVal.ItemUID = "38") And (pVal.ColUID = "LPO") And pVal.EventType = SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST Then
Dim oCFLEvento As SAPbouiCOM.IChooseFromListEvent
oCFLEvento = pVal
Dim sCFL_ID As String
sCFL_ID = oCFLEvento.ChooseFromListUID
Dim oForm As SAPbouiCOM.Form
oForm = SBO_Application.Forms.Item(FormUID)
Dim oCFL As SAPbouiCOM.ChooseFromList
oCFL = oForm.ChooseFromLists.Item(sCFL_ID)
If oCFLEvento.BeforeAction = False Then
Dim oDataTable As SAPbouiCOM.DataTable
oDataTable = oCFLEvento.SelectedObjects
If oDataTable Is Nothing Then
Exit Sub
End If
Dim Code As String = ""
Dim Name As String = ""
Dim cflValBefore As String = ""
Dim i As Integer = 0
Code = oDataTable.GetValue(0, 0)
' Name = oDataTable.GetValue(1, 0)
Try
' If (pVal.ItemUID = "38") And (pVal.ColUID = "ItemCode") Then
oMatrix = oForm.Items.Item("38").Specific
For i = 0 To oDataTable.Rows.Count - 1
cflValBefore = oForm.DataSources.DBDataSources.Item(1).GetValue("U_ProdO", oForm.DataSources.DBDataSources.Item(1).Offset)
oForm.DataSources.DBDataSources.Item(1).SetValue("U_ProdO", oForm.DataSources.DBDataSources.Item(1).Offset, oDataTable.GetValue("DocNum", 0))
oForm.DataSources.DBDataSources.Item(1).SetValue("U_OrderD", oForm.DataSources.DBDataSources.Item(1).Offset, oDataTable.GetValue("PostDate", 0))
'oForm.DataSources.DBDataSources.Item(1).SetValue("U_DueDate", oForm.DataSources.DBDataSources.Item(1).Offset, oDataTable.GetValue("DueDate", 0))
oForm.DataSources.DBDataSources.Item(1).SetValue("U_Status", oForm.DataSources.DBDataSources.Item(1).Offset, oDataTable.GetValue("Status", 0))
If oForm.Mode <> SAPbouiCOM.BoFormMode.fm_ADD_MODE Then
If cflValBefore <> oForm.DataSources.DBDataSources.Item(1).GetValue("U_ProdO", oForm.DataSources.DBDataSources.Item(1).Offset) Then oForm.Mode = SAPbouiCOM.BoFormMode.fm_UPDATE_MODE
If cflValBefore <> oForm.DataSources.DBDataSources.Item(1).GetValue("U_OrderD", oForm.DataSources.DBDataSources.Item(1).Offset) Then oForm.Mode = SAPbouiCOM.BoFormMode.fm_UPDATE_MODE
' If cflValBefore <> oForm.DataSources.DBDataSources.Item(1).GetValue("U_DueDate", oForm.DataSources.DBDataSources.Item(1).Offset) Then oForm.Mode = SAPbouiCOM.BoFormMode.fm_UPDATE_MODE
If cflValBefore <> oForm.DataSources.DBDataSources.Item(1).GetValue("U_Status", oForm.DataSources.DBDataSources.Item(1).Offset) Then oForm.Mode = SAPbouiCOM.BoFormMode.fm_UPDATE_MODE
End If
oMatrix.SetLineData(pVal.Row)
Next
' End If
'SetInitialDataWorkOrder()
Catch ex As Exception
'MsgBox(ex.Message)
ShowErrMsg(" Event Error et_CHOOSE_FROM_LIST: 38 matrix LPO " & ex.Message)
End Try
End If ' BeforeAction
ElseIf pVal.ItemUID = "1" And pVal.EventType = SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED And pVal.BeforeAction = True Then 'And pVal.BeforeAction = False Then
Dim oQty As SAPbouiCOM.EditText
Dim oBOM As SAPbouiCOM.EditText
Dim oDueDate As SAPbouiCOM.EditText
Dim oLPO As SAPbouiCOM.EditText
Dim oForm As SAPbouiCOM.Form
oForm = SBO_Application.Forms.Item(FormUID)
oMatrix = oForm.Items.Item("38").Specific
If oForm.Mode = SAPbouiCOM.BoFormMode.fm_ADD_MODE Or oForm.Mode = SAPbouiCOM.BoFormMode.fm_UPDATE_MODE Or oForm.Mode = SAPbouiCOM.BoFormMode.fm_OK_MODE Then
' If pVal.ActionSuccess = True Then
Dim ctr As Integer = 1
If oMatrix.VisualRowCount >= 1 Then
For ctr = 1 To oMatrix.VisualRowCount
oQty = colQtyWO.Cells.Item(ctr).Specific
oBOM = colLBOM.Cells.Item(ctr).Specific
oDueDate = colDueDate.Cells.Item(ctr).Specific
'Dim wo As SAPbouiCOM.EditText
'wo = oMatrix.Columns.Item("LPO").Cells.Item(ctr).Specific
'code for update the table uin number
oLPO = oMatrix.Columns.Item("LPO").Cells.Item(ctr).Specific
Dim proorder As String = ProductionOrder(oQty.Value, oBOM.Value, CDate(oDueDate.Value))
'oLPO.Value = ProductionOrder(oQty.Value, oBOM.Value, CDate(oDueDate.Value))
If proorder <> "" Then
'oLPO = oMatrix.Columns.Item("LPO").Cells.Item(pVal.Row).Specific
'oLPO.Value = ProductionOrder(oQty.Value, oBOM.Value, CDate(oDueDate.Value))
UpdateForm(proorder, Docnum)
ItemcodeProduction = ""
QtyProduction = ""
End If
Next
End If
'End If ' action close
End If 'mode close
'ProductionOrder(10, "A00001") -
hi ,
we are generate query in 2005b,and procced for execuite query.following problem occure'<b>odbc sql server driver'[sql server] syntax error the converting the nvarchar value' 70302/20307' to column of data type int received alert OAIB</b>
QUERY SHOWN BE AS FOLLOW.
SELECT T5.DocNum as'Po. No. ', T5.DocDate as 'Po Date',T0.CreateDate,T5.NumAtCard as 'Man.PO. No/ Dt.', T0.DocNum as'AP No. ', T0.DocDate as 'AP Date',T0.NumAtCard as 'Vendor Ref. No.', T0.U_vbdt as 'Vendor Ref. Date', T0.CardName as 'Vendor', T1.Dscription as 'Item', T1.Quantity AS 'QTY' , T1.Price as 'Basic Rate', (T1.Price *T1.Quantity) as 'Value',T0.Comments as 'Po No. & Po.Dt.' FROM OPCH T0 INNER JOIN PCH1 T1 ON T0.DocEntry = T1.DocEntry INNER JOIN OCRD T2 ON T0.CardCode = T2.CardCode INNER JOIN OPDN T3 ON T2.CardCode = T3.CardCode INNER JOIN PDN1 T4 ON T3.DocEntry = T4.DocEntry INNER JOIN OPOR T5 ON T2.CardCode = T5.CardCode INNER JOIN POR1 T6 ON T5.DocEntry = T6.DocEntry INNER JOIN OITM T7 ON T1.ItemCode = T7.ItemCode INNER JOIN OITB T8 ON T7.ItmsGrpCod = T8.ItmsGrpCod WHERE ( T1.BaseRef = T3.DocNum ) AND ( T4.BaseRef = T5.DocNum ) AND ( T0.U_vbdt >=[%25]AND T0.U_vbdt <=[%26]) AND ( T4.Dscription =T1.Dscription ) AND ( T4.Dscription = T6.Dscription ) AND (( T1.Dscription=[%0] OR T1.Dscription=[%1] OR T1.Dscription=[%2] OR T1.Dscription=[%3] OR T1.Dscription=[%4] OR T1.Dscription=[%5] OR T1.Dscription=[%6] OR T1.Dscription=[%7] OR T1.Dscription=[%8] ) OR ( T0.CardName=[%10] OR T0.CardName=[%09] OR T0.CardName=[%27] OR T0.CardName=[%28] ) OR (( T8.ItmsGrpNam =[%11] oR T8.ItmsGrpNam =[%12] OR T8.ItmsGrpNam =[%13] OR T8.ItmsGrpNam =[%14] OR T8.ItmsGrpNam =[%15] OR T8.ItmsGrpNam =[%16] OR T8.ItmsGrpNam =[%17] OR T8.ItmsGrpNam =[%18] OR T8.ItmsGrpNam =[%19] ) and ( T7.U_FirmName =[%20] OR T7.U_FirmName =[%21] OR T7.U_FirmName =[%22]
oR T7.U_FirmName =[%23] OR T7.U_FirmName =[%24] )) )Hi Vishal,
the value '70302/20307' is not an whole number so converting it to an int is not possible.
You should check your data for this value an change your query or data.
Regards
Ad -
Query designing problem while applying cell properties
Hello Experts,
I have a problem while designing query. Problem is as follow:
I have a calculated field on key figure column. This key figure calculates variance between 2 columns.
for E.g I have 2 columns Budget and Actual and third column is %Variance which should be
1. ((Actual - Budget)/Budget) *100 or
2. ((Budget -Actual)/Budget)*100, depening on some values on the row i should use any of these 2 formulas but the result should be dispalyed in single column % Variance.
how can i change the formula in key figures depending on these conditions. I can achieve this by applying cells but i dont want to do so as it is very complex way to desing these queries.
also let me know applying cells on query affects its performance or not?
Regards,
NiravHi Nitin,
Your reply may help me.
But my exact requirement is not that. Requirement is as follow:
I have created Char. Structure in row which contains few rows as revenue and few rows as expense.
I created them by creating selections. Now in case of expense the variance should be (Budget-Actual)/Budget *100.
In case of revenue variance should be (Actual-Budget)/Budget *100.
So, here i have to find out revenue & expense char. iresspective of which one is greater.
Regards,
Nirav -
Below query has problem .
Pls see the queries for Usage Summary with Partition and Without Partition
. I have executed this now so it may be in Buffer …****
DB Query ... SUM from event objects, bin variables
SELECT sum(amount) , sum(quantity), event.poid_type,ebal.resource_id,****
event.service_obj_type, event.service_obj_id0,ebal.
rate_obj_id0, ebal.OFFERING_OBJ_ID0, ebal.IMPACT_CATEGORY ****
FROM event_bal_impacts_t ebal, item_t item, event_tevent*
WHERE event.item_obj_id0 = item.poid_id0****
AND ebal.obj_id0 = event.poid_id0****
-- and event.Poid_id0 >= 266838277921701888****
-- and event.Poid_id0 < 267928993456455680****
-- and ebal.obj_id0 >= 266838277921701888****
-- and ebal.obj_id0 < 267928993456455680****
AND item.bill_obj_id0 = 148715294****
AND ebal.product_obj_id0 = 27433706****
AND ebal.account_obj_id0 = 146876519****
AND item.account_obj_id0 = 146876519****
AND event.poid_type like '%session/telco/gsm%'****
AND ebal.impact_category <> 'Free'****
AND resource_id not in (select resource_id from
resource_id_t)****
group by****
event.poid_type, ebal.resource_id,****
event.service_obj_type, event.service_obj_id0,****
ebal.rate_obj_id0, ebal.OFFERING_OBJ_ID0,ebal.
IMPACT_CATEGORY****
order by****
ebal.resource_id desc;****
SELECT sum(amount) , sum(quantity), event.poid_type,ebal.
resource_id,****
event.service_obj_type, event.service_obj_id0,ebal.
rate_obj_id0, ebal.OFFERING_OBJ_ID0, ebal.IMPACT_CATEGORY ****
FROM event_bal_impacts_t ebal, item_t item, event_tevent*
WHERE event.item_obj_id0 = item.poid_id0****
AND ebal.obj_id0 = event.poid_id0****
and event.Poid_id0 >= 264199450015039488****
and event.Poid_id0 < 265237388991660032****
and ebal.obj_id0 >= 264199450015039488****
and ebal.obj_id0 < 265237388991660032****
AND item.bill_obj_id0 = 148715294****
AND ebal.product_obj_id0 = 27433706****
AND ebal.account_obj_id0 = 146876519****
AND item.account_obj_id0 = 146876519****
AND event.poid_type like '%session/telco/gsm%'****
AND ebal.impact_category <> 'Free'****
AND resource_id not in (select resource_id from
resource_id_t)****
group by****
event.poid_type, ebal.resource_id,****
event.service_obj_type, event.service_obj_id0,****
ebal.rate_obj_id0, ebal.OFFERING_OBJ_ID0,ebal.
IMPACT_CATEGORY****
order by****
ebal.resource_id desc;****
--848478 wrote:
Below query has problem .
Pls see the queries for Usage Summary with Partition and Without Partition
. I have executed this now so it may be in Buffer …****
DB Query ... SUM from event objects, bin variables
SELECT sum(amount) , sum(quantity), event.poid_type,ebal.resource_id,****
event.service_obj_type, event.service_obj_id0,ebal.
rate_obj_id0, ebal.OFFERING_OBJ_ID0, ebal.IMPACT_CATEGORY ****
FROM event_bal_impacts_t ebal, item_t item, event_tevent*
WHERE event.item_obj_id0 = item.poid_id0****
AND ebal.obj_id0 = event.poid_id0****
-- and event.Poid_id0 >= 266838277921701888****
-- and event.Poid_id0 < 267928993456455680****
-- and ebal.obj_id0 >= 266838277921701888****
-- and ebal.obj_id0 < 267928993456455680****
AND item.bill_obj_id0 = 148715294****
AND ebal.product_obj_id0 = 27433706****
AND ebal.account_obj_id0 = 146876519****
AND item.account_obj_id0 = 146876519****
AND event.poid_type like '%session/telco/gsm%'****
AND ebal.impact_category <> 'Free'****
AND resource_id not in (select resource_id from
resource_id_t)****
group by****
event.poid_type, ebal.resource_id,****
event.service_obj_type, event.service_obj_id0,****
ebal.rate_obj_id0, ebal.OFFERING_OBJ_ID0,ebal.
IMPACT_CATEGORY****
order by****
ebal.resource_id desc;****
SELECT sum(amount) , sum(quantity), event.poid_type,ebal.
resource_id,****
event.service_obj_type, event.service_obj_id0,ebal.
rate_obj_id0, ebal.OFFERING_OBJ_ID0, ebal.IMPACT_CATEGORY ****
FROM event_bal_impacts_t ebal, item_t item, event_tevent*
WHERE event.item_obj_id0 = item.poid_id0****
AND ebal.obj_id0 = event.poid_id0****
and event.Poid_id0 >= 264199450015039488****
and event.Poid_id0 < 265237388991660032****
and ebal.obj_id0 >= 264199450015039488****
and ebal.obj_id0 < 265237388991660032****
AND item.bill_obj_id0 = 148715294****
AND ebal.product_obj_id0 = 27433706****
AND ebal.account_obj_id0 = 146876519****
AND item.account_obj_id0 = 146876519****
AND event.poid_type like '%session/telco/gsm%'****
AND ebal.impact_category <> 'Free'****
AND resource_id not in (select resource_id from
resource_id_t)****
group by****
event.poid_type, ebal.resource_id,****
event.service_obj_type, event.service_obj_id0,****
ebal.rate_obj_id0, ebal.OFFERING_OBJ_ID0,ebal.
IMPACT_CATEGORY****
order by****
ebal.resource_id desc;****
--Consider getting the asterisk key fixed, since it results in invalid SQL syntax -
hi
how to make query cfl... i created combo box in system form..its have two type...job order, subcontracting... when i choose job order . its open production order list....when i choose subcontracting its open Purchase order list...
Thanks & regards
Balan
Edited by: narain.balan on Oct 11, 2010 12:37 PM
Edited by: narain.balan on Oct 11, 2010 12:42 PMHello,
See the example (from the SDK help).
SDK example:
Private Sub AddChooseFromList()
Try
Dim oCFLs As SAPbouiCOM.ChooseFromListCollection
Dim oCons As SAPbouiCOM.Conditions
Dim oCon As SAPbouiCOM.Condition
oCFLs = oForm.ChooseFromLists
Dim oCFL As SAPbouiCOM.ChooseFromList
Dim oCFLCreationParams As SAPbouiCOM.ChooseFromListCreationParams
oCFLCreationParams = SBO_Application.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams)
' Adding 2 CFL, one for the button and one for the edit text.
oCFLCreationParams.MultiSelection = False
oCFLCreationParams.ObjectType = "2"
oCFLCreationParams.UniqueID = "CFL1"
oCFL = oCFLs.Add(oCFLCreationParams)
' Adding Conditions to CFL1
oCons = oCFL.GetConditions()
oCon = oCons.Add()
oCon.Alias = "CardType"
oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL
oCon.CondVal = "C"
oCFL.SetConditions(oCons)
oCFLCreationParams.UniqueID = "CFL2"
oCFL = oCFLs.Add(oCFLCreationParams)
Catch
MsgBox(Err.Description)
End Try
End Sub
If this doesn't work for you, please post your own code.
HTH Regards Teun -
Problem with matrix/screen in Qosmio F55-Q502
Hello
For a few weeks I have strange problem with matrix/screen in my laptop.
The matrix flickers very often - no matter if power cable is plugged or not.
The screen is full bright and suddenly it starts to blink - it is getting darker, than lighter, usually for few/dozen seconds. It does it when nobody touches it or when I work on it.
It very annoying and making eyes tired - it does it very quickly and there are few levels of screen brightness.
Moreover sometimes the screen turns off - You can see what is on desktop but the screen is very very dark (but not blank or completely switched off). It happens without any reason - sometimes just in the middle of working, sometime for example when I touch (not pull) the power cable between laptop and power supply.
Then, the only way to get back to normal brightness of screen id to close the lid just for half a second and open it
- matrix lights then normally, but can "turns off" moment later and I must do it once again - sometimes even few times..
After "action" with lid screens seems like nothing ever happen..
Does anyone have idea what is the cause of such behaviour or how to diagnose it in details?
Or maybe solve this problem?
Best regards
300mSounds like the Backlight or Inverter is failing or there is a loose connection.
Is the unit under warranty? Send it to an ASP for repair.
You should avoid repairing it yourself, the backlight is very high voltage! -
Problem in Matrix while Populating Data
Hello All,
I am facing a problem in matrix column in SAP 8.8
I am filling a matrix with data from a table ITT1.
Matrix1 = oChlSelc.Items.Item("3").Specific
oChlSelc.DataSources.DataTables.Add("Approval")
oChlSelc.DataSources.DataTables.Item("Approval").Clear()
Dim Str_Query As String = "Select Father,Code,Quantity From ITT1"
oChlSelc.DataSources.DataTables.Item("Approval").ExecuteQuery(Str_Query)
Matrix1.Columns.Item("col_1").DataBind.Bind("Approval", ",Code")
Matrix1.Columns.Item("col_2").DataBind.Bind("Approval", "Quantity")
matrix1.LoadFromDatasource
The problem is that the data is getting populated in the matrix without any problem but the Quantity field is not showing the
exact Value means its showing the RoundOff Value i.e. 1.45 = 1
If Quantity is 1.45 in matrix column its showing 1 .
That what i am facing .
Thanks
AmitHi Amit
Its working fine in my system
and also im getting the quantity value as 1.00 by using this code
Dim matrix1 As SAPbouiCOM.Matrix
Dim oform As SAPbouiCOM.Form
oForm = SBO_Application.Forms.Item("frm_test")
matrix1 = oForm.Items.Item("1").Specific
oForm.DataSources.DataTables.Add("Approval")
oForm.DataSources.DataTables.Item("Approval").Clear()
Dim Str_Query As String = "Select Father,Code,Quantity From ITT1"
oForm.DataSources.DataTables.Item("Approval").ExecuteQuery(Str_Query)
matrix1.Columns.Item("V_0").DataBind.Bind("Approval", "Code")
matrix1.Columns.Item("V_1").DataBind.Bind("Approval", "Quantity")
matrix1.LoadFromDatasource()
Thanks
Shafi -
Hi All,
How to set multiple conditions in a query CFL.
This is my Code :
oRs.DoQuery("Select * from [@PSSIT_CMSAMHDR] where U_CardCode = '" & oVenCodeTxt.Value & "'")
oCFL = oForm.ChooseFromLists.Item("SRLst")
oCFL.SetConditions(emptyCon)
oCons = oCFL.GetConditions()
For IntICount = 0 To oRs.RecordCount - 1
If IntICount = (oRs.RecordCount - 1) Then
oCon = oCons.Add()
oCon.Alias = "U_CardCode"
oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL
oCon.CondVal = oVenCodeTxt.Value
Else
oCon = oCons.Add()
oCon.Alias = "U_CardCode"
oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL
oCon.CondVal = oVenCodeTxt.Value
oCon.Relationship = SAPbouiCOM.BoConditionRelationship.cr_OR
End If
oRs.MoveNext()
Next
oCFL.SetConditions(oCons)
I want to set another condition for status which should be 'open'. how should i achieve this.
Regards
MohanaHi Mohana,
if you want to Add condition on both if and else part means try this following code after oCon.CondVal on both if and else statements,
oCon.Relationship = SAPbouiCOM.BoConditionRelationship.cr_AND
oCon = oCons.Add()
oCon.Alias = "U_status"
oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL
oCon.CondVal = "Open"
Regards,
Ganesh k -
Failure to search - query window problem
Hello again,
Have anyone of you came across a problem with SAP search mechanism in query window attached to document field? I've created a simple query of "Select acctcode,acctname from OACT where acctcode like '2%' and postable='Y' order by acctcode" and attached it to one of document fields (doesn't matter which one). When I run this query a usual window poped up with a search field on the top, but when I typed "2" in it, selection bar moved right into first 231 account ignoring any of the lesser numbers. There is more - when I changed query to search for '5%' like accounts, I gained the same result - accounts less than 530 were ignored even if I typed "50" or "51". BUT - when I changed query sort order to "desc", all account became "findable".
I got this problem in one database only which is SAP 8.8 PL10 version upgraded recently from 2007A one. I've checked with a newly created 8.8 and such problem hasn't occured.Hello Thomasz,
I might be off base here, what happens when you use this???
Do you get the same types of query window problem???
Select
acctcode,
acctname,
segment_0
from OACT
where Segment_0 like '2%'
order by acctcode
for browse
Regards,
Zal -
Hello
I have a following problem:
I want to make one column in matrix editable and CFL(from OITM).
If I bind it with userdatasource, the chosen value cannot be changed later.
If I bind it with DBdatasource, when I choose the proper value in CFL, I get an error :Bad form Value.
I made very similar thing but not with columns(with form items) and then I could bind an item with EditText field and everything was cool. edittext1 = (SAPbouiCOM.EditText)oItem.Specific;
But now I cannot convert a column to EditText object
Anybody help me, please?Could you send me more code to look for the problem?
Regards,
J: -
Matrix multiple query report problem
dear members i have serious problem regarding report as i m usin oracle 10g with developer 6i release2 and i m getting following error while executing teh report out:
rep-1761: internal error <rgcaag-2> while processing group <g_item_code>
plz any one hv idea regarding this error so share with me .
thnx in advance
Edited by: user581618 on Jul 14, 2012 1:48 AMInternal errors usually indicate a bug somewhere.
What are your exact Reports version, database version and operating system? Developer 6i release2 and 10g are not the exact version numbers. -
How to set the returned value of CFL in a matrix
dear all,
I got a matrix binded to a DataSource and two CFLs are in this matrix. The codes for handling AfterChooseFromList is as following. It works almost fine. But when a docoment containing more than two
rows in the matrix and I reselect the CFL cell values more than two times, an error occured sometimes, not everytime. The error message is "This entry already exists in the following tables @CYW_PRROW [Message 131-183]"
I have tried to find out what kind of situation to cause this error, but still in the mud.
Can anybody give me some suggestion? Thanks.
Public Sub OnAfterChooseFromList_Matrix(ByVal pVal As SAPbouiCOM.ItemEvent)
Dim ActionSuccess As Boolean = pVal.ActionSuccess
Dim oform As SAPbouiCOM.Form = SBO_Application.Forms.Item(pVal.FormUID)
Dim oitem As SAPbouiCOM.Item = oform.Items.Item("mtx_0")
Dim omatrix As SAPbouiCOM.Matrix = CType(oitem.Specific, SAPbouiCOM.Matrix)
Dim oDataTable As SAPbouiCOM.DataTable
oDataTable = pVal.SelectedObjects
Dim val As String
Try
val = oDataTable.GetValue(0, 0)
Catch ex As Exception
End Try
omatrix.GetLineData(pVal.Row)
oform.DataSources.DBDataSources.Item("@CYW_PRROW").Offset = pVal.Row - 1
If pVal.ColUID = "col_0" Then
Try
oform.DataSources.DBDataSources.Item("@CYW_PRROW").SetValue("U_PRItemCode", pVal.Row - 1, CStr(val))
Catch ex As Exception
SBO_Application.MessageBox(ex.Message)
End Try
Else
Try
oform.DataSources.DBDataSources.Item("@CYW_PRROW").SetValue("U_PRSupp", pVal.Row - 1, CStr(val))
Catch ex As Exception
SBO_Application.MessageBox(ex.Message)
End Try
End If
omatrix.SetLineData(pVal.Row)
If pVal.FormMode = "1" Then
oform.Mode = SAPbouiCOM.BoFormMode.fm_UPDATE_MODE
End If
End Sub
Another quesion, can I assign the returned value of CLF directly to the cell?Hello Chao-Yi Wu,
I don't have a real solution for you - just a few comments:
1. At
Try
val = oDataTable.GetValue(0, 0)
Catch ex As Exception
End Try
I would add
Try
if oDataTable Is Nothing Then Exit Sub ' If the User cancels the CFL
val = oDataTable.GetValue(0, 0)
Catch ex As Exception
End Try
2. At
If pVal.ColUID = "col_0" Then
I would make the branch by the pVal.ChooseFromListUID instead of the ColUID
and the 2nd not with "Else" but with "Else If ....."
3. It may work with EditText.String/Value of a cell but I never do that because of performance-reasons.
I always do it the same way as you in principle - I don't really know what the problem is.
4. Maybe some unique indexes on your table (although this should give an error at the update and not at CFL when "the unique-law is broken"...)?
Sorry - that's all for the moment.
Cheers,
Roland -
Query help to get Matrix report
Hi All,
I have posted this query in Reports forum, didnt get replies, so im posting at Database general may be it could be the query problem.
Account Main Heads
Account_main_head_code, Main_head_description
01 ADMINSTRATIVE
02 OPERATIONAL
Ledger_codes account_code,account_description,accound_main_head_code
01 SALARIES 01
02 PHONES 01
03 FUEL 02
Terminal_master
Terminal_id,terminal_station_code
1 HYD
2 VJA
3 NY
4 WDC
Petty_cash_voucher voucher_date,terminal_id,currency_code,account_code,amount
30-jun-05 1 GBP 01 100
30-jun-05 2 GBP 01 200
30-jun-05 3 GBP 02 300
30-jun-05 4 GBP 03 250
Im looking for the MATRIX layout as follows :
GBP (first group)
ADMINISTRATIVE (secind group)
.................HYD.....VJA....NY ....WDC
Salaries.........100.....200.....0......0
Phones............0.......0.....300.....0
OPERATIONAL
.................HYD.....VJA....NY....WDC
Fuel..............0.......0.....0.....250
My query is like this
SELECT
P.currency_code,
T.terminal_town_code,
P.account_code,
L.account_description,
MH.account_main_head_description,
SUM(P.amount) total_amount
FROM
terminal_master T,
petty_cash_voucher_master P,
ledger_accounts L,
account_main_heads MH
WHERE
T.terminal_id = P.account_to_terminal (+)
AND
L.account_code (+) = P.account_code
AND
MH.account_main_head_code (+) = L.account_main_head_code
AND
P.voucher_date (+) > = '30-jun-05'
AND
P.voucher_date (+) < = '30-jun-05'
GROUP BY
P.currency_code,
T.terminal_town_code,
P.account_code,
L.account_description,
SH.account_main_head_description.
My current output is like this.
right now with the the existing query im getting like this
GBP (first group)
ADMINISTRATIVE (second group)
.................HYD.....VJA....NY ....WDC
Salaries.........100.....200.....0......0
Phones............0.......0.....300.....0
OPERATIONAL
.................WDC
Fuel.............250
While i need all the terminal at OPERATIONAL expenses also.you'll need an auxiliary calender table :
SQL> drop table T_ACM ;
SQL> drop table T_LC ;
SQL> drop table T_TM ;
SQL> drop table T_PCV ;
SQL> drop table T_CAL ;
SQL>
SQL> create table T_ACM (acm_code varchar2(2) not null, text varchar2(20) not null) ;
SQL> create unique index T_ACM_PK on T_ACM (acm_code) ;
SQL> insert into T_ACM values ('01','ADMINISTRATIVE') ;
SQL> insert into T_ACM values ('02','OPERATIONAL' ) ;
SQL>
SQL>
SQL> create table T_LC (lc_code varchar2(2) not null, text varchar2(20) not null, acm_code varchar2(2) ) ;
SQL> create unique index T_LC_PK on T_LC (lc_code) ;
SQL> insert into T_LC values ('01' , 'SALARIES' , '01') ;
SQL> insert into T_LC values ('02' , 'PHONES' , '01') ;
SQL> insert into T_LC values ('03' , 'FUEL' , '02') ;
SQL>
SQL>
SQL> create table T_TM (tm_id number not null, tm_code varchar2(3) ) ;
SQL> create unique index T_TM_PK on T_TM (tm_id) ;
SQL> insert into T_TM values (1, 'HYD' ) ;
SQL> insert into T_TM values (2, 'VJA' ) ;
SQL> insert into T_TM values (3, 'NY' ) ;
SQL> insert into T_TM values (4, 'WDC' ) ;
SQL>
SQL>
SQL> create table T_PCV (v_date date not null, tm_id varchar2(3) , cur_code varchar2(3), lc_code varchar2(2), amount number ) ;
SQL> insert into T_PCV values (sysdate , 1, 'GBP', '01' , 100) ;
SQL> insert into T_PCV values (sysdate , 2, 'GBP', '01' , 200) ;
SQL> insert into T_PCV values (sysdate , 3, 'GBP', '02' , 300) ;
SQL> insert into T_PCV values (sysdate , 4, 'GBP', '03' , 150) ;
SQL>
SQL> insert into T_PCV values (sysdate-1 , 1, 'GBP', '01' , 101) ;
SQL> insert into T_PCV values (sysdate-1 , 2, 'GBP', '01' , 201) ;
SQL> insert into T_PCV values (sysdate-1 , 3, 'GBP', '02' , 301) ;
SQL> insert into T_PCV values (sysdate-1 , 4, 'GBP', '03' , 151) ;
SQL>
SQL> insert into T_PCV values (sysdate-2 , 1, 'GBP', '01' , 102) ;
SQL> insert into T_PCV values (sysdate-2 , 2, 'GBP', '01' , 202) ;
SQL> insert into T_PCV values (sysdate-2 , 3, 'GBP', '02' , 302) ;
SQL> insert into T_PCV values (sysdate-2 , 4, 'GBP', '03' , 152) ;
SQL>
SQL> create table T_CAL (DAY date not null, WEEK number, MONTH number, YEAR number) ;
SQL> create unique index T_CAL_PK on T_CAL (DAY);
SQL>
SQL> DECLARE
2 l_year number ;
3 BEGIN
4
5 l_year := 2005 ;
6
7 FOR i in 1..365 LOOP
8 insert into T_CAL (DAY,YEAR)
9 select to_date(to_char(i) || ' ' || to_char(l_year) , 'DDD YYYY')
10 ,l_year
11 from dual
12 ;
13 END LOOP ;
14
15 commit ;
16
17 update T_CAL
18 set WEEK = to_number(to_char(T_CAL.DAY,'WW'))
19 ,MONTH = to_number(to_char(T_CAL.DAY,'MM'))
20 ;
21 commit ;
22 END ;
23 /
SQL>
SQL>
SQL>
SQL> commit ;
SQL>
SQL>
SQL>
SQL>
SQL> create or replace
2 view v_test_2 as
3 select
4 E.DAY
5 ,E.acm_text
6 ,E.lc_text
7 ,E.tm_code
8 ,nvl(sum(F.amount),0) amount
9 from
10 (select A.text acm_text, B.lc_code, B.text lc_text, C.tm_id, C.tm_code , D.DAY
11 from
12 T_ACM A
13 ,T_LC B
14 ,T_TM C
15 ,T_CAL D
16 where
17 A.acm_code = B.acm_code
18 ) E
19 ,(select trunc(v_date) DAY, tm_id, lc_code, sum(amount) amount
20 from t_pcv
21 group by trunc(v_date), tm_id, lc_code
22 ) F
23 where
24 E.lc_code = F.lc_code (+)
25 and E.tm_id = F.tm_id (+)
26 and E.DAY = F.DAY (+)
27 group by
28 E.DAY
29 ,E.acm_text
30 ,E.lc_text
31 ,E.tm_code
32 ;
SQL> select * from v_test_2
2 where DAY >= to_date('01.07.2005','dd.mm.yyyy')
3 and DAY <= to_date('02.07.2005','dd.mm.yyyy')
4 ;
DAY ACM_TEXT LC_TEXT TM_ AMOUNT
01.07.05 ADMINISTRATIVE PHONES HYD 0
01.07.05 ADMINISTRATIVE PHONES NY 301
01.07.05 ADMINISTRATIVE PHONES VJA 0
01.07.05 ADMINISTRATIVE PHONES WDC 0
01.07.05 ADMINISTRATIVE SALARIES HYD 101
01.07.05 ADMINISTRATIVE SALARIES NY 0
01.07.05 ADMINISTRATIVE SALARIES VJA 201
01.07.05 ADMINISTRATIVE SALARIES WDC 0
01.07.05 OPERATIONAL FUEL HYD 0
01.07.05 OPERATIONAL FUEL NY 0
01.07.05 OPERATIONAL FUEL VJA 0
01.07.05 OPERATIONAL FUEL WDC 151
02.07.05 ADMINISTRATIVE PHONES HYD 0
02.07.05 ADMINISTRATIVE PHONES NY 300
02.07.05 ADMINISTRATIVE PHONES VJA 0
02.07.05 ADMINISTRATIVE PHONES WDC 0
02.07.05 ADMINISTRATIVE SALARIES HYD 100
02.07.05 ADMINISTRATIVE SALARIES NY 0
02.07.05 ADMINISTRATIVE SALARIES VJA 200
02.07.05 ADMINISTRATIVE SALARIES WDC 0
02.07.05 OPERATIONAL FUEL HYD 0
02.07.05 OPERATIONAL FUEL NY 0
02.07.05 OPERATIONAL FUEL VJA 0
02.07.05 OPERATIONAL FUEL WDC 150
SQL>
SQL> select
2 B.MONTH
3 ,A.acm_text
4 ,A.lc_text
5 ,A.tm_code
6 ,sum(amount) amount
7 from
8 V_TEST_2 A
9 ,T_CAL B
10 where B.DAY = A.DAY (+)
11 and B.MONTH = 7
12 group by
13 B.MONTH
14 ,A.acm_text
15 ,A.lc_text
16 ,A.tm_code
17 ;
MONTH ACM_TEXT LC_TEXT TM_ AMOUNT
7 ADMINISTRATIVE PHONES HYD 0
7 ADMINISTRATIVE PHONES NY 601
7 ADMINISTRATIVE PHONES VJA 0
7 ADMINISTRATIVE PHONES WDC 0
7 ADMINISTRATIVE SALARIES HYD 201
7 ADMINISTRATIVE SALARIES NY 0
7 ADMINISTRATIVE SALARIES VJA 401
7 ADMINISTRATIVE SALARIES WDC 0
7 OPERATIONAL FUEL HYD 0
7 OPERATIONAL FUEL NY 0
7 OPERATIONAL FUEL VJA 0
7 OPERATIONAL FUEL WDC 301
SQL>
SQL>
SQL> select
2 B.MONTH
3 ,A.acm_text
4 ,A.lc_text
5 ,A.tm_code
6 ,sum(amount) amount
7 from
8 V_TEST_2 A
9 ,T_CAL B
10 where B.DAY = A.DAY (+)
11 and B.MONTH = 6
12 group by
13 B.MONTH
14 ,A.acm_text
15 ,A.lc_text
16 ,A.tm_code
17 ;
MONTH ACM_TEXT LC_TEXT TM_ AMOUNT
6 ADMINISTRATIVE PHONES HYD 0
6 ADMINISTRATIVE PHONES NY 302
6 ADMINISTRATIVE PHONES VJA 0
6 ADMINISTRATIVE PHONES WDC 0
6 ADMINISTRATIVE SALARIES HYD 102
6 ADMINISTRATIVE SALARIES NY 0
6 ADMINISTRATIVE SALARIES VJA 202
6 ADMINISTRATIVE SALARIES WDC 0
6 OPERATIONAL FUEL HYD 0
6 OPERATIONAL FUEL NY 0
6 OPERATIONAL FUEL VJA 0
6 OPERATIONAL FUEL WDC 152
SQL> -
Hi Guys,
I have a matrix which is on the UDO form. I have bound all the columns with DB DataSources. I have one column of combobox type where in the back end i have the valid values
"1-Approved"
"2-Pending"
"3-Rejected"
The problem here is that when the form is opened the matrix column only shows values 2 and 3 ("2-Pending","3-Rejected").
I also have another Column with 2 Valid values, again facing the same problem. Only one value is being shown.
But in the backend when i check in the "Manage User Fields" Screen all the 3 Valid values are visible.
Am i doing something wrong..??
Thanks in Advance,
Vasu Natari.Hi,
For me, even if the validvalues are added, it is working. Real.
Here is a code for matrix columns, and it is shows me on the form the description.
You must have to add of course validvalues to show the description (as in the description). This sample
is shows you the ship types of orders. You also can use userdatasources....
Sub ComboDesc()
Dim oForm As SAPbouiCOM.Form = m_SBO_Application.Forms.Add("TEST_MTX")
oForm.Visible = True
Dim oitem As SAPbouiCOM.Item = oForm.Items.Add("MTX", SAPbouiCOM.BoFormItemTypes.it_MATRIX)
With oitem
.Top = 5
.Left = 5
.Width = oForm.Width - 15
.Height = oForm.Height - 15
.AffectsFormMode = False
End With
Dim oMatrix As SAPbouiCOM.Matrix = oitem.Specific
Dim oColumns As SAPbouiCOM.Columns = oMatrix.Columns
Dim oDBDataSource As DBDataSource = oForm.DataSources.DBDataSources.Add("ORDR")
Dim oColumn As SAPbouiCOM.Column = oColumns.Add("#", SAPbouiCOM.BoFormItemTypes.it_EDIT)
With oColumn
.TitleObject.Caption = "#"
.Description = .TitleObject.Caption
.Width = 30
.DataBind.SetBound(True, "ORDR", "DocEntry")
.Editable = False
End With
oColumn = oColumns.Add("COL1", SAPbouiCOM.BoFormItemTypes.it_COMBO_BOX)
With oColumn
.Width = 80
.TitleObject.Caption = "ShipType"
.Description = .TitleObject.Caption
.Editable = False
.DataBind.SetBound(True, "ORDR", "TrnspCode")
.DisplayDesc = True
.Visible = True
End With
Dim vv As SAPbouiCOM.ValidValues = oColumn.ValidValues
Dim ors As SAPbobsCOM.Recordset = ocmp.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
ors.DoQuery("select * from OSHP")
Do While Not (ors.EoF)
vv.Add(ors.Fields.Item(0).Value, Left(ors.Fields.Item(1).Value, 30))
ors.MoveNext()
Loop
oDBDataSource.Query()
oMatrix.LoadFromDataSource()
End Sub
Regards
J.
Maybe you are looking for
-
FF 4 uses 1.6 GB of RAM
Firefox 3.x wasn't very good with RAM, but 4 is just plan absurd. I have AdBlock and FireBug installed (plus QuickTime & Flash). After viewing a bunch of web sites over a few days, I can close all of the tabs and windows down to a single one. FF stil
-
No sound after installing graphics card to replace original integrated graphics
I replaced my old monitor with a new Dell which has a displayport along with Soundbar that is connected to the PC by USB. Installed the hp AMD Radeon8490. The Catalyst Install Manager Installation Report shows theDisplay and Audio Drivers installed s
-
Fireworks CS3-Color changes when importing Photoshop images
Hello, I created a background image in Photoshop CS3 but whenever I import it into Fireworks CS3 the color changed. It seems that the saturation level is changing. The hue is close however. I tried using the color palette to type in the exact RGB & H
-
Hi I ordered a new iphone under my email address but as a guest, I can see tracking of my order, but when I choose to get a receipt, I need to sign in and there's no information about my order / receipt. what to do???
-
Rotate text without rotating text field
Hi, in my form one text field is "90" degree but i want to rotate in that field text to "0" degree. i mean if i type any ting in that fields it should as bellow. is this possible ???. thanks.. 7 6 5 4 3 2 1