Interesting bug in 10.2? BAQ editor

So I am looking at a query to find out why it’s not returning what I would expect, and for some reason, in a calculated field, nothing shows. But it doesn’t error out. and in the list, it has the value. Has anyone else seen this?

Did you check for a space or anything?

if it is empty it should not allow to save… does it?

There aren’t any spaces, I can type it back in, then it goes away again. I can save just fine.

What does your Query Phrase look like? (General sheet)
Is you calculated field listed in the select statement?

I wonder if they just got smart and interpret that null/whitespace as an empty string since the type is an nvarchar. As Bruce suggested, looking what the query says may answer that question.

Yup, it’s right there.

select 
	[OldTopTopLevel].[JobMtl_Company] as [JobMtl_Company],
	[OldTopTopLevel].[JobMtl_JobNum] as [JobMtl_JobNum],
	[OldTopTopLevel].[JobMtl_AssemblySeq] as [JobMtl_AssemblySeq],
	[OldTopTopLevel].[JobMtl_MtlSeq] as [JobMtl_MtlSeq],
	('') as [Calculated_Blank1],
	('') as [Calculated_Blank2],
	[OldTopTopLevel].[JobMtl_PartNum] as [JobMtl_PartNum],
	[OldTopTopLevel].[JobMtl_Description] as [JobMtl_Description],
	[OldTopTopLevel].[JobMtl_RequiredQty] as [JobMtl_RequiredQty],
	[OldTopTopLevel].[JobAsmbl1_PartNum] as [JobAsmbl1_PartNum],
	[OldTopTopLevel].[JobOper_OpCode] as [JobOper_OpCode],
	[OldTopTopLevel].[UD08_Company] as [UD08_Company],
	[OldTopTopLevel].[UD08_Key1] as [UD08_Key1],
	[OldTopTopLevel].[UD08_Key2] as [UD08_Key2],
	[OldTopTopLevel].[UD08_Key3] as [UD08_Key3],
	[OldTopTopLevel].[UD08_ShortChar01] as [UD08_ShortChar01],
	[OldTopTopLevel].[UD08_Character01] as [UD08_Character01],
	[OldTopTopLevel].[JobMtl_JobComplete] as [JobMtl_JobComplete],
	((case when OldTopTopLevel.JobMtl_JobNum is null then 'delete' else 'update' end)) as [Calculated_Delete],
	(case  
     when OldTopTopLevel.UD08_Number01 is null then 0
     when OldTopTopLevel.JobMtl_PartNum <> OldTopTopLevel.UD08_ShortChar01 then 0
     else OldTopTopLevel.UD08_Number01
 end) as [Calculated_PackQtyReset],
	(case       
 
     when OldTopTopLevel.UD08_ShortChar02 is null then ''     
     when OldTopTopLevel.JobMtl_PartNum <> OldTopTopLevel.UD08_ShortChar01 then ''     
     else OldTopTopLevel.UD08_ShortChar02
 
 end) as [Calculated_PackStatusReset]
