Navision - Transfer NTEXT column from SQL Server to xml file

455 Views Asked by At

At the moment I don't know how to get the value from a NTEXT column in SQL Server to XML file in navision. I've tried many methods but they don't work.

This is my attempt so far:

PROCEDURE ExportProdInfo@10();
VAR
  shortDesc@1001 : Text[1000];
  longDesc@1002 : BigText;
  metaDesc@1003 : Text[1000];
  xmlText@1004 : Text[200];
  tmpText@1005 : Text[200];
BEGIN
  //
  // Get the product information directly from database then export to xml file
  //

  xmlDOM.loadXML('</xml>');
  xmlNode := xmlDOM.createNode('element', 'sampleFile', 'namespace');

  IF ISCLEAR(ADOrs[1]) THEN
      CREATE(ADOrs[1]);

  QueryString :=
  'SELECT TOP 1 ProdOptProdNumber, ProdOptLongDescription, ProdOptShortDescription, ProdOptMetaDescription FROM ProductOption';
  MakeVars;
  ADOrs[1].Open(Ascii2Ansi(QueryString),ADOConn,OpenMethod,LockMethod);
  IF NOT ADOrs[1].EOF THEN REPEAT

  //XmlDOM.save('C:\testXML.xml');
    shortDesc := GetFieldStr('ProdOptShortDescription');
    //longDesc.ReadGetFieldStr('ProdOptLongDescription');
    metaDesc := GetFieldStr('ProdOptShortDescription');

    tmpBigText.GETSUBTEXT(tmpText, 0, 10);
    MESSAGE(tmpText);
    ADOrs[1].MoveNext;
  UNTIL ADOrs[1].EOF;

  CLEAR(ADOrs[1]);
END;

PROCEDURE GetFieldStr@13(FieldName@1048200 : Text[1024]) RetVal : Text[1024];
VAR
  tmpText@1001 : Text[250];
  pos@1002 : Integer;
  numberOfByte@1003 : Integer;
BEGIN
  pos := 1;
  ADOStream.Type := 2; // text mode
  ADOStream.Open;
  ADOStream.WriteText(ADOrs[1].Fields.Item(FieldName).Value);
  xmlNode.nodeTypedValue := ADOStream.Read();
  ADOStream.Close;
END;

My question is: how to get the value of NTEXT variable in SQL Server to xmlNode in Navision ?

The error is : .. is not allowed in this context

0

There are 0 best solutions below