Working with XML Files in Dexterity

I have a lot of programming ahead of me (and behind me) working with
XML, and I'm working exclusively with Dex (as I have been for 11
years).  We need to do some some pretty serious and robust XML file
exchanges for various types of transactions.  There seems to be two
ways to go about this in Dex:

1) going line-by-line looking at nodes with the
"dataNode.childNodes.item..." functions, and maneuvering data types
for EACH item in a table,

For Example:

dataNode = rootnodeDispatch.selectSingleNode("VehicleModel");
	if not empty(dataNode) then
	NodeText = dataNode;
		dataLength = length(NodeText.text);
		if dataLength <> 0 then
			VehicleModel of table Dispatch =
string(dataNode.childNodes.item[0].text);
		end if;
	end if;

or a more elegant way,

2) by using a for loop to go through a file and fill in a table and
detail tables from a list box of field names.  I run into problems
here working with data types.


count = countitems(field '(L) lb_dispatch');

for i = 1 to count do
	fieldName = itemname('(L) lb_dispatch',i);
	dataNode = rootnode.selectSingleNode(fieldName);
	call gx_local_save_field of form Estimate_Master_2007, table
tableTechname, fieldName, string(dataNode.childNodes.item[0].text);
end for;


I have two issues:
1.  With approach #1, its a pain to write, and the code starts to
nudge up against the 23 or 24k limit of Dex. scripts (some of the
table sets are very long)
2.  Using approach #2 would expedite development immensely, and make
the code that much more robust.

I would appreciate any suggestions.

Thanks,

herb

0
herb5092 (14)
5/16/2007 2:15:09 PM
greatplains 29623 articles. 5 followers. Follow

8 Replies
1056 Views

Similar Articles

[PageSpeed] 54

The 24K script limit can easily be avoided by passing the appropriate 
parameters to sub procedures or functions.

I have written generic code which can export and import the contents of any 
table in any product in any series of Great Plains as XML.  

I suppose the big question is how you need your XML formatted.  My format is 
very generic and when exporting puts everything into a string representation.

<Table Name="Table Name">
	<Record Rec="1">
		<Field ID="Field 1">0</Field>
		<Field ID="Field 2"></Field>
	</Record>
</Table>

When importing, I have a case statement which converts the string data back 
into the correct datatypes.

David Musgrave [MSFT]
Senior Development Consultant
Escalation Engineer - Great Plains
Microsoft Dynamics Support - Asia Pacific

Microsoft Dynamics (formerly Microsoft Business Solutions)
http://www.microsoft.com/Dynamics

mailto:dmusgrav@online.microsoft.com

Any views contained within are my personal views and 
not necessarily Microsoft Business Solutions policy.
This posting is provided "AS IS" with no warranties, 
and confers no rights.  

"Behrl" wrote:

> I have a lot of programming ahead of me (and behind me) working with
> XML, and I'm working exclusively with Dex (as I have been for 11
> years).  We need to do some some pretty serious and robust XML file
> exchanges for various types of transactions.  There seems to be two
> ways to go about this in Dex:
> 
> 1) going line-by-line looking at nodes with the
> "dataNode.childNodes.item..." functions, and maneuvering data types
> for EACH item in a table,
> 
> For Example:
> 
> dataNode = rootnodeDispatch.selectSingleNode("VehicleModel");
> 	if not empty(dataNode) then
> 	NodeText = dataNode;
> 		dataLength = length(NodeText.text);
> 		if dataLength <> 0 then
> 			VehicleModel of table Dispatch =
> string(dataNode.childNodes.item[0].text);
> 		end if;
> 	end if;
> 
> or a more elegant way,
> 
> 2) by using a for loop to go through a file and fill in a table and
> detail tables from a list box of field names.  I run into problems
> here working with data types.
> 
> 
> count = countitems(field '(L) lb_dispatch');
> 
> for i = 1 to count do
> 	fieldName = itemname('(L) lb_dispatch',i);
> 	dataNode = rootnode.selectSingleNode(fieldName);
> 	call gx_local_save_field of form Estimate_Master_2007, table
> tableTechname, fieldName, string(dataNode.childNodes.item[0].text);
> end for;
> 
> 
> I have two issues:
> 1.  With approach #1, its a pain to write, and the code starts to
> nudge up against the 23 or 24k limit of Dex. scripts (some of the
> table sets are very long)
> 2.  Using approach #2 would expedite development immensely, and make
> the code that much more robust.
> 
> I would appreciate any suggestions.
> 
> Thanks,
> 
> herb
> 
> 
0
dmusgrav1 (1325)
5/17/2007 2:19:02 AM
On May 16, 9:19 pm, David Musgrave [MSFT]
<dmusg...@online.microsoft.com> wrote:
> The 24K script limit can easily be avoided by passing the appropriate
> parameters to sub procedures or functions.
>
> I have written generic code which can export and import the contents of any
> table in any product in any series of Great Plains as XML.  
>
> I suppose the big question is how you need your XML formatted.  My format is
> very generic and when exporting puts everything into a string representation.
>
> <Table Name="Table Name">
>         <Record Rec="1">
>                 <Field ID="Field 1">0</Field>
>                 <Field ID="Field 2"></Field>
>         </Record>
> </Table>
>
> When importing, I have a case statement which converts the string data back
> into the correct datatypes.
>
> David Musgrave [MSFT]
> Senior Development Consultant
> Escalation Engineer - Great Plains
> Microsoft Dynamics Support - Asia Pacific
>
> Microsoft Dynamics (formerly Microsoft Business Solutions)http://www.microsoft.com/Dynamics
>
> mailto:dmusg...@online.microsoft.com
>
> Any views contained within are my personal views and
> not necessarily Microsoft Business Solutions policy.
> This posting is provided "AS IS" with no warranties,
> and confers no rights.  
>
>
>
> "Behrl" wrote:
> > I have a lot of programming ahead of me (and behind me) working with
> > XML, and I'm working exclusively with Dex (as I have been for 11
> > years).  We need to do some some pretty serious and robust XML file
> > exchanges for various types of transactions.  There seems to be two
> > ways to go about this in Dex:
>
> > 1) going line-by-line looking at nodes with the
> > "dataNode.childNodes.item..." functions, and maneuvering data types
> > for EACH item in a table,
>
> > For Example:
>
> > dataNode = rootnodeDispatch.selectSingleNode("VehicleModel");
> >    if not empty(dataNode) then
> >    NodeText = dataNode;
> >            dataLength = length(NodeText.text);
> >            if dataLength <> 0 then
> >                    VehicleModel of table Dispatch =
> > string(dataNode.childNodes.item[0].text);
> >            end if;
> >    end if;
>
> > or a more elegant way,
>
> > 2) by using a for loop to go through a file and fill in a table and
> > detail tables from a list box of field names.  I run into problems
> > here working with data types.
>
> > count = countitems(field '(L) lb_dispatch');
>
> > for i = 1 to count do
> >    fieldName = itemname('(L) lb_dispatch',i);
> >    dataNode = rootnode.selectSingleNode(fieldName);
> >    call gx_local_save_field of form Estimate_Master_2007, table
> > tableTechname, fieldName, string(dataNode.childNodes.item[0].text);
> > end for;
>
> > I have two issues:
> > 1.  With approach #1, its a pain to write, and the code starts to
> > nudge up against the 23 or 24k limit of Dex. scripts (some of the
> > table sets are very long)
> > 2.  Using approach #2 would expedite development immensely, and make
> > the code that much more robust.
>
> > I would appreciate any suggestions.
>
> > Thanks,
>
> > herb- Hide quoted text -
>
> - Show quoted text -

