Options

Control-addin xmlport

David_de_GrootDavid_de_Groot Member Posts: 4
edited 2010-12-06 in NAV Three Tier
I have a control which needs data.

The treemap example make use of a databuilder to create Data for the BigText variabele.

Is it possible to use a XMLPort for generating data? How can I stream data from an xmlport into a variabele of type bigtext?

Comments

  • Options
    kinekine Member Posts: 12,562
    You can use the streams. Ther are Read and Write functions on the bigtext variable. To get instream from outstream use some temporary blobl field into which you write the data through outstream and read them through instream.
    Kamil Sacek
    MVP - Dynamics NAV
    My BLOG
    NAVERTICA a.s.
  • Options
    deV.chdeV.ch Member Posts: 543
    Here's the code i used for this:
    CLEAR(_BigTextVar);
    TempBLOB.INIT;
    TempBLOB.Blob.CREATEOUTSTREAM(XMLOutStream);
    
    XMLServicePlanChart.SETDESTINATION(XMLOutStream);
    XMLServicePlanChart.EXPORT();
    
    TempBLOB.INSERT;
    TempBLOB.Blob.CREATEINSTREAM(XMLInStream);
    Counter := 0;
    
    REPEAT
      Counter += 1;
      XMLInStream.READTEXT(TempText);
      TempText := GeneralMgt.Ansi2Ascii(TempText);
    
      // Search Beginning (UTF-16 related)
      IF Counter = 1 THEN
        TempText := COPYSTR(TempText,STRPOS(TempText,'<'));
    
      _BigTextVar.ADDTEXT(TempText,_BigTextVar.LENGTH+1);
    UNTIL XMLInStream.EOS;
    

    BigText Var makes strange things with the beginning of the XML structure related to the UTF-16 Format, so there is some extra code to solve this issue. The conversion of ANSI2ASCII is probably not neede for you, but it will work with special chars like ö/ä/ü etc...
Sign In or Register to comment.