MUNDOSAP

MUNDOSAP (foro/index.php)
-   Formularios - SAPScript - Smartforms (foro/forumdisplay.php?f=5)
-   -   Pasar variables a subrutina en sapscript (foro/showthread.php?t=9986)

ongo 02/01/08 15:03:29

Pasar variables a subrutina en sapscript
 
Buenas tardes,

Necesito hacer un Sapscript y para ello necesito crearme una subrutina para poder realizar varias operaciones. He creado la subrutina. El problema llega cuando quiero pasar 2 variables a la subrutina. En la subrutina me he creado un form con el siguiente código:

form x tables in_tab structure itcsy
out_tab structure itcsy.


endform.

En el sap script hago la perform con las variables que quiero pasarle a la subrutina y no me va. Solo me coge una variable.

¿Alguien sabe como se puede pasar en un sapscript a una subrutina 2 variables?

Jewel_1982 02/01/08 15:30:44

te creas un report con el mismo nombre q tu sapscript, lo llamas desde la ventana q sea de la siguiente manera:
/* Obtener NIF
/: DEFINE &V_NIF& = '-'
/: PERFORM OBTENER_NIF IN PROGRAM Z_MEDRUCK
/: USING &EKKO-LIFNR&
/: CHANGING &V_NIF&
/: ENDPERFORM

Los campos q le pasas para obtener lo que necesitas tendran q estar rellenos en el programa de control del formulario y luego llamar a este mini report con rutinitas y operaciones

Y en el form 'z_medruck':
*&---------------------------------------------------------------------*
*& Form obtener_NIF
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_I_RETURN text
*----------------------------------------------------------------------*
FORM obtener_nif TABLES in_tab STRUCTURE itcsy
out_tab STRUCTURE itcsy.
DATA: v_prov LIKE lfa1-lifnr.

* Leer el proveedor
READ TABLE in_tab WITH KEY name = 'EKKO-LIFNR'.
v_prov = in_tab-value.

PERFORM rellenar_ceros CHANGING v_prov.


SELECT SINGLE stcd1 INTO lfa1-stcd1 FROM lfa1 WHERE
lifnr = v_prov.
** Aqui le pasas el dato cambiado o modificado q en mi caso lo dejo en el **sapscript en v_nif
READ TABLE out_tab INDEX 1.
MOVE lfa1-stcd1 TO out_tab-value.
MODIFY out_tab INDEX 1.

**si tendria otro lo pasaria en la 2ª posicion y me crearia otra v_*** en el **formulario para pasarle el segundo valor
READ TABLE out_tab INDEX 2.
MOVE xx_2ªdato_xx TO out_tab-value.
MODIFY out_tab INDEX 2.

ENDFORM. "obtener_nif

***Espero q te sirva***


Husos Horarios son GMT. La hora en este momento es 13:49:40.

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