PDA

Ver la Versión Completa : Leer Juego De Datos


MACM
16/03/09, 10:29:39
Hola,

Alguien me podría decir si hay alguna manera de leer el contenido de un juego de datos ???

Necesito lanzar un proceso antes de la ejecución del juego de datos pero teniendo en cuenta el contenido.

Saludos y gracias

elvismendoza70
16/03/09, 13:05:50
Hola,

Alguien me podría decir si hay alguna manera de leer el contenido de un juego de datos ???

Necesito lanzar un proceso antes de la ejecución del juego de datos pero teniendo en cuenta el contenido.

Saludos y gracias

Hola prueba este codigo para que leas el juego de datos antes de ejecutarlo.
************************************************************************
* 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 *
* Útil para analizar el contenido campo por campo del juego de datos * *
* *
************************************************************************
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.

MACM
16/03/09, 13:33:03
Tiene muy buena pinta. Muchisimas gracias