Bonjour.

J'ai un bloc (AW_SWC)créé en Designer qui est basé sur une vue (S715_IIC_SCO_PSW_VW ).
Ce bloc doit afficher 3 champs qui sont :
- iic_location
- iop_exec_date
- swc_code

Je dois cependant effectuer un traitement spécial qui correspond à ce query :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
select iic_location, max(iop_exec_dt) exec_date, swc_code
from S715_IIC_SCO_PSW_VW 
group by iic_LOCATION,  SWC_CODE 
having mod(count(swc_code),2) > 0 
order by exec_date
--> Ce code fonctionne et c'est exactement ce dont j'ai besoin

Je pensais mettre dans ma librairie attachée
le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
go_block ('AW_SWC');
clear_block();
 
query := '( select iic_location,  max(iop_exec_dt) iop_exec_date , swc_code, swc_id, iic_id, iop_id' ||
'from S715_IIC_SCO_PSW_VW ' ||
' group by iic_LOCATION,  SWC_CODE '||
' having mod(count(swc_code),2) > 0 '||
' order by iop_exec_date )' ;
 
set_block_property('AW_SWC', QUERY_DATA_SOURCE_NAME, query);    execute_query ();
Seulement cela ne fonctionne pas.
Quand j'exécute le module, j'obtiens un message :
Unable to perform querry

Je récupère le dernier querry qui donne ce résultat :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
SELECT S715_IIC_SCO_PSW_VW.IIC_LOCATION,
S715_IIC_SCO_PSW_VW.IOP_EXEC_DT,
S715_IIC_SCO_PSW_VW.SWC_CODE,
S715_IIC_SCO_PSW_VW.SWC_ID,
S715_IIC_SCO_PSW_VW.IIC_ID,
S715_IIC_SCO_PSW_VW.IOP_ID 
FROM 
( 
select iic_location,  
max(iop_exec_dt) iop_exec_date , 
swc_code, swc_id, 
iic_id, iop_id	
from S715_IIC_SCO_PSW_VW  
group by iic_LOCATION,  SWC_CODE  
having mod(count(swc_code),2) > 0  
order by iop_exec_date 
) S715_IIC_SCO_PSW_VW
Le problème est que ca ne fonctionne pas et que le querry regénéré n'est pas comme le querry que j'ai créé.

Je pense que je me plante quelque part ...

Quelqu'un pourrait éclairer ma lanterne?

Merci beaucoup