Thanks, Dave, for your reply.  I know its a pain to intepret another's
code sometimes.  What I hope to do is to utilize method #2 to read
through an xml file by simply going through the field names (that I
populate in a listbox).  If everything had a data type of string, this
would work.  The problem is that I have some currency, date, boolean
(int), and long integer datatypes in the target table.  Do you know of
a way to get to a field's datatype, say through a case statement, then
I can bounce to a subroutine for saving for each data type?  Does that
make sense?

I really, really appreciate your input, and any other ideas out there.

Thanks!

0
herb5092 (14)
5/18/2007 2:18:25 PM
You don't need to put the fields into a list, there are functions that will 
allow you to read the fields from a table if you have the technical name and 
the dictionary.  You also need to handle array and/or composite fields.  The 
following script is pulled from my XML_Write code:

local integer i, j, k, field_count, array_count, composite_count;
local integer l_resid, l_datatype, l_composite;
local string l_display_name, l_phys_name, l_datatype_name, l_composite_name;

field_count = getTableFieldCount(IN_Name, IN_Dict) of form XTableInformation;
for i = 1 to field_count do
	l_resid = getTableFieldAtPosition(IN_Name, IN_Dict, i, l_display_name, 
l_phys_name) of form XTableInformation;
	l_datatype = getFieldDatatype(l_display_name, IN_Dict, l_datatype_name) of 
form XFieldInformation;
	array_count = getFieldArraySize(l_display_name, IN_Dict) of form 
XFieldInformation;
	composite_count = getDatatypeCountComponents(l_datatype_name, IN_Dict) of 
form XDatatypeInformation;

	if array_count > 0 then
		for j = 1 to array_count do
			if composite_count > 0 then
				for k = 1 to composite_count do
					l_composite = getDatatypeStaticValueAtPosition(l_datatype_name, 
IN_Dict, k, l_composite_name) of form XDatatypeInformation;
					{ Composite in an Array }

				end for;
			else
				{ Array }

			end if;
		end for;
	else
		if composite_count > 0 then
			for k = 1 to composite_count do
				l_composite = getDatatypeStaticValueAtPosition(l_datatype_name, IN_Dict, 
k, l_composite_name) of form XDatatypeInformation;
				{ Composite Field }

			end for;
		else
			{ Single Field }

		end if;
	end if;
end for;

There is similar code in the Resource Explorer demo code in the Pushing the 
Limits with Dexterity conference materials on the Training page of 
http://www.winthropdc.com.


David Musgrave [MSFT]
Senior Development Consultant
Escalation Engineer - Great Plains
Microsoft Dynamics Support - Asia Pacific

Microsoft Dynamics (formerly Microsoft Business Solutions)
http://www.microsoft.com/Dynamics

mailto:dmusgrav@online.microsoft.com

Any views contained within are my personal views and 
not necessarily Microsoft Business Solutions policy.
This posting is provided "AS IS" with no warranties, 
and confers no rights.  

The links in this message may lead to third-party Web sites. Microsoft 
provides third-party resources to help you find customer service and/or 
technical support resources. Information at these sites may change without 
notice. Microsoft is not responsible for the content at any third-party Web 
sites and does not guarantee the accuracy of third-party information.

"Behrl" wrote:

> On May 16, 9:19 pm, David Musgrave [MSFT]
> <dmusg...@online.microsoft.com> wrote:
> > The 24K script limit can easily be avoided by passing the appropriate
> > parameters to sub procedures or functions.
> >
> > I have written generic code which can export and import the contents of any
> > table in any product in any series of Great Plains as XML.  
> >
> > I suppose the big question is how you need your XML formatted.  My format is
> > very generic and when exporting puts everything into a string representation.
> >
> > <Table Name="Table Name">
> >         <Record Rec="1">
> >                 <Field ID="Field 1">0</Field>
> >                 <Field ID="Field 2"></Field>
> >         </Record>
> > </Table>
> >
> > When importing, I have a case statement which converts the string data back
> > into the correct datatypes.
> >
> > David Musgrave [MSFT]
> > Senior Development Consultant
> > Escalation Engineer - Great Plains
> > Microsoft Dynamics Support - Asia Pacific
> >
> > Microsoft Dynamics (formerly Microsoft Business Solutions)http://www.microsoft.com/Dynamics
> >
> > mailto:dmusg...@online.microsoft.com
> >
> > Any views contained within are my personal views and
> > not necessarily Microsoft Business Solutions policy.
> > This posting is provided "AS IS" with no warranties,
> > and confers no rights.  
> >
> >
> >
> > "Behrl" wrote:
> > > I have a lot of programming ahead of me (and behind me) working with
> > > XML, and I'm working exclusively with Dex (as I have been for 11
> > > years).  We need to do some some pretty serious and robust XML file
> > > exchanges for various types of transactions.  There seems to be two
> > > ways to go about this in Dex:
> >
> > > 1) going line-by-line looking at nodes with the
> > > "dataNode.childNodes.item..." functions, and maneuvering data types
> > > for EACH item in a table,
> >
> > > For Example:
> >
> > > dataNode = rootnodeDispatch.selectSingleNode("VehicleModel");
> > >    if not empty(dataNode) then
> > >    NodeText = dataNode;
> > >            dataLength = length(NodeText.text);
> > >            if dataLength <> 0 then
> > >                    VehicleModel of table Dispatch =
> > > string(dataNode.childNodes.item[0].text);
> > >            end if;
> > >    end if;
> >
> > > or a more elegant way,
> >
> > > 2) by using a for loop to go through a file and fill in a table and
> > > detail tables from a list box of field names.  I run into problems
> > > here working with data types.
> >
> > > count = countitems(field '(L) lb_dispatch');
> >
> > > for i = 1 to count do
> > >    fieldName = itemname('(L) lb_dispatch',i);
> > >    dataNode = rootnode.selectSingleNode(fieldName);
> > >    call gx_local_save_field of form Estimate_Master_2007, table
> > > tableTechname, fieldName, string(dataNode.childNodes.item[0].text);
> > > end for;
> >
> > > I have two issues:
> > > 1.  With approach #1, its a pain to write, and the code starts to
> > > nudge up against the 23 or 24k limit of Dex. scripts (some of the
> > > table sets are very long)
> > > 2.  Using approach #2 would expedite development immensely, and make
> > > the code that much more robust.
> >
> > > I would appreciate any suggestions.
> >
> > > Thanks,
> >
> > > herb- Hide quoted text -
> >
> > - Show quoted text -
> 
> Thanks, Dave, for your reply.  I know its a pain to intepret another's
> code sometimes.  What I hope to do is to utilize method #2 to read
> through an xml file by simply going through the field names (that I
> populate in a listbox).  If everything had a data type of string, this
> would work.  The problem is that I have some currency, date, boolean
> (int), and long integer datatypes in the target table.  Do you know of
> a way to get to a field's datatype, say through a case statement, then
> I can bounce to a subroutine for saving for each data type?  Does that
> make sense?
> 
> I really, really appreciate your input, and any other ideas out there.
> 
> Thanks!
> 
> 
0
dmusgrav1 (1325)
5/18/2007 11:51:00 PM
Based on the previous script you can use this code to obtain the base 
datatype name.

	if IN_Component > 0 then
		l_composite = getDatatypeStaticValueAtPosition(IN_Datatype, IN_Dict, 
IN_Component, l_composite_name) of form XDatatypeInformation;
		l_composite_datatype = getFieldDatatype(l_composite_name, IN_Dict, 
l_componet_datatype_name) of form XFieldInformation;

		l_datatype_name = l_componet_datatype_name;
	else
		l_datatype_name = IN_Datatype;
	end if;

