search cancel

Need to create two rows in flat file output for each account in a list of accounts from a table

book

Article ID: 213490

calendar_today

Updated On:

Products

CA Test Data Manager (Data Finder / Grid Tools)

Issue/Introduction

We have a copybook with one header and then we need to generate for X number of accounts  2 records each in the detail table. We have a list of the accounts in a table to use. We create two rows in the data painter representing the pairs of rows. We have tried using the seqlov sqllist and then in row two ^account_number(1)^. The problem with that is it always points to the first row in the table, where what we need is the account of the first row in the pair. We have a work around but it slows down the process substantially.

Environment

Release : 4.9

Component : CA Agile Requirements Designer - TMX Script Generator

Resolution

I have figured out how to do it, but I think it's not the most efficient and It seems to chew up memory that it wasn't doing before. I am using iterations for our accounts coming from a table. I think the individual

@lov(@sqllist(PCBDC,SELECT     [CIF]     FROM [CBDC].[dbo].[CustomerDataPAT]  order by CIF)@,~ITERATION~)@

that I am using might be the cause of that. Is there a way to combine a multi column sqllist, Such that I can pick which row in the list I need by iteration and the column for that specific field?

I sent you DDL for this look up table, so you can see that I am creating this look up right now for each field from that table. I suspect that being able to do something like specifying both the column name and row number would make this more efficient.

@lov(@sqllist(PCBDC,SELECT    *     FROM [CBDC].[dbo].[CustomerDataPAT]  order by CIF)@,~COLUMN_NAME~,~ITERATION~)@

As long as the 95 queries are the same then one in-memory list is created  NOT 95 in-memory lists.

trick is to use 

seqlov(sqllist(ddd), ~COLUMN_NAME~)