Código para la Sustitución
Hola apreciado Foro.
He conseguido este código:
*Descripción: Se requiere crear una sustitución para que actualice *
* el campo sociedad GL en el documento contable cuando estemos *
* realizando contabilizaciones en determinadas transacciones *
* de activos. *
* El valor de la sociedad GL lo debe coger de los datos *
* maestros del activo. *
* La transacción solicitada es: *
* F-92 *
* También se ha creado la tabla ZSOCIEDAD_GL para incluir las *
* sociedades y la clase de inmovilizado. *
**********************************************************************
CONSTANTS: lc_abzu TYPE tcode VALUE 'F-92',
lc_75 TYPE bschl VALUE '75',
lc_x(1) TYPE c VALUE 'X'.
DATA: lt_am_socgl TYPE TABLE OF ZSOCIEDAD_GL,
lv_encontrado(1) TYPE c.
FIELD-SYMBOLS: <ls_bseg> TYPE bseg.
IF sy-tcode EQ lc_F-92 .
LOOP AT bool_data-bseg ASSIGNING <ls_bseg>
WHERE bschl = lc_75.
SELECT SINGLE * FROM anla WHERE bukrs = <ls_bseg>-bukrs
AND anln1 = <ls_bseg>-anln1
AND anln2 = <ls_bseg>-anln2.
IF sy-subrc EQ 0.
SELECT * FROM zsociedad_gl INTO TABLE lt_am_socgl
WHERE bukrs = <ls_bseg>-bukrs
AND anlkl = anla-anlkl.
IF sy-subrc EQ 0.
lv_encontrado = lc_x.
EXIT.
ENDIF.
ENDIF.
ENDLOOP.
IF lv_encontrado EQ lc_x.
LOOP AT bool_data-bseg ASSIGNING <ls_bseg>.
<ls_bseg>-vbund = anla-vbund.
ENDLOOP.
ENDIF.
* SELECT SINGLE * FROM anla WHERE bukrs = bseg-bukrs
*
* SELECT * FROM TABLE lt_am_socgl
* WHERE bukrs = bseg-bukrs
ENDIF.
El asunto es que en mi empresa no quieren usar una tabla Z, sino que se haga la búsqueda directamente desde el maestro de activos y ya. (ANLA-VBUND)
La pregunta es:
¿Cómo podría modificar el código para use en vez de la tabla Z ( ZSOCIEDAD_GL) use ANLA-VBUND?
Por otro lado, no soy técnico programador soy funcional.
Gracias de antemano.
__________________
María Alejandra Fernández
Consultor Senior FI-CO
|