David Musgrave [MSFT]
Senior Development Consultant
Escalation Engineer - Great Plains
Microsoft Dynamics Support - Asia Pacific

Microsoft Dynamics (formerly Microsoft Business Solutions)
http://www.microsoft.com/Dynamics

mailto:dmusgrav@online.microsoft.com

Any views contained within are my personal views and 
not necessarily Microsoft Business Solutions policy.
This posting is provided "AS IS" with no warranties, 
and confers no rights.  


"Behrl" wrote:

> On May 16, 9:19 pm, David Musgrave [MSFT]
> <dmusg...@online.microsoft.com> wrote:
> > The 24K script limit can easily be avoided by passing the appropriate
> > parameters to sub procedures or functions.
> >
> > I have written generic code which can export and import the contents of any
> > table in any product in any series of Great Plains as XML.  
> >
> > I suppose the big question is how you need your XML formatted.  My format is
> > very generic and when exporting puts everything into a string representation.
> >
> > <Table Name="Table Name">
> >         <Record Rec="1">
> >                 <Field ID="Field 1">0</Field>
> >                 <Field ID="Field 2"></Field>
> >         </Record>
> > </Table>
> >
> > When importing, I have a case statement which converts the string data back
> > into the correct datatypes.
> >
> > David Musgrave [MSFT]
> > Senior Development Consultant
> > Escalation Engineer - Great Plains
> > Microsoft Dynamics Support - Asia Pacific
> >
> > Microsoft Dynamics (formerly Microsoft Business Solutions)http://www.microsoft.com/Dynamics
> >
> > mailto:dmusg...@online.microsoft.com
> >
> > Any views contained within are my personal views and
> > not necessarily Microsoft Business Solutions policy.
> > This posting is provided "AS IS" with no warranties,
> > and confers no rights.  
> >
> >
> >
> > "Behrl" wrote:
> > > I have a lot of programming ahead of me (and behind me) working with
> > > XML, and I'm working exclusively with Dex (as I have been for 11
> > > years).  We need to do some some pretty serious and robust XML file
> > > exchanges for various types of transactions.  There seems to be two
> > > ways to go about this in Dex:
> >
> > > 1) going line-by-line looking at nodes with the
> > > "dataNode.childNodes.item..." functions, and maneuvering data types
> > > for EACH item in a table,
> >
> > > For Example:
> >
> > > dataNode = rootnodeDispatch.selectSingleNode("VehicleModel");
> > >    if not empty(dataNode) then
> > >    NodeText = dataNode;
> > >            dataLength = length(NodeText.text);
> > >            if dataLength <> 0 then
> > >                    VehicleModel of table Dispatch =
> > > string(dataNode.childNodes.item[0].text);
> > >            end if;
> > >    end if;
> >
> > > or a more elegant way,
> >
> > > 2) by using a for loop to go through a file and fill in a table and
> > > detail tables from a list box of field names.  I run into problems
> > > here working with data types.
> >
> > > count = countitems(field '(L) lb_dispatch');
> >
> > > for i = 1 to count do
> > >    fieldName = itemname('(L) lb_dispatch',i);
> > >    dataNode = rootnode.selectSingleNode(fieldName);
> > >    call gx_local_save_field of form Estimate_Master_2007, table
> > > tableTechname, fieldName, string(dataNode.childNodes.item[0].text);
> > > end for;
> >
> > > I have two issues:
> > > 1.  With approach #1, its a pain to write, and the code starts to
> > > nudge up against the 23 or 24k limit of Dex. scripts (some of the
> > > table sets are very long)
> > > 2.  Using approach #2 would expedite development immensely, and make
> > > the code that much more robust.
> >
> > > I would appreciate any suggestions.
> >
> > > Thanks,
> >
> > > herb- Hide quoted text -
> >
> > - Show quoted text -
> 
> Thanks, Dave, for your reply.  I know its a pain to intepret another's
> code sometimes.  What I hope to do is to utilize method #2 to read
> through an xml file by simply going through the field names (that I
> populate in a listbox).  If everything had a data type of string, this
> would work.  The problem is that I have some currency, date, boolean
> (int), and long integer datatypes in the target table.  Do you know of
> a way to get to a field's datatype, say through a case statement, then
> I can bounce to a subroutine for saving for each data type?  Does that
> make sense?
> 
> I really, really appreciate your input, and any other ideas out there.
> 
> Thanks!
> 
> 
0
dmusgrav1 (1325)
5/18/2007 11:56:00 PM
Once you have the datatype name, the following code will find the control 
type for you.

