Bapi crear entrega VL01N

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Duarco
    Member
    • jun
    • 54

    #1

    Bapi crear entrega VL01N

    Foro buenos dias,

    Alguien sabe de alguna BAPI o un modulo de función para crear una entrega de salida (por la tx VL01N) con base al pedido de ventas, donde se le pueda asignar la fecha real de salida de mercancia (Campo LIKP-WADAT_IST)....

    muchas gracias...
  • Mauricio Hidalgo
    Senior Member
    • may
    • 481

    #2
    Alguna de estas debe servirte, saludos

    BAPI_OUTB_DELIVERY_CHANGE
    BAPI_OUTB_DELIVERY_CONFIRM_DEC BAPI for Outbound Delivery Confirmation from a Decentralized System
    BAPI_OUTB_DELIVERY_CREATENOREF Generates Delivery Without Reference
    BAPI_OUTB_DELIVERY_CREATE_SLS Generates Delivery for Customer Order
    BAPI_OUTB_DELIVERY_CREATE_STO Generates Delivery for Stock Transport Order
    BAPI_OUTB_DELIVERY_SAVEREPLICA BAPI Function Module for Replication of Outbound Deliveries
    BAPI_OUTB_DELIVERY_SPLIT_DEC BAPI for Subsequent Outbound-Delivery Split from a Decentralized Syste

    Comentario

    • Mauricio Hidalgo
      Senior Member
      • may
      • 481

      #3
      Más precisamente esta debería servirte BAPI_OUTB_DELIVERY_CREATE_SLS. Pero no veo que puedas modificar la fecha real de salida con esta BAPI. Salvo que tras crearla la modifiques con BAPI_OUTB_DELIVERY_CHANGE aquí si tienes el campo que necesitas, esta en el parámetro de entrada HEADER_CONTROL campo GDSI_DATE_FLG.

      Saludos
      Editado por última vez por Mauricio Hidalgo; 27/04/2012, 16:37:53.

      Comentario

      • Duarco
        Member
        • jun
        • 54

        #4
        Mauricio gracias por la pronta respuesta...

        Si, en efecto tuve que separar el proceso de entrega y contabilización de la salida de mercancia en 2 pasos, el primero fue crear la entrega con la BAPI BAPI_OUTB_DELIVERY_CREATE_SLS y luego utilizando el modulo de funcion WS_DELIVERY_UPDATE_2 generé la contabilización.

        Muchas gracias!...

        Comentario

        • Vicente_Arellano
          Junior Member
          • oct
          • 9

          #5
          Estimado Duarco tienes el codigo de como lo hiciste?.

          Comentario

          • manyacom
            Junior Member
            • oct
            • 1

            #6
            Confirmación de Entrega Fecha

            Hola.

            Necesito modificar la fecha de salida y contabilización de una entrega. Cómo puedo realizarla?

            En este momento estoy utilizando esta BAPI_OUTB_DELIVERY_CONFIRM_DEC para contabilizar la entrega, pero necesito que me quede con una fecha que le indique.

            Gracias,

            Comentario

            • Duarco
              Member
              • jun
              • 54

              #7
              El codigo resultante del proceso es el siguiente:

              Código:
              Creación de la entrega:
              
              *  Carga documento de referencia (Pedido)
                 lwa_sales_order_items-ref_doc = p_doc_ref.
                 APPEND lwa_sales_order_items TO lt_sales_order_items.
              
                 CALL FUNCTION 'BAPI_OUTB_DELIVERY_CREATE_SLS'
                   EXPORTING
                     ship_point        = gwa_remision_mov-centro
                     due_date          = sy-datum
                   IMPORTING
                     delivery          = lv_delivery
                   TABLES
                     sales_order_items = lt_sales_order_items
                     return            = lt_return.
              
                 READ TABLE lt_return TRANSPORTING NO FIELDS
                 WITH KEY type = 'E'.
              
                 IF sy-subrc NE 0.
              
                   CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
                     EXPORTING
                       wait = 'X'.
              
              * Contabilización de la salida de mercancia
              
                 DATA: lwa_vbkok_wa                 TYPE vbkok,
                       lv_ef_error_any              TYPE xfeld,
                       lv_ef_error_in_item_deletion TYPE xfeld,
                       lv_ef_error_in_pod_update    TYPE xfeld,
                       lv_ef_error_in_interface     TYPE xfeld,
                       lv_ef_error_in_goods_issue   TYPE xfeld,
                       lv_ef_error_in_final_check   TYPE xfeld,
                       lv_ef_error_partner_update   TYPE xfeld,
                       lv_ef_error_sernr_update     TYPE xfeld.
              
                 lwa_vbkok_wa-vbeln_vl = lv_delivery. " Documento de referencia
                 lwa_vbkok_wa-wabuc = 'X'. " Indicador de contabilizar documento
                 lwa_vbkok_wa-wadat_ist = sy-datum. " Fecha salida de mercancia
                 lwa_vbkok_wa-bldat = sy-datum. " Fecha de documento
              
                 CALL FUNCTION 'WS_DELIVERY_UPDATE_2'
                   EXPORTING
                     vbkok_wa                  = lwa_vbkok_wa
                     synchron                  = 'X'
                     commit                    = 'X'
                     delivery                  = p_doc_ref
                   IMPORTING
                     ef_error_any              = lv_ef_error_any
                     ef_error_in_item_deletion = lv_ef_error_in_item_deletion
                     ef_error_in_pod_update    = lv_ef_error_in_pod_update
                     ef_error_in_interface     = lv_ef_error_in_interface
                     ef_error_in_goods_issue   = lv_ef_error_in_goods_issue
                     ef_error_in_final_check   = lv_ef_error_in_final_check
                     ef_error_partner_update   = lv_ef_error_partner_update
                     ef_error_sernr_update     = lv_ef_error_sernr_update.
              
                 IF lv_ef_error_any IS NOT INITIAL
                 AND lv_ef_error_in_item_deletion IS INITIAL
                 AND lv_ef_error_in_pod_update    IS INITIAL
                 AND lv_ef_error_in_interface     IS INITIAL
                 AND lv_ef_error_in_goods_issue   IS INITIAL
                 AND lv_ef_error_in_final_check   IS INITIAL
                 AND lv_ef_error_partner_update   IS INITIAL
                 AND lv_ef_error_sernr_update     IS INITIAL.
              
                   CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
                     EXPORTING
                       wait = 'X'.
              
                   WAIT UP TO 3 SECONDS.
              
                 ENDIF.
              ENDIF.

              Comentario

              • pptavo
                Junior Member
                • dic
                • 17

                #8
                que hay con la particion de lotes

                Duarco, tu codigo permite hacer la particion de lotes???
                si no, que bapi me permitiria generar el documento de entrega con particion de lotes????

                de antemano muchas gracias a todos!!!!!!!

                Comentario

                • Duarco
                  Member
                  • jun
                  • 54

                  #9
                  Que tal pptavo, he mirado la BAPI con la que creo la entrega y al parecer no se puede generar con particion de lotes, o al menos no veo donde indicarle los datos correspondientes para lote...

                  No soy muy experto en el tema, pero la particion de lotes no se debe dar desde el Pedido que es el documento previo a la entrega?

                  Comentario

                  • sponsor
                    Senior Member
                    • may
                    • 108

                    #10
                    Hola,

                    Estoy usando esta bapi BAPI_OUTB_DELIVERY_CREATE_SLS.

                    Me funciona perfectamente cuando creo una delivery para cada sales item.

                    Han modificado el custo para que se cree una delivery por cada 3 sales items.
                    Al ejecutar la bapi me da el siguiente error:

                    E M2 814: Error de programa durante lectura de XVBUK/XVBRK 030$ 1 en LMCS5U04/LMCS6U04

                    Resumiendo:

                    La tabla sales_order_items tiene 4 posicones. Yo quiero que me cree dos entregas. La primera será de 3 posiones y la segunda de 1.

                    Al ejecutar la bapi me da el error comentado más arriba.

                    Como lo puedo solucionar?

                    Comentario

                    Trabajando...