Ayuda con Dynpro en Batch Input

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • zehiter
    Member
    • oct
    • 92

    #1

    Ayuda con Dynpro en Batch Input

    Hola a Todos.

    Tengo un problema con un Batch Input espero alguien pueda ayudarme me parece que es un error muy frecuente.

    Les comento, estoy corriendo un batch input para cargar listas de materiales en la transaccion CS01, cada material puede tener una o varias posiciones, todo lo hace perfecto con los archivos de carga y se finaliza el batch sin problema alguno.

    Pero... me han entregado un archivo el cual uno de los materiales tiene 24 posiciones, una de las pantallas (dynpro) solo visualiza 14 posiciones, por lo tanto al meter los datos de la posicion numero 15 me truena mi batch porque me dice que la posicion 15 no existe:

    - El campo RC29P-POSTP(15) no existe en el dynpro SAPLCSDI 0140.

    - Los datos batch input para el dynpro SAPLCSDI 0140 no existen.

    He hecho la carga manualmente de este material y al llegar a este dynpro puedo ver que efectivamente el dynpro puede cargar mas de 14 posiciones podria decir que es infinita la lista de posiciones que pudiera cargar... pero en un batch input solo muestra 14 y no me lo sube, finaliza el batch con error.

    Alguien sabe que debo hacer o que instruccion dentro del batch input me hace falta para brincarme a la posicion 15 y asi sucesivamente para cargar cuantas posiciones sean necesarias???

    Muchas gracias de antemano y saludos a todos
  • jmenendez
    Member
    • may
    • 54

    #2
    Buenas querido.
    Opción 1) Buscá una bapi que haga todo el trabajo engorroso de BI.
    Opción 2) El Bi tiene disposiciones limitadas, vos tenés que agregar lógica de pag down para que puedas utilizar nuevas lineas en blanco y resetear tu contador interno de lineas.
    normalmente el botón de Page down es P++

    Estoy viendo la trx que tiene un botón "Posición nueva linea 1". La verdad que no puedo probarlo xq no tengo datos, pero quizás es tu solución también.

    Comentario

    • seimeinomi
      Member
      • oct
      • 75

      #3
      Hola,

      Espero poder ayudar, al parecer el BDC solo grabo pantalla con 14 posiciones, tendria que generar otro juego de datos pero tomar el click que haces para visualizar mas alla de las 14 posiciones. Esto seria cada vez que completes las posiciones se genere el salto.

      Saludos
      Edward Manrique A.

      Comentario

      • zehiter
        Member
        • oct
        • 92

        #4
        Gracias por aportar ideas,

        Les comento, eh encontrado un valor para el Ok-CODE = FCNP.

        Cuando llego a la posicion 14 despues de ingresar los valores le doy el valor FCNP al Ok_CODE y lo que hace es mostrarme las siguientes posiciones como disponibles de la 15 a la 27, es correcto mas sin embargo sigue diciendome que las posicion 15 no existe en la pantalla apesar de verla sobre la pantalla

        Seguire buscando, todos sus tips son bienvenidos

        Comentario

        • jmenendez
          Member
          • may
          • 54

          #5
          Te sigue dando el error xq tenés que resetear el contador de 14 a 1 o 2 según corresponda si te queda la última linea escrita en la posición 1.

          Comentario

          • caralbgro
            Senior Member
            • sep
            • 478

            #6
            tengo el mismo problema

            me podrias explicar como lo programo, yo tengo que actualizar la pos 65 pero la en la primera pantalla no me aparece la pos 65 y me marca error, como seria para que actaulice esta posicion sin marcar error, es decir, como se cuantas lineas visualizo paran poder realizar la logica del programa?
            Consultor FI-CO

            Comentario

            • jmenendez
              Member
              • may
              • 54

              #7
              Por mas que vos tengas 100 o 200 o N cantidad de registros, en pantalla siempre vas a ver una cantidad limitada de 1 A M siento M < N.
              Entonces decimos que dentro de las primeras 100 lineas encontramos posiciones de índice en la tabla de la dynpro
              1 A 50 (siendo 50 un ejemplo para ilustrar el caso) Posición 1 a 50 en la tabla
              Botón de PAGE DOWN. Sentencia Clear de contador interno.
              1 A 50 Posición 50 a 100 en la tabla

              Si uno no hace el clear:
              1 A 50. Posiciones de 1 a 50
              1 A 50. ERROR xq la primera iteración quizo asignar la posición
              XXXX-XXXXX(51) y esta no existe en la dynpro que estamos imaginando.

              Es mas claro ahora ?

              Comentario

              • caralbgro
                Senior Member
                • sep
                • 478

                #8
                eso lo entiendo pero necesito saber a nivel codigo

                te entiendo lo que decis pero como se cuantas lineas tiene la primer pantalla? eso es lo que necesito, despues ya entendi de como buscar la posicion

                slds.
                Consultor FI-CO

                Comentario

                • ibai23
                  Junior Member
                  • mar
                  • 19

                  #9
                  Hola,

                  en la transacción tienes el botón "Posicionar", si lo pulsas muestra un popup, le informas la posición y te "navega" hasta la posición indicada,

                  si necesitas modificar la posición 65, lo multiplicas por 10 (puesto que las posiciones en esta transacción van de 10 en 10) y lo informas en el popup este que te comento, al presionar "enter" o aceptar en el popup el sistema te coloca en la primera posición del Table control, con lo que ya no tienes el problema del paginado

                  Un saludo

                  Comentario

                  • caralbgro
                    Senior Member
                    • sep
                    • 478

                    #10
                    la tx que uso yo es FB02

                    no sabes como seria el tema con la FB02 que es la que estoy usando yo
                    Consultor FI-CO

                    Comentario

                    • ibai23
                      Junior Member
                      • mar
                      • 19

                      #11
                      Hola caralbgro,

                      hacer un batch input a la FB01 o FB02 o transacciónes de este estilo es una locura y normalmente no se hace,

                      puesto que los campos que aparecen en las dynpros de estas transacciones dependen de muchas parametrizaciones, por sociedad, por cuenta, por clave contable etc.

                      Resumiendo, tu haces el batch input para N casos, mañana meten un caso nuevo y te han jodido, por que la pantalla cambia y por lo tanto puede darte error y mandar todo al garete.

                      Yo te recomendaría contarle esto a tu analista o consultor y buscar otra opción como un direct input o alguna bapi.

                      Un saludo

                      Comentario

                      • caralbgro
                        Senior Member
                        • sep
                        • 478

                        #12
                        entonces como lo haria

                        entonces me podrias tirar un codigo de ejemplo de como hacerlo, necesito actualizar el campo asignacion banco clave de banco descripcion del banco

                        slds.
                        Consultor FI-CO

                        Comentario

                        • seimeinomi
                          Member
                          • oct
                          • 75

                          #13
                          Bapi FB01

                          Mira es cierto lo que dicen que el BI no sirve si cambian las cosas.
                          Yo use la siguiente bapi para la FB01

                          BAPI_ACC_DOCUMENT_CHECK y luego.
                          BAPI_ACC_DOCUMENT_POST.


                          Aqui podes ver como se arma




                          Saludos.
                          Edward Manrique A.

                          Comentario

                          • zehiter
                            Member
                            • oct
                            • 92

                            #14
                            Ya lo solucioné

                            Gracias a todos por sus recomendacioens, finalmente pude solucionar mi caso pero sin tener nada que hacer dentro del codigo, a veces no nos damos cuenta de que la solución puede ser la manera en la que ejecutamos los programas.

                            Les platico por si a alguien le sucede lo mismo, la solucion a mi caso fue ejecutar el batch input con los sig. parametros:

                            Modo de Procesamiento: Visual.sólo con errores
                            y en Funciones adicionales desactivé: Tam.estándar dynpro

                            y listo!! me cargó todos mis registros .


                            ...La verdad esto de los batchinput no son muy confiables puesto que sí te cambian la estructura de datos la logica del programa no coincide y te truena!!

                            Alguien pudiera enviarme algun buen manual de BAPIS??

                            saludos y gracias


                            Originalmente publicado por zehiter
                            Hola a Todos.

                            Tengo un problema con un Batch Input espero alguien pueda ayudarme me parece que es un error muy frecuente.

                            Les comento, estoy corriendo un batch input para cargar listas de materiales en la transaccion CS01, cada material puede tener una o varias posiciones, todo lo hace perfecto con los archivos de carga y se finaliza el batch sin problema alguno.

                            Pero... me han entregado un archivo el cual uno de los materiales tiene 24 posiciones, una de las pantallas (dynpro) solo visualiza 14 posiciones, por lo tanto al meter los datos de la posicion numero 15 me truena mi batch porque me dice que la posicion 15 no existe:

                            - El campo RC29P-POSTP(15) no existe en el dynpro SAPLCSDI 0140.

                            - Los datos batch input para el dynpro SAPLCSDI 0140 no existen.

                            He hecho la carga manualmente de este material y al llegar a este dynpro puedo ver que efectivamente el dynpro puede cargar mas de 14 posiciones podria decir que es infinita la lista de posiciones que pudiera cargar... pero en un batch input solo muestra 14 y no me lo sube, finaliza el batch con error.

                            Alguien sabe que debo hacer o que instruccion dentro del batch input me hace falta para brincarme a la posicion 15 y asi sucesivamente para cargar cuantas posiciones sean necesarias???

                            Muchas gracias de antemano y saludos a todos

                            Comentario

                            • kelaya
                              Junior Member
                              • ene
                              • 8

                              #15
                              Hola!! a mi me sucede lo mismo que a ti y quisiera pedirte si puede dejar el código de como le has pasado los parámetros al batch input, ya que soy muy nueva en esto de abap y no he podido hacerlo bien. Gracias!! saludos!!

                              Comentario

                              Trabajando...