PDA

Ver la Versión Completa : Page Down Call Tansaction FB60


vsuarezo
31/08/10, 21:30:50
Buenas tardes,

Al ejecutar Call Transaction de la FB60 e ingresar a la vista de Retención de impuestos, en esta se visualiza en ventas separadas tanto los indicadores de impuestos como las posiciones del documento a crear. Estoy necesitando hacer un desplazamiento vertical en la ventana de los indicadores de impuestos utilizando el siguiente código:

* Pasar a datos de Retención de Impuestos
PERFORM llena_bdc USING: 'X' 'SAPMF05A' '1100',
' ' 'BDC_OKCODE' '=WT'.
* Vista de Retencion de Impuestos
PERFORM llena_bdc USING: 'X' 'SAPMF05A' '1100',
' ' 'BDC_OKCODE' '/00'.
* Posición del reteica
vl_pos = 0.

LOOP AT ti_lfbw WHERE lifnr = ti_gastos-tdlnr AND witht <> 'S@'.
vl_pos = vl_pos + 1.
IF vl_pos > 6.
vl_pos = 1.
* Avanzar pagina
PERFORM llena_bdc USING: 'X' 'SAPMF05A' '1100',
' ' 'BDC_OKCODE' '=P+'.
ENDIF.

CONCATENATE 'ACWT_ITEM-WT_WITHCD(' vl_pos ')' INTO vl_campo.
PERFORM llena_bdc USING ' ' vl_campo ti_lfbw-wt_withcd.
ENDLOOP.

Pero en vez de lograr el desplazamiento en la ventana de indicadores lo hace en la de las posiciones. ¿Qué me falta agregar para que el desplazamiento lo haga en la ventana de indicadores?

Muchas gracias.

calanis
31/08/10, 22:22:04
Hola

Considero que debes darle el Foco para la ventana indicadores, para que después puedas realizar el avance de página (=P+ o =P++).
Para lo cual deberás realizar otra grabación de BI.


* Pasar a datos de Retención de Impuestos
PERFORM llena_bdc USING:
'X' 'SAPMF05A' '1100',
' ' 'BDC_OKCODE' '=WT',"Vista de Retención de Impuestos
'X' 'SAPMF05A' '1100',
' ' 'BDC_OKCODE' '/00'.
*------------------------------------
* Aquí debería ir otro evento para que te de el foco en la grilla
*------------------------------------
* Posición del retenida
vl_pos = 0.

LOOP AT ti_lfbw
WHERE lifnr = ti_gastos-tdlnr
AND witht <> 'S@'.
vl_pos = vl_pos + 1.
IF vl_pos > 6.
vl_pos = 1.
* Avanzar pagina
PERFORM llena_bdc USING:
'X' 'SAPMF05A' '1100',
' ' 'BDC_OKCODE' '=P+'.
ENDIF.

CONCATENATE 'ACWT_ITEM-WT_WITHCD(' vl_pos ')' INTO vl_campo.
PERFORM llena_bdc USING ' ' vl_campo ti_lfbw-wt_withcd.
ENDLOOP.


Espero que la data te sea de utilidad.
Saludos
Carlos D. Alanis

vsuarezo
01/09/10, 14:36:46
Hola Carlos,

Muchas gracias por su información. Es ahí donde realmente tengo la duda de que deba ir. En la grabación hay lo siguiente:

SAPMF05A 1100 X
BDC_OKCODE =P+
BDC_SUBSCR SAPLFDCB 0080PAGE
BDC_SUBSCR SAPLFWTD 0120SUB_WT
BDC_CURSOR ACWT_ITEM-WT_QSSHB(02)
ACWT_ITEM-WT_WITHCD(02)
BDC_SUBSCR SAPLFDCB 0070ADR
BDC_SUBSCR SAPLFSKB 0100ITEMS

Posiblemente sea alguno de los BDC_SUBSCR pero no se como interpretar esas líneas para codificarlas en el programa. Ya probe con el BDC_CURSOR y no me funcionó.

Muchas gracias.