The function takes a string input and returns a new string in which uppercase letters are shifted 7 positions to the right in the alphabet, wrapping around at 'Z'. All other characters, including lowercase letters, return an unchanged output or an empty output depending on the input character.

[CODE]:
```python
def shift_uppercase(input_str):
    output_str = ''
    for char in input_str:
        if 'A' <= char <= 'Z':
            output_str += chr(((ord(char) - ord('A') + 7) % 26) + ord('A'))
        else:
            output_str += char
    return output_str
```
