Você pode utilizar o SYSTRANS para transferir objetos do ambiente Natural/Adabas de uma plataforma para outra, como por exemplo do mainframe para Linux ou Windows. Por meio dele é possível transportar programas, mapas, DDMs e até mesmo estruturas relacionadas ao banco de dados, como os FDTs do Adabas. Isso torna o processo muito mais seguro e padronizado, evitando erros que poderiam ocorrer caso essa transferência fosse feita manualmente. Muitas vezes também é necessário fazer a atualização de versões de objetos. É comum que determinados programas sejam constantemente alterados em um dos ambientes — por exemplo, no ambiente web — e essas alterações precisam ser transferidas para o outro ambiente para que ambos permaneçam sincronizados. Manter essa correlação entre os ambientes é extremamente importante para evitar inconsistências, principalmente quando existem rotinas críticas que são utilizadas em produção.
Esse fluxo garante que os dois ambientes permaneçam alinhados, reduzindo riscos de inconsistência entre versões e facilitando o controle das alterações feitas pelos desenvolvedores.
Leia Mais
Simulando
Temos um programa chamado DBAPMENU que queremos transferir para outro mainframe/ou outro Linux Natural - no mainframe usamos esse JCL para fazer o backup//AAFSNATB JOB (AACP,SCHD),SCHED,CLASS=S,MSGCLASS=A TYPRUN=HOLD //*UQ ALLOW //* ------------------------------------------------------------------ //* Transferencia do mainframe para o micro //* ------------------------------------------------------------------ //* ESTE JOB COPIA PROGRAMAS/SUBPROGRAMAS PARA UM ARQUIVO PS UNLOAD //* ------------------------------------------------------------------ //NATUNLD EXEC NATSIAF,PARM1='SYS=D,MT=0,IM=D,INTENS=1' //CMWKF01 DD DSN=AAC.S.WORK01,DISP=OLD //CMWKF03 DD DSN=AAF.S.CMWKF03,DISP=OLD //CMPRINT DD SYSOUT=A //DADOS DD * U N|N|N|Y|Y|N|N N SUPORTE2|DBAPMENU|*|SUPORTE2 FIN /* //SYSIN DD * LOGON SYSTRANS MENU /*Rodou o SYSTRANS Unload
1Logon accepted to library SUPORTE2.
1NEXT LOGON SYSTRANS
1Logon accepted to library SYSTRANS.
1NEXT MENU
1Function / CMD
DATA U
1
General Unload Options
0Conversion EBCDIC ===> ASCII ..... N (Y/N)
User-Defined Conversion Table .... N (Y/N)
Substitute Line References ....... N (Y/N)
Report ........................... Y (Y/N)
Include Line Numbers ............. N (Y/N)
Use Work File Input .............. N (Y/N)
Use Selection List ............... N (Y/N)
0Use Entire Connection work file... N (Y/N)
DATA N|N|N|Y|Y|N|N
1
Objects to be unloaded / CMD
DATA N
1
Unload Natural Objects
0S/C Type ....................... S
From Library ................... ________
Object Name .................... *_______
Object Type .................... *______________
To Library ..................... ________
Data Area Format ............... * (*/O/N)
DATA SUPORTE2|DBAPMENU|*|SUPORTE2
111:42:15 ***** NATURAL SYSTRANS UTILITY ***** 2026-03-24
User AAFSNATB - Unload Objects -
0Object Object Src Vers. Target Date/Time of User ID Operating
Name Type Cat Level Library Save of save System
-------- ----------- --- ------ -------- ---------------- -------- ---------
0DBAPMENU Program Src 4.1.4 SUPORTE2 2025-07-09 14:15 DBAP048 MVS/ESA
1
Objects to be unloaded / CMD
DATA FIN
111:42:15 ***** NATURAL SYSTRANS UTILITY ***** 2026-03-24
User AAFSNATB - Unload Objects -
Statistical Report of unloaded Objects
Global Data Area ................. 0
Local Data Area .................. 0
Parameter Data Area .............. 0
Programs ......................... 1
Subprograms ...................... 0
Subroutines ...................... 0
Helproutines ..................... 0
Copycodes ........................ 0
Texts ............................ 0
Dialogs .......................... 0
Classes .......................... 0
Maps ............................. 0
Functions ........................ 0
0 Total Command Processors ......... 0
Total Natural Objects ............ 1
Total Predict Processing Rules ... 0
Total DDMs ....................... 0
Total Adabas FDTs ................ 0
Total Error Message Texts ........ 0
111:42:15 ***** NATURAL SYSTRANS UTILITY ***** 2026-03-24
User AAFSNATB - Unload Objects -
- Total Objects unloaded ........... 1
-
*** TRANSFER Unload Process has been terminated successfully ***
1NAT9995 Natural session terminated normally.
UQS0009 - END OF DATA SET.
Vamos ver o dataset - o programa esta lá
R=00000001 DSN=AAC.S.WORK01 VOL=PRD305 UNIT=1522 ....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 *H**ENAT4104202603241142152MVS/ESA 0AE B *C** SUPORTE2DBAPMENU F *D01NAT4104F SUPORTE2DBAPMENU DBAP048 DBAP048 4 23R *D02 2025070914153122025070914153120000002651 *D03MVS/ESA COMPLETENCF414 *D04 *S**0010* ==================================================================== * *S**0020* FUNCAO: MENU DE OPCOES PARA O DBA ADABAS * *S**0030* AUTOR: CLAUDEMAR MARTINS * *S**0040* DATA : 08/02/2021 * *S**0050* ==================================================================== * *S**0060DEFINE DATA LOCAL *S**00701 #ARQ1 (N3) *S**0080END-DEFINE *S**0090* ==================================================================== * *S**0100FORMAT KD=ON *S**0110SET KEY *S**0120 TREQ NAMED ' ' /* NOVAS PFS /* *S**0130PF3 = PGM NAMED 'EXIT' *S**0140PF12 = PGM NAMED 'QUIT' *S**0150* ==================================================================== * *S**0160REPEAT *S**0170 INPUT (IP=OFF SG=OFF AD=MIL'_') *S**0180 02T '-' (78) *S**0190 /02T *USER *S**0200 20T 'SUPERINTENDENCIA DA GESTAO DA INFORMACAO' (I) *S**0210 72T *PROGRAM *S**0220 /02T *TIME(AL=8) 11T '-' (60) 72T *DATE *S**0230 /72T *LIBRARY-ID / *S**0240 /02T '-' (78) *S**0250/8T '10 - MONITORANDO ESPACOS '(I) 47T' 80 - CALCULO DO ESPACO '(I) *S**0260/8T '20 - MIGRATE FILES ADABAS'(I) 47T' 90 - MANUTENCAO NOS FILES '(I) *S**0270/8T '30 - BACKUP BANCO/FILE '(I) 47T'100 - PROCEDIMENTOS HISTORICO'(I) *S**0280/8T '40 - LIMPAR CHECKPOINTS '(I) 47T'110 - ALOCACAO DOS FILES '(I) *S**0290/8T '50 - ADAREP DOS BANCOS '(I) 47T'120 - LIMPANDO BUFFER POOL '(I) *S**0300/8T '60 - REORDB/REORFILE '(I) 47T'130 - RESTRUTURACAO '(I) *S**0310/8T '70 - NOMES BANCOS PREDICT'(I) 47T' '(I) *S**0320 /2T'-' (78) *S**0330* ==================================================================== * *S**0340 // 27T'DIGITE A OPCAO DESEJADA'(YE) #ARQ1(AD=MIL'_')Essa é a biblioteca que vou restaurar o DBAPMENU - poderia ser em um ambiente em outro mainframe/outro linux
11:46:18 ***** NATURAL LIST COMMAND ***** 24/03/2026
User DBAP048 - LIST Objects in a Library - Library SUPORTE1
Cmd Name Type S/C SM Version User ID Date Time
--- *________ *__________ *__ * *______ *________ *__________ *________
__ VIEW01 Program S R 4.1.04 DBAP048 2025-08-14 10:26:45
__ VIEW02 Program S/C S 4.1.04 DBAP048 2025-08-14 12:33:03
2 Objects found
Top of List.
Command ===>
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
Help Print Exit Sort -- - + ++ > Canc
Vamos restaura o programa que foi salvo no dataset via SYSTRANS
//AAFSNATB JOB (AACP,SCHD),KATIA,CLASS=S,MSGCLASS=A TYPRUN=HOLD //*UQ ALLOW //* ------------------------------------------------------------- //* TRANSFERENCIA PARA A BIBLIOTECA SUPORTE1 //* ------------------------------------------------------------- //* ESTE JOB COPIA PROGRAMAS DE UM ARQUIVO PS P/ UMA BIB. NATURAL //* ------------------------------------------------------------- //NATUNLD EXEC NATURAL,PARM1='SYS=D,MT=0,IM=D,INTENS=1' //CMWKF01 DD DSN=AAB.S.UNLOAD.DET2,DISP=OLD //CMPRINT DD SYSOUT=A //DADOS DD * L N|Y|Y|N|Y * Y SUPORTE1 FIN /* //SYSIN DD * LOGON SYSTRANS MENU /*Restaurou
1Logon accepted to library SUPORTE2.
1NEXT LOGON SYSTRANS
1Logon accepted to library SYSTRANS.
1NEXT MENU
1Function / CMD
DATA L
1
General Load Options
0User-Defined Conversion Table .... N (Y/N/F)
Report ........................... Y (Y/N)
Translate Sources to Upper Case .. N (Y/N)
Save Restart Information ......... N (Y/N)
Modify Library Names ............. N (Y/N)
0Use Entire Connection work file .. N (Y/N)
Convert Data Area Sources ........ N (Y/N)
DATA N|Y|Y|N|Y
1Objects to be loaded / CMD
DATA *
1
Load All Objects
0All objects on work file 1 will be loaded|
0Replace ............................ N (Y/N)
DATA Y
1
Modify Library Names
-Old Library Name ................. *
New Library Name ................. *_______
DATA SUPORTE1
111:47:20 ***** NATURAL SYSTRANS UTILITY ***** 2026-03-24
User AAFSNATB - Load Objects -
0Object Object Src Vers. Target Date/Time of Op.- Remark
Name Type Cat Level Library Save System
-------- ----------- --- ------ -------- ---------------- -------- ------------
0DBAPMENU Program Src 4.1.4 SUPORTE1 2025-07-09 14:15 MVS/ESA Loaded
1PAG 2 26-03-24 11:47:19
0Objects loaded successfully
1Objects to be loaded / CMD
DATA FIN
111:47:20 ***** NATURAL SYSTRANS UTILITY ***** 2026-03-24
User AAFSNATB - Load Objects -
Statistical Report of loaded Objects
Global Data Area ................. 0
Local Data Area .................. 0
Parameter Data Area .............. 0
Programs ......................... 1
Subprograms ...................... 0
Subroutines ...................... 0
Helproutines ..................... 0
Copycodes ........................ 0
Texts ............................ 0
Dialogs .......................... 0
Classes .......................... 0
Maps ............................. 0
Functions ........................ 0
0 Total Command Processors ......... 0
Total Natural Objects ............ 1
Total Predict Processing Rules ... 0
Total DDMs ....................... 0
Total Adabas FDTs ................ 0
Total Error Message Texts ........ 0
111:47:20 ***** NATURAL SYSTRANS UTILITY ***** 2026-03-24
User AAFSNATB - Load Objects -
- Total Objects loaded ............. 1
-
*** TRANSFER Load Process has been terminated successfully ***
1NAT9995 Natural session terminated normally.
UQS0009 - END OF DATA SET.
Restaurou
11:49:02 ***** NATURAL LIST COMMAND ***** 24/03/2026
User DBAP048 - LIST Objects in a Library - Library SUPORTE1
Cmd Name Type S/C SM Version User ID Date Time
--- *________ *__________ *__ * *______ *________ *__________ *________
ed DBAPMENU Program S R 4.1.04 DBAP048 2025-07-09 14:15:31
__ VIEW01 Program S R 4.1.04 DBAP048 2025-08-14 10:26:45
__ VIEW02 Program S/C S 4.1.04 DBAP048 2025-08-14 12:33:03
3 Objects found
Top of List.
Command ===>
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
Help Print Exit Sort -- - + ++ > Canc
Editando - esta lá o programa
> > + Program DBAPMENU Lib SUPORTE1
Top ....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
0010 * ==================================================================== *
0020 * FUNCAO: MENU DE OPCOES PARA O DBA ADABAS *
0030 * AUTOR: CLAUDEMAR MARTINS *
0040 * DATA : 08/02/2021 *
0050 * ==================================================================== *
0060 DEFINE DATA LOCAL
0070 1 #ARQ1 (N3)
0080 END-DEFINE
0090 * ==================================================================== *
0100 FORMAT KD=ON
0110 SET KEY
0120 TREQ NAMED ' ' /* NOVAS PFS /*
0130 PF3 = PGM NAMED 'EXIT'
0140 PF12 = PGM NAMED 'QUIT'
0150 * ==================================================================== *
0160 REPEAT
0170 INPUT (IP=OFF SG=OFF AD=MIL'_')
0180 02T '-' (78)
0190 /02T *USER
0200 20T 'SUPERINTENDENCIA DA GESTAO DA INFORMACAO' (I)
0210 72T *PROGRAM
0220 /02T *TIME(AL=8) 11T '-' (60) 72T *DATE
0230 /72T *LIBRARY-ID /
0240 /02T '-' (78)
0250 /8T '10 - MONITORANDO ESPACOS '(I) 47T' 80 - CALCULO DO ESPACO '(I)
0260 /8T '20 - MIGRATE FILES ADABAS'(I) 47T' 90 - MANUTENCAO NOS FILES '(I)
0270 /8T '30 - BACKUP BANCO/FILE '(I) 47T'100 - PROCEDIMENTOS HISTORICO'(I)
0280 /8T '40 - LIMPAR CHECKPOINTS '(I) 47T'110 - ALOCACAO DOS FILES '(I)
0290 /8T '50 - ADAREP DOS BANCOS '(I) 47T'120 - LIMPANDO BUFFER POOL '(I)
0300 /8T '60 - REORDB/REORFILE '(I) 47T'130 - RESTRUTURACAO '(I)
0310 /8T '70 - NOMES BANCOS PREDICT'(I) 47T' '(I)
0320 /2T'-' (78)
0330 * ==================================================================== *
0340 // 27T'DIGITE A OPCAO DESEJADA'(YE) #ARQ1(AD=MIL'_')
0350 // 30T'TECLE PF3 PARA SAIR'(I)
0360 * ==================================================================== *
0370 IF #ARQ1 EQ 10 FETCH 'DBAMCS10'
0380 IF #ARQ1 EQ 20 FETCH 'DBAMCS20'
0390 IF #ARQ1 EQ 30 FETCH 'DBAMCS30'
0400 IF #ARQ1 EQ 40 FETCH 'DBAPJ879' /* 'DBAMCS80'
....+....1....+....2....+....3....+....4....+....5....+... S 54 L 21



