Quantcast
Channel: SmartClient Forums
Viewing all articles
Browse latest Browse all 4756

SQLDataSource customized query: bug in the row count query

$
0
0
working
SmartClient Version: v9.1p_2014-04-05/PowerEdition Deployment (built 2014-04-03)

not working
SmartClient Version: v9.1p_2014-04-05/PowerEdition Deployment (built 2014-04-05) <-- this is the first not working release I've got

and then I've tested all releases up to
SmartClient Version: v9.1p_2014-04-05/PowerEdition Deployment (built 2014-05-06)
and no one is working.

I've got a bug with a customized query:

Code:

        <operationBinding operationType="fetch" customFields="REGIONE,PROVINCIA,PARTITA_IVA,CODICE_FISCALE">
            <serverObject lookupStyle="spring" bean="fetchContrattiDMI"/>
            <selectClause>$defaultSelectClause</selectClause>
            <tableClause>$defaultTableClause, JPC_CONTRATTI_RIGHE, JPC_VOCI_DI_LISTINO, JPC_STATI_CONTRATTO,
                JPC_STAGIONI, JPC_ANAGRAFICA_CLIENTI, JPC_TIPI_SOGGETTO, JPC_REGIONI
            </tableClause>
            <whereClause>
                $defaultWhereClause
                and JPC_ANAGRAFICA_CLIENTI.ID_REC = JPC_CONTRATTI.ID_ANAGRAFICA_CLIENTI_FK
                and JPC_ANAGRAFICA_CLIENTI.ID_TIPI_SOGGETTO_FK = JPC_TIPI_SOGGETTO.ID_REC
                and JPC_ANAGRAFICA_CLIENTI.ID_REGIONI_FK = JPC_REGIONI.ID_REC(+)
                and JPC_CONTRATTI_RIGHE.ID_VOCE_LISTINO_PER_SCONTO_FK = JPC_VOCI_DI_LISTINO.ID_REC(+)
                and JPC_CONTRATTI.ID_REC = JPC_CONTRATTI_RIGHE.ID_CONTRATTI_FK(+)
                and JPC_CONTRATTI.ID_STATO_CONTRATTO_FK = JPC_STATI_CONTRATTO.ID_REC
                and JPC_CONTRATTI.ID_STAGIONI_FK = JPC_STAGIONI.ID_REC
                and JPC_CONTRATTI.IS_ANNULLATO = 'F'
                and JPC_CONTRATTI.TIPO = 'JPC'
            </whereClause>
            <groupClause>
                JPC_CONTRATTI.ACCOUNT, JPC_CONTRATTI.ACCOUNT_ASSEGNATO, JPC_CONTRATTI.CREATOR, JPC_CONTRATTI.CONTRATTO_NUM, JPC_CONTRATTI.DATA_FIRMA,
                JPC_CONTRATTI.ID_ANAGRAFICA_CLIENTI_FK,
                decode(JPC_TIPI_SOGGETTO.CODICE, 'AZ', JPC_ANAGRAFICA_CLIENTI.SOGGETTO_DESC,
                JPC_ANAGRAFICA_CLIENTI.COGNOME || ' ' || JPC_ANAGRAFICA_CLIENTI.NOME),
                JPC_TIPI_SOGGETTO.DESCRIZIONE, JPC_CONTRATTI.DATA_SOTTOSC_CLIENTE, JPC_CONTRATTI.FL_REQUISITI_FIRMA,
                JPC_CONTRATTI.FL_ACC_COND_GEN_CONTR,
                JPC_CONTRATTI.ID_REC, JPC_CONTRATTI.ID_STAGIONI_FK, JPC_STAGIONI.DESCRIZIONE,
                JPC_CONTRATTI.ID_STATO_CONTRATTO_FK,
                JPC_CONTRATTI.ID_CONTRATTO_PRECEDENTE_FK, JPC_CONTRATTI.ID_CONTRATTO_SPLIT_FK, JPC_CONTRATTI.NOTE,
                JPC_CONTRATTI.NOTE_CLIENTE,
                JPC_CONTRATTI.ID_NOTE_INTERNE_FK, JPC_CONTRATTI.SCONTO_INCONDIZIONATO_VALORE,
                JPC_CONTRATTI.SUM_SCONTO_RIGHE,
                JPC_CONTRATTI.VALORE_CONTRATTO, JPC_CONTRATTI.VALORE_CONTRATTO_SCONTATO, JPC_STATI_CONTRATTO.CODICE,
                JPC_STATI_CONTRATTO.DESCRIZIONE,
                JPC_CONTRATTI.FL_PRESA_VIS_CLAUS_VESS, JPC_CONTRATTI.FL_CONS_TRATT_DATI_PERS,
                JPC_CONTRATTI.FL_CONS_COM_DATI_TERZI, JPC_CONTRATTI.FL_CONS_TRAT_DATI_PROFILO,
                JPC_CONTRATTI.FL_CONS_TRAT_DATI_ALT_SOC,
                JPC_CONTRATTI.FL_NOTIFICA_A_CLIENTE, JPC_CONTRATTI.ACCOUNT_MOD, JPC_CONTRATTI.DATE_CREATOR,
                JPC_CONTRATTI.DATE_MOD, JPC_CONTRATTI.IS_ANNULLATO, JPC_CONTRATTI.UPGRADE_WIP,
                JPC_CONTRATTI.ARCHIVIATO_PER_STATS,
                JPC_ANAGRAFICA_CLIENTI.EMAIL, JPC_ANAGRAFICA_CLIENTI.EMAIL_RAPPR_LEGALE,
                decode(JPC_TIPI_SOGGETTO.CODICE, 'PF', null, JPC_ANAGRAFICA_CLIENTI.COGNOME || ' ' || JPC_ANAGRAFICA_CLIENTI.NOME),
                JPC_ANAGRAFICA_CLIENTI.EMAIL_REF_COMM, JPC_ANAGRAFICA_CLIENTI.TELEFONO, JPC_ANAGRAFICA_CLIENTI.CELLULARE,
                JPC_ANAGRAFICA_CLIENTI.CODICE_FISCALE, JPC_ANAGRAFICA_CLIENTI.PARTITA_IVA,
                JPC_CONTRATTI.ID_REC_ORIG, JPC_CONTRATTI.TIPO, JPC_REGIONI.NOME, JPC_CONTRATTI.CONTRATTO_NUM_1213,
                JPC_CONTRATTI.FATT_DA_COMPENSARE
            </groupClause>
        </operationBinding>

