In the book "Computer Networking A Top-Down Approach - Kurose" there is an explanation as such:
Packet forwarding by SDN-controlled switches can be based on any number of header field values in the transport-layer, network-layer, or link-layer header
It is accompanied with the following figure that illustrates packet matching fields in OpenFlow 1.0
In which scenarios are the two transport layer fields used?
Given the same IP destination, the difference in port number only serves as a distinguishment between services on the same host. If so, under what circumstances is it fair to utilize the two tranport layer fields? Is it perhaps, to allow packets going to one port, but drop packets going to a different port in the same IP destination?
What other typical uses of the two fields are there? Or I'm also fine with a conclusion that maybe it's an abstraction that is yet to find a general use.