compile Insert RTI_XBAND_DATASOURCE_DATATABLE_TEMPLATE

     Function {PROCNAME}(UID)
     /*
     **  Mimic BRW using An SQL stored procedure return a dataset
     **  Build a workging table were oconv, sort is all done "server-side"
     **  So report can just have groups with Break-on, minimal chatter with OI.
     **
     ** Note: RTI_XBAND_DATASOURCE_TEMPLATE is the basis for the program
     **       RTI_XBAND_GENPROC uses the template to generate the code
     **       RTI_XBAND_SUPPORT calls RTI_XBAND_GENPROC, compiles the source, loads it on stack like rlist
     **
     **       The BRW, via NetOI / RunDotNet, calls RTI_XBAND_SUPPORT
     **
     ** 03-27-13  rjc Created
     ** 06-27-18  rjc Support @mv in readnext / read, use onGosub
     ** 07-17-18  rjc Fixes for 10.0.0.3
     ** 12-05-19  rjc Add records_processed for 10.0.8
     ** 01-14-20  rjc use rlist_text_1 for row processed
     */

     Declare Function dcount, isEventContext,select_into

     equ OTHERWISE$   to 1
     equ TRUE$        to 1
     equ FALSE$       to 0
     equ YES$         to 1
     equ NO$          to 0
     Equ NULL$        to ""
     Equ tab$         To \09\
     Equ crlf$        To \0D0A\


     $Insert msg_equates
     $Insert rti_resolve_select_callback_equates

     Declare Function isEventContext,select_Into
     If Assigned(UID) Else UID = ""
     RSLT = ""

     Equ logid$ To ""
     Open 'SYSLISTS' To f_syslists Else null

     If logid$ Then
          Writev "IN->":uid on f_syslists, logid$,-1 Else null
     end


     Call Set_Status(0)
     //"ID":@SVM:"FNAME":@svm:"LNAME":@vm:"System.String":@SVM:"System.String":@SVM:"System.String"
     // bzs remove quote(), force in at_id

     descriptor_names = "{COLHEADS}"
     descriptor_types = "{COLTYPES}"
     Descriptor = descriptor_names:@VM:descriptor_types
     Convert "," To @SVM In descriptor

     * bzs don't join them until the end
     * rslt = descriptor:@fm:Select_into('{CMD}', 'TABNORMALIZED')
     wasGuiEnabled = rti_resolve_Select_callback(rtirsc_getGuiEnabled$)
     If wasGuiEnabled else
          unused = rti_resolve_Select_callback(rtirsc_EnableGui$)
     end


     rslt = Select_into('{CMD}', 'TABNORMALIZED')

     If wasGuiEnabled else
          unused = rti_resolve_Select_callback(rtirsc_DisableGui$)
     end

          * remove trailing crlf$
     Loop
     While rslt[-2,2] == crlf$
          rslt[-2,2] = ""
     Repeat

     * Switch to @svm for columns,@vm for rows
     Convert tab$:crlf$ to @svm:@vm In rslt

     * bzs remove "column heading" row
     rslt = Delete(rslt, 1, 1, 0)

     * bzs join them together now
     rslt = Descriptor:@FM:rslt



     If logid$ Then
          Writev "OUT->":quote(rslt) on f_syslists, logid$,-1 Else null
          tmp= rslt
          Convert @svm To tab$ In tmp
          Swap @vm With crlf$ In tmp
          OSWrite tmp On 'c:\temp\xb_dataset.txt'
     end

Return RSLT
