<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def set_fc_volume(self, port_id, target_wwn, target_lun=0, boot_prio=1, initiator_wwnn=None, initiator_wwpn=None):
 """Set FibreChannel volume information to configuration. :param port_id: Physical port ID. :param target_wwn: WWN of target. :param target_lun: LUN number of target. :param boot_prio: Boot priority of the volume. 1 indicates the highest priority. :param initiator_wwnn: Virtual WWNN for initiator if necessary. :param initiator_wwpn: Virtual WWPN for initiator if necessary. """

        port_handler = _parse_physical_port_id(port_id)
        fc_target = elcm.FCTarget(target_wwn, target_lun)
        fc_boot = elcm.FCBoot(boot_prio=boot_prio, boot_enable=True)
        fc_boot.add_target(fc_target)

        port = self._find_port(port_handler)
        if port:
            port_handler.set_fc_port(port, fc_boot,
                                     wwnn=initiator_wwnn, wwpn=initiator_wwpn)
        else:
            port = port_handler.create_fc_port(fc_boot,
                                               wwnn=initiator_wwnn,
                                               wwpn=initiator_wwpn)
            self._add_port(port_handler, port)