Thu Jun 20, 2019 6:10 pm
Login Register Lost Password? Contact Us


Error while defining INTERFACE with child dataset

Comments and questions related to the Enterprise Control Language

Tue Apr 30, 2019 2:06 pm Change Time Zone

I am trying to create external libraries. My layouts/interface includes child datasets

Is child dataset not supported in INTERFACE/LIBRARY or am I making some mistake. Please help

Code: Select all
Text_Segment_Rec := RECORD
      INTEGER3 LineSeq;   
      INTEGER3 segmentSeq;     
    STRING200 descText;     
    STRING20 DataType := '';
    STRING10 Code := '';
END;

Text_Segment_Rec_Plus := RECORD
    STRING15   Id;
      UNSIGNED2  SeqNum;
      Text_Segment_Rec;
END;

Rec := RECORD
   STRING15   col1;
    UNSIGNED2  col2; 
    DATASET (Text_Segment_Rec) TextLineSegments {MAXLENGTH(5000)};
END;

iface1(    DATASET(Rec) recIn = DATASET([],Rec)   ) := INTERFACE
   export boolean Response;
END;

lib1 (  DATASET(Rec) recIn   ) := MODULE,LIBRARY(iface1)
   export Response := true;
END;
   
#WORKUNIT('name','lib1');
BUILD(lib1);


Error: assert(!recordRequiresLinkCount(record)) failed - file: hqltcppc2.cpp, line 274 (0, 0), 3000,


It works fine if the child dataset is removed from "Rec"
balajisampath
 
Posts: 65
Joined: Mon Jul 22, 2013 6:29 pm

Mon May 06, 2019 9:57 am Change Time Zone

It worked after adding LINKCOUNTED

Code: Select all
Rec := RECORD
   STRING15   col1;
    UNSIGNED2  col2; 
    LINKCOUNTED DATASET (Text_Segment_Rec) TextLineSegments {MAXLENGTH(5000)};
END;
balajisampath
 
Posts: 65
Joined: Mon Jul 22, 2013 6:29 pm


Return to ECL

Who is online

Users browsing this forum: No registered users and 0 guests