which, with the SmartClient Version: v9.1p_2014-04-05/PowerEdition Deployment (built 2014-04-03) release produces this SQL:
Code:

SELECT COUNT(*) FROM (SELECT distinct
                JPC_CONTRATTI.ACCOUNT, JPC_CONTRATTI.ACCOUNT_ASSEGNATO, JPC_CONTRATTI.CREATOR, JPC_CONTRATTI.CONTRATTO_NUM, JPC_CONTRATTI.DATA_FIRMA,
                JPC_CONTRATTI.ID_ANAGRAFICA_CLIENTI_FK,
                decode(JPC_TIPI_SOGGETTO.CODICE, 'AZ', JPC_ANAGRAFICA_CLIENTI.SOGGETTO_DESC,
                JPC_ANAGRAFICA_CLIENTI.COGNOME || ' ' || JPC_ANAGRAFICA_CLIENTI.NOME),
                JPC_TIPI_SOGGETTO.DESCRIZIONE, JPC_CONTRATTI.DATA_SOTTOSC_CLIENTE, JPC_CONTRATTI.FL_REQUISITI_FIRMA,
                JPC_CONTRATTI.FL_ACC_COND_GEN_CONTR,
                JPC_CONTRATTI.ID_REC, JPC_CONTRATTI.ID_STAGIONI_FK, JPC_STAGIONI.DESCRIZIONE,
                JPC_CONTRATTI.ID_STATO_CONTRATTO_FK,
                JPC_CONTRATTI.ID_CONTRATTO_PRECEDENTE_FK, JPC_CONTRATTI.ID_CONTRATTO_SPLIT_FK, JPC_CONTRATTI.NOTE,
                JPC_CONTRATTI.NOTE_CLIENTE,
                JPC_CONTRATTI.ID_NOTE_INTERNE_FK, JPC_CONTRATTI.SCONTO_INCONDIZIONATO_VALORE,
                JPC_CONTRATTI.SUM_SCONTO_RIGHE,
                JPC_CONTRATTI.VALORE_CONTRATTO, JPC_CONTRATTI.VALORE_CONTRATTO_SCONTATO, JPC_STATI_CONTRATTO.CODICE,
                JPC_STATI_CONTRATTO.DESCRIZIONE,
                JPC_CONTRATTI.FL_PRESA_VIS_CLAUS_VESS, JPC_CONTRATTI.FL_CONS_TRATT_DATI_PERS,
                JPC_CONTRATTI.FL_CONS_COM_DATI_TERZI, JPC_CONTRATTI.FL_CONS_TRAT_DATI_PROFILO,
                JPC_CONTRATTI.FL_CONS_TRAT_DATI_ALT_SOC,
                JPC_CONTRATTI.FL_NOTIFICA_A_CLIENTE, JPC_CONTRATTI.ACCOUNT_MOD, JPC_CONTRATTI.DATE_CREATOR,
                JPC_CONTRATTI.DATE_MOD, JPC_CONTRATTI.IS_ANNULLATO, JPC_CONTRATTI.UPGRADE_WIP,
                JPC_CONTRATTI.ARCHIVIATO_PER_STATS,
                JPC_ANAGRAFICA_CLIENTI.EMAIL, JPC_ANAGRAFICA_CLIENTI.EMAIL_RAPPR_LEGALE,
                decode(JPC_TIPI_SOGGETTO.CODICE, 'PF', null, JPC_ANAGRAFICA_CLIENTI.COGNOME || ' ' || JPC_ANAGRAFICA_CLIENTI.NOME),
                JPC_ANAGRAFICA_CLIENTI.EMAIL_REF_COMM, JPC_ANAGRAFICA_CLIENTI.TELEFONO, JPC_ANAGRAFICA_CLIENTI.CELLULARE,
                JPC_ANAGRAFICA_CLIENTI.CODICE_FISCALE, JPC_ANAGRAFICA_CLIENTI.PARTITA_IVA,
                JPC_CONTRATTI.ID_REC_ORIG, JPC_CONTRATTI.TIPO, JPC_REGIONI.NOME, JPC_CONTRATTI.CONTRATTO_NUM_1213,
                JPC_CONTRATTI.FATT_DA_COMPENSARE
            FROM DBSALES.JPC_CONTRATTI, JPC_CONTRATTI_RIGHE, JPC_VOCI_DI_LISTINO, JPC_STATI_CONTRATTO,
                JPC_STAGIONI, JPC_ANAGRAFICA_CLIENTI, JPC_TIPI_SOGGETTO, JPC_REGIONI
            WHERE
                ((JPC_CONTRATTI.ID_STAGIONI_FK = 579086 AND JPC_CONTRATTI.ID_STAGIONI_FK IS NOT NULL) AND (LOWER(
                (SELECT wm_concat(DISTINCT(JPC_SETTORI.CODICE))
                FROM JPC_CONTRATTI_RIGHE, JPC_SETTORI, JPC_FILE_SETTORI, JPC_POSTI_FILE_SETTORI
                WHERE JPC_CONTRATTI.ID_REC = JPC_CONTRATTI_RIGHE.ID_CONTRATTI_FK
                and JPC_CONTRATTI_RIGHE.ID_POSTI_FK is not null
                and (JPC_CONTRATTI_RIGHE.IS_ANNULLATO = 'F' or JPC_CONTRATTI_RIGHE.IS_ANNULLATO is null or
                JPC_CONTRATTI_RIGHE.UPGRADE_WIP = 'T')
                and JPC_POSTI_FILE_SETTORI.ID_FILE_SETTORI_FK = JPC_FILE_SETTORI.ID_REC
                and JPC_FILE_SETTORI.ID_SETTORI_FK = JPC_SETTORI.ID_REC
                and JPC_CONTRATTI_RIGHE.ID_POSTI_FK = JPC_POSTI_FILE_SETTORI.ID_REC
                )
            ) LIKE LOWER('%202%') ESCAPE'\'  AND
                (SELECT wm_concat(DISTINCT(JPC_SETTORI.CODICE))
                FROM JPC_CONTRATTI_RIGHE, JPC_SETTORI, JPC_FILE_SETTORI, JPC_POSTI_FILE_SETTORI
                WHERE JPC_CONTRATTI.ID_REC = JPC_CONTRATTI_RIGHE.ID_CONTRATTI_FK
                and JPC_CONTRATTI_RIGHE.ID_POSTI_FK is not null
                and (JPC_CONTRATTI_RIGHE.IS_ANNULLATO = 'F' or JPC_CONTRATTI_RIGHE.IS_ANNULLATO is null or
                JPC_CONTRATTI_RIGHE.UPGRADE_WIP = 'T')
                and JPC_POSTI_FILE_SETTORI.ID_FILE_SETTORI_FK = JPC_FILE_SETTORI.ID_REC
                and JPC_FILE_SETTORI.ID_SETTORI_FK = JPC_SETTORI.ID_REC
                and JPC_CONTRATTI_RIGHE.ID_POSTI_FK = JPC_POSTI_FILE_SETTORI.ID_REC
                )
            IS NOT NULL))
                and JPC_ANAGRAFICA_CLIENTI.ID_REC = JPC_CONTRATTI.ID_ANAGRAFICA_CLIENTI_FK
                and JPC_ANAGRAFICA_CLIENTI.ID_TIPI_SOGGETTO_FK = JPC_TIPI_SOGGETTO.ID_REC
                and JPC_ANAGRAFICA_CLIENTI.ID_REGIONI_FK = JPC_REGIONI.ID_REC(+)
               
                and JPC_CONTRATTI_RIGHE.ID_VOCE_LISTINO_PER_SCONTO_FK = JPC_VOCI_DI_LISTINO.ID_REC(+)
                and JPC_CONTRATTI.ID_REC = JPC_CONTRATTI_RIGHE.ID_CONTRATTI_FK(+)
                and JPC_CONTRATTI.ID_STATO_CONTRATTO_FK = JPC_STATI_CONTRATTO.ID_REC
                and JPC_CONTRATTI.ID_STAGIONI_FK = JPC_STAGIONI.ID_REC
                and JPC_CONTRATTI.IS_ANNULLATO = 'F'
                and JPC_CONTRATTI.TIPO = 'JPC'
            ) work

