Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Tips y Técnicas
Unidades.
1. Operación y Administración.
2. Programación y Desarrollo de Aplicaciones.
3. Base de Datos.
4. Comunicaciones.
5. Seguridad.
6. Trivia.
1. Operación y Administración
1. Operación y Administración
Ahora que ya están en V5R4, o que pronto lo van a estar, no hay que olvidar algo de lo
bueno.
¡ Ahora no se pierde ningún atributo al restaurarlos !
Este comando salva todos los archivos de spool de las output queues en la librería.
Este comando restaura todos los archivos de spool que no existan en las output
queues.
1. Operación y Administración
Este comando salva la output queue MIOUTQ en la librería PRUEBALIB con todos
los archivos de spool que contenga.
Para la 2ª Parte
D Forever S N inz(*On)
D Open C Const(' ')
D Closed C Const('Z')
/Free
DoW Forever;
Read(E) SomeRec;
If %Eof(SomeFile);
Leave;
EndIf;
If %Error();
Read(N) SomeRec;
Iter;
EndIf;
If SR_Status = Open and SR_Balance = *Zero;
Eval SR_Status = Closed;
Update SomeRec %Fields(SR_Status);
EndIf;
EndDo;
Eval *InLR = *On;
Return;
/End-Free
2. Programación y Desarrollo de Aplicaciones
D varStruct DS
(A) D Campovar 256a Varying Inz
// Los siguiente campos se definen solamente para mostrar el layout de un campo variable
• Codificar siempre la Palabra Clave Inz para asegurar que la longitud se asigne
correctamente. Esto es crítico cuando se incorporan campos de longitud
variable en estructuras de datos.
• ¿Por que?
2. Programación y Desarrollo de Aplicaciones
D varStruct DS
(A) D Campovar 256a Varying Inz
// Los siguiente campos se definen solamente para mostrar el layout de un campo variable
• Porque por omisión, las estructuras de datos se inicializan con espacios (hex
40), creando confusión al interpretarlo como la longitud del campo.
• Para saber la longitud del campo, utilizar la función %LEN() y obtener el valor
actual.
2. Programación y Desarrollo de Aplicaciones
¿Creerían que el segundo puede ejecutar cientos, sino es que miles de veces más
rápido?
For i = 1 to 10;
For j = 1 to 10;
fixedField = %Subst(baseString: i: j );
longFixed = %TrimR(longFixed) + ',' + fixedField;
EndFor;
EndFor;
For i = 1 to 10;
For j = 1 to 10;
fixedField = %Subst(baseString: i: j );
longVarying += ',' + %TrimR(fixedField);
EndFor;
EndFor;
2. Programación y Desarrollo de Aplicaciones
For i = 1 to 10;
For j = 1 to 10;
fixedField = %Subst(baseString: i: j );
longFixed = %TrimR(longFixed) + ',' + fixedField;
EndFor;
EndFor;
For i = 1 to 10;
For j = 1 to 10;
fixedField = %Subst(baseString: i: j );
longVarying += ',' + %TrimR(fixedField);
EndFor;
EndFor;
For i = 1 to 10;
For j = 1 to 10;
fixedField = %Subst(baseString: i: j );
longFixed = %TrimR(longFixed) + ',' + fixedField;
EndFor;
EndFor;
Otro punto a considerar es que este código (Primer ejemplo), es más eficiente
que el utilizado normalmente:
longFixed = %TrimR(longFixed) + ',' + %TrimR(fixedField);
For i = 1 to 10;
For j = 1 to 10;
fixedField = %Subst(baseString: i: j );
longFixed = %TrimR(longFixed) + ',' + fixedField;
EndFor;
EndFor;
ENDPGM
3. Base de Datos
3. Base de Datos
2. Arrancar el Servidor;
STRTCPSVR SERVER(*DDM)
3. Base de Datos
Utilizando DRDA
NetServer
4. Comunicaciones
• ¿ Qué es NetServer ?
Configuración de NetServer
Configuración de NetServer
Compartir Archivos
Abrir el Navegador:
Configuración de la PC - Archivos
Compartir Impresoras
Abrir el Navegador:
Configuración de la PC - Impresoras
www.printers.ibm.com
Qca400\Win32\Install\Printer
5. Seguridad
5. Seguridad
Ejecutar el comando:
ANZDFTPWD ACTION(*NONE)
Crea un archivo de spool QPSECPWD con la lista de todos los usuarios con la
contraseña por omisión.
Usuarios con acceso a comandos críticos del sistema, para trabajar con ‘jobs’, o el
scheduler, incluyendo:
Una cosa es segura con los auditores, no importa lo que les entreguen, siempre
quieren más. Pero si saben donde buscar la información, será sencillo actualizarla
cuando los auditores la requieran.
6. Trivia
6. Trivia