¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como transferir dados de uma tabela interna para o formulário do SAP Script: Guia passo a passo

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

Olá especialistas,

Preciso transferir os dados de uma tabela interna para o formulário do sap script para impressão e estou utilizando um programa de pool de sub-rotinas. Esta tabela interna está no programa de pool de sub-rotinas.

Como posso fazer isso?

Obrigado antecipadamente,

Abhi

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

4 Respuestas

0
Cargando...

Olá,

O SAPscript não funciona dessa maneira, se você passar uma tabela interna para o SAPscript, ele não tem a capacidade de percorrê-la.

Na sua sub-rotina, escreva um loop que chame um elemento da sua janela principal, aqui você pode usar campos da sua tabela interna.

Saudações,

Nick

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

Olá,

Você não pode passar uma tabela interna para uma sub-rotina através de um script, só pode passar campos necessários.

Espero que você saiba o formato de chamada de uma sub-rotina:

Por exemplo, se você precisar adicionar o preço unitário (KOMVD-KBERT), então na janela principal onde esse valor é coletado, escreva esta rotina

/: DEFINE &TOT_PRICE&

/: PERFORM F_GET_PRICE NO PROGRAMA <nome do programa da sub-rotina> /:USING &KOMVD-KBERT& /:CHANGING &TOT_PRICE& /:ENDPERFORM

Em seguida, escreva a variável onde deseja que seja impressa (geralmente será na janela do rodapé)

Em seguida, crie um programa de sub-rotina pool e você terá que escrever o código.

FORM F_GET_PRICE tables int_cond structure itcsy

outt_cond structure itcsy.

data : value type kbert.

statics value1 type kbert.

Leia a tabela int_cond no Índice 1.

value = int_cond-value.

value1 = value1 + value.

Leia a tabela outt_cond no Índice 1.

outt_cond-value = value1.

Modifique outt_cond no Índice 1.

ENDFORM.

Saudações,

Narendra.

°Recompensa se foi útil!

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

Olá Abhishek ,

Você pode usar uma sub-rotina em seu sapscript assim como em seu programa de pool de sub-rotinas. Coloque uma sub-rotina abaixo de um elemento de texto em seu sapscript (usando PERFORM, END PERFORM). Na sub-rotina, crie um loop e percorra sua tabela interna. Dentro do loop, chame a FM write_form e chame o elemento de texto explicitamente para transferir os valores a cada vez para o script.

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

Não é possível passar a tabela interna do pool de sub-rotinas para o SAPSCRIPT; mas você pode passar a variável do pool de sub-rotinas para o SAPSCRIPT usando a estrutura Table-out de ITCSY.

No pool de sub-rotinas,

Utilizando a instrução Perform.

Ler table_out com chave name = 'G_TEXT' transportando não campos.

Se sy-subrc = 0.

Mover l_serial para Table_out-value.

Modificar table_out utilizando sy-tabix transportando valor.

Fim se.

No SAP SCRIPT Perform <instrução> Utilizando <&delv&> mudando <&G_text&>.

Nota: O número máximo de variáveis que você pode passar para o SAPSCRIPT do pool de sub-rotinas é de 80 caracteres.

Portanto, se estiver passando um texto longo para o SAPSCRIPT, use a função read_text; passe para uma tabela interna e depois para uma variável onde, usando um deslocamento de 80, passe todo o texto para diferentes variáveis e depois insira no 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?