NIH Public Information and Communication Services (PICS)

List of Contractors

<@IF "<@TOTALROWS> = -1"> There are <@CALC EXPR="<@NUMROWS>-1"> firms. <@ELSEIF "<@TOTALROWS> != 1"> There are <@CALC EXPR="<@TOTALROWS>-1"> firms. <@ELSE> There is 1 firm.

Click on the Company Name to get details about the type of services that Company offers.
Click on the URL to go to the company's website.

<@ROWS> <@IF EXPR="(<@ABSROW> endswith 0) OR (<@ABSROW> endswith 2) OR (<@ABSROW> endswith 4) OR (<@ABSROW> endswith 6) OR (<@ABSROW> endswith 8)"> <@ELSE>
Company Name URL Business
Size
Woman
Owned?
Address Phone Contract
Number
"><@COLUMN "Firms.Name"> "><@COLUMN "Firms.URL"> <@COLUMN "Firms.BusinessSize"> <@IFEQUAL VALUE1="<@COLUMN 'Firms.Woman Owned'>" VALUE2="1"> Yes <@ELSE>   <@COLUMN "Firms.StreetAddress">
<@COLUMN "Firms.City"> <@IFEMPTY VALUE="<@COLUMN 'Firms.City'>"> <@ELSE>, <@COLUMN "Firms.State"> <@COLUMN "Firms.Zip">
<@COLUMN 'Firms.Corp_Phone'> <@COLUMN "Firms.ContractNumber">
"><@COLUMN "Firms.Name"> "><@COLUMN "Firms.URL"> <@COLUMN "Firms.BusinessSize"> <@IFEQUAL VALUE1="<@COLUMN 'Firms.Woman Owned'>" VALUE2="1"> Yes <@ELSE>   <@COLUMN "Firms.StreetAddress">
<@COLUMN "Firms.City"> <@IFEMPTY VALUE="<@COLUMN 'Firms.City'>"> <@ELSE>, <@COLUMN "Firms.State"> <@COLUMN "Firms.Zip">
<@COLUMN 'Firms.Corp_Phone'> <@COLUMN "Firms.ContractNumber">

< --- Back to Index <@COMMENT> ----- BEGIN NEXT/PREV BUTTONS ----- <@IF "<@MAXROWS> > 0"> <@COMMENT> If a max. number of records was specified, show Next and/or Previous buttons. <@COMMENT> ----- BUILD SEARCH VALUES ----- The Next and Previous buttons must pass to Tango all the search values entered by the user. This section loops through all the args received -- via form fields (postargs) and the URL (searchargs) -- and creates hidden form fields for them. The resulting HTML is used in the form for each button. <@ASSIGN arg_names <@ARGNAMES> SCOPE=LOCAL> <@ASSIGN search_vals_HTML "" SCOPE=LOCAL> <@ASSIGN crlf "<@CHAR 13><@CHAR 10>" SCOPE=LOCAL> <@COMMENT>line ending <@ROWS ARRAY=arg_names> <@ASSIGN arg_name "<@COL 1>" SCOPE=LOCAL> <@IF "'<@LEFT @@arg_name 1>' != '_'"> <@COMMENT> Ignore args beginning with '_'; they'll be passed manually. <@ASSIGN arg_values "<@ARG @@arg_name TYPE=ARRAY>" SCOPE=LOCAL> <@COMMENT> Assign the current argument's values to a variable. Use TYPE=ARRAY to get all the values for multi-select lists. <@ROWS ARRAY=arg_values> <@COMMENT> Loop through all the values for the current arg. Build a hidden form field for each. Append field HTML to existing HTML. <@ASSIGN search_vals_HTML '@@search_vals_HTML@@crlf' SCOPE=LOCAL> <@COMMENT>End ignoring args beginning with _ <@COMMENT> ----- END BUILD SEARCH VALUES ----- <@COMMENT> ----- PREVIOUS BUTTON ----- <@COMMENT> ----- END PREVIOUS BUTTON ----- <@COMMENT> ----- NEXT BUTTON ----- <@COMMENT> ----- END NEXT BUTTON -----
<@IF "<@STARTROW> != 1"> <@COMMENT> We are beyond the first match; we need a Previous button <@ASSIGN new_start <@CALC "<@STARTROW> - <@MAXROWS>"> SCOPE=LOCAL> <@ASSIGN new_start <@CALC "max(@@new_start 1)"> SCOPE=LOCAL> <@COMMENT> Subtract the max. number of rows per page from the current start to get new start. Use 1 if it's less than 1.
<@VAR search_vals_HTML ENCODING=NONE> <@COMMENT> Hidden fields containing original search values <@IF "<@STARTROW> > <@MAXROWS>"> <@ASSIGN num_on_prev_page <@MAXROWS> SCOPE=LOCAL> <@ELSE> <@ASSIGN num_on_prev_page <@CALC <@STARTROW>-1> SCOPE=LOCAL> < <@CALC 'min(<@MAXROWS> <@TOTALROWS>)'>">First <@CALC 'min(<@MAXROWS> <@TOTALROWS>)'><@ELSE>Previous @@num_on_prev_page Matches">
<@ASSIGN rows_left <@CALC "<@TOTALROWS> - (<@STARTROW> + <@MAXROWS> - 1)"> SCOPE=LOCAL> <@IF "@@rows_left > 0"> <@COMMENT>More rows? We need a Next button. <@ASSIGN new_start <@CALC "<@STARTROW> + <@MAXROWS>"> SCOPE=LOCAL> <@COMMENT>Add the max. number of rows per page to the current start to get new start.
<@VAR search_vals_HTML ENCODING=NONE> <@COMMENT> Hidden fields containing original search values <@ASSIGN num_on_next_page <@CALC "min(@@rows_left <@MAXROWS>)"> SCOPE=LOCAL> <@COMMENT> Number of records on next page is the number of rows remaining or the max. per page, whichever is less. es">
<@COMMENT> ----- END NEXT/PREV BUTTONS -----

Error

An error occurred while processing your request:

File: firms.taf
Position: RecordList
Class: DBMS
Main Error Number: 4060

[Microsoft][ODBC SQL Server Driver][SQL Server]Cannot open database requested in login 'PICS'. Login fails.
37000

File: firms.taf
Position: RecordList
Class: Internal
Main Error Number: -4

Unable to connect to the specified data source.
Verify that data source is properly configured and that database server is online.