Problema con Batch-input para Tx. GP12N

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • falkata82
    Member
    • ago
    • 58

    #1

    Problema con Batch-input para Tx. GP12N

    Hola!!

    necesito realizar un batch input para ejecutar en fondo la transacción GP12N y tengo un problema, al intentar rellenar el campo "Mon.transac." de la pantalla 0145 del report SAPLKPP2 me da el siguiente error y no sé cómo solucionarlo ya que ejecutando la transacción de forma manual sí que me deja introducir el valor


  • nievesmp
    Member
    • abr
    • 95

    #2
    campo en Batch input

    ¿Has hecho la grabación previamente en la SM35?

    Mediante la grabación de la transacción a la que vas a hacer el batch input, puedes verificar de que forma rellena el campo.

    Como el campo a rellenar es una tabla en la dynpro, lo mejor es hacer dos grabaciones, una para rellenar un sólo registro de la tabla y otra grabación para grabar varios registros en la tabla, de esta forma tendrás ambos casos, cuando vayas a informar uno sólo o varios registros, ya que el código puede ser diferente.

    Espero esto te sirva.

    Comentario

    • falkata82
      Member
      • ago
      • 58

      #3
      Originalmente publicado por nievesmp
      ¿Has hecho la grabación previamente en la SM35?

      Mediante la grabación de la transacción a la que vas a hacer el batch input, puedes verificar de que forma rellena el campo.

      Como el campo a rellenar es una tabla en la dynpro, lo mejor es hacer dos grabaciones, una para rellenar un sólo registro de la tabla y otra grabación para grabar varios registros en la tabla, de esta forma tendrás ambos casos, cuando vayas a informar uno sólo o varios registros, ya que el código puede ser diferente.

      Espero esto te sirva.

      Muchas gracias por tu ayuda pero el problema es que ya hice la grabación y es por eso que no sé cómo hacer porque siguiendo los pasos y demás no consigo que me funcione

      El código es éste:
      PERFORM dynpro USING: 'X' 'SAPLKPP2' '0145',
      ' ' 'BDC_OKCODE' '=CBUC',
      ' ' 'Z-BDC03(01)' tfich-tsl01.....

      Comentario

      • fdelacruz
        Senior Member
        • jun
        • 111

        #4
        Para solucionar eso no asignes de forma directa la variable de monto al batch, tienes q pasar este valor a una variable tipo STRING y luego esta ultima asignala al batch. Con eso funcionará.

        Saludos!

        Comentario

        • falkata82
          Member
          • ago
          • 58

          #5
          Originalmente publicado por fdelacruz
          Para solucionar eso no asignes de forma directa la variable de monto al batch, tienes q pasar este valor a una variable tipo STRING y luego esta ultima asignala al batch. Con eso funcionará.

          Saludos!
          Hola!

          en primer lugar gracias por tu ayuda per... cómo se hace eso que dices?

          Gracias por anticipado

          Comentario

          • fdelacruz
            Senior Member
            • jun
            • 111

            #6
            Asumo q tu variable "tfich-tsl01" contiene un monto numerico. Entonces lo que tienes q hacer es:

            * Declaras tu variable tipo string
            data: monto_c type STRING.

            * Pasas el monto a esta variable
            monto_c = tfich-tsl01.

            * Utilizas la variable en el batch
            PERFORM dynpro USING: 'X' 'SAPLKPP2' '0145',
            ' ' 'BDC_OKCODE' '=CBUC',
            ' ' 'Z-BDC03(01)' monto_c

            Con eso debe salir.

            Saludos!

            Comentario

            • falkata82
              Member
              • ago
              • 58

              #7
              Originalmente publicado por fdelacruz
              Asumo q tu variable "tfich-tsl01" contiene un monto numerico. Entonces lo que tienes q hacer es:

              * Declaras tu variable tipo string
              data: monto_c type STRING.

              * Pasas el monto a esta variable
              monto_c = tfich-tsl01.

              * Utilizas la variable en el batch
              PERFORM dynpro USING: 'X' 'SAPLKPP2' '0145',
              ' ' 'BDC_OKCODE' '=CBUC',
              ' ' 'Z-BDC03(01)' monto_c

              Con eso debe salir.

              Saludos!

              Hola!

              gracias por tu ayuda pues por fin conseguí que cogiera el valor, el problema es que yo le paso un fichero de varias líneas y necesito insertarlas en el table control y no sé cómo indicarle que haga el salto de línea ya que mediante la simulación de la SM35 recoge las líneas como comento abajo pero yo no sé cuántas líneas va a tener el fichero y es por ello que no puedo indicarlo en el Batch Input.

              Línea 1 --> Z-BDC03(01)
              Línea 2 --> Z-BDC03(02)
              Línea 3 --> Z-BDC03(03)

              Comentario

              • sook
                Junior Member
                • abr
                • 16

                #8
                Me parece que en esta parte:

                ' ' 'Z-BDC03(01)' monto_c

                el (01) te esta indicando la línea a la que lo vas a insertar. Podrías hacer un loop y vas concatenando el valor 'Z-BDC03(' variable_numerica ')' para ir avanzando por la tabla.

                Claro, si es que ese es tu problema.

                Saludos

                Comentario

                Trabajando...