from  (select 
	[JobMtlTable].[JobMtl_RequiredQty] as [JobMtl_RequiredQty],
	[JobMtlTable].[JobMtl_Company] as [JobMtl_Company],
	[JobMtlTable].[JobMtl_JobNum] as [JobMtl_JobNum],
	[JobMtlTable].[JobMtl_AssemblySeq] as [JobMtl_AssemblySeq],
	[JobMtlTable].[JobMtl_MtlSeq] as [JobMtl_MtlSeq],
	[JobMtlTable].[JobMtl_PartNum] as [JobMtl_PartNum],
	[JobMtlTable].[JobMtl_Description] as [JobMtl_Description],
	[JobMtlTable].[JobAsmbl1_PartNum] as [JobAsmbl1_PartNum],
	[JobMtlTable].[JobOper_OpCode] as [JobOper_OpCode],
	[UD08].[Company] as [UD08_Company],
	[UD08].[Key1] as [UD08_Key1],
	[UD08].[Key2] as [UD08_Key2],
	[UD08].[Key3] as [UD08_Key3],
	[UD08].[ShortChar01] as [UD08_ShortChar01],
	[UD08].[Character01] as [UD08_Character01],
	[JobMtlTable].[JobMtl_JobComplete] as [JobMtl_JobComplete],
	[UD08].[Number01] as [UD08_Number01],
	[UD08].[ShortChar02] as [UD08_ShortChar02],
	[UD08].[ShortChar03] as [UD08_ShortChar03],
	((case when JobMtlTable.JobMtl_JobNum is null then UD08.Key1 else JobMtlTable.JobMtl_JobNum end)) as [Calculated_Eitherjob],
	[Released].[JobHead2_JobReleased] as [JobHead2_JobReleased]
from  (select 
	[JobMtl].[Company] as [JobMtl_Company],
	[JobMtl].[JobNum] as [JobMtl_JobNum],
	[JobMtl].[AssemblySeq] as [JobMtl_AssemblySeq],
	[JobMtl].[MtlSeq] as [JobMtl_MtlSeq],
	[JobMtl].[PartNum] as [JobMtl_PartNum],
	[JobMtl].[Description] as [JobMtl_Description],
	[JobMtl].[RequiredQty] as [JobMtl_RequiredQty],
	[JobAsmbl1].[PartNum] as [JobAsmbl1_PartNum],
	[JobOper].[OpCode] as [JobOper_OpCode],
	[JobMtl].[JobComplete] as [JobMtl_JobComplete]
from Erp.JobMtl as JobMtl
inner join Erp.JobAsmbl as JobAsmbl1 on 
	JobMtl.Company = JobAsmbl1.Company
	and JobMtl.JobNum = JobAsmbl1.JobNum
	and JobMtl.AssemblySeq = JobAsmbl1.AssemblySeq
	and ( JobAsmbl1.Company = 'RAPAT'  )

inner join Erp.JobOper as JobOper on 
	JobMtl.JobNum = JobOper.JobNum
	and JobMtl.Company = JobOper.Company
	and JobMtl.AssemblySeq = JobOper.AssemblySeq
	and JobMtl.RelatedOperation = JobOper.OprSeq
	and ( JobOper.OpCode = 'ASSY'  and JobOper.Company = 'RAPAT'  )

inner join Erp.JobHead as JobHead on 
	JobOper.Company = JobHead.Company
	and JobOper.JobNum = JobHead.JobNum
	and ( JobHead.JobReleased = true  and JobHead.Company = 'RAPAT'  )

where (not JobMtl.PartNum = 'STOCK-PAINT-SAFETY'  and not JobMtl.PartNum = 'STOCK-PAINT'  and not JobMtl.PartNum = 'MISC. PURCHASE'  and JobMtl.Company = 'RAPAT')
union
select 
	[JobAsmbl].[Company] as [JobAsmbl_Company],
	[JobAsmbl].[JobNum] as [JobAsmbl_JobNum],
	[JobAsmbl].[AssemblySeq] as [JobAsmbl_AssemblySeq],
	(0) as [Calculated_MtlSequenceAssy],
	[JobAsmbl].[PartNum] as [JobAsmbl_PartNum],
	[JobAsmbl].[Description] as [JobAsmbl_Description],
	[JobAsmbl].[RequiredQty] as [JobAsmbl_RequiredQty],
	[JobAsmbl2].[PartNum] as [JobAsmbl2_PartNum],
	[JobOper1].[OpCode] as [JobOper1_OpCode],
	[JobAsmbl].[JobComplete] as [JobAsmbl_JobComplete]
from Erp.JobAsmbl as JobAsmbl
inner join Erp.JobAsmbl as JobAsmbl2 on 
	JobAsmbl.Company = JobAsmbl2.Company
	and JobAsmbl.JobNum = JobAsmbl2.JobNum
	and JobAsmbl.Parent = JobAsmbl2.AssemblySeq
	and ( JobAsmbl2.Company = 'RAPAT'  )

inner join Erp.JobOper as JobOper1 on 
	JobAsmbl.Company = JobOper1.Company
	and JobAsmbl.JobNum = JobOper1.JobNum
	and JobAsmbl.Parent = JobOper1.AssemblySeq
	and JobAsmbl.RelatedOperation = JobOper1.OprSeq
	and ( JobOper1.OpCode = 'ASSY'  and JobOper1.Company = 'RAPAT'  )

inner join Erp.JobHead as JobHead1 on 
	JobOper1.Company = JobHead1.Company
	and JobOper1.JobNum = JobHead1.JobNum
	and ( JobHead1.JobReleased = true  and JobHead1.Company = 'RAPAT'  )

where (JobAsmbl.Company = 'RAPAT'))  as JobMtlTable
full outer join Ice.UD08 as UD08 on 
	JobMtlTable.JobMtl_Company = UD08.Company
	and JobMtlTable.JobMtl_JobNum = UD08.Key1
	and JobMtlTable.JobMtl_AssemblySeq = UD08.Key2
	and JobMtlTable.JobMtl_MtlSeq = UD08.Key3
cross join  (select 
	[JobHead2].[Company] as [JobHead2_Company],
	[JobHead2].[JobNum] as [JobHead2_JobNum],
	[JobHead2].[JobReleased] as [JobHead2_JobReleased]
from Erp.JobHead as JobHead2
where (JobHead2.Company = 'RAPAT'))  as Released
where Released.JobHead2_JobNum = Calculated.Eitherjob)  as OldTopTopLevel
where ((OldTopTopLevel.UD08_Key1 is null or not OldTopTopLevel.JobMtl_PartNum = OldTopTopLevel.UD08_ShortChar01  or not OldTopTopLevel.JobMtl_Description = OldTopTopLevel.UD08_Character01  or not OldTopTopLevel.JobAsmbl1_PartNum = OldTopTopLevel.UD08_ShortChar03  or OldTopTopLevel.JobMtl_JobNum is null) and (OldTopTopLevel.JobMtl_JobComplete is null or OldTopTopLevel.JobMtl_JobComplete = FALSE ) and OldTopTopLevel.JobHead2_JobReleased = true)