l_controltype = getDatatypeControlType(l_datatype_name, IN_Dict) of form 
XDatatypeInformation;
case l_controltype
	in [DATATYPE_BOOLEAN, DATATYPE_CHECK_BOX]
	in [DATATYPE_CURRENCY]
	in [DATATYPE_VCURRENCY, DATATYPE_REAL]
	in [DATATYPE_DATE]
	in [DATATYPE_TIME]
	in [DATATYPE_INTEGER, DATATYPE_RADIO_GROUP, DATATYPE_TINY_INTEGER, 
DATATYPE_VISUAL_SWITCH]
	in [DATATYPE_BUTTON_DROP_LIST, DATATYPE_DROP_DOWN_LIST, 
DATATYPE_HORIZONTAL_LIST_BOX, DATATYPE_LIST_BOX, DATATYPE_NON_NATIVE_LIST_BOX]
	in [DATATYPE_LONG_INTEGER, DATATYPE_MULTI_SELECT_LIST_BOX]
	in [DATATYPE_STRING, DATATYPE_COMBO_BOX]
	in [DATATYPE_TEXT]
	else
end case;

David Musgrave [MSFT]
Senior Development Consultant
Escalation Engineer - Great Plains
Microsoft Dynamics Support - Asia Pacific

Microsoft Dynamics (formerly Microsoft Business Solutions)
http://www.microsoft.com/Dynamics

mailto:dmusgrav@online.microsoft.com

Any views contained within are my personal views and 
not necessarily Microsoft Business Solutions policy.
This posting is provided "AS IS" with no warranties, 
and confers no rights.  


"Behrl" wrote:

> On May 16, 9:19 pm, David Musgrave [MSFT]
> <dmusg...@online.microsoft.com> wrote:
> > The 24K script limit can easily be avoided by passing the appropriate
> > parameters to sub procedures or functions.
> >
> > I have written generic code which can export and import the contents of any
> > table in any product in any series of Great Plains as XML.  
> >
> > I suppose the big question is how you need your XML formatted.  My format is
> > very generic and when exporting puts everything into a string representation.
> >
> > <Table Name="Table Name">
> >         <Record Rec="1">
> >                 <Field ID="Field 1">0</Field>
> >                 <Field ID="Field 2"></Field>
> >         </Record>
> > </Table>
> >
> > When importing, I have a case statement which converts the string data back
> > into the correct datatypes.
> >
> > David Musgrave [MSFT]
> > Senior Development Consultant
> > Escalation Engineer - Great Plains
> > Microsoft Dynamics Support - Asia Pacific
> >
> > Microsoft Dynamics (formerly Microsoft Business Solutions)http://www.microsoft.com/Dynamics
> >
> > mailto:dmusg...@online.microsoft.com
> >
> > Any views contained within are my personal views and
> > not necessarily Microsoft Business Solutions policy.
> > This posting is provided "AS IS" with no warranties,
> > and confers no rights.  
> >
> >
> >
> > "Behrl" wrote:
> > > I have a lot of programming ahead of me (and behind me) working with
> > > XML, and I'm working exclusively with Dex (as I have been for 11
> > > years).  We need to do some some pretty serious and robust XML file
> > > exchanges for various types of transactions.  There seems to be two
> > > ways to go about this in Dex:
> >
> > > 1) going line-by-line looking at nodes with the
> > > "dataNode.childNodes.item..." functions, and maneuvering data types
> > > for EACH item in a table,
> >
> > > For Example:
> >
> > > dataNode = rootnodeDispatch.selectSingleNode("VehicleModel");
> > >    if not empty(dataNode) then
> > >    NodeText = dataNode;
> > >            dataLength = length(NodeText.text);
> > >            if dataLength <> 0 then
> > >                    VehicleModel of table Dispatch =
> > > string(dataNode.childNodes.item[0].text);
> > >            end if;
> > >    end if;
> >
> > > or a more elegant way,
> >
> > > 2) by using a for loop to go through a file and fill in a table and
> > > detail tables from a list box of field names.  I run into problems
> > > here working with data types.
> >
> > > count = countitems(field '(L) lb_dispatch');
> >
> > > for i = 1 to count do
> > >    fieldName = itemname('(L) lb_dispatch',i);
> > >    dataNode = rootnode.selectSingleNode(fieldName);
> > >    call gx_local_save_field of form Estimate_Master_2007, table
> > > tableTechname, fieldName, string(dataNode.childNodes.item[0].text);
> > > end for;
> >
> > > I have two issues:
> > > 1.  With approach #1, its a pain to write, and the code starts to
> > > nudge up against the 23 or 24k limit of Dex. scripts (some of the
> > > table sets are very long)
> > > 2.  Using approach #2 would expedite development immensely, and make
> > > the code that much more robust.
> >
> > > I would appreciate any suggestions.
> >
> > > Thanks,
> >
> > > herb- Hide quoted text -
> >
> > - Show quoted text -
> 
> Thanks, Dave, for your reply.  I know its a pain to intepret another's
> code sometimes.  What I hope to do is to utilize method #2 to read
> through an xml file by simply going through the field names (that I
> populate in a listbox).  If everything had a data type of string, this
> would work.  The problem is that I have some currency, date, boolean
> (int), and long integer datatypes in the target table.  Do you know of
> a way to get to a field's datatype, say through a case statement, then
> I can bounce to a subroutine for saving for each data type?  Does that
> make sense?
> 
> I really, really appreciate your input, and any other ideas out there.
> 
> Thanks!
> 
> 
0
dmusgrav1 (1325)
5/18/2007 11:58:00 PM
Now I have given away lots of secrets... :-)

You should also look at the following Dex commands

datatype()

Table_GetFieldList()

However, I found the functions I used provided better flexibility to work 
across dictionaries and provided more details.

For example: the datatype function requires you to pass the field itself, 
when the function I used only requires the name of the field.

Hope these responses help.

David Musgrave [MSFT]
Senior Development Consultant
Escalation Engineer - Great Plains
Microsoft Dynamics Support - Asia Pacific

Microsoft Dynamics (formerly Microsoft Business Solutions)
http://www.microsoft.com/Dynamics

mailto:dmusgrav@online.microsoft.com

Any views contained within are my personal views and 
not necessarily Microsoft Business Solutions policy.
This posting is provided "AS IS" with no warranties, 
and confers no rights.  



"Behrl" wrote:

