|
I haven't found any reference in the archives for this. We are attempting to set up source members in QCPYSRC for each data file. The source would include D specs, I/O type (Chain, SetLL, etc), %EOF assignment. We /define xxxx_ChainN, for example, in a subroutine in the main program with the /copy QCPYSRC/IOxxxx. The D specs are defined in 'DSpecs'. The problem I am encountering is key lists. First I defined them in the program that retrieves /copy source, but then thought they should all be in the /copy member itself within each action's own /define clause. Then each key list name would have to be unique. I also made each kfld unique (XXKyName) where y is the logical file number - zero being for the physical. The next issue is partial keys. Now, there could be several situations where we'd want different partial keys for any given logical. What I'd really like is to have IOModules for each file. We tried it at another shop and it was going OK, but we ran out of time to develop it properly. In this instance we would have passed I/O type etc to the module and it would have performed the action and passed back pertinent information. We used essentially the above solution with the exception of logicals. They were not addressed and we had to insert code for them. We had several programmers and there was a mix of 'standards'. Samples: * ReadEN......... C/If Defined(ScdD_ReadEN) C/UnDefine ScdD_ReadEN C* C ScdDKy_REN KList C KFld DDK0NameREN C* C ScdDKy_REN ReadE(n) TRScdDR C Eval EOF_ScdD = %Eof C Eval Error_ScdD = %Error C/EOF C/Else C/EndIf * ReadEN1 1st key C/If Defined(ScdD01_ReadEN1) C/UnDefine ScdD01_ReadEN1 C ScdD01_REN1 KList C KFld DDK1ProcREN1 * C ScdD01_REN1 ReadE(n) TRScdD1 C Eval EOF_ScdD1 = %Eof C Eval Error_ScdD1 = %Error C/EOF C/Else C/EndIf If there is something I've missed in the archives, please let me know. Fran Denoncourt Pinal County Treasurer's Office Florence, AZ 85232 (520) 866-6404
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.