Hi All,
I have to work with Nested array, but since I can't declare a vardim ds, I put into my first Ds a varchar field, and then I want to move the part of my nested Dim Ds valorized into this varchar field, I tried this:
But the compiler sayd me: *RNF5343 30 1 Array has too many omitted indexes; specification is ignored.
I have to work with Nested array, but since I can't declare a vardim ds, I put into my first Ds a varchar field, and then I want to move the part of my nested Dim Ds valorized into this varchar field, I tried this:
Code:
**free Ctl-Opt DftName(TESTDS) dftactgrp(*no) actgrp('QILE') option(*nounref :*srcstmt :*nodebugio) datfmt(*iso) timfmt(*iso) debug Text('Test Ds') alwnull(*usrctl); Dcl-Ds DsDetail LikeDs(Detail_Template) dim(10); Dcl-Ds DsResult Qualified; DetailChar VarChar(1000); End-Ds DsResult; Dcl-ds Detail_Template Qualified Template; ContractGroup Varchar(100); MarketRisk Float(8); EntryNum Int(10); EntryChar Varchar(1000); End-ds Detail_Template; Dcl-Ds DsEntry Qualified ; Arr LikeDs(Entry_Template) dim(10); End-Ds DsEntry ; Dcl-ds Entry_Template Qualified Template; key Varchar(30); Value Varchar(30); End-ds Entry_Template; Dcl-s Idx Int(10); Dcl-s WorkField Varchar(1000); // DsDetail(1).ContractGroup = 'pippo'; DsDetail(2).ContractGroup = 'pluto'; DsDetail(3).ContractGroup = 'paperino'; DsDetail(1).Entrynum = 2; DsDetail(1).MarketRisk = 8.12903; DsDetail(2).MarketRisk = 9.12903; DsDetail(3).MarketRisk = 10.12903; DsEntry.Arr(1).Key = 'key1'; DsEntry.Arr(2).Key = 'key2'; DsEntry.Arr(1).Value = 'value2'; DsEntry.Arr(2).Value = 'Value3'; WorkField = DsEntry; WorkField = %Subarr(DsEntry.Arr :1 :DsDetail(1).Entrynum); //DsDetail(1).EntryChar = %SubArr(DsEntry.Arr : 1 :DsDetail(1).EntryNum); *inlr = *on;
Comment