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
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
0 comentários:
Enviar um comentário