Anuncio

Colapsar
No hay anuncio todavía.

Dump al ejecutar un DTP

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

  • Dump al ejecutar un DTP

    Al ejecutar un DTP me da un dump con la siguiente información:

    Categoría Error de programación ABAP
    Err.tmpo.ejec. MESSAGE_TYPE_X
    Programa ABAP CL_RSAR_X_CMD=================CP
    Anwendungskomponente BW-WHM-DST

    Anál.errores
    Short text of error message:
    Estado no previsto de programa

    Long text of error message:

    Technical information about the message:
    Message class....... "RSBK"
    Number.............. 899
    Variable 1.......... "RECORDS_MISMATCH"
    Variable 2.......... " "
    Variable 3.......... " "

    Aclaro que estoy en la versión 7.31 de BW on HANA y consumo de 2 extractores 2LIS de R/3.

    Cualquier ayuda será bienvenida.

  • #2
    Hola,

    si estás utilizando un SP inferior al 14 encontré que deberían implementar la nota: 2031418 - 730SP13:Termination of DTP while extracting data from the PSA of 3.X datasources parallely

    El código que del programa que tenés que crear y ejecutar que menciona esa nota es el siguiente:

    [LOCK]
    Código:
    *&---------------------------------------------------------------------*
    *& Report  ZRSAR_CORRECT_REQPG_FOR_PSA
    *&
    *&---------------------------------------------------------------------*
    *&
    *&
    *&---------------------------------------------------------------------*
    
    REPORT  zrsar_correct_reqpg_for_psa.
    
    TYPE-POOLS: rs,rsods.
    
    
    DATA: l_request TYPE rsrequnr.
    SELECT-OPTIONS:
      psa_req FOR l_request.
    PARAMETERS: p_repair TYPE rs_bool DEFAULT rs_c_false.
    
    DATA: l_t_odsrequest TYPE STANDARD TABLE OF rstsodsrequest,
          l_s_odsrequest TYPE rstsodsrequest,
          l_t_odsreqpg   TYPE STANDARD TABLE OF rstsodsrequestpg,
          l_s_odsreqpg   TYPE rstsodsrequestpg,
          l_t_odsreqpgr  TYPE STANDARD TABLE OF rstsodsrequestpg,
          l_records      TYPE rsarecord,
          l_tabname      TYPE tabname,
          l_odstech      TYPE rsodstech.
    
    SELECT * FROM rstsodsrequest INTO CORRESPONDING FIELDS OF TABLE l_t_odsrequest WHERE request IN psa_req.
    IF sy-subrc = 0.
      LOOP AT l_t_odsrequest INTO l_s_odsrequest.
        SELECT SINGLE odsname_tech INTO l_odstech FROM rstsods WHERE odsname = l_s_odsrequest-odsname
                                                               AND   version = l_s_odsrequest-version
                                                               AND   userapp = rsods_c_userapp-transtructure.
        IF sy-subrc = 0.
          l_tabname = l_odstech.
          SELECT * FROM rstsodsrequestpg INTO CORRESPONDING FIELDS OF TABLE l_t_odsreqpg WHERE request = l_s_odsrequest-request.
          IF sy-subrc = 0.
            LOOP AT l_t_odsreqpg INTO l_s_odsreqpg.
              CLEAR:l_records.
              SELECT COUNT(*) FROM (l_tabname) INTO l_records WHERE request   = l_s_odsreqpg-request
                                                              AND   datapakid = l_s_odsreqpg-datapakid.
    
              IF l_s_odsreqpg-records NE l_records.
                IF p_repair IS INITIAL.
                  WRITE :/ 'Request:', l_s_odsreqpg-request, 'has incorrect records:',l_s_odsreqpg-records.
                  WRITE:/'The correct number of records is:', l_records.
                  APPEND l_s_odsreqpg TO l_t_odsreqpgr.
                ELSE.
                  l_s_odsreqpg-records = l_records.
                  APPEND l_s_odsreqpg TO l_t_odsreqpgr.
                ENDIF.
              ELSE.
                CONTINUE.
              ENDIF.
            ENDLOOP.
          ELSE.
            WRITE:/ 'No request found in RSTSODSREQUESTPG for request:',l_s_odsrequest-request.
          ENDIF.
        ELSE.
          WRITE:/'No PSA found for the corresponding request:',l_s_odsrequest-request.
        ENDIF.
      ENDLOOP.
      IF l_t_odsreqpgr[] IS INITIAL.
        WRITE : 'No Inconsistencies found'.
      ELSE.
        IF p_repair IS INITIAL.
          WRITE: 'Please use the repair option to correct the inconsistency in RSTSODSREQUESTPG'.
        ELSE.
          MODIFY rstsodsrequestpg FROM TABLE l_t_odsreqpgr.
          IF sy-subrc = 0.
            CALL FUNCTION 'DB_COMMIT'.
            WRITE:/ 'The inconsistency in RSTSODSREQUESTPG corrected'.
          ELSE.
            WRITE:/ 'Unknown error in correcting inconsistency. Contact SAP'.
          ENDIF.
        ENDIF.
      ENDIF.
    ELSE.
      WRITE:/' No request found in RSTSODSREQUEST in the selection'.
    ENDIF.
    [/LOCK]

    Comentario

    Trabajando...
    X