Solved

Time and Material Contract does not show as an option


Userlevel 5
Badge +12

Hi,

Testing in V15.4

I created a new Field Quotation or a new Service Order and am not able to select any Time and Material contracts, even though they are set up for the right nodes and are active and within date.

Is there a setting somewhere in V15 to allow T&M’s to be selected?

I can only see active normal contracts but cannot see any T&M’s at all.  In V14.5 when I select the Contract number field it always shows me all contracts and T&M’s.

Thanks

Chris

icon

Best answer by Phil Seifert 13 June 2022, 10:11

View original

11 replies

Userlevel 7
Badge +21

Hi Chris,

I just had another customer who experienced something similar in v15.3 HF4 where the T&M contracts did not appear in the look up.  They found the solution themselves when they saw the contract was set up for PM not UM.

Their words:

In the Time and Material Contract the Request Type Only PM was selected, after I change this to Only UM, the T&M Contract are visible.

Perhaps you can check this?

Userlevel 5
Badge +12

Hi Phil,

Thanks for the answer.  All our T&M’s are set to UM only.  These are all migrated from our V14.5 setup.  Are there any differences in the T&M’s in V14 to V15?

Thanks

Chris

 

Userlevel 6
Badge +10

Hi Chris,

Can you check the Retrieve Limit? But if you type the Contract ID in the lookup and still not showing then could be data problem.

Userlevel 5
Badge +12

Hi Joshua,

The Retrieve Limit is set to “No Limit” for Contracts and Contract Quotations (and for pretty much everything)…

I tried typing the full T&M contract ID in but got nothing.  If there are real contracts available, it does show those in a list but just none of the T&M’s.

Thanks

Chris

Userlevel 6
Badge +10

Hi Chris,

 

Can you run a query  on your database?

If you know SQL, pls email me on joshua.liem@ifs.com, so I can send you the query that is being used by the Contract Lookup.

With some investigation, you’ll be able to find out why TM Contract are not included.

I’ve suspected it is data issue.

 

Userlevel 7
Badge +21

Hi Joshua,

I was thinking the same thinking but not sure if he has SQL access for his on-premise environment.  I know he does not have RDP access to the server.  If you do send the SQL, please note his T&M does not have objects of service so the where clause conditions for the ccontl conditions are moot.

One thing I also note, though I don’t think this was in the query is his screen does not show a contract type whereas I have always seen this populated for customer contracts.  Perhaps because it is null it is causing a problem.

 

 

Userlevel 5
Badge +12

Hi Phil,

I spotted that the contract type was null when I sent my screenshot, so i added it but still the same situation.  Also, we have about 10 T&M’s that usually all show and only two if them had no Type selected.

Hi Joshua,

Phil is right that I will not have access to run the SQL myself but my colleagues do, so I can ask them to run it instead.  I’ll email you, copying them in.

Thank you

Chris

Userlevel 7
Badge +21

Hi Chris,

I compared the queries for the contract lookup between v14 and v15.4 and found there is a difference involving the drawdown…  Please see below:

 

The v15.4 query is on the right and as you can see there are two additional criteria used to filter.  Otherwise, the two queries are identical between the versions.

I would advise looking at your T&M contract for these conditions:

         AND (cconth.rb_drawdown_type IS NULL
              OR ISNULL(cconth.accum_qty, 0) < cconth.qty)

 

All other differences I found were normal (datetime, node, company, site).

Otherwise, the only other data I can find that perhaps is causing the issue is:

 

Userlevel 5
Badge +12

Hi Again,

We have noticed that this is related to the Node set on the T&M.  If no node is set, then we can see it but as soon as we set a node, then it cannot be seen.

Seems like it is related to the code around the nodes. Below is the query executed in each version of the software to show the contracts available to select. 

There are differences in the WHERE clause between the versions, specifically with regards to the cconth.node_id.

Astea v15.4

