Ao tentar alterar e catalogar um programa no Natural, me deparei com a seguinte mensagem de erro: (NAT0384 Explicit format specification required) pesquisei na help do natural e ele não fala muito como corrigir esse problema, depois de pesquisar e analisar encontrei a causa desse problema - duas variaveis nesse programa foram criadas em outro programa, que não estavam nesse programa especifico
Isso ocorre pois essas duas variaveis +MENS e +FLAG estão em um outro programa - para conseguir catalogar o programa CSA@MEN2 acesso o primeiro programa chamado CSA@MENU onde as variaveis +MENS e +FLAG estão nele como variaveis independentes - rodo esse programa
Depois de rodar o programa CSA@MENU saiu com o comando %%
Edito o programa CSA@MEN2
E dou o comando para catalogar o programa STOW
Agora aceitou - consegui catalogar
Leia Mais
NAT0384 Explicit format specification required.
> > + Program CSA@MEN2 Lib DBA
....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
0960 *
0970 FORMAT LS=100
0980 SET KEY PF1='CSA@MEN' PF3='CSA@MEN'
0990 MOVE #ANO-N TO #AA
1000 MOVE #MES-N TO #MM
1010 MOVE #DIA-N TO #DD
1020 *
1030 CALLNAT 'CSA@MEN' #POS #RC1
1040 *
1050 IF #RC1 NE 0
E 1060 MOVE 'Senha nao confere' TO +MENS
1070 MOVE 'X' TO +FLAG
1080 FETCH 'CSA@MEN'
1090 END-IF
1100 *
1110 IF *GROUP EQ SCAN 'DBA' OR *GROUP = 'DBAGRUPO'
1120 IGNORE
1130 ELSE
1140 F1. FIND USER CSA-USER-USERID = #USER
1150 IF CSA-USER-CONF-COORDENADOR (F1.) NE 'S'
....+....1....+....2....+....3....+....4....+....5....+... S 349 L 96
Isso ocorre pois essas duas variaveis +MENS e +FLAG estão em um outro programa - para conseguir catalogar o programa CSA@MEN2 acesso o primeiro programa chamado CSA@MENU onde as variaveis +MENS e +FLAG estão nele como variaveis independentes - rodo esse programa
> R > + Program CSA@MENU Lib DBA
....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
0210 2 #MM (N2)
0220 2 FILLER 1X
0230 2 #AA (N4)
0240 INDEPENDENT
0250 1 +MENS (A30)
0260 1 +FLAG (A1)
0270 END-DEFINE
0280 *
0290 SET KEY PF3='FIN'
0300 MOVE #AAN TO #AA
0310 MOVE #MMN TO #MM
0320 MOVE #DDN TO #DD
0330 *
0340 REPEAT
0350 *
0360 IF +FLAG EQ 'X'
0370 RESET +FLAG
0380 ELSE
0390 RESET +MENS
0400 END-IF
....+....1....+....2....+....3....+....4....+....5....+... S 57 L 21
Depois de rodar o programa CSA@MENU saiu com o comando %%
------------------------------------------------------------------------------
DBA0055 INFOPRINT SERVER MENU CSA@MENU
07:43:32 ------------------------------------------------------------ 02/04/25
INFOPRINT SERVER DBA
------------------------------------------------------------------------------
10 - INFOPRINT LOG LIST
20 - DISPLAY PRINTER
30 - PICS/TICS DISPONIVEL
40 - ALTERAR IP DA PICS
------------------------------------------------------------------------------
DIGITE A OPCAO DESEJADA %%_
TECLE PF3 PARA SAIR
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
EXIT QUIT
Edito o programa CSA@MEN2
07:20:44 ***** NATURAL ***** 02/04/2025
User DBA0055 - Main Menu - Library DBA
Function
_ Development Functions
_ Development Environment Settings
_ Maintenance and Transfer Utilities
_ Debugging and Monitoring Utilities
_ Example Libraries
_ Other Products
_ Help
_ Exit Natural Session
Command ===> e CSA@MEN2
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
Help Exit Canc
E dou o comando para catalogar o programa STOW
> STOW > + Program CSA@MEN2 Lib DBA
....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
1050 IF #RC1 NE 0
1060 MOVE 'Senha nao confere' TO +MENS
1070 MOVE 'X' TO +FLAG
1080 FETCH 'CSA@MENU'
1090 END-IF
1100 *
1110 IF *GROUP EQ SCAN 'CSA' OR *GROUP = 'CSAGRUP'
1120 IGNORE
1130 ELSE
1140 F1. FIND USER USER-USERID = #USER
1150 IF USER-CONF-COORDENADOR (F1.) NE 'S'
1160 MOVE 'ACESSO NAO LIBERADO' TO +MENS
1170 MOVE 'X' TO +FLAG
1180 FETCH 'CSA@MENU'
1190 END-IF
1200 END-FIND
1210 END-IF
1220 *
1230 *
1240 MOVE #HH-S TO #HH-L
....+....1....+....2....+....3....+....4....+....5....+... S 349 L 105
Agora aceitou - consegui catalogar
> > + Program CSA@MEN2 Lib DBA
....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
1050 IF #RC1 NE 0
1060 MOVE 'Senha nao confere' TO +MENS
1070 MOVE 'X' TO +FLAG
1080 FETCH 'CSA@MENU'
1090 END-IF
1100 *
1110 IF *GROUP EQ SCAN 'CSA' OR *GROUP = 'CSAGRUP'
1120 IGNORE
1130 ELSE
1140 F1. FIND USER USER-USERID = #USER
1150 IF USER-CONF-COORDENADOR (F1.) NE 'S'
1160 MOVE 'ACESSO NAO LIBERADO' TO +MENS
1170 MOVE 'X' TO +FLAG
1180 FETCH 'CSA@MENU'
1190 END-IF
1200 END-FIND
1210 END-IF
1220 *
1230 *
1240 MOVE #HH-S TO #HH-L
....+....1....+....2....+....3....+....4....+....5....+... S 349 L 105


































