Ver Mensaje Individual
  #2  
Viejo 16/10/14, 08:31:34
tytofer tytofer is offline
Member
 
Fecha de Ingreso: mar 2010
Localización: Madrid
Mensajes: 67
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
Responder Con Cita