Code in %ZOSF("SAVE") should set XCM

Bug #640867 reported by Jon Tai
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenVista/GT.M Integration
Fix Released
Undecided
Unassigned

Bug Description

On Cache, the value of %ZOSF("SAVE") is:

N XCS S XCS="F XCM=1:1 S XCN=$O(@(DIE_XCN_"")"")) Q:+XCN'=XCN S %=^(XCN,0) Q:$E(%,1)=""$"" I $E(%,1)'="";"" ZI %" X "ZR X XCS ZS @X"

Note that XCM is set. OCXOCMP8 (and possibly other routines) expect XCM to be set.

On GT.M, %ZOSF("SAVE") calls D SAVE^%ZOSV2(X). The equivalent FOR loop in SAVE^%ZOSV2 does not set XCM:

F S XCN=$O(@(DIE_+$G(XCN)_")")) Q:XCN'>0 S %=@(DIE_XCN_$S($G(ZS):",0",1:"")_")") Q:$E(%,1)="$" I $E(%)'=";" W $P(%,SP)_$C(9)_$P(%,SP,2,99999),!

The solution is to change the FOR loop from an argumentless FOR to FOR XCM=1:1.

Jon Tai (jontai)
Changed in openvista-gtm-integration:
milestone: none → 0.8.10
Jon Tai (jontai)
Changed in openvista-gtm-integration:
status: New → Fix Committed
Revision history for this message
Jon Tai (jontai) wrote :

Adding some more context...

This issue was discovered because lab notifications were not working. While debugging, it was determined that the order check rules needed to be compiled. The routines that do order checks are also the same ones that do notifications. Attempting to run the option to Compile Rules [OCX RUN COMPILER] caused the XCM error.

Jon Tai (jontai)
Changed in openvista-gtm-integration:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.