¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo pasar datos de una tabla interna al formulario de SAP Script: Guía paso a paso

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 163 Vistas
0
Cargando...

Hola expertos,

Tengo que pasar los datos de una tabla interna al formulario de sap script para imprimir y estoy usando un programa de pool de subrutinas. Esta tabla interna está en el programa de pool de subrutinas.

¿Cómo puedo hacer esto?

Gracias de antemano,

Abhi

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola,

SAPscript no funciona de esta manera, si pasas una tabla interna a SAPscript, no tiene la capacidad de recorrerla.

En tu subrutina escribe un bucle que llame a un elemento de tu ventana principal, aquí puedes usar campos de tu tabla interna.

Saludos,

Nick

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola,

No puedes pasar una tabla interna a una subrutina a través de un script, solo puedes pasar campos requeridos.

Espero que conozcas el formato de llamado a una subrutina:

Por ejemplo, si tienes que agregar el precio unitario (KOMVD-KBERT), entonces en la ventana principal donde se recoge ese valor, escribe esta rutina

/: DEFINE &TOT_PRICE&

/: PERFORM F_GET_PRICE EN PROGRAMA <nombre del programa de subrutina> /:USING &KOMVD-KBERT& /:CHANGING &TOT_PRICE& /:ENDPERFORM

Luego escribe la variable donde quieras que se imprima (generalmente será en la ventana del pie de página)

Luego crea un programa de subrutina pool y tienes que escribir el código.

FORM F_GET_PRICE tables int_cond structure itcsy

outt_cond structure itcsy.

data : value type kbert.

statics value1 type kbert.

Lee la tabla int_cond en el índice 1.

value = int_cond-value.

value1 = value1 + value.

Lee la tabla outt_cond en el índice 1.

outt_cond-value = value1.

Modifica outt_cond en el índice 1.

ENDFORM.

Saludos,

Narendra.

¡Recompensa si fue útil!

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Abhishek ,

Puedes usar un subrutina en tu sapscript así como en tu programa de pool de subrutinas. Coloca una subrutina debajo de un elemento de texto en tu sapscript (usando PERFORM, END PERFORM). En la subrutina, crea un bucle y recorre tu tabla interna. Dentro del bucle llama a la FM write_form y llama al elemento de texto explícitamente para transferir los valores cada vez al script.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

No puedes pasar la tabla interna desde el pool de subrutinas a SAPSCRIPT; pero puedes pasar la variable desde el pool de subrutinas a SAPSCRIPT utilizando la estructura Table-out de ITCSY.

En el pool de subrutinas,

Utilizando la instrucción Perform.

leer table_out con clave name = 'G_TEXT' transportando no campos.

si sy-subrc = 0.

Mover l_serial a Table_out-value.

Modificar table_out utilizando sy-tabix transportando valor.

fin si.

En SAP SCRIPT Perform <instrucción> Utilizando <&delv&> cambiando <&G_text&>.

Nota: El número máximo de variables que puedes pasar a SAPSCRIPT desde el pool de subrutinas es de 80 caracteres.

Por lo tanto, si estás pasando un texto largo a SAPSCRIPT, utiliza la función read_text; pásalo a una tabla interna y luego a una variable donde, utilizando un desplazamiento de 80, pasa todo el texto a diferentes variables y luego pópulalas en SAPSCRIPT.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?