> On May 16, 9:19 pm, David Musgrave [MSFT]
> <dmusg...@online.microsoft.com> wrote:
> > The 24K script limit can easily be avoided by passing the appropriate
> > parameters to sub procedures or functions.
> >
> > I have written generic code which can export and import the contents of any
> > table in any product in any series of Great Plains as XML.  
> >
> > I suppose the big question is how you need your XML formatted.  My format is
> > very generic and when exporting puts everything into a string representation.
> >
> > <Table Name="Table Name">
> >         <Record Rec="1">
> >                 <Field ID="Field 1">0</Field>
> >                 <Field ID="Field 2"></Field>
> >         </Record>
> > </Table>
> >
> > When importing, I have a case statement which converts the string data back
> > into the correct datatypes.
> >
> > David Musgrave [MSFT]
> > Senior Development Consultant
> > Escalation Engineer - Great Plains
> > Microsoft Dynamics Support - Asia Pacific
> >
> > Microsoft Dynamics (formerly Microsoft Business Solutions)http://www.microsoft.com/Dynamics
> >
> > mailto:dmusg...@online.microsoft.com
> >
> > Any views contained within are my personal views and
> > not necessarily Microsoft Business Solutions policy.
> > This posting is provided "AS IS" with no warranties,
> > and confers no rights.  
> >
> >
> >
> > "Behrl" wrote:
> > > I have a lot of programming ahead of me (and behind me) working with
> > > XML, and I'm working exclusively with Dex (as I have been for 11
> > > years).  We need to do some some pretty serious and robust XML file
> > > exchanges for various types of transactions.  There seems to be two
> > > ways to go about this in Dex:
> >
> > > 1) going line-by-line looking at nodes with the
> > > "dataNode.childNodes.item..." functions, and maneuvering data types
> > > for EACH item in a table,
> >
> > > For Example:
> >
> > > dataNode = rootnodeDispatch.selectSingleNode("VehicleModel");
> > >    if not empty(dataNode) then
> > >    NodeText = dataNode;
> > >            dataLength = length(NodeText.text);
> > >            if dataLength <> 0 then
> > >                    VehicleModel of table Dispatch =
> > > string(dataNode.childNodes.item[0].text);
> > >            end if;
> > >    end if;
> >
> > > or a more elegant way,
> >
> > > 2) by using a for loop to go through a file and fill in a table and
> > > detail tables from a list box of field names.  I run into problems
> > > here working with data types.
> >
> > > count = countitems(field '(L) lb_dispatch');
> >
> > > for i = 1 to count do
> > >    fieldName = itemname('(L) lb_dispatch',i);
> > >    dataNode = rootnode.selectSingleNode(fieldName);
> > >    call gx_local_save_field of form Estimate_Master_2007, table
> > > tableTechname, fieldName, string(dataNode.childNodes.item[0].text);
> > > end for;
> >
> > > I have two issues:
> > > 1.  With approach #1, its a pain to write, and the code starts to
> > > nudge up against the 23 or 24k limit of Dex. scripts (some of the
> > > table sets are very long)
> > > 2.  Using approach #2 would expedite development immensely, and make
> > > the code that much more robust.
> >
> > > I would appreciate any suggestions.
> >
> > > Thanks,
> >
> > > herb- Hide quoted text -
> >
> > - Show quoted text -
> 
> Thanks, Dave, for your reply.  I know its a pain to intepret another's
> code sometimes.  What I hope to do is to utilize method #2 to read
> through an xml file by simply going through the field names (that I
> populate in a listbox).  If everything had a data type of string, this
> would work.  The problem is that I have some currency, date, boolean
> (int), and long integer datatypes in the target table.  Do you know of
> a way to get to a field's datatype, say through a case statement, then
> I can bounce to a subroutine for saving for each data type?  Does that
> make sense?
> 
> I really, really appreciate your input, and any other ideas out there.
> 
> Thanks!
> 
> 
0
dmusgrav1 (1325)
5/19/2007 12:02:00 AM
On May 18, 7:02 pm, David Musgrave [MSFT]
<dmusg...@online.microsoft.com> wrote:
> Now I have given away lots of secrets... :-)
>
> You should also look at the following Dex commands
>
> datatype()
>
> Table_GetFieldList()
>
> However, I found the functions I used provided better flexibility to work
> across dictionaries and provided more details.
>
> For example: the datatype function requires you to pass the field itself,
> when the function I used only requires the name of the field.
>
> Hope these responses help.
>
> David Musgrave [MSFT]
> Senior Development Consultant
> Escalation Engineer - Great Plains
> Microsoft Dynamics Support - Asia Pacific
>
> Microsoft Dynamics (formerly Microsoft Business Solutions)http://www.microsoft.com/Dynamics
>
> mailto:dmusg...@online.microsoft.com
>
> Any views contained within are my personal views and
> not necessarily Microsoft Business Solutions policy.
> This posting is provided "AS IS" with no warranties,
> and confers no rights.  
>
>
>
> "Behrl" wrote:
> > On May 16, 9:19 pm, David Musgrave [MSFT]
> > <dmusg...@online.microsoft.com> wrote:
> > > The 24K script limit can easily be avoided by passing the appropriate
> > > parameters to sub procedures or functions.
>
> > > I have written generic code which can export and import the contents of any
> > > table in any product in any series of Great Plains as XML.  
>
> > > I suppose the big question is how you need your XML formatted.  My format is
> > > very generic and when exporting puts everything into a string representation.
>
> > > <Table Name="Table Name">
> > >         <Record Rec="1">
> > >                 <Field ID="Field 1">0</Field>
> > >                 <Field ID="Field 2"></Field>
> > >         </Record>
> > > </Table>
>
> > > When importing, I have a case statement which converts the string data back
> > > into the correct datatypes.
>
> > > David Musgrave [MSFT]
> > > Senior Development Consultant
> > > Escalation Engineer - Great Plains
> > > Microsoft Dynamics Support - Asia Pacific
>
> > > Microsoft Dynamics (formerly Microsoft Business Solutions)http://www.microsoft.com/Dynamics
>
> > > mailto:dmusg...@online.microsoft.com
>
> > > Any views contained within are my personal views and
> > > not necessarily Microsoft Business Solutions policy.
> > > This posting is provided "AS IS" with no warranties,
> > > and confers no rights.  
>
> > > "Behrl" wrote:
> > > > I have a lot of programming ahead of me (and behind me) working with
> > > > XML, and I'm working exclusively with Dex (as I have been for 11
> > > > years).  We need to do some some pretty serious and robust XML file
> > > > exchanges for various types of transactions.  There seems to be two
> > > > ways to go about this in Dex:
>
> > > > 1) going line-by-line looking at nodes with the
> > > > "dataNode.childNodes.item..." functions, and maneuvering data types
> > > > for EACH item in a table,
>
> > > > For Example:
>
> > > > dataNode = rootnodeDispatch.selectSingleNode("VehicleModel");
> > > >    if not empty(dataNode) then
> > > >    NodeText = dataNode;
> > > >            dataLength = length(NodeText.text);
> > > >            if dataLength <> 0 then
> > > >                    VehicleModel of table Dispatch =
> > > > string(dataNode.childNodes.item[0].text);
> > > >            end if;
> > > >    end if;
>
> > > > or a more elegant way,
>
> > > > 2) by using a for loop to go through a file and fill in a table and
> > > > detail tables from a list box of field names.  I run into problems
> > > > here working with data types.
>
> > > > count = countitems(field '(L) lb_dispatch');
>
> > > > for i = 1 to count do
> > > >    fieldName = itemname('(L) lb_dispatch',i);
> > > >    dataNode = rootnode.selectSingleNode(fieldName);
> > > >    call gx_local_save_field of form Estimate_Master_2007, table
> > > > tableTechname, fieldName, string(dataNode.childNodes.item[0].text);
> > > > end for;
>
> > > > I have two issues:
> > > > 1.  With approach #1, its a pain to write, and the code starts to
> > > > nudge up against the 23 or 24k limit of Dex. scripts (some of the
> > > > table sets are very long)
> > > > 2.  Using approach #2 would expedite development immensely, and make
> > > > the code that much more robust.
>
> > > > I would appreciate any suggestions.
>
> > > > Thanks,
>
> > > > herb- Hide quoted text -
>
> > > - Show quoted text -
>
> > Thanks, Dave, for your reply.  I know its a pain to intepret another's
> > code sometimes.  What I hope to do is to utilize method #2 to read
> > through an xml file by simply going through the field names (that I
> > populate in a listbox).  If everything had a data type of string, this
> > would work.  The problem is that I have some currency, date, boolean
> > (int), and long integer datatypes in the target table.  Do you know of
> > a way to get to a field's datatype, say through a case statement, then
> > I can bounce to a subroutine for saving for each data type?  Does that
> > make sense?
>
> > I really, really appreciate your input, and any other ideas out there.
>
> > Thanks!- Hide quoted text -
>
> - Show quoted text -

