Anda di halaman 1dari 48

GESMAN /Interfase Recarga CNCPMN-DED-DD-001 / 12.

DISEO TCNICO PARA SAP

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
2 de 48

Histrico de versiones:
Versin

Fecha

Resumen de los cambios producidos

1.0

22/11/2007

Versin inicial del documento

4.0

Modificacin al proceso 4.2:


Aadir los campos Revisin y Autorizado por del
permiso RRP

5.0

19/08/2009

Modificacin procesos 1 y 4.2 aadiendo campos Permiso


ICS, Cdigo estado descargo y Status de la etiqueta de
seguridad

5.1

08/10/2009

Modificacin del proceso 4.1 Status de de rdenes


Se tienen que contemplar dos estatus nuevos el NOTI (I0009)
y el NOTP (I0010).

6.0

05/03/2010

Modificar Proceso 4.1 y 4.2


Modificacin de la exit de grabacin de rdenes, para que
cada vez que se grabe una orden asignada a una revisin y
cumpla determinados criterios, se enven los datos de dicha
orden a un fichero y en caso de error en el envo se informe
mediante un mail del nmero de orden que no ha podido
enviarse. Los procesos 4.1 y 4.2, seguirn ejecutndose de
forma manual cada vez que sea necesario.

7.0

25/03/2010

Error en el registro tipo 0 de los datos de trabajo de


recarga,

8.0

26/04/2010

Modificacin del programa ZIPMR010 en el que se incluye


la llamada al proceso 3.5:
Proceso 3.5:
Creacin de un programa que a partir de un fichero en el
servidor de aplicacin que asigne la disponibilidad de
mantenimeinto en una orden de trabajo.

9.0

19/10/2012

10.0

21/02/2013

Modificacin del programa ZIPMR016: al ejecutar el


programa se lanza un proceso que almacena en elservidor un
archivo que, entre otros datos, lleva el status. Dicho status se
modificar: el anterior status 8 pasa a tener 2 situaciones
diferentes, que se subdividirn en status 8 y status 9.
S-2013-01239-1 MODIFICACION DEL PERMISO DES
DE LAS ORDENES DE TRABAJO DE RECARGA EN
CNC

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Versin

Fecha

Pgina
3 de 48

Resumen de los cambios producidos


Se necesita se incluya el estado (blanco, inactivado o
concedido) del permiso DES de las Ordenes de Trabajo de
Recarga, el lugar apropiado seria en el registro tipo 0 y a
continuacin del permiso LD (96, X2).

11.0

22.01.2015

12.0

<Mes / Ao
aprobacin>

13.0

<Mes / Ao
aprobacin>

S-2014-05798-1 - CNC - CONTENCION PRIMARIA-ICP


Incluir en el fichero de salida de los procesos 1 (Simulacin)
y 4.2 (Trabajos de recarga), en el registro tipo 0, dos dgitos
para informar el estado del permiso ICP.
S-2015-01120-1 - Permisos ICP, ICS
En los permisos ICS e ICP solo se indicar SI en el fichero
de Simulacin y trabajos de recarga cuando estn
concedidos, no como ahora por estar asignados.
S-2016-04737-1 MODIFICACION DEL PERMISO DES
DE LAS ORDENES DE TRABAJO DE RECARGA EN
CNC
Se necesita se necesita incluir en la pantalla de seleccin el
campo Fecha inicio extrema.

Control de la Preparacin, Revisin y Aprobacin:


Responsabilidad

Nombre del Responsable

Cargo / Rol

Preparacin

Juan Gabriel Snchez

Programador

11.02.2015

Revisin

Aurora Gila Snchez-Barba

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
4 de 48

NDICE
Captulo/Seccin

Pgina

1.

IDENTIFICACIN.......................................................................................................................................5

2.

DOCUMENTOS ASOCIADOS....................................................................................................................5

3.

DEFINICIN DEL DISEO TCNICO....................................................................................................6

4.

TRATAMIENTO...........................................................................................................................................7

4.1 PROGRAMA ZIPMR017 (PROCESO 4.2: TRABAJOS DE RECARGA)..................................................................7


