Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- * REPORT ZWITI020 *
- *----------------------------------------------------------------------*
- * Descripción: *
- * Selección de instalaciones y subnúmeros por parte del usuario *
- *----------------------------------------------------------------------*
- * MODIFICACIONES: upgrade 4.6B
- * FECHA: 08.05.2000
- * PROGRAMADOR: Roberto Galindo (ISI). Usuario: Fex00493
- * DESCRIPCION: se añaden los literales al pool de textos.
- *----------------------------------------------------------------------*
- DATA sw_error_comun.
- *----------------------------------------------------------------------*
- * VARIABLES *
- *----------------------------------------------------------------------*
- DATA: salir, " Confirmación de abandono del tratamiento
- flag,
- flag_desp,
- slinea,
- lineaflag,
- lineaflag_desp,
- linsel LIKE sy-listi, " Linia en pantalla instalaciones
- linsel1 LIKE sy-lilli," Contador de lineas
- linsel2 LIKE sy-lilli," Memoria de linia
- valor0 LIKE anep-anbtr," Variable para acumular.
- valor1 LIKE anep-anbtr," Variable para acumular.
- atrib TYPE n, " Color de la linia
- atrib1 TYPE i, " comptador
- cant_escribir(16)," Cantidad a escribir en listado
- cant_escribir1(16)," Cantidad a escribir en listado
- cant_escribir2(16)." Cantidad a escribir en listado
- DATA: BEGIN OF menu OCCURS 10,
- fcode(4),
- END OF menu.
- * Inicio Modificación MDB 29.06.2005
- DATA: aktiv_elem LIKE anla-aktiv.
- * Fin Modificación MDB 29.06.2005
- *----------------------------------------------------------------------*
- * TOP OF PAGE *
- *----------------------------------------------------------------------*
- TOP-OF-PAGE.
- * Pantalla de subnúmeros
- SET PF-STATUS 'ZAMA' EXCLUDING 'DESP'.
- SET COUNTRY 'ES'.
- PERFORM cabecera_instalaciones.
- TOP-OF-PAGE DURING LINE-SELECTION.
- * if tipo_listado = ' '.
- * sy-lsind = 2.
- * endif.
- CASE sy-lsind.
- * Pantalla de PEP's
- WHEN 1.
- IF p_anular IS INITIAL.
- CASE tipo_listado.
- WHEN 'E'.
- hay_informacion = 'X'.
- PERFORM cabecera_erroneos.
- PERFORM cabecera_movimientos.
- WHEN 'P'.
- hay_informacion = 'X'.
- PERFORM cabecera_peps_tratados.
- PERFORM cabecera_peps_tratados2.
- WHEN 'D'.
- hay_informacion = 'X'.
- PERFORM cabecera_despreciados.
- PERFORM cabecera_movimientos.
- WHEN ' '.
- PERFORM cabecera_peps.
- ENDCASE.
- ELSE.
- CASE tipo_listado.
- WHEN 'P'.
- PERFORM cabecera_peps_tratados.
- PERFORM cabecera_peps_tratados2.
- WHEN OTHERS.
- PERFORM cabecera_movimientos.
- ENDCASE.
- ENDIF.
- WHEN 2.
- IF p_anular IS INITIAL.
- * Mostrar datos del movimiento seleccionado
- PERFORM cabecera_listado.
- ELSE.
- PERFORM cabecera_movimientos.
- ENDIF.
- ENDCASE.
- *----------------------------------------------------------------------*
- * Atención a la selección de las líneas en pantalla
- *----------------------------------------------------------------------*
- AT LINE-SELECTION.
- linsel = sy-lilli.
- IF linsel < 5.
- EXIT.
- ENDIF.
- * En caso de ser anulacion.
- IF NOT p_anular IS INITIAL.
- IF sy-lsind EQ 2
- OR tipo_listado = 'E'
- OR tipo_listado = 'D'
- OR tipo_listado = 'P'.
- EXIT.
- ELSE.
- sy-lsind = 2.
- CLEAR pep-posid.
- ENDIF.
- ENDIF.
- CASE sy-lsind.
- WHEN '1'. " Pantalla de instalaciones
- * Comprobar que la línea leída es correcta
- CHECK NOT instalaciones-anlue IS INITIAL.
- * Guardamos la linea seleccionada
- * se actualiza Toda la pantalla
- PERFORM actualizar.
- SET PF-STATUS 'ZAMA' EXCLUDING 'EJEC'.
- * Listar los PEP'S de la instalación
- PERFORM listado_peps.
- WHEN '2'. " Pantalla de PEP's
- * Comprobar que la línea leída es correcta
- CHECK NOT pep-posid IS INITIAL OR NOT p_anular IS INITIAL.
- * se actualiza Toda la pantalla
- PERFORM actualizar.
- * Listar los movimientos del elemento PEP
- SET PF-STATUS 'ZAMA' EXCLUDING menu.
- PERFORM listado_movimientos. " Movimientos de un subnúmero
- ENDCASE.
- CLEAR sw_error_comun.
- ************************************************************************
- * Atención a los comandos de usuario
- ************************************************************************
- AT USER-COMMAND.
- CASE sy-ucomm. " Función elegida
- * Actualizacion de tablas y visualizaciones
- WHEN 'ACTU'.
- PERFORM actualizar.
- WHEN 'MARC'.
- PERFORM marcar_todo USING 'X'.
- WHEN 'DESM'.
- PERFORM marcar_todo USING ' '.
- WHEN 'VOLV'.
- IF NOT lista_error IS INITIAL.
- LEAVE PROGRAM.
- ENDIF.
- IF sy-lsind EQ '3' AND NOT p_anular IS INITIAL.
- sy-lsind = '2'.
- ENDIF.
- CASE sy-lsind.
- WHEN '1'. " Listado de instalaciones
- SET USER-COMMAND '%EX'.
- WHEN '2'.
- CLEAR valor1.
- PERFORM actualizar.
- SET USER-COMMAND 'BACK'.
- IF p_anular IS INITIAL.
- * Modificación de la linea de la pantalla anterior
- linsel1 = 6.
- DO.
- READ LINE linsel1 INDEX 0. " Línea a modificar
- ADD 1 TO linsel1.
- CHECK instalaciones-anlue GE pep-anlue.
- IF sy-subrc NE 0 OR
- instalaciones-anlue GT pep-anlue.
- EXIT.
- ENDIF.
- CLEAR: valor0.
- LOOP AT pep WHERE anlue EQ pep-anlue AND
- afabe EQ instalaciones-afabe AND
- traspasar EQ 'X'.
- valor0 = valor0 + pep-cantidad.
- ENDLOOP.
- valor1 = valor0 + valor1.
- WRITE valor0 TO cant_escribir CURRENCY c_moneda.
- MODIFY CURRENT LINE FIELD VALUE cant_escribir.
- IF slinea EQ 'X'.
- linsel2 = sy-lilli.
- ENDIF.
- ENDDO.
- * Calculo y Modificación del valor del checkbox
- READ LINE linsel2 INDEX 0.
- * Modificación de la tabla y del checkbox si procede
- CLEAR instalaciones-traspasar.
- READ TABLE pep
- WITH KEY anlue = instalaciones-anlue traspasar = 'X'.
- IF sy-subrc EQ 0.
- instalaciones-traspasar = 'X'.
- ENDIF.
- MODIFY instalaciones TRANSPORTING traspasar
- WHERE anlue EQ instalaciones-anlue.
- MODIFY CURRENT LINE FIELD VALUE instalaciones-traspasar.
- ENDIF.
- * Lectura de la linea de llamada.
- READ LINE linsel INDEX 0.
- WHEN '3'. " Listado de PEP's
- SET USER-COMMAND 'BACK'.
- ENDCASE.
- * Finalizar
- WHEN 'ZCAN'.
- IF NOT lista_error IS INITIAL.
- LEAVE PROGRAM.
- ENDIF.
- CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
- EXPORTING
- textline1 = text-015
- titel = text-014
- IMPORTING
- answer = salir
- EXCEPTIONS
- OTHERS = 1.
- IF salir = 'J'.
- LEAVE TO SCREEN 0.
- ENDIF.
- * Ejecutar
- WHEN 'EJEC'.
- IF p_prueba NE space.
- LEAVE PROGRAM.
- ELSE.
- * Marcar o desmarcar los subnúmeros de las instalaciones
- PERFORM actualizar.
- * Realizar el traspaso empezando por el marcado de los movimientos
- PERFORM tratamiento_de_lo_seleccionado.
- ENDIF.
- ENDCASE.
- CLEAR sw_error_comun.
- *---------------------------------------------------------------------*
- * FORM CABECERA_INSTALACIONES *
- *---------------------------------------------------------------------*
- * ........ *
- *---------------------------------------------------------------------*
- FORM cabecera_instalaciones.
- * Mostrar datos de la instalación seleccionada
- WRITE: /30 text-016,' ',
- p_fecha COLOR OFF INTENSIFIED OFF.
- IF NOT p_anular IS INITIAL.
- WRITE: 65 ' ', text-017, ' ' COLOR 6 INTENSIFIED ON.
- ENDIF.
- WRITE: /10 text-018, ' ',
- p_bukrs COLOR OFF INTENSIFIED OFF.
- * Mostrar la cabecera de la pantalla de subnúmeros
- ULINE.
- FORMAT COLOR 1 INTENSIFIED.
- WRITE: /1 text-002,
- 3 ' ', text-019,
- 15 sy-vline,
- 16 ' ', text-006,
- 48 sy-vline,
- 49 text-020,
- 59 sy-vline,
- 60 text-021,
- 64 sy-vline.
- IF p_anular IS INITIAL.
- WRITE: 65 ' ', text-022,
- 80 sy-vline,
- 81 ' ', text-023,' ',
- 96 sy-vline,
- 97 text-025, ' '.
- ELSE.
- WRITE: 64 ' ', text-024,' '.
- ENDIF.
- FORMAT INVERSE.
- ULINE.
- ENDFORM. "CABECERA_INSTALACIONES
- *---------------------------------------------------------------------*
- * FORM CABECERA_PEPS *
- *---------------------------------------------------------------------*
- * ........ *
- *---------------------------------------------------------------------*
- FORM cabecera_peps.
- * Mostrar datos del PEP seleccionado
- MOVE pep-anlue TO inst_a_convertir.
- PERFORM convertir_sin_ceros.
- WRITE: /30 text-016,
- p_fecha COLOR OFF INTENSIFIED OFF,
- /10 text-018,' ',
- p_bukrs COLOR OFF INTENSIFIED OFF,
- ' ', text-019,' ',
- inst_a_convertir COLOR OFF INTENSIFIED OFF.
- * Mostrar la cabecera de la pantalla de PEP's
- ULINE.
- FORMAT COLOR 1 INTENSIFIED.
- WRITE: /1 text-002,
- 3 ' ', text-011,
- 12 sy-vline,
- 13 ' ', text-006,
- 38 sy-vline,
- 39 text-026,
- 43 sy-vline,
- 44 ' ', text-027,
- 59 sy-vline,
- 60 text-021,
- 64 sy-vline,
- 65 ' ', text-022,
- 80 sy-vline,
- 81 ' ', text-023, ' ',
- 96 sy-vline,
- 97(36) text-025.
- * 110 sy-vline, "De momento no se puede trasp. manual "
- * 111 'Traspaso manual'. "De momento no se puede trasp. manual "
- FORMAT INVERSE.
- ULINE.
- ENDFORM. "CABECERA_PEPS
- *---------------------------------------------------------------------*
- * FORM CABECERA_MOVIMIENTOS *
- *---------------------------------------------------------------------*
- FORM cabecera_listado.
- WRITE: /30 text-016, ' ',
- p_fecha COLOR OFF INTENSIFIED OFF,
- /10 text-018, ' ',
- p_bukrs COLOR OFF INTENSIFIED OFF.
- IF NOT p_anular IS INITIAL.
- WRITE: ' ', text-019, ' ',
- inst_a_convertir COLOR OFF INTENSIFIED OFF.
- WRITE: 65 ' ', text-017, ' ' COLOR 6 INTENSIFIED ON.
- ELSE.
- CASE tipo_listado.
- WHEN ' '.
- WRITE: ' ', text-019, ' ',
- inst_a_convertir COLOR OFF INTENSIFIED OFF,
- 60 ' ', text-028, ' ',
- movimientos-posid COLOR OFF INTENSIFIED OFF.
- ENDCASE.
- PERFORM cabecera_movimientos.
- ENDIF.
- ENDFORM. "CABECERA_LISTADO
- *---------------------------------------------------------------------*
- * FORM CABECERA_ERRONEOS *
- *---------------------------------------------------------------------*
- * ........ *
- *---------------------------------------------------------------------*
- FORM cabecera_erroneos.
- WRITE /30 text-029.
- WRITE /30 '-------------------------------'.
- SKIP 1.
- ENDFORM. "CABECERA_ERRONEOS
- *---------------------------------------------------------------------*
- * FORM CABECERA_PEPS_TRATADOS *
- *---------------------------------------------------------------------*
- * ........ *
- *---------------------------------------------------------------------*
- FORM cabecera_peps_tratados.
- WRITE /30 text-030.
- WRITE /30 '-----------------------------------------------------'.
- SKIP 1.
- ENDFORM. "CABECERA_PEPS_TRATADOS
- *---------------------------------------------------------------------*
- * FORM CABECERA_DESPRECIADOS *
- *---------------------------------------------------------------------*
- * ........ *
- *---------------------------------------------------------------------*
- FORM cabecera_despreciados.
- WRITE: /30 text-031,
- /30 '----------------------------------------------',
- /24
- '------------------------------------------------------------',
- /24 sy-vline,
- text-032, ' ', sy-vline,
- /24 sy-vline,
- text-033,' ', sy-vline,
- /24 sy-vline,
- text-034,' ', sy-vline,
- /24
- '------------------------------------------------------------'.
- SKIP 1.
- ENDFORM. "CABECERA_DESPRECIADOS
- *---------------------------------------------------------------------*
- * FORM CABECERA_MOVIMIENTOS *
- *---------------------------------------------------------------------*
- * ........ *
- *---------------------------------------------------------------------*
- FORM cabecera_movimientos.
- IF NOT p_anular IS INITIAL.
- MOVE instalaciones-anlue TO inst_a_convertir.
- PERFORM convertir_sin_ceros.
- WRITE: /30 text-016, ' ',
- p_fecha COLOR OFF INTENSIFIED OFF.
- WRITE: 65 ' ', text-017, ' ' COLOR 6 INTENSIFIED ON.
- WRITE: /10 text-018, ' ',
- p_bukrs COLOR OFF INTENSIFIED OFF,
- ' ', text-019, ' ',
- inst_a_convertir COLOR OFF INTENSIFIED OFF.
- ENDIF.
- * Mostrar la cabecera de la pantalla de movimientos
- ULINE.
- FORMAT COLOR 1 INTENSIFIED.
- IF p_anular IS INITIAL.
- WRITE: /1 text-035,
- 13 sy-vline,
- 14 text-036,
- 19 sy-vline,
- 20 text-037,
- 32 sy-vline,
- 33 text-005,
- 38 sy-vline,
- 39 text-021,
- 43 sy-vline,
- 44 text-038,
- 49 sy-vline,
- 50 text-040,
- 60 sy-vline,
- 61 text-039, ' ',
- 77 sy-vline,
- 78 text-041, ' '.
- ELSE.
- WRITE: /2 ' ', text-042,
- 17 text-005,
- 24 text-043,
- 29 text-044,
- 35 text-045, ' ',
- 46 ' ', text-024, ' '.
- ENDIF.
- FORMAT INVERSE.
- ULINE.
- ENDFORM. "CABECERA_MOVIMIENTOS
- *---------------------------------------------------------------------*
- * FORM CABECERA_PEPS_TRATADOS2 *
- *---------------------------------------------------------------------*
- * ........ *
- *---------------------------------------------------------------------*
- FORM cabecera_peps_tratados2.
- WRITE: /30 text-016, ' ',
- p_fecha COLOR OFF INTENSIFIED OFF.
- WRITE: /10 text-018, ' ',
- p_bukrs COLOR OFF INTENSIFIED OFF.
- * Mostrar la cabecera de la pantalla de movimientos
- ULINE.
- FORMAT COLOR 1 INTENSIFIED.
- WRITE: /1 text-011, ' ',
- sy-vline.
- IF p_anular IS INITIAL.
- WRITE: text-048,
- sy-vline,
- text-049,
- sy-vline.
- ENDIF.
- WRITE: text-047,
- sy-vline,
- text-046.
- FORMAT INVERSE.
- ULINE.
- ENDFORM. "CABECERA_PEPS_TRATADOS2
- *----------------------------------------------------------------------*
- * FORM SELECCION_TRASPASO *
- *----------------------------------------------------------------------*
- * Lista por pantalla las instalaciones a traspasar y sus cantidades *
- *----------------------------------------------------------------------*
- FORM seleccion_traspaso.
- * tabla de opciones de menu.
- menu-fcode = 'EJEC'.
- APPEND menu.
- menu-fcode = 'DESP'.
- APPEND menu.
- menu-fcode = 'ACTU'.
- APPEND menu.
- menu-fcode = 'MARC'.
- APPEND menu.
- menu-fcode = 'DESM'.
- APPEND menu.
- * Visualizar los datos sumarizando por instalaciones
- CLEAR atrib1.
- LOOP AT instalaciones.
- AT NEW anlue.
- ADD 1 TO atrib1.
- atrib = ( atrib1 MOD 2 ) + 1.
- slinea = 'X'.
- ENDAT.
- PERFORM tratar_datos.
- ENDLOOP.
- ENDFORM. " SELECCION_TRASPASO
- *----------------------------------------------------------------------*
- * FORM TRATAR_DATOS *
- *----------------------------------------------------------------------*
- FORM tratar_datos.
- DATA: aux_sup LIKE anla-anlue,
- aux_sub_sup LIKE anla-anln2,
- aux_instalaciones LIKE instalaciones.
- CLEAR: aux_sup, aux_sub_sup.
- SPLIT instalaciones-anlue AT '-' INTO aux_sup aux_sub_sup.
- IF aux_sub_sup IS INITIAL.
- aux_sub_sup = '0'.
- ENDIF.
- IF sy-subrc NE 0.
- * if c_desarrollo = 'X'.
- * concatenate 'anlue ' aux_sup into anla-txt50.
- * else.
- MESSAGE e304. " Error no esperado del sistema
- * endif.
- ENDIF.
- IF instalaciones-traspasar IS INITIAL.
- CLEAR valor0.
- ELSE.
- valor0 = instalaciones-cantidad.
- ENDIF.
- WRITE valor0 TO cant_escribir CURRENCY c_moneda.
- WRITE instalaciones-anbtr TO cant_escribir1 CURRENCY c_moneda.
- * Visualizar los datos
- CLEAR anla-aktiv.
- FORMAT COLOR = atrib.
- IF slinea = 'X'.
- MOVE instalaciones-anlue TO inst_a_convertir.
- PERFORM convertir_sin_ceros.
- * Inicio Modificación MDB 29.06.2005
- * IF instalaciones-error = '0'.
- IF instalaciones-error = '0' OR instalaciones-error = '3'.
- WRITE: /1 instalaciones-traspasar AS CHECKBOX INPUT OFF.
- ELSE.
- READ TABLE pep WITH KEY anlue = instalaciones-anlue
- error = ' '.
- IF sy-subrc EQ 0.
- WRITE: /1 instalaciones-traspasar AS CHECKBOX.
- ELSE.
- WRITE: /1 instalaciones-traspasar AS CHECKBOX INPUT OFF.
- ENDIF.
- ENDIF.
- WRITE: 3 inst_a_convertir,
- 16 instalaciones-txt50(31),
- 49 instalaciones-aktiv,
- 61 instalaciones-afabe.
- IF p_anular IS INITIAL.
- WRITE: 64 cant_escribir1,
- 80 cant_escribir.
- CASE instalaciones-error.
- WHEN '0'.
- WRITE: text-050.
- WHEN '1'.
- WRITE: text-051, ' '.
- WHEN '2'.
- WRITE: text-052, ' '.
- * 26/11/2007 7700000579 TRASPASO A EXPLOTACIÓN EN FONDO
- * Se suprime el componente elemento (no existe en la estructura)
- ** Inicio Modificación MDB 29.06.2005
- * WHEN '3'.
- * WRITE: text-050, instalaciones-elemento.
- ** Fin modificaicón MDB 29.06.2005
- * Fin 26/11/2007 7700000579 TRASPASO A EXPLOTACIÓN EN FONDO
- WHEN OTHERS.
- WRITE: ' '.
- ENDCASE.
- ELSE.
- IF instalaciones-cantidad <> instalaciones-anbtr.
- WRITE: 64 ' << ERROR >>'.
- ELSE.
- WRITE: 64 cant_escribir1.
- ENDIF.
- ENDIF.
- ELSE.
- IF p_anular IS INITIAL.
- WRITE: /61 instalaciones-afabe,
- 64 cant_escribir1,
- 80 cant_escribir,
- ' '.
- ELSE.
- IF instalaciones-cantidad <> instalaciones-anbtr.
- WRITE: /61 instalaciones-afabe,
- 64 ' << ERROR >>'.
- ELSE.
- WRITE: /61 instalaciones-afabe,
- 64 cant_escribir1.
- ENDIF.
- ENDIF.
- ENDIF.
- * Guardar los datos en el área hide
- HIDE: instalaciones-traspasar,
- instalaciones-anlue,
- instalaciones-afabe,
- instalaciones-aktiv,
- instalaciones-cantidad,
- instalaciones-error,
- slinea.
- CLEAR slinea.
- ***Inicio 23320-21/11/2006
- *If p_fondo eq 'X'.
- *write 'ejecucion en proceso de fondo'.
- *endif.
- ***Fin 23320-21/11/2006
- ENDFORM. "TRATAR_DATOS
- *----------------------------------------------------------------------*
- * FORM LISTADO_PEPS *
- *----------------------------------------------------------------------*
- * Visualiza los PEP's de la instalación seleccionada *
- *----------------------------------------------------------------------*
- FORM listado_peps.
- CLEAR tipo_listado.
- CLEAR atrib1.
- LOOP AT pep WHERE anlue = instalaciones-anlue.
- CLEAR prps-post1.
- * Para calcular la identacion.
- AT NEW posid.
- slinea = 'X'.
- ADD 1 TO atrib1.
- atrib = ( atrib1 MOD 2 ) + 1.
- ENDAT.
- IF pep-traspasar IS INITIAL.
- CLEAR valor0.
- ELSE.
- valor0 = pep-cantidad.
- ENDIF.
- WRITE valor0 TO cant_escribir CURRENCY c_moneda.
- WRITE pep-anbtr TO cant_escribir1 CURRENCY c_moneda.
- * Buscar el texto de inmovilizado principal
- SELECT SINGLE post1 objnr INTO (prps-post1,prps-objnr)
- FROM prps
- WHERE posid = pep-posid.
- * presup = suma wkg001....wkg012
- SELECT SUM( wkg001 ) SUM( wkg002 ) SUM( wkg003 ) SUM( wkg004 )
- SUM( wkg005 ) SUM( wkg006 ) SUM( wkg007 ) SUM( wkg008 )
- SUM( wkg009 ) SUM( wkg010 ) SUM( wkg011 ) SUM( wkg012 )
- SUM( wkg013 )
- INTO (cosp-wkg001, cosp-wkg002, cosp-wkg003, cosp-wkg004,
- cosp-wkg005, cosp-wkg006, cosp-wkg007, cosp-wkg008,
- cosp-wkg009, cosp-wkg010, cosp-wkg011, cosp-wkg012,
- cosp-wkg013)
- FROM cosp
- WHERE objnr EQ prps-objnr AND
- lednr EQ '00' AND
- wrttp EQ '01' AND
- versn EQ '003'.
- cosp-wkg001 = cosp-wkg001 + cosp-wkg002 + cosp-wkg003 + cosp-wkg004 +
- cosp-wkg005 + cosp-wkg006 + cosp-wkg007 + cosp-wkg008 +
- cosp-wkg009 + cosp-wkg010 + cosp-wkg011 + cosp-wkg012 +
- cosp-wkg013.
- WRITE cosp-wkg001 TO cant_escribir2 CURRENCY c_moneda.
- * Visualizar los datos
- FORMAT COLOR = atrib.
- IF slinea EQ 'X'.
- IF instalaciones-error = '0'.
- pep-error = '0'.
- ENDIF.
- IF pep-error NE ' '.
- WRITE: /1 pep-traspasar AS CHECKBOX INPUT OFF.
- ELSE.
- WRITE: /1 pep-traspasar AS CHECKBOX.
- ENDIF.
- WRITE: 3 pep-posid(9),
- 13 prps-post1(25),
- 39 pep-estado,
- 44 cant_escribir2,
- 61 pep-afabe,
- 64 cant_escribir1,
- 80 cant_escribir.
- CASE pep-error.
- WHEN '0'.
- WRITE : text-050.
- WHEN '1'.
- WRITE : text-051,' '.
- WHEN '2'.
- WRITE : text-052,' '.
- WHEN OTHERS.
- WRITE : ' '.
- ENDCASE.
- * Desactivado . De momento no se pueden despreciar peps(traspaso manual)
- * if pep-error is initial or pep-error = '0'.
- * write: pep-despreciar as checkbox input off.
- * else.
- * write: pep-despreciar as checkbox.
- * endif.
- ELSE.
- WRITE: /61 pep-afabe,
- 64 cant_escribir1,
- 80 cant_escribir,
- ' '.
- ENDIF.
- WRITE: 132 ' '.
- * Guardar los datos en el área hide
- HIDE: pep-traspasar,
- pep-posid,
- pep-anlue,
- pep-cantidad,
- sw_error_comun,
- slinea.
- CLEAR slinea.
- ENDLOOP.
- ENDFORM. " LISTADO_SUBNUMEROS
- *----------------------------------------------------------------------*
- * FORM LISTADO_MOVIMIENTOS *
- *----------------------------------------------------------------------*
- * Listado de los movimientos de un subnúmero *
- *----------------------------------------------------------------------*
- FORM listado_movimientos.
- CLEAR tipo_listado.
- CLEAR: atrib1,
- slinea.
- * AÑADIDO POR JGC EL 10/02/1999
- CLEAR: er1, er2.
- * FIN AÑADIDO POR JGC EL 10/02/1999
- LOOP AT movimientos WHERE anlue = instalaciones-anlue AND
- posid = pep-posid.
- * ver si hay inversión material para movimiento de orden común
- IF NOT lista_error IS INITIAL.
- CHECK NOT movimientos-traspasar IS INITIAL.
- * if movimientos-anln2+3(1) = '1' and
- * movimientos-tipo is initial and
- * er1 is initial.
- * er1 = 'X'.
- * endif.
- * if not movimientos-tipo is initial and
- * er2 is initial.
- * er2 = 'X'.
- * endif.
- ENDIF.
- * Visualizar los datos
- IF movimientos-traspasar IS INITIAL. " deseleccionado el movimiento
- CLEAR movimientos-cantidad.
- ENDIF.
- ADD 1 TO atrib1.
- atrib = ( atrib1 MOD 2 ) + 1.
- FORMAT COLOR = atrib.
- WRITE: movimientos-cantidad TO cant_escribir CURRENCY c_moneda,
- movimientos-anbtr TO cant_escribir1 CURRENCY c_moneda.
- IF p_anular IS INITIAL.
- READ TABLE ordenes WITH KEY aufnr = movimientos-aufnr.
- SELECT SINGLE anlkl FROM anla INTO anla-anlkl
- WHERE bukrs = p_bukrs
- AND anln1 = movimientos-anln1
- AND anln2 = movimientos-anln2.
- SELECT SINGLE * FROM ziccl WHERE anlkl = anla-anlkl.
- WRITE: /1 movimientos-aufnr,
- 15 ordenes-orden_comun NO-GAP,
- 16 sy-vline NO-GAP,
- 17 ziccl-comun,
- 20 movimientos-anln1,
- 33 movimientos-anln2,
- 39 movimientos-afabe,
- 44 movimientos-bwasl,
- 50 movimientos-bzdat,
- 61 cant_escribir1,
- cant_escribir.
- ELSE.
- WRITE: /2 movimientos-anln1,
- 17 movimientos-anln2,
- 24 movimientos-afabe,
- 29 movimientos-bwasl,
- 35 movimientos-bzdat.
- IF movimientos-bwasl = '999'
- OR movimientos-anbtr <> movimientos-cantidad.
- WRITE: 46 ' << ERROR >>'.
- ELSE.
- WRITE: 46 cant_escribir.
- ENDIF.
- ENDIF.
- HIDE slinea.
- ENDLOOP.
- ENDFORM. " LISTADO_MOVIMIENTOS
- *---------------------------------------------------------------------*
- * Form CREA_TABLAS
- *---------------------------------------------------------------------*
- FORM crea_tablas.
- DATA:
- contapep TYPE p,
- containst TYPE p,
- valorm TYPE p,
- sw_error_comun,
- sw_error_reparto.
- REFRESH : instalaciones,
- pep.
- * totpep.
- CLEAR : instalaciones,
- pep,
- * totpep,
- contapep,
- containst,
- sw_error_comun,
- sw_error_reparto.
- * Inicio de modificación JMM 22.07.20005.
- * LOOP AT movimientos.
- DATA aux_movimientos LIKE movimientos.
- DATA flag_aux. "jmm
- DATA pre. "jmm prefijo del número de elemento
- DATA anln2_aux LIKE anla-anln2.
- LOOP AT movimientos INTO aux_movimientos.
- MOVE-CORRESPONDING aux_movimientos TO movimientos.
- * Fin de modificación JMM 22.07.2005
- AT NEW anlue.
- CLEAR instalaciones-error.
- CLEAR flag_aux. "jmm
- PERFORM gestion_nueva_instalacion.
- ENDAT.
- AT NEW posid.
- CLEAR pep-error.
- ENDAT.
- IF anla-aktiv IS INITIAL.
- instalaciones-error = '0'.
- CLEAR movimientos-cantidad.
- ENDIF.
- * Inicio Modificación MDB 29.06.2005
- *inicio modificación jmm 26.07.2005
- *comprobamos que el elemento receptor no tenga fecha de cap.vacia
- pre = movimientos-anln1+0(1).
- IF movimientos-anln1+0(1) = '4' OR movimientos-anln1+0(1) = '2'.
- movimientos-anln1+0(1) = movimientos-anln1+0(1) - '1'.
- ENDIF.
- anln2_aux = movimientos-anln2.
- movimientos-anln2(1) = p_fecha(1).
- movimientos-anln2+1(2) = p_fecha+2(2).
- movimientos-anln2+3(1) = movimientos-anln2+3(1).
- CLEAR aktiv_elem.
- SELECT SINGLE aktiv INTO aktiv_elem
- FROM anla WHERE anln1 = movimientos-anln1
- AND anln2 = movimientos-anln2
- AND bukrs = p_bukrs.
- IF sy-subrc = '0' AND aktiv_elem IS INITIAL.
- instalaciones-error = '3'.
- flag_aux = '1'. "jmm
- * 26/11/2007 7700000579 TRASPASO A EXPLOTACIÓN EN FONDO
- * CONCATENATE movimientos-anln1 '-' movimientos-anln2
- * INTO instalaciones-elemento.
- * Fin 26/11/2007 7700000579 TRASPASO A EXPLOTACIÓN EN FONDO
- CLEAR movimientos-cantidad.
- ENDIF.
- movimientos-anln1+0(1) = pre.
- movimientos-anln2 = anln2_aux.
- *fin modificación jmm 26.07.2005
- * Fin Modificación MDB 29.06.2005
- IF movimientos-cantidad EQ 0.
- CLEAR movimientos-traspasar.
- ENDIF.
- MODIFY movimientos INDEX sy-tabix.
- * Acumulamos los valores en el Registro.
- ADD movimientos-anbtr TO : pep-anbtr.
- IF NOT p_anular IS INITIAL.
- ADD movimientos-anbtr TO instalaciones-anbtr.
- ENDIF.
- ADD movimientos-cantidad TO : pep-cantidad.
- * comentada 15/04/99 instalaciones-cantidad.
- valorm = ABS( movimientos-cantidad ).
- ADD valorm TO : contapep.
- * comentada 15/04/99 containst.
- ** inicio jmm si algún elemento de la instalación
- ** no tiene fecha de capitalización desmarcamos el traspaso
- IF flag_aux = '1'.
- CLEAR: pep-traspasar, movimientos-traspasar,
- instalaciones-traspasar.
- ELSE.
- MOVE: movimientos-estado TO pep-estado,
- movimientos-traspasar TO pep-traspasar,
- movimientos-traspasar TO instalaciones-traspasar.
- ENDIF.
- ** fin jmm
- * Insercion de un nuevo registro de elemento PEP.
- AT END OF posid.
- MOVE : movimientos-anlue TO pep-anlue,
- movimientos-afabe TO pep-afabe,
- movimientos-posid TO pep-posid.
- IF p_anular IS INITIAL.
- * MODIFICACION JUAN 15/04/99
- * VALIDA QUE EL PEP TENGA LOS MOVIMIENTOS CORRECTOS, QUE NO HAY
- * UN ELEMENTO COMUN A UN ELEMENTO NO COMUN , PORQUE SI NO,
- * INTENTARA TRASPASAR UN ELEMENTO COMUN
- PERFORM valida_orden_comun USING sw_error_comun.
- IF sw_error_comun = 'X'.
- CLEAR: contapep, pep-cantidad, movimientos-traspasar.
- MODIFY movimientos TRANSPORTING traspasar
- WHERE anlue = movimientos-anlue
- AND posid = movimientos-posid.
- CLEAR sw_error_comun.
- pep-error = '1'.
- ELSE.
- PERFORM validar_errores USING sw_error_reparto.
- IF sw_error_reparto = 'X'.
- CLEAR: contapep, pep-cantidad, movimientos-traspasar.
- MODIFY movimientos TRANSPORTING traspasar
- WHERE anlue = movimientos-anlue
- AND posid = movimientos-posid.
- CLEAR sw_error_comun.
- pep-error = '2'.
- * pep-error = ' '.
- ENDIF.
- ENDIF.
- ENDIF.
- * FIN MODIFICACION JUAN 15/04/99
- IF contapep EQ 0.
- CLEAR pep-traspasar.
- ENDIF.
- IF p_anular IS INITIAL.
- READ TABLE totpep WITH KEY anlue = pep-anlue
- posid = pep-posid
- afabe = pep-afabe.
- IF sy-subrc NE 0.
- WRITE :/ 'ERROR'.
- CONTINUE.
- ENDIF.
- MOVE totpep-anbtr TO pep-anbtr.
- ADD pep-anbtr TO instalaciones-anbtr.
- ENDIF.
- * MODIFICACION JUAN 15/04/99
- ADD contapep TO containst.
- ADD pep-cantidad TO instalaciones-cantidad.
- * FIN MODIFICACION JUAN 15/04/99
- APPEND pep.
- CLEAR: pep,
- contapep.
- ENDAT.
- AT END OF afabe.
- * Insercion de un nuevo registro de instalaciones.
- MOVE : movimientos-anlue TO instalaciones-anlue,
- movimientos-afabe TO instalaciones-afabe,
- anla-aktiv TO instalaciones-aktiv,
- anla-txt50 TO instalaciones-txt50.
- IF containst EQ 0 AND p_anular IS INITIAL.
- CLEAR instalaciones-traspasar.
- ENDIF.
- IF instalaciones-error IS INITIAL.
- LOOP AT pep WHERE anlue = instalaciones-anlue
- AND error NE ' '.
- instalaciones-error = pep-error.
- ENDLOOP.
- ENDIF.
- APPEND instalaciones.
- CLEAR: instalaciones,
- containst.
- ENDAT.
- ENDLOOP.
- *perform modifica_anbtr_peps.
- ENDFORM. " CREA_TABLAS
- *---------------------------------------------------------------------*
- * FORM GESTION_NUEVA_INSTALACION *
- *---------------------------------------------------------------------*
- * ........ *
- *---------------------------------------------------------------------*
- FORM gestion_nueva_instalacion.
- DATA: aux_sup LIKE anla-anlue,
- aux_sub_sup LIKE anla-anln2.
- SPLIT movimientos-anlue AT '-' INTO aux_sup aux_sub_sup.
- * Conversion formato interno-externo subnumero del ANLUE
- CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
- EXPORTING
- input = aux_sub_sup
- IMPORTING
- output = aux_sub_sup.
- * if aux_sub_sup is initial.
- * aux_sub_sup = '0000'.
- * endif.
- * Buscar la denominación del inmovilizado
- CLEAR anla-aktiv.
- CLEAR anla-txt50.
- SELECT bukrs anln1 anln2 anlkl aktiv anlue txt50 txa50
- INTO CORRESPONDING FIELDS OF anla
- FROM anla WHERE anln1 = aux_sup AND
- anln2 = aux_sub_sup AND
- bukrs = p_bukrs AND
- anlkl = clase_anlue.
- EXIT.
- ENDSELECT.
- *jmm Comentado
- ** Inicio Modificación Mariona Donnay
- * SELECT SINGLE aktiv INTO aktiv_elem
- * FROM anla WHERE anln1 = movimientos-anln1.
- ** Fin Modificación Mariona Donnay
- ENDFORM. "GESTION_NUEVA_INSTALACION
- *---------------------------------------------------------------------*
- * FORM MODIFICA_ANBTR_PEPS *
- *---------------------------------------------------------------------*
- * ........ *
- *---------------------------------------------------------------------*
- FORM modifica_anbtr_peps.
- LOOP AT pep.
- MODIFY pep.
- ENDLOOP.
- ENDFORM. "MODIFICA_ANBTR_PEPS
- *&---------------------------------------------------------------------*
- *& Form ACTUALIZA_MOV
- *&---------------------------------------------------------------------*
- FORM actualiza_instal.
- instalaciones-traspasar = lineaflag.
- IF p_anular IS INITIAL.
- * caso de calculo de acumulados.
- LOOP AT pep WHERE anlue EQ instalaciones-anlue AND
- traspasar NE lineaflag.
- AT NEW posid.
- PERFORM actualiza_pep USING 'X'.
- IF pep-traspasar EQ 'X'.
- instalaciones-traspasar = 'X'.
- ENDIF.
- ENDAT.
- ENDLOOP.
- ELSE.
- * Modificacion de tabla MOVIMIENTOS
- movimientos-traspasar = instalaciones-traspasar.
- MODIFY movimientos TRANSPORTING traspasar
- WHERE anlue EQ instalaciones-anlue AND
- traspasar NE instalaciones-traspasar AND
- cantidad NE 0.
- ENDIF.
- * Modificacion del registro de instalaciones.
- MODIFY instalaciones TRANSPORTING traspasar
- WHERE anlue EQ instalaciones-anlue.
- ENDFORM. " ACTUALIZA_INSTAL
- *---------------------------------------------------------------------*
- * FORM ACTUALIZA_PEP *
- *---------------------------------------------------------------------*
- FORM actualiza_pep USING marcado_pep.
- READ TABLE pep WITH KEY posid = pep-posid.
- * En el caso de ser para anulación.
- MOVE lineaflag TO: movimientos-traspasar,
- pep-traspasar.
- IF pep-error NE ' '.
- CLEAR pep-traspasar.
- ENDIF.
- IF marcado_pep = ' '.
- MOVE lineaflag_desp TO: movimientos-despreciar,
- pep-despreciar.
- IF pep-traspasar = 'X' AND pep-despreciar = 'X'.
- CLEAR: pep-traspasar, pep-despreciar.
- MESSAGE w985(zi).
- EXIT.
- ENDIF.
- ELSE.
- MOVE ' ' TO: movimientos-despreciar,
- pep-despreciar.
- ENDIF.
- * Modificacion de tabla MOVIMIENTOS
- MODIFY movimientos TRANSPORTING traspasar despreciar
- WHERE anlue EQ pep-anlue AND
- posid EQ pep-posid AND
- ( traspasar NE pep-traspasar OR
- despreciar NE pep-despreciar ) AND
- cantidad NE 0 AND
- ( estado EQ ce_cerr OR
- estado EQ ce_expl OR
- estado EQ ce_ctec ).
- * comentado por juan Garcia el dia 26.11.1998
- * Si no habia ningun movimiento valido PEP estara sin traspasar.
- * if sy-subrc ne 0 and movimientos-traspasar eq 'X'.
- * clear pep-traspasar.
- * endif.
- * Modificacion de tabla PEP
- MODIFY pep TRANSPORTING traspasar despreciar
- WHERE anlue EQ pep-anlue AND
- posid EQ pep-posid.
- ENDFORM. " ACTUALIZA_PEP
- *---------------------------------------------------------------------*
- * FORM ACTUALIZAR *
- *---------------------------------------------------------------------*
- FORM actualizar.
- * Procesar las líneas de la pantalla
- DO.
- READ LINE sy-index. " Leer línea de pantalla
- * Si no existen más líneas en la pantalla, abandonar este proceso
- IF sy-subrc <> 0.
- EXIT.
- ENDIF.
- CHECK sy-lilli > 5. " Si es una línea del listado
- * si es una linea con chekbox se guarda el valor del checkbox
- IF slinea EQ 'X'.
- lineaflag = sy-lisel(1).
- IF sy-lsind = 2.
- lineaflag_desp = sy-lisel+113(1).
- ENDIF.
- ENDIF.
- * Si se ha anulado el checkbox se deselecciona todo. OR
- * Si se ha seleccionado el checkbox se selecciona todo a la vez
- *este if es truco
- * if slinea eq 'X'.
- IF sy-lsind EQ 1 OR NOT p_anular IS INITIAL.
- flag = instalaciones-traspasar.
- ELSE.
- flag = pep-traspasar.
- flag_desp = pep-despreciar.
- ENDIF.
- *endif.
- * Si se ha modificado el flag
- IF flag NE lineaflag "or sy-lsind = 2 and sw_error_comun = 'X'.
- OR ( sy-lsind = 2 AND flag_desp NE lineaflag_desp ).
- * Actualizacion de tablas
- IF sy-lsind EQ 1 OR NOT p_anular IS INITIAL.
- IF NOT instalaciones-aktiv IS INITIAL.
- IF slinea EQ 'X'.
- PERFORM actualiza_instal.
- ELSE.
- instalaciones-traspasar = lineaflag.
- ENDIF.
- ELSE.
- CLEAR instalaciones-traspasar.
- ENDIF.
- IF instalaciones-traspasar IS INITIAL.
- CLEAR valor0.
- ELSE.
- valor0 = instalaciones-cantidad.
- ENDIF.
- MODIFY CURRENT LINE FIELD VALUE instalaciones-traspasar.
- ELSE.
- IF NOT instalaciones-aktiv IS INITIAL.
- PERFORM actualiza_pep USING ' '.
- ELSE.
- CLEAR pep-traspasar.
- ENDIF.
- IF pep-traspasar IS INITIAL.
- CLEAR valor0.
- ELSE.
- valor0 = pep-cantidad.
- ENDIF.
- MODIFY CURRENT LINE FIELD VALUE pep-traspasar
- pep-despreciar.
- ENDIF.
- * Actualizar pantalla.
- WRITE valor0 TO cant_escribir CURRENCY c_moneda.
- MODIFY CURRENT LINE FIELD VALUE cant_escribir.
- ENDIF.
- ENDDO.
- READ LINE linsel OF CURRENT PAGE.
- ENDFORM. " Actualizar
- *---------------------------------------------------------------------*
- * FORM MARCAR_TODO *
- *---------------------------------------------------------------------*
- * ........ *
- *---------------------------------------------------------------------*
- * --> MARCA *
- *---------------------------------------------------------------------*
- FORM marcar_todo USING marca.
- * Procesar las líneas de la pantalla
- DO.
- READ LINE sy-index. " Leer línea de pantalla
- * Si no existen más líneas en la pantalla, abandonar este proceso
- IF sy-subrc <> 0.
- EXIT.
- ENDIF.
- CHECK sy-lilli > 5. " Si es una línea del listado
- * si es una linea con chekbox se guarda el valor del checkbox
- IF slinea EQ 'X'.
- * lineaflag = sy-lisel(1).
- lineaflag = marca.
- IF sy-lsind = 2.
- lineaflag_desp = sy-lisel+113(1).
- ENDIF.
- ENDIF.
- * Si se ha anulado el checkbox se deselecciona todo. OR
- * Si se ha seleccionado el checkbox se selecciona todo a la vez
- *este if es truco
- * if slinea eq 'X'.
- IF sy-lsind EQ 1 OR NOT p_anular IS INITIAL.
- flag = instalaciones-traspasar.
- ELSE.
- flag = pep-traspasar.
- flag_desp = pep-despreciar.
- ENDIF.
- *endif.
- * Si se ha modificado el flag
- IF flag NE lineaflag.
- * Actualizacion de tablas
- IF sy-lsind EQ 1 OR NOT p_anular IS INITIAL.
- IF NOT instalaciones-aktiv IS INITIAL.
- IF slinea EQ 'X'.
- PERFORM actualiza_instal.
- ELSE.
- instalaciones-traspasar = lineaflag.
- ENDIF.
- ELSE.
- CLEAR instalaciones-traspasar.
- ENDIF.
- IF instalaciones-traspasar IS INITIAL.
- CLEAR valor0.
- ELSE.
- valor0 = instalaciones-cantidad.
- ENDIF.
- MODIFY CURRENT LINE FIELD VALUE instalaciones-traspasar.
- ELSE.
- IF NOT instalaciones-aktiv IS INITIAL.
- PERFORM actualiza_pep USING ' '.
- ELSE.
- CLEAR pep-traspasar.
- ENDIF.
- IF pep-traspasar IS INITIAL.
- CLEAR valor0.
- ELSE.
- valor0 = pep-cantidad.
- ENDIF.
- MODIFY CURRENT LINE FIELD VALUE pep-traspasar.
- ENDIF.
- * Actualizar pantalla.
- WRITE valor0 TO cant_escribir CURRENCY c_moneda.
- MODIFY CURRENT LINE FIELD VALUE cant_escribir.
- ENDIF.
- ENDDO.
- READ LINE linsel OF CURRENT PAGE.
- ENDFORM. " Actualizar
- *&---------------------------------------------------------------------*
- *& Form VALIDA_ORDEN_COMUN
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM valida_orden_comun USING i_error.
- i_error = ' '.
- LOOP AT movimientos WHERE anlue = movimientos-anlue AND
- posid = movimientos-posid.
- * Lee la orden para saber si es comun
- READ TABLE ordenes WITH KEY aufnr = movimientos-aufnr.
- * Lee la clase del elemento
- SELECT SINGLE anlkl FROM anla INTO anla-anlkl
- WHERE bukrs = p_bukrs
- AND anln1 = movimientos-anln1
- AND anln2 = movimientos-anln2.
- * Mira si la clase del elemento es comun
- SELECT SINGLE * FROM ziccl WHERE anlkl = anla-anlkl.
- movimientos-elemento_comun = ziccl-comun.
- movimientos-orden_comun = ordenes-orden_comun.
- MODIFY movimientos.
- IF ordenes-orden_comun NE ziccl-comun.
- * Inicio modificación fex00140 19.01.1999
- * AND ORDENES-ORDEN_COMUN = ' '.
- * Fin modificación fex00140 19.01.1999
- i_error = 'X'.
- EXIT.
- ENDIF.
- ENDLOOP.
- ENDFORM. " VALIDA_ORDEN_COMUN
- *&---------------------------------------------------------------------*
- *& Form tratar_datos_fondo
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM tratar_datos_fondo .
- DATA: aux_sup LIKE anla-anlue,
- aux_sub_sup LIKE anla-anln2,
- aux_instalaciones LIKE instalaciones.
- CLEAR: aux_sup, aux_sub_sup.
- SPLIT instalaciones-anlue AT '-' INTO aux_sup aux_sub_sup.
- IF aux_sub_sup IS INITIAL.
- aux_sub_sup = '0'.
- ENDIF.
- IF sy-subrc NE 0.
- * if c_desarrollo = 'X'.
- * concatenate 'anlue ' aux_sup into anla-txt50.
- * else.
- MESSAGE e304. " Error no esperado del sistema
- * endif.
- ENDIF.
- IF instalaciones-traspasar IS INITIAL.
- CLEAR valor0.
- ELSE.
- valor0 = instalaciones-cantidad.
- ENDIF.
- WRITE valor0 TO cant_escribir CURRENCY c_moneda.
- WRITE instalaciones-anbtr TO cant_escribir1 CURRENCY c_moneda.
- * Visualizar los datos
- CLEAR anla-aktiv.
- FORMAT COLOR = atrib.
- IF slinea = 'X'.
- MOVE instalaciones-anlue TO inst_a_convertir.
- PERFORM convertir_sin_ceros.
- * Inicio Modificación MDB 29.06.2005
- * IF instalaciones-error = '0'.
- IF instalaciones-error = '0' OR instalaciones-error = '3'.
- WRITE: /1 instalaciones-traspasar AS CHECKBOX INPUT OFF.
- ELSE.
- READ TABLE pep WITH KEY anlue = instalaciones-anlue
- error = ' '.
- IF sy-subrc EQ 0.
- WRITE: /1 instalaciones-traspasar AS CHECKBOX.
- ELSE.
- WRITE: /1 instalaciones-traspasar AS CHECKBOX INPUT OFF.
- ENDIF.
- ENDIF.
- WRITE: 3 inst_a_convertir,
- 16 instalaciones-txt50(31),
- 49 instalaciones-aktiv,
- 61 instalaciones-afabe.
- IF p_anular IS INITIAL.
- WRITE: 64 cant_escribir1,
- 80 cant_escribir.
- CASE instalaciones-error.
- WHEN '0'.
- WRITE: text-050.
- WHEN '1'.
- WRITE: text-051, ' '.
- WHEN '2'.
- WRITE: text-052, ' '.
- * 26/11/2007 7700000579 TRASPASO A EXPLOTACIÓN EN FONDO
- * Inicio Modificación MDB 29.06.2005
- * WHEN '3'.
- * WRITE: text-050, instalaciones-elemento.
- ** Fin modificaicón MDB 29.06.2005
- * Fin 26/11/2007 7700000579 TRASPASO A EXPLOTACIÓN EN FONDO
- WHEN OTHERS.
- WRITE: ' '.
- ENDCASE.
- ELSE.
- IF instalaciones-cantidad <> instalaciones-anbtr.
- WRITE: 64 ' << ERROR >>'.
- ELSE.
- WRITE: 64 cant_escribir1.
- ENDIF.
- ENDIF.
- ELSE.
- IF p_anular IS INITIAL.
- WRITE: /61 instalaciones-afabe,
- 64 cant_escribir1,
- 80 cant_escribir,
- ' '.
- ELSE.
- IF instalaciones-cantidad <> instalaciones-anbtr.
- WRITE: /61 instalaciones-afabe,
- 64 ' << ERROR >>'.
- ELSE.
- WRITE: /61 instalaciones-afabe,
- 64 cant_escribir1.
- ENDIF.
- ENDIF.
- ENDIF.
- * Guardar los datos en el área hide
- HIDE: instalaciones-traspasar,
- instalaciones-anlue,
- instalaciones-afabe,
- instalaciones-aktiv,
- instalaciones-cantidad,
- instalaciones-error,
- slinea.
- CLEAR slinea.
- ENDFORM. " tratar_datos_fondo
- *&---------------------------------------------------------------------*
- *& Form seleccion_traspaso_fondo
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM seleccion_traspaso_fondo .
- CLEAR atrib1.
- LOOP AT instalaciones.
- instalaciones-traspasar = 'X'.
- MODIFY instalaciones.
- * AT NEW anlue.
- * ADD 1 TO atrib1.
- * atrib = ( atrib1 MOD 2 ) + 1.
- * slinea = 'X'.
- * ENDAT.
- *PERFORM tratar_datos_fondo.
- ENDLOOP.
- LOOP AT movimientos.
- movimientos-traspasar = 'X'.
- MODIFY movimientos.
- ENDLOOP.
- ENDFORM. " seleccion_traspaso_fondo
- * Inicio SGF - 16/07/07 *
- *&---------------------------------------------------------------------*
- *& Form tratar_datos_job
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM tratar_datos_job .
- * Visualizar los datos sumarizando por instalaciones
- CLEAR atrib1.
- LOOP AT instalaciones.
- AT NEW anlue.
- ADD 1 TO atrib1.
- atrib = ( atrib1 MOD 2 ) + 1.
- slinea = 'X'.
- ENDAT.
- PERFORM tratar_datos.
- ENDLOOP.
- ENDFORM. " tratar_datos_job
- * Fin SGF - 16/07/07 *
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement