Вставить данные в определенный столбец в наборе данных мэйнфреймов

Мне нужно вставить данные из набора данных мэйнфрейма (A) в другой набор данных (B), начиная с определенного столбца. Например, первый набор данных 'A' содержит следующие данные

  Command ===>                
  *****************************
  1205271                      
  1205251                      
  6483068                      
  1205257                      

Второй набор данных 'B' имеет следующие данные

 ----+----7----+----8----+----9----+----0----+----1----+----2----+----
 ********************************* Top of Data ***********************
  EMPLOYER FFFF MMMMMMMM       TTTT    D                        
  EMPLOYER SSSS                TTTT    D                        
  FEDERAL UUUUUUUUUUU XXX      TTTT    D                        
  MI STATE UUUUUUUUUUU         TTTT    D                        
  NN STATE UUUUUUUUUUU         TTTT    D    

Наконец, набор данных B должен выглядеть следующим образом: данные набора данных "A" были вставлены в "B", начиная со столбца "105".

 ----+----7----+----8----+----9----+----0----+----1----+----2----+----
 ********************************* Top of Data ***********************
  EMPLOYER FFFF MMMMMMMM       TTTT    D     1205271                   
  EMPLOYER SSSS                TTTT    D     1205271                   
  FEDERAL UUUUUUUUUUU XXX      TTTT    D     6483068                   
  MI STATE UUUUUUUUUUU         TTTT    D     1205257                   
  NN STATE UUUUUUUUUUU         TTTT    D        

Пожалуйста, дайте мне знать ваше предложение. Спасибо Ашиш

1 ответ

Решение

Предполагая, что ваш LRECL в файле, в который вы хотите включить данные, уже достаточно длинный:

Edit your target file
On the command-line `COPY your-source-file`
In the line-command area, put `a ` in the asterisks before for first line of your file
ENTER
Take note of how many lines were copied (look at the line-numbers and calculate if necessary)
Type BNDS in a line-command area
ENTER
Scroll right (usually PF11) to see that your BNDS is not before the end of the final data position that you want
Type the "destructive shift right" edit symbol `)` in block-mode `))` on the first line of your inserted data
Do the same with the last line of your inserted data
After one of the `))` type 104, the number of columns you want to shift column one by (final position, less one)
ENTER 
Use the "move line-command symbol" `m` in block mode `mm` and mark the first and last line of the newly inserted data
Use the "overlay line-command symbol" `o` followed by the previously-noted number of lines copied and mark the original first line of your file
ENTER
Job done

Помните, что пока у вас есть RECOVERY ON, вы можете ОТМЕНИТЬ изменения в файле, прежде чем он будет сохранен (помните также, что END автоматически сохраняет файл).

Command ===> copy temp                                        Scroll ===> CSR
a***** ***************************** Top of Data ******************************
=COLS> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
=BNDS> <                                                                      >
000100 EMPLOYER FFFF MMMMMMMM       TTTT    D 
000200 EMPLOYER  SSSS               TTTT    D 
000300 FEDERAL  UUUUUUUUUUU XXX     TTTT    D 
000400 MI  STATE UUUUUUUUUUU        TTTT    D 
000500 NN  STATE UUUUUUUUUUU        TTTT    D 
****** **************************** Bottom of Data ****************************


Command ===>                                                  Scroll ===> CSR
****** ***************************** Top of Data ******************************
)) 010 1205271 
000020 1205251 
000030 6483068 
))39 0 1205257 
=COLS> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
=BNDS> <                                                                      >
000100 EMPLOYER FFFF MMMMMMMM       TTTT    D 
000200 EMPLOYER  SSSS               TTTT    D 
000300 FEDERAL  UUUUUUUUUUU XXX     TTTT    D 
000400 MI  STATE UUUUUUUUUUU        TTTT    D 
000500 NN  STATE UUUUUUUUUUU        TTTT    D 


Command ===>                                                  Scroll ===> CSR
****** ***************************** Top of Data ******************************
000001                                        1205271 
000002                                        1205251 
000003                                        6483068 
000004                                        1205257 
=COLS> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
=BNDS> <                                                                      >
000100 EMPLOYER FFFF MMMMMMMM       TTTT    D 
000200 EMPLOYER  SSSS               TTTT    D 
000300 FEDERAL  UUUUUUUUUUU XXX     TTTT    D 
000400 MI  STATE UUUUUUUUUUU        TTTT    D 
000500 NN  STATE UUUUUUUUUUU        TTTT    D 


Command ===>                                                  Scroll ===> CSR
****** ***************************** Top of Data ******************************
mm 001                                        1205271 
000002                                        1205251 
000003                                        6483068 
mm 004                                        1205257 
=COLS> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
=BNDS> <                                                                      >
o4 100 EMPLOYER FFFF MMMMMMMM       TTTT    D 
000200 EMPLOYER  SSSS               TTTT    D 
000300 FEDERAL  UUUUUUUUUUU XXX     TTTT    D 
000400 MI  STATE UUUUUUUUUUU        TTTT    D 
000500 NN  STATE UUUUUUUUUUU        TTTT    D 

Тогда это выглядит так (я использовал пример значения для нужного столбца, 40):

Command ===>                                                  Scroll ===> CSR
****** ***************************** Top of Data ******************************
=COLS> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
=BNDS> <                                                                      >
000100 EMPLOYER FFFF MMMMMMMM       TTTT    D 1205271 
000200 EMPLOYER  SSSS               TTTT    D 1205251 
000300 FEDERAL  UUUUUUUUUUU XXX     TTTT    D 6483068 
000400 MI  STATE UUUUUUUUUUU        TTTT    D 1205257 
000500 NN  STATE UUUUUUUUUUU        TTTT    D 
Другие вопросы по тегам