4.1.1
Desarrollo..............................................................................................................................................7
4.2 PROGRAMA ZIPMR010 (PROCESO 1: SIMULACIN).......................................................................................9
4.2.1
Desarrollo..............................................................................................................................................9
4.3 PROGRAMA ZIPMR016 (PROCESO 4.1: STATUS DE RDENES)......................................................................11
4.4 BADI ZIPMR_BADI_ORDEN.....................................................................................................................12
4.4.1
Proceso 4.1 Status de rdenes............................................................................................................12
4.4.2
Proceso 4.2 Trabajos de recarga.........................................................................................................13
4.4.3
PROCESO Exit Grabacin rdenes...................................................................................................17
4.5 DESARROLLO.............................................................................................................................................19
4.5.1
ZXBS1U01...........................................................................................................................................19
4.5.2
BADI ZIPMR_BADI_ORDEN.............................................................................................................20
4.5.3
GRUPO DE FUNCIONES ZSIN.........................................................................................................26
4.5.4
MDULO DE FUNCIONES Z_SINIPM_FILE..................................................................................26
4.5.5
TABLA ZIT_INTR_PATH.....................................................................................................................28
4.5.6
TRANSACCIN ZIT_INTR_PATH......................................................................................................30
4.6 MODIFICACIN DISPONIBILIDAD DE MANTENIMIENTO ORDENES...................................................................37
4.6.1
Programa: ZIPMR010.........................................................................................................................37
4.6.2
Programa: ZIPMR033.........................................................................................................................37
4.7 MODIFICACIN EN STATUS A GRABAR EN FICHERO DE PROGRAMA ZIPMR016..............................................37
4.8 MODIFICACIN PERMISOS DES, TRS E ICP..................................................................................................38
4.8.1
Modificacin en Proceso 1. Programa ZIPMR010.............................................................................38
4.8.2
Modificacin en Proceso 4.2. Programa ZIPMR017..........................................................................40
5.

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
7 de 48

3. DEFINICIN DEL DISEO TCNICO


Cdigo Funcionalidad

Elemento
tcnico

Documento Diseo Documento de Diseo


tcnico detallado
resultado de pruebas

ZIPMR017

Programa

Los especificados a nivel


de peticin.

Los especificados
peticin.

nivel

de

ZIPMR010

Programa

Los especificados a nivel


de peticin.

Los especificados
peticin.

nivel

de

ZIPMR016

Programa

Los especificados a nivel


de peticin.

Los especificados
peticin.

nivel

de

ZIPMR_BADI_ORDEN

Badi

Los especificados a nivel


de peticin.

Los especificados
peticin.

nivel

de

ZIT_INTR_PATH

Tabla

Los especificados a nivel


de peticin.

Los especificados
peticin.

nivel

de

Z_SINIPM_FILE

Modulo de
Funciones

Los especificados a nivel


de peticin.

Los especificados
peticin.

nivel

de

ZSIN

Grupo de
Funciones

Los especificados a nivel


de peticin.

Los especificados
peticin.

nivel

de

ZIM_INTR_PATH

Transaccin

Los especificados a nivel


de peticin.

Los especificados
peticin.

nivel

de

ZXBS1U01

Include

Los especificados a nivel


de peticin.

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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:
-

Eliminar el campo HREAL del tipo diafvc-arbei a la tabla T_OPERACIONES_O.

Eliminar el campo HREAL del tipo c(8) a la tabla REG02.

Eliminar el campo HREAL del tipo c(8) a la tabla str_reg02.

Aadir los campos revnr (tipo viaufks-revnr) y genvname (tipo ihgns-genvname) a la


tabla t_ordenes. Aadir tambin a esa tabla el campo objnr (aufk-objnr) para facilitar
las consultas.

Aadir los campos revnr (c(8)) y genvname (c(12)) a la tabla reg0

Crear una nueva tabla interna llamada it_permiso_rrp que almacenar el nombre del
autorizador del permiso RRP para cada orden.

Aadir el campo permics(c2)) a la tabla reg0 y a la estructura str_reg0.

Aadir el campo desc (c(3)) a la tabla reg1 y a la estructura str_reg1.

Aadir el campo txt04 (c(4)) a la tabla reg3 y a la estructura str_reg3.

Aadir el campo objnr (tipo wcait-objnr) a la tabla interna t_lds_operaciones para


poder obtener posteriormente el valor de txt04 a recuperar.

Dentro de la rutina FTTI_CG_ORDENES_HISTORICAS:


Descomentar la lnea de cdigo 698 en donde se asigna a la variable V_SALIDA el valor del
campo T_OPERACIONES_O-ARBEI.
Dentro de la rutina FTTI_CG_ORDENES_RECARGA.

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
9 de 48

Tras procesar el acceso a la tabla AFRU, en el momento en que se pregunta si la variable


