HP SM 9.31 - Mass Update - Failed validation - Fill does not display the QBE

Hello Everyone,

 

Details:

1) I am using HP SM 9.31.

2) Issue/functionality observed on both Windows Client and Web Client

3) Using Mass update on Problem Management 

 

Steps to Reproduce:

1) System Navigator > Problem Management > Problem Control > Search Problems

2) Select "Open" check box and Click on the "Search" icon to begin search

3) From the list of problem records displayed highlight/ select any two(or more) records and click on "Mass Update"

4) Enter "Activity Type" and "Activity Update" and Click on "Assignment Group" [in datadict this validations are updated for this field to look up in assignment file] a Field with Fill button is displayed                                                                                                              {wizard-template.editValue_link_1(wizard.display.template.editValue)}

5) Click on the fill button, a  List of Assignment Group entries are dispalyed {assignment.qbe.g(us.fill.qbe)}

6) select a value from the list and click on Next

7) You are back to the Mass Update screen {Template.massupdate(template.massupdate)}

8) Click on Execute button.

**a bit of background here - in Master Format Control a validation is in place to check if the Assignment Group belongs to the company as that of the Service(affected.item)**

9) Validation fails with a message to select an appropriate Assignment Group

10) Now again Click on "Assignment Group" to re-enter value, a Field with Fill button is displayed                                                                                                              {wizard-template.editValue_link_1(wizard.display.template.editValue)}

11) Click on the fill button - an assignment group is auto poplulated in the field "{assignment.qbe.g(us.fill.qbe)} is not displayed" . {not the desired outcome for us}

12) Further investigation reveals that, in the Field in step (10) , if I enter any character, the fill finds a related match(Starts with) and auto populates a value again -- "{assignment.qbe.g(us.fill.qbe)} is not displayed" . {not the desired outcome for us}

 

Desired Out Come:

1) When the validation fails and I try to use the fill button,  the List of Assignment Group entries {assignment.qbe.g(us.fill.qbe)} should be displayed.

 

What Have I tried:

1) Tried changing the link line query for "assignment" on the "rootcause" link

2) Disabled the "fill" action on the "wizard.display" display screen - to make sure that the "wizard.display.template.editValue" display screen is being used.

3) Enabled Trace in case 1 -(Steps to Reproduce point 5) and following is the trace

 

Spoiler (Highlight to read)

t on
Trace enabled
|16| co
|16| decide.lock
|16| check.option.1
|16| process.option
|16| check.rad
|16| call.rad
|16| RAD: us.link
|16| start
|16| check.source
|16| get.link.field
|16| check.link
|16| get.init.index
|16| check.link.line
|16| eval.expressions
|16| decide.skip
|16| get.target.format
|16| init.target.file
|16| get.format.and.field
|16| decide.create.qbe
|16| create.qbe
|16| check.background.xlate
|16| check.addl.query
|16| get.addl.query
|16| select.records
|16| many.records
|16| check.action
|16| call.fill
|16| RAD: us.fill
|16| start
|16| decide.many
|16| set.multiselect
|16| RAD: us.set.multiselect
|16| start
|16| get.qbe
|16| RAD: se.get.record
|16| start
|16| check.key
|16| start.1
|16| check.current.record
|16| init.record
|16| get.record
|16| exit.normal
|16| cleanup
|16| decide.exit
|16| *return* - removed angle brackets
|16| RAD: us.set.multiselect
|16| prep.qbe
|16| exit.normal
|16| cleanup
|16| decide.exit
|16| *return* - removed angle brackets
|16| RAD: us.fill
|16| display.qbe
|16| RAD: display
|16| start
|16| start.1
|16| init.variables
|16| init.filed
|16| init.filed.1
|16| rinit.screen
|16| rinit.options
|16| rinit.cache
|16| set.variables
|16| select.screen.from.cache
|16| RAD: fetch.ds.from.cache
|16| start
|16| test
|16| load
|16| *return* - removed angle brackets
|16| RAD: display
|16| flag.hit
|16| prep.screen
|16| screen.msg
|16| select.options
|16| select.options.from.cache
|16| check.wfPhase
|16| check.text
|16| rinit.events
|16| decide.from.cache
|16| check.text
|16| display
|16| display.decide
|16| display.go
|16| display.go.1
|16| fdisp
|16| fdisp.1
t off
Trace disabled

t onTrace enabled|16| co|16| decide.lock|16| check.option.1|16| process.option|16| check.rad|16| call.rad|16| RAD: us.link|16| start|16| check.source|16| get.link.field|16| check.link|16| get.init.index|16| check.link.line|16| eval.expressions|16| decide.skip|16| get.target.format|16| init.target.file|16| get.format.and.field|16| decide.create.qbe|16| create.qbe|16| check.background.xlate|16| check.addl.query|16| get.addl.query|16| select.records|16| many.records|16| check.action|16| call.fill|16| RAD: us.fill|16| start|16| decide.many|16| set.multiselect|16| RAD: us.set.multiselect|16| start|16| get.qbe|16| RAD: se.get.record|16| start|16| check.key|16| start.1|16| check.current.record|16| init.record|16| get.record|16| exit.normal|16| cleanup|16| decide.exit|16| *return* - removed angle brackets|16| RAD: us.set.multiselect|16| prep.qbe|16| exit.normal|16| cleanup|16| decide.exit|16| *return* - removed angle brackets|16| RAD: us.fill|16| display.qbe|16| RAD: display|16| start|16| start.1|16| init.variables|16| init.filed|16| init.filed.1|16| rinit.screen|16| rinit.options|16| rinit.cache|16| set.variables|16| select.screen.from.cache|16| RAD: fetch.ds.from.cache|16| start|16| test|16| load|16| *return* - removed angle brackets|16| RAD: display|16| flag.hit|16| prep.screen|16| screen.msg|16| select.options|16| select.options.from.cache|16| check.wfPhase|16| check.text|16| rinit.events|16| decide.from.cache|16| check.text|16| display|16| display.decide|16| display.go|16| display.go.1|16| fdisp|16| fdisp.1t offTrace disabled

  