Dave,

Just took a quick look at what you wrote here, and this is great!  It
pretty much confirms the functionality that I knew must exist, but I
just was missing and could not find.  I'll take a look at the
resources that you reference, too.

Thanks!

0
herb5092 (14)
5/21/2007 2:57:41 PM
On May 21, 9:57 am, Behrl <h...@datatranz.com> wrote:
> On May 18, 7:02 pm, David Musgrave [MSFT]
>
>
>
>
>
> <dmusg...@online.microsoft.com> wrote:
> > Now I have given away lots of secrets... :-)
>
> > You should also look at the following Dex commands
>
> > datatype()
>
> > Table_GetFieldList()
>
> > However, I found the functions I used provided better flexibility to work
> > across dictionaries and provided more details.
>
> > For example: the datatype function requires you to pass the field itself,
> > when the function I used only requires the name of the field.
>
> > Hope these responses help.
>
> > David Musgrave [MSFT]
> > Senior Development Consultant
> > Escalation Engineer - Great Plains
> > Microsoft Dynamics Support - Asia Pacific
>
> > Microsoft Dynamics (formerly Microsoft Business Solutions)http://www.microsoft.com/Dynamics
>
> > mailto:dmusg...@online.microsoft.com
>
> > Any views contained within are my personal views and
> > not necessarily Microsoft Business Solutions policy.
> > This posting is provided "AS IS" with no warranties,
> > and confers no rights.  
>
> > "Behrl" wrote:
> > > On May 16, 9:19 pm, David Musgrave [MSFT]
> > > <dmusg...@online.microsoft.com> wrote:
> > > > The 24K script limit can easily be avoided by passing the appropriate
> > > > parameters to sub procedures or functions.
>
> > > > I have written generic code which can export and import the contents of any
> > > > table in any product in any series of Great Plains as XML.  
>
> > > > I suppose the big question is how you need your XML formatted.  My format is
> > > > very generic and when exporting puts everything into a string representation.
>
> > > > <Table Name="Table Name">
> > > >         <Record Rec="1">
> > > >                 <Field ID="Field 1">0</Field>
> > > >                 <Field ID="Field 2"></Field>
> > > >         </Record>
> > > > </Table>
>
> > > > When importing, I have a case statement which converts the string data back
> > > > into the correct datatypes.
>
> > > > David Musgrave [MSFT]
> > > > Senior Development Consultant
> > > > Escalation Engineer - Great Plains
> > > > Microsoft Dynamics Support - Asia Pacific
>
> > > > Microsoft Dynamics (formerly Microsoft Business Solutions)http://www.microsoft.com/Dynamics
>
> > > > mailto:dmusg...@online.microsoft.com
>
> > > > Any views contained within are my personal views and
> > > > not necessarily Microsoft Business Solutions policy.
> > > > This posting is provided "AS IS" with no warranties,
> > > > and confers no rights.  
>
> > > > "Behrl" wrote:
> > > > > I have a lot of programming ahead of me (and behind me) working with
> > > > > XML, and I'm working exclusively with Dex (as I have been for 11
> > > > > years).  We need to do some some pretty serious and robust XML file
> > > > > exchanges for various types of transactions.  There seems to be two
> > > > > ways to go about this in Dex:
>
> > > > > 1) going line-by-line looking at nodes with the
> > > > > "dataNode.childNodes.item..." functions, and maneuvering data types
> > > > > for EACH item in a table,
>
> > > > > For Example:
>
> > > > > dataNode = rootnodeDispatch.selectSingleNode("VehicleModel");
> > > > >    if not empty(dataNode) then
> > > > >    NodeText = dataNode;
> > > > >            dataLength = length(NodeText.text);
> > > > >            if dataLength <> 0 then
> > > > >                    VehicleModel of table Dispatch =
> > > > > string(dataNode.childNodes.item[0].text);
> > > > >            end if;
> > > > >    end if;
>
> > > > > or a more elegant way,
>
> > > > > 2) by using a for loop to go through a file and fill in a table and
> > > > > detail tables from a list box of field names.  I run into problems
> > > > > here working with data types.
>
> > > > > count = countitems(field '(L) lb_dispatch');
>
> > > > > for i = 1 to count do
> > > > >    fieldName = itemname('(L) lb_dispatch',i);
> > > > >    dataNode = rootnode.selectSingleNode(fieldName);
> > > > >    call gx_local_save_field of form Estimate_Master_2007, table
> > > > > tableTechname, fieldName, string(dataNode.childNodes.item[0].text);
> > > > > end for;
>
> > > > > I have two issues:
> > > > > 1.  With approach #1, its a pain to write, and the code starts to
> > > > > nudge up against the 23 or 24k limit of Dex. scripts (some of the
> > > > > table sets are very long)
> > > > > 2.  Using approach #2 would expedite development immensely, and make
> > > > > the code that much more robust.
>
> > > > > I would appreciate any suggestions.
>
> > > > > Thanks,
>
> > > > > herb- Hide quoted text -
>
> > > > - Show quoted text -
>
> > > Thanks, Dave, for your reply.  I know its a pain to intepret another's
> > > code sometimes.  What I hope to do is to utilize method #2 to read
> > > through an xml file by simply going through the field names (that I
> > > populate in a listbox).  If everything had a data type of string, this
> > > would work.  The problem is that I have some currency, date, boolean
> > > (int), and long integer datatypes in the target table.  Do you know of
> > > a way to get to a field's datatype, say through a case statement, then
> > > I can bounce to a subroutine for saving for each data type?  Does that
> > > make sense?
>
> > > I really, really appreciate your input, and any other ideas out there.
>
> > > Thanks!- Hide quoted text -
>
> > - Show quoted text -
>
> Dave,
>
> Just took a quick look at what you wrote here, and this is great!  It
> pretty much confirms the functionality that I knew must exist, but I
> just was missing and could not find.  I'll take a look at the
> resources that you reference, too.
>
> Thanks!- Hide quoted text -
>
> - Show quoted text -