V_SALIDA es inicial.
Si la condicin es verdadera, al finalizar el procesamiento despus de sumar el valor de
TOT_ARBEI a la variable V_SALIDA se deber mover el valor de V_SALIDA a
T_OPERACIONES_O-ARBEI.
Si la condicin fue falsa (es decir que V_SALIDA no era inicial), se comentan las lneas 1145
a la 1153.
Se aade a la bsqueda de las ordenes (Tabla viaufks) el campo Fecha de inicio extrema
(gstrp).
Dentro de la rutina FTTI_CG_ORDENES:
En el momento en que recorre la tabla T_OPERACIONES_O para cargar la tabla REG02,
comentar la lnea de cdigo para mover el valor de T_OPERACIONES_O-HREAL a REG02HREAL NO-SIGN.
Traspasar a la tabla reg0 el campo revnr de t_ordenes y el campo genvname de la tabla
it_permiso_rrp, accediendo a esta ltima mediante el campo t_ordenes-objnr.
Aadir una llamada a la nueva subrutina FABD_CO_PERMISO_ICS.
Aadir una llamada a la nueva subrutina ESTADO_DEL_DESCARGO2.
Subrutina FABD_CO_AUTORIZADOR_RRP
Esta subrutina recupera el nombre del usuario que autoriza el permiso RRP para cada orden,
en caso de haberlo. Para ello se accede a las tablas IHSG e IHGNS.
Dentro del evento START-OF-SELECTION
Aadir una llamada a la nueva subrutina FABD_CO_AUTORIZADOR_RRP justo antes de la
invocacin de FTTI_CG_REG_SALIDA.
Dentro de la rutina FABD_CO_LD_ORDEN.
Cargar en el campo objnr de la tabla interna t_lds_orden el valor recuperado para ese mismo
campo en el select a la tabla wcait.
Dentro de la rutina FTTI_CG_LDS.
Aadir una llamada a la nueva subrutina FABD_CO_CARGAR_STAT_INDIV antes de
realizar el append a la tabla reg03.
Subrutina FABD_CO_CARGAR_STAT_INDIV.
Esta subrutina recupera el valor del nuevo campo aadido txt04, para ello, se accede a la tabla
JEST con el valor del campo objnr = t_lsd_orden-objnr recuperndose el campo stat no
inactivo siempre que este sea distinto de I0417.

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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:

OBJNR = <nmero de objeto de la orden>


COUNTER = IHSG-COUNTER
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:

OBJNR = <nmero de objeto de la orden>


COUNTER = IHSG-COUNTER
GENIAKT =
ZZGENNAP =

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 PROGRAMA ZIPMR010 (PROCESO 1: SIMULACIN)


4.2.1
Desarrollo
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).

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
11 de 48

Para realizar esta modificacin se deber proceder de la siguiente forma:


-

Aadir al registro tipo 0 el campo Permiso ICS (permics).

Aadir el campo desc (c(3)) a la tabla reg1 y a la estructura str_reg1.

Aadir el campo txt04 (c(4)) a la tabla reg3 y a la estructura str_reg3.

Dentro de la rutina FABD_CO_LD_ORDEN.


Cargar en el campo objnr de la tabla interna t_lds_orden el valor recuperado para ese mismo
campo en el select a la tabla wcait.
Dentro de la rutina FTTI_CG_LDS.
Aadir una llamada a la nueva subrutina FABD_CO_CARGAR_STAT_INDIV antes de
realizar el append a la tabla reg03, dentro del loop de t_ordenes.
Subrutina FABD_CO_CARGAR_STAT_INDIV.
Esta subrutina recupera el valor del nuevo campo aadido txt04, para ello, se accede a la tabla
JEST con el valor del campo objnr = t_lsd_orden-objnr recuperndose el campo stat no
inactivo siempre que este sea distinto de I0417.
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.
Dentro de la rutina FTTI_CG_ORDENES:
Aadir una llamada a la nueva subrutina FABD_CO_PERMISO_ICS.
Aadir una llamada a la nueva subrutina ESTADO_DEL_DESCARGO2.
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:

OBJNR = <nmero de objeto de la orden>


COUNTER = IHSG-COUNTER

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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:

OBJNR = <nmero de objeto de la orden>


COUNTER = IHSG-COUNTER
GENIAKT =
ZZGENNAP =

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.

Y leemos los registros que posteriormente transferiremo:


READ TABLE it_reg0 WITH KEY warpl = reg01-warpl
aufnr = reg01-aufnr
wppos = reg01-wppos.
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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
13 de 48

MOVE-CORRESPONDING it_reg0 TO str_reg0.


TRANSFER str_reg0 TO f_salida.
ENDIF.

4.3 PROGRAMA ZIPMR016 (PROCESO 4.1: STATUS DE RDENES)


Este proceso se ejecuta a peticin del usuario, tantas veces como sea necesario.
Este proceso se ejecuta de forma repetitiva desde un job (ZIJRSTAF). Durante el proceso de
Recarga se planifica el job, su periodicidad es cada dos horas.
Se procesarn todas las rdenes que cumplan los criterios de seleccin.
Para cada una de las rdenes seleccionadas, se asigna un cdigo de estatus
siguiendo el proceso indicado a continuacin, la asignacin se har en el orden
indicado y cuando una orden cumpla una de la condiciones se excluirn las
siguientes, es decir una orden que tenga el permiso FDT concedido y el estatus
EJEC, tendr un cdigo de status 6, ya que la primera condicin cumplida es la d)
y esta excluye las condiciones desde la e) hasta la i):
a).- Si la orden tiene estatus ABIE o APLZ
Status = 0
b).- Si la orden tiene estatus NEJE o ANUL o
tiene estatus CERR o CTEC y marca para borrado.
Status = 8
c).- Si la orden tiene estatus CERR o CTEC
Status = 7
d).- Si la orden tiene el permiso FDT concedido
Status = 6
d) Si la orden tiene status NOT* (NOTI O NOTP)
Status =5
e).- Si la orden tiene el permiso JT concedido y las etiquetas de seguridad
retiradas (si una orden tiene ms de un LD signada, todas ellas deben
estar normalizadas)
Status =
6
f).- Si la orden tiene estatus FTRA
Status = 4
g).- Si la orden tiene estatus EJEC
Status = 3
h).- Si la orden tiene el permiso PEJ concedido
Status = 2
i.)- Si la orden tiene estatus LIBE
Status = 1

