Problema con un Batch Input

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • erm
    Junior Member
    • may
    • 2

    #1

    Problema con un Batch Input

    Hola,

    Tenemos un programa que hace un call transaction a la transacción FB05. Si ejecutamos el programa con el batch input en modo visible, funciona perfectamente. Pero si no, no hace el batch input. Alguien sabe a qué puede ser debido?

    Muchas gracias
  • manu_lolo27
    Member
    • mar
    • 90

    #2
    hola, como haces el call transaccion???? a ver si esto te ayuda

    CALL TRANSACTION 'FB05' USING it_bdcdata
    MODE 'N'"INVISIBLE
    * A Visualizar dynpros (todos)
    * E Visualizar errores
    * N Procesar de forma no visible
    * P De forma no visible y apto p.debugging
    * CTUMODE "lo q pongas al ejecutar el batch

    update 'A'" Asincrónico
    * L Local
    * S Sincrónica
    * CUPDATE"del sistema

    * GUARDA LOS MSG DE ERRORES EN IT_MESSAGE
    MESSAGES INTO it_mesage.


    espero q te sirva, saludos,
    Manuel

    Comentario

    • javibest
      Senior Member
      • ene
      • 185

      #3
      Lo unico que tienes que hacer es ejecutarlo en modo errores, y mirar donde se para para acotar donde esta el error. Normalmente en la barra de estatus de sap te sale un mensaje para darte una pista de qué estas haciendo mal en el batch.

      Comentario

      • erm
        Junior Member
        • may
        • 2

        #4
        Muchas gracias a los dos.

        Si lo ejecutamos en modo error, también realiza correctamente el batch input.

        El código que había puesto es:
        CALL TRANSACTION 'FB05' USING it_bdcdata
        MODE 'N'* A Visualizar dynpros (todos)
        update 'S'
        MESSAGES INTO it_mesage.

        Visto que en modo error funciona, creo que lo dejaremos así.

        De todas formas, si alguien sabe el motivo me gustaría conocerlo, por si me pasa lo mismo en un futuro.

        Gracias

        Comentario

        • DCErick
          Moderator
          • mar
          • 1090

          #5
          Pues si te truena en algun lado el sy-subrc deberia ser diferente a cero.

          Porque no tratas con el siguiente código para ver que mensajes te esta mandando cuando lo corres en modo 'N'.

          Código:
           Data:  v_message TYPE string.
           
           LOOP AT it_mesage.
              MESSAGE ID it_mesage-msgid
              TYPE it_mesage-msgtyp
              NUMBER it_mesage-msgnr
              WITH it_mesagemsgv1 it_mesage-msgv2 it_mesage-msgv3 it_mesage-msgv4
              INTO v_message.
          
              CONDENSE v_message.
              WRITE: v_message,/.
            ENDLOOP.
          -------------------
          ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?

          Comentario

          • Jesicka_21
            Junior Member
            • sep
            • 15

            #6
            Algo tarde pero sirve

            Buenos días Gente.

            Les paso a comunicar que he tenido el mismo problema. Ejecutando el BI en modo visible, funcionaba correctamente, pero, al pasarlo a modo N, no andaba. Revisando el código no veía nada raro, lo ejecutaba en modo A y me tiraba Warnings que NO me cortaban el proceso. Busque en internet y hasta encontré notas. Mi problema(no implica que haya sido el mismo que hayan tenido ustedes) es que al momento de pasarle el valor a la dynpro SAPMF05A 0300, me arrojaba un mensaje de warning de que el campo BSEG-WRBTR que le estoy pasando al campo de dynpro BSEG-WRBTR era de mayor longitud. En modo A al darle enter pasaba, en modo N no me dejaba seguir.

            Yo tengo esta rutina

            PERFORM bdc_field USING 'BSEG-WRBTR' gs_bseg-wrbtr.

            FORM bdc_field
            USING fnam
            fval.

            CLEAR bdcdata.

            bdcdata-fnam = fnam.
            bdcdata-fval = fval.

            APPEND bdcdata.

            ENDFORM. "bdc_field

            Dentro de la rutina, si el valor del campo BSEG-WRBTR era 21,74 lo pasaba de la siguiente manera.

            __________________________________________________ ________________________________________21.74

            Alineaba el importe a la derecha, ocupando la totalidad de los 132 caracteres.

            Lo solucione realizando lo siguiente:

            WRITE gs_bseg_bi-wrbtr
            TO lv_wrbtr
            CURRENCY p_ls_salida_bi-waers.

            CONDENSE lv_wrbtr.

            REPLACE ALL OCCURRENCES OF '.'
            IN lv_wrbtr
            WITH ','.

            PERFORM bdc_field USING 'BSEG-WRBTR' lv_wrbtr.

            Asi que una de las cosas a revisar cuando ocurra algo asi son LOS IMPORTES!!!! Estuve renegando bastante, pero salió.

            Espero que a alguno le sirva en el futuro. Saludos!
            Editado por última vez por Jesicka_21; 01/04/2016, 15:36:51.
            Saludos!,

            Jess.

            "...Puedes llegar a cualquier parte, siempre y cuando andes lo suficiente..."

            Comentario

            Trabajando...