The function shifts each character in the input string by a fixed amount (20 positions forward) in a cyclic manner, wrapping around the alphabet if needed. It treats uppercase and lowercase letters similarly.

[CODE]: 
```python
def shift_string(text):
    shifted_text = []
    for char in text:
        if 'a' <= char <= 'z':
            shifted_char = chr(((ord(char) - ord('a') + 20) % 26) + ord('a'))
        elif 'A' <= char <= 'Z':
            shifted_char = chr(((ord(char) - ord('A') + 20) % 26) + ord('A'))
        else:
            shifted_char = char
        shifted_text.append(shifted_char)
    return ''.join(shifted_text)
```