The code examples above were great in helping us get this project
moving in the right direction.  One thing, we write stand-alone
Dexterity apps, and we don't have access to the forms referenced, IE:
XTableInformation, so we wrote our own.  I ran into another
difficulty, which I saved for a new thread.  Thanks!

0
herb5092 (14)
5/23/2007 2:56:51 PM
Reply:

Similar Artilces:

Send to Onenote on Windows 7, driver won't work?
I downloaded the driver from David Rasmussen, but every time I open OneNote after printing to XPS I get the message "Unhandled exception has occured in your application. If you click Continue, the application will ignore this error and attempt to continue. If you click Quit, the application will close immediately. Object reference not set to an instance of an object." If I click continue it still doesn't work. This was one of my favorite features - PLEASE PLEASE PLEASE find me a way to use OneNote! I lived off of it last year. Rilli wrote: > I downloaded the d...

Hyperlinks to DB dont work now that DB is converted
We have converted all our Access 97 databases to Access 2000- not without a lot of issues. Most of them have now been researched and resolved, some re-coded, etc. We have one issue that we cannot resolve. We used to have hyperlinks on our Intra-net to several Access Databases. These were essentially "shortcuts" to the databases so that the general population could have easy access. Now that we did our Access conversion, the hyperlinks on our intranet do not work. Clicking on the link gives an option to open the file from its current location or download it to a local loc...

auto caps don't work
in outlookk 2003, even tho i have set tools, options, spelling to autocorrect the first word of a sentence. it doesn't do it. i have never had this problem before, but now i have a new laptop and can't get this feature to work. -- tom martin Are you using Word as your editor? If so, your settings are there. Otherwise, learn to type. http://www.broderbund.com/jump.jsp?itemID=4713&itemType=CATEGORY&path=1%2C2%2C4713&ysmchn=GGL&ysmcpn=Typing&ysmcrn=sr2br29go633go202pi10ai50&ysmtrm=sr2br29go633go202pi10ai50+mavis+beacon&ysmtac=PPC&ovtac=PPC&SR=s...

Problem with file links changing
Good day all. Excel 2007. I have a number of workbooks in memory some having file links referencing a data file also in memory. I have code which firstly saves the current data file (constantly updating) at month end run and then "Saves As" to another directory with a different file name. It then closes the new file and re-opens the original so that processing can continue for the new month. However, my problem is that all files with links to the original data file have now changed to reference the Saved As file!! e.g. VLookup and HLookup. I have tried various avenues ...

