enero 30, 2003

Funcion que chequea si el contenido de una variable es numerico o no.

CALL FUNCTION 'NUMERIC_CHECK'
EXPORTING
string_in = v_lisel+36(10)
IMPORTING
* string_out =
htype = v_tipo
EXCEPTIONS
OTHERS = 1.

IF v_tipo EQ 'NUMC'.
WRITE “Es numerico”.
ENDIF
Para detectar si se marco algun checkbox.

DATA: v_check2(01) TYPE c,
v_reg(4) TYPE n,
v_posi(4) TYPE n,
v_sel(2) TYPE c,
v_lisel LIKE sy-lisel,
v_doc LIKE vbap-vbeln,
v_tipo LIKE dd01v-datatype.

CLEAR: v_index, v_reg, v_posi, v_lisel.

* Flag para verificar si marco alguna factura
v_sel = 'NO'.
v_lisel = sy-lisel.
MOVE 'N' TO v_trans.

DO.
READ LINE sy-index.
IF sy-subrc NE 0.
EXIT.
ENDIF.

v_check2 = sy-lisel+01(01).

IF sy-lisel+01(01) EQ '-'. (aca aprovecho las lineas del reporte para contar
ADD 1 TO v_posi. los grupos de lineas)
ENDIF.

IF v_posi GT 0.
IF v_check2 EQ 'X'.
---
ENDIF.
ENDIF.
ENDDO.
Llamar desde un reporte a una transaccion y pasarle parametros.


SET PARAMETER ID 'AUN' FIELD p_v_doc.

CALL TRANSACTION 'VA03'
USING bdcdata MODE 'A'
AND SKIP FIRST SCREEN.

El ID se recupera haciendo F1/F9 sobre el campo en la dynpro.