Foro -Documentación -Código fuente -Contacto -Empleo

Buscar

Traducir

Amazon

Z_EXTRACT_BATCH_INPUT PDF Imprimir E-mail
Usar puntuación: / 0
MaloBueno 
Código fuente - Informativos
Lunes, 07 de Julio de 2003 21:07
Extrae información de un juego de datos Batch Input
************************************************************************
* Permite extraer la información que compone un batch input            *
* Es necesario seleccionar el juego de datos a buscar y el campo       *
* que contiene la información que queremos visualizar                  *
*                                                                      *
* Andrés Picazo 18/11/2002                       http://www.sapabap.cc *
*                                                                      *
************************************************************************
REPORT z_extract_batch_input.

TABLES: apqd, apqi.

data: i_apqi like apqi occurs 100 with header line. selection-screen begin of block a1 with frame.
SELECT-OPTIONS: s_credat FOR apqi-credate,  "Fecha creación batch input
                s_groupi FOR apqi-groupid obligatory,  "N. juego datos
                s_creato FOR apqi-creator.  "Usuario que lo creo selection-screen end of block a1.

selection-screen begin of block a2 with frame.
parameters: p_prog(40) obligatory,                     "Nombre programa
            p_dynp(4) obligatory,                      "Nº Dynpro
            p_fiel like dd03l-FIELDNAME obligatory.     "Campo
selection-screen end of block a2.

DATA: L_aux1 type string,
      l_aux2 type string,
      l_aux  type string,
      l_texto type string.

data: c_aux,
      x_aux type x.

START-OF-SELECTION.

* Seleccionamos el juego de datos
  SELECT * FROM apqi
    into table i_apqi
   WHERE credate IN s_credat
     AND groupid IN s_groupi
     AND creator IN s_creato
     and mandant = sy-mandt.

  loop at i_apqi.

* Accedemos a la composición del batch input
    select * from apqd
     where qid = i_apqi-qid.

* Buscamos la pantalla y el dynpro
      if apqd-vardata+22(40) = p_prog and
         apqd-vardata+62(4)  = p_dynp.
        l_aux = p_fiel.

* Buscamos el campo
        l_texto = apqd-vardata.
        split l_texto at l_aux into l_aux1 l_aux2.
        if sy-subrc = 0.
* Obtenemos sus valores
          if not l_aux2 is initial.
            l_aux2 = l_aux2+1.
            clear l_aux1.
            do.
              c_aux = l_aux2(1).
              write c_aux to x_aux.
              if x_aux ne '00'.
                concatenate l_aux1 c_aux into l_aux1.
              else.
                exit.
              endif.
              SHIFT l_aux2 LEFT.
              if l_aux2 is initial.
                exit.
              endif.
            enddo.
            write: / l_aux1.
        endif.
      endif.
    endif.
  endselect.

endloop.



Comentarios
Buscar
¡Sólo los usuarios registrados pueden escribir comentarios!

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 
home search