Faster XML Processing...
Need some help on how to make the following faster.... Public XmlDocument ProcessXML( XmlDocument xmlData ) { XmlNode originalXML = xmlData.Clone(); try { // Process XML data here... } catch { // if ANYTHING goes wrong with XML processing // revert back to the original. xmlData.LoadXml(originalXML.OuterXml); return xmlData; } return xmlData; } There it is. Without cloning and reloading in the catch block, if something goes wrong, I get SOME xml processing, which I absolutely cannot have. For example, if some data in ...

Search does not work for one workbook
I have workbook, but search (spotlight) often does not work for it. Drives me crazy. What can this be. I see peoples names in there. Kevs OS 10.6.2 INTEL imac Office 2004 Hi Kevs: It could be the file format the workbook is saved in. What extension does the file-name have? The extension tells the system what kind of data a file contains, which controls which importer Spotlight uses to read the file: if there is no extension you could get strange results. Cheers On 6/01/10 2:47 AM, in article C7689F21.5718F%forums55@verizon.net, "forums55@verizon.net"...

working with temporary working files..
I keep getting the message that I cannot save a temp. working file. This work has been save on a cd and transfered back on to my desk top. Help ...

How does hibernate work
I have a question on the details of how hibernate works. I know it's saving everything in memory to the hiber file. Since power seems to be truly off at hibernation I assumed the flag to tell the PC to resume from the hiber file rather than normal booting must be either saved on disk or flashed to a bit of bios rom space, or maybe in space maintained by the clock battery. But the cure for a laptop that is stuck in a loop of constantly resuming from hibernating is to unplug it and take the battery out for a while so where actually is the flag to signal the system that it's in hi...

Count a char filed and then show Total Urgent
Hi, I have the following fields: rep orderack Blue Y I would like to be able to count all of the orderack everytime rep = blue and then total the number of Y in orderack so firstly i want to count then sum. can this be done in the same query. based on this query i am then qoing to output the data to data access page. Thanks for your help M Hi a little more info rep orderack blue Y blue Y blue Y blue Y total 4 "mahmad" wrote: > Hi, > ...

Non-working work week
Is there any way to make an entire week a non-working work week? As in, a task is going to take 25 days, but the 4th of July occurs in the middle and you want to show that during that week (or 2), no work will occur. Besides creating a new task or extending the task during. Thanks in advance! Hi RVE, Open up the calendar, "Tools", 'Change working time..', then simply select the days you want as non working. Make sure that the calendar you change is the Project calendar and is the basis for all other calendars such as individual resource calendars. Hope thi...

Can't open files
A friend left a garbled message on my telephone answering machine asking me for help but I don't use Vista or iTunes, so I'm hoping some kind soul on here can help. Basically any file he downloads (it may be a photo of his grandson sent as an email attachment in jpg format, or a program such as skype.exe, or a pdf document) cannot be opened. When double-clicked, any downloaded file opens up iTunes and presents the message "iTunes cannot open this file". I know it's not much to go on but his message recorded badly. I'll try to contact him and get more...

Graphing work and remaining work over time
I would like to generate a graph showing total actual work and remaining work for a top level task over time (week), This would enable me to show the projected remaining work through the duration of the project as it decreases from N to 0, and show the actual work completed though the duration of the project as it increases from 0 to N. The canned visual reports don't allow me to do this (that I can see anyway). Maybe I'm missing something. I also can't see how to customize a visual report that will do what I want. Using Microsoft Project 2007 (not the Server edit...

GP8 Manufacturing
Hello Everybody. Our Shop works 5 days a week (closed weekends). We have a WC that works 6 days a week (down Sundays only). We have setup both the Shop and WC Calendars to reflect this reality. We would expect that, when scheduling an MO that routes thru this WC, the WC calendar will override the Shop Calendar? However, our tests are not showing this to be true - We use a Backwards Infinite Scheduling Method and it always skips the weekend when calculating the start day of an MO regardless of the WC. Does anyone have any experience working with the WC Calendars? Please share your wis...

outlook2003 send button does not work
send button does not work i have tryed a new email acc. and reinstalling with no luck. now i am useing express and then export to outlook ...

Feature Request-Need the ability to attach files to KnowledgeBase articles.
This is a big feature need. Lots of times articles need screenshots. Since you can't really do screenshots via the web, let us attach documents to articles. ...

Controlling Workbook File Size?
I have a workbook that has recently increased from 5meg to 30 meg. There are no pivot tables -- only a couple small macros that involve a few lines of vba. What could have caused the jumped.. and what can I do to fix it? Just guesses... The last used cell on each worksheet is way past where you think it should be. See Debra Dalgleish's site to reset this last used cell. http://www.contextures.com/xlfaqApp.html#Unused Any chance you have objects (pictures/buttons/textboxes) in your workbook? Sometimes pictures get duplicated by error. Mark wrote: > > I have a workbook that...

xml repeater question
I want to show the fields ErrorID, Quarter, AnomalyLabel and EmployerClass in a repeater (or datagrid?). How can I do this? All the data must be shown in 1 table. I know I can put the xml in a dataset and bind it to the repeater but it only shows 1 table (AnomalyReport). Any help would be nice :) <AnomalyReport> <ErrorID>00089-044</ErrorID> <AnomalyClass>NP</AnomalyClass> <AnomalyLabel>blablabla</AnomalyLabel> <SystemCorrection> <CorrectionType>RC</CorrectionType> <BlockAction> <Action>1</Action> <...

Drag and Drop does not work
Hi all. This is funny: When I try to drag and drop a message from "Inbox" to "Backup" I get an error message. When I right click and select "move to folder"- it does work. ANY CLUES? TIA Guy Not a single one. No Outlook version = no clues. -- Milly Staples [MVP - Outlook] Post all replies to the group to keep the discussion intact. All unsolicited mail sent to my personal account will be deleted without reading. After furious head scratching, Guy Cohen asked: | Hi all. | | This is funny: | When I try to drag and drop a message from "Inbox" ...

Internet Explorer E-mail links are no longer working in Outlook?
Hi, As soon as I click an e-mail link in Internet Explorer, another Outlook pops up. It used to just open a fresh new e-mail screen with the persons address already in the "TO:" line ? I can't figure out what I did wrong. Thanks, Rich ...

SunTrust Auto-Download Not Working after Banking Upgrade
I have been automatically downloading transactions from SunTrust since I installed MS$ 2007 Deluxe last year. I have done this without having to signup (for a fee of 5.95/month) with SunTrust for MS$ support. AFter the MS Banking Upgrade, I had to re-establish my SunTrust account with MS$. But, now I'm told (by MS$) that I don't have a SunTrust on-line account. Any thoughts? Anyone? I have been having issue as well with Suntrust, even if you get it to work you will find that its basically useless now downloading and duplicating pending transactions repeatedly, this is where I am ...

Spell check not working.
Version: 2004 Operating System: Mac OS X 10.6 (Snow Leopard) Processor: Intel I reinstalled SL and all my MS office apps and updates. I noticed that spell check does not detect spelling errors. Auto spell check is on and even when I manual invoke spell check it does not detect errors. <br><br>I see a progress bar at the word that is intentionally misspelled and the only dictionary that I see and it is check is a custom dictionary. <br><br>Should I reinstall Word? <br><br>Thanks in advance. No, reinstalling is not a fix on a Mac in the overwhelming m...

Convert data in Excel file to vsd format
H We are dynamically building an Excel sheet aith data to be shown as an Organization chart How can we convert this file into vsd format from Visual Basic Also, how can we show the Excel file contents on the WEB using asp Really Urgent. Regard Ajith well, I'm looking at Office2003 and Visio2003. Visio has the OrgChart Wizard for import of excel data, and Excel has the export of html. I believe this is functional back to the 2000 version as well. What version of the tools are you using? Al "Ajitha Anil" <anonymous@discussions.microsoft.com> wrote in ...

Working with option buttons in Word 2002
So, we are trying to create a form in Word 2002 in which we offer a series of radio or "option" buttons for some of our survey questions. However, we are struggling to make the option buttons work through the "Web Tools" toolbar. We can create the list we want to create, but can't save the file so it can be e-mailed and utilized in the correct capacity. Can someone please walk me through the steps of how to create a form in which there are numerous questions, almost all of which utilize the same clickable "option buttons" to choose either a &q...

Working with WORKS
We have some spreadsheets in WORKS 4.5 fpr Windows 95. But Excel 2000 won't open them. It says that the version is incompatible. How can that be if it is an older version of WORKS? Using Windows XP. -- ____________________ Bill DeShawn Please reply to group only Thank you http://my.sterling.net/~bdeshawn Generally you would normally open the file in WORKS and then save it down as a file that Excel can read. .xlr is a native Excel format, or .txt, .csv, dbaseIV are all formats it can read. You can also find a converter here if you don't have WORKS. http://www.rl-software.co...

Size of excel work book is not full screen
The excel work I have been sent is not full screen (about 3/4 size). Clicking on blue header does not make it full screen. It is not possble to stretch the window either. Maybe the workbook is protected with the windows option checked. Tools|Protection|unprotect workbook (if that option is available) You may need a password. Mike wrote: > > The excel work I have been sent is not full screen (about 3/4 size). Clicking > on blue header does not make it full screen. It is not possble to stretch the > window either. -- Dave Peterson ...