but SmartClient Version: v9.1p_2014-04-05/PowerEdition Deployment (built 2014-04-05) produces this wrong query:

Code:

SELECT COUNT(*) FROM DBSALES.JPC_CONTRATTI, JPC_CONTRATTI_RIGHE, JPC_VOCI_DI_LISTINO, JPC_STATI_CONTRATTO,
                JPC_STAGIONI, JPC_ANAGRAFICA_CLIENTI, JPC_TIPI_SOGGETTO, JPC_REGIONI
            WHERE
                ((JPC_CONTRATTI.ID_STAGIONI_FK = 579086 AND JPC_CONTRATTI.ID_STAGIONI_FK IS NOT NULL) AND (LOWER(
                (SELECT wm_concat(DISTINCT(JPC_SETTORI.CODICE))
                FROM JPC_CONTRATTI_RIGHE, JPC_SETTORI, JPC_FILE_SETTORI, JPC_POSTI_FILE_SETTORI
                WHERE JPC_CONTRATTI.ID_REC = JPC_CONTRATTI_RIGHE.ID_CONTRATTI_FK
                and JPC_CONTRATTI_RIGHE.ID_POSTI_FK is not null
                and (JPC_CONTRATTI_RIGHE.IS_ANNULLATO = 'F' or JPC_CONTRATTI_RIGHE.IS_ANNULLATO is null or
                JPC_CONTRATTI_RIGHE.UPGRADE_WIP = 'T')
                and JPC_POSTI_FILE_SETTORI.ID_FILE_SETTORI_FK = JPC_FILE_SETTORI.ID_REC
                and JPC_FILE_SETTORI.ID_SETTORI_FK = JPC_SETTORI.ID_REC
                and JPC_CONTRATTI_RIGHE.ID_POSTI_FK = JPC_POSTI_FILE_SETTORI.ID_REC
                )
            ) LIKE LOWER('%202%') ESCAPE'\'  AND
                (SELECT wm_concat(DISTINCT(JPC_SETTORI.CODICE))
                FROM JPC_CONTRATTI_RIGHE, JPC_SETTORI, JPC_FILE_SETTORI, JPC_POSTI_FILE_SETTORI
                WHERE JPC_CONTRATTI.ID_REC = JPC_CONTRATTI_RIGHE.ID_CONTRATTI_FK
                and JPC_CONTRATTI_RIGHE.ID_POSTI_FK is not null
                and (JPC_CONTRATTI_RIGHE.IS_ANNULLATO = 'F' or JPC_CONTRATTI_RIGHE.IS_ANNULLATO is null or
                JPC_CONTRATTI_RIGHE.UPGRADE_WIP = 'T')
                and JPC_POSTI_FILE_SETTORI.ID_FILE_SETTORI_FK = JPC_FILE_SETTORI.ID_REC
                and JPC_FILE_SETTORI.ID_SETTORI_FK = JPC_SETTORI.ID_REC
                and JPC_CONTRATTI_RIGHE.ID_POSTI_FK = JPC_POSTI_FILE_SETTORI.ID_REC
                )
            IS NOT NULL))
                and JPC_ANAGRAFICA_CLIENTI.ID_REC = JPC_CONTRATTI.ID_ANAGRAFICA_CLIENTI_FK
                and JPC_ANAGRAFICA_CLIENTI.ID_TIPI_SOGGETTO_FK = JPC_TIPI_SOGGETTO.ID_REC
                and JPC_ANAGRAFICA_CLIENTI.ID_REGIONI_FK = JPC_REGIONI.ID_REC(+)
               
                and JPC_CONTRATTI_RIGHE.ID_VOCE_LISTINO_PER_SCONTO_FK = JPC_VOCI_DI_LISTINO.ID_REC(+)
                and JPC_CONTRATTI.ID_REC = JPC_CONTRATTI_RIGHE.ID_CONTRATTI_FK(+)
                and JPC_CONTRATTI.ID_STATO_CONTRATTO_FK = JPC_STATI_CONTRATTO.ID_REC
                and JPC_CONTRATTI.ID_STAGIONI_FK = JPC_STAGIONI.ID_REC
                and JPC_CONTRATTI.IS_ANNULLATO = 'F'
                and JPC_CONTRATTI.TIPO = 'JPC'

maybe something related to this thread? http://forums.smartclient.com/showthread.php?t=29927

Viewing all articles
Browse latest Browse all 4756

Trending Articles