martes, septiembre 15, 2009

SAPSCRIPT - Llamar a una rutina

Código de SAPSCRIPT:
/: PERFORM RECUPERAR_DATOS_PAGOS IN PROGRAM ZPROGRAMA
/: USING &VAR1&
/: USING &VAR2&
/: CHANGING &VAR3&
/: ENDPERFORM
REPORT zfi_include.
*&---------------------------------------------------------------------*
*& Form recuperar_codigo_nacional
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->IN_TAB text
* -->OUT_TAB text
*----------------------------------------------------------------------*
FORM recuperar_datos_pagos TABLES in_tab STRUCTURE itcsy
out_tab STRUCTURE itcsy.

DATA: l_wa_in_tab TYPE itcsy.
DATA: l_wa_out_tab TYPE itcsy.
DATA: l_var1 TYPE reguh-laufd.
DATA: l_var2 TYPE reguh-laufi.
DATA: l_var3 TYPE reguh-rwbtr.

* Recuperar valores SAPSCRIPT
CLEAR: l_wa_in_tab.
READ TABLE in_tab WITH KEY name = 'VAR1'
INTO l_wa_in_tab.
IF sy-subrc EQ 0.
l_var1 = l_wa_in_tab-value.
ENDIF.

CLEAR: l_wa_in_tab.
READ TABLE in_tab WITH KEY name = 'VAR2'
INTO l_wa_in_tab.
IF sy-subrc EQ 0.
l_var2 = l_wa_in_tab-value.
ENDIF.

* Modificar valores SAPSCRIPT
l_var3 = l_var1 + l_var2.
l_wa_out_tab-value = l_var3.
l_wa_out_tab-name = 'VAR3'.
MODIFY out_tab FROM l_wa_out_tab
TRANSPORTING value
WHERE name EQ 'VAR3'.

ENDFORM. "recuperar_datos_pagos

viernes, septiembre 04, 2009

SAPSCRIPT - Varios

Varias temas sobre SAPSCRIPT:

- Linea muy larga, se ponde '=' para que mantenga mismo párrafo.
- Mostrar texto sólo cuando una variable esta informada, &'TEXTO 'VARIABLE&.
- Eliminar espacios cantidades, &VARIABLE(C)&.
- Para suprimir el reconocimiento de un carácter especial, use <(>...<)>.
- Variables de paginación:
DEFINE &PAGINA_ACTUAL& = &PAGE(2)&
DEFINE &TOTAL_PAGINA& = &SAPSCRIPT-FORMPAGES(2)&
IF &PAGINA_ACTUAL(C)& EQ &TOTAL_PAGINA(C)&