>LOCAL lcOldPK, lcNewPk, lnI > >LOCAL ARRAY laOldRecord[1], laNewRecord[1] > >lcOldPk = ALLTRIM(this.Parent.cboCarriers.value) >lcNewPk = ALLTRIM(this.Parent.cboCarrierToMerge.Value) > >LOCATE FOR cCarriers_pk = m.lcOldPk >SCATTER FIELDS EXCEPT CCARRIERS_PK, CCARRIER_NAME, IACTIVE_FLAG, TENTERED_DATE, CENTERED_USER, TLAST_UPDATED_DATE, ; > CLAST_UPDATED_USER, CUSER_DEF1, CUSER_DEF2, CUSER_DEF3, CUSER_DEF4 TO laOldRecord > >replace iActive_flag WITH 0 > >LOCATE FOR cCarriers_pk = m.lcNewPk >SCATTER FIELDS EXCEPT CCARRIERS_PK, CCARRIER_NAME, IACTIVE_FLAG, TENTERED_DATE, CENTERED_USER, TLAST_UPDATED_DATE, CLAST_UPDATED_USER, CUSER_DEF1, CUSER_DEF2, CUSER_DEF3, CUSER_DEF4 TO laNewRecord > >for lnI =1 to ALEN(laOldRecord) > IF NOT EMPTY(laOldRecord[m.lnI]) AND EMPTY(laNewRecord[m.lnI]) > laNewRecord[m.lni] = laOldRecord[m.lnI] > endif >NEXT > >GATHER FROM laNewRecord FIELDS EXCEPT ; > CCARRIERS_PK, CCARRIER_NAME, IACTIVE_FLAG, TENTERED_DATE, CENTERED_USER, TLAST_UPDATED_DATE, ; > CLAST_UPDATED_USER, CUSER_DEF1, CUSER_DEF2, CUSER_DEF3, CUSER_DEF4>
LOCAL lnI, OldRecord,aFields =LOOKUP(cCarriers_pk,ALLTRIM(this.Parent.cboCarriers.value) ,cCarriers_pk) SCATTER FIELDS EXCEPT CCARRIERS_PK, CCARRIER_NAME, IACTIVE_FLAG, TENTERED_DATE, CENTERED_USER, TLAST_UPDATED_DATE, ; CLAST_UPDATED_USER, CUSER_DEF1, CUSER_DEF2, CUSER_DEF3, CUSER_DEF4 NAME OldRecord replace iActive_flag WITH 0 =LOOKUP(cCarriers_pk,ALLTRIM(this.Parent.cboCarrierToMerge.Value),cCarriers_pk) FOR lnI =1 TO AMEMBERS(aFields,m.OldRecord) IF EMPTY(EVALUATE(aFields[m.lnI])) REPLACE (aFields[m.lnI]) WITH GETPEM(m.OldRecord,aFields[m.lnI]) ENDIF ENDIFor
FOR lnI =1 TO AMEMBERS(aFields,m.OldRecord) IF EMPTY(EVALUATE(aFields[m.lnI])) LOOP ENDIF REMOVEPROPERTY(m.OldRecord,aFields[m.lnI]) NEXT GATHER NAME OldRecord