4)Enabled Trace in case 2 -(Steps to Reproduce point 10) and following is the trace

Spoiler (Highlight to read)

t on
Trace enabled
|16| co
|16| decide.lock
|16| check.option.1
|16| process.option
|16| check.rad
|16| call.rad
|16| RAD: us.link
|16| start
|16| check.source
|16| get.link.field
|16| check.link
|16| get.init.index
|16| check.link.line
|16| eval.expressions
|16| decide.skip
|16| get.target.format
|16| init.target.file
|16| get.format.and.field
|16| decide.create.qbe
|16| create.qbe
|16| check.background.xlate
|16| xlate.background
|16| check.addl.query
|16| get.addl.query
|16| select.records
|16| many.records
|16| check.action
|16| call.fill
|16| RAD: us.fill
|16| start
|16| decide.many
|16| decide.project
|16| decide.project.1
|16| move.fields
|16| eval.post.expressions
|16| exit.normal
|16| cleanup
|16| decide.exit
|16| *return* - removed angle brackets
|16| RAD: us.link
|16| check.recurse
|16| exit.normal
|16| cleanup
|16| check.window
|16| decide.exit
|16| *return* - removed angle brackets
|16| RAD: display
|16| get.action
|16| check.return
|16| save.variables
|16| cleanup
|16| *return* - removed angle brackets
|16| RAD: wizard.run
|16| post.display
|16| display.decide
|16| display
|16| display.1
|16| RAD: display
|16| start
|16| start.1
|16| init.variables
|16| init.filed
|16| init.filed.1
|16| rinit.screen
|16| rinit.options
|16| rinit.cache
|16| set.variables
|16| select.screen.from.cache
|16| RAD: fetch.ds.from.cache
|16| start
|16| test
|16| load
|16| *return* - removed angle brackets
|16| RAD: display
|16| flag.hit
|16| prep.screen
|16| screen.msg
|16| select.options
|16| select.options.from.cache
|16| check.wfPhase
|16| check.text
|16| rinit.events
|16| decide.from.cache
|16| check.text
|16| display
|16| display.decide
|16| display.go
|16| display.go.1
|16| check.rio.opts
|16| show.rio
t off
Trace disabled

t onTrace enabled|16| co|16| decide.lock|16| check.option.1|16| process.option|16| check.rad|16| call.rad|16| RAD: us.link|16| start|16| check.source|16| get.link.field|16| check.link|16| get.init.index|16| check.link.line|16| eval.expressions|16| decide.skip|16| get.target.format|16| init.target.file|16| get.format.and.field|16| decide.create.qbe|16| create.qbe|16| check.background.xlate|16| xlate.background|16| check.addl.query|16| get.addl.query|16| select.records|16| many.records|16| check.action|16| call.fill|16| RAD: us.fill|16| start|16| decide.many|16| decide.project|16| decide.project.1|16| move.fields|16| eval.post.expressions|16| exit.normal|16| cleanup|16| decide.exit|16| *return* - removed angle brackets|16| RAD: us.link|16| check.recurse|16| exit.normal|16| cleanup|16| check.window|16| decide.exit|16| *return* - removed angle brackets|16| RAD: display|16| get.action|16| check.return|16| save.variables|16| cleanup|16| *return* - removed angle brackets|16| RAD: wizard.run|16| post.display|16| display.decide|16| display|16| display.1|16| RAD: display|16| start|16| start.1|16| init.variables|16| init.filed|16| init.filed.1|16| rinit.screen|16| rinit.options|16| rinit.cache|16| set.variables|16| select.screen.from.cache|16| RAD: fetch.ds.from.cache|16| start|16| test|16| load|16| *return* - removed angle brackets|16| RAD: display|16| flag.hit|16| prep.screen|16| screen.msg|16| select.options|16| select.options.from.cache|16| check.wfPhase|16| check.text|16| rinit.events|16| decide.from.cache|16| check.text|16| display|16| display.decide|16| display.go|16| display.go.1|16| check.rio.opts|16| show.riot offTrace disabled

Did any one work on a similar requirement earlier, how did you work around this. Any input would be helpful.

  

  • Verified Answer

    Tried multiple ways to get the desired results,  the following steps worked.

     

    What worked:

    1) Open displayoption "wizard.display.template.editValue_fill"

    2) Added $dlt.g.bg=$G.bg;$G.bg=false to Pre Rad Expressions

    3) Added $G.bg=$dlt.g.bg;cleanup($dlt.g.bg) to Post Rad Expressions

     

    Currently running tests to check if this breaks any other flow. 

    I will post back with updates, if any.