Stephen,
I'm not sure what version of ARS you are using, but was just curious why you
do not use either of these Run Process commands:

Application-Map-Ids-To-Names <form> <string>
Maps the IDs of the fields or keywords in the string to a name
representation.

Application-Map-Ids-To-Names-L <form> <VUI> <string>
For the indicated VUI, maps the IDs of the fields or keywords in the string
to a name representation using labels. If the field label is blank, the
database name will be used.



Scott Parrish
IT Prophets, LLC
(770) 653-5203
http://www.itprophets.com
-----Original Message-----
From: Action Request System discussion list(ARSList)
[mailto:[EMAIL PROTECTED] On Behalf Of Heider, Stephen
Sent: Thursday, May 04, 2006 10:17 AM
To: arslist@ARSLIST.ORG
Subject: Re: Get Base Column Name From SQL View Definition - SQL Server 2000

Update: 

Replace 

IF ISNUMERIC(@Char) = 1 OR (LOWER(@Char) BETWEEN 'a' AND 'z') 
 
With
 
IF @Char BETWEEN '0' AND '9' OR (LOWER(@Char) BETWEEN 'a' AND 'z') 

The ISNUMERIC function consideres the plus sign numeric.
 

-----Original Message-----
From: Action Request System discussion list(ARSList)
[mailto:[EMAIL PROTECTED] On Behalf Of Heider, Stephen
Sent: Thursday, May 04, 2006 9:58 AM
To: arslist@ARSLIST.ORG
Subject: Re: Get Base Column Name From SQL View Definition - SQL Server
2000

Rick,

Actually the ultimate goal is to retrieve the SQL View name of the field
(ie. My_Special_Field) based on the table column name (ie. C123456789).
This is the reverse of the example I presented below.  *I thought this
example would be easier for others to grasp the concept of parsing the
base column names - I apologize if I confused anyone.  Here is perhaps a
better example:

I know that the table column name is C123456789.  How can I retrieve the
field name used by the SQL View?

I just created a work-around that should work fine - at least for my
purposes.  Here is a function that returns the SQL View name or SQL View
Field name from a Remedy Form name or Remedy Field name.  If anyone
knows a better way, please share.  Thanks.



CREATE FUNCTION dbo.fnRemedyFormOrFieldNameToSQLViewName
(
@FormOrFieldName VARCHAR(100)
)
RETURNS VARCHAR(30)
/*
Returns the SQL View name of a Remedy form or the SQL View Column name
of a Remedy field.

Note: Trailing spaces in @FormOrFieldName are ignored.

Internal ARS rules regarding naming Views (DatabaseRefGuide-630.pdf,
page 41)
        All alphabetic and numeric characters remain as defined.
        All other characters are converted to an underscore (_).
        If the first character is not alphanumeric, a leading A is added
to the name.
        If the name of a field is blank, a field name with a leading A
followed by the fieldId is used.  *Not used by this function
        If the name is one of the reserved words for the database, the
string _x is appended.  *Not used by this function
*/
AS
BEGIN
        DECLARE @ReturnValue VARCHAR(30)
        DECLARE @Pos INT
        DECLARE @EndPos INT
        DECLARE @Char CHAR(1)

        IF LTRIM(RTRIM(ISNULL(@FormOrFieldName,''))) = '' RETURN ''

        SET @Pos = 1    
        SET @EndPos = LEN(@FormOrFieldName)
        IF @EndPos > 30 SET @EndPos = 30 -- ARS limit.
        SET @ReturnValue = ''

        WHILE @Pos <= @EndPos
        BEGIN
                SET @Char = SUBSTRING(@FormOrFieldName, @Pos, 1)
                
                IF ISNUMERIC(@Char) = 1 OR (LOWER(@Char) BETWEEN 'a' AND
'z')
                        SET @ReturnValue = @ReturnValue + @Char
                ELSE
                        IF @Pos = 1
                                SET @ReturnValue = 'A'
                        ELSE
                                SET @ReturnValue = @ReturnValue + '_'

                SET @Pos = @Pos + 1     
        END

        RETURN @ReturnValue
END





-----Original Message-----
From: Action Request System discussion list(ARSList)
[mailto:[EMAIL PROTECTED] On Behalf Of Rick Cook
Sent: Thursday, May 04, 2006 9:28 AM
To: arslist@ARSLIST.ORG
Subject: Re: Get Base Column Name From SQL View Definition - SQL Server
2000

Stephen, if you're trying to return the column name, know that it's the
DB name of the Remedy field.  If you're trying to get the column ID,
that's in the metatables.

I built (as have many others) a simple ARS form to return the column
names and field IDs from a given form, using either the T# or the Form
name.  If you would find it helpful, let me know, and I'll send it to
you offline.  If nothing else, you should be able to pull the SQL from
the menus for non-ARS use.

Rick

-----Original Message-----
From: Action Request System discussion list(ARSList)
[mailto:[EMAIL PROTECTED] On Behalf Of Heider, Stephen
Sent: Thursday, May 04, 2006 5:21 AM
To: arslist@ARSLIST.ORG
Subject: OT: Get Base Column Name From SQL View Definition - SQL Server
2000

The solution will be used with Remedy but it is a general SQL Server
question.  How can you get the base column name in a SQL View definition
from the view field name?  For example,

CREATE VIEW uvwTest (FieldName1, FieldName2, FieldName3, FieldName4) AS
SELECT BaseColumn1, BaseColumn2, CONVERT(VARCHAR(30), BaseColumn3) AS
BaseColumn3, BaseColumn4 FROM BaseTable

Let's say I need to get the base column name for the FieldName4 view
field. My first approach was to determine the position of the field (in
this case FieldName4 happens to be the 4th field) and then grab the
corresponding base column using the commas as delimiters.  However this
does not work if there are extra commas [as used in calculated fields].
In this example the CONVERT function adds a comma to list of base
columns.

I have looked at the SQL Server sysobjects (and related tables) and the
INFORMATION_SCHEMA objects, but no luck.  I know that SQL Server itself
knows how to parse the list in at least two places: When it executes the
View and when you use the Design View wizard in SQL Server Enterprise
Manager.

Any ideas?

Thanks.

Stephen

________________________________________________________________________
_______
UNSUBSCRIBE or access ARSlist Archives at http://www.wwrug.org

________________________________________________________________________
_______
UNSUBSCRIBE or access ARSlist Archives at http://www.wwrug.org

________________________________________________________________________
_______
UNSUBSCRIBE or access ARSlist Archives at http://www.wwrug.org

____________________________________________________________________________
___
UNSUBSCRIBE or access ARSlist Archives at http://www.wwrug.org

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at http://www.wwrug.org

Reply via email to