I am editing datasets on a mainframe via x3270. However I cannot figure out how to move text forward, I simply just want to be able to move text forward when pressing space without deleting any characters. How?
2 Answers
If the line you are trying to shift has trailing spaces then I would expect you to be able to insert spaces with no issues. If for some reason you have hex data such as X'0A' in your data then this could prevent you being able to insert. For instance
/* data */ hi
65488A8456044448844444
1C041310C1A00008900000
In the above you could not insert anywhere prior to the X'0A'. However you could insert in front of 'hi'. Check the hex values on the line where you are trying to insert characters.

- 416
- 2
- 4
-
Basically, ISPF editor's ```nulls on/off``` setting influences whether or not inserting is allowed or blocked. Some time in the past, PCOMM started to allow inserting even with ```nulls off```, I seem to remember. Other emulators do too, or don't, or may have a setting for this. – phunsoft Jan 21 '21 at 16:42
I read elsewhere that there is a setting in x3270 to let x3270 treat trailing blanks as nulls, thus enabling the insertion of characters even when ISPF editor is set to nulls off
. Look at x3270 menu "Options -> Toggle -> Blank Fill". See here x3270 blank fill
If this setting is not enabled, then x3270 is behaving as expected with respect to trailing spaces and insert mode: You can't shift trainling blanks. You need to set nulls on
in ISPF editor command line. See NULLS ISPF editor command. Note that this setting is per ISPF editor profile. ISPF editor keeps one profile per RECFM and low level qualifier.

- 2,674
- 1
- 11
- 22
-
I tried this, however I still cannot use space without deleting characters. The only thing which works is using >,<,( and ) in the command, then it inserts spaces/tabs, but only in the beginning of the line. – Cult of Tranquility Jan 22 '21 at 15:08
-
Ahh, I see. You want to insert spaces, but there is data to the right of the insert point. You cannot shift data beyond the end of the **visible** line.This is a 3270 restriction. In that case, you need to use either the shift line commands, or reposition the "window" by using ```RIGHT nn``` line command. – phunsoft Jan 23 '21 at 09:07
-
I do not want to shift it beyond visible line, I just want to do a simple space in the middle of a sentence. For example "Hello my friend" becomes "He ll o m y fri end" (several inserted spaces between characters without deleting them when pressing space before the character) – Cult of Tranquility Jan 23 '21 at 09:26
-
Are there really only *blanks* at the end of the lines? Use ```hex on``` or ```find p‘.‘``` to verify. Apart from this, I‘m out of ideas. – phunsoft Jan 23 '21 at 10:20
-
As phunsoft mentioned check non-displayable hex data in the line. As I mentioned in my first update hex data less than x'40' will prevent shifting. A 3270 attribute will be substituted for the display output for values less than x'40'. Make sure the last column displayed has no data as you can only insert if there are trailing spaces to the end of the line displayed. – Marv Knight Jan 25 '21 at 10:52
-
I use PCOM and can insert spaces with no issues on a normal EBCDIC file used in ISPF Edit regardless of NULS ON/OFF. I would be most suspicions of the x3270 emulator and how it treats trailing spaces. Inserting spaces on the line is a function of the hardware (emulator) in how it treats trailing spaces – Marv Knight Jan 25 '21 at 10:52
-
As a circumvention you can use ) to insert a space at a specific column and not just the beginning of the line as you referenced above. Simply use BNDS to set the first column other than column 1. Have the left bound set at column 10 and then the shift char ) will shift right starting at column 10. This works well when trying to shift multiple lines using the same starting position. – Marv Knight Jan 25 '21 at 11:07