4.4 BADI ZIPMR_BADI_ORDEN


4.4.1
Proceso 4.1 Status de rdenes
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.
Se le asigna un cdigo de estatus siguiendo el proceso indicado a continuacin,
la asignacin se har en el orden indicado y cuando una orden cumpla una de la
condiciones se excluirn las siguientes, es decir una orden que tenga el permiso

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
14 de 48

FDT concedido y el estatus EJEC, tendr un cdigo de status 6, ya que la primera


condicin cumplida es la d) y esta excluye las condiciones desde la e) hasta la i):
a).- Si la orden tiene estatus ABIE o APLZ
Status = 0
b).- Si la orden tiene estatus NEJE o ANUL o
tiene estatus CERR o CTEC y marca para borrado.
Status = 8
c).- Si la orden tiene estatus CERR o CTEC
Status = 7
d).- Si la orden tiene el permiso FDT concedido
Status = 6
d) Si la orden tiene status NOT* (NOTI o NOTP)
Status =5
e).- Si la orden tiene el permiso JT concedido y las etiquetas de seguridad
retiradas (si una orden tiene ms de un LD signada, todas ellas deben
estar normalizadas)
Status =
56
f).- Si la orden tiene estatus FTRA
Status = 4
g).- Si la orden tiene estatus EJEC
Status = 3
h).- Si la orden tiene el permiso PEJ concedido
Status = 2
i.)- Si la orden tiene estatus LIBE
Status = 1

Genera un fichero de salida con la siguiente estructura (recarga_status_ordenes.txt):


Campo

Formato

Informacin a transferir

Nmero de orden

X(8)

Nmero de la orden de mantenimiento

Estatus de la orden

X(1)

Valores segn estatus

N de horas-total
(planificadas)

X(8)

N de horas-total
(reales)

X(8)

Suma de horas planificadas de la orden de mto.


Suma de horas notificadas de la orden de mto.

Valores segn estatus:


Estatus

Requisitos

Ordenes abiertas o aplazadas (estatus ABIE y APLZ)

Ordenes en tratamiento (estatus LIBE)

Ordenes en tratamiento con el permiso PEJ concedido

Ordenes en ejecucin (estatus EJEC)

Ordenes en tratamiento con el status FTRA

Ordenes en tratamiento notificadas (estatus NOTI o NOTP)

Ordenes en tratamiento con el permiso JT concedido y etiquetas de

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
15 de 48

seguridad retiradas para todas las LDs asignadas


7
8

Ordenes cerradas (status CERR o CTEC) sin marca de borrado


Ordenes no ejecutadas o anuladas (status NEJE o ANUL) y/o
Ordenes cerradas (status CERR o CTEC) y con marca de borrado

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

Formato Informacin a transferir

Registro tipo 0
Plan de mantenimiento

X(10)

Cdigo del plan que ha emitido la orden, si la orden ha


sido creada desde un plan.

Nmero de orden

X(8)

Nmero de la orden de mto que se est tratando

Tipo de registro

X(1)

Tipo de registro. Valor 0

Texto breve

X(40)

Texto breve de cabecera de la orden de mto.

Grupo de planificacin

X(3)

Grupo de planificacin de mantenimiento de la cabecera de


la orden de mto.

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
16 de 48

Puesto de trabajo
responsable

X(8)

Puesto de trabajo responsable de la cabecera de la orden de


mto.

Revisin

(X8)

Revisin

Autorizado por

(X12)

Autorizado por del permiso especial RRP.

Permiso ICS

(X2)

Campo que reflejar si la orden tiene el permiso ICS.


