× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



All:

I have a co-worker with an interesting situation.  He has two data
structures, both defined as LIKEDS of the same template DS.  In fact there
are several procedures with this type of logic.  When both DS are populated
with the exact same data and the statement "when DS_A = DS_B;" is executed,
sometimes the result is true, sometimes it is false.  We have stepped
through the code with STRDBG and the WDSc debugger to confirm that all like
fields contain the same values.  We've even looked at the compile listing to
confirm that the data structures are the same length (they are).

The only thing we can see is that when the based-on DS has an embedded DS in
it, the result is false, otherwise it is true.  Here is a sample of the
offending code.  If anyone sees what we are doing wrong or has a link to a
manual with a reference to this condition, I'd sure appreciate it.

Thanks in advance,
--Bruce Guetzkow

      *===============================================================
     p UpdRPName...
     p                 b                   export
      *===============================================================
     d UpdRPName...
     d                 pi             3i 0
     d  curdta                             likeds(rpname)
     d  orgdta                             likeds(rpname) const
     d  newdta                             likeds(rpname) const
      *===============================================================
     d rpname          ds                  based(@)
     d                                     qualified
     d  rjkey                              likeds(rpnamekey)
     d  rjprim                        1a
     d  rjsnam                       15a
     d  rjfnam                       30a
      *===============================================================
     d rpnamekey       ds                  based(@)
     d                                     qualified
     d  rjcomp                        3a
     d  rjresp                        7s 0
     d  rjprof                        2s 0      
      *===============================================================
        // Several things happen here...
         select;
           when curdta = orgdta;
        // This code never runs...




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.