select * from (

          Select Distinct cconth.cconth_id cconth_id, ccontl.cconth_id ccontl_cconth_id,

          cconth.company_id company_id, company.descr company_descr,

          cconth.descr descr, cconth.rb_req_type_cover rb_req_type_cover,

          cconth.node_id node_id, cconth.priority priority, cconth.is_default

          is_default, cconth.is_full_coverage is_full_coverage, cplan.descr

          cplan_descr, cconth.fr_date fr_date, cconth.to_date to_date,

          cconth.contract_category contract_category, cconth.ccont_type_id

          ccont_type_id, cconth.is_warranty_contract is_warranty_contract,

          cconth.is_lease As is_lease

          From cconth Left Outer Join

          (ccontl Left Outer Join

          item On ccontl.item_id = item.item_id) On cconth.cconth_id =

          ccontl.cconth_id Left Outer Join

          company On cconth.company_id = company.company_id Left Outer Join

          cplan On cconth.cplan_id = cplan.cplan_id

          Where (((cconth.cconth_stat_id >= 200) And (cconth.cconth_stat_id < 455)) or

          ((cconth.cconth_stat_id >= 600) And (cconth.cconth_stat_id <= 700)))

          And (cconth.rb_record_type = 'C') And ((1 = 1)) And

          ((((ccontl.table_key='172695' And ccontl.rb_object_of_service='I') OR (ccontl.table_key='5966' And ccontl.rb_object_of_service='P') OR (ccontl.table_key='FRA003-M02' And ccontl.rb_object_of_service='S'))  AND ccontl.coverage_type IN ('S') AND ccontl.fr_date <= '20220602 23:59:59' AND ((cconth.cconth_stat_id < 450 AND ccontl.to_date + isnull(cconth.renewal_days, 0) >= '20220602 00:00:00') OR (((cconth.cconth_stat_id >= 450 AND  cconth.cconth_stat_id < 455) OR (cconth.cconth_stat_id >= 600 AND  cconth.cconth_stat_id < 700)) AND ccontl.to_date >='20220602 00:00:00')) AND (cconth.rb_drawdown_type is null or isnull(cconth.accum_qty, 0) <  cconth.qty) AND ccontl.rb_req_type_cover IN ('U', 'B') AND (cconth.company_id='FRE073EU' OR cconth.is_default='Y') OR (cconth.company_id='FRE073EU' AND cconth.is_full_coverage='Y' AND cconth.rb_req_type_cover IN ('U', 'B')) OR (cconth.is_default='Y' AND cconth.is_full_coverage='Y' AND cconth.rb_req_type_cover IN ('U', 'B'))) AND cconth.contract_category IN ('S') AND cconth.fr_date <= '20220602 23:59:59' AND ((cconth.cconth_stat_id < 450 AND cconth.to_date + isnull(cconth.renewal_days, 0) >= '20220602 00:00:00') OR (((cconth.cconth_stat_id >= 450 AND  cconth.cconth_stat_id < 455) OR (cconth.cconth_stat_id >= 600 AND  cconth.cconth_stat_id < 700)) AND cconth.to_date >='20220602 00:00:00')) AND cconth.rb_req_type_cover IN ('U', 'B')  and (is_default = 'N' or  ( is_default = 'Y' AND (cconth.node_id = 'EU_FR_FR' or cconth.node_id is NULL)))) And ((1 = 1)) And ((1 = 1))

        ) aofword order by cconth_id asc;set rowcount 0

 

Astea 14.5

select * from (

          Select Distinct cconth.cconth_id cconth_id, ccontl.cconth_id ccontl_cconth_id,

          cconth.company_id company_id, company.descr company_descr,

          cconth.descr descr, cconth.rb_req_type_cover rb_req_type_cover,

          cconth.node_id node_id, cconth.priority priority, cconth.is_default

          is_default, cconth.is_full_coverage is_full_coverage, cplan.descr

          cplan_descr, cconth.fr_date fr_date, cconth.to_date to_date,

          cconth.contract_category contract_category, cconth.ccont_type_id

          ccont_type_id, cconth.is_warranty_contract is_warranty_contract,

          cconth.is_lease As is_lease

          From cconth Left Outer Join

          (ccontl Left Outer Join

          item On ccontl.item_id = item.item_id) On cconth.cconth_id =

          ccontl.cconth_id Left Outer Join

          company On cconth.company_id = company.company_id Left Outer Join

          cplan On cconth.cplan_id = cplan.cplan_id

          Where (((cconth.cconth_stat_id >= 200) And (cconth.cconth_stat_id < 455)) or

          ((cconth.cconth_stat_id >= 600) And (cconth.cconth_stat_id <= 700)))

          And (cconth.rb_record_type = 'C') And ((1 = 1)) And

          ((((ccontl.table_key='172695' And ccontl.rb_object_of_service='I') OR (ccontl.table_key='5966' And ccontl.rb_object_of_service='P') OR (ccontl.table_key='FRA003-M02' And ccontl.rb_object_of_service='S')) AND ccontl.coverage_type IN ('S') AND ccontl.fr_date <= '20220602 23:59:59' AND ((cconth.cconth_stat_id < 450 AND ccontl.to_date + isnull(cconth.renewal_days, 0) >= '20220602 00:00:00') OR (((cconth.cconth_stat_id >= 450 AND  cconth.cconth_stat_id < 455) OR (cconth.cconth_stat_id >= 600 AND  cconth.cconth_stat_id < 700)) AND ccontl.to_date >='20220602 00:00:00')) AND ccontl.rb_req_type_cover IN ('U', 'B') AND (cconth.company_id='FRE073EU' OR cconth.is_default='Y') OR (cconth.company_id='FRE073EU' AND cconth.is_full_coverage='Y' AND cconth.rb_req_type_cover IN ('U', 'B')) OR (cconth.is_default='Y' AND cconth.is_full_coverage='Y' AND cconth.rb_req_type_cover IN ('U', 'B'))) AND cconth.contract_category IN ('S') AND cconth.fr_date <= '20220602 23:59:59' AND ((cconth.cconth_stat_id < 450 AND cconth.to_date + isnull(cconth.renewal_days, 0) >= '20220602 00:00:00') OR (((cconth.cconth_stat_id >= 450 AND  cconth.cconth_stat_id < 455) OR (cconth.cconth_stat_id >= 600 AND  cconth.cconth_stat_id < 700)) AND cconth.to_date >='20220602 00:00:00')) AND cconth.rb_req_type_cover IN ('U', 'B')  and (is_default = 'N' or  ( is_default = 'Y' AND (cconth.node_id in ('') or 1=1 or cconth.node_id is NULL)))) And ((1 = 1)) And ((1 = 1))

        ) aofword order by cconth_id asc;set rowcount 0

 

Regards

Chris

Userlevel 7
Badge +21

Hi Chris,

I suggest you log a ticket so IFS support can help further from this point if it is a code related issue.  Please also include a screen shot of your node setup in the T&M for this to be reviewed.

 

Userlevel 5
Badge +12

Hi Phil,

I can do that but this is a trial version of V15.4, without any customizations.  I’ll discuss it with our consultant.

Thanks

Chris

Reply