As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only.
Join the TIBCO Community TIBCO Community is a collaborative space for users to share knowledge and support one another in making the best use of TIBCO products and services. There are several TIBCO WebFOCUS resources in the community.
From the Home page, select Predict: WebFOCUS to view articles, questions, and trending articles.
Select Products from the top navigation bar, scroll, and then select the TIBCO WebFOCUS product page to view product overview, articles, and discussions.
Request access to the private WebFOCUS User Group (login required) to network with fellow members.
Former myibi community members should have received an email on 8/3/22 to activate their user accounts to join the community. Check your Spam folder for the email. Please get in touch with us at community@tibco.com for further assistance. Reference the community FAQ to learn more about the community.
I have a report in my production server which prompts for some parameters and one of the parameters is 'Region'. I have the same report in my test server which also prompts for the same parameter but the 'Region' parameter name does not show up. Here is the copy of the fex.
JOIN COMPANY IN F0010 TO MULTIPLE COMPANY IN F0006 AS J001
END
JOIN F0006.BUSINESS_UNIT IN F0010 TO MULTIPLE F0901.BUSINESS_UNIT IN F0901 AS J002
END
JOIN F0901.ACCOUNT_ID IN F0010 TO MULTIPLE F0902.ACCOUNT_ID IN F0902 AS J003
END
DEFINE FILE F0010
BegBalance/D16.2 = IF F0902.LEDGER_TYPE EQ 'AU' THEN 0
ELSE IF F0902.OBJECT_ACCOUNT GE '4000' THEN 0 ELSE F0902.BAL_FWD;
InputPeriod/D2 = &Period.Enter the 2 Digit Period (02 for February).;
Month/A15 = DECODE InputPeriod (1 'January' 01 'January'
2 'February' 02 'February'
3 'March' 03 'March'
4 'April' 04 'April'
5 'May' 05 'May'
6 'June' 06 'June'
7 'July' 07 'July'
8 'August' 08 'August'
9 'September' 09 'September'
10 'October'
11 'November'
12 'December');
PeriodBal/D16.2 = IF F0902.LEDGER_TYPE EQ 'AU' THEN 0
ELSE IF InputPeriod EQ 1 THEN F0902.NET_POSTING_01
ELSE IF InputPeriod EQ 2 THEN F0902.NET_POSTING_02
ELSE IF InputPeriod EQ 3 THEN F0902.NET_POSTING_03
ELSE IF InputPeriod EQ 4 THEN F0902.NET_POSTING_04
ELSE IF InputPeriod EQ 5 THEN F0902.NET_POSTING_05
ELSE IF InputPeriod EQ 6 THEN F0902.NET_POSTING_06
ELSE IF InputPeriod EQ 7 THEN F0902.NET_POSTING_07
ELSE IF InputPeriod EQ 8 THEN F0902.NET_POSTING_08
ELSE IF InputPeriod EQ 9 THEN F0902.NET_POSTING_09
ELSE IF InputPeriod EQ 10 THEN F0902.NET_POSTING_10
ELSE IF InputPeriod EQ 11 THEN F0902.NET_POSTING_11
ELSE F0902.NET_POSTING_12;
PeriodUnits/D16.2 = IF F0902.LEDGER_TYPE EQ 'AA' THEN 0
ELSE IF InputPeriod EQ 1 THEN F0902.NET_POSTING_01
ELSE IF InputPeriod EQ 2 THEN F0902.NET_POSTING_02
ELSE IF InputPeriod EQ 3 THEN F0902.NET_POSTING_03
ELSE IF InputPeriod EQ 4 THEN F0902.NET_POSTING_04
ELSE IF InputPeriod EQ 5 THEN F0902.NET_POSTING_05
ELSE IF InputPeriod EQ 6 THEN F0902.NET_POSTING_06
ELSE IF InputPeriod EQ 7 THEN F0902.NET_POSTING_07
ELSE IF InputPeriod EQ 8 THEN F0902.NET_POSTING_08
ELSE IF InputPeriod EQ 9 THEN F0902.NET_POSTING_09
ELSE IF InputPeriod EQ 10 THEN F0902.NET_POSTING_10
ELSE IF InputPeriod EQ 11 THEN F0902.NET_POSTING_11
ELSE F0902.NET_POSTING_12;
YTDPostings/D16.2 = IF F0902.LEDGER_TYPE EQ 'AU' THEN 0
ELSE IF InputPeriod EQ 1 THEN F0902.NET_POSTING_01
ELSE IF InputPeriod EQ 2 THEN F0902.NET_POSTING_01 + F0902.NET_POSTING_02
ELSE IF InputPeriod EQ 3 THEN F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03
ELSE IF InputPeriod EQ 4 THEN F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04
ELSE IF InputPeriod EQ 5 THEN F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05
ELSE IF InputPeriod EQ 6 THEN F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06
ELSE IF InputPeriod EQ 7 THEN F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06 + F0902.NET_POSTING_07
ELSE IF InputPeriod EQ 8 THEN F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06 + F0902.NET_POSTING_07 + F0902.NET_POSTING_08
ELSE IF InputPeriod EQ 9 THEN F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06 + F0902.NET_POSTING_07 + F0902.NET_POSTING_08 + F0902.NET_POSTING_09
ELSE IF InputPeriod EQ 10 THEN F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06 + F0902.NET_POSTING_07 + F0902.NET_POSTING_08 + F0902.NET_POSTING_09 + F0902.NET_POSTING_10
ELSE IF InputPeriod EQ 11 THEN F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06 + F0902.NET_POSTING_07 + F0902.NET_POSTING_08 + F0902.NET_POSTING_09 + F0902.NET_POSTING_10 + InputPeriod EQ 11
ELSE F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06 + F0902.NET_POSTING_07 + F0902.NET_POSTING_08 + F0902.NET_POSTING_09 + F0902.NET_POSTING_10 + InputPeriod EQ 11 + F0902.NET_POSTING_12;
EndBal/D16.2 = IF F0902.LEDGER_TYPE EQ 'AU' THEN 0
ELSE IF InputPeriod EQ 1 THEN BegBalance + F0902.NET_POSTING_01
ELSE IF InputPeriod EQ 2 THEN BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02
ELSE IF InputPeriod EQ 3 THEN BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03
ELSE IF InputPeriod EQ 4 THEN BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04
ELSE IF InputPeriod EQ 5 THEN BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05
ELSE IF InputPeriod EQ 6 THEN BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06
ELSE IF InputPeriod EQ 7 THEN BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06 + F0902.NET_POSTING_07
ELSE IF InputPeriod EQ 8 THEN BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06 + F0902.NET_POSTING_07 + F0902.NET_POSTING_08
ELSE IF InputPeriod EQ 9 THEN BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06 + F0902.NET_POSTING_07 + F0902.NET_POSTING_08 + F0902.NET_POSTING_09
ELSE IF InputPeriod EQ 10 THEN BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06 + F0902.NET_POSTING_07 + F0902.NET_POSTING_08 + F0902.NET_POSTING_09 + F0902.NET_POSTING_10
ELSE IF InputPeriod EQ 11 THEN BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06 + F0902.NET_POSTING_07 + F0902.NET_POSTING_08 + F0902.NET_POSTING_09 + F0902.NET_POSTING_10 + InputPeriod EQ 11
ELSE BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06 + F0902.NET_POSTING_07 + F0902.NET_POSTING_08 + F0902.NET_POSTING_09 + F0902.NET_POSTING_10 + InputPeriod EQ 11 + F0902.NET_POSTING_12;
UnitsEndBalance/D16.2 = IF F0902.LEDGER_TYPE EQ 'AA' THEN 0
ELSE IF InputPeriod EQ 1 THEN BegBalance + F0902.NET_POSTING_01
ELSE IF InputPeriod EQ 2 THEN BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02
ELSE IF InputPeriod EQ 3 THEN BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03
ELSE IF InputPeriod EQ 4 THEN BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04
ELSE IF InputPeriod EQ 5 THEN BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05
ELSE IF InputPeriod EQ 6 THEN BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06
ELSE IF InputPeriod EQ 7 THEN BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06 + F0902.NET_POSTING_07
ELSE IF InputPeriod EQ 8 THEN BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06 + F0902.NET_POSTING_07 + F0902.NET_POSTING_08
ELSE IF InputPeriod EQ 9 THEN BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06 + F0902.NET_POSTING_07 + F0902.NET_POSTING_08 + F0902.NET_POSTING_09
ELSE IF InputPeriod EQ 10 THEN BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06 + F0902.NET_POSTING_07 + F0902.NET_POSTING_08 + F0902.NET_POSTING_09 + F0902.NET_POSTING_10
ELSE IF InputPeriod EQ 11 THEN BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06 + F0902.NET_POSTING_07 + F0902.NET_POSTING_08 + F0902.NET_POSTING_09 + F0902.NET_POSTING_10 + InputPeriod EQ 11
ELSE BegBalance + F0902.NET_POSTING_01 + F0902.NET_POSTING_02 + F0902.NET_POSTING_03 + F0902.NET_POSTING_04 + F0902.NET_POSTING_05 + F0902.NET_POSTING_06 + F0902.NET_POSTING_07 + F0902.NET_POSTING_08 + F0902.NET_POSTING_09 + F0902.NET_POSTING_10 + InputPeriod EQ 11 + F0902.NET_POSTING_12;
InputFromAccount/D4 = &From_Account.From Object Account (Example 1110).;
SCRUBFromAccount/A4 = EDIT(InputFromAccount);
InputToAccount/D4 = &To_Account.To Object Account (Example 5500).;
SCRUBToAccount/A4 = EDIT(InputToAccount);
InputFY/D4 = &Fiscal_Year.Enter the 2 Digit Fiscal Year (YY).;
Blank/A1 = ' ';
END
TABLE FILE F0010
SUM
'F0006.LOCATION' AS 'Plant Number'
'F0902.BUSINESS_UNIT'
'F0902.OBJECT_ACCOUNT' AS 'Object,Account'
'F0902.SUBSIDIARY' AS 'Subsidiary'
'F0901.DESCRIPTION' AS 'Account Name'
'F0902.ACCOUNT_ID' NOPRINT
BegBalance AS 'Beginning Balance,Dollars'
PeriodBal AS 'Period Activity, Dollars'
YTDPostings AS 'Postings YTD, Dollars'
EndBal AS 'Current Balance,Dollars'
PeriodUnits AS 'Period Activity, Units'
UnitsEndBalance AS 'Current Balance, Units'
COMPUTE PRINTFLAG/I1 = IF BegBalance NE 0 THEN 1
ELSE IF PeriodBal NE 0 THEN 1
ELSE IF YTDPostings NE 0 THEN 1
ELSE 0; NOPRINT
BY
'F0902.COMPANY' NOPRINT
BY
'F0902.FISCAL_YEAR' AS 'Fiscal,Year' NOPRINT
BY
'F0006.LOCATION' AS 'Plant Number' NOPRINT
BY
'F0902.OBJECT_ACCOUNT' NOPRINT
BY
'F0902.BUSINESS_UNIT' NOPRINT
BY
'F0902.SUBSIDIARY' NOPRINT
ON F0902.COMPANY PAGE-BREAK REPAGE
ON F0006.LOCATION PAGE-BREAK
ON F0006.LOCATION SUBTOTAL
ON F0902.OBJECT_ACCOUNT SUBTOTAL
HEADING
"G/L Period Account Inquiry"
"For <Month , 20&Fiscal_Year.Enter the 2 Digit Fiscal Year [YY)."
"Account Range: <SCRUBFromAccount to <SCRUBToAccount "
"Company: <F0902.COMPANY <F0010.NAME "
FOOTING
"Date Report Generated: &DATE"
WHERE ( LEDGER_TYPE EQ 'AA' OR 'AU' ) AND ( FISCAL_YEAR EQ &Fiscal_Year.Enter the 2 Digit Fiscal Year (YY). );
WHERE ( OBJECT_ACCOUNT GE '&From_Account.From Object Account (Example 1110).' ) AND ( OBJECT_ACCOUNT LE '&To_Account.To Object Account (Example 5500).' );
-*WHERE ( COMPANY EQ &Company.(OR(FIND F0010.COMPANY IN F0010)).Company. );
-*WHERE ( F0902.COMPANY EQ '&Company.Enter the 5 Digit Company (Example 00002).' );
WHERE ( F0010.REGION EQ '®ION.(<Corporate,C>,<Discontinued,D>,<HAP Admin,H>,<HAP Other,O>,<Material Service,Z>,<Mideast,M>,<Northeast,N>,<Southwest,S>,<West,W>,<Unspecified, >).Region.');
-IF &LocCode.Enter the 4 DIGIT Location or Leave Blank for All Locations (Example E719). EQ 'ALL' OR '' OR ' ' THEN SKIPLOC
WHERE ( F0006.LOCATION EQ '&LocCode.Enter the 4 DIGIT Location or Leave Blank for All Locations (Example E719).');
-SKIPLOC
WHERE TOTAL (PRINTFLAG EQ 1);
ON TABLE SET PAGE-NUM OFF
ON TABLE COLUMN-TOTAL AS 'TOTAL'
ON TABLE PCHOLD FORMAT &WFFMT.(<PDF,PDF>,<Excel 2000,EXL2K>).Select type of display output.
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
UNITS=IN,
PAGESIZE='Letter',
LEFTMARGIN=0.400000,
RIGHTMARGIN=0.400000,
TOPMARGIN=0.500000,
BOTTOMMARGIN=0.500000,
SQUEEZE=ON,
ORIENTATION=LANDSCAPE,
$
TYPE=REPORT,
FONT='TIMES NEW ROMAN',
SIZE=8,
COLOR='BLACK',
BACKCOLOR='NONE',
STYLE=NORMAL,
RIGHTGAP=0.100000,
TOPGAP=0.013889,
BOTTOMGAP=0.027778,
$
TYPE=DATA,
FONT='ARIAL',
STYLE=NORMAL,
JUSTIFY=RIGHT,
SIZE=7,
$
TYPE=TITLE,
FONT='ARIAL',
STYLE=BOLD,
JUSTIFY=CENTER,
$
TYPE=HEADING,
FONT='ARIAL',
STYLE=BOLD,
JUSTIFY=CENTER,
SIZE=10,
$
ENDSTYLE
END
The line for the 'Region' is as follows:
WHERE ( F0010.REGION EQ '®ION.(<Corporate,C>,<Discontinued,D>,<HAP Admin,H>,<HAP Other,O>,<Material Service,Z>,<Mideast,M>,<Northeast,N>,<Southwest,S>,<West,W>,<Unspecified, >).Region.');
In production this looks ok. In test, the only way I can make it show up if I add something after the . It is set to blank becasue that is how it is in the database. If remove ' from the line or add something like , then it will show up in the report.
My both enviroments are the same. Both have the WebFOCUS 7.6.9 Hot Fix 5, which is Gen = 30.
I am not sure what could be causing the problem. Also it is possible to find out if the Hot Fix is installed correct in the test server?
thanks, Khurram.This message has been edited. Last edited by: Kerry,
My advice is to FORGET about using autoprompting. It was NEVER intended to be used in a production setting like you (and many other people) are trying to do. It's funny what great lengths WF programmers will go to in order to get autoprompting to work like they want, and then it's still not 100% reliable. No personal attack intended, just an observation based on the large number of questions posted about autoprompting.
You are doing some significant gathering of parameter values. Don't short yourself by relying on autoprompting to hopefully take care of what you need. Take an extra minute and create some actual HTML launch pages.
It will also clean up a lot of your code and allow you to separate the actual processing code from the parameter gathering
Regards,
Darin
In FOCUS since 1991 WF Server: 7.7.04 on Linux and Z/OS, ReportCaster, Self-Service, MRE, Java, Flex Data: DB2/UDB, Adabas, SQL Server Output: HTML,PDF,EXL2K/07, PS, AHTML, Flex WF Client: 77 on Linux w/Tomcat
Posts: 2298 | Location: Salt Lake City, Utah | Registered: February 02, 2007
I completely understand. What we are doing is creating a new server and we have moved all our reports to that server. We are not testing the report. This is one of the issue we saw so we asked if there was anything that we might have missed. Those reports are already built and working in our production environment but causes the parameters to not show in test. We need to know what could be causing it.
If you've set up a compeltely new server, I would guess that you're missing the correct client settings for IBIF_wfdescribe and/or IBIMR_prompting. Both of these are available through the client administration tool. They are both documented in the manuals, but for now, I would just look at your old server and set these settings to the same values (assuming that the WF version is the same. If not (i.e. you are upgrading WF software as well as moving to a new server,) I would check out the documentation to make sure you get the desired behavior.
Regards,
Darin
In FOCUS since 1991 WF Server: 7.7.04 on Linux and Z/OS, ReportCaster, Self-Service, MRE, Java, Flex Data: DB2/UDB, Adabas, SQL Server Output: HTML,PDF,EXL2K/07, PS, AHTML, Flex WF Client: 77 on Linux w/Tomcat
Posts: 2298 | Location: Salt Lake City, Utah | Registered: February 02, 2007
So are you testing or not? - Hope you have appropriate additional licenses for your test environment... I'm not assuming anything, but I'm suprised sometimes that users will go ahead and setup up multiple environments, (i.e. dev, test, qa, and prod) thinking that their license allows for that, when it usually does not.
Regards,
Darin
In FOCUS since 1991 WF Server: 7.7.04 on Linux and Z/OS, ReportCaster, Self-Service, MRE, Java, Flex Data: DB2/UDB, Adabas, SQL Server Output: HTML,PDF,EXL2K/07, PS, AHTML, Flex WF Client: 77 on Linux w/Tomcat
Posts: 2298 | Location: Salt Lake City, Utah | Registered: February 02, 2007
Darin, first of all thanks for the prompt response. We are testing the report in the test server. We do have a license for 2 enviroments. I will check the IBIF_wfdescribe and/or IBIMR_prompting to see any difference. Do you know if there is a way to tell whether a certain hot fix is properly installed. I mean how do we know for sure that the certain hot fix is indeed installed successfully.
Thank you, Francis. I do see both server are on the same gen# which is 30. But how can I tell if the hot fix installed has actually updated the files. Is there a way?
According to this Tech Support Technique,How to determine what Hotfix WebFOCUS is on, navigating to this URL will give you a Gen number which you have to cross reference with a web page at Information Builders:
cool. thank you francis. I had found this URL as well. I have confirmed that the gen# is 30 on both but I need to confirm if the hot fix indeed all the files.
Heed Darin's suggestion and don't worry too much about hot fixes. Test the auto prompting with a simple program. If that works, then worry. It it doesn't work, then it's most likely IBIF_wfdescribe and/or IBIMR_prompting.
After you fix the issue, I would suggest you never use auto prompting.
Francis
Give me code, or give me retirement. In FOCUS since 1991
Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server