Anuncio

Colapsar
No hay anuncio todavía.

Refenciar a tablas desde una rutina de regla de actuzalicación

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • koken
    respondió
    Me refería a que realices las consultas a las tablas que genera ese ODS donde depositaste los datos.

    Saludos!

    Dejar un comentario:


  • davidr
    respondió
    Refenciar a tablas desde una rutina de regla de actuzalicación

    Hola koken,

    perdona pero no veo dónde puedo hacer la select. Con el ODS que he hecho consigo unos datos consolidados de la tabla. Luego monto la regla de actualización pero lo que vuelvo a recibir en la regla de actualización es una estructura de comunicación y dentro de la rutina no veo cómo puedo hacer una consulta select???

    Dejar un comentario:


  • koken
    respondió
    Hola,

    la consulta debes hacerla en el lugar donde dejas los datos, por ejemplo un ODS.

    Saludos.

    Dejar un comentario:


  • davidr
    respondió
    Refenciar a tablas desde una rutina de regla de actuzalicación

    Hola koken,

    tengo un extractor que me coje los datos de la tabla. En la rutina, mi duda es como hago la consulta.

    Me genera lo siguiente:
    FORM compute_data_field
    TABLES MONITOR STRUCTURE RSMONITOR "user defined monitoring
    USING COMM_STRUCTURE LIKE /BIC/CSZPROCESOS4R3
    RECORD_NO LIKE SY-TABIX
    RECORD_ALL LIKE SY-TABIX
    SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS
    CHANGING RESULT LIKE /BIC/VZPROCESO4T-/BIC/ZPREM_ACE
    RETURNCODE LIKE SY-SUBRC
    ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update
    ????

    Dejar un comentario:


  • koken
    respondió
    Hola,

    deberías crear un extractor para traerte los datos de esa tabla y ahí podrías usarlas.

    Saludos!

    Dejar un comentario:


  • davidr
    respondió
    Refenciar a tablas desde una rutina de regla de actuzalicación

    koken,

    ¿hay algún modo de referenciarlas?..

    Dejar un comentario:


  • koken
    respondió
    Hola,

    tu problema claramente es que quieres declarar tablas como LFA1 de R/3 y esas tablas no se encuentran en SAP BI BW.

    Saludos!

    Dejar un comentario:


  • davidr
    respondió
    Refenciar a tablas desde una rutina de regla de actuzalicación

    Koken, algo debo estar haciendo mal porque me sigue sin reconocer las tablas estandar.
    Por ejemplo, cualguiera de las declaraciones siguiente, me falla:

    DATA: i_dist TYPE TABLE OF lfa1 WITH HEADER LINE.
    TABLES: lfa1.
    DATA: nombre LIKE lfa1-name1.

    Me dice:
    E:"LFA1-NAME1" is not defined in the ABAP Dictionary as a table

    Pego como tengo la rutina. Es básica y me falla cuando hago referencia a alguna tabla estandar:
    PROGRAM UPDATE_ROUTINE.
    *$*$ begin of global - insert your declaration only below this line *-*
    * TABLES: ...
    * DATA: ...
    *$*$ end of global - insert your declaration only before this line *-*


    FORM compute_data_field
    TABLES MONITOR STRUCTURE RSMONITOR "user defined monitoring
    USING COMM_STRUCTURE LIKE /BIC/CSZPROCESOS4EXCEL
    RECORD_NO LIKE SY-TABIX
    RECORD_ALL LIKE SY-TABIX
    SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS
    CHANGING RESULT LIKE /BIC/VZPROCESO4T-/BIC/ZPREM_ACE
    RETURNCODE LIKE SY-SUBRC
    ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update
    *
    *$*$ begin of routine - insert your code only below this line *-*
    * fill the internal table "MONITOR", to make monitor entries

    *DATA: i_dist TYPE TABLE OF lfa1 WITH HEADER LINE.
    ** TABLES: lfa1.
    *** DATA: ikna1 like kna1.
    ** DATA: s_dlifnr LIKE lfa1-name1.

    DATA: nombre(35) type c.

    * result value of the routine
    ** DATA: existe TYPE int1.
    ** DATA: iysd002 TYPE ysd002.
    IF COMM_STRUCTURE-/BIC/ZCONT = 1.

    *???? FALLA LA SELECT. DICE QUE NO RECONOCE lfa1.
    SELECT name1 INTO nombre
    FROM lfa1-name1
    WHERE bukrs = 1100
    AND lifnr = '0002000073'.

    RESULT = 1.
    ELSEIF COMM_STRUCTURE-/BIC/ZCONT1 = 1.
    RESULT = 0.
    ENDIF.

    * if the returncode is not equal zero, the result will not be updated
    RETURNCODE = 0.
    * if abort is not equal zero, the update process will be canceled
    ABORT = 0.

    **/BIC/ZLOTEITA

    *$*$ end of routine - insert your code only before this line *-*
    *
    ENDFORM.

    ....

    Dejar un comentario:


  • koken
    respondió
    Hola David,

    sólo tendrías que declarar la tabla interna que vos querés para almacenar los datos a usar, pero la estándar no le tenés que hacer nada sólo la llamas desde el select.

    Y la tabla es que intentas declarar justamente te da ese error porque no existe en el sistema.

    Saludos!

    Dejar un comentario:


  • Refenciar a tablas desde una rutina de regla de actuzalicación

    Buenas,

    tengo la duda de cómo puedo desde dentro de una rutina de una regla de actualización hacer referencia a una tabla estandar.

    Por ejemplo, dentro de la rutina me llega la estructura que le paso y además me gustaría hacer (dentro de la rutina) una select a la tabla kna1.

    Por los ejemplos que he visto suelen declarar las tablas como
    TABLES: /bic/knb1. pero me dice que
    E:The Dictionary structure or table "/BIC/KNB1" is either not active or
    does not exist.

    Supongo que fallo en el concepto.
    Si alguien me lo pudiese explicar o decirme dónde puedo encontrar documentación se lo agradecería.

    Saludos
Trabajando...
X