How to change field names in a report layout using a script

Is it possible to specify the name of a field to be printed on a report layout using a script ?

I have a report that has to be printed 6 different ways. The 6 reports are almost identical, where the only difference resides in the name of 1 field that changes in each of these reports. So I would like to create only 1 layout instead of 6, and use a script (or whatever technique appropriate) that would get the proper field name to print, based on a selection made by the user.

Is this possible ?

Thanks.
ndidomenicoAsked:
Who is Participating?
 
lesouefConnect With a Mentor Commented:
2
I thought it was the same field for everybody; if this is false, then use the calc. field as it will be faster than a loop in a script
and
for your other thought, you still something to get the value from the selected field.
so assuming you store the field to be chosen in a global named "field2select", place a calc field in the layout, say "selectedFieldContent"=getfield(field2select) which will get the value of the field specified in field2select. but that means that it is the same field for all records if the field2select is global. If it has to be different, then field2select must be standard. but I still think a variable can do it... my pb is that I don't know how you decide on which field to select
0
 
lesouefCommented:
you can use a seventh field for the layout, calculated from the other 6 values + the report type:
7th field definition =
case (
report_type=1 ; data1 ;
report_type=2 ; data2 ;
report_type=3 ; data3 ;
report_type=4 ; data4 ;....
)

 or
use a normal 7th text field and have the print script to change its value accordingly.
0
 
ndidomenicoAuthor Commented:
I think I understand your suggestion and got it to work. Thanks !
Below are the steps I used. Is this what you had in mind?:
1) Create a calculated, unstored field named Field7 which returns a Text value
2) Entered the "case..." statement in the field definition.
3) Created a global field called report_type which gets set by my script (1,2,3..)

Now, for your 2nd option, I'm not sure I understand properly. Is this 7th field a "regular" text field (not calculated, not global) and put in there one of the 6 field names ?. Could you give me more details ?

Thanks
0
Cloud Class® Course: Microsoft Exchange Server

The MCTS: Microsoft Exchange Server 2010 certification validates your skills in supporting the maintenance and administration of the Exchange servers in an enterprise environment. Learn everything you need to know with this course.

 
lesouefCommented:
1
roughly, yes. the global field for the report type could have been a variable too.
2
yes, instead of using a calc. field, your script calculates the result and put it in a regular field. fairly equiv. to solution 1
0
 
ndidomenicoAuthor Commented:
2:
In this scenario, the script must calculate the result for each and every record in the table before printing the report ?

I was hoping for a solution where the script could store in a global the name of the field that has to be printed on the layout, and use this global in the layout to get the appropriate field to print. Doesn't work that way, right ?



0
 
ndidomenicoAuthor Commented:
Thanks for the solution. Works great! I'm using the calc. field + global for the field name method.
0
 
lesouefCommented:
perfect then
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.