MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 20/08/08, 07:02:47
jtristan jtristan is offline
Senior Member
 
Fecha de Ingreso: oct 2007
Mensajes: 240
Pasar un rango a una subrutina

Hola:

Quiero crearme una subrutina genérica que me llene los rangos. Para ello quiero pasarle por referencia un rango y por valor el signo, la opción, el valor máximo y el mínimo o una lista de valores. Bueno, el problema le tengo, al declarar el valor del rango. Me devuelve un error indicándome que mi rango no tiene la propiedad sign y no sé como decirle que se trata de un tipo rango.

Muchas gracias.

Saludos.
Responder Con Cita
  #2  
Viejo 20/08/08, 13:17:53
ibecerra
 
Mensajes: n/a
para ello utiliza los define.
*----------------------------------------------------------------------*
* DEFINE load_sel *
*----------------------------------------------------------------------*
DEFINE load_sel.
* Clear header
clear: &1.
* Fields initialize
&1-sign = &2.
&1-option = &3.
&1-low = &4.
&1-high = &5.
* Append...
append &1.
END-OF-DEFINITION. "load_sel.


y como lo llamas desde tu programa facil
EJEMPLO 1
load_sel ZT_RAN33 'I' 'EQ' 'KD' ' '.
load_sel ZT_RAN33 'I' 'EQ' 'KE' ' '.
load_sel ZT_RAN33 'I' 'EQ' 'KG' ' '.
EJEMPLO 2
LOAD_SEL: R_BLART 'I' 'EQ' 'VR' ' ',
R_BLART 'I' 'EQ' 'KR' ' ',
R_BLART 'I' 'EQ' 'VG' ' ',
R_BLART 'I' 'EQ' 'KG' ' ',
R_BLART 'I' 'EQ' 'VD' ' '.

EJEMPLO 3

SELECT BLART INTO VBLARTA
FROM ZTSRICLA
WHERE GRUPO IN S_GRUPO
AND BLART IN S_BLART.
LOAD_SEL R_BLART 'I' 'EQ' VBLARTA ' '.
ENDSELECT.

Responder Con Cita
  #3  
Viejo 20/08/08, 17:21:30
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Hola ... puedes crear un tipo local de esta manera:


la tabla y campo debera estar apuntando al tipo de dato que quieres, ahora crear una variable simple como tabla interna:


Y cuando quieras llamar a la subrutina la haces de esta manera:


Ahi ya te admitirá los campos sign., option, low y high dentro de la subrutina, espero pueda servir
__________________
David Carballido Córdova
Responder Con Cita
  #4  
Viejo 21/08/08, 05:10:23
jtristan jtristan is offline
Senior Member
 
Fecha de Ingreso: oct 2007
Mensajes: 240
Muchas gracias a los dos. Voy a probar ambas opciones. No conocía los define y tienen buena pinta.
Un saludo.
Responder Con Cita
  #5  
Viejo 16/01/14, 18:38:29
osoro osoro is offline
Junior Member
 
Fecha de Ingreso: jul 2009
Mensajes: 2
Otra manera

Hola, lo que yo hago por ejemplo:

START-OF-SELECTION.
SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE text-y01.
SELECT-OPTIONS:
......
seldatab FOR wa_seltrip-DATB1.
SELECTION-SCREEN END OF BLOCK 1.
.....
AT SELECTION-SCREEN.
.....
PERFORM SELDATAB_Ini TABLES seldatab[].
.....

FORM SELDATAB_INI TABLES P_SELDATAB.
DATA: ....
* tr_seldatab LIKE RANGE OF wa_seltrip-DATB1 "Esta es otra manera
* wr_seldatab LIKE LINE OF tr_seldatab.
RANGES: tr_seldatab FOR wa_seltrip-DATB1.
.....
* Creo el criterio de seleccion
tr_seldatab-sign = 'I'.
tr_seldatab-option = 'BT'.
tr_seldatab-low = vl_Ini_Data_Sel.
tr_seldatab-high = vl_Fin_Data_Sel.
APPEND tr_seldatab.
p_seldatab[] = tr_seldatab[].
ENDFORM. " SELDATAB_INI

Úlima edición por osoro fecha: 16/01/14 a las 21:29:00.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 04:49:45.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web