Yeah this is a bug that’s been around for a bit, only way to get it work (or show back up) is to exit all the way out and sometimes I even had to recylce the app server :frowning:
Not sure how to replicate it though its random.

1 Like

I had to to the recycle to get it to work again. Dumb.

Hey @aidacra, is there anything on the road map for a bug fix/feature enhancement voting system? I know that I should make a case for this to get it in your system, but it’s tough to find the motivation to explain that I know it’s a known bug and that I have a workaround for it. However, I would be willing to go find it in a system to just report that it affects me too.

1 Like

If you add a new field, then delete it, the other formulas will show up temporarily.

BTW the reset worked at first, but now I’m back to them being gone.

I know that it is being worked on, but, I’m not directly involved in the process so I couldn’t say what the current status is. I’ll ping some resources internally to see if I can be an updae.

3 Likes

bump on this one. I created a ticket on this, but they are basically saying that they are going to just close it if I can’t reliably recreate the issue. It does do this intermittently, but I can’t make it do it on command. Has anyone figured out how to recreate the problem?

Aaaand this it why…

“If you can reproduce it, please open a new case and we will pursue it.”

And this is why people don’t report bugs.

I get that if you can’t reproduce it, it’s difficult to track down, but to just basically ignore a customer… ughhh.

Its not a bug taht can be reproduced on command… It happens “randomly” I hate it too

But it’s still a bug, and should be looked at.

1 Like

So service gave me a dll to switch out and it seems to have fixed this problem. They closed the case. I’m not sure where it’s going from here, but they at least know about it and have a fix for it.

1 Like

Hmm interesting. What DLL? and do you know if its being incorporated into a vNExt++ release?

yeah… that’s the part about not knowing where it’s going from there.

1 Like

This is the DLL that I switched out.
image

The case number is CS0001117043 if anyone wants to reference it.

1 Like

can you provide the rev info for that dll?
(and which version of E10 you currently have)