IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
2 de 48
Histrico de versiones:
Versin
Fecha
1.0
22/11/2007
4.0
5.0
19/08/2009
5.1
08/10/2009
6.0
05/03/2010
7.0
25/03/2010
8.0
26/04/2010
9.0
19/10/2012
10.0
21/02/2013
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Versin
Fecha
Pgina
3 de 48
11.0
22.01.2015
12.0
<Mes / Ao
aprobacin>
13.0
<Mes / Ao
aprobacin>
Cargo / Rol
Preparacin
Programador
11.02.2015
Revisin
Consultor INSA
12.02.2015
Aprobacin
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
Fecha
A cumplimentar
por Iberdrola
>
PMN-DED-DD-001 / 12.0
Pgina
4 de 48
NDICE
Captulo/Seccin
Pgina
1.
IDENTIFICACIN.......................................................................................................................................5
2.
DOCUMENTOS ASOCIADOS....................................................................................................................5
3.
4.
TRATAMIENTO...........................................................................................................................................7
PLAN DE PRUEBAS..................................................................................................................................42
6.
PRUEBAS UNITARIAS..............................................................................................................................43
7.
GLOSARIO DE TRMINOS.....................................................................................................................44
8.
APNDICE A..Z..........................................................................................................................................45
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
5 de 48
1. IDENTIFICACIN
Este documento describe detalladamente las modificaciones realizadas en
el programa referente al proceso 4.2 de la Interfase de Recarga y del 4.1.
Dada la necesidad de realizar el envo de la informacin de los procesos 4.1 y 4.2
de forma inmediata, se proceder modificar la exit de grabacin de la orden para
que se enve la informacin de dichos procesos cada vez que se cree o se
modifique una orden asignada a un nmero de revisin.
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
6 de 48
2. DOCUMENTOS ASOCIADOS
CDIGO/ VERSIN
DOCUMENTO
PMN-DEF-DD-001 / 19
Especificaciones Funcionales
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
7 de 48
Elemento
tcnico
ZIPMR017
Programa
Los especificados
peticin.
nivel
de
ZIPMR010
Programa
Los especificados
peticin.
nivel
de
ZIPMR016
Programa
Los especificados
peticin.
nivel
de
ZIPMR_BADI_ORDEN
Badi
Los especificados
peticin.
nivel
de
ZIT_INTR_PATH
Tabla
Los especificados
peticin.
nivel
de
Z_SINIPM_FILE
Modulo de
Funciones
Los especificados
peticin.
nivel
de
ZSIN
Grupo de
Funciones
Los especificados
peticin.
nivel
de
ZIM_INTR_PATH
Transaccin
Los especificados
peticin.
nivel
de
ZXBS1U01
Include
Los especificados
peticin.
nivel
de
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
8 de 48
4. TRATAMIENTO
4.1 PROGRAMA ZIPMR017 (PROCESO 4.2: TRABAJOS DE RECARGA)
4.1.1
Desarrollo
Las modificaciones realizadas en el programa corresponden a lo siguiente:
Eliminar el campo N de horas-total reales con la misma estructura que el campo N de horastotal (trabajo).
El N de horas-total (trabajo) incluir las horas notificadas y si no tiene notificaciones, las
horas planificadas.
Aadir al registro tipo 0 los campos Revisin (revnr) y Autorizado por del permiso
RRP (genvname).
Aadir al registro tipo 0 el campo Permiso ICS (permics).
Aadir al registro tipo 1 el campo Status de la lista de descargo (desc).
Aadir al registro tipo 3 el campo Status de la etiqueta de seguridad (txt04).
Para realizar esta modificacin se deber proceder de la siguiente forma:
Cambios en la definicin de datos:
-
Crear una nueva tabla interna llamada it_permiso_rrp que almacenar el nombre del
autorizador del permiso RRP para cada orden.
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
9 de 48
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
10 de 48
Con este valor se accede a la tabla TJ02T mediante su campo ISTAT = stat recuperado en el
select anterior y el campo idioma = sy-langu, recuperando el valor de txt04 que buscamos.
Subrutina ESTADO_DEL_DESCARGO2
Segn lo especificado en el funcional esta subrutina junto con las otras dos a las que se llama
desde ella (MIRA_VALOR_STATUS y BUSCAR_STATUS) encuentran el cdigo de estado
de descargo de la orden, seleccionando el adecuado de entre todas las listas de descargo
asociadas a esa orden.
Subrutina FABD_CO_PERMISO_ICS
Esta subrutina rellena el nuevo campo permics de la tabla reg0 del modo siguiente:
Se busca para cada una de las rdenes, si en la tabla IHSG existe algn registro cuyo objnr =
nmero de objeto de la orden tratada, pmsog = 'ICS', K_SKIP = y lvorm = ' '.
A continuacin se busca en la tabla IHGNS un registro con:
En caso de existir un registro indica que esa orden tiene el permiso ICS activo y el campo
permics se rellenar con el valor SI. En caso contrario este campo permanecer vaco.
Subrutina FABD_CO_PERMISO_ICP
Esta subrutina rellena el nuevo campo permicp de la tabla reg0 del modo siguiente:
Se busca para cada una de las rdenes, si en la tabla IHSG existe algn registro cuyo objnr =
nmero de objeto de la orden tratada, pmsog = 'ICP', K_SKIP = y lvorm = ' '.
A continuacin se busca en la tabla IHGNS un registro con:
En caso de existir un registro indica que esa orden tiene el permiso ICP activo y el campo
permicp se rellenar con el valor SI. En caso contrario este campo permanecer vaco.
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
11 de 48
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
12 de 48
GENIAKT =
ZZGENNAP =
En caso de existir un registro indica que esa orden tiene el permiso ICS activo y el campo
permics se rellenar con el valor SI. En caso contrario este campo permanecer vaco.
Subrutina FABD_CO_PERMISO_ICP
Esta subrutina rellena el nuevo campo permicp de la tabla reg0 del modo siguiente:
Se busca para cada una de las rdenes, si en la tabla IHSG existe algn registro cuyo objnr =
nmero de objeto de la orden tratada, pmsog = 'ICP', K_SKIP = y lvorm = ' '.
A continuacin se busca en la tabla IHGNS un registro con:
En caso de existir un registro indica que esa orden tiene el permiso ICP activo y el campo
permicp se rellenar con el valor SI. En caso contrario este campo permanecer vaco.
4.2.2. Modificacin ERRORES en el registros tipo 0.
Debemos tomar correctamente las descripciones de los registros asociados una posicin de
Plan de Mantenimiento.
Para ello llemos la tabla que lleva todos los registros 0 que se van a atransferiri al fichero de
descarga en el servidor, junto con el Nmero de orden, Plan de Mantenimiento y POSICION.
As:
Nos creamos un tabal interna de la misma estructura que la que se trasferir y aadimos el
campo posicin.
En la rutina ftti_cg_reg_planes transferimos todos los registros incluido el campo Posicin.
it_reg0-wppos = t_posiciones-wppos.
MOVE-CORRESPONDING reg0 TO it_reg0.
APPEND it_reg0.
CLEAR it_reg0-wppos.
Hacemos lo mismo para la rutina ftti_cg_ordenes, pero sin introducir el WPPOS puesto que
no tienen.
CLEAR it_reg0-wppos.
MOVE-CORRESPONDING reg0 TO it_reg0.
APPEND it_reg0.
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
13 de 48
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
14 de 48
Formato
Informacin a transferir
Nmero de orden
X(8)
Estatus de la orden
X(1)
N de horas-total
(planificadas)
X(8)
N de horas-total
(reales)
X(8)
Requisitos
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
15 de 48
4.4.2
Proceso 4.2 Trabajos de recarga
La planificacin que est prevista para automatizar la ejecucin de este proceso no se deber
realizar. Ser posible que el usuario ejecute este proceso de forma manual o mediante un Job
cuando sea necesario.
El formato del fichero de salida tiene cuatro tipos de registros, se describe brevemente cada
uno de ellos. En el fichero de salida los registros se generan en el orden especificado.
Describiendo a continuacin cada uno de los campos que contienen los diferentes tipos de
registro.
Tipos de registro del fichero de salida:
Tipo
0
1
2
5
3
Orden
Datos de Cabecera
Datos de Cabecera
Datos de Operaciones
Textos de Operaciones
Datos de Lista de Descargos
** Este tipo de registro se genera solo cuando se han seleccionado el check-box de Listas
de Descargos.
Si una orden tuviera asignadas varias listas de descargo, se crear un juego de los
anteriores tipos de registro para cada lista de descargo, es decir, tendremos un registro tipo
0 y tipo 1 por cada lista de descargo, con sus correspondientes registros tipo 2 con las
operaciones, y los registros tipo 3 correspondientes a las posiciones de la lista de
descargos.
Estructura del fichero de salida (recarga_trabajos.txt).
Campo
Registro tipo 0
Plan de mantenimiento
X(10)
Nmero de orden
X(8)
Tipo de registro
X(1)
Texto breve
X(40)
Grupo de planificacin
X(3)
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
16 de 48
Puesto de trabajo
responsable
X(8)
Revisin
(X8)
Revisin
Autorizado por
(X12)
Permiso ICS
(X2)
Permiso LD
(X2)
Registro tipo 1
Plan de mantenimiento
X(10)
Nmero de orden
X(8)
Tipo de registro
X(1)
Nmero de orden
principal
X(8)
Ubicacin Tcnica
X(18)
Texto de la UT
X(40)
Equipo
X(18)
Fabricante
X(15)
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
17 de 48
Modelo
X(20)
X(9)
X(40)
Emplazamiento de la
U.T.
X(10)
Local
X(8)
Lista de descargo
X(8)
Status de la lista de
descargo
X(3)
Clase de actividad de
mantenimiento
X(2)
Permisos
X(5)
Registro tipo 2
Plan de mantenimiento
X(10)
Nmero de orden
X(8)
Tipo de registro
X(1)
Operacin
X(4)
Texto breve
X(40)
N de personas
N(3)
N de horas-total
(trabajo)
X(8)
Ndehorastotal
(reales)
X(8)
Sumadehorasnotificadasdelaoperacindelaordende
mto.
Puesto de trabajo
X(8)
Fecha de inicio
X(8)
Grupo de planificacin
X(3)
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
18 de 48
X(8)
la orden de mto.
Horas de zona controlada de la operacin de la orden de
mto.
X(10)
Nmero de orden
X(8)
Tipo de registro
X(1)
Texto breve
X(80)
Plan de mantenimiento
X(10)
Nmero de orden
X(8)
Tipo de registro
X(1)
Elemento de descargo
X(18)
Condicin operativa
X(10)
Status de la etiqueta de
seguridad
X(4)
HZC
Registro tipo 5
Plan de mantenimiento
Registro tipo 3
4.4.3
PROCESO Exit Grabacin rdenes
El objetivo de esta modificacin es enviar los ficheros que envan los actuales procesos 4.1 y
4.2, cuando se cree o modifique una orden de trabajo.
Se generar el envo de un fichero por proceso:
-
Fichero para proceso 4.1 Status de rdenes con la estructura detallada en el punto
3.2.7 de este documento.
Fichero para proceso 4.2 Trabajos de Recarga con la estructura detallada en el punto
3.2.8 de este documento.
Para el envo de ambos ficheros, la orden deber cumplir las siguientes condiciones:
-
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
19 de 48
Las condiciones estn jerarquizadas de tal forma que la condicin 1 es la menos restrictiva y
la condicin 8 la ms restrictiva, esto significa que para que una orden sea susceptible de
enviar, se chequear que cumpla la condicin 1, si la cumple, pasar a chequearse la
condicin 2 hasta llegar a la ltima condicin, determinndose la necesidad de hacer el
envo o no.
Cuando la orden cumpla las condiciones de envo, el sistema continuar con el proceso de
grabacin de los datos de la orden. Al finalizar dicha grabacin se iniciar el proceso de
envo, ser entonces cuando se acceda a la tabla ZIT_INTR_PATH, para determinar la ruta de
envo de cada fichero. La tabla contiene los siguientes campos:
Campo
Elem. Datos
Tipo
Long
Descripcin
Observaciones
WERKS
WERKS_D
CHAR
Centro
Campo Obligatorio.
4.4.4
ZZTPF
ZZTPF
CHAR
Tipo de Fichero
Campo Obligatorio.
Valores posibles:
01 Fichero Status de
rdenes.
02 Fichero Trabajos
de Recarga.
FILENAME
DXFILENAME
CHAR
128
Ruta Fichero
4.4.5
L_DLINAM
SO_DLI_NAM
CHAR
12
Nombre
Distribucin
Lista
4.4.6
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
20 de 48
Se crear una nueva entrada en Customizing para asignar esta transaccin. La entrada estar
en:
Parametrizacin de los desarrollos Parametrizacin del mdulo PM-Generacin
Gestin de rdenes
Y se llamar: Actualizacin datos para envo de ficheros On-Line.
Tras la determinacin de la ruta del fichero, se realizar la composicin del nombre del
fichero:
-
Si el fichero cumple con los criterios de seleccin del proceso 4.1, ste se llamar
Recarga_status_<n de la orden de trabajo>_fecha_hora_minuto_segudo.txt
Si el fichero cumple con los criterios de seleccin del proceso 4.2, ste se llamar
Recarga_trabajos_<n de la orden de trabajo>_<fecha_hora_minuto_segudo>.txt
4.5 DESARROLLO
4.5.1
ZXBS1U01
En este include realizamos un tratamiento para la posterior lectura de textos largos y poder
comparar desde nuestra BADI las modificaciones.
Para ello, si se est grabando y la orden es de nuestro tipo N buscamos el texto en las tabals
correspondientes y exportamos el valor.
IF sy-ucomm = 'BU'.
IF caufvd-auart EQ c_n.
CONCATENATE sy-mandt caufvd-aufnr INTO lv_name.
SELECT SINGLE * INTO zstxh FROM stxh
WHERE tdobject = c_tdobject
AND tdname = lv_name
AND tdid = c_tdid
AND tdspras = sy-langu.
IF sy-subrc = 0.
ENDIF.
CLEAR zclustr.
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
21 de 48
Al pasar 2 veces por este include importamos a otra variable, si est vaca es la 1vez sin es
la 2, en la badi recuperamos los valores.
IMPORT zstxh TO zstxh_m FROM MEMORY ID 'ZSTXH'.
IF zstxh_m-tdobject IS INITIAL.
EXPORT zstxh TO MEMORY ID 'ZSTXH'.
EXPORT zclustr TO MEMORY ID 'ZCLUSTR'.
ENDIF.
ENDIF.
ENDIF.
4.5.2
BADI ZIPMR_BADI_ORDEN
La comprobacin de los datos de la orden, se realizar a travs de una Badi que se llamar
ZIPMR_BADI_ORDEN, sta se debe crear dependiendo de la definicin
WORKORDER_UPDATE. En el mtodo BEFORE_UPDATE se realizarn las verificaciones
descritas anteriormente bajo requisitos.
Leo la tabla que lleva todos los datos de la cabecera de nuestra orden:
READ TABLE it_header INDEX 1 INTO wa_header .
Leemos las tablas que nos llevan todos los datos de la orden (STATUS, OPERACIONES,
DATOS GENERALES)
READ TABLE it_header_old
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
22 de 48
Estudio cualquier cambio que haya habido en la orden solo para modificacin y no para
creaciones
Cuando se realiza algn cambio en la orden (cualquier campo), la orden
es susceptible de ser enviada.
IF wa_header-vbkz = c_u.
Para el texto largo leo el texto con la funcion adecuada y determino los cambios.
CONCATENATE sy-mandt wa_header-aufnr INTO lv_name.
CALL FUNCTION 'READ_TEXT'
EXPORTING
client
id
language
name
object
IMPORTING
header
TABLES
lines
EXCEPTIONS
id
language
name
not_found
object
reference_check
wrong_access_to_archive
OTHERS
=
=
=
=
=
sy-mandt
c_id
c_spras
lv_name
c_object
= wa_head
= it_lines
=
=
=
=
=
=
=
=
1
2
3
4
5
6
7
8.
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
23 de 48
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
24 de 48
lv_envio = c_x.
ENDIF.
LOOP AT it_sequence INTO wa_sequence
WHERE vbkz = c_u OR vbkz = c_i OR vbkz = c_d.
ENDLOOP.
IF wa_sequence IS NOT INITIAL.
lv_envio = c_x.
ENDIF.
LOOP AT it_operation INTO wa_operation
WHERE vbkz = c_u OR vbkz = c_i OR vbkz = c_d.
ENDLOOP.
IF wa_operation IS NOT INITIAL.
lv_envio = c_x.
ENDIF.
LOOP AT it_component INTO wa_component
WHERE xchar = c_x.
ENDLOOP.
IF wa_component IS NOT INITIAL.
lv_envio = c_x.
ENDIF.
LOOP AT it_relationship INTO wa_relationship
WHERE vbkz = c_u OR vbkz = c_i OR vbkz = c_d.
ENDLOOP.
IF wa_relationship IS NOT INITIAL.
lv_envio = c_x.
ENDIF.
LOOP AT it_pstext INTO wa_pstext
WHERE vbkz = c_u OR vbkz = c_i OR vbkz = c_d.
ENDLOOP.
IF wa_pstext IS NOT INITIAL.
lv_envio = c_x.
ENDIF.
LOOP AT it_milestone INTO wa_milestone
WHERE vbkz_mlst = c_u OR vbkz_mlst = c_i
OR vbkz_mlst = c_d OR vbkz_mltx = c_u OR vbkz_mltx = c_i
OR vbkz_mltx = c_d.
ENDLOOP.
IF wa_milestone IS NOT INITIAL.
lv_envio = c_x.
ENDIF.
Para los estatus se recorren las tablas antigua y nueva eliminando los estatus correspondiente
a objetos que comienzan por IE (correspondientes a movimientos de usuario sin
modificaciones) y los que tienen el campo CHGNR de esa tabla a cero, y se comparan. Si son
iguales no se enva fichero, si son diferentes se enva fichero.
CLEAR wa_status.
CLEAR it_status2.
REFRESH it_status2.
LOOP AT it_status INTO wa_status.
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
25 de 48
IF wa_status-objnr(2) NE 'IE'.
IF wa_status-chgnr NE 0.
APPEND wa_status TO it_status2 .
ENDIF.
ENDIF.
CLEAR wa_status.
ENDLOOP.
CLEAR it_status3.
REFRESH it_status3.
CLEAR wa_status.
LOOP AT it_status_old INTO wa_status.
IF wa_status_old-objnr(2) NE 'IE'.
IF wa_status-chgnr NE 0.
APPEND wa_status TO it_status3 .
ENDIF.
ENDIF.
CLEAR wa_status.
ENDLOOP.
IF it_status2[] NE it_status3[].
lv_envio = c_x.
ENDIF.
IF it_opr_relations[] NE it_opr_relations_old[].
lv_envio = c_x.
ENDIF.
LOOP AT it_doclink
INTO wa_doclink
WHERE vbkz = c_u OR vbkz = c_i OR vbkz = c_d.
ENDLOOP.
IF wa_doclink IS NOT INITIAL.
lv_envio = c_x.
ENDIF.
IF it_prt_allocation[] NE it_prt_allocation_old[].
lv_envio = c_x.
ENDIF.
IF it_pmpartner[] NE it_pmpartner_old[].
lv_envio = c_x.
ENDIF.
LOOP AT it_piinstruction
INTO wa_piinstruction
WHERE vbkz = c_u OR vbkz = c_i OR vbkz = c_d.
ENDLOOP.
IF wa_piinstruction IS NOT INITIAL.
lv_envio = c_x.
ENDIF.
Los status se puede modificar en varias ocasiones, los manipulamos segun la actualizacion
que haya hecho el usuario.
Si la orden tena previamente el estatus ANULADO pero est inactivo, la orden es susceptible
de ser enviada con los dos ficheros correspondientes a los dos procesos.
IF wa_status_anul_old-stat = c_anul
AND wa_status_anul-inact NE ' '.
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
26 de 48
CLEAR wa_status_anul_old-stat.
ENDIF.
IF wa_status_anul_old-stat = c_anul
AND wa_status_anul-inact = ' '.
CLEAR wa_header-revnr.
CLEAR wa_header_old-revnr.
ENDIF.
Si ya existia el status FIN DE TRABAJOS, se enviara solo el fichero del proceso 4.1 (status)
IF wa_status_fin_old-stat = status_fin.
lv_fichero = c_s.
ENDIF.
Una orden a la que se le asigna estatus NEJE se envia por ltima vez.
IF wa_status_neje_old-stat = c_neje.
CLEAR wa_header-revnr.
CLEAR wa_header_old-revnr.
ENDIF.
Si a la orden se le asigna el status CERR se enva el fichero del proceso 4.1 (STATUS) por
ltima vez.
IF wa_status_cerr_old-stat <> wa_status_cerr-stat
AND wa_status_cerr-stat = c_cerr
AND wa_status_cerr-inact EQ ' '.
lv_fichero = c_s.
ENDIF.
Si se anula este status CERR se puede volver a enviar el fichero del proceso 4.2(TRABAJOS)
IF wa_status_cerr_old-stat = c_cerr
AND wa_status_cerr-inact NE ' '.
lv_fichero = c_s.
ENDIF.
wa_header_old-revnr = wa_header-revnr
AND wa_header_old-revnr <> ' '.
lv_case = '1'.
ENDIF.
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
27 de 48
Para cada orden que se enva, se realiza la llamada al funcin Z_SINIPM_FILE que es la
que genera los ficheros.
Esta llamada se hace en modo de actualizacin para que se ejecute no antes del momento en el
que haya habido un COMMIT:
CALL FUNCTION 'Z_SINIPM_FILE' IN UPDATE TASK
EXPORTING
i_newobj_i
= i_newobj
lv_fichero_i
= lv_fichero
TABLES
it_header_t
= it_header
it_operation_t = it_operation
it_status_t
= it_status.
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
4.5.3
Pgina
28 de 48
4.5.4
MDULO DE FUNCIONES Z_SINIPM_FILE
No es un mdulo de funcin normal.
Es un mdulo de actualizacin para que se ejecute cuando se realice una actualizacin, en
nuestro caso sera la generacin de registro/s en la Base de Datos
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
29 de 48
En el cdigo fuente, tenemos el paso de variables y tablas necesarias desde la funcin para
poder pintar los ficheros y nuestra llamada a la rutina que realiza la transferencia de ficheros al
servidor
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
i_newobj
=
lv_fichero
it_header[]
it_operation[]
it_status[]
Pgina
30 de 48
i_newobj_i.
= lv_fichero_i.
= it_header_t[].
= it_operation_t[].
= it_status_t[].
Esta rutina se realiza solamente cuando haya habido un COMMIT y se comenta posteriormente.
4.5.5
TABLA ZIT_INTR_PATH
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
Pgina
31 de 48
>
PMN-DED-DD-001 / 12.0
Pgina
32 de 48
OPCIONES TECNICAS:
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
4.5.6
Pgina
33 de 48
TRANSACCIN ZIT_INTR_PATH
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
34 de 48
FOTR_SUBMIT
En esta rutina se generarn los ficheros requeridos en el servidor o si, por fallos, no se generan
los ficheros, se enviar un email informativo a una lista de distribucin parametrizada
previamente en la tabla zim_intr_path
Leemos la cabecera de la orden para recoger todos los datos asociados.
READ TABLE it_header INDEX 1 INTO wa_header.
Accedemos la la tabla zim_intr_path para recoger los datos asociados a nuestro centro
2101.
IF sy-subrc = 0.
SELECT * FROM zit_intr_path INTO TABLE it_zit_intr_path
WHERE werks = wa_header-iwerk.
IF sy-subrc = 0.
De ah montamos nuestras rutas, tanto para el fichero 4.1 como para el 4.2
IF lv_fichero IS INITIAL.
CLEAR gv_ruta.
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
Pgina
35 de 48
CLEAR gv_direccion_s.
READ TABLE it_zit_intr_path WITH KEY zztpf = '01'.
IF sy-subrc = 0.
gv_ruta = it_zit_intr_path-filename.
gv_direccion_s = it_zit_intr_path-l_dlinam.
CONCATENATE gv_ruta nombre_status wa_header-aufnr
'_' sy-datum sy-uzeit c_txt INTO vg_stord_s.
ENDIF.
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
36 de 48
PERFORM fotr_fichero_status
En el se recogen todos los datos necesarios, expuestos anteriormente para su transferencia las
fichero correspondiente al proceso 4.1 (STATUS)
Para la orden, asignamos el cdigo de status correspondiente
CLEAR status.
PERFORM fotr_xx_asignar_status_0 USING status.
IF status IS INITIAL.
PERFORM fotr_xx_asignar_status_8 USING status.
IF status IS INITIAL.
PERFORM fotr_xx_asignar_status_7 USING status.
IF status IS INITIAL.
PERFORM fotr_xx_asignar_status_5_n USING status.
IF status IS INITIAL.
PERFORM fotr_xx_asignar_status_6_n USING status.
IF status IS INITIAL.
PERFORM fotr_xx_asignar_status_4 USING status.
IF status IS INITIAL.
PERFORM fotr_xx_asignar_status_3 USING status.
IF status IS INITIAL.
PERFORM fotr_xx_asignar_status_2 USING status.
IF status IS INITIAL.
PERFORM fotr_xx_asignar_status_1 USING status.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
CHECK NOT status IS INITIAL.
WRITE wa_header-aufnr TO t_stord-aufnr NO-ZERO.
MOVE status TO t_stord-status.
t_stord_aux-aufnr = t_stord-aufnr.
t_stord_aux-status = t_stord-status.
t_stord_aux-aufpl = wa_header-aufpl.
APPEND t_stord_aux.
CLEAR t_stord_aux.
APPEND t_stord.
CLEAR t_stord.
IF NOT t_stord[] IS INITIAL.
PERFORM ftti_lp_agregar_nuevos_campos.
PERFORM ffic_ef_fichero_stord.
ENDIF.
PERFORM fotr_fichero_trabajos
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
37 de 48
En el se recogen todos los datos necesarios, expuestos anteriormente para su transferencia las
fichero correspondiente al proceso 4.2 (TRABAJOS)
PERFORM ftti_cg_ordenes_recarga.
PERFORM fabd_co_autorizador_rrp.
PERFORM ftti_cg_reg_salida.
IF NOT reg01[] IS INITIAL.
PERFORM fotr_xx_generar_fichero.
ENDIF.
PERFORM fotr_envio_email
En el se genera el email que se enviar a la lista de distribucin.
Se preparan los datos para el envo del email
PERFORM ftti_prepara_datos_mail USING gv_direccion
vg_stord.
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
38 de 48
PERFORM ftti_prepara_datos_mail
*------------------------------* Lista de distribucion
PERFORM fotr_list_distrib TABLES it_adr6
USING gv_direccion.
*------------------------------* Contenido del email
CLEAR lv_line.
CONCATENATE text-001 wa_header-aufnr text-002 vg_stord
INTO lv_line
SEPARATED BY space.
it_object_content-line = lv_line.
APPEND it_object_content.
DESCRIBE TABLE it_object_content LINES gv_lines.
wa_document_data-doc_size
= gv_lines * 255.
PERFORM fotr_list_distrib
En l se buscan los emails de la lista de distribucin
Obtengo el nombre de la lista de distribucion.
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
39 de 48
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
40 de 48
ENDIF.
ENDIF.
ENDIF.
4.6.2
Programa: ZIPMR033
Se cargan los registros del fichero del servidor de aplicacin en una tabla interna con la
estructura:
Campo
Elem. Datos
Tipo
Long
Descripcin
AUFNR
AUFNR
CHAR
12
Orden
ZZDISPONIB
ZDISPONIBILIDAD
CHAR
10
Disponibilidad
Mantenimiento
Observaciones
de
Segn una grabacin que realiza el proceso de modificacin de ordenes ( transaccin IW32 )
se genera el juego de datos necesario. En el log generado se especifican el nmero de registros
tratados correctamente y el nmero de registros en los que la modificacin ha fallado.
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
41 de 48
anuladas (status NEJE o ANUL) y/o a las rdenes cerradas tcnicamente (status CERR o
CTEC) y con marca de borrado. Ahora pasamos a tener 2 status, dividiendo el 2 el existente:
- Status 8: rdenes anuladas (status ANUL) y rdenes cerradas tcnicamente (CTEC)
y con marca de borrado
- Status 9: rdenes con cierre comercial (status CERR) y con marca de borrado.
Esto se consigue aadiendo 1 form (fotr_xx_asignar_status_8) y modificando otro
(fotr_xx_asignar_status_9).
- Nuevo FORM:
p_status.
CLEAR jest.
CLEAR: f_cerr, f_mpbo.
SELECT * FROM jest WHERE objnr = viaufks-objnr AND
inact = space.
IF jest-stat = status_cerr.
f_cerr = 'X'.
ENDIF.
IF jest-stat = status_mpbo.
f_mpbo = 'X'.
ENDIF.
ENDSELECT.
IF f_cerr = 'X' AND f_mpbo = 'X'.
MOVE '9' TO p_status.
endif.
ENDFORM. Modificacin en form Sustitumos
stat = status_cerr. por IF jest-stat = status_ctec.
4.8.1
Modificacin en Proceso 1. Programa ZIPMR010.
En este programa necesitamos introducir los dos campos. Para ello aumentamos las tablas
reg0 e it_reg0 con los siguientes campos.
permdes(2),
"Permiso DES
permtrs(2),
"Permiso TRS
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
permicp(2),
Pgina
42 de 48
"Permiso ICP
Para que estos campos vayan informados, se crean dos forms que se llamarn en el programa,
y que sern:
FORM fabd_co_permiso_des USING p_t_ordenes_objnr
p_reg0_permdes.
DATA l_counter TYPE I_COUNT.
SELECT SINGLE * FROM ihsg WHERE objnr = p_t_ordenes_objnr
AND pmsog = 'DES' AND lvorm = ' ' AND KZLTX = ' '.
IF sy-subrc = 0.
l_counter = ihsg-counter.
SELECT SINGLE * FROM IHGNS WHERE objnr = p_t_ordenes_objnr
AND COUNTER = l_counter AND GENIAKT = ' ' AND ZZGENNAP = ' '.
IF sy-subrc = 0.
p_reg0_permdes = 'SI'.
SELECT SINGLE * FROM IHGNS WHERE objnr = p_t_ordenes_objnr
AND COUNTER = l_counter AND GENIAKT = ' ' AND ZZGENNAP = 'X'.
IF sy-subrc = 0.
p_reg0_permdes = 'NA'.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
Con esto conseguimos informar el campo si Permiso DES est asignado a la orden y
siempre que no est marcado como No aplica.
Tras este, se incluye tambin el form
FORM fabd_co_permiso_trs USING p_t_ordenes_objnr
p_reg0_permtrs.
SELECT SINGLE * FROM ihsg WHERE objnr = p_t_ordenes_objnr
AND pmsog = 'TRS' AND lvorm = ' '.
IF sy-subrc = 0.
p_reg0_permtrs = 'SI'.
ENDIF.
ENDFORM.
Para rellenar el Permiso TRS (ya usado en el proceso 4.2.
Tras este, se incluye tambin el form
FORM fabd_co_permiso_icp USING p_t_ordenes_objnr
p_reg0_permicp.
SELECT SINGLE * FROM ihsg WHERE objnr = p_t_ordenes_objnr
AND pmsog = 'ICP' AND lvorm = ' '.
IF sy-subrc = 0.
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
43 de 48
p_reg0_permtrs = 'SI'.
ENDIF.
ENDFORM.
Para rellenar el Permiso ICP (ya usado en el proceso 4.2.
Estos tres forms se llamarn cuando se estn rellenando los otros permisos, y antes de
realizar el append a la tabla reg0:
PERFORM fabd_co_permiso_ics USING t_ordenes-objnr reg0-permics.
*FIN MODIF E011878 21/08/2009 S-2009-10832
*INI MODIF E011878 22/09/2009 S-2009PERFORM fabd_co_permiso_ld USING t_ordenes-objnr reg0-permld.
*FIN MODIF E011878 22/09/2009 S-2009*=> E017964. 21/02/2013. Aadimos control sobre permiso des.
PERFORM fabd_co_permiso_des USING t_ordenes-objnr reg0-permdes.
*<= E017964. 21/02/2013. Aadimos control sobre permiso des.
*=> E017964. 21/02/2013. Aadimos control sobre permiso trs.
PERFORM fabd_co_permiso_trs USING t_ordenes-objnr reg0-permtrs.
*<= E017964. 21/02/2013. Aadimos control sobre permiso trs.
PERFORM fabd_co_permiso_icp USING t_ordenes-objnr reg0-permtrs.
APPEND reg0.
4.8.2
Modificacin en Proceso 4.2. Programa ZIPMR017.
En este programa necesitamos introducir los dos campos. Para ello aumentamos las
tablas reg0 e str_reg0 con los siguientes campos.
permdes(2),
"Permiso DES
permtrs(2),
"Permiso TRS
permicp(2),
"Permiso ICP
Para que estos campos vayan informados, se crean dos forms que se llamarn en el
programa, y que sern:
FORM fabd_co_permiso_des USING
p_reg0_permdes.
p_t_ordenes_objnr
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
44 de 48
IF sy-subrc = 0.
p_reg0_permdes = 'SI'.
SELECT SINGLE * FROM IHGNS WHERE objnr = p_t_ordenes_objnr
AND COUNTER = l_counter AND GENIAKT = ' ' AND ZZGENNAP = 'X'.
IF sy-subrc = 0.
p_reg0_permdes = 'NA'.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
FORM fabd_co_permiso_icp USING p_t_ordenes_objnr
p_reg0_permicp.
SELECT SINGLE * FROM ihsg WHERE objnr = p_t_ordenes_objnr
AND pmsog = 'TRS' AND lvorm = ' '.
IF sy-subrc = 0.
p_reg0_permtrs = 'SI'.
ENDIF.
ENDFORM.
Con esto conseguimos informar el campo si Permiso DES est asignado a la orden y
siempre que no est marcado como No aplica.
Se llama con el resto de las cargas de permisos y antes del append al reg0.
*FIN MODIF E011878 21/08/2009 S-2009-10832
*INI MODIF E011878 22/09/2009 S-2009PERFORM fabd_co_permiso_ld USING t_ordenes-objnr reg0-permld.
*FIN MODIF E011878 22/09/2009 S-2009*=> E017964. 21/02/2013. Aadimos control sobre permiso des.
PERFORM fabd_co_permiso_des USING t_ordenes-objnr reg0-permdes.
*<= E017964. 21/02/2013. Aadimos control sobre permiso des.
PERFORM fabd_co_permiso_trs USING t_ordenes-objnr reg0-permtrs.
PERFORM fabd_co_permiso_icp USING t_ordenes-objnr reg0-permtrs.
APPEND reg0.
Se aade como campo de seleccin mltiple, la Fecha de inicio extrema (viaufks-gstrp).
El nuevo campo se aade en la seleccin de la tabla viaufks.
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
45 de 48
5. PLAN DE PRUEBAS
PMN-DPP-DD-001 v8.0.docx
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
46 de 48
6. PRUEBAS UNITARIAS
PMN-PRU-DD-001v7.0.docx
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
47 de 48
7. GLOSARIO DE TRMINOS
N/A
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0
Pgina
48 de 48
8. APNDICE A..Z
N/A
IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc
>
PMN-DED-DD-001 / 12.0