GU�A DE ANTIPATRONES Y ALTERNATIVAS.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 1/125 GUIA ANTIPATRONES GENERAL (2).doc
��������� C������ d� ���������. ............................................................... .............................................................................................................................. ............................................................... 4 I����d�cc���. .................................................................. ..................................................................................................................................... ......................................................................... ...... 4 COBOL....................................................................................................................................... COBOL................................................................... ................................................................................... ............... 6 T���� d� da���. ............................................................ ................................................................................................................................ ........................................................................ .... 6 B�����da �� �ab�a� WORKING......................................................... WORKING. ........................................................................................................... ................................................... 8 U�� d� OCCURS OCCURS DEPENDING ON......................................................................................................... 9 Ub�cac��� d� �a� ������c�a�............................................................ ������c�a�............................................................................................................... ................................................... 10 S�����c�a� ��� c������d��a�.......................................................................................................... 11 READ/WRITE................................................................ READ/WRITE .................................................................................................................................... ...................................................................... .. 16 F�c����� d� d� �������d �������d ���a........................................................ ���a. ................................................................................................................... ............................................................ 17 F�c����� d� d� �������d �������d �a��ab�� �a��ab�� .......................................................... ............................................................................................................ .................................................. 18 E������a������ d� ��c����� ............................................................ .............................................................................................................. .................................................. 19 U�� ��ad�c�ad� d� �����a� ����cada�............................................................................................... ����cada�............................................................................................... 23 R�a��a�����. U�� ��ad�c�ad� d� COMMIT......................................................... COMMIT ...................................................................................... ............................. 24 Pa�������� d� ������� d� ���c�c���................................................................................................ ���c�c���................................................................................................ 25 SQL......................................................................................................................................................... SQL........................................................................................ ................................................................. 26 JCL.......................................................................................................................................................... JCL................................................................................................. ......................................................... 33 N����� d� �a��� .......................................................................... .............................................................................................................................. .................................................... 33 D��ca��a d� BBDD........................................................ BBDD ............................................................................................................................ ...................................................................... 33 U����dad�� �b�����a� ............................................................. .......................................................................................................................... ............................................................. 35 D��������a������ d� ��c�����. ....................................................... ........................................................................................................ ................................................. 36 F�c����� ������a���......................................................................................................................... ������a���........................................................................................................................... 37
__________________________________________________________________________________________ Fecha edición: 06/11/2012 2/125 GUIA ANTIPATRONES GENERAL (2).doc
��������� C������ d� ���������. ............................................................... .............................................................................................................................. ............................................................... 4 I����d�cc���. .................................................................. ..................................................................................................................................... ......................................................................... ...... 4 COBOL....................................................................................................................................... COBOL................................................................... ................................................................................... ............... 6 T���� d� da���. ............................................................ ................................................................................................................................ ........................................................................ .... 6 B�����da �� �ab�a� WORKING......................................................... WORKING. ........................................................................................................... ................................................... 8 U�� d� OCCURS OCCURS DEPENDING ON......................................................................................................... 9 Ub�cac��� d� �a� ������c�a�............................................................ ������c�a�............................................................................................................... ................................................... 10 S�����c�a� ��� c������d��a�.......................................................................................................... 11 READ/WRITE................................................................ READ/WRITE .................................................................................................................................... ...................................................................... .. 16 F�c����� d� d� �������d �������d ���a........................................................ ���a. ................................................................................................................... ............................................................ 17 F�c����� d� d� �������d �������d �a��ab�� �a��ab�� .......................................................... ............................................................................................................ .................................................. 18 E������a������ d� ��c����� ............................................................ .............................................................................................................. .................................................. 19 U�� ��ad�c�ad� d� �����a� ����cada�............................................................................................... ����cada�............................................................................................... 23 R�a��a�����. U�� ��ad�c�ad� d� COMMIT......................................................... COMMIT ...................................................................................... ............................. 24 Pa�������� d� ������� d� ���c�c���................................................................................................ ���c�c���................................................................................................ 25 SQL......................................................................................................................................................... SQL........................................................................................ ................................................................. 26 JCL.......................................................................................................................................................... JCL................................................................................................. ......................................................... 33 N����� d� �a��� .......................................................................... .............................................................................................................................. .................................................... 33 D��ca��a d� BBDD........................................................ BBDD ............................................................................................................................ ...................................................................... 33 U����dad�� �b�����a� ............................................................. .......................................................................................................................... ............................................................. 35 D��������a������ d� ��c�����. ....................................................... ........................................................................................................ ................................................. 36 F�c����� ������a���......................................................................................................................... ������a���........................................................................................................................... 37
__________________________________________________________________________________________ Fecha edición: 06/11/2012 2/125 GUIA ANTIPATRONES GENERAL (2).doc
F�c����� ��������. ........................................................ ........................................................................................................................... ..................................................................... .. 38 D����c�dad d� acc���� �� �� JCL........................................................................................ JCL......................................................................................................... ................. 42 SORT .................................................................. ..................................................................................................................................... ................................................................................ ............. 44 Id������cac��� � ��a�a������ �� JCL................................................................................................... JCL................................................................................................... 47 C�����c�����..................................................................................................................................... C�����c�����................................................................................ ..................................................... 48 T�a�a������ d� ca�c��ac����� ba�c�. ....................................................... ............................................................................................... ........................................ 49 SERVICIOS ............................................................. ................................................................................................................................. ................................................................................. ............. 51 MODELO DE DATOS..................................................................................................................... DATOS............................................................................................................................... .......... 54 N�CAR .................................................................. ...................................................................................................................................... ................................................................................. ............. 75 BOINAS VERDES............................................................... VERDES .................................................................................................................................. ...................................................................... ... 93 R������c�a�........................................................... R������c�a�. .............................................................................................................................. ............................................................................... ........... 125
__________________________________________________________________________________________ Fecha edición: 06/11/2012 3/125 GUIA ANTIPATRONES GENERAL (2).doc
������� �� ���������� �������
�����
�����
�����������: ��� ������
1.0
A������c���a Ca��dad S�����a�
22.10.2012
V������ ���c�a�
2.0
A������c���a Ca��dad S�����a�
31.10.2012
I�c������ d� ��a�a������ d� ca�c��ac����� � ��a��a�����.
������������� E��� d�c������ �� ��a ��c����ac��� d� ��� ������� ��� c������ d���c�ad�� �� �a �����a�ac���, �� �� d����� d� ���c���� � �� �� ��d��ad� d� da���, ����� c�� ��� a�����a���a� ������ada� a �������a� �� c������ d� ��c�����, �a ��ab���dad � �a �a�����b���dad d�� �����a��. La �a��� d� ���� d�c������ �� ����a� �� �a �a�� �����a�a d� d����� �� c������� d� ���c��ca� ��� c��d�c�� a ���d�������� d���c������ d�� ���c���, ���c���������� �� d���c�ab�� �� �a �a�� d� ����ba� d�b�d� a� �������� ������� d� da��� �����c�� a P��d�cc���. E� �� ca������ �R������c�a�� �� ��d�ca� ��� d�c������� ������a��� ��� a����a� �a ������ac��� a��� d��c���a. La G��a d� A����a������ �� �������a �� ����a�� d� ��c�a�: ������: XXXXXX ����: XXXXXX �����������:
������: XXXXXXXXXXXXXXXXXXXXXXXXXXX
�����������:
������: S�� ������c��c�� ��� �d������ca� �� a����a����. ����: Ca�a���ac��� d�� ���� d� a����a����: __________________________________________________________________________________________ Fecha edición: 06/11/2012 4/125 GUIA ANTIPATRONES GENERAL (2).doc
• • •
�����.� A����a���� ��a�� ��� d�b� c��������� �b���a����a�����. �����.� A����a���� ���� ��� d�b� c��������� �b���a����a�����. �����������.� A����a���� ���� ��� c������� c�������. N� �� b�����a���.
������: B���� d��c���c��� d�� c������d� d� �a ��c�a. �����������: D��a��� d�� a����a����. �����������: M���d�/� �a�a ����a� �� a����a����.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 5/125 GUIA ANTIPATRONES GENERAL (2).doc
����� ����� �� �����. ������: CBTD�01 ����: ����� ������������
������� �NDICES NO COMP
E� ����� c������� �� b��ca� ��������� �� �ab�a� WORKING ��a�d� c��� ��d�c� �� ca��� c��a PICTURE �� �� COMP, �.�. PIC 9(4). T�d� ca��� c�� �� ��� �� �a�a� ����ac�����, c��� �� ADD 1 TO INDICE, �� c�������� a COMP �� ������ d� ���c�c���, ��� �� ��� �� �� ca��� �� d����� d���c�a����� c��� COMP �� ����a �ac�� �a c��������� cada ��� ��� �� ���c��a. ������������ D������ c��� COMP ��d�� ��� ��d�c�� d� �ab�a� WORKING: PIC S9(�) COMP, ���a�d� � �� ���c��� d�� �a��� ������ ��� ���da ad���a� �� ��d�c�: •
•
Ha��a �� �a��� d� 32.767: PIC S9(4) COMP. E��� ����a�� �� �� ad�c�ad� �a�a �a �a����a d� �ab�a�. Pa�a �a����� ��� ��a�d��: PIC S9(8) COMP.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 6/125 GUIA ANTIPATRONES GENERAL (2).doc
������: CBTD�02 ����: ����� �����������:
������: CONTADORES NO COMP
E� ����� c������� �� ��a� c��� c���ad���� ca���� c��a PICTURE �� �� COMP, �.�. PIC 9(6). T�d� ca��� c�� �� ��� �� �a�a� ����ac�����, c��� �� ADD 1 TO CONT�LEIDOS, �� c�������� a COMP �� ������ d� ���c�c���, ��� �� ��� �� �� ca��� �� d����� d���c�a����� c��� COMP �� ����a �ac�� �a c��������� cada ��� ��� �� ���c��a. �����������: D������ c��� COMP ��d�� ��� c���ad����, � �� �����a� ��d� ca��� d�����ad� a ��a���a� ����ac����� a�������ca�: PIC S9(�) COMP, ���a�d� � �� ���c��� d�� �a��� ������ ��� ���da ad���a� �� ca���: •
Ha��a �� �a��� d� 32.767: PIC S9(4) COMP.
•
Ha��a �� �a��� d� 2.147.483.647: PIC S9(8) COMP.
S� ��c�����da �� ��a� �� �a�a�� d� PICTURE ��� ��a�d� d� �� ��c��a���.
������: CBTD�03 ����: ����� �����������:
������: HARD�CODE
E� ����� c������� �� ��c���� da��� HARD�CODE �� �� �����a�a. C������a� �� d�c������ HARD�CODE, DIRECTRICES DE USO.
�����������: E���a� �� HARD�CODE, ��a�d� �� �� ���a� da��� �������� a� �����a�a, d� ����a ��� ���da� ��d���ca��� ��� ��c���dad d� ��d���ca� �� c�d��� ������.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 7/125 GUIA ANTIPATRONES GENERAL (2).doc
�������� �� ������ �������. ������: CBBW�01 ����: ����� �����������:
������: B�SQUEDAS EN WORKING
P��d�� da��� d�������� �������: 1. R�c����� �a �ab�a ��c���c�a������ �����a�d� c��� ��d�c� �� ca��� c��a PICTURE �� �� COMP. •
C������a� �� a�a��ad� ����c���c� ��b�� ��d�c�� d� �ab�a� WORKING.
2. R�c����� �a �ab�a ��c���c�a������ ��d���d��� �ac�� d� ����a b��a��a � d�c�����ca. •
La b�����da b��a��a � d�c�����ca �� ��c�� ��� ����da ��� �a ��c���c�a�, � �� ���d� �ac�� ������� ��� �a �ab�a ���� c�a����cada ��� a���� ca���.
3. R�c����� �a �ab�a ��c���c�a������ �a��a �a �����a �c�����c�a, �� ���a� d� �ac���� ���� �a��a �a �����a �c�����c�a ��a������ ca��ada �� �a �ab�a. •
S� �a �ab�a ���� d�����da �.�. c�� OCCURS 1000, ���� ���� �� �a� ca��ad� 400 �c�����c�a�, �� d�b�� ��c������� �a� 1000, �a ��� �� �ab� ��� a �a���� d� �a 401 ����� ��� ������a�.
�����������: Ca�� 1.� C������a� �� a�a��ad� ����c���c� ��b�� ��d�c�� d� �ab�a� WORKING. Ca�� 2.� S� �a �ab�a ���� ��d��ada ��� ��� � ��� ca����, d�b� �ac���� �a b�����da b��a��a (SEARCH ALL): 01
TABLA. 10 ELEMENTO
OCCURS 5000
TAB-COD-BANCO, TAB-COD-OFICI IND1. PIC X(4). PIC X(4).
ASCENDING KEY INDEXED
15 15
E-BANCO E-OFICI
BY
SEARCH ALL ELEMENTO AT END SET NO-ENCONTRADO TO TRUE WHEN E-BANCO
(IND1) = WS-BANCO AND E-OFICI (IND1) = WS-OFICI SET SI-ENCONTRADO TO TRUE
END-SEARCH
__________________________________________________________________________________________ Fecha edición: 06/11/2012 8/125 GUIA ANTIPATRONES GENERAL (2).doc
Ca�� 3.� a. S� �� �����a�a ��� ��c���� �a �ab�a �� �� ����� ��� �a �a ca��ad�, �� �����a�a �ab� c����a� �c�����c�a� �a ca��ad� (�.�. INDICE), ��� �a��� �� ��c����d� d� �a �ab�a d�b� �ac���� d��d� 1 �a��a INDICE, �� �a��a �� ���a� d� �a ����a. b. S� �a �ab�a �a �a ca��ad� �� �����a�a a������� a� �����a�a ��� �a ����� ��� ��c�����, a���� d�b� ������a� a ���� d� c����a� �c�����c�a� �a ca��ad�. c. E� c�a������ ca��, �� �a �ab�a �� ��c���� �a�a a�ad�� �� ��������, � �� �a�a b��ca���, d�b� ��a���a��� �a ��c���dad d� �ac�� d�c�� ��c����d�. P.�., �� �����a�a ��� ��a��c� �a ca��a d� �a �ab�a d� ����a �ca����a�, � �� ��d� �����d�, d�b� ��a�da��� �� ������ d� �c�����c�a �a��� �� �� ��� �a a�ad�d� �� �������� (�.�. INDICE�ULTIMO), �� c�a� ������� �� �a ��������� �ca���� a�ad�� �� �������� ����� d���c�a����� �� �a �c�����c�a INDICE�ULTIMO + 1, ��� ����� ��� �ac�� ��c����d� �a��a ����a� a ���a.
��� �� ������ ��������� �� ������: CBDP�01 ����: ����� �����������:
������: OCCURS DEPENDING ON
C������� �� ��a� OCCURS DEPENDING ON �� �����a�a� �������. E��a ���c��ca �����ca ��� cada ��� ��� �� ca���� ��a ���a ����a �� �a �ab�a �� �����a�a ��c����� b��ca� ������a �a�a ���a, c�� �� c����������� c������ d� ��c�����. �����������: E���a� ���a ���c��ca �� �����a�a� �������.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 9/125 GUIA ANTIPATRONES GENERAL (2).doc
��������� �� ��� ����������. ������: CBUS�01 ����: ����������� �����������:
������: UBICACI�N DE LOS C�LCULOS
E� ����� c������� �� c���ca� �a� ������c�a� �� �� ���a� ��ad�c�ad�, ����a������ d����� d� b�c��� ��d���d� ���a� ����a d� �����, c�� �� c������ ����c��a��� ��� ���� �ca����a. E� b�c�� ���d� ��� ���d���� � �� ���d����: B�c�� ���d����: MOVE 0 TO TOTAL. PERFORM VARYING IND FROM 1 BY 1 UNTIL IND = 1000 COMPUTE TOTAL = TOTAL + (CAMPO(IND) * TIPO) END-PERFORM.
E� �a ���c�c��� ���� b�c�� ��a���a: 1000 ���a� (IND = IND +1 ). 1000 c���a�ac����� (IF IND = 1000 ). 1000 ��������cac����� (CAMPO(IND) * TIPO ). 1000 ���a� (TOTAL = TOTAL + R�����ad� d� �a ��������cac���). La� 1000 ��������cac����� ���d�� ����a���, �b������d� �� ����� ������ad� �� �� ca��� TOTAL. • • •
•
B�c�� �� ���d����: S� ��a�a �.�. d� �� �����a�a ba�c� d� ����ad�, d��d� �a� cab�c��a� ���a� �� �b������ N ��c�� �� ���a� d� ���� ��a �� ��d� �� �����a�a (�.�. �ac� CALL a �a �����a ��� �� da �a ��c�a �a�a �������� �a cab�c��a). S� ���a ��c�a �� ���a �a�a ��d� �� ����ad�, d�b��� �b������� a� ���c�� d�� �����a�a, ��a ���a ���, � �� ��a ��� cada �a��� d� �����a. �����������: B�c�� ���d����: R�d�c�� �a c�d���cac��� d� b�c��� a� ������ ������c��d�b��: MOVE 0 TO TOTAL. PERFORM VARYING IND FROM 1 BY 1 UNTIL IND = 1000 COMPUTE TOTAL = TOTAL + (CAMPO(IND) END-PERFORM.
COMPUTE TOTAL = TOTAL * TIPO.
B�c�� �� ���d����: __________________________________________________________________________________________ Fecha edición: 06/11/2012 10/125 GUIA ANTIPATRONES GENERAL (2).doc
C�d���ca� �a� ������cc����� �� �� ����� ad�c�ad�, ������d� �� c����a �� ������� ��ac�� �� ��� d�b�� ���c��a���.
������: CBUS�02 ����: ����� �����������:
������: UBICACI�N DE LAS LLAMADAS A RUTINAS DE VALIDACI�N
E� ��� ������� �� ca�� d� �� �����a�a ba�c� ��� �a��da �� ��c���� d� �a����a�, � ��� cada �������� ��a�a a ��a �����a ��� �a��da �a P�����c�a d��d� �� ������ �� ����������, acc�d���d� �����c�� a �a �ab�a d� P�����c�a� ��a ��� ��� cada �a����a, �� ���a� d� ��a ��� ��� cada ������c�a. �����������: E� ������ d� d�����, c����d��a� �a ca�d��a��dad d� �a ������ac��� ���c��ada � ac��a� �� c����c���c�a. E� �� ������� ��������, �� �a� ��� �a��da� �a P�����c�a �� ��c���� d�b���a ����� ��d��ad� ��� ��� da��, � ���� a� ���d�c���� �� ca�b�� d� P�����c�a ��a�a��a a �a �����a d� �a��dac���. E� ca�� d� ��� �� ����a ����b�� ��d��a� ��� P�����c�a, �a��da� ���� c�a�d� ���a ��a d������a a �a �����a �a��dada. D� ���a ����a �� ���d� ����a� ��c�a� �a��dac�����.
���������� ��� ������������. T�da ������c�a �ca����a �� c������ �� �� ������� d� ���c��a���, ��� ��ba��� �a� ������c�a� ��� �����ca� �� a��� c������ �� c���a�ac��� c�� ���a�, �a�a �� ����� ������ d� ���c�c�����. ������: CBMC�01 ����: �����
������: INITIALIZE
�����������: E��a ������c�a ����� �a�a ���c�a���a� �� ���a d� ��aba��. La d�����c��� d� ���c�a���a� �� ����ab��c�� ��� �a����� ���c�a��� �a�a �a ���c�c��� d� �� �����a�a�. E� �a��� ���c�a� d����d� d� �a �a���a���a (PICTURE) d�� ca���; a��, �� ca��� ������c� �� ���c�a���a a c����; �� ca��� __________________________________________________________________________________________ Fecha edición: 06/11/2012 11/125 GUIA ANTIPATRONES GENERAL (2).doc
a��a������c� �� ���c�a���a a ���ac���; ��c. E� �a ���c�c��� d� �� �����a�a ��� �����a INITIALIZE, �� ������a ����� ��� c�����ba� ��� PICTURE ����� cada ca��� �a�a �ab�� �� d�b� ������� ZEROS � SPACES, � ����� ���������. E��a c�����bac��� �� �a ��� �� ���d� ����a� �����a�d� ���a� ��c��ca�. E� INITIALIZE d� �� ���a �� ��� c������: C�a��a� ��� ��c�� �� ���c��a (c��� c�a������ ������cc���). C�a���� ��� ca���� c������a �� ���a. C�a��a �a��� ��a �a �������d ���a� d�� ���a. Cab� d���aca� ��� �� �� ���a ����� OCCURS �a �������d ���a� �� ��������ca, a�� c��� �� ������ d� ca����. • • •
E� ba�c�, �� INITIALIZE d� ��a �ab�a d� WORKING ���� ����� �����d� �� �a �ab�a �� ca��a d� ����a a��a����a, d� ����a ��� a� ��c������a ��a� �a ca��a �� �� ��d���a c���c�� ��� ���a� �a� a ����� c������d�. E� ca�b��, �� �a ca��a �� �ac� d� ����a ��c���c�a�, ��� �� �� ��� c ���� c�� d������c�a, ������� �� �ab� �� ��� �c�����c�a �� �a ������ad� d� ��c��b��, �� ��� �ac� ��� �� INITIALIZE ������ ��a ����c��a���. �����������: 1. Pa�a ca���� ������� (ca���� ��� �� ����� ��c���d�� �� �� ���a), �� ��a� INITIALIZE. E� �� ���a�, ����� ZEROS � SPACES ����� c��������da. 2. E� �����a�, �a�a ���a� d� da��� (���a� ��� ��c����� �a���� ca���� ��d���d�a���), ��a� INITIALIZE ���� �� �� ��c��a���. 3. E� ��c���a d� ��c����� (READ INTO), �� ���c�a���a� (�� c�� INITIALIZE �� c�� MOVE�) �� ���a a���� d� ���� (�� ���d��������� d������ d� ����) . E� READ INTO �a a ������a�a� �� ���a ac��a� d�� �������� d� WORKING c�� �� ���a d�� �������� ���d� d�� ��c����, c�� �� ��� �� �� ��c��a��� �� INITIALIZE ������. 4. E� ��c�����a d� ��c����� (WRITE FROM), �� ���c�a���a� (�� c�� INITIALIZE �� c�� MOVE�) �� ���a d������ d� ��c��b��. Ta���c� �� ��c��a��� ���c�a���a� a���� d� ��c��b��, �� �� �a� a ������a� ��d�� ��� ca���� d�� ���a a���� d� �a WRITE. 5. S� a ���a� d� ��d� �� �����a ��� �� INITIALIZE �� ��c��a���: a. P�a���a��� �� ���a� �� d��d� �� c���ca �a ������cc���, � a ��� ����b�� c���ca��a ����a d� b�c���. b. C����d��a� �a ����b���dad d� �ac�� �� INITIALIZE d� cada �c�����c�a d� ��a �ab�a d� WORKING ����� a���� d� ������a� d�c�a �c�����c�a, �� ���a� d� �ac�� ��� �����a� �a�a ��da �a �ab�a. D� ���a ����a ���� �� ���c�a���a��� �a� �c�����c�a� ��a������ ca��ada�, � �� �a �ab�a c������a. 6. E� �����a� ��� ca��a� ��a �ab�a WORKING �a�a d����������a a� �����a�a ��a�a���, �� ����� ���c�a���a� �a �ab�a c������a a���� d� �ac�� �a ca��a (��� ���d� ��� �a�c�a�). E� ����� ca��� �� �����a INITIALIZE c��� ��d�da d� ������dad �a�a ��� �� �����a�a ��a�a���, ��� ��c�b� �a �ab�a ca��ada, ���� ��a�� �a� �c�����c�a� ������ada�. E��� INITIALIZE �� ���d� ����a� ��� d�� ����d��: a. U� ����d� a���ca a a�b�� �����a�a� (��a�a��� � �����a); c������� �� ��� �a �����a d������a a� ��a�a��� �� �������� c�� �� ������ d� �c�����c�a� __________________________________________________________________________________________ Fecha edición: 06/11/2012 12/125 GUIA ANTIPATRONES GENERAL (2).doc
ca��ada� �� �a �ab�a. E��� �ac� ��� �� INITIALIZE ��a ����c��a���, � ��� �� ��a�a��� ����a ��� c�����ba� d�c�� c���ad��. b. E� ���� ����d� a���ca ���a����� a �a �����a, ����d� ��a���a����� �a�a �� �����a�a ��a�a���; c������� �� ��� �a �����a �a�a INITIALIZE d� �a �c�����c�a ��������� a �a ��� acaba d� ������a� (c�������a�d� ��� �� ��c�da d�� OCCURS). D� ���a ����a �a �����a ���� ���c��a �� INITIALIZE, � �� �b����� �a ����a ������dad ��� �� ��b���a ���c�a���ad� ��da �a �ab�a, �a ��� �� �����a�a ��a�a��� (�� a����c�a d�� c���ad��) ��c������ �a �ab�a �a��a ��c����a� ��a �c�����c�a ���c�a���ada (��� ���� �a ��������� a �a �����a ca��ada).
__________________________________________________________________________________________ Fecha edición: 06/11/2012 13/125 GUIA ANTIPATRONES GENERAL (2).doc
������: CBMC�02 ����: ����������� �����������:
������: MOVE DE �REAS GRANDES
E� MOVE d� �� ���a ��a�d� (����� d� b����) d�b� ������a��� c�� �����a. E� ���� �������, �a� ���a� AREA1 � AREA2 ������ �� ����� ����a�� � �������d: IF …… ADD 1 TO CONTADOR PERFORM …… MOVE AREA1 TO AREA2 END-IF MOVE AREA2 TO AREA1
E� ������ MOVE �� ���� ���c��a�d� ��� ��c���dad c�a�d� �� �a ���c��ad� �a�b��� �� MOVE a�������, �a ��� �� ���� ca�� �a� d�� ���a� �a ��� ���a��� a���� d� �ac�� �� �����d� MOVE (� ��� �a��� �� �ac� �a��a �ac����). E� d�c��: S� ����a �� �� IF, ������ AREA1 a AREA2 � ����� AREA2 a AREA1 (��� ��c���dad). S� �� ����a �� �� IF, ���� ������ AREA2 a AREA1. �����������: • •
I�����a�d� �� ELSE �� ���d�� ������a� �������� d� ������cc����� �a�������d� �a ����a ���c���a��dad, � d� �a�� a����a�d� c�a��dad a� �����a�a: IF …… ADD 1 TO CONTADOR PERFORM …… MOVE AREA1 TO AREA2 ELSE MOVE AREA2 TO AREA1 END-IF • •
S� ����a �� �� IF, ������ AREA1 a AREA2 (c�� �� c�a� �a ��� ���a���). S� �� ����a �� �� IF, ���� ������ AREA2 a AREA1.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 14/125 GUIA ANTIPATRONES GENERAL (2).doc
������: CBMC�03 ����: ����������� �����������:
������: IF NUMERIC
E��a ������cc��� �� ��� c�����a, c������� ����a� �� ������ac���. E��a ������cc��� ����� �����a��� �a�a �ab�� �� �� ca��� ������c� � ��c���a� ����� ������ad�, �.�.: 01
IMPORTE-ALF. 03 IMPORTE-NUM
PIC 9(9).
IF IMPORTE-ALF IS NUMERIC Tiene contenido numérico ……… ELSE ……… END-IF
*
E��a ���c��ca �� �ab���a� c�a�d� �� ca��� ������c� �� ��c���a�, d� ����a ���: • •
S� ����� ������ad�, ����� c�� ������� d� �a ����a �ab���a�. S� �� ����� ������ad�, ����� c�� SPACES � LOW�VALUES � �����a�.
�����������: Pa�a ����a� ���a ���c��ca �a� ��� d������ ��� da��� d� ������ �� �a�� d� d����� d� ����a ��� ���a ������cc��� �� ��a ��c��a��� �ac���a, �.�. d�������d� �� ��d�cad�� �a�a �ab�� �� �� ca��� ����� ������ad�: 01
*
IMPORTE-ALF. 03 IMPORTE-INFORMADO 03 IMPORTE-NUM
PIC X. PIC 9(9).
IF IMPORTE-INFORMADO = ‘S’ Tiene contenido numérico ……… ELSE ……… END-IF
__________________________________________________________________________________________ Fecha edición: 06/11/2012 15/125 GUIA ANTIPATRONES GENERAL (2).doc
����/����� ������: CBRW�01 ����: ����� �����������:
������: READ/WRITE SIN INTO/FROM
E� ����� c������� �� �ac�� READ ��� INTO � WRITE ��� FROM. E��� ����d� �����ca ��aba�a� d���c�a����� c�� �� �������� d�����d� �� �a FD d� �a FILE SECTION, �� ��� ���d� ������� ���d�da d� ������ac���. E� INTO � �� FROM �� ��� �b���a������ �����c��ca�����, ���� �� �� ��� �� �a ����a�ac���.
�����������: Hac�� ������� READ c�� INTO � WRITE c�� FROM.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 16/125 GUIA ANTIPATRONES GENERAL (2).doc
�������� �� �������� ����. ������: CBLF�01 ����: ����� �����������:
������: INFORMAR UN FICHERO EN VARIOS PASOS
E� ����� c������� �� d����a� �a���� ���c���� ba�c� �a�a c��a� �� d�������ad� ��c���� � cada ���c��� ������a ��a �a��� d�� ��������, ������d� ���� ��a COPY ���ca �� ��d�� ��� ���c����. E��� ������ �� ��a� �a���� d� ������ac��� ��� b�a�c�� d��a��� ��da �a cad��a, c�� �a c����������� �c��ac��� �� d��c� � ������ d� ���c�c��� ����c��a����.
�����������: U�a� ��a COPY ����c���ca �a�a cada ���� d� ��c����, a����a�d� �a �������d a �a ��a������ ��c��a��a.
������: CBLF�02 ����: ����������� �����������:
������: FILLER DESPROPORCIONADO
E� ����� c������� �� d����a� COPY� �a�a ��c����� ba�c� d� �������d ���a, c�������a�d� ��a ca���dad d� FILLER d��������c���ada. E��a ���c��ca �����ca �� d�����d�c�� d� ���ac�� �� d��c� � d� ������ d� ���c�c���, ��� ��a�d�� c�a��� ��� ��������� ����a �� ��c���� �/� �a��� ��a �� FILLER.
�����������: N� c�������a� FILLER, � a� ����� ������a� �� ���ac�� ������c���ad� a �a �������d ���a� d�� ��c����. U�a� ��c����� d� �������d �a��ab��; d� ���a ����a ���� �� ��c��b� �� d��c� �a ������ac��� ��a������ ��c��a��a.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 17/125 GUIA ANTIPATRONES GENERAL (2).doc
������: CBLF�03 ����: ����������� �����������:
������: INFORMACI�N REPETIDA EN FICHERO
S� ��a�a d� �� ����� d� d����� ��� c������� �� d����a� �����a�a� ba�c� ��� �a���a� ��c����� ��� �����������, �� ��� ��� �a� ��a ��a� ca���dad d� ��������� c�� �a ����a ������ac��� �� ��� ������ ca����. U� ������� ���d� ��� �� d� �� ����a�� d� �������� c�������� ��� ba�c�, ���c��a, c����a�a���da � ����� ca����, � ��� ����� c������ � ����� d� ��������� c�� �a ����a ������ac��� �� ba�c�, ���c��a � c����a�a���da. E��� ������ �� ��a� ������� d� ������ac��� ������da, ��� ��� ���bab������� ���� ���da � ��abada ��� SORT�, ��� �����a�a� COBOL, ��c. �����������: Pa�a ����� ca���, d����a� ��c����� d� �������d �a��ab��, ��c�����d��� �� ���� d� �������� � �ac���d� ��� ��� ��������� ��a� ��a������ d� �������d �a��ab�� (�� ���� �� a���b��� d�� ��c����). E��� ���� �� a���cab�� c�a�d� �� ��c���� �� ����� ��� c�a����ca��� ��a ��� c��ad�, �a ��� �a a����c�a d� a������ ca���� �� ��� ��������� ����d� �� c�a����cac���.
�������� �� �������� �������� ������: CBLV�01 ����: ����� �����������:
������: APPLY�WRITE ONLY
E� ����� c������� �� �� ����� �a c������a APPLY�WRITE ONLY �� �� �����a�a ��� ��� � c��a �� ��c���� ��c���c�a� d� �������d �a��ab��. E� C�����ad�� COBOL a���� ���a c������a ��� d���c��, ��� ��ba��� �� c���������� ������a �� ��������� d� ��� �� ca�b�� �a ������� d�� C�����ad�� � �� ����� �� �����a�a a ���� ������� d��d� �� �a ����a. E��a c������a �����a �� ������ d� ���c��� �� �� �a���� d� ��c����� d� �������d �a��ab��, � �� ��� ���� c�a��a ��� �a��ac��� d� �������d�� ����� �� ��c����.
�����������: C�d���ca� �a c������a APPLY�WRITE ONLY a� �a���a� ���� ���� d� ��c�����.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 18/125 GUIA ANTIPATRONES GENERAL (2).doc
�������������� �� �������� E� �b������ ����c��a� d� �� �������a������ d� d�� ��c����� ����� ��� b��ca� �a �������cc��� �a�a ����a��a a �a��da �/� b��ca� �� ��� d� ��� ��c����� �a� c�a��� d�� ���� �a�a c���� d� a���� c������ da��� � c������a� c�� ����� �� �������� d� ���� ������. La ��c��ca ��� c���� �a�a �������a� d�� ��c����� �� �a ���������, a����� �� ������� �� �a �����: • • •
E��c��a� �� SORT �a�a ��d��a� �� ��c���� ��� �a �c�a���. E��c��a� ���� SORT �a�a ��d��a� �� ���� ��c���� ��� �a ����a �c�a���. E��c��a� �� �����a�a ��� �a�a �� �������a������ ����� ��� d�� ��c����� c�a����cad��.
������: CBEF�01 ����: ����� �����������:
������: FICHERO GRANDE VS FICHERO PEQUE�O
E� ����� c������� �� �����a� �a ��c��ca �ab���a� � c�a����ca� a�b�� ��c����� �a�a �ac�� �� �������a������ �����c��. �����������:
Pa�a ����� ca��� �� ��c�����da ������ ���� ���c�d�������: �
C�a����ca� ��d�a��� SORT �� ��c���� �������.
�
A� ���c�� d�� �����a�a, ca��a� �� ��a �ab�a WORKING �� ��c���� �������. E��a �ab�a ���d�� �� OCCURS ����c����� �a�a a�b���a� �� ��c���� c�������, ad���� d� �a� c������a� ASCENDING KEY � INDEXED BY.
�
E� �� ���c��� d�� �����a�a, cada ��� ��� �� ��a �� �������� d�� ��c���� ��a�d�, b��ca� �� c�a�� �� �a �ab�a d� WORKING, �����a�d� SEARCH ALL. E��a ������cc��� �ac� ��a b�����da b��a��a (�� ��c���c�a�) �� �a �ab�a.
Ob������� ��� NO �a ��d� ��c��a��� c�a����ca� �� ��c���� ��a�d�, c�� �� ��� ����� ����ad� �� �a�� d� SORT ��� ��b���a ���d�, c�a����cad� � ��abad� �� ��c���� ����������.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 19/125 GUIA ANTIPATRONES GENERAL (2).doc
������: CBEF�02 ����: ����� �����������:
������: ENFRENTAMIENTO DE 2 FICHEROS MUY GRANDES
La ��c��ca ��� c���� �a�a �������a� d�� ��c����� �� �a ���������, a����� �� ������� �� �a �����: E��c��a� �� SORT �a�a ��d��a� �� ��c���� ��� �a �c�a���. A c������ac���, ���c��a� ���� SORT �a�a ��d��a� �� ���� ��c���� ��� �a ����a �c�a���. A c������ac���, ���c��a� �� �����a�a ��� �a�a �� �������a������ ����� ��� d�� ��c����� c�a����cad��. • •
E� ����� c������� �� �����a� �a ��c��ca �ab���a� � c�a����ca� a�b�� ��c�����, ��� d����� d� ���� �� �� ����� JCL, �a�a �ac�� �� �������a������ �����c��. �����������: E��c��a� a�b�� SORT �� �a�a����, ��� �� cada JOB, � ���c��a� �� �����a�a d� �������a������ �� �� ���c�� JOB ��� d����da d� a������� d��. A� ���c��a��� �� �a�a����, �� ������ d�d�cad� a �a c�a����cac��� d� ��� ��c����� �� ��d�c� a �a d��ac��� d�� S ORT ��� ��� �a�d�.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 20/125 GUIA ANTIPATRONES GENERAL (2).doc
������: CBEF�03 ����: ����������� �����������:
������: ENFRENTAMIENTO DE 3 FICHEROS MUY GRANDES
E� �a ����a�ac��� �� ab��da� ��� �����a�a� ��� �ac�� �������a������ d� ���� ��c�����, a����� �� ��� ���c������ ��� ���c���� ���c���a��� ��� ��c����a� �ac�� ���� �������a������. E� ����� c������� �� d����a� �� �����a�a ��� �a�a ��������a������ a d���, � ���� �����a�a ��� �a�a ���� ��������a������ a d���. C�� ���� ���c�d�������, a����� d� ��� ��c����� �� ��� d�� ��c��.
�����������: D����a� �� ���� �����a�a ��� �a�a �� �������a������ d� ��� ���� ��c����� a �a ���. P.�., �� �� ��� �������a �� �a �������cc��� d� ��� ���� ��c�����: PERFORM INICIO PERFORM PROCESO UNTIL FIN-FILEA PERFORM FIN
OR
FIN-FILEB
OR
FIN-FILEC
PROCESO. IF A < B PERFORM LEERA ELSE IF A > B PERFORM LEERB ELSE (A=B) IF A < C PERFORM LEERA ELSE IF A > C PERFORM LEERC ELSE (A=B=C) PERFORM TRATAR END-IF END-IF END-IF END-IF.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 21/125 GUIA ANTIPATRONES GENERAL (2).doc
������: CBEF�04 ����: ����� �����������:
������: ENFRENTAMIENTO GENERAL DE 2 FICHEROS
E� a������� ca��� �� ��� ���� �������a �a �������cc��� d� a�b�� ��c�����, �� d�c��, ����a� a �a��da ��� ��������� ��� ������ c��������d��c�a �� ��� d��, �� ����� c������� �� ������� ��� c�������: PERFORM PROCESO UNTIL FIN-FILEA AND FIN-FILEB
N� �� ��c��a��� a�ca��a� �� ���a� d� ��� d�� ��c����� �� ���� ca��. �����������:
D������ �� ���c��� �� c�a��� �� a�ca�c� �� ���a� d� ��� d� ��� d�� ��c�����: PERFORM PROCESO UNTIL FIN-FILEA
������: CBEF�05 ����: ����� �����������:
OR
FIN-FILEB
������: ENFRENTAMIENTO CONTRA UN CURSOR DE UNA TABLA
E� �� ca�� �� ��� �� �����a�a �ac� �� �������a������ d�� ��c���� d� ����ada c����a ��a �ab�a DB2 d���c�a�����, ��a�d� �� c�����, � �� c������� d� c�a����cac��� d�� ��c���� NO c���c�d� c�� �� ��d�c� c������ d� �a �ab�a. P.�. �� ��d�c� d� �a �ab�a �� c����a�a���da����������c��a�ba�c�, � �� �������a������ �� �ac� ��� ba�c�����c��a�c����a�a���da������. E��� ����d� ��� �� DB2 ��a��c� PREFETCH, c�� �� ��� �� ���c��� d��a�� ��� d� �� ��c��a���.
�����������: Hac�� �� �������a������ ������a�d� �� ����� c������� ��� �� ��� ����� �� ��d�c� c������.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 22/125 GUIA ANTIPATRONES GENERAL (2).doc
��� ���������� �� ������� ��������� ������: CBRU�01 ����: ����������� �����������:
������: INFRAUTILIZACI�N DE LA RUTINA DE CANCELACI�N
E� ��d��� ����a���ad� d� ������� d� ������� ba�c� COBOL, QPBTRXRR, �� ����cad� c�a�d� �� ���d�c� �� ����� ��a�� � �a� ��� ca�c��a� �a ���c�c��� d�� JOB. E��� ��d��� ����� DISPLAY� a���� d� ca�c��a�, �����a�d� ��� da��� ��� �� �a �a�ad� �� �����a�a ��a�a��� (c�d��� d� �����, ��c.). E���� DISPLAY� ����� d�����ad�� a �a ������c��� ����da d�� ���b���a, c�� �� c�a� �� �� �����a�a ��a�a��� �� �� �a�a ��d�� ��� da��� �� ���� d��a�����c�a�d� �a ���c���a��dad d�� ��d���.
�����������: I�����a� ��d�� ��� da��� �a�a �� ��d��� QPBTRXRR a���� d� ��a�a���.
������: CBRU�02 ����: ����� �����������:
������: COPY DE ARQUITECTURA QPIPCCAB
U�� d� c��� d������a� a �a c��� QPIPCCAB c��� ������a� �����a� �a�a �a c�����cac��� ����� ��� ��d���� � �����a�a� d� �a� a���cac�����. E� �������� d� �a c��� ���� �����c���ad� �� a����ac����� ���c���a���, d� ac���d� a� c������d� � ��� d� ��� da��� ��� c������d�. �����������: C������a� �� d�c������ d��c���c��� � ����a� d� ��� QPIPCCAB �� S��� A�����c���a ���c�c��� HOST� A������c���a N���a���a�.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 23/125 GUIA ANTIPATRONES GENERAL (2).doc
�����������. ��� ���������� �� ������ ������: CBCO�01 ����: ����� �����������:
������: COMMIT
La ������� d� ��� ������ d� COMMIT (� CHKP �� �� ba�� c������ d�� IMS) ��� �� ���c��a� �� �� ���c��� ba�c�, d�b� �ac���� ������a�d� �� �a a���cac��� �� �����a�� ����c���c� d� A������c���a, � �� �� �����a�� ������ d� �a a���cac���. La ����c���c�a d� COMMIT� (cada c������ ��������� �� �ac�) �� d�b� ���a� ��c���a �����c��a����� �� �� �����a�a (�� ��� ��� ���a �a��� ����a �� HARD�CODE), ���� ��� �� �a������� ������� a� �����. E��� �ac����a �a ����b�� ��d���cac��� d� �a ���c���c�a, ��� ��c���dad d� ��ca� c�d���. La ���c���c�a d� COMMIT d����d� d� �ac����� c��� �.�. �� ���a��� d� ���c�c��� d�� �����a�a. U� ������ a��� d� COMMIT� a�����a �a d��ac��� d�� ���c���, ������a� ��� �� ������ ba�� ���d� �ca����a� b������ d� ��c�����.
�����������:
Pa�a a���cac����� PG, c������a� ��� d�c������� d� A������c���a d� E��c�c��� �� �� ��� �� d��c��b� �� ���c�d������� ����a���ad� d�� ��� d�� COMMIT: •
•
Pa�a������ac��� d� �a ���c���c�a d� COMMIT (R�a��a������Ma��a� Ad�������ac��� R�a��a����� PG.d�c) U�� d� ��� �����c��� �a�a ������� d� COMMIT : o QPBTRXEI. I��c�� d�� �����a�a. o QPBTRXEC. S���c���d d� COMMIT. o QPBTRXEF. C����� d�� �����a�a.
Pa�a a���cac����� d� SSAA, c������a� �� d�c������ �P��c���� BMP�, �� �� ��� �� d��c��b� c��� c�d���ca� �a� ������c�a� �a�a d������ �� �����a�a COBOL c��� ��a��a�cab�� ba�� c������ d� IMS.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 24/125 GUIA ANTIPATRONES GENERAL (2).doc
���������� �� ������� �� ��������� ������: CBPA�01 ����: ����� �����������:
������: Pa�������� d� ���c�c���
E� �����a�a� �� ��� ��� �������� �a�������� d�� ������� d� ���c�c���, ������ ������a��� a ����� �� ��� �����a�a�, c��� �a��, ����dad, �c� d��d� �� ���c��a, ��c.
�����������: L�a�ada a �����a QPIPRX28 ��� �b����� da��� ��c��c�� d�� c������� d� ���c�c��� d�� CPD d��d� �� ���c��a �� JCL. E� ������ ca�� ��� da��� ��� �� �b������ d�b�� ��� ������ad�� c�� ����� ���c���a��� c���: ��a�a������ d� c������� ����� �a��, d� c����a��� ����� ����dad, ������ ��� �d���a, ��c. C������a� �� d�c������ QPIPRX28 �� S��� A�����c���a ���c�c��� HOST� R����a� c�����a���a�.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 25/125 GUIA ANTIPATRONES GENERAL (2).doc
��� ������: SQL�01 ����: ����� �����������:
������: INCLUDES QUE NO SE UTILIZAN
E� ����� c������� �� d�c�a�a� �a INCLUDE d� ��a �ab�a ��� ��� �� �����a�a acc�da a �a ����a, � b��� c�d���ca� acc���� DB2 (SELECT ��c.) �� ����a��� ��� �� �� ���c��a� ���ca. E��� �ac� ��� �� DBRM ��a ��� ��a�d� d� �� ��c��a���.
�����������: N� d�c�a�a� �a INCLUDE �� �a �ab�a �� �� ��c��a��a �� �� �����a�a. E�����a� �� c�d��� ������ �� �����a�, ����c�a������ �� ��� ������c�a� SQL.
������: SQL�02 ����: ����� �����������:
������: CAMPOS RECUPERADOS EN SELECT/FETCH
E� ����� c������� �� ��c����a� ca���� ��� ��� c���c�d��, c��� ��: SELECT COD_ENTALFA, COD_PAISOALF FROM tabla WHERE COD_ENTALFA = :variable-host1 AND IMP_MINCOM = :variable-host2
Dad� ��� �� ca��� COD_ENTALFA �� ���a�a �� �� WHERE, �� �� ��c��a��� ��c������ �� �a SELECT. Ha� ��a EXCEPCI�N a ���a ����a: �� ���d� ��c����a� �� ca��� c���c�d� c�a�d� �� acc��� �� �ac� �a�a c�����ba� �������c�a (�� �a�a ����), c��� ��: SELECT COD_ENTALFA FROM tabla WHERE COD_ENTALFA = :variable-host1
�����������: N� ��c����a� ��� ca���� ��� ��a� c���c�d��, �a��� �� �a ��c��c��� �������a.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 26/125 GUIA ANTIPATRONES GENERAL (2).doc
������: SQL�03 ����: ����� �����������:
������: SELECT COUNT
E� ����� c������� �� ��a� SELECT COUNT(*) �a�a c���a� �a� ���a� ��� c������ ��a c��d�c��� �� ��a �ab�a, ��� ��� ��c��a��� c���c�� d�c�� ������ d� ���a�. N���a������ �� ��a �� �����a�a� ������� d� �a���ac��� (�c����), �� ��� ��� �� �ac� SELECT COUNT(*) �a�a c���c�� �� ������ d� ���a� � a�� ca�c��a� �� ������ d� �����a� �a�a �����a� �� ����a�a �a �a���ac��� (�.�. PAG. 1 d� 52). E� ���� ca�� ���d� ���a� �������cad� �� ���, �� a�� �� ��� ca��� �� ��� �� ���c� ��� �� ��c����a �� �ab�� �� �a� � �� ���a� ��� c������ �a c��d�c���. E� SELECT COUNT(*) �� ��� c������, �a ��� �� DB2 ����� ��� c���a� ��da� �a� ���a� d� �a �ab�a. �����������: C�a�d� ���� �� ��c����� �ab�� �� �a� � �� ���a� ��� c������ �a c��d�c���, ��� ��c���dad d� �ab�� �� c�a���a, �ac�� d���c�a����� �� SELECT � ���a�d� ���a� ���ca�c�����: � �
R�c����a� ���� �� ������ ca��� d�� ��d�c� c������ d� �a �ab�a. C�������a� �� SQLCODE �811, ���� ���� �� �� ��d�c� c������ ����� ��� d� �� c a���.
D� ���� ��d�: �
�
S� �� c�������a �� SQLCODE �811: o SQLCODE = 0 �������ca ��� ���� �a� 1 ���a (� ��� �a��� �a� ���a�). o SQLCODE = �811 �������ca ��� �a� ��� d� 1 ���a (� ��� �a��� �a� ���a�). o SQLCODE = +100 �������ca ��� �� �a� ���a�. S� �� �� c�������a �� SQLCODE �811: o SQLCODE = 0 �������ca ��� ���� �a� 1 ���a (� ��� �a��� �a� ���a�). o SQLCODE = +100 �������ca ��� �� �a� ���a�.
C������a� �a ����a ��b�� �a���ac���.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 27/125 GUIA ANTIPATRONES GENERAL (2).doc
������: SQL�04 ����: ����� �����������:
������: ROLLBACK
E� ����� c������� �� ���c��a� ROLLBACK c�a�d� �� �� �����a�a (� �� �a ���dad d� ��aba��) �� �� �a ��c�� ������a ac��a���ac��� (INSERT, UPDATE, DELETE). �����������: S� �� �� �a ��c�� ������a ac��a���ac���, �� �ac�� ROLLBACK.
������: SQL�05 ����: ����� �����������:
������: ROLLBACK
E� ��a��acc����� PG, �� �a �����a A������c���a ����� d�b� ��a���a �� ROLLBACK, ������� ��� �a a���cac��� �� ����c��� a ��a��� d� �a ������ac��� ��� �� c���������� �� �a c��� QPEJCAQA.
�����������:
E����� �� d�c������ �� S������ a D��a������ �S��� A�����c���a ���c�c��� HOST� c�� �� ��a�a������ d� ������� �� ��a��acc����� PG.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 28/125 GUIA ANTIPATRONES GENERAL (2).doc
������: SQL�06 ����: ����� �����������:
������: CURSORES QUE S�LO LEEN UNA FILA
E� ����� c������� �� ��a� �� c����� �a�a ��a�a� ���ca����� ��a ���a. E��a ���c��ca �� ���d� d���c�a� d� d�� ����a�: �
E� �� �����a�a ������: E� �����a�a �ac� OPEN CURSOR, �ac� �� ���� FETCH � �ac� CLOSE CURSOR: o E� ���� ca�� �� �b����a ��� a� �����a�a ���� �� �������a �a ������a ���a ��c����ada d�� c�����.
�
E� �a d�����c��� d�� ��d�c� d� �a �ab�a: E� �����a�a �ac� OPEN CURSOR, ����� ���c��a �� b�c�� d� FETCH �a��a ��� da SQLCODE +100, � ����� �ac� CLOSE CURSOR: o S� �� �� WHERE d�� c����� �� ���a�a� ��d�� ��� ca���� d�� ��d�c�, � ���� �� ���c�, ���� ��d�� �ab�� ��a ���a � ������a. E� ���� ca�� �� �� ��c��a��� �� c�����. o S� �� �� WHERE d�� c����� �� ���a�a� ��d�� ��� ca���� d�� ��d�c�, � ���� �� �� ���c�, �� c����� ���d� ���a� �������cad�. o S� �� �� WHERE d�� c����� �� ���a�a� a������ ca���� d�� ��d�c�, ��a ���� ���c� � ��, �� c����� ���d� ���a� �������cad�.
�����������:
Ha� �a��a� a�����a���a� �� ���c��� d� �a ��c���dad d�� �����a�a: �
S� �� ��� �� ������ �� c�����ba� �a �������c�a d� ���a/�, ��������� �� c����� ��� ��a SELECT d���c�a. C������a� �� a�a��ad� SELECT COUNT �a�a ��� ��� SQLCODE ����b���.
�
S� �� ��� �� ������ �� ��a�a� ���� ��a ���a c�a������a, ��������� �� c����� ��� ��a SELECT d���c�a. C������a� �� a�a��ad� SELECT COUNT �a�a ��� ��� SQLCODE ����b���.
�
S� �� ��� �� ������ �� ��a������ ��a�a� ���� �a ������a ���a, �� ��� ���� ����� �����d� �� �� c����� �����a ORDER BY, a�ad�� �� �a d�c�a�ac��� d�� c����� �a c������a FETCH FIRST 1 ROWS ONLY; ���� �� �ac� �ab�� a� DB2 ��� ���� �������� ��a ���a, �� c�a� ac����a c����d��ab������� �a ��a d� acc��� a ��� da���.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 29/125 GUIA ANTIPATRONES GENERAL (2).doc
������: SQL�07 ����: ����� �����������:
������: CURSORES QUE NO LLEGAN AL FINAL
S� ��a�a d� ab��� �� c�����, ���c�a� �� b�c�� d� ��c���a� (FETCH), � d������ �� b�c�� a� ����a� a N ���a� ��c����ada� (�� ���a� d� �����a� a� SQLCODE +100). E��a ���c��ca ���d� �b����a��� �.�. �� a�����a� �����a� ��� d�������� a� �����a�a ��a�a��� �� ������ d�������ad� d� ���a� cada ��� ��� �� �a� ����ca (�����a� d� �a���ac���, ��c.). E� OPEN CURSOR ����� �� a��� c������, ��� �� ��� �� d�b� ���c��a��� ���a ������cc��� �a�a ���� �� ������ �����ad� (� c���c�d�) d� ���a�. �����������:
S� �� ������ d� ���a� a ���� �� c���c�d�, �����a� �� �� DECLARE CURSOR �a c������a FETCH FIRST � ROWS ONLY, ����d� � �� ������ d� ���a� ��� �������� ��c����a�. E��� ����d� ��d�c� c����d��ab������� �� c������ d�� OPEN CURSOR. S� �� ��a FETCH FIRST � ROWS ONLY, �� ������ d� ���a� ��� �� ���d�� ��c����a� ���da �����ad� a �; d� ��c��, �� �� ��c���a� �+1 FETCH�, �� �b���d��a �� SQLCODE +100, ��c���� a����� ��b���a ��� ���a� ��� c����a� �a c��d�c��� d�� WHERE. D�b�d� a ����, �� �������a�� �ab�� �� �a� ��� d� � ���a�, �.�. �a�a d�c������ a� �����a�a ��a�a���, �� ��c�����da ��a� �� FETCH FIRST d� ��a ���a ��� d� �a� ��c��a��a� (�+1). D� ���� ��d�: • •
S� a� ���� �a ���a �+1 da SQLCODE +100, �� ��� �� �a� ��� d� �. S� a� ���� �a ���a �+1 da SQLCODE 0, �� ��� �a� ��� d� �.
E� ��d� ca��, ��� �����a�a� d� �a���ac��� d�b�� ����c���a��� �� �� c����� ��� ��a��� � ���a�� a �a �����a c�a�� d������a.
������: SQL�08 ����: ����� �����������:
������: CODIFICACI�N DEL WHERE
La ����a d� c�d���ca� �� WHERE ���d� c��d�c���a� �� ��� d�� ��d�c� �/� �ac�� ��� �� ���c��� ������� d� b�����da ��a ��� � ����� ���c����. E��� �� a���cab�� �a��� a �a� SELECT d���c�a� c��� a ��� DECLARE CURSOR. __________________________________________________________________________________________ Fecha edición: 06/11/2012 30/125 GUIA ANTIPATRONES GENERAL (2).doc
Ca�� 1.� E� WHERE ������a OR c�� ���a�dad � �a���/�����: SELECT ca���� FROM �ab�a WHERE ca���1 = da�� OR ca���1 > da��. Ca�� 2.� E� WHERE ������a OR c�� ���a�dad �� d�� da���: SELECT ca���� FROM �ab�a WHERE ca���1 = da��1 OR ca���1 = da��2. Ca�� 3.� E� WHERE ������a NOT: SELECT ca���� FROM �ab�a WHERE ca���1 NOT > da��. �����������: Ca�� 1.� U�a�: SELECT ca���� FROM �ab�a WHERE ca���1 �� da��.
Ca�� 2.� U�a�: SELECT ca���� FROM �ab�a WHERE ca���1 �� (da��1, da��2). Ca�� 3.� U�a�: SELECT ca���� FROM �ab�a WHERE ca���1 <� da��.
������: SQL�09 ����: ����� �����������:
������: UN OPEN CURSOR POR CADA REGISTRO (BATCH)
C������� �� �� �����a�a ba�c� ��� ��a�a �� ��c���� d� ����ada, � ��� cada �������� �ac� �� OPEN CURSOR �� ��a �ab�a DB2 (d���c�a����� � ��d�a��� �����a) �a�a �b����� da��� d� �a��a� ���a� � ����a� a �a��da �a���� ��������� c��� ���a� ��c����ada� �a�a �� �������� d� ����ada ac��a�. E��� �ca����a �� c������ ��� ����ad� �� �� ��c���� d� ����ada ����� ��c��� ���������, �a ��� �� �����a�a �a�� �� OPEN CURSOR ��� cada ��� d� �����. �����������: Ha� �a��a� a�����a���a�, d����d���d� d�� ������� d�� ��c���� d� ����ada � d� �a �ab�a DB2 a c������a�: ���� ������� 1 P������
����� P�����a
���� �� ����� I�d��������
2
G�a�d�
M�� ������c����
P������
����������� L�� OPEN CURSOR �� d�b���a� ������� �� c������ ��c�����. A����� �a �ab�a ��a ��a�d�, c��� �� WHERE �� ��� ������c���� �� ��c����a��� ��ca� ���a� ��� cada
__________________________________________________________________________________________ Fecha edición: 06/11/2012 31/125 GUIA ANTIPATRONES GENERAL (2).doc
3
P������
G�a�d�
P�c� ������c����
4
G�a�d�
P�����a
I�d��������
5
G�a�d�
G�a�d�
M�� ������c����
6
G�a�d�
G�a�d�
P�c� ������c����
�������� d�� ��c����. E��� c����� ��c����a�� ��c�a� ���a� ��� cada �������� d�� ��c����. E� OPEN CURSOR �� ���� ��� c������, ��� ��ba��� �� ���c��a�� ��c�a� ��c��. E� OPEN CURSOR �� ���� ��� c������, ��� ��ba��� �� ���c��a�� ��c�a� ��c��. ���� �� �� ���� d� ��� ca���.
����: La c����d��ac��� d� �������/��a�d� �� ��b�����a, ���� �� ��d�ca a�� �� �a �ab�a a ��d� ������a����. N� �b��a���, �� ���� c������� �� ���d� d�c�� ��� �� c����d��a ��c���� ��a�d� c�a�d� ����� �������� d� ��������� � �ab�a ��a�d� c�a�d� ����� ����� d� ���a�. E� A�a���ad�� d� COBOL ���a���a �� �a ����a R058 �a d�����c��� d� �� OCCURS �a��� d� 5.000 �c�����c�a�, � �� �a ����a R073 �� acc��� ���������� a �ab�a� DB2 d� ba�� �������. P�� ���a �a���, �� �a�a�� d� ��a �ab�a �� �� ��c�����a����� �� ������ d� ���a�, ���� �� �a��a� ��� ���a� ��a� (������ d� c�����a� � �������d d� �a ���a). ���� ������������� 1 E� ���c��� d� ��� �a�a���, ���d� �a�������� �� c����� � a���ca� �a ��c����dac��� 4. 2 E� ���c��� d� ��� �a�a���, ���d� �a�������� �� c����� � a���ca� �a ��c����dac��� 4. 3 A���ca� �a ��c����dac��� 6. 4 Ca��a� �a �ab�a, ��d��ada, �� W������, � �ac�� ��a b�����da b��a��a (SEARCH ALL). P���� a���c��� �� �� �a�a�� d� �a �ab�a �a�a ���a� ��� ���a ����c���. 5 E� ���c��� d� ��� �a�a���, ���d� �a�������� �� c����� � a���ca� �a ��c����dac��� 6. 6 Hac�� ��a d��ca��a d� �a �ab�a � ���c��a� �� �������a������. N��a: E��� ����d� �b���a a ��� a�b�� ��c����� ����� c�a����cad��.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 32/125 GUIA ANTIPATRONES GENERAL (2).doc
��� ������ �� ����� ������: JCNP�01 ������: JCNP�01 ����: ����������� ����: ����������� �����������:
������: N�MERO ������: N�MERO DE PASOS
E� ����� c������� �� d����a� JCL� c�� �� ��c����� ������ d� �a���. S� ��c�����da ��� �� JCL �� ����a ��� d� 10 �a���. U� ������ ��c����� d� �a���: � � �
D���c���a �� �a����������� ������ d�� JCL. R�d�c� �a ����b���dad d� ��������a� �a��� �� ������� ���c����. P��d� ca����a� �a ������c�a d� �a��� ��� ��d��a� c����� �� �a�a����.
�����������: D����a� JCL� c�� �� ������ ��d�c�d� d� �a���.
�������� �� ���� ������: JCDE�01 ������: JCDE�01 ����: ����� ����: ����� �����������:
������: DESCARGA ������: DESCARGA DE DATOS INNECESARIOS
E� ����� c������� �� d��ca��a� c�����a� � ���a� ����c��a��a�, �.�.: � �
S� d��ca��a� ��� ca���� d� a�d�����a (���a��� � ��c�a) � ����� ����� ca���� �� �����a� d��a��� ��d� �� ���c���. S� d��ca��a� ���a� d� ���, �����a�d� �� WHERE ��c� ������c����, � ����� ���a� ���a� d� d��ca��a� ��d�a��� �������, ��c.
E��a ���c��ca c������a �� c������ d� ������ � d� ���ac�� �� d��c� ����c��a����. �����������: D��ca��a� ���ca����� �a� ���a� � �a� c�����a� ��� �� ��c����a� �a�a �� ���c���.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 33/125 GUIA ANTIPATRONES GENERAL (2).doc
������: JCDE�02 ������: JCDE�02 ����: ����� ����: ����� �����������:
������: DESCARGA ������: DESCARGA DE TABLAS COMPLETAS
La d��ca��a c������a d� ��a �ab�a, �� � � d�b� �ac���� ��� �����a�a ���� ��� �����dad, a ����� ��� �� ���c��� d� d��ca��a d�ba ����� a���� ���� d� ����ca �� ��ca � ��a�a������. N��a: E��� �� a���cab�� �a�b��� a BBDD IMS. �����������:
E� ��� ���c����� �.�. ������a� ADUUMAIN � IKJEFT01 ��� �� �����a�a COBOL ��� �� ��a �a �ab�a ��� c�������.
������: JCDE�03 ������: JCDE�03 ����: ����� ����: ����� �����������:
������: DESCARGA ������: DESCARGA CON SELECT *
N� �� ��c����dab�� ��a���a� d��ca��a� ��a�d� SELECT *. E��� ����d� c������a �� ������ d� ���, a��� �����a� ��d���cac����� �� �a �ab�a, c��� a�ad�� c�����a�, �� �������c� �� ���c��� � �� ���d��ca� ca�c��ac�����, �a ��� �� SELECT * d��ca��a��a �a� c�����a� ����a�. �����������: D��ca��a� ��c�����a����� �a� c�����a� ��c��a��a� �a�a �� ���c���.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 34/125 GUIA ANTIPATRONES GENERAL (2).doc
������: JCDE04 ������: JCDE04 ����: ����� ����: ����� �����������:
������: DESCARGA ������: DESCARGA S�LO PARA ENFRENTAMIENTO
C������� �� ���c��a� ��a d��ca��a, ���a� � �a�c�a�, � �� ��c���� ������a��� �� �a a ��a� ��c�����a����� �a�a �� �������a������ �� �������a������ COBOL c�� �� �����d� ��c����. La� d��ca��a� ��� ������ ��b����d� c�a�d� �� ��c���� ������a��� ���� ��a�ad� ��� �a���� ���c����, � c�a�d� �a d��ca��a �����a ��� d� �� ��c���� �a�a a�� a��a�ca� a c������ac��� �a���� ���c���� �� �a�a����.
�����������: C����d��a� �a ����b���dad d� ��������� �a d��ca��a ��� �� �������a������ d���c�� c�� �a �ab�a �����a�d� �� CURSOR. La d�c����� d����d�: � D�� �a�a�� d� �a �ab�a. S� �a �ab�a �� ��� ��a�d�, �� ��� d�� c����� ����a��a ����� ��� ���� ������� ��da� �a� ���a� �� �a d��ca��a � d������ ��d�� ��� ��������� �� �� COBOL. �
D� �a ���a d� ���c�c���. S� �� ���a ��� �� c����� � �a �ab�a �� ��� ��a�d�, ��d��a ���d�c���� c�����c��� c�� ����� ���c����.
�
��c.
���������� ��������� ������: JCUT�01 ������: JCUT�01 ����: ����� ����: ����� �����������:
������: UTILIDADES ������: UTILIDADES OBSOLETAS
S� d�b� ����a� �� ��� d� �a��� ��� ���c���� �����dad�� d� R�c��c��� d� A���cac����� ��� �a �� ����� d������b��� �a�a ���c���� ba�c�, �a��� �a�a a���cac����� d� PG c��� �a�a c�a������ a���cac��� ����a, �.�: IEBFILE, EXUTU011, EXTRU010, ��c. �����������:
__________________________________________________________________________________________ Fecha edición: 06/11/2012 35/125 GUIA ANTIPATRONES GENERAL (2).doc
E� �� ���a� d�b�� �����a��� �����dad�� �����da� d� IBM � ���c���� ������� d� A������c���a, �.�.: �
IEBGENER �� ���a� d� IEBFILE.
�
IDCAMS �� ���a� d� EXUTU011.
�
QPIPB111 �� ���a� d� EXTRU010.
�
E�c.
Pa�a acc�d�� a� ����ad� c�������, c������a� �� d�c������ UTILIDADES DE RECEPCI�N DE APLICACIONES NO DISPONIBLES PARA PROCESOS BATCH.
���������������� �� ��������. ������: JCDI�01 ����: ����������� �����������:
������: RESERVA DE ESPACIO INADECUADO
C������� �� c�d���ca� �a c������a SPACE a� c��a� �� ��c���� ����� d� ����a ��� �� ���ac�� ��d�cad� �� ��a�d� � ������� �����c�� a� ��� �� ��c����a�� ��a������. C�� �� SPACE d��a��ad� ������� �� ��c���� �� ���d� ����a�, �����ca�d� ��a ca�c��ac���. C�� �� SPACE d��a��ad� ��a�d� �� ������a ������a�� �b����� ���ac�� ��� ��c���dad, c�� �� c����������� c������ d� d��c� � d� ������.
�����������: U�����a� �a CLIST TSO BLK �a�a �b����� �� ���ac�� �d����, �� ���c��� d� �a �������d d� �������� (LRECL), �� ������ d� ��������� �����ad��, � �� ����� d� d��c� ������ad� (3390 ����a������). E������: ------------------- Espacios en Ficheros Secuenciales LRECL =======> 250 REGISTROS ===> 1000000 (Compartido) para 6233 BLK==> 6000 TRK==> 13889 CYL==> 463
-----------
(Discos 3350) para 19069
(Discos 3380) para 23476
(Discos 3390) para 27998
BLK==> 19000 TRK==> 13158 CYL==> 439
BLK==> 23250 TRK==> 5377 CYL==> 359
BLK==> 27750 TRK==> 4505 CYL==> 301
__________________________________________________________________________________________ Fecha edición: 06/11/2012 36/125 GUIA ANTIPATRONES GENERAL (2).doc
RXB==> 24
RXB==> 76
Cintas para 13030 BLKSIZE ==> A 1.600 ==> A 6.250 ==> * 3480 *==> BYTES ==>
13000 9 2 2 250000000
RXB==> 93
Cintas 3480 para 24576 BLK====> 24500 RXB====> 98
RXB==> 111
Trk para workas
DK3330===> 23829 DK3350===> 14900 DK3380===> 6964
�������� ���������� ������: JCFT�01 ����: ����� �����������:
������: BORRADO DE FICHEROS TEMPORALES
N� �� d�b� c�d���ca� �a ������c�a DISP=(NEW,CATLG,DELETE) �� �� �� ����� �a ������dad d� ��� �� ��c���� a c��a� �� ������. E��a ���c��ca ���d� ���d�c�� �������������. Ad����, �� d�b�� ���da� d�����d�� ��c����� ������a��� ��a ��� ��a�ad��. E��a ���c��ca c������a ��a �c��ac��� ����c��a��a �� d��c�. �����������: La ���ca ����a d� ����� �a ������dad d� ��� ��� ��c����� NEW �� �������, �� ��c���� �� �a�� ������ �� �� ���, ��d�a��� IDCAMS, �� ���ac����� ��� ��c����� NEW �����ad�� �� �� JOB � �� b����� �� ca�� d� �������. D�b�� b���a��� ��� ��c����� ������a��� ��a ��� c������d��, a� ���a� d�� JCL, � b��� �� �� JCL d� d������ ��� �� c������.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 37/125 GUIA ANTIPATRONES GENERAL (2).doc
�������� ��������. ������: JCFE�01 ����: ����� �����������:
������: CREACI�N DE FICHERO PARA OTRO JOB
C������� �� c��a� �� �� JOB1 �� ��c���� �a�a �� JOB2, � ���c��a� ��� �a��� a c������ac��� d� �a c��ac��� �� �� JOB1. A� c��a� �� ��c���� �a�a ���� JOB, c������� ��� ���� ������ �����c� a ���c��a��� c�a��� a����. S�� ��ba��� �a �������c�a d� �a��� ����������� a �a c��ac��� d�� ��c���� �� �� JOB1 �ac� ��� �� JOB2 �����c� ��� �a�d� (�� �����a��, a� �����, �a��a ��� acab� ��� c������� �� JOB1, d�b�d� a �a d����d��c�a JOB1 JOB2). Ob�������� �� ���� ������� �a� ���a� d� ���c�� � ��� d� cada ���c���. A����� �� ��c���� F3 ���� d������b�� a �a� 11:00, �� ������a a ������ �a��a �a� 12:00, �� ���� a���� ����� ��� ���a���a� �� PASO1B. E� ����� d� d����� c������� �� c��a� ��a d����d��c�a ��c��ca (PASO1B PASO2A) d��d� �� �a� d����d��c�a ���c���a� (PASO2A �� d����d� d� PASO1B). JOB2 (12:00 a 14:00)
JOB1 (10:00 a 12:00) F1
12:00 PASO2A 13:00
10:00 PASO1A 11:00
F5 F2
11:00 PASO1B 12:00
F3 13:00 PASO2B 14:00
F6 F4
TOTAL = 10:00 a 14:00 = 4 ���a�
__________________________________________________________________________________________ Fecha edición: 06/11/2012 38/125 GUIA ANTIPATRONES GENERAL (2).doc
�����������: S������ ��� ��a ����b��, d����a� ��� JCL� d� ��d� ��� �� ���c��� �������� �� c�a��� �� ������ �� ��c���� �������, �a�a ad��a��a� �� ���c�� d� ��� ��c������, c��a�d� �a�a ��� �� JCL ad�c���a� �a�a ��� �a��� ����a���� � d�������d� (�/� ������a�d�) �a� d����d��c�a� c��������d������. E� �� �������, ����a�� �� PASO1B d�� JOB1 � ����a��� a� ����� JOB3. JOB1 (10:00 a 11:00)
JOB2 (11:00 a 13:00)
F1 11:00 PASO2A 12:00
10:00 PASO1A 11:00
F5 F2
12:00 PASO2B 13:00
F3
F6
JOB3 (11:00 a 12:00)
11:00 PASO1B 12:00
F4 TOTAL = 10:00 a 13:00 = 3 ���a�
__________________________________________________________________________________________ Fecha edición: 06/11/2012 39/125 GUIA ANTIPATRONES GENERAL (2).doc
������: JCFE�02 ����: ����� �����������:
������: TRATAMIENTO DE FICHERO DE JOB PREVIO
C������� �� ��a�a� �� ��c���� d� ����ada ��� ����� d� �� JOB ������, �� �� �a�� c��a ���c�c��� ��d��a ad��a��a���. E��a ���c��ca �ac� ��� �� ����a�� �a ��c���a d�� ��c���� �������. Ob�������� �� ���� ������� �a� ���a� d� ���c�� � ��� d� cada ���c���. A����� a ��c�� ���d� ���a� �������cad�, �� ����� d� d����� c������� �� c��a� ��a d����d��c�a ��c��ca (PASO2A PASO2B, �a ��� �� �� JOB ��� �a��� �a� c����c������) d��d� �� �a� d����d��c�a ���c���a� (PASO2B �� d����d� d� PASO2A). JOB2 (11:00 a 13:30) F4
JOB1 (10:00 a 11:00) F1
11:00 PASO2A 11:30 10:00 PASO1A 11:00
F2
F5 11:30 PASO2B 12:30
F3
F6
12:30 PASO2C 13:30
F7 TOTAL = 10:00 a 13:30 = 3,5 ���a�
__________________________________________________________________________________________ Fecha edición: 06/11/2012 40/125 GUIA ANTIPATRONES GENERAL (2).doc
�����������: S������ ��� ��a ����b��, d����a� ��� JCL� d� ��d� ��� �a ��c���a d� ��c����� �������� �������� c�a��� a����, c��a�d� �� JCL ad�c���a� �a�a ��� �a��� ����a���� � d�������d� (�/� ������a�d�) �a� d����d��c�a� c��������d������. E� ���� ca��, �� PASO2B �� �� SORT ��� c�a����ca �� ��c���� F3 �a�a �� �������a������ �� PASO2C. D�b� ����a���� �� SORT � ����a��� a� ����� JOB3. E� JOB2 a���a �a �� d����d� d�� JOB1, ��� �� ��� �a d����d��c�a JOB1 JOB2 ��d��a ������a���; ��� ��ba���, �� ���� ca�� c��c���� d�b� �a��������, � b��� �ac�� ��� �� JOB2 �� a��a���� ��� ���a���, ��c. (d� ���� ��d�, �� JOB2 �� �� �a��a��a ���ca). T�d� ���� �a�� ��� JOB2 � JOB3 c���a� a� ����� ������. N��a: E��a ����c��� a���ca �� ������� ��������, �a ��� ���d� �ab�� ����� �ac����� ��� c��d�c���a��a� �a ����c��� ad���ada (���d�c������, ��c������, d����d��c�a� DB2, a��a���� ��� ���a���, ��c.). JOB1 (10:00 a 11:00)
JOB2 (11:00 a 11:30) F4
F1 10:00 PASO1A 11:00
F2
11:00 PASO2A 11:30
F5
F3
JOB4 (12:00 a 13:00)
JOB3 (11:00 a 12:00)
11:00 PASO2B 12:00
12:00 PASO2C 13:00
F7 F6 TOTAL = 10:00 a 13:00 = 3 ���a�
__________________________________________________________________________________________ Fecha edición: 06/11/2012 41/125 GUIA ANTIPATRONES GENERAL (2).doc
���������� �� ������� �� �� ��� ������: JCDU�01 ����: ����� �����������:
������: RUTINA INVOCADA EN VARIOS PASOS
E� �� ca�� �� ��� �� ���a�� d� �� JOB �� ���c��a �� �����a�a ��� ��a�a a ��a �����a, � ���� �a��� d������ �� ������ a ����ca� a �a ����a �����a. F1
BD
PGM1
RUTINA
F2 PGM2
F3 �����������: S���� �� ca��, ���� ���� d� ����d�� ���d� �����a��� �� �� a��a���a� ��d�a��� ��c���� ��� da��� �b����d�� ��� �a �����a �� �� ������ �a��, �a�a ��d����� c���� �� ��� �a��� ����������. D� ���a ����a �� ���d� ����a� �� ��a� ������ d� CALL�, �� ��� �� ����c�a������ ������a��� c�a�d� �a �����a �� DB2 (d���c�a � ��d���c�a�����). F1
PGM1
BD
RUTINA
F2 + Da��� �����a PGM2
F3 __________________________________________________________________________________________ Fecha edición: 06/11/2012 42/125 GUIA ANTIPATRONES GENERAL (2).doc
T�a�a������ a�a��� ����c�� a�����a� �����a� �������a���, ��� ���ca����� ���c��a� c������ a���������, c��� �� c��c��� d� ���������, ����ac����� c�� ��c�a�, ��c., ������ a����� ��a� ����cada� �a��a� ��c�� ���d� �������ca��� ������ ��aba�a� cada ��� c�� da��� d��������.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 43/125 GUIA ANTIPATRONES GENERAL (2).doc
���� ������: JCSO�01 ����: ����� �����������:
������: OUTFIL/INCLUDE
E� �� SORT �� d�b� ��a��� �a c������a OUTFIL c�a�d� ���� �� �����a �� ��c���� d� �a��da: SORT FIELDS=(1,10,CH,A) OUTFIL FNAMES=SALIDA,INCLUDE=(15,1,CH,EQ,C'1')
E� ���� ������� �� SORT c�a����ca ���� �� ��c���� ��� 1,10,CH,A, � d������ a���ca �� ������ ��d�cad� �� �� INCLUDE, ����a�d� a SALIDA ��� ��������� ��� ������� d�c�� ������. D� ���a ����a, �� �a� c�a����cad� ��������� ��� �� �������a�. �����������: SORT FIELDS=(1,10,CH,A) INCLUDE COND=(15,1,CH,EQ,C'1')
C�� ���� ����d�, �� SORT c�a����ca �������������� ��� ��������� ��� c������ �� ������ d�� INCLUDE, � a c������ac��� ��� ����a a SALIDA. D� ���a ����a �� c�a����ca� ���� ��� ��������� ��� �������a�.
������: JCSO�02 ����: ����� �����������:
������: DOS SORT: SUM FIELDS NONE + OUTREC
E� �� ca�� �� ���: U� ������ SORT c�a����ca �� ��c���� � ������a d����cad�� c�� SUM FIELDS NONE. U� �����d� SORT c�a����ca �a �a��da d�� ������� ��� ��� ������ ca���� � �ac� OUTREC �a�a ca�b�a� �� ����a��, d��d���� �a c��c����a�c�a ��� �a �a��da d�� ������ SORT �� ���� d� ��aba�� (�� �a a ����� �a���). • •
D� ���� ��d� �� ��c���� d� N ��������� �� �a ���d� d�� ��c��, c�a����cad� d�� ��c�� � ��abad� d�� ��c��. �����������: Hac���� ��d� �� �� ���c� SORT. La c������a OUTREC ca�b�a �� ����a�� d�� �������� ����� a���� d� ����a��� a �a��da, � ��� �a��� �� �ac� ��a ��� a���cad� �� SUM FIELDS NONE. __________________________________________________________________________________________ Fecha edición: 06/11/2012 44/125 GUIA ANTIPATRONES GENERAL (2).doc
������: JCSO�03 ����: ����� �����������:
������: JUNTAR FICHEROS YA ORDENADOS
E� �� ca�� �� ���: U� ������ SORT c�a����ca �� ��c���� � �����a �a SALIDA1. U� �����d� SORT c�a����ca ���� ��c���� � �����a �a SALIDA2, c�� �� ����� ����a�� ��� SALIDA1. U� ���c�� SORT c�a����ca ���� ��c���� � �����a �a SALIDA3, c�� �� ����� ����a�� ��� SALIDA1 � SALIDA2. E�c. U� ������ SORT ����a ��da� �a� �a��da� � ��� ������ a c�a����ca�, �b������d� �a SALIDA ���a�. • •
•
• •
E��a ���c��ca �� ����� �����a� �a�a ����a� ��c����� (SALIDA1, SALIDA2 , �) ��� ������ d� ���c���� ������� � c�� �� ����� ����a��. �����������: E� ������ SORT ���d� ��� ��c��a��� �a�a ����a� ��� ��c�����, ���� �� ��� �� �ac� �a��a �� c�a����ca� (SORT FIELDS). L�� ��c����� ����a� �a ��d��ad��, a����� ��� ���a�ad�, � �� MERGE FIELDS �� �������� ����� ��� �� SORT FIELDS, �a ��� �� MERGE �� c�a����ca. E� MERGE �ac� �� �������a������ ����� ��� ��c����� � ��� ����a a �a��da �� �� ��d�� ��� c��������da. E������: C�d���ca� �� �� ������ SORT: MERGE FIELDS=(1,10,CH,A), �� ���a� d�: SORT FIELDS=(1,10,CH,A). N��a: S� �� ��a MERGE �� ��� ��c��a��a� �a� ��c�a� //SORTWK��; �� �a�� d� SORT �� ��c����a ���ac�� �� d��c� �a�a c�a����ca�, �a ��� MERGE �� c�a����ca.
������: JCSO�04 ����: ����� �����������:
������: FILTROS CONSECUTIVOS EN VARIOS SORT
E� �� ca�� �� ��� �� ��c���� �� �����a �� �� SORT (INCLUDE/OMIT) � �a �a��da �� ����� a �����a� �� ���� SORT (INCLUDE/OMIT). E��a ���c��ca �ac� ��� �� d������� �� ���c��� ��c��a��� �a�a �b����� �� ������ad� ���a�, �a ��� �� ��c���� �� ��� d�� ��c�� � �� ��aba d�� ��c��. __________________________________________________________________________________________ Fecha edición: 06/11/2012 45/125 GUIA ANTIPATRONES GENERAL (2).doc
�����������: U����ca� �� �� ����� �a�� d� SORT �� ������ d� ���c����.
������: JCSO�05 ����: ����� �����������:
������: UNA CLASIFICACI�N QUE ENGLOBA A OTRA
E� �� ca�� �� ���: 1�. E� SORT1 c�a����ca �� FICHERO1 ��� �� c����� c�������, �����a�d� �a SALIDA1, �.�.: SORT FIELDS=(1,10,A,15,5,A,30,6,A),FORMAT=BI. 2�. E� SORT2 c�a����ca �� FICHERO1 � �a SALIDA1 ��� �� c������� d�������, ���� ��� �����ba a� a�������, �����a�d� �a SALIDA2: SORT FIELDS=(1,10,A,15,5,A,30,6,A,50,2,A),FORMAT=BI.
�����������: A����� a�ba� �a��da� ��a� ��c��a��a�, �� ������ SORT ���d� ����������. E� ��c���� SALIDA1 ���d� ��� �� ����� ��� �� SALIDA2, �a ���, a����� �� c�a������� ��� 50,2,A, ���� �� a����a �a c�a����cac��� d�� SORT1, �� d�c��, �� �����a�a a� c�a� �a d�����d� �� ��c���� SALIDA1 �� ������a ��d�������� �a c�a����cac��� ad�c���a� d� 50,2,A. N��a: D�b�� c����d��a��� ����� �ac����� �� ��������� �� �� �������, � ��� ���d�� a����a� �a d�c����� ad���ada, c��� �.�.: E� ��� � �� d� �a ��c��� EQUALS. E� ��� � �� d� INCLUDE/OMIT/SUM. ��c. • • •
������: JCSO�06 ����: ����� �����������:
������: USAR SORT PARA CREAR GDG(+1)
C������� �� ���c��a� �� �a�� ��� c��a �� ��c����, � a c������ac��� ���c��a� �� SORT ��� c���a ��� ��c���� a �� GDG(+1). E��� ������ �� ��a�a������ d�b�� d�� ��c���� (d�� ��c���a� � d�� ��abac�����). �����������: __________________________________________________________________________________________ Fecha edición: 06/11/2012 46/125 GUIA ANTIPATRONES GENERAL (2).doc
G����a� d���c�a����� �� GDG(+1) ������� ��� ��a ����b��, ����a�d� a�� �� SORT ���������.
�������������� � ����������� �� ��� ������: JCIT�01 ����: ����������� �����������:
������: IDENTIFICACI�N Y OBJETIVO JCL
L�� �c��� �����a������ �� c�������� �� �b������ ����c��a� d�� �����. �����������:
C�����a� a ����� d� ������c�a JOB �a a���cac��� d� �a ��� ����a �a��� � �� �b������ �����a� d�� ��aba��, a�� c��� c�����a���� d� �a� ���c����� d� �a��.
������: JCIT�02 ����: ����������� �����������:
������: HOMOGENEIDAD JCL
N� �� d�b�� ��a���a� ����a��� d� ���c���� d���a��� �� ��� JCL��. �����������:
D����a� �� JCL c��� ��a ���dad ��������a � ����a� c��ca���ac��� d� ��a�a������� d���a���. D����a� JCL� �a�a ��� d��������� ��a�a�������.
������: JCIT�03 ����: ����� �����������:
������: MALLA DEL CAMINO CR�TICO
E� d����� d� ��� JCL�� �� �ca������ ���c�a� ���c���� ������c��d�b�� c�� ���c���� acc������� a �a �a��a d�� ca���� c����c�. __________________________________________________________________________________________ Fecha edición: 06/11/2012 47/125 GUIA ANTIPATRONES GENERAL (2).doc
�����������: D����a� JCL� d� ��d� ��� ��� ���c���� acc������� �� �a ��d�da d� �� ����b�� �� ���c���� �� �a�a���� d� ��� ���c���� acc�������. Pa�a�����a� ��� ���c���� ���c����b��� d� ���c��a��� �� �a�a����.
������������ ������: JCCO�01 ����: ����� �����������:
������: CONTENCIONES
U� ���c��� d� ac��a���ac��� � ��c���a ���d� ���d�c�� �� b������ d� ���� ���c��� d� ac��a���ac��� � ��c���a, �.�. �� b������ � c�����c��� ���d� da��� c�a�d�: •
• • •
•
U� ���c��� IMS ��a ��a PSB c�� PCB d� ac��a���ac���, c�a�d� �a PCB ��d��a ��� d� ��c���a. U� ���c��� DB2 ���c��a �� c����� c������ �a�a ac��a���a�. S� ���c��a COMMIT c�� ��ca ���c���c�a. S� acc�d� a �� ��c���� �� ��d� ac��a���ac��� a���� d�� ������� ���c���, c�� �� ��� �� ��c���� ���� b�����ad� ��� ������ d�� ��c��a���. S� acc�d� a ��a �ab�a DB2 ��� �� ���� d��ca��a�d� ��d�a��� �����dad.
�����������: E� IMS ��a� �a PCB d� ac��a���ac��� ���� d��d� ��a ��c��a��� � �� �� ������� d� �����. E� DB2 c����d��a� ��� �a� �ab�a� acc�d�da� ���d�� ���a� ����d� �a�b��� acc�d�da� ��� ����� ���c���� (������ �/� ba�c�), a����a�d� �a� d����d��c�a� ��c��a��a�.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 48/125 GUIA ANTIPATRONES GENERAL (2).doc
����������� �� ������������� �����. ������: JCCA�01 ����: ����� �����������:
������: JOB CON PASOS NO DEPENDIENTES
E� d����� d� �� JCL c�� ��c��� �a���, c�a�d� a������ d� ����� �� d����d�� ���c���a������ d� ��� a���������, ���d� �ca����a� ��� a��� ��a ca�c��ac��� �� ����a�� �a ���a���ac��� d� ��� �����������, ���c��a��a�����. �����������: D����a� JCL� c��� ��a ���dad ���c���a�, d� �a���a ���, �� ca�c��a�, �� ����a��� �� ���c�� d� JCL� ��� �� ����a� ���ac��� c�� a����. S� ��a�a d� d����a� �� JCL c��� ��a ���dad d� ��a�a������ ��������a, ����a�d� �a ac����ac��� d� ��a�a������� d���a��� �� �� ����� JOB.
������: JCCA�02 ����: ����� �����������:
������: RETRASO DE UNA CANCELACI�N INEVITABLE
E� �� ca�� �� ��� �� �����a�a �a �ab� ��� d�b� ca�c��a� � ��� ��ba��� c������a �� ��� c��� a���� d� ���c�d�� a d�c�a ca�c��ac���. P.�. �� ��a�a d� �� �����a�a ��� �a��da �� ��c����, �����a�d� ��a �a��da d� ��������� c����c��� � ���a d� ��������, � ��� a��� �� ���� ����� d�b� ca�c��a�, ���� ��� ��ba��� c������a �����a�d� ��������� d� c����c��� � �������� �a��a �� ���a� d�� ���c���. S��� �� c������ ca��� �� ��c����a ����a� a� ���a� �a�a ���c�d�� a �a ca�c��ac���.
�����������: S� d�b� ���c��a��� ��a ca�c��ac���, �ac���� c�a��� a����. C������a� �� d�c������ �Ca�c��ac����� d� ��aba��� ba�c�.d�c�.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 49/125 GUIA ANTIPATRONES GENERAL (2).doc
������: JCCA�03 ����: ����� �����������:
������: USO DE RUTINAS DE CANCELACI�N NO NORMALIZADAS.
L�� �����a�a� COBOL ��a� �����a� d������a� d� �a �ac����ada ��� A������c���a, QPBTRXRR,
�a�a ca�c��a� �� �����a�a. �����������: U�����a� �a� �����a� ����a���ada� d� ca�c��ac��� �ac����ada� ��� A������c���a. C������a� �� d�c������ �Ca�c��ac����� d� ��aba��� ba�c�.d�c�.
������: JCCA�04 ����: ����� �����������:
������: CANCELACIONES EN TRATAMIENTOS MIXTOS DE VALIDACI�N Y ACTUALIZACI�N.
U� �����a�a ��a���a ���������a����� �a��dac����� � ac��a���ac�����, ca�c��a�d� a� d���c���� ��a ����ac��� a���a�a. �����������: 1. C�a�d� �� �� �������a ��c������dad ��b�� ��a ����dad d� da���, ���a�a� �� ���c��� d� �a��dac��� d�� ���c��� d� ac��a���ac���. 2. S� ����a ��c��a��� �a������ �a ��c������dad ��b�� ��a ����dad d� da���, d����a� �� ���c��� a���ca�d� �� ��a�a������ �����b�� d� ca�c��ac����� �����b�� ���
������a d��ca��a� ��� ��������� d� ����ada �������� �a�a �� ��a�a������ ���������, d� �a���a ��� �� a��c�� a� ���c��� �� c����. C������a� �� d�c������ �Ca�c��ac����� d� ��aba��� ba�c�.d�c�.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 50/125 GUIA ANTIPATRONES GENERAL (2).doc
��������� ������: SERV�01 ����: ����� �����������:
������: USO DE CAJAS NEGRAS
E� �a�� d� d����� �� d�c�d� ����ca� ��a CALL a �� ��d��� �a�a �a �b���c��� d� d�������ad�� da���, �b��a�d� �� ��c�� d� ��� ���� ��d��� a �� ��� ����ca a ��a ��a� ca���dad d� �����a�. D� �ab�� c����d��ad� ��� ��c�� ��d��a �ab���� ��c���d� ��a �����a ��� ����c���ca ��� �� ��d��� ���c�a�. E��a ���c��ca �ca����a �� a��� c������ d� ��c����� ����c��a��a�����, �a��� d� ELAPSED TIME c��� d� CPU, �� ��� �� ����c�a������ ������a��� �� �� ������.
�����������: E��a ���c��ca �� ���d� d���c�a� �� �� ������ d� d����� �� �b����a� ��� ca���� ��� d������� �� ��d��� ���c�a������ ��c���d�: �� ��a� ������ d� ca���� c���a�ad� c�� ��� ��� ��a������ ��c����a �� c�������, ���d� ������� ��� �� ��d��� ���� ����ca�d� a �����a� ��� �� �������a�. Pa�a ����a���, d�b� �������� c��� ��d��� d� �b���c��� d� da��� a���� ��� �� a����� ��� a �a� ��c���dad��, �� ���� ��� �a� c�b�a. E� ���c� d� ��d���� d������b��� ���� ��� ��c� c�a��� ��� �� a������ ��� acc���� a �a� ��c���dad��, �� c�a� d�b���a c�������a��� �� ������ d� d����� (d� ��� ��d����, �� ���� ca��).
������: SERV�02 ����: ����� �����������:
������: SERVICIO CON MUCHAS FUNCIONES EXCLUYENTES
S� ��a�a d� �� �����c�� ��� c�������a d��������� ���c�����, ���� ��� �� cada ���c�c��� ���� ��a���a ��a d� ���a�. E��� ���� d� �����a�a� ����a a��c�ad� �� ��d��� d��a��ad� ��a�d� �a�a �� ��� �ac� cada ���, ad���� d� �� DBRM �a�b��� ��a�d� �� �� DB2. La c����c���c�a d� ����� �a�a��� �� �� c���� ��� ������ ca��a� �� ��d��� �� ������a. �����������: S� d�b� ���d�� a d����a� �����c��� ������c���ad�� a �a ���c��� ��� ��a���a�, ��� ����a� a� __________________________________________________________________________________________ Fecha edición: 06/11/2012 51/125 GUIA ANTIPATRONES GENERAL (2).doc
������� c����a��� (a�����ac���).
������: SERV�03 ����: ����� �����������:
������: ATOMIZACI�N DE SERVICIOS
C������� �� d����a� �����c��� �a� �������a���, ��� a����a� ���c����� ��c����a��� ����ca� a ��a ��a� ca���dad d� �����. P.�., �� d����a ��a �����a ��� ��a�a d�� ���c����� a�����a���a�, �� ��� �� �� ����� �� c����c�� ������ �� ��� d��a��ada�, ��� ��ba��� �a� ��a ���c��� ��� �������� ����ca� a �a �����a c�� a�ba� ���c�����, ������� c�� ��a � ����� c�� ���a. S� �� �ab� ��� ��a ���c��� d�b� c�b��� �a� d�� ��c���dad��, d�b���a d����a��� �� �����c�� ��� �a� c����a.
�����������: D����a� ��d���� ����d���c�� �a�a cada ��c���dad ���c���a� (���� �� �������a�), a ba�� d� �����ca� ��� acc���� ��c��a���� a BBDD �� �� ��d���. E� �� ������� ��������, �ab��a ��a ���c��a ���c��� �� �a �����a ��� ���������� ��ac�� �a� ���a� d�� ���c������, c�� �� c�a� c�� ��a ��a�ada a� �����c�� �� ����c�����.
������: SERV�04 ����: ����� �����������:
������: R�PLICA DE LA MISMA FUNCI�N EN SERVICIOS DIFERENTES
U� ������� ����a: E� �����c�� A �a��da �� c������ � ��a �a����a d�� c������. E� �����c�� B �a��da �� c������ � �� �����a�� d�� c������. S� ��a ��a��acc��� ��c�����a ����� d�� ���d�c���, ��a�a�� a ��� d�� �����c���, c�� �� c�a� �� c������ �ab��a ��d� �a��dad� d�� ��c��. • •
�����������: D����a� ��� �����c��� c������� a �������������� ����c���c��, ����a�d� acc���� � �a��dac����� ������da�.
������: SERV�05 ����: ����� �����������:
������: RUTINA QUE RECUPERA UNA FILA COMPLETA
__________________________________________________________________________________________ Fecha edición: 06/11/2012 52/125 GUIA ANTIPATRONES GENERAL (2).doc
E� ��a ���c��ca c���� d����a� �����a� �����a��� d� acc��� a �ab�a�, c�������a�d� �a� ���c����� d� ����/������a�/b���a�/��d���ca�. S� �a �����a ��c����a (SELECT) �a ���a c������a, ��da ��a��acc��� � ���c��� ba�c� ��� �������a a����a ������ac��� d� �a �ab�a ���d�� ��� ��a�a� a �a �����a � ���a d�������� ������� �a ���a c������a, a����� �� �� c������� �� ��c����� ���� ��a ������a �a��� d� �a� c�����a�. �����������: D����a� �a ��c����ac��� d� c�����a� �� d��������� �����a�, ��� ������ ���������� d� da���, c��� �.�. da��� ������a���, �c�����c��, d� ������dad, ��c. E��� ������� a����a� �� c������ d� �a� �����a� a �a ��c���dad ��a� ��� �� ����� �� cada ca��.
������: SERV�06 ����: ����� �����������:
������: USO DE RUTINAS ONLINE EN BATCH O VICEVERSA
S� ��a�a d� ��a� �� �����a�a� ba�c� �����a� ��� �� d����a��� �a�a �� ��� �� ������, � ��c�����a. E��a ���c��ca ����� �a���� ��c�����������: •
•
•
•
La �����a ���c��a d� �a���a ����a��a �� ����� ��a�a������ �a�a ��d�� ��� ���������, a����� �����, ��� �� a����ac��� ���c���a�, ���� �������a� �� ��a�a������ d������� c�a�d� �a��a �� c������� d� a����ac���. S� ��a �����a ������ �� d� �a���ac��� � �� ��a �� ba�c�, ���d� ���a� d��������d� ��� ���a� d� �a� ��c��a��a�. E� ����b�� ��� �a �����a ������ ���c��� �� SELECT COUNT �a�a c���a� �� ������ d� ���a� c��� a��da �a�a �a �a���ac���, �� ��� �� ba�c� �� �� ��c��a���. La �����a ba�c� ���d� ����� DISPLAY�, �� ��� �� ������ ������ �� c����� ����c��a��� (�a�b��� �� �� �� ba�c� ba�� c����a� c��d�c�����).
�����������: D����a� ��d���� � �����a� ada��ad�� a� ��� ��� �� �� �a a da�. S��� c�a�d� �� ������� d� ���c�c��� �� ��d�������� �� ���d�� �ac�� �����a� c������ (�.�. �����a� d� ��c�a�, c��c����, ����a����, �).
__________________________________________________________________________________________ Fecha edición: 06/11/2012 53/125 GUIA ANTIPATRONES GENERAL (2).doc
������ �� ����� ������:MD�001 ����: ����� �����������:
������: U�����ac��� d� a���b���� ��������������
D����� d� ��� ��d���� d� �a� a���cac����� c�����a���a� �� �a d���c�ad� ���, c�� �a �����c��� d� ��������a� �����c���a� d� da���, �� ���� da�d� a c����a� �����c���a� d� ������ac��� (����dad�� � a���b����) �� ��� d������� a� ��� �a�a �� ��� ������ c��ad��. I�c���� �a� �ca������ �� �a� ��� d��d� �� ������� d� �� c��ac���, �� ����a�a� ���a� �����c���a� �a�a a��ac��a� ������ac��� d� d������a �a���a���a. A�� ��� �������, �� ������d� ��c���� �� �c�d��� d� ������a� d������� c�d���� d� d������a �a���a���a (c������, �� c������, ���c���, ������c�). O��� ������� �� �� �������� d� ����������� �� �� ��� �� a��ac��a� c���ad���� ��� ���d�� ��� a ����� d� ���d�c��, ���� d� ������, c������ � c����a�� � �� ������d� a��ac��a� ����� c�d���� �� �� ���c� a���b��� (��a� ��c�� c�d��� d� ���d�c��, ���a� ��c�� c�d��� d� c����a��,�). N���a������ �a �����c��� d� c��a� ���� ���� d� �����c���a� ���� ���da����ada �� �a ��������ac��� d� �a� �����c���a� ����������. S�� ��ba���, �� �a �a����a d� ��� ca��� ���a� d�c������� ��� ������a� � ����a� a��c�ada� ��a� �����cac����� (c�����cac��� d�� �a����������� � �����c���c�a� d� ��� ���c����) ��� d�b�� ��� ����da� �� c����a. E������ d� a���cac��� d�� a����a����:
E� ���a ����c��� �� ��c���� �� ���� d� ������a� c�� �a �����c��� d� c�d���ca� �a� ������a� �a� � c��� �� ���aba� c�d���ca�d� ���c���� � c������� � a�� ��a�a� d� ����a� ��a ����a c�d���cac���. La� d������a�a� d� ���a ����c��� ���:
__________________________________________________________________________________________ Fecha edición: 06/11/2012 54/125 GUIA ANTIPATRONES GENERAL (2).doc
•
A����ac��� d� ����a��� ��ad�c�ad�� (���������� a �� ��c��a���) a ��� a���b���� c�a��.
•
A��a�a������ d�� ���ac�� ��� ca�b��� �� c�a������a d� ��� c��c����� ���a�ca�ad��.
•
C�����cac����� �a�a ��ca���a� c���������� �� �� a������� d� ���ac��.
•
N� �a�a����a ��� �� ������ ���c���� d� ��c�d���cac���.
E� ���a ����c���, �� ������a �� a���b��� �c�d��� d� ������a� �a�a a��ac��a� ������ac��� d� d������a �a���a���a: �� ���� ca��� �� ��a�da �� c�d��� d� c������, c�� ����a�� CHAR(10), �� ����� ca��� ��� c�d���� d� ������a� c�� ���� ��� � ����a�� ��� �������� a CHAR(10) ��� �a� �c�����c�a� ��� ���d�� ����a� a ����� ���a� ����dad�� (��� ������� �c�d��� d� ���c���� CHAR(5)). Ta��� �� �� ��d��� ����c� c��� �� �� ��d��� ����c� �� ��a ����c��� d��ac�����ada �a�a �a c�d���cac��� d� ����dad�� (��� �a���� 2). Ad����, �������� �� �a ����b���dad d� ��a���a� ��d���cac����� a a����� d� ��� c�d���� ���a�ca�ad�� ba�� �� �c�d��� d� ������a�; ��� �������, �� ��c����� ��� da��� d� ��a ����a ����dad ba�ca��a � �� �� ����d� �� ����a�� ����cc���ad� �a�a �� �c�d��� d� c�������: •
•
•
E� ������ ���a� d�b���a ��a���a��� �� a������� d� ���ac�� d���c�a�d� �a� �ab�a� �� �a� ��� a�a��c� �� �c�d��� d� c�������. T�da� d�b���a� ��� ��d���cada�. A c������ac��� �ab��a ��� c�������a� �� �c�d��� d� ������a� ��� �� a�a��c���a d� �a���a d���c�a �� �� a������� d� ���ac��, c�� �� ������� a�ad�d� d� �� ����� �� c����a ����� c�d����. N� �ab��a��� c�������d� a���a� �a� ������a� d� �a ���b������ca d� ��� c�������. T�d�� ��� ����� �� ����a� ���ac�ad��. S� ad����, �a�a ���a ����dad ba�ca��a �a c�a�� ����a��a d� c������ �� c������ d� �a���� a���b����, ����a ��c��a��� ���a�ca�a���� ba�� �� c�d���. E� �� �a���� 2 �� d��ac�����a ���� ���� d� ����c�����.
Ta�b��� �a� ��� ����� �� c����a ��� �� ����b�� ��� ����a��� a c���c�d�� c�d���� d� d�������� c��c����� ��� �� ��� �� �� a����a��a �� ���c��� d� ��c�d���cac���. I�c���� �� �a ����ad� a ��a���a� ��� a�����c�a�d� ���a c�d���cac��� �� ��d��a ����a� a ����c��d�� d� �a� ����dad�� ����c���ca� d� cada ���. E� ��� d��ac�����ab�� ���a ��c��� �a ��� ���c���� ��� ���� ��a��� ������a� d� �� ��� d�������ad� (��� ������� �� ���c��� ��� ���� �������� ������a� c�� �� ��� d� ���c���) �� c�����ca��a� a� ����� ��� �ac�� �� ������ d� ������a� ��� ��� ������ a c�a������ ����ac���. Ad���� ��d��a� ��c������a��� ��� ���b���a� d� b������� a� acc�d�� ��d�� ��� ���c���� a ��a ���ca �����c���a d� ������ac���. �����������: �� �� ������ ������ �� �����, ��� �ac� d��d� ��� ���������� ���c���a���, �� �� ���� �������
__________________________________________________________________________________________ Fecha edición: 06/11/2012 55/125 GUIA ANTIPATRONES GENERAL (2).doc
������ �������� ��������������. Cada c��c���� d�b� da� ������ a ��a ����dad � ��� d������a� ������dad�� a d�������� a���b����. D�������� c��c����� da� ������ a d������a� ����dad�� � d������a� ������dad�� ������a� d�������� a���b����. E� �� ��d��� ����c� �� c�������a ���� ���� d� ���������� (������� d� ��������a, ������dad, ������ac��� �������ca) ��� ���d�� �ac�� �a��a� �a ����a d� ���������ac���. I�c���� �� ����� ca���, �� ��c��a��� ����� �� c����a �a� �����cac����� d� ���� ���� d� d����� �a�a �� ���a� ��a d�c����� ��a�����ada. Ad����, d�b� ������� �� c����a �a�a �� ��d��� ����c� ��� �� C����� d� Ca��dad � C������cac��� �� ��a d� ��� ��c����dac����� ������ ��� ��� �� ������� ������� ���� �� ����� ����������������� ������� �� ���������� ����������� �������� � ���������� . �������� �� ���������� ��� ������ S�����a��� ��� �� �� ��d��� d� da��� �� ����� ��a�a�d� ������a� ��� ���d�� ��� d� c�a��� ����� (�����): c������, �� c������, ���c��� � ������c�. Pa�a ��da� �a� ������a� �� a��ac��a ��a ������ac��� c���� ��d����d����� d�� ��� ��� d�������a. Ad����, d����d���d� d�� ��� ��� d�������a �� cada ����dad �� a��ac��a c����a ������ac��� ����c���ca (������ac��� ����c���ca d� c������, ������ac��� d� ���c���,�). �a���� (����c��� ��������a)
Ad���� d� c������ ��� ���������� d��c�����, �� ���a ����c��� �� ������a �a c�d���cac��� d� c������ � ���c��� ��������� �� �a ��a�a����a ac��a� (����b������� �� ����a ����da a� �� c�������a� �� ��������� d� ���������dad ��� �b���a��a a ��c�d���ca� c������� � ���c����). S� ����cc���a �� ����� c�d��� d� ������a ( ���������� ��� �������� ��� ������ ���� ) ��� a����a �c�����c�a� d� ��� d�������� ����� ��� ���d� d�������a� ��a ������a. L�� a���b���� � ���ac����� �� �b�ca��a� �� �� ����� ��� c��������da (������a/ ������a ����dad/ c������/ �� c������/ ������c�/ ���c���). Cada ���c��� acc�d���a a� ����� ��� c��������d���� ��d���d� ����c�a���a��� (�ac����a �� ���c���c�a � ��������ac���).
__________________________________________________________________________________________ Fecha edición: 06/11/2012 56/125 GUIA ANTIPATRONES GENERAL (2).doc
__________________________________________________________________________________________ Fecha edición: 06/11/2012 57/125 GUIA ANTIPATRONES GENERAL (2).doc
������:MD�002 ����: �����
������: D����� d� PK� �a�a c������ �� ��������� ���������dad
�����������: La� a���cac����� c�����a���a� d�b�� d����a� ��d���� d� da��� ��� �������� ��� ����a��ad�� �� d������a� ����dad�� (ba�ca��a� � ��). E���� ��d���� d�b�� ����� ca�ac�dad d� ab���b�� ��da� �a� �c�����c�a� �����ada� ��� c�a������a d� �a� ����dad�� � ad���� d�b�� �������� �a c�������c�a d� �c�����c�a� d� d������a� ����dad�� �� �a� ����a� �����c���a� d� da���. Pa�a cada ����dad d�� ��d��� d� da��� �� d����� ��a c�a�� ����a��a ��� �� �� a���b��� � c������� d� a���b���� ��� �d������ca d� �a���a ���ca ��a �c�����c�a d� �a ����dad. Ad����, �a c�a�� ����a��a d�b� ��� �����a (��d�� ��� a���b���� ��� �a ����a� d�b�� ��� ��c��a���� �a�a �a �d������cac���). La� c�a��� ����a��a� d�b�� ��� ���ab��� a �� �a��� d�� ������ �a ��� ����� a���b���� �� ����a�a� ��� �a� d������a� ����dad�� � �ab�a� d� ��� ��d���� � �� ��d���cac��� ����� ����� �� ������ ���ac��. La d���c���ad ���� �� d�c�d�� c��� d�b� ��� ���a c�a�� ����a��a �a�a ��� ca�a� d� a��ac��a� �� ������ d� �c�����c�a� ��� d�ba �d������ca� � c�b��� �� ��������� d� ����������dad� d� a���cac����� c�����a���a�. C��d�c���a���� c��� �a �����c��� d� �� ��c�d���ca� ��� c��c����� ���d�� ����a� a ���a� d�c������� ������a� c�� ��c�� ���ac�� a ������ � ��� ���� �� ��c��a��� �ac�� �� a������� ���a������ d� cada ca�� �a�a ���a� �a ����c��� ��� ac���ada. a����a���� (����c��� d��ac�����ada): C��a� �� a���b��� d����ad� ��� ������a d� �a ����� d� �a���� c�d����:
S� �� ���a�ca�a �� �� c�d��� d� c����a�� c�d���� d� ����� c��c����� �� c�����ca��a �� ���c��� d� a����ac��� d� c�d���� (d�b� ����� �� c����a ba�c� � c����a�� �a�a a����a� �� c�d���) � �� �a����������� d� ���� ���� d� c�����a� �a ��� ����a c�����cad� �ac���a ����b��� �� �� a������� d� ���ac�� a��� �� ��������c� ca�b�� �� a����� d� ��� ��bc�d���� ��� �a c�������. Ta�b��� �� c�����ca� ��� acc���� a ���a� �ab�a� �a ��� �� �� �������a �������a� ��� a����� d� ��� c��c����� ��� c������� �� c�d��� (��� ������� c����a��� d� c����� ba�c�) �ab��a ���
__________________________________________________________________________________________ Fecha edición: 06/11/2012 58/125 GUIA ANTIPATRONES GENERAL (2).doc
����� c�a�� ��� ����c����� �d������ca� a� c��c���� �� �� c�d��� (�� ���� ca�� �� ba�c� �� �d������ca c�� �a� 6 ������a� ����c�����) � ��a���a� b�����da� ��� �a������ (LIKE PPEEEE*) ��� ��� ��� c�����a�. S� ad���� cada ����dad �����c���a �� c�d��� d� d������a �a���a, ���a ����c��� �b���a a d����a� ���c���� ����c���c�� �a�a cada ��a d� �a� ����dad�� (cada ��a ������a �� c�d��� d� d������a �a���a) � �b���a a �a������ �a ����a ������ac��� �a��a� ��c�� (c�d��� d� ba�c� c��� �a��� d�� �d������cad�� d� c����a�� �a�a ��a ����dad � �a�� d�������ad� � c�d��� d� ba�c� c��� a���b��� �a�a ��� ������ad� ��� �� ����� ����dad��).
Ad����, �� �� ������d� ��c���� ��� c����a��� ���c�d����� d� d������a� ����dad�� �� �� ����� c�d���, ������ �� ������ d� ��� c���c�da� ��� c�d���� �a�a d�������� c����a��� d� d������a� ����dad��. E��� ��d��a �������a��� c�� �� ���c��� d� ��c�d���cac��� ��c�����d� �a ����ca �� �� ���c��� d� a����ac��� d� c�d���� (a�ad� c�����cac��� a� ���c���) � a����a�d� �a c�a�� ����a��a c�� �a ��c������ d�� �d������cad�� d� ba�c�.
Pa�a ���a��� ��a d�c����� c��� �a ��a���ada �� ���a ����c��� d�b� ������� ��� c�a�� c��� �� �� b�����c�� �����ad�. �����������: P�� ������������� d� OCTA, ��a ��� a�a���ada� ����a�a� � ��c�����������, ��d� c�d��� d�b� ����� ����a�� a��a������c�, �a��� ��� ��� ������a� �� �b���� ������c�. L�� ����a��� ������c�� �� ������a� �a�a a���b���� ��� ��a� ��ad�� �a�a ��a���a� ����ac����� a�������ca�. Ad���� �� �������� ��� ������ ���� ��������� �� ������ �� ����������� � ��������� . A�� ��� �������, �� ��a ����dad ba�ca��a �� �a a ����� ��� d� 99 �������� d� c�������, �� ���d��a �����d� ������a� �� ����a�� �������� a CHAR(8) �a�a c�d���ca� c�������. �������� �� ���������� ��� ������ S�����a��� ��� �� ������ c�d���ca� c����a���. La �������c�a d�� c����a�� ������� d�b� ���a� c��d�c���ada ��� �a �������c�a d� ��a ����dad. Cada ����dad c�d���ca ��� c����a��� � �� c ab�
__________________________________________________________________________________________ Fecha edición: 06/11/2012 59/125 GUIA ANTIPATRONES GENERAL (2).doc
�a ����b���dad d� ��� �� c����a�� �� c�d������ d� �a���a d�������� �a�a d�� ����dad��. S� ��a ����dad �����a ��� �� c��������� �����a� ��� 1000 �������� d� c����a��� ����a ����c����� c�� �� CHAR(10) �a�a c�d���ca� �� c����a��. S� d��ac�����a �a ������ac��� d� a���b���� d����ad�� a �a���� d� �a ����� d� �a���� c�d���� d� c��c����� �a ��� �� �a����������� d� ���� ���� d� c�d���� �� c�����ca.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 60/125 GUIA ANTIPATRONES GENERAL (2).doc
������:MD�003 ����: �����
������: I��������ac��� d�� ��������� ���������dad �� ��d���� d� da���
�����������: ������������ La� a���cac����� c�����a���a� d�b�� d����a� ��d���� d� da��� ��� �������� ��� ����a��ad�� �� d������a� ����dad�� � �a����. U�a ���ca ba�� d� da��� d�b���a ������a� ������ac��� d� �a��a� ����dad�� �� ��� � �a���� �a����. �)
���������� �� �� ������� �������� ���������
E� Tab�a� C�����a���a� �a ���ac��� ����� "�a��" � "����dad ba�ca��a" �� ��a���a a ��a��� d� �a ��a�a ba�ca��a (�� c��������d� c�� �� ���� d� a����ac��� ��������ca), a��ac����d��� �� �a �ab�a d� "����dad ba�ca��a" �� �a�� a� ��� �������c� �a ��a�a ba�ca��a.
A� �� ��� d����d����� �a "����dad ba�ca��a" d�� �a��, ��������ca �a ���ac��� c�� ���a� ����dad�� d����d������ d� �a "����dad ba�ca��a" ��� �� d�b���� ��c���� �� �a�� ����� ��� a���b����. �)
������������ ��� ����� �� ��������� ��� ������
S��� �� ��c����� �a E���dad �� �a� c�a��� ����a��a� d� �a� ����dad��/�ab�a� �� �a� ��� ��a �����c�a����� ��c��a��� �a�a �� c����������� d� �� ���������. ����� ����� ��������� ���� � ������� �� ��� ������ ��������� ���� ��������� ��������� �������������� �� �� ����� ��������. D� ���� ��d� � c��� ����a �����a�, �a� ����dad�� d� ������cac��� c�� �����c���a d�� ���� �c�d��� + �����������:� �� ��c����a� ��c���� �a ����dad �� �� c�a�� ����a��a.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 61/125 GUIA ANTIPATRONES GENERAL (2).doc
���������� (����c��� d��ac�����ada) La PK d� �a ����dad d� ����� d� ��d�� d� c�����cac��� ����a �� "c�d��� d� ���� d� ��d�� d� c�����cac���" ����� c�� �� c�d��� d� ����dad.
E��a ����c��� ab����a �a ����b���dad d� a����a� d�������� c�d���� a �� ����� ���� d� ��d�� d� c�����cac��� (��� ��� ����dad). La� d������a�a� d� ���a ����c��� ���: •
•
R����cac��� d� �c�����c�a� �� �a ba�� d� da���: �� ����� c��c���� �� a��ac��a �a��a� ��c�� c��� ����dad�� �����a�. T�da� �a� ���ac����� ��� �a��a� d� �a ����dad a��c�ada �a�b��� ��� ��c������ad� �� ������ d� �c�����c�a�. P���b������� �a�b��� ��a ��c��a��� �����a� �ab�a� ��� �a�����a� �a� �����a���c�a� ����� ��� d�������� c�d���� a����ad�� a �� ����� c��c���� (��� �c�����c�a� �� �a ba�� d� Da���). C�����cac��� d� ��� ���c����: �� a���� ���c��� d�b� acc�d�� a ��� da��� d� ����a c���ada, �� ���c��� �� ����a �b���ad� a �a�a� �� �� ������ ������� ��� �a� �ab�a� d� �����a���c�a �a�a �b����� ��� d�������� c�d���� a����ad�� a� c��c����. P�� �������, �� �� ����� ���d�c�� �� c�d���ca d� ����a� d������a� �� cada ����dad, �a�a a������a� d� �a���a ���ba� c����a� ��c�� �� �a c����a�ad� �� ���d�c�� ����a ��c��a��� ������� �b����� ��da� �a� d������a� c�d���cac����� d�� ���d�c�� (acc��� a �ab�a d� ���ac��� ����� c�d���cac�����) �a�a d������ ��� c����a� ��c�� �� �a c����a�ad�.
P�d��a ����a��� ��� �a c�� ���a ����c��� �� �ac� ��� �����b�� �� ������a. E��� �� �� a�� ������ �� ����a �a c��������� d� c�d���� �a ��� �a�a ��� c������a����� �����b�� �E� ����� c�d��� d�b���a c�������a� ��da� �a� ����b���dad�� d� c�d���cac��� d� �a� ����dad�� ������c�ada� (�CHAR(5)? � �CHAR(10)? � �CHAR(20?)?
__________________________________________________________________________________________ Fecha edición: 06/11/2012 62/125 GUIA ANTIPATRONES GENERAL (2).doc
�����������: �������� �� ���������� ��� ������ �� �������� ��� ��������� "������������" S������ d�b� ����a��� �a �����ac��� d� c�d���cac����� d�b��� ��� �b������ a �a������ �ab�a� d� ��ad�cc��� � c��������� ���c���� c���ad��. P�� �������: T���� d� ��d��� d� c�����cac���: T�������, c����� ��d��a���, c����� ���c�����c�, �a�,�
������ (����c��� ��c����dada) La PK d� �a ����dad d� ����� d� ��d�� d� c�����cac��� ����a �� "c�d��� d� ���� d� ��d�� d� c�����cac���".
E� ca�� d� ������� �a ��c���dad d� ���������� �c�����c�a� d� ��a ����dad ��� Pa�� �/� E���dad, ����a ��c��a��� c��a��� ��a ����dad d� ���ac���. A�� ��� �������, �� �� ������ ���������� ��� ���� c������ ����� d� ��d�� d� c�����cac��� ��a� ����d�� �a�a �a ����dad BBVA�E��a�a, d�b���a ���da� d� �a ��������� ����a:
E� ca�� d� ��c����a� �a��a� c�d���cac����� �a�a �� c��c���� �a�b��� ����a ��c��a��a ��a ����dad ��� d���a cab�da a �a c�d���cac��� ��������. A�� ��� �������, �a�a ������a� d������a� c�d���cac����� �a�a ��a E���dad (c�d��� CSB, c�d��� IBAN, c�d��� SWIFT, c�d���cac����� ������a� d�� �a��,�) ���da��a d� ���a ����a:
__________________________________________________________________________________________ Fecha edición: 06/11/2012 63/125 GUIA ANTIPATRONES GENERAL (2).doc
__________________________________________________________________________________________ Fecha edición: 06/11/2012 64/125 GUIA ANTIPATRONES GENERAL (2).doc
������:MD�004 ������:MD�004 ����: �����
������: I��������ac��� ������: I��������ac��� d�� ��������� �����ca�a� �� ��d���� d� da���
�����������: V�a ��d��� d� da��� �� �� ���d� �a�a����a� ��� ��a a���cac��� c����a �� ��������� "�����ca�a�". E� da�� d�� ca�a� ��c���d� �� �a ��a��acc��� �� ����� ��a�da��� �� Ba�� d� Da���.
�����������: ���ca����� ����a ��c��a��� c�������a� �� ca�a� �� �� ��d��� d� da��� c�a�d� �a� ca�ac�������ca� d� �� c��c���� ca�b�a� ��� ca�a� � �� ��a�a������ �a��a ��� ca�a�.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 65/125 GUIA ANTIPATRONES GENERAL (2).doc
������:MD�005 ������:MD�005 ����: �����
������: I��������ac��� ������: I��������ac��� d�� ��������� �����d���a �� ��d���� d� da��� ����ac���a���
�����������: La� a���cac����� c�����a���a� d�b�� d����a� ��� ������a� d� ����a ��� �a�a���c�� �� c����������� d�� ��������� d� ������d���a. D��d� �� ����� d� ����a d�� ��d��� d� da���, �����ca c����d��a� �� ��������� d� ������d���a �����c�� a �a ��c���dad d� ��� �������, ����� �� c����a ��� �� �� �a�� �� �ab��� d��������� �d���a� �� d��������� ���a� ��������ca� � �� d�c�da a��c�a� �� �d���a a� c�����, d�������� a� d� �a ����dad, �� ���c��� d� �� �b�cac��� ��������ca C�� �b���� d� ���a�da���a� ��� d������ d� ��� ��d���� d� da��� � da� ��a ����c��� ad�c�ada a� ���b���a, �a�b��� d��d� �� ����� d� ����a d� O������ac���, �� ������� ���� �a���� �a�a ���a� a ��� ������� d� d��a������ �� �� d����� d����� d� ����dad�� d� da��� d�� ���� c�d���� d��c���c���, �� ��� ��� �� �a�a���c� �a ad�c�ada ��ad�cc��� d� �a� ����a� a ��� �d���a� a���cab��� �� cada ca��. ���������� (����c��� ���������� (����c��� d��ac�����ada): I�c���� �� cada �ab�a d� d�����c��� d� �� c��c���� �a� ��ad�cc�� ��� d� ��� �����a��� �����ca�d� �a� �c�����c�a� ��� cada �d���a ��c����ad�.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 66/125 GUIA ANTIPATRONES GENERAL (2).doc
�����������: I��������ac��� �� a������c���a: � La ����a�����c���a ��c��a��a �a�a ����b����a� ���a ca������ca, �� ������c���ada ��� A������c���a, ��a�a�d� ��� ��a �� ��� ��a���a����� ��a���a����� ����b�� a ��� a���ca�����. E����� ��a �ab�a d� ��ad�cc��� ���ca �� �a a���cac��� QPIP d� a������c���a (TQPIPLIT) a �a ��� �� ��c������ �a�a �b����� �a� d��c���c����� ��ad�c�da� d� ��� c��c����� c������d�� �� �a� �ab�a� d� cada a���cac���. I��������ac��� �� cada a���ca����: � La ����c��� d� ��ad�cc��� �� �������� d���c�a����� �� �� ��d��� ����c� d� da��� d� cada a���cac���, �� ��������d��� �� �� ��d��� ����c� d� da���. � N� �� ��c����� �� �d���a c��� �a��� d� �a c�a�� ����a��a �� �a� ����dad�� ��� d������ d� ����a ����ca ��� c��c����� d� cada a���cac���, �a�a ����a� �a �����cac��� ����c��a��a d� ���� da�� �� ��da� �a� ���ac����� �� �a� ��� �a���c��� �a ����dad. � E� �� ��d��� ����c� d� da��� �a ����dad ��� d����� �� c��c���� c�����d�� �� a���b��� c�� �a d��c���c��� d�� ����� (��� ��a�da�� �a d��c���c��� �� �� �d���a ��� d���c�� d� �a a���cac���,�). � E� �� ��d��� ����c� d� da��� �a �ab�a ��� ��a�da ���� c��c���� c�����d�� �� ca��� COD_IDIOMISO (��� ��a�da�� �� c�d��� d� �d���a ��� d���c�� d�� a���ca����) � COD_TRADUCC (�a�a a��ac��a� �� c�d��� d� ��ad�cc��� dad� ��� a������c���a �a�a �a�a cada c�d��� d�� c��c���� dad� d� a��a). La ���ac��� c�� c �� �� �d���a ��� d���c�� �� �a ��� �� d����� �� c��c���� �� �� �����c��a�� �� �� �� ��d��� ����c� �� �� �� ����c� d�� c��c����, c�� �� ��� ��� ��d���� d� a���cac��� ���da� a���ad�� d� ���a ���b������ca. E������� d� a���cac��� d�� ����c���� ���c���a� �� �� ��d��� d� da��� S� �� d���a �a������ ��a �ab�a d� ����� d� b������ a���cab��� a ��a c����a (O�d�� J�d�c�a�, L�b���a E���a��ada, N� �������� ab����, N� �������� ca����, �.) � �a������ �a� d��c���c����� d� ����� ����� d� b������� �� ��� d��������� �d���a� c�� ��� ��� ��aba�a �� ba�c�: ������ (����c��� ������ (����c��� ��c����dada) �� �� ��d��� ����c� d� da���: S� c��a�� ��a ����dad (TKPSATBQ) ��� d����a �� c��c���� ���� d� b������ c�� �� c� d��� d� ���� d� b������ (COD_TIPBLQT), �� d��c���c��� d��c���c��� (DES_TIPBLQT) � ����� d� a���b���� d�� ���� d� b������.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 67/125 GUIA ANTIPATRONES GENERAL (2).doc
������ (����c��� ��c����dada) �� �� ��d��� ����c� d� da���: E� �a �ab�a T���� d� B������� a���cab��� a ��a c����a (TKPSATBQ) �� �a����d��� ��� c�d���� d� ����� d� b������(COD_TIPBLQT), �a d��c���c��� d� ����� ����� d� b������ �� �� �d���a ��� d���c�� (DES_TIPBLQT), c�d��� d� �d���a ��� d���c�� (COD_IDIOMISO) � �� c�d��� d� ��ad�cc��� (COD_TRADUCC) c��������d����� a� ���� d� b������ (��� �������: L�b���a E���a��ada) �� �a �ab�a d� ��ad�cc���. S� �� ���c��� ��c����a �a ��ad�cc��� d� ���� c��c���� �� ���� �d���a acc�d��� c�� �� c�d��� d� ��ad�cc��� � �� c�d��� d� �d���a a �a �ab�a TRADUCCION �a�a �b�������.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 68/125 GUIA ANTIPATRONES GENERAL (2).doc
������:MD�006 ����: �����
������: I��������ac��� d�� ��������� �����d���a �� ��d���� d� da��� d� a���cac����� I�����ac���a���
�����������: La� a���cac����� ������ac���a��� d�b�� d����a� ��� ������a� c�������d� �� ��������� d� ������d���a � ������d���d� �� ���d������� a �a ����a�����a ���a� d� ������ac��� �� BBVA, M�c�����a����. D��d� �� ����� d� ����a d�� ��d��� d� da���, �����ca c����d��a� �� ��������� d� �����d���a �����c�� a �a ��c���dad d� ����� �� c����a ��� ��� ���a���� �������a� �a ��c���dad d� d��������� �d���a� �a�a �� �a�� d�������ad�. C�� �b���� d� ���a�da���a� ��� d������ d� ��� ��d���� d� da��� � da� ��a ����c��� ad�c�ada a� ���b���a, �a�b��� d��d� �� ����� d� ����a d� O������ac���, �� ������� ���� �a���� �a�a ���a� a ��� ������� d� d��a������ �� �� d����� d� ����dad�� d� da��� d�� ���� c�d����d��c���c���, �� ��� ��� �� �a�a���c� �a ad�c�ada ��ad�cc��� d� �a� ����a� a ��� �d���a� a���cab��� �� cada ca��. �����������: La ���������ac��� d� �����d���a �� cada a���ca���� I�����ac���a� ��� �� ������� c�� M�c�����a���� �� �������� d���c�a����� �� �� ��d��� ����c� d� da���, �� ��������d��� �� �� ��d��� ����c� d� da���. �
Pa�a cada �ab�a d� c�d��� � d��c���c��� �� d������� ��a �ab�a d� ��ad�cc�� � ��c�����d� �� �d���a c��� �a��� d� �a c�a�� ����a��a.
�
P�� cada �d���a �� c��a�� ��a ����a �a�a ��ad�c�� �� c��c����. E��� ����c��� �� ��c��a��a �a�a ��� �a ����a�����a d� ������ac��� M�c�����a���� ���da �������� �� �����d���a d� ����a a�������ca.
E������� d� a���cac��� d�� ����c���� ���c���a� �� �� ��d��� d� da��� S� �� d���a �a������ ��a �ab�a d� ca���� ���c���a��� � �a������ �a� d��c���c����� d� ����� ca���� ���c���a��� �� ��� �d���a� c�� ��� ��� ��aba�a �� ba�c�: S���c��� �� �� ��d��� ����c� d� da���: S� c��a�� ��a ����dad ��� d����a �� c��c���� d� ca��� ���c���a�, c�d��� d� ca��� ���c���a� � �� d��c���c���:
__________________________________________________________________________________________ Fecha edición: 06/11/2012 69/125 GUIA ANTIPATRONES GENERAL (2).doc
CARGO FUNCIONAL CODIGO_CARGO
COD_ALF_3
S���c��� �� �� ��d��� ����c� d� da���: La ����dad d� Ca���� ���c���a��� �����c���a�� a� ��d��� ����c� d� �a ����a ����a. CARGO FUNCIONAL CODIGO_CARGO FECHA DE CIERRE DES CORTA CARGO FUNCIONAL AUDITORIA USUARIO AUDITORIA TIM EST AMP
VARCHAR2(3) DATE VARCHAR2(20) VARCHAR2(8) TIMESTAMP
Ad���� �� c��a�� ��a �ab�a a���ada d��d� �� ��c���a �� �d���a �� �a ��, d� �a ��������� ����a : CARGO FUNCIONAL IDIOM A CODIGO_CARGO FECHA DE CIERRE CODIGO_IDIOMA_ISO DES CORTA CARGO FUNCIONAL AUDITORIA USUARIO AUDITORIA T IME ST AMP
VARCHAR2(3) DATE VARCHAR2(2) VARCHAR2(20) VARCHAR2(8) TIMESTAMP
S� c��a�� �a��a� ����a� c��� �d���a� �� ��c����� �����a�d� ��� �d���a �� cada ����a. CARGO FUNCIONAL_ES CODIGO_CARGO FECHA DE CIERRE DES CORTA CARGO FUNCIONAL AUDITORIA USUARIO AUDITORIA T IMES TAM P KYRI.TKYRIFID
CARGO FUNCIONAL_E N CODIGO_CARGO FECHA DE CIERRE DES CORTA CARGO FUNCIONAL AUDITORIA USUARIO AUDITORIA T IMES TA MP KYRI.TKYRIFID
CARGO FUNCIONAL_PT CODIGO_CARGO FECHA DE CIERRE DES CORTA CARGO FUNCIONAL AUDITORIA USUARIO AUDITORIA T IME STA MP KYRI.TKYRIFID
I�����a����� �� M�c�����a���� �� c�������a�� �a�a ��� Ca���� ���c���a��� � Id���a �a ����a a �a c�a� ��c����a� �a ��ad�cc��� ��� �d���a.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 70/125 GUIA ANTIPATRONES GENERAL (2).doc
������:MD�007 ����: �����
������: I��������ac��� d�� ��������� ������a�� �� ��d��� d� da���
�����������: G����a������ �� ��������� ������a�� ���� ��c���d� �� �� ��������� ���������dad, a� ��� ���� ������ d� �� ����� ��������. S� �� ��d��� d� da��� c����� �� ��������� ���������dad ��� d���c�� c����� �� ��������� ������a��. S� �� d���a �� ca�� d� ��a a���cac��� ��� ��c����a�a ��� ������a�� ��� ����� �� c����a �a ����dad ba�ca��a, �� ��� ca�� ���� �� ��c����� �� Pa�� �� �a� c�a��� ����a��a� d� �a� ����dad��/�ab�a� �� �a� ��� ��a �����c�a����� ��c��a��� �a�a �� c����������� d� �� ���������. ����� ����� ��������� ���� �� ��� ������ ��������� ���� ��������� ��������� �������������� �� �� ����� ��������. �����������: D� ���� ��d� � c��� ����a �����a�, �a� ����dad�� ��� ����������� c��c����� d� ������cac��� c�� �����c���a d�� ���� �c�d��� + d��c���c���� �� ��c����a� ��c���� �� �a�� �� �� c�a�� ����a��a. E� ca�� d� ������� �a ��c���dad d� ���������� �c�����c�a� d� �� c��c���� ��� Pa�� , ����a ��c��a��� c��a��� ��a ����dad d� ���ac���, d��d� �� ��a�d� �a ���ac��� d� ��� �c�����c�a� d� �� c��c���� c�a������a ��� ����d�� ��� cada �a��
__________________________________________________________________________________________ Fecha edición: 06/11/2012 71/125 GUIA ANTIPATRONES GENERAL (2).doc
������:MD�008 ����: �����������
������: I�����ac��� ��c��a��a �� cada ����� d� ��d��ad� d� da��� (��d��� ����c� � ����c� d� da���)
�����������: F��c���������� �� c�����d�� ��� �������� d� ��d��� ����c� d� da��� � ��d��� d� a��� ����� �� �� ��� ���� ����a ��c��a��� ��c���� �ac�� ����dad�� � ��� ����c��a��� a���b����. Ta�b���, ���� ����� ���c����� �� ��c���� ������ac��� d�� ������ ������ �� ����� �� �� ��d��� ����c� d� da���. �����������: E� �� ������ ������ �� ����� �� ��c��a��� ��c���� ��da a�����a ������ac��� ��� ��a �����a��� �a�a �� ����c��, d�����c��� d� ��� c��c����� d� ����c�� � �a� ���ac����� ��������� ����� �����. Ad���� �a� ��� ����� �� c����a ��� �� ��d����d����� d� �a ��a�a����a ��c������ca �� ��� �� ����������. Ad���� d� �a ������ac��� d� ����c��, �a� ��� d��a� �a�a �� ��d��� ����c� ��d�� ��� c��d�c���a���� � �����ac����� d����ada� d� �a ��a�a����a ��c������ca �����da �a�a �a ���������ac��� d� �a a���cac���, ��� ���d�� ��c�d�� �� �� ������ d� ��������a � �� ���ac�� d� d��c� ��c��a��� (������ac��� �������ca, ������ac��� ��d��dada, ������ac��� ca�c��ada, ��d�cad���� ��� ������ acc����,�). Ta�b���, �a�a ����� �a��� c�a��dad �� ��� d������, �� �a d�c�d�d� d��a� �a�a �� ��d��� ����c� d� da��� �a ������ac��� ��������� a a�d�����a � ��d� a������ ��� ����b����� �� ��a�a������ d�� ��������� ������d���a.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 72/125 GUIA ANTIPATRONES GENERAL (2).doc
������:MD�009 ����: �����
������: U�����ac��� d� Tab�a� SGAT �� a���cac����� ����ac���a���
�����������: S� �a d���c�ad� ��� �a� a���cac����� ������a� �ac�� �� ��� ��d��c�����ad� d� SGAT. Pa�a ��� ��a �ab�a ���da ��� ad�������ada ��� SGAT d�b� ����� c������ ��a ����� d� ca�ac�������ca�: •
•
•
•
La �ab�a d�b� ��� d�� ���� c�d����d��c���c���. L�� da��� d�b�� ��� ���ab���, c�� ��ca ���a����dad (������ ��d�c�d� d� ba�a� � ��d���cac�����). E� ���a� d� ���a� ��� c������a �� d�b� ��� ��c����� �a�a ����a� ���b���a� d� ���d������� �� �a� c������a� ������� (����� 100 � 200 ���a�, a������ada�����). N� ���d� ���a� ���ac���ada c�� ������a ���a ����dad/�ab�a SGAT � NO SAGAT.
La� �ab�a� SGAT �������a� �a�b��� ��a ����� d� ������cc����� a ����� �� c����a �a�a d�c�d�� �� ������ac���: •
•
•
•
•
•
S��� �� ca��� d� d��c���c��� ����� �a ca�ac�dad ������d���a. Ad���� d� ��� ca���� d� c�d��� � d��c���c����� �� �������� ����� a���b����, �a��a �� ������ d� d��. E���� a���b���� �� ���d�� c������� ����� ���c����b�� d� ��a�a������ ������d���a. La �������d d�� ca��� c�d��� ���� ���ab��c�da ����� 1 � 10 ca�ac�����. La d��c���c��� ����� ��a �������d �����a d� 80 ca�ac�����. E� �a����������� ���� �� ���d� ��a���a� a ��a��� d� �a a���cac��� ������c���ada ��� A������c���a. La ����acc��� � c������a d� da��� ���� �� ���d� ��a���a� a ��a��� d� �� ��d��� d� A������c���a.
���������� (����c��� d��ac�����ada) S���� �a ��c���dad d� c��a� ��a �ab�a �a�a �a������ �� ��bc������� d� �� c��c���� �a ��������� (���c��a�, ���d�c���, c�������, c����a���, c����a�a���da�, �). C��� SGAT �� ���d� �a������ ���ac����� c�� ���a� �ab�a� � �� ���d� �a�a����a� ��� ��� c�d���� �����d�c�d�� ��a� __________________________________________________________________________________________ Fecha edición: 06/11/2012 73/125 GUIA ANTIPATRONES GENERAL (2).doc
����d��, N� �� d�b� c��a� �� SGAT, �� d�b��� c��a� ��a �ab�a �����a d� �a a���cac��� ����c��a��� �� �� ������ ������ad�. S���� �a ��c���dad d� c��a� ��a �ab�a d� ��b�����. C��� �� SGAT �� �� ���d� �a������ �a ���ac��� c�� �a ����dad/�ab�a ����, �a���c� ���� �������da �� c��ac��� �� SGAT, ���a������ �� d�b��� c��a� ��a �ab�a �����a d� �a a���cac��� ����c��a��� �� �� ������ ������ad�. �����������: La� ����dad�� ��� A������c���a d� Da��� ac���a �� ���������ac��� c��� �ab�a SGAT �� d��������� �� �� M�d��� L���c� d� Da��� ������ �� ����cc���a �a�a ���a� �� S���������: �E���dad SGAT� �� �a ����a�a �� �a ��� �� d�c�����a� ��� da��� d� �a ����dad.
La �ab�a SGAT �� a�a��c��� �� �� M�d��� F���c� d� Da��� d� �a a���cac���.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 74/125 GUIA ANTIPATRONES GENERAL (2).doc
����� ������: NACAR�01 ����: ����� �����������:
������: F����� ��c������ � c�� �����c��� ��� �a��da
A����a���� d� ��c������a N�ca� ��� d���c�a �a� ����ac����� �� �a ��� ��� ������ �� ���a���a�, � �� �� �ac�� ��� �� �����c�� ���� d� ��� d� ����� a������c���a ( ATAENL�����).
�����������: R����a� ��� ��d�� ��� �����c��� d����� d�� ����� ����a� ��a���c����� d� �a��da � �a� ��a���c����� d� ���a���ac��� ������� a �����c��� ����� d� a������c���a (ATAENL�����).
__________________________________________________________________________________________ Fecha edición: 06/11/2012 75/125 GUIA ANTIPATRONES GENERAL (2).doc
������: NACAR�02 ����: ����� �����������:
������: C������ d� �������� �� ������
A����a���� d� ��c������a N�ca� ��� d���c�a �a� ����ac����� �� �a� ��� ��� �����c��� d� ��a�ada a �� ����� �� ������ �� c����a ��da� �a� ����b��� �a��da� ��� �� ����� ��a�ad� ����� d�����da�.
�����������: V�����ca� ��� �� ������ d� �a��da� c������ada� �� �a� ��a�ada� c���c�d� c�� �a� ��� c������� �� ����� � �����c�� ��a�ad�. S� �� c������a� ��� �a��da� ��� �a� d�����da� �� �a�ca c��� a����, ���� �� c������� ����� �a��da� ��� �a� d�����da� �� ��d�ca c��� ����� � ���d� ���d�c�� b������� d� a���cac���.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 76/125 GUIA ANTIPATRONES GENERAL (2).doc
������: NACAR�03 ����: ����� �����������:
������: F����� �����
A����a���� d� ��c������a N�ca� ��� d���c�a �a� ��a�ada� a ������ �����, �����d���d� ��� ���� a���� ����� ��� c������� ��a b��a d� ���c�� � ��a d� ��� (�� ���c��a �ada).
�����������: N� ���� �������d� �a ������ac��� d� ������ ����� dad� ��� �� ���c��a� ������a ������ac���. S� d�b�� ������a� � �� �� ������ac��� ������a ���� a����a���� d� ���a ��������a �� d�b� ����d�a� ��a ����c��� �� �a��� ������d�dad (��d����� ���a� � �a�c�a� d�� �����, ����� ���c�da).
__________________________________________________________________________________________ Fecha edición: 06/11/2012 77/125 GUIA ANTIPATRONES GENERAL (2).doc
������: NACAR�04 ����: ����� �����������:
������: C��ca���ac��� d� c��d�c�����
A����a���� d� ��c������a N�ca� ��� d���c�a �a� ����ac����� �� �a� ��� �� c��ca���a� ��� d� d�� c��d�c�����. E��a ����ac��� ���d� ���d�c�� ��a �������d c����d��ab�� �� �a ���c�c��� d� �����a�a� (����� ������ d� c��ca���ac�����) � ��c���� b�����a� �a ���c�c���.
�����������: S� d�b� a�a���a� �a ����ca d� �a� c��d�c����� �a�a ��� c��� �������a��a. � � �
S� ���d�� �������� �� �� ��� ��c��a��a�. I��������a� �� �����c�� d� ����c�� ��� a������� d�c�a ����ca d� �a� c��d�c�����. L���a� d�c�a ����ca a ca�a� ���������� d� �a a���cac��� (L���ca d� ����c��).
__________________________________________________________________________________________ Fecha edición: 06/11/2012 78/125 GUIA ANTIPATRONES GENERAL (2).doc
������: NACAR�05 ����: ERROR �����������:
������: C��d�c����� � ��a��ad���� ��c��������
A����a���� d� ��c������a N�ca� ��� d���c�a �a� ����ac����� �� �a� ��� �a� c��d�c����� � ��a��ad���� �� �������a� c��������c�a. E�. C��d�c����� c�� ��a �a��da ������ � ��a����, E�a��ad���� c��� ������ d� PAR.CASOS �� c���c�da c�� �� ������ d� ���c�a� ��� �a��� d�� ��a��ad��.
�����������: Pa�a �� ca�� d� �a� c��d�c�����, a�ad�� �� ca�� ��� �a��� (���� � �a���). Pa�a �� ca�� d� ��a��ad����, �����a� ��� c���c�d�� �� ������ d� PAR.CASOS c�� �a� ��c����� d� �a��da d�� ��a��ad�� � ����� �� c����a ��� �� d�b� a�ad�� �a ��c��� �d��a����.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 79/125 GUIA ANTIPATRONES GENERAL (2).doc
������: NACAR�06 ����: ����� �����������:
������: C��d�c����� a���� d� ��� d� �����
A����a���� d� ��c������a N�ca� ��� d���c�a �a� c��d�c����� ��� ���c�d�� a �� ���ad� d� ��� d� ����� (ATAENL�����).
�����������: La ������c�a d� c��d�c����� a���� d� ��� d� ����� ���d� ���d�c�� b�������. � � � �
S� ���d�� �������� �� �� ��� ��c��a��a�. S�������� ��� �� ��a��ad�� ��� a������� ��da� �a� ��c����� + d��a���. I��������a� �� �����c�� d� ����c�� ��� a������� d�c�a ����ca d� �a� c��d�c�����. L���a� d�c�a ����ca a ca�a� ���������� d� �a a���cac��� (L���ca d� ����c��).
__________________________________________________________________________________________ Fecha edición: 06/11/2012 80/125 GUIA ANTIPATRONES GENERAL (2).doc
������: NACAR�07 ����: ����� �����������:
������: E������ d� a������c���a �� ����a�a�
A����a���� d� ��c������a N�ca� ��� d���c�a �a� ����ac����� �� �a� ��� �� ������a� ������� d� a������c���a �� ��� c�������� d� �a� ����a�a�. Pa�a �� ����������a� ���c��� ��d���ad��, ��� ������� d� ��� c�������� d� �a ����a�a ����� ��� ��� d�� ���� UUAAEV���������.
�����������: S�������� ��� ������� d� a������c���a ��� ������� d� �a a���cac��� (UUAAEV��������).
__________________________________________________________________________________________ Fecha edición: 06/11/2012 81/125 GUIA ANTIPATRONES GENERAL (2).doc
������: NACAR�08 ����: ����� �����������:
������: C������ d� �������� �� SD � SG
A����a���� d� ��c������a N�ca� ��� d���c�a �a� ����ac����� �� �a ��� �� �� c������a� ad�c�ada����� ��� �������� d� ��� �����c��� d� da��� � ������c��.
�����������: C������a� �a� �a��da� ��� �a���� �� ��� �����c��� �a�a ��� �� ������ d� �������� ��a c�������� c�� �� ���� d� �����c��.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 82/125 GUIA ANTIPATRONES GENERAL (2).doc
������: NACAR�09 ����: ����� �����������:
������: Va��a� ����a�a�
A����a���� d� ��c������a N�ca� ��� d���c�a �a� ����ac����� �� �a� ��� �� ����� c������� ��� d� ��a ����a�a.
�����������: E� c���������� ��d����a� �� ����� c����d��a�d� ��� �a���� d�b�� d� ��d��a���a��� �� ������ ������.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 83/125 GUIA ANTIPATRONES GENERAL (2).doc
������: NACAR�10 ����: ����� �����������:
������: C��ca���ac��� ��a��ad���� � c��d�c����� (A����)
A����a���� d� ��c������a N�ca� ��� d���c�a �a� ����ac����� �� �a� ��� �a� c��d�c����� � ��a��ad���� (� c��b��ac��� d� a�b��) ��� �� ��c�����a� c��ca���ad��. (A����).
�����������: S� d�b� a�a���a� �a ����ca d� �a� c��d�c����� �a�a ��� c��� �������a��a. � � �
S� ���d�� �������� �� �� ��� ��c��a��a�. I��������a� �� �����c�� d� ����c�� ��� a������� d�c�a ����ca d� �a� c��d�c�����. L���a� d�c�a ����ca a ca�a� ���������� d� �a a���cac��� (L���ca d� ����c��).
__________________________________________________________________________________________ Fecha edición: 06/11/2012 84/125 GUIA ANTIPATRONES GENERAL (2).doc
������: NACAR�11 ����: ����� �����������:
������: Va���� ������� d� ���c��
A����a���� d� ��c������a N�ca� ��� d���c�a ��� ������ ��� ������ ��� d� �� ������ d� ���c��.
�����������: S� d�b� ������a� ��� ������� d� ���c�� d����cad��.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 85/125 GUIA ANTIPATRONES GENERAL (2).doc
������: NACAR�12 ����: ����� �����������:
������: U�� ��c����c�� d� �����c��� ������c��
A����a���� d� ��c������a N�ca� ��� d���c�a �� ��� ��c����c�� d� ��� �����c��� ������c�� ATAESG00004 � ATAESG00048,
E�. ATAESG00048. D�b� ������a��� �a�a ����ca� a ����ac����� d� ���a UUAA. E�. ATAESG00004 D�b� ������a��� �a�a ����ca� ������ d� ����a d�����ca. T���d �� c����a �� ���d������� �� �� ��� �a���� d� �����c���.
�����������: E� �����c�� ATAESG00048 �� �� d�b� ������a� �a�a ����ca� ������ d� �a ����a UUAA. S� �� ��c����a ����ca� �� ����� d� �a ����a UUAA �� ����ca�a ��a�a�d� a� UUAAFL����� c��������d�����. E� �����c�� d� ��a�ada d� ������ ������ ATAESG00004 �� d�b� ������a� �a�a � ���ca� a ������ d�����ca�����, �� ������ ca�� �� d�b� ������a� ��a�a�d� a �� ���c� ����� (UUAAFL�����).
__________________________________________________________________________________________ Fecha edición: 06/11/2012 86/125 GUIA ANTIPATRONES GENERAL (2).doc
������: NACAR�13 ����: ����� �����������:
������: U�� ��c����c�� d�� ��� d� ����� ATAENL00002
A����a���� d� ��c������a N�ca� ��� d���c�a �� ��� ��c����c�� d�� �����c�� ATAENL00002 .
�����������: N� �� d�b� ������a� �� ��� ������ �����c��� ���a��� ATAENL00002. S� c����d��a� d� ��� c����c�� ��� ���ad�� ���a��� d� ����� ATAENL00001, ATAENL00003 � ATAENL00004.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 87/125 GUIA ANTIPATRONES GENERAL (2).doc
������: NACAR�14 ����: ����� �����������:
������: E������ ���a���
A����a���� d� ��c������a N�ca� ��� d���c�a ���ad�� ��� ������ �a��a� �a��da� c�� �� ����� c�d��� d� ������.
�����������: S� d�b�� ��d���ca� ��� ������� ��� ����a� �� ����� c�d��� d� ������ ��� ����� �������. E� �b������ �� �� �������a� a�b����dad d� ca����� �� �a ���c�c��� d�� ����� (�� �ab� ��� d��d� c������a�).
__________________________________________________________________________________________ Fecha edición: 06/11/2012 88/125 GUIA ANTIPATRONES GENERAL (2).doc
������: NACAR�15 ����: ����������� �����������:
������: Ma���� ��d��da����
A����a���� d� ��c������a N�ca� ��� d���c�a �a���� �� ��� ��� �� �ac� �� ��� �����c����� d�� c������� d� ����� � d�� �S����c�� ������������S����c�� �������.
�����������: S� �� da�� �a��ad� �� ������a �� �� ���ad� ��������� a� ��������� �� d�b� �ac�� ��� ad�c�ad� d� ��� c�������� �a�a a��ac��a���.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 89/125 GUIA ANTIPATRONES GENERAL (2).doc
������: NACAR�16 ����: ����������� �����������:
������: S�c���c�a� �a��a� d� SD � SG.
A����a���� d� ��c������a N�ca� ��� d���c�a ��c���c�a� ��� c������a� ��� d� ���� �����c��� d� da��� � ������c�� c����c������. E��a� ��c���c�a� ���d�� ���d�c�� ����a��� c����d��ab��� ����� ��a ����a�a � ���a (d����d���d� d� �a �a���a���a d�� �����c�� d� da���). N� ���� ��c����dad� ����� ��� d� ����.
�����������: I�����a�, �� �a ��d�da d� �� ����b�� �� ����� ��d�� ��� �����c��� d� da��� ������, ��� ����� �����acc��� c�� �� ���a���.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 90/125 GUIA ANTIPATRONES GENERAL (2).doc
������: NACAR�17 ������: A����a������ �� a����a���ab���. ����: ����� �����������: S� d��a��a ��a ���ac��� d� ca��� d� a����a������ �� a����a���ab��� ��d�a��� ����a�����a� � ��� �� ������ d� ACS �����a d� ����a �a��a�. ������ � ����� �� ����� ��������� (������������ �����) N� d�b�� ������� �a��� d� ����� �� �a���� ��ac����� �� ��� ������ d�� DCD c��� XML �a a ��� ����a��ad� �� ���d�cc���. �������� ����������� �� ��������� ��������� (������������ �����) S� �����a �a c����c�a ������ac��� d� S����c��� G�����c��. Ha� �����c��� ����ad�� �a�a ��� ������ad�� d� ����a d�����ca, ���ca ������ca (ATAESG00004, ATAESG00002, ATAESG00003, �). ��������� �� ������� ����� (������������ �����) N� d�b�� ������a��� �����c��� d� ����c�� �����. ������ ������������ (������������ �����) N� d�b�� ������a��� ������ c��a �������c�a ��a ����c��a��a. A������ d� ����� ������ ��� d� ��� ���������� �����: F���� ��� ����ca ���ca����� a �� �����. F���� ��� ����ca ���ca����� a ��a ����a�a. F���� ��� c������� ���ca����� c��d�c���a��� � ��a��ad����. F���� c�� �� ���c� �����c�� d� da��� (a����� c������a ��� ����b��� ����a���). F���� c�� �� ���c� �����c�� ������c� (a����� c������a ��� ����b��� ����a���). C�a������a d� ��� ca��� a��������� ����� c�� c��d�c����� � ��a��ad����. F���� d�� ���� �INICIO � �a�� d� ����� � FIN� c�� ��� � �a���� �a����. ������������� �����������/����������� (������������ �����) E����� �� ���� d� a��dac���, c��c���a����� �a a��dac��� �� ��b��, ��� �a ����a�����a �� �� ca�a� d� d���c�a� ���� �� c����d��a �� a����a���� ������ ��� c����a d� ��� d� �2 c��d�c�����/��a��ad����/�a ���a d� a�b��� a��dad��. U� ������� ����a ��a c��d�c��� ��� ��� �� T��� �a a �� ��a��ad��/c��d�c��� � ��� �� Fa��� �a a ���a c��d�c���/��a��ad��. �������� �� ������ (������������ �����) S� �����a �� �� �a� ������ad� ��� �a����� C�� V����a/S�� V����a � P�� Va���/P�� R������c�a c�� �����d� � d����d���� ��� d���c��. �����������:
__________________________________________________________________________________________ Fecha edición: 06/11/2012 91/125 GUIA ANTIPATRONES GENERAL (2).doc
E���� ca��� �� ����d�a� �� d��a��� � �� ����c��� ���d� �a��a� (d����d���d� d�� ca��). E� �a �a����a d� ��� ca��� �a� ��c����� ���: E�����ac��� d� �a��� ��ac����� (�� �a� ��������� ��� �a� a ���d�cc���) E���d�a� �� a���ca � �� a���ca ������a� �����c�� ������c�, �������c��� ��� ���� �����c��. E�����ac��� d� �����c��� d� ����c�� �����, ����a�d� �����a� �� �a� �a� �ac�a ��� �a����. R�d����� ������a�d� �� ����� ����c��a��� ������d��� ��� c���������� a� ����� ��a�a���. S������c��� d� �a� c��d�c����� ��� �� �����c�� d� ����c�� ��� a������� ��da �a ����ca (� �a �a��� �a���) ���������ada �� �a� c��d�c�����. A�a���a� c�a�d� ���c�d� ���a� �� �a��� c�� �����a � ��� �����a.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 92/125 GUIA ANTIPATRONES GENERAL (2).doc
������ ������ ������: BV�01 ����: ����� �����������:
������: R������� d� ���d�c��� �� �a ������a a B���a� V��d��
D����� d�� c��c���� d� c������cc��� d� a���cac����� Naca�, c��� �a�� ������ a �a ������a a c������cc��� a �ac����a �� ������ d� B���a� V��d�� ��a���a ��a �������� ����a� d�� d����� d� ��� c���������� � ����� �� ������ad� ��b�� �� ����� (F111). E� ������ �a�� a c�����ba� ��� �� ������ d� B���a� V��d�� �� ��� �� �a� ������ad� ��d�� ��� c���������� ��� �������c�� a �a ������a. �
M�d���� d�� �����c�� � d�c�����ac��� d� d����� a��c�ada. E� d����� d�b� ��� ������ad� �� �a ����a �� �a ��� �� �a a ��a���a� �a ������a a �ac����a.S� c�������a� d�� ����b���dad��: 1. M�d��� (��� c�� �� ������ d� A������c���a a��c�ad�) + ��b��cac��� ���� � 2. M�d��� (��� c�� �� ������ d� A������c���a a��c�ad� � �d�) + S�da. E�����ab��� a Fac����a �a�a ��d�� �����a� ��da �a d�c�����ac��� ��� c������a �a ������a a��c�ada a� ��d��� (a���c�� ����a� d� �������ac��� , ���������, c���� d� ��a��acc����� , C204, ..)
� � � -
F011. T�����cac��� d� ��� ca��� d� ���. P�����a �d������cada �a�a da���� ������� d��a��� �� ������ ��� d��� �a �������� � �� �������� d� c���ac��. F203. V������ d� ca��� d� ��� � ��a����cac��� ��� cada ��� d� ��� �����c���. Ca��� d� U�� ��� �������� (a ��� �������ab��� d� �a a���cac���) ��� ��a� a�d��ad�� ����c��a������ (��c���a�) P�a�a����a � �����da� d� d����� �G��a B���ca D����� NACAR�RSA� ������ada. D�c������ F101 d� �����da��� d� d����� NACAR ������ad�� ��� �� �����c�� (�� �� �� ca��). E��������� .c��� a ������a� a �ac����a.
�����������: C������a� ��d�� ��� ���d�c��� ��c��a���� �a�a ��� �a ������a ��a c����c�a.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 93/125 GUIA ANTIPATRONES GENERAL (2).doc
������: BV�02 ����: ����� �����������:
������: R������� d� ������ �����a���
S� �����a� ��� a���c��� �����a��� ��b�� ��� ���d�c���, �� c��������� �� �����a �������d� ��d�� ��� ������ � �a�ca�d� �� c������ �a ����a � ��. E� �� ca�� d� ��c����������� �� ������a �� �a ca����a d��c���c��� �� ������ ��� �� ��� �� ��c����� �� �����. L�� ������ ��� �ac�� �������c�a a �a ���a d� d�����, ��d�ca� �� �a c�����a �R������c�a a ����a� �� ����� d��d� a a�a��c�� �� �� d�c������ �N���a d� d����� d� a���cac����� Naca��.
PUNTOS A REVISAR GENERALES Estructura del 1. (paquete) diseño ajustado a Unidad norma Funcional 1.1 (paquete) Vista Caso de Uso ( 1 único caso de uso) 1.1.1 (paquete) Modelo Procesos (MPxxx) 1.2 (paquete) Vista Lógica 1.2.1 (paquete) Modelo Lógico (ML-xxx) 1.2.2 (paquete) Modelo Físico (MF -xxx) 1.2.3 (paquete) Objetos No Propietarios (opcional) El modelo está O bien con apoyado en el keywords perfil NACAR apoyados en para estereotipos estereotipos y y atributos atributos de la guía Inconsistencias entre diagramas funcional y técnico El diagrama Existe una técnico es correspondencia coherente con la entre lo que se definición de incluye en el clases incluidas diagrama técnico en el modelo y lo que se recoge en el modelo lógico y
Cumple Comentario Tipo de error
Referencia en Norma
INCOMPLETO
3,1,2 ó 3.3.1 ó 3.3.3
NORMA
3.7.2 - 3.7.3 3.7.4 - 3.8.2 3.8.4 - 3.9.1 y 3.11
INCONSISTENCIA
INCONSISTENCIA
__________________________________________________________________________________________ Fecha edición: 06/11/2012 94/125 GUIA ANTIPATRONES GENERAL (2).doc
objetos no propietarios El estereotipo multiidioma se aplica y está rellenado adecuadamente Revisión que el caso de uso dispone de información de versionado. Si se trata de un clon o modificación se indica de forma clara cuál es el origen del clon y en qué consisten las modificaciones Para flujos nuevos, cada CU existe un único estereotipo VERSIONADO y viene relleno respecto a Norma.
Estereotipos Locale
INCOMPLETO
3.9.11
Para el caso de flujos modificados o clonados
INCOMPLETO
3.4
Se debe indicar en el estereotipo versionado y sólo aplica para casos de uso bajo la norma RSA, para anteriores normas (Por ej: ROSE) NO No se permite crear un caso de uso específico para incluir el versionado en el diagrama como un componente diferente
INCOMPLETO
3.4
INCOMPLETO
??
�����������: E� d����� d�b� ��� c������d� c������� a ��� ��c������������ ��d�cad�� �a��a ��� c����a �a ����a���a �������. S� ���c��a� �a��a� ���������� (������a� � c����cc����� ��� �a��� d� B���a� V��d��) c��� ��a� ��c��a��a� �a��a ��� �� d����� ���� c������� a �a ����a.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 95/125 GUIA ANTIPATRONES GENERAL (2).doc
������: BV�03 ����: ����� �����������:
������: R������� d� d�c�����ac��� d�� d�����
S� �a������ �� ����� �����c��� d� ��������, �� ���� ca�� �� �����a� ��� a���c��� ���������� �a d�c�����ac��� d� d�����.
PUNTOS A REVISAR GENERALE S
Cumpl Comentari Tipo de error e o
Referenci a en Norma
DOCUMENTACION G.D. 1
Generación Documentación de entrega del modelo (SODA/HTML)
SI
DOCUMENTACIO N
G.D. 2
Documentación adjunta necesaria al modelo incluido en entrega
Aspecto visual SI presentación, txt de copys de transacciones, etc...
INCOMPLETO
G.D. 3
Existe documentación que complementa al modelos y ofrece información de contexto
Si no existe SI información dentro del modelo, debería completarse con documentació n adjunta que aporte ésta
DOCUMENTACIO N
__________________________________________________________________________________________ Fecha edición: 06/11/2012 96/125 GUIA ANTIPATRONES GENERAL (2).doc
G.D. 4
El diseño técnico necesita apoyarse en documentación externa no considerada en norma
SI
NORMA
G.D. 5
Documentación adicional al modelo incluido en entrega es coherente con modelo
Por ejemplo prototipo , C204,…
SI
INCONSISTENCIA
G.D. 6
Existencia de los esqueletos generados a partir del modelo UML (ficheros .cmpt, xmi)
Existencia SI ficheros .cmpt generados a partir de .xmi
G.D. 7
Coherencia de los esqueletos generados a partir del modelo UML (ficheros .cmpt, xmi) con el diagrama técnico entregado en el modelo
SI
INCOMPLETO
INCONSISTENCIA
�����������: E� d����� d�b� ��� c������d� c������� a ��� ��c������������ ��d�cad�� �a��a ��� c����a �a ����a���a �������. S� ���c��a� �a��a� ���������� (������a� � c����cc����� ��� �a��� d� B���a� V��d��) c��� ��a� ��c��a��a� �a��a ��� �� d����� ���� c������� a �a ����a.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 97/125 GUIA ANTIPATRONES GENERAL (2).doc
������: BV�04 ����: ����� �����������:
������: R������� d� ca��� d� ���
S� �a������ �� ����� �����c��� d� ��������, �� ���� ca�� �� �����a� ��� a���c��� ���������� a� a������� d� ca��� d� ���.
PUNTOS A REVISAR GENERALES
Cumple Comentario Tipo de error
Referencia en Norma
ANÁLISIS REVISIÓN DE CASO DE USO A.1
Verificar la existencia y revisar Diagramas de Casos de Uso
NORMA
3.5
A.2
Revisar el Diagrama de Casos de Uso (si está bien estereotipado): Definición de actores y procesos
NORMA
A.3
Revisar la documentación del diagrama Caso de Uso
DOCUMENTACION 3.3.1
A.4
Diagrama de Caso de Uso general (que aglutine varias UF o casos de uso)
DOCUMENTACION 3.5.1
REVISIÓN DEL DIAGRAMA DE DEFINICIÓN DE LOS CASOS DE USO A.F.1 Verificar la
INCOMPLETO
3.3.1.1
existencia del Diagrama Definición de Casos de Uso (Diagrama Funcional) y comprobar que viene representado como un diagrama de actividad
__________________________________________________________________________________________ Fecha edición: 06/11/2012 98/125 GUIA ANTIPATRONES GENERAL (2).doc
A.F.2 Revisar estereotipos
NORMA
3.6
en el Diagrama de Definición de Caso de Uso o Diagrama Funcional: Unidades visuales, servicios datos, …
A.F.3 Revisar la
DOCUMENTACION 3.3.1
documentación diagrama de Definición de Casos de Uso
A.F.4 Revisar que
NORMA
A.F.5 Revisar que las
NORMA
Diagrama Definición Caso de Uso existe un Inicio y un Fin
actividades son acciones y no clases lógicas o físicas
A.F.6 Existe
DOCUMENTACION 3.2.1
A.F.7 Las actividades
INCONSISTENCIA 3.2.1
documentación en las actividades correspondientes con ventanas/flujos modales han de reflejarse tanto en el diagrama funcional como en el diagrama técnico indicados mediante una nota.
�����������: E� d����� d�b� ��� c������d� c������� a ��� ��c������������ ��d�cad�� �a��a ��� c����a �a ����a���a �������. S� ���c��a� �a��a� ���������� (������a� � c����cc����� ��� �a��� d� B���a� V��d��) c��� ��a� ��c��a��a� �a��a ��� �� d����� ���� c������� a �a ����a.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 99/125 GUIA ANTIPATRONES GENERAL (2).doc
������: BV�05 ����: ����� �����������:
������: R������� d� d����� d� d�a��a�a� ��c��c��
S� �a������ �� ����� �����c��� d� ��������, �� ���� ca�� �� �����a� ��� a���c��� ���������� a� d����� d� d�a��a�a ��c��c�.
PUNTOS A REVISAR GENERALES
Cumpl Comentari e o
Tipo de error
Referenci a en Norma
DISEÑO REVISIÓN DEL DIAGRAMA TÉCNICO (DIAGRAMA DE ACTIVIDAD) D.1
Verificar existencia del diagrama Técnico. Comprobar que viene representado como un diagrama de actividad
D.2
Revisar que existe un Inicio y unos o varios fines
D.3
Revisar que el diagrama técnico representa el flujo NACAR y claramente los servicios NACAR y sus pasos de flujo
INCOMPLETO
Tiene que existir un único inicio y una única bola de fin. Además debe existir un único evento de inicio
3.7
INCONSISTENCI 3.7.1 A
INCONSISTENCI 3.7.1 A
__________________________________________________________________________________________ Fecha edición: 06/11/2012 100/125 GUIA ANTIPATRONES GENERAL (2).doc
D.4
Revisar que cada servicio NACAR está modelado como una acción y está denominado con el nombre del componente NACAR (específico o servicio genérico)
Cada acción se debe denominar con el nombre de un componente NACAR
INCONSISTENCI A
D.5
Todos los elementos del diagrama están estereotipados en base a perfil o norma
Las acciones, transacciones y decisor tienen los estereotipos correctos ajustados al perfil ARQ
NORMA BLOQ
3.7.2
D.6
El diagrama técnico está estereotipado como Diagrama_Técnic o
Estereotipo ofrecido por ARQ. Necesario para la futura conversión del diagrama técnico a un borrador de flujo o esqueleto
NORMA BLOQ
3.7.3
D.7
El diagrama técnico dispone de un atributo "Codigo_Flujo" informado con el código del flujo NACAR
Necesario para la futura conversión del diagrama técnico a un borrador de flujo o esqueleto
NORMA BLOQ
3.12
D.8
Servicios genéricos modelados según norma
NORMA BLOQ
3.7.4
__________________________________________________________________________________________ Fecha edición: 06/11/2012 101/125 GUIA ANTIPATRONES GENERAL (2).doc
D.9
Existen nodos o actividades inconexas, o existe un camino o trayectoria que no finalicen en un fin de flujo
D.1 0 D.1 1
D.1 2
Nodos inconexos. Que un nodo no tenga transacciones de entrada o de salida
NORMA BLOQ
Antipatrones Nacar.
No se utilizan flujos nulos. Controlar todo los posibles retornos de los servicios (flujos, servicios de datos, servicios genéricos).
NORMA BLOQ
Antipatrones Nacar. Antipatrones Nacar.
No se incluyen flujos con más de un servicio de presentación
NORMA BLOQ
NORMA BLOQ
Antipatrones Nacar.
Transiciones D.1 3
Las transiciones modeladas entre servicios corresponden a eventos lógicos de servicios NACAR
Las transiciones son asociadas a eventos posibles. Por ejemplo, un servicio transaccional no puede generar un evento lógico de aplicación que no sea FIN_OK, AVISO o ERROR
D.1 4
Las transiciones con mismo nombre de evento están claramente identificadas. No existen servicios con eventos duplicados
Con un ordinal, etc
NORMA
No pueden existir dos eventos iguales con el mismo origen.
NORMA BLOQ
D.1 5
INCONSISTENCI 3.7.1 A
3.7.1
Antipatrones Nacar.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 102/125 GUIA ANTIPATRONES GENERAL (2).doc
D.1 6
En las transiciones se disponen los mapeos en el campo "documentación"
D.1 7
Revisar la Ajustado a notación y norma formato seguido en la especificación de los mapeos (ámbitos, fórmula, jerarquía, por referencia)
D.1 8
Revisar que la transición dispone de los atributos "convuelta ", evento lógico" y por referencia informado. Revisar que los mapeos sean coherentes técnicamente y estén completos
D.1 9
INCONSISTENCI 3.7.1 y 3.7.2 A
Los elementos de contexto corresponden al ámbito de la transición, los elementos del mapeo están especificados explícitamente, …
NORMA BLOQ
3.7.2
NORMA
3.12
INCONSISTENCI A
Multiidioma D.2 0
Los valores relativos a datos de tipo fecha o numéricos se mueven en los pasos de flujo en formato neutro, excepto cuando se van a presentar
NORMA BLOQ
__________________________________________________________________________________________ Fecha edición: 06/11/2012 103/125 GUIA ANTIPATRONES GENERAL (2).doc
D.2 1
Los valores relativos a datos de tipo fecha o numéricos se convierten antes de visualizarse del formato neutro al adecuado en el paso de flujo antes de la unidad visual y a la inversa cuando salen de la ventana se convierten en formato neutro
D.2 2
No se observan literales y mensajes a fuego en los servicios de mensajes de Arquitectura sean genéricos o no
Se deben aplicar rutinas de Arquitectura en los mapeos de antes y después de la ventana, para convertir del formato neutro al formato del idioma adecuado. Se debe tener en cuenta si la aplicación Host está adaptada al multiidioma o no.
NORMA BLOQ
NORMA BLOQ
Condiciones y evaluadores D.2 3
Especificación clara de la condición o evaluación a implementar
D.2 4
Condiciones implementadas como decisores RSA.
Con condición en campo "documentación " donde especifique el ámbito de la variable a evaluar y salida TRUE y FALSE
INCOMPLETO
3.7.1
NORMA BLOQ
3.7.1
__________________________________________________________________________________________ Fecha edición: 06/11/2012 104/125 GUIA ANTIPATRONES GENERAL (2).doc
D.2 5
Condiciones con Fusionar + varias entradas acción decisor modelados según norma
NORMA BLOQ
3.7.5
D.2 6
Expresiones especificadas como atributos
NORMA BLOQ
D.2 7
No existen dos condiciones con el mismo nombre o identificador en el modelo (aunque sí se exprese la misma condición)
El problema reside en la generación de esqueletos, ya que se generan condiciones por el nombre con múltiples salidas
NORMA BLOQ
D.2 8
No existen dos o más condiciones o evaluadores consecutivos.
Sustituir dos o más condiciones por un servicios de negocio o evaluadores, según el caso. No se admite tampoco la combinación de dos condiciones o evaluadores con un servicio nulo entre ellos.
NORMA BLOQ
Antipatrones nacar
D.2 9
Todo evaluador contempla además de las salidas a evaluar necesarias la salida default.
En los evaluadores deben existir tantas salidas como casos de PAR_VALOR + “el default” (obligatorio)
NORMA BLOQ
Antipatrones nacar
__________________________________________________________________________________________ Fecha edición: 06/11/2012 105/125 GUIA ANTIPATRONES GENERAL (2).doc
D.3 0
No se hace uso de condiciones antes del cierre del flujo
No es recomendable la utilización de condiciones antes del cierre de un flujo.
NORMA BLOQ
Antipatrones nacar
NORMA BLOQ
Antipatrones nacar
NORMA BLOQ
Antipatrones nacar
Utilización Eventos de Arquitectura D.3 1
No se hace uso de Fin Ok / Fin Aviso / Fin Error de Arquitectura para salir de una ventana.
D.3 2
Para las salidas de los servicios de mensajería (ME o ATAESG00001) no se puede usar con Fin OK/Aviso o Error.
Siempre deben de salir por eventos tipo Aceptar/Aceptar Dialogo,Si, No
�����������: E� d����� d�b� ��� c������d� c������� a ��� ��c������������ ��d�cad�� �a��a ��� c����a �a ����a���a �������. S� ���c��a� �a��a� ���������� (������a� � c����cc����� ��� �a��� d� B���a� V��d��) c��� ��a� ��c��a��a� �a��a ��� �� d����� ���� c������� a �a ����a.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 106/125 GUIA ANTIPATRONES GENERAL (2).doc
������: BV�06 ����: ����� �����������:
������: R������� d� M�d��� d� c�a��� ����c�
S� �a������ �� ����� �����c��� d� ��������, �� ���� ca�� �� �����a� ��� a���c��� ���������� a� ��d��� d� c�a��� ����c�.
PUNTOS A REVISAR GENERALES
Cumpl Comentar e io
Tipo de error
Referenc ia en Norma
DISEÑO REVISIÓN DEL MODELO LÓGICO (DIAGRAMA DE CLASES) ML.1
Revisión que todos los servicios NACAR propios del diagrama técnico están incluidos en el paquete ML y Objetos no propietarios
INCOMPLETO
3.8
ML.2
Revisar que todos los componentes NACAR asociados a los servicios NACAR se encuentran en el paquete ML
INCOMPLETO
3.8.1
INCOMPLETO
3.8.1
NORMA BLOQ
3.8.1
ML.2. Modelado de los contextos de flujos, 1
ventanas, servicios de datos
ML.3
Existen diagrama/s de clases lógicas donde se muestran las relaciones entre servicios y componentes NACAR
Se debe incluir un diagrama por componente tal cual se especifica en la guía
__________________________________________________________________________________________ Fecha edición: 06/11/2012 107/125 GUIA ANTIPATRONES GENERAL (2).doc
ML.3. El Diagrama de clases relaciona 1
NORMA BLOQ
correctamente los servicios con sus componentes (contextos, recursos, …)
ML.4
Revisar que las clases lógicas estén estereotipadas según norma
ML.5
Revisar que los atributos de los servicios y componentes están sujetos a norma
ML.6
Revisar la documentación de las clases
Ventanas y servicios de negocio
NORMA BLOQ
3.8.2
NORMA
3.12
DOCUMENTACI 3.2.1 ON
Servicios de datos ML.7
Revisar que el recurso de Transacciones dispone de la definición de la E/S o está incluida la copy en el campo documentación
ML.8
Se ha definido correctamente el Recurso de Transacciones indicando el tipo y la transacción a lanzar así como la copy. De igual forma se ha definido el parámetro recurso de datos con los atributos Formato de entrada, Versión, Identificador_de_acc eso, Cabecera.
Se debe incluir obligatoriame nte en la documentació n.
INCOMPLETO
3.10.2
INCOMPLETO
__________________________________________________________________________________________ Fecha edición: 06/11/2012 108/125 GUIA ANTIPATRONES GENERAL (2).doc
ML.9
Revisar que el recurso de acceso a BBDD y procedimientos almacenados disponer de la definición E/S
INCOMPLETO
ML.1 0
Revisar que el recurso Tabla código dispone de la definición E/S
INCOMPLETO
ML.1 1
Se ha definido adecuadamente la sentencia SQL para los accesos a BB.DD y Tabla Código en el recurso
INCOMPLETO
ML.1 2
Los atributos del componente Query vienen informados
INCOMPLETO
ML.1 3
Revisar que el recurso <> dispone de la definición E/S
INCOMPLETO
ML.1 4
Revisar que otros servicios de datos disponen de la definición E/S
INCOMPLETO
�����������: E� d����� d�b� ��� c������d� c������� a ��� ��c������������ ��d�cad�� �a��a ��� c����a �a ����a���a �������. S� ���c��a� �a��a� ���������� (������a� � c����cc����� ��� �a��� d� B���a� V��d��) c��� ��a� ��c��a��a� �a��a ��� �� d����� ���� c������� a �a ����a.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 109/125 GUIA ANTIPATRONES GENERAL (2).doc
������: BV�07 ����: ����� �����������:
������: R������� d� M�d��� d� c�a��� ����c�
S� �a������ �� ����� �����c��� d� ��������, �� ���� ca�� �� �����a� ��� a���c��� ���������� a� ��d��� d� c�a��� ����c�.
PUNTOS A REVISAR GENERALE S
Cumpl Comentari Tipo de error e o
Referenci a en Norma
DISEÑO REVISIÓN DEL MODELO FÍSICO (DIAGRAMA DE CLASES Y PSEUDOCÓDIGO ASOCIADO) MF.1
MF.2
MF.3
MF.4 MF.5
Revisión que todos los recursos físicos propios del diagrama técnico están incluidos en el paquete MF Revisar que existe diagramas de clases físicas que representan las relaciones entre clases Revisar que las clases físicas estén estereotipadas según norma
INCOMPLETO
3.8.3
NORMA
3.8.4
Documentación de la clase No se incluye código
DOCUMENTACI ON NORMA BLOQ
3.2.1
NORMA
No se admite código java, javascript, ajax en la ventana, servicios de negocio….. Si está permitido definir include y tld.
3.9.5
Ventanas
__________________________________________________________________________________________ Fecha edición: 06/11/2012 110/125 GUIA ANTIPATRONES GENERAL (2).doc
MF.6
Se encuentran todos los recursos físicos necesarios para la ventana (js, JSP, XSL,…)
INCOMPLETO
3.9
MF.7
Se disponen de esqueletos para las ventanas nuevas y prototipo HTML
INCOMPLETO
3.9
MF.8
Los JSP esqueletos son coherentes con el modelo RSA y se corresponden con las ventanas a construir y prototipo incorporado en entrega Los prototipos .jsp son coherentes y utilizan las custom tags adecuadas, y están adecuadamente definidos los atributos
INCONSISTENCI A
MF.9
MF.1 0
La funcionalidad de la ventana incluida en el diseño permite la construcción de la misma sin "interpretacione s"
Se verifica que no se utilizan los custom-tags por defecto, así como los atributos, cuando en el diseño se contempla el uso de customtags propias o de Arquitectura con atributos distintos
INCONSISTENCI A
INCOMPLETO
__________________________________________________________________________________________ Fecha edición: 06/11/2012 111/125 GUIA ANTIPATRONES GENERAL (2).doc
MF.1 1
Funcionalidad de la ventana expresada en "documentación " de la clase con pseudocódigo
NORMA
3.9
MF.1 3
El diseño dispone de una definición de los controles de la ventana y sus propiedades Controles de la ventana identificados como atributos de la clase física
INCOMPLETO
3.9
MF.1 4
MF.1 5
NORMA
Relación del aspecto visual de la ventana con los controles de la ventana en el modelo. El comportamiento de la ventana se corresponde con el aspecto visual de la ventana.
3.9.1
INCONSISTENCI 3.9.3.1 A
Elementos de presentación La entrega del diseño dispone de información necesaria para la implementación de las librerías javascript propias. MF.1 La entrega del diseño dispone 7 de información necesaria para la implementación de las librerías de presentación (custom tags ) propias.
INCOMPLETO
MF.1 Modelado javascript sujeto 8
NORMA BLOQ
MF.1 6
INCOMPLETO
3.9.5
a norma (No se incluye código)
__________________________________________________________________________________________ Fecha edición: 06/11/2012 112/125 GUIA ANTIPATRONES GENERAL (2).doc
MF.1 9
Modelado CustomTag sujeto a norma
NORMA
3.9.4
Servicios de negocio MF.2 0
La entrega del diseño dispone de información necesaria para la implementación de los servicios de negocio propios (funciones , su comportamiento y E/S)
INCOMPLETO
MF.2 1
No se incluye código java directamente en el modelado del servicio de negocio
NORMA BLOQ
3.10.4
Multiidioma MF.2 2
No se usan literales a fuego para efectuar las siguientes funciones: - alerts o ataaMensaje. - Al invocar ventanas modales no se pasa el título o el locale a fuego - la definición de la columna libre en la tabla editable no usa literales a fuego
Ver guía de recomendacione s. En la mayoría de los casos sería recomendable usar ficheros .js
NORMA BLOQ
__________________________________________________________________________________________ Fecha edición: 06/11/2012 113/125 GUIA ANTIPATRONES GENERAL (2).doc
MF.2 3
No deben usarse controles HTML puros, ya que estos no están soportados por la herramienta de traducción de ventanas
En algún caso podría ser adecuado usar controles HTML, si no se adaptan las custom tags definidas, como tablas, frames. Siempre que se respeten las condiciones para ser multiidioma.
NORMA
�����������: E� d����� d�b� ��� c������d� c������� a ��� ��c������������ ��d�cad�� �a��a ��� c����a �a ����a���a �������. S� ���c��a� �a��a� ���������� (������a� � c����cc����� ��� �a��� d� B���a� V��d��) c��� ��a� ��c��a��a� �a��a ��� �� d����� ���� c������� a �a ����a.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 114/125 GUIA ANTIPATRONES GENERAL (2).doc
������: BV�08 ����: ����� �����������:
������: R������� d� ��������ac��� d� ������ � �����c��� ������c��
S� �a������ �� ����� �����c��� d� ��������, �� ���� ca�� �� �����a� ��� a���c��� ���������� a �a ��������ac��� d� ������ � �����c��� ������c��.
PUNTOS A REVISAR GENERALES
Cumple Comentario
Tipo de error
Referencia en Norma
REUTILIZACIÓN FLUJOS REVISIÓN REUTILIZACIÓN FLUJOS R.F.1 Flujo invocado
La presentación modal a pantalla completa debe implementarse con el servicio genérico 48
INCOMPLETO
R.F.2 Flujo invocado a
Desde BBVV se pedirá una aclaración por parte de la aplicación para confirmar que no se realiza la llamada de una ventana modal dentro de otra ventana modal
INCOMPLETO
lanzado a través de las funciona JS para ventanas modales con presentación a ventana completa
través de una ventana emergente invoca a otras ventanas modales o emergentes
SERVICIOS GENÉRICOS REVISIÓN UTILIZACIÓN SERVICIOS GENÉRICOS
__________________________________________________________________________________________ Fecha edición: 06/11/2012 115/125 GUIA ANTIPATRONES GENERAL (2).doc
S.G.1 Incorrecta
utilización de servicios genéricos
Por ejemplo: ·Sólo se debería utilizar el SG48 para llamar a flujos de otra aplicación de forma estática o dinámica. ·Sólo se debería utilizar el SG4 para llamar de forma dinámica a flujos de la misma aplicación. ·Sólo se debería utilizar el SG3 para llamar de forma dinámica a servicios de datos. ·Sólo se debería utilizar el SG2 para llamar de forma dinámica a servicios de presentación (ventanas) · Etc
NORMA BLOQ
Antipatrones nacar
�����������: E� d����� d�b� ��� c������d� c������� a ��� ��c������������ ��d�cad�� �a��a ��� c����a �a ����a���a �������. S� ���c��a� �a��a� ���������� (������a� � c����cc����� ��� �a��� d� B���a� V��d��) c��� ��a� ��c��a��a� �a��a ��� �� d����� ���� c������� a �a ����a.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 116/125 GUIA ANTIPATRONES GENERAL (2).doc
������: BV�09 ����: ����� �����������:
������: R������� d� ca��� d� ����ba
S� �a������ �� ����� �����c��� d� ��������, �� ���� ca�� �� �����a� ��� a���c��� ���������� a ��� ca��� d� ����ba.
PUNTOS A REVISAR GENERALE S
Cumpl Comentari Tipo de error e o
Referenci a en Norma
PRUEBAS REVISIÓN CASOS DE USO DE PRUEBAS
CP. 1
El C204 de la entrega dispone casos de pruebas para el caso de uso
INCOMPLETO
CP. 2
El detalle de los casos de pruebas asociados incorpora DESCRIPCIÓN:e s y datos suficientes para poder realizar la ejecución del caso
INCOMPLETO
CP. 3
Los casos de prueba permiten validar el funcionamiento de los componentes que conforman el casos de uso Los casos de prueba contemplan todas los pasos de flujo modelados en el caso de uso.
INCOMPLETO
CP. 4
Tratamiento de errores (fin_aviso, fin_error, fin_ok) de los SD. Pruebas de todos los accionadores
DOCUMENTACIO N
__________________________________________________________________________________________ Fecha edición: 06/11/2012 117/125 GUIA ANTIPATRONES GENERAL (2).doc
CP. 5
Se entregan los ficheros de transacciones dummys, ya que no se van a realizar las pruebas de integración HostNacar por factoría
En el F011 vendrá indicado si el caso de uso tiene pruebas de integración Host-Nacar o no. En caso de que no se realicen, el proyecto debe enviar los ficheros de las transaccione s dummy
INCOMPLETO
�����������: E� d����� d�b� ��� c������d� c������� a ��� ��c������������ ��d�cad�� �a��a ��� c����a �a ����a���a �������. S� ���c��a� �a��a� ���������� (������a� � c����cc����� ��� �a��� d� B���a� V��d��) c��� ��a� ��c��a��a� �a��a ��� �� d����� ���� c������� a �a ����a.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 118/125 GUIA ANTIPATRONES GENERAL (2).doc
������: BV�010 ����: ����������� �����������:
������: R������� d� ca��� d� ����ba
S� �a������ �� ����� �����c��� d� ��������, �� ���� ca�� �� �����a� ��� a���c��� ���������� a ��� ca��� d� ����ba.
PUNTOS A REVISAR GENERALES
Tipo Referencia Cumple Comentario de en Norma error CALIDAD DISEÑO TÉCNICO
CC.1
Minimizar o evitar incluir entre diferentes interacciones del usuario secuencias muy pesadas que retrasen la siguiente interacción
CC.2
Minimizar la invocación de servicios que se repiten en flujos secundarios
CC.3
Controlar los retornos de cualquier servicio de datos o flujo con Fin Ok, Fin Aviso y Fin Error Controlar que los servicios de mensajes tengan sus retornos correspondientes (Aceptar Diálogo, …)
CC.4
Deben llevarse al flujo superior y llevar los datos al contexto, para que lo reutilicen el resto de flujos y servicios
Q. Alta
5.1.1.1.
Q. Alta
5.1.1.2.
Q. 5.1.1.3 Media
Q. 5.1.1.3 Media
__________________________________________________________________________________________ Fecha edición: 06/11/2012 119/125 GUIA ANTIPATRONES GENERAL (2).doc
CC.5
Es recomendable que todos los Flujos finalicen con ATAENL00001, ATAENL00003 y ATAENL00004 para poder controlar las salidas con Fin Ok, Fin Aviso y Fin Error
Q. 5.1.1.4 Media
CC.6
Revisar que únicamente existe un evento Inicio en el flujo
Q. 5.1.1.4 Media
CC.7
Controlar que las variables no se mueven de servicio en servicio, si no se van a utilizar en todos ellos (se debe hacer uso del flujo actual)
CC.8
Revisar que se han creado todos los contextos (del flujo, de los servicios de datos, de las ventanas) correctamente y no se utilizan variables dinámicas
CC.9
No se permite la utilización de flujos nulos
CC.10 Utilizar las
opciones de "Con Vuelta" y "Sin Vuelta" correctamente cuando sea necesario para evitar duplicar mapeos en el flujo
Q. Alta
5.1.1.5
Q. Relacionado Media con 5.1.1.5
Q. Alta
5.1.1.6
Q. 5.1.1.7 Media
__________________________________________________________________________________________ Fecha edición: 06/11/2012 120/125 GUIA ANTIPATRONES GENERAL (2).doc
CC.11 CONDICIONES.
Q. 5.1.1.8 Media
Sustituir dos o más condiciones por evaluadores o servicios de negocio
CC.12 Utilizar los
servicios de Arquitectura para servicios de infraestructura
Especialmente en servicios de negocio, por ejemplo se han encontrado trazas en presentación implementadas por aplicación.
Q. Alta
5.1.1.9
CC.13 Usar mapeos por
Q. 5.1.1.10 Media
CC.14 Garantizar la
Q. 5.1.1.11 Media
referencia en la medida de lo posible (el mapeo por valor genera una copia del origen). Valorar y salida, mediante consensuar alguna condición con el proyecto o evento, cuando se producen ciclos o bucles entre componentes o servicios dentro de un flujo.
CC.15 Habilitar la caché Debe
de transacciones en aquellas que devuelvan datos estáticos y compartidos para los criterios de caché.
especificarse en la documentación de la transacción (atributo cacheable del estereotipo)
Q. 5.1.1.12 Media
__________________________________________________________________________________________ Fecha edición: 06/11/2012 121/125 GUIA ANTIPATRONES GENERAL (2).doc
CC.16 Identificar y
Q. Alta
5.2.1.1
CC.17 Reducir la carga
Q. Alta
5.2.2.1
CC.18 La lógica pesada
Q. Alta
5.2.2.2
Q. Alta
5.1.3
encapsular
funciones javascritp comunes en librerías comunes en el modelo físico de la ventana Si se especifica del onload de la en el jsp se podrá ventana recomendar al proyecto que elimine la carga. Valorar y consensuar con el proyecto
que genera los estados de la presentación asociado a un evento de usuario se deben condicionar a la ejecución de este evento.
CC.19 Flujos
ejecutados en ventanas modales siguen especificaciones de diseño
Servicio de presentación activo , operación de la misma aplicación y paso de datos
__________________________________________________________________________________________ Fecha edición: 06/11/2012 122/125 GUIA ANTIPATRONES GENERAL (2).doc
CC.20 El rendimiento se A través de la
Q. Alta
CC.21 El prototipo JSP
Q. Baja
puede ver afectado por el diseño del flujo
se completa o dispone de propiedades en los controles
ejecución de pasos de flujo complejos con enorme cantidad de mapeos, servicios de negocio complejos, procedimientos almacenados pesados, secuencias de transacciones pesadas antes de que aparezca la ventana
Los controles o traducción se completa con la edición de propiedades, que finalmente se traducen en atributos de las custom tags, en vez de dejar las propiedades por defecto
__________________________________________________________________________________________ Fecha edición: 06/11/2012 123/125 GUIA ANTIPATRONES GENERAL (2).doc
CC.22 Se obtienen en
las transacciones y accesos a BB.DD. el volumen de campos necesarios para la ejecución de los cálculos, funcionalidades y su presentación.
Si sólo se presentan o utilizan un volumen inferior al 2030%, indica que se extraen campos innecesarios, y que se están ejecutando transacciones pesadas, ocupando ancho de banda innecesario. También puede suponer una mala modularización de transacciones.
Q. Alta
�����������: E� d����� d�b� ��� c������d� c������� a ��� ��c������������ ��d�cad�� �a��a ��� c����a �a ����a���a �������. S� ���c��a� �a��a� ���������� (������a� � c����cc����� ��� �a��� d� B���a� V��d��) c��� ��a� ��c��a��a� �a��a ��� �� d����� ���� c������� a �a ����a.
__________________________________________________________________________________________ Fecha edición: 06/11/2012 124/125 GUIA ANTIPATRONES GENERAL (2).doc