I’m looking for a way to easily map all of the screen output fields’ attributes to the procedure output.
Currently the only way I can think of is to create an attribute object for every field in the output and use an expression to map it. That means for every output field I’ll have the field data output plus its attribute output. I’ll have an expression for every field as well. So that’s a lot of manual mapping for our application which is nearly 200 screens.
Is there an easier way to do it, now or in the near future?
Can you elaborate on what it is exactly you want accomplish with this procedure?
A better understanding of the bigger picture will help us give you a better solution , if possible.
I would like my procedure to output the screen attributes for every field- background color, foreground color, is protected, etc. I would like to do this as easily as it is now to map screen field to procedure output- right click and select map to procedure output.
As it is now, I need to make a field attributes expression for each field and make a corresponding procedure output, then I can map it.
are you using the ApplinX Base Object? If so, you can just use the checkbox in the mapper “send to base object” ("When the Path procedure is executed using the ApplinX Base Object, the entire screen can be added to the path response using the Send to Base Object checkbox. " http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/wmsuites/wmsuite8-2_ga/ApplinX/8-2-SP1_ApplinX/refguide/procedures.htm#d0e6009)
I’m not using the base object to execute the procedure. It’s a web service call to a procedure group.
Currently, the easiest way to achieve what you want is:
From the Field attribute expression. Highlight all the attributes, right click and select “New Data Structure”. (see newDS.jpg)
Create an output variable fro each desired field. The variable should be a structure of the type you created earlier.(see outputVar.jpg)
Drag the each field’s attributes expression on to it corresponding variable.(see dragging.jpg)
All the attributes will be automatically mapped.
While this will not help you avoid creating an output variable and mapping each field. It will help you avoid having to map each attribute of each field.
I hope this helps,
Thanks. The steps you outlined are as I expected I need to do.
But I do notice that the field attributes expression also includes the field content. If that is the same content as a normal screen field mapping then perhaps I can just change the current outputs to the fieldAttribute structure and then map from the expression.
That’s a good idea.
The Content attribute does indeed has the same value you get when you map a field using a regular screen mapper.