Skip to main content

Notifications

Everything about Flights in D365 F&O.

The primary purpose of flights and features both is to implement a controlled roll-out of new functionality into the product, so as not to disrupt existing business operations. One of Microsoft’s primary goals with OneVersion is to ensure we do not break anyone.

flight is a switch, which controls a certain, usually small, piece of business logic in the product, leading it one way or the other. Microsoft is in control of the state of the flight for customers in PROD. The decision to enable or disable a flight, as long as that does not impact the functionality of the environment, is not initiated by the company in most cases. Flights are, generally speaking, always ON by default.

First question comes in our head after every update how to find which flight has been added in new version so we can try to test something around. So to answer to this there is no direct way to find out, we can just try to find out references which has been added using following SQL query and try to compare with old version.

Following query need to executed in Reference database [DYNAMICSXREFDB].

Select ReferenceFoundName.[Path],
Reference.[Line],Reference.[Column]
From [DYNAMICSXREFDB].[dbo].[References] Reference,
[DYNAMICSXREFDB].[dbo].[Names] ReferenceName,
[DYNAMICSXREFDB].[dbo].[Names] ReferenceFoundName
where ReferenceName.[Path] like ‘/Classes/Global/Methods/IsFlightEnabled’
and Reference.[TargetId] = ReferenceName.Id
and Reference.[SourceId] = ReferenceFoundName.Id

next step if you want to disable/enable flight and debug issue to check if this is resolved all not following SQL query need to run in Database.

Following query will be only work in DEV box.

Sample Query:

INSERT INTO dbo.SYSFLIGHTING(FLIGHTNAME, ENABLED, FLIGHTSERVICEID) VALUES (”, 1/0, 12719367)

Disable Flight With FlightName

INSERT INTO dbo.SYSFLIGHTING(setBatchGroupOnHeaderFromBatchInfoKillSwitch, ENABLED, FLIGHTSERVICEID) VALUES (”, 1, 12719367)

or

INSERT INTO dbo.SYSFLIGHTING(BankPositivePayDisableFlight_KillSwitch, ENABLED, FLIGHTSERVICEID) VALUES (”, 1, 12719367)

Enable Flight With FlightName

INSERT INTO dbo.SYSFLIGHTING(setBatchGroupOnHeaderFromBatchInfoKillSwitch, ENABLED, FLIGHTSERVICEID) VALUES (”, 0, 12719367)

or

INSERT INTO dbo.SYSFLIGHTING(BankPositivePayDisableFlight_KillSwitch, ENABLED, FLIGHTSERVICEID) VALUES (”, 0, 12719367)

and next setup is do IISReset and check.


This was originally posted here.

Comments

*This post is locked for comments