BAPI para transaccion VL02N

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Marco
    Senior Member
    • abr
    • 141

    #1

    BAPI para transaccion VL02N

    Gente del Foro...
    Como estan?
    Estoy buscando el funcionamiento de la BAPI que realice los despachos (picking) en la transaccion VL02N.
    Si la tienen implementada, por favor para ver como utilizarla, las tablas a cargar (con que datos) para poder implementarla...
    Estoy intentando hacer un Batch-Input pero no creo q sea lo ideal...
    Please, si alguien conoce la BAPI, sería super.

    Sld,
    Marcko
  • aidahoe
    Member
    • ago
    • 47

    #2
    TOMA TE PASO LA FUNCION QUE TENGO YO HECHA.

    Data: begin of gt_entregas occurs 0,
    matwa like lips-matwa
    Data: end of gt_entregas.

    select matwa into gt_entregas-matwa
    from lips
    where vbenl = <nentrega>
    append gt_entregas.
    endselect.
    exec sql.
    connect to _conex
    endexec.
    loop at gt_entregas.
    exec sql.
    insert into <tabla>(material) values
    (:gt_entregas-matwa)
    endexec.

    exec sql.
    commit
    endexec.
    exec sql.
    disconect _conex
    endexec.

    esto te coge una entrega y te saca todas las lineas del picking.

    un saludo.

    Comentario

    • Marco
      Senior Member
      • abr
      • 141

      #3
      holas.. esta bien la logica.
      Pero keria ver la BAPI para la transaccion VL02N...

      Ya hice el BatchInput... pero si tienen la BAPI seria muy bueno para verla.

      Sld,
      Marcko

      Comentario

      • aidahoe
        Member
        • ago
        • 47

        #4
        la bapi no la tengo

        pero supongo que sera con un call function "nombre de la funcion".

        no estoy muy seguro pero bueno prueba asi.

        un saudo.

        Comentario

        • maeve
          Junior Member
          • abr
          • 17

          #5
          hola, a lo mejor puedo ayudarte.

          yo tengo una bapi que a su vez llama a la que ejecuta la trn vl02n

          en mi codigo llamo a la bapi con:

          ** Call the transaction
          CALL TRANSACTION 'VL02N' USING bdcdata
          UPDATE 'L'
          MODE 'N'
          MESSAGES INTO t_msg.

          donde bcdata es del tipo
          estructura:
          program - bdc_prog - char 40 - bdc modulpool
          dynpro - bdc_dynr - numc 4 - bdc numero de dynpro
          dynbegin - bdcstart - char 1 - bdc iniciar un dynpro
          fnam - fnam_4 - char 132 - nombre campo
          fval - bdc_fval - char 132 - bdc valor del campo

          DATA: BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.

          la tabla bcdata se carga en mi caso con estos datos:
          SAPMV50A |4004 |X | <
          |0000 | |BDC_OKCODE <
          |0000 | |LIKP-VBELN <
          SAPMV50A |1000 |X | <
          |0000 | |BDC_OKCODE <
          SAPLJ3AD |2010 |X | <
          |0000 | |BDC_OKCODE <
          SAPLJ3AD |2010 |X | <
          |0000 | |BDC_OKCODE <
          |0000 | |J_3ASZDI-PIKMG(01<
          SAPLJ3AD |2010 |X | <
          |0000 | |BDC_OKCODE <

          bdc_okcode es un "ejecutar" en la dynpro
          j_3aszdi-pikmg(01) es el campo que quiero modificar, con el valor que le quiero asignar (01).

          MI PROBLEMA: es que esto puedo ejecutarlo en un servidor con version de sap 5.0, mientras que no corre en uno con 4.6

          El campo se llama igual.

          La unica diferencia que veo, es que si voy por la trn vl02n, no aparece habilitado como para modificaciones.

          ¿por que puede ser?

          lo que me esta devolviendo es que no permite entradas en ese campo.

          espero te ayude, y alguien vea como puedo hacer yo para evitar el error.

          gracias

          Comentario

          • maorivaden
            Junior Member
            • jul
            • 1

            #6
            BAPI para entregas de salida

            Bueno. es un poco tarde para responder, pero, igual para que quede documentado si a alguien mas le interesa.

            Supongo que lo que se quiere es crear la entrega desde un documento de ventas y/o modificarla posteriormente.

            la bapi es:
            BAPI_OUTB_DELIVERY_CREATE_SLS

            La manera mas sencilla es pasar un solo registro en el parametro tables
            "SALES_ORDER_ITEMS" indicando únicamente el numero de documento de ventas (campo REF_DOC).

            Una vez generada la entrega puedes utilizar la BAPI:
            BAPI_OUTB_DELIVERY_CHANGE

            Sin embargo, esta BAPI es muy limitada.
            Si manejan particion de lotes (batch split) no sirve de mucho

            Comentario

            • -toRRezz-
              Junior Member
              • ago
              • 5

              #7
              Originalmente publicado por maorivaden
              Bueno. es un poco tarde para responder, pero, igual para que quede documentado si a alguien mas le interesa.

              Supongo que lo que se quiere es crear la entrega desde un documento de ventas y/o modificarla posteriormente.

              la bapi es:
              BAPI_OUTB_DELIVERY_CREATE_SLS

              La manera mas sencilla es pasar un solo registro en el parametro tables
              "SALES_ORDER_ITEMS" indicando únicamente el numero de documento de ventas (campo REF_DOC).

              Una vez generada la entrega puedes utilizar la BAPI:
              BAPI_OUTB_DELIVERY_CHANGE

              Sin embargo, esta BAPI es muy limitada.
              Si manejan particion de lotes (batch split) no sirve de mucho
              Gracias maorivaden, creo que esto me puede funcionar.

              Saludos!

              Comentario

              • EGROJ18
                Junior Member
                • ago
                • 13

                #8
                Originalmente publicado por maeve
                hola, a lo mejor puedo ayudarte.

                yo tengo una bapi que a su vez llama a la que ejecuta la trn vl02n

                en mi codigo llamo a la bapi con:

                ** Call the transaction
                CALL TRANSACTION 'VL02N' USING bdcdata
                UPDATE 'L'
                MODE 'N'
                MESSAGES INTO t_msg.

                donde bcdata es del tipo
                estructura:
                program - bdc_prog - char 40 - bdc modulpool
                dynpro - bdc_dynr - numc 4 - bdc numero de dynpro
                dynbegin - bdcstart - char 1 - bdc iniciar un dynpro
                fnam - fnam_4 - char 132 - nombre campo
                fval - bdc_fval - char 132 - bdc valor del campo

                DATA: BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.

                la tabla bcdata se carga en mi caso con estos datos:
                SAPMV50A |4004 |X | <
                |0000 | |BDC_OKCODE <
                |0000 | |LIKP-VBELN <
                SAPMV50A |1000 |X | <
                |0000 | |BDC_OKCODE <
                SAPLJ3AD |2010 |X | <
                |0000 | |BDC_OKCODE <
                SAPLJ3AD |2010 |X | <
                |0000 | |BDC_OKCODE <
                |0000 | |J_3ASZDI-PIKMG(01<
                SAPLJ3AD |2010 |X | <
                |0000 | |BDC_OKCODE <

                bdc_okcode es un "ejecutar" en la dynpro
                j_3aszdi-pikmg(01) es el campo que quiero modificar, con el valor que le quiero asignar (01).

                MI PROBLEMA: es que esto puedo ejecutarlo en un servidor con version de sap 5.0, mientras que no corre en uno con 4.6

                El campo se llama igual.

                La unica diferencia que veo, es que si voy por la trn vl02n, no aparece habilitado como para modificaciones.

                ¿por que puede ser?

                lo que me esta devolviendo es que no permite entradas en ese campo.

                espero te ayude, y alguien vea como puedo hacer yo para evitar el error.

                gracias
                }}} Esto no es una bapi, es un call transaction

                Comentario

                Trabajando...