run src/transfer/XmlReadDataset.p (FileName, OUTPUT DATASET-HANDLE hDSnew).
DO i = 1 TO hDSnew:NUM-BUFFERS:
hBuffer = hDSnew:GET-BUFFER-HANDLE(i).
tn = hBuffer:NAME.
CREATE QUERY qBuf.
qBuf:SET-BUFFERS(hBuffer).
qBuf:QUERY-PREPARE("FOR EACH " + tn + " NO-LOCK").
qBuf:QUERY-OPEN().
qBuf:GET-FIRST().
repeat:
IF NOT hBuffer:AVAILABLE then LEAVE.
if tn = "t_accplan" then
do:
buf2 = BUFFER acc-plan:handle.
find first t_accplan where t_accplan.plan = hBuffer:BUFFER-FIELD("plan"):BUFFER-VALUE NO-ERROR.
if not available t_accplan then
do:
create acc-plan.
acc-plan.rid-ent = rid-ent.
buf2:BUFFER-COPY(hBuffer,"rid-ent").
end.
else
do:
buf3 = BUFFER t_accplan:handle.
isEqual = buf3:BUFFER-COMPARE (hBuffer, "binary", "rid-ent").
if not isEqual then
do:
find first acc-plan where acc-plan.plan = hBuffer:BUFFER-FIELD("plan"):BUFFER-VALUE and acc-plan.rid-ent = rid-ent NO-ERROR.
if available acc-plan then
buf2:BUFFER-COPY(hBuffer, "rid-ent").
end.
end.
end.
....
qBuf:GET-NEXT().
end.
qBuf:QUERY-CLOSE().
delete object qBuf.
end.