Valores posibles: SI (tiene el permiso) / blanco (no
tiene el permiso).
[Consultar en la tabla IHSG: con el nmero de objeto
de la orden (objnr) buscar un registro que contenga el
permiso (pmsog) y no este marcado como borrado
(lworm<> X].

Permiso LD

(X2)

Campo que reflejar si la orden tiene concedido el


permiso LD. Valores posibles: SI (tiene concedido el
permiso) / blanco (no tiene el permiso).
[Consultar en la tabla IHSG: con el nmero de objeto
de la orden (objnr) buscar un registro que contenga el
permiso (pmsog) y no este marcado como borrado
(lworm<> X) y no sea no relevante (KZLTX = ).
Si existe registro, consultar la tabla IHGNS buscar
con el OBJNR y COUNTER del registro encontrado
en la bsqueda anterior y comprobar que existe un
registro con los campos GENIAKT y ZZGENNAP en
blanco].

Registro tipo 1
Plan de mantenimiento

X(10)

Cdigo del plan que ha emitido la orden, si la orden ha


sido creada desde un plan.

Nmero de orden

X(8)

Nmero de la orden de mantenimiento

Tipo de registro

X(1)

Tipo de registro. Valor 1

Nmero de orden
principal

X(8)

Cuando la orden de mto. que se est tratando tiene orden


principal, se completar este campo con dicho valor, si la
orden que se est tratando no tiene orden principal este
campo ira en blanco

Ubicacin Tcnica

X(18)

Ubicacin Tcnica de la cabecera de la orden de mto.

Texto de la UT

X(40)

Texto de la ubicacin tcnica

Equipo

X(18)

Equipo de la cabecera de la orden de mto.

Fabricante

X(15)

Fabricante del equipo

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
17 de 48

Modelo

X(20)

Modelo del equipo

Clase del equipo

X(9)

Clase del equipo

Texto del equipo

X(40)

Texto del equipo

Emplazamiento de la
U.T.

X(10)

Emplazamiento de la ubicacin Tcnica

Local

X(8)

Campo Local de la ubicacin tcnica o del equipo si no


est instalado

Lista de descargo

X(8)

Lista de descargo asignada a la orden de mto.

Status de la lista de
descargo

X(3)

Cdigo estado descargo (1)

Clase de actividad de
mantenimiento

X(2)

Clase de actividad de mantenimiento de la cabecera de la


orden de mto.

Permisos

X(5)

Permisos de la cabecera de la orden de mto.


Marcar con X el lugar correspondiente a los permisos
siguientes, cuando estn asignados.

Nmero de subrevisin X(8)

VGC, VPR, JT, ET, ET4


Nmero de subrevisin de la cabecera de la orden de mto.

Registro tipo 2
Plan de mantenimiento

X(10)

Cdigo del plan que ha emitido la orden, si la orden ha


sido creada desde un plan.

Nmero de orden

X(8)

Nmero de la orden de mto que se est tratando

Tipo de registro

X(1)

Tipo de registro. Valor 2

Operacin

X(4)

Nmero de la operacin de la orden de mto.

Texto breve

X(40)

Texto breve de las operaciones de la orden de mto, o si sta


no tuviera, texto de la cabecera de la orden

N de personas

N(3)

Nmero de personas de las operaciones de la orden de mto.

N de horas-total
(trabajo)

X(8)

Suma de horas notificadas en las operaciones de la orden


de mto, si no tiene notificaciones se toman las horas
planificadas

Ndehorastotal
(reales)

X(8)

Sumadehorasnotificadasdelaoperacindelaordende
mto.

Puesto de trabajo

X(8)

Fecha de inicio

X(8)

Grupo de planificacin

X(3)

Puesto de trabajo de las operaciones de la orden de mto,


excepto el de la 1 operacin que se tomar el puesto de
trabajo responsable de la cabecera.
Fecha de inicio de cabecera de la orden de mto.
(DDMMAAAA)
Grupo de planificacin de mantenimiento de la cabecera de

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
18 de 48

X(8)

la orden de mto.
Horas de zona controlada de la operacin de la orden de
mto.

X(10)

Cdigo del plan de mantenimiento:.

Nmero de orden

X(8)

Cdigo del plan que ha emitido la orden, si la orden ha


sido creada desde un plan.
Nmero de la orden de mto que se est tratando

Tipo de registro

X(1)

Tipo de registro. Valor 5

Texto breve

X(80)

Lneas de texto de la operacin de la orden (Imprimir


tambin la primera lnea del texto ampliado)

Plan de mantenimiento

X(10)

Cdigo del plan que ha emitido la orden, si la orden ha


sido creada desde un plan.

Nmero de orden

X(8)

Nmero de la orden de mto que se est tratando

Tipo de registro

X(1)

Tipo de registro. Valor 3

Elemento de descargo

X(18)

Condicin operativa

X(10)

Status de la etiqueta de
seguridad

X(4)

Objeto tcnico de la posicin de la lista de descargo


asignada a la orden de mto.
Condicin operativa de la posicin de la lista de
descargo asignada a la orden de mto.
Status individual del objeto (breve), que tenga la posicin
de la lista de descargo.

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:
-

Condicin 1: La orden deber pertenecer al centro 2101.


Condicin 2: La orden se estar creando o modificando on-line o a travs de la
transaccin IP10 (Programacin de Planes mantenimiento). Las rdenes creadas
mediante un proceso batch no sern enviadas.
Condicin 3: La orden debe tener en el campo Revisin algn valor. En el caso de
que a una orden se le suprima la revisin, se enviar la primera vez (esto significa que

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
19 de 48

si a la orden se le realizan modificaciones posteriores y la revisin est en blanco no se


realizarn envos).
Condicion 4: Si se modifica cualquier campo de la orden
Condicin 5: Si a la orden se le asigna el status de usuario ANUL Anulada, los
ficheros se enviarn la ltima vez. Si se anula dicho status, la orden volver a ser
susceptible de ser enviada.
Condicin 6: Si a la orden se le asigna el status Fin de Trabajos.
Cuando una orden cumpla esta condicin, se enviarn como en el resto de
condiciones, 2 ficheros, con la particularidad de que el fichero Trabajos de Recarga
se enviar por ltima vez. Las modificaciones posteriores realizadas sobre la orden
generarn el envo de un nico fichero: Status de rdenes.
Condicin 7: Si la orden se actualiza con el estatus NEJE (No ejecutada).
Cuando una orden cumpla esta condicin, se enviarn como en el resto de
condiciones, 2 ficheros, con la particularidad de que los 2 ficheros se enviarn por
ltima vez.
Condicin 8: Si la orden se cierra comercialmente (Status CERR).
Cuando una orden cumpla esta condicin, se enviar el fichero Status de rdenes por
ltima vez. Si se anula dicho status, la orden volver a ser susceptible de ser enviada.

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

Para la actualizacin de la tabla se crear la transaccin ZIT_INTR_PATH, con la siguiente


descripcin: Actualizacion de Patch y List.Distr.

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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

A continuacin se proceder a realizar el envo de ambos ficheros.


Si en el proceso de envo hubiera algn fallo a la hora de generar el fichero en el servidor,
para cada fichero, se enviara un mail a la lista de distribucin que se haya indicado en la tabla
ZIT_INTR_PATH para ese tipo de fichero.

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
21 de 48

SELECT SINGLE clustr INTO zclustr FROM stxl


WHERE relid = c_relid
AND tdobject = c_tdobject
AND tdname = lv_name
AND tdid = c_tdid
AND tdspras = sy-langu.
IF sy-subrc = 0.
ENDIF.

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.

Recojo el valor del numero de solicitud si hubiera:


IMPORT i_newobj TO i_newobj FROM MEMORY ID 'num_sd'.

Leo la tabla que lleva todos los datos de la cabecera de nuestra orden:
READ TABLE it_header INDEX 1 INTO wa_header .

Si la orden pertenece al centro 2101 y no se est creando en BATCH, se trata


IF wa_header-iwerk = zwerks AND sy-batch = ' ' AND sytcode+2(1) <> '4'.

Leemos las tablas que nos llevan todos los datos de la orden (STATUS, OPERACIONES,
DATOS GENERALES)
READ TABLE it_header_old

INDEX 1 INTO wa_header_old.

READ TABLE it_status_old INTO wa_status_anul_old


WITH KEY stat = c_anul.

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
22 de 48

READ TABLE it_status INTO wa_status_anul


WITH KEY stat = c_anul.
READ TABLE it_status INTO wa_status_fin
WITH KEY stat = status_fin.
READ TABLE it_status_old INTO wa_status_fin_old
WITH KEY stat = status_fin.
READ TABLE it_status INTO wa_status_cerr
WITH KEY stat = c_cerr.
READ TABLE it_status_old INTO wa_status_cerr_old
WITH KEY stat = c_cerr.
READ TABLE it_status_old INTO wa_status_neje_old
WITH KEY stat = c_neje.

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.

CLEAR: lv_uzeit, lv_uzeit_h, lv_uzeit_l.


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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
23 de 48

IMPORT zclustr TO zclustr FROM MEMORY ID 'ZCLUSTR'.


SELECT SINGLE clustr INTO lv_zclustr FROM stxl
WHERE relid = 'TX'
AND tdobject = 'AUFK'
AND tdname = lv_name
AND tdid = 'KOPF'
AND tdspras = sy-langu.
IF sy-subrc = 0.

Si hay texto, estn modificando la orden y el texto se modifica:


IF lv_zclustr > 0.
IF zclustr <> lv_zclustr.
lv_envio = c_x.
ENDIF.
ENDIF.

Si hay texto, estn modificando la orden y el texto lo crean por 1 vez


Se compara fecha,hora y minuto y segundo con un margen de demora de 10seg
IF wa_head-tdfdate = sy-datum
AND sy-uzeit(5) = wa_head-tdftime(5).
lv_envio = c_x.
ENDIF.
ENDIF.
FREE MEMORY ID 'ZCLUSTR'.
CLEAR: zclustr, lv_zclustr.
ENDIF.

Para el estudio de las modificaciones de permisos


IF wa_header-sp_aeknz = c_x.
lv_envio = c_x.
ENDIF.

Para el estudio de las modificaciones de direcciones


IF wa_header-flg_addr = c_x.
lv_envio = c_x.
ENDIF.

Para el estudio de las modificaciones de la descripcion


IF wa_header-ktext NE wa_header_old-ktext.
lv_envio = c_x.
ENDIF.

Para cualquier cambio en cualquier dynpro


IF sy-datar IS NOT INITIAL.
lv_envio = c_x.
ENDIF.

Se hace un estudio de cada una de las tablas internas


LOOP AT it_item INTO wa_item
WHERE vbkz = c_u OR vbkz = c_i OR vbkz = c_d.
ENDLOOP.
IF wa_item IS NOT INITIAL.

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
26 de 48

CLEAR wa_status_anul_old-stat.
ENDIF.

Una orden ya anulada no se debe mandar

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 la orden ya estaba cerrada comercialmente, no se enva ningn fichero


IF wa_status_cerr_old-stat EQ c_cerr
AND wa_status_cerr-inact EQ ' '.
CLEAR wa_header-revnr.
CLEAR wa_header_old-revnr.
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.

CASO 1: La orden se est creando y tiene una revisin asignada


IF

wa_header_old-revnr = wa_header-revnr
AND wa_header_old-revnr <> ' '.
lv_case = '1'.
ENDIF.

CASO 2: A la orden se le ha modificado la revisin


IF wa_header_old-revnr <> wa_header-revnr
AND wa_header_old-revnr <> ' ' AND wa_header-revnr <> ' '.
lv_case = '2'.
ENDIF.

CASO 3: A la orden se le asignado una revisin

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
27 de 48

IF wa_header_old-revnr <> wa_header-revnr


AND wa_header_old-revnr = ' ' AND wa_header-revnr <> ' '.
lv_case = '3'.
ENDIF.

CASO 4: A la orden se le ha borrado la revisin


IF wa_header_old-revnr <> wa_header-revnr
AND wa_header_old-revnr <> ' ' AND wa_header-revnr = ' '.
lv_case = '4'.
ENDIF.

Si cumple las especificaciones 1, 2, 3 o 4 se enva

IF lv_case = '1' OR lv_case = '2' OR lv_case = '3'


OR lv_case = '4'.
lv_envio = c_x.

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

4.5.3

Pgina
28 de 48

GRUPO DE FUNCIONES ZSIN

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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[].

PERFORM fotr_submit ON COMMIT.

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
32 de 48

OPCIONES TECNICAS:

Esta tabla se puede actualizar mediante la modificacin de registros con la 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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

4.5.6

Pgina
33 de 48

TRANSACCIN ZIT_INTR_PATH

De esta manera, la ejecucin de la transaccin, nos llevar directamente a la vista de la tabla:

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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.

Se envian dos ficheros


Fichero proceso 4.2 (TRABAJOS)
CLEAR gv_ruta.
CLEAR gv_direccion_t.
READ TABLE it_zit_intr_path
WITH KEY zztpf = '02'.
IF sy-subrc = 0.
gv_ruta = it_zit_intr_path-filename.
gv_direccion_t = it_zit_intr_path-l_dlinam.
CONCATENATE gv_ruta nombre_trabajos wa_header-aufnr
'_' sy-datum sy-uzeit c_txt INTO vg_stord_t.
ENDIF.

CLEAR gv_ruta.

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

Fichero proceso 4.1 (STATUS)


>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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.

Se envia solo Fichero proceso 4.1 (STATUS)


ELSEIF lv_fichero EQ c_s.
CLEAR gv_ruta.
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.
ENDIF.
**---------------------------------------------------------------------*START-OF-SELECTION.
**---------------------------------------------------------------------IF lv_fichero EQ c_s.

Se genera el fichero para el proceso 4.1 (STATUS)


PERFORM fotr_fichero_status.
IF gv_fail IS NOT INITIAL.
PERFORM fotr_envio_email USING gv_direccion_s
vg_stord_s.
ENDIF.
ELSE.

Se genera el fichero para el proceso 4.1 (STATUS)


PERFORM fotr_fichero_status.
IF gv_fail IS NOT INITIAL.
PERFORM fotr_envio_email USING gv_direccion_s
vg_stord_s.
ENDIF.

Se genera el fichero para el proceso 4.2 (TRABAJOS)


PERFORM fotr_fichero_trabajos.
IF gv_fail IS NOT INITIAL.
PERFORM fotr_envio_email USING gv_direccion_t
vg_stord_t.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
" FOTR_SUBMIT

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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.

Generacin del fichero

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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.

Generacion del fichero

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.

Se llama a la function responsible del envo del email


CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
"STARTING NEW TASK 'TAREA'
EXPORTING
document_data
= wa_document_data
put_in_outbox
= 'X'
*
DOCUMENT_TYPE
= GC_DLI
commit_work
= ' ' "dump si 'X'.
TABLES
object_header
= it_object_header
object_content
= it_object_content
receivers
= it_receivers
EXCEPTIONS
too_many_receivers
= 1
document_not_sent
= 2
document_type_not_exist
= 3
operation_no_authorization = 4
parameter_error
= 5
x_error
= 6
enqueue_error
= 7
OTHERS
= 8.
IF sy-subrc EQ 0.
CLEAR:
it_receivers, wa_document_data, it_object_header,
it_object_content.
REFRESH: it_receivers, it_object_header, it_object_content.
ENDIF.

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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.

*------------------------------*Datos del Documento.


wa_document_data-obj_name = gv_direccion. "Nombre Lista
CONCATENATE sy-datum+6(2) '/' sy-datum+4(2) '/' sy-datum(4)
INTO lv_data.
CONCATENATE text-004 lv_data INTO wa_document_data-obj_descr
SEPARATED BY space.
"Descripcin del Objeto
wa_document_data-obj_langu = sy-langu.
*------------------------------LOOP AT it_adr6.
*Datos del Receptor
it_receivers-rec_type = gc_u.
"Direccin externa.
it_receivers-receiver = it_adr6-smtp_addr. "Correo electrnico.
APPEND it_receivers.
ENDLOOP.
*------------------------------**Cabecera del Correo.
it_object_header-line = wa_document_data-obj_descr.
APPEND it_object_header.
*-------------------------------

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
39 de 48

CALL FUNCTION 'SO_DLI_LIST_READ_XDL'


EXPORTING
dli_generic_desc
= gv_dli_generic_desc
dli_generic_name
= gv_direccion
entry_escape
= gv_entry_escape
entry_id
= gv_entry_id
entry_name
= gv_entry_name
owner
= sy-uname
private
= gv_private
public
= 'X'
subscript
= 'X'
TABLES
dli_display_tab
= it_dli_display_tab
EXCEPTIONS
communication_failure = 1
dl_list_no_entries
= 2
owner_not_exist
= 3
system_failure
= 4
x_error
= 5
parameter_error
= 6
OTHERS
= 7.
IF sy-subrc = 0.
READ TABLE it_dli_display_tab INDEX 1.
IF sy-subrc = 0.
SELECT * FROM sodm "SAPoffice: Contenido de la lista de
INTO CORRESPONDING FIELDS OF TABLE it_sodm
WHERE dlitp = it_dli_display_tab-dlitp
AND dliyr = it_dli_display_tab-dliyr
AND dlino = it_dli_display_tab-dlino.
IF sy-subrc = 0.
LOOP AT it_sodm.
SELECT * FROM zsoid_tenedores "SAPoffice: datos de usuario
APPENDING CORRESPONDING FIELDS OF TABLE
it_zsoid_tenedores
WHERE memno = it_sodm-memno.
ENDLOOP.

Accedemos a la ADR21 con nmero de usuario y obtenemos el Nmero de persona


y N direccin.
SORT it_zsoid_tenedores BY usrnam.
DELETE ADJACENT DUPLICATES FROM it_zsoid_tenedores COMPARING
usrnam.
LOOP AT it_zsoid_tenedores.
SELECT * FROM usr21
APPENDING CORRESPONDING FIELDS OF TABLE it_usr21
WHERE bname = it_zsoid_tenedores-usrnam.
ENDLOOP.
IF sy-subrc = 0 AND it_usr21[] IS NOT INITIAL.
LOOP AT it_usr21.
SELECT * FROM adr6
APPENDING CORRESPONDING FIELDS OF TABLE it_adr6
WHERE addrnumber = it_usr21-addrnumber
AND persnumber = it_usr21-persnumber.
ENDLOOP.
ENDIF.

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
40 de 48

ENDIF.
ENDIF.
ENDIF.

4.6 MODIFICACIN DISPONIBILIDAD DE MANTENIMIENTO ORDENES


4.6.1
Programa: ZIPMR010
Se modifica la pantalla de seleccin de manera que se realiza una llamada al programa
ZIPMR033

4.6.2

Programa: ZIPMR033

El programa tipo report a partir de un fichero en el servidor de aplicacin modifica la


disponibilidad de mantenimiento en ordenes de trabajo.
Para ello a partir de la pantalla de seleccin siguiente:

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

Pgina
41 de 48

4.7 MODIFICACIN EN STATUS A GRABAR EN FICHERO DE PROGRAMA


ZIPMR016.
Anteriormente, se le asignaba el status 8 a las rdenes Ordenes no ejecutadas o

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:

FORM fotr_xx_asignar_status_9 USING


DATA: f_cerr, f_mpbo.

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.

IF jest-stat = status_ctec OR jest-

4.8 MODIFICACIN PERMISOS DES, TRS E ICP.


Se aaden, para los procesos 1: Simulacin y 4.2: Trabajos de Recarga, los permisos DES,
TRS e ICP en las tablas correspondientes (reg0) para que estos datos salgan en fichero a
generar.

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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

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 = ' '.

IBERDROLA, S.A.
Este documento pierde su validez al ser reproducido o impreso
Diseo Tcnico.doc

>
PMN-DED-DD-001 / 12.0

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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

MODIFICACIONES EN INTERFAZ DE RECARGA


Diseo Tcnico SAP

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

Anda mungkin juga menyukai