Saltar al contenido

Ejemplo BAPI_SALESORDER_CREATEFROMDAT2

Un Usuario hizo la siguiente pregunta

Queridos todos, queridos

¿Alguien puede darme un código de muestra en ese BAPI_SALESORDER_CREATEFROMDAT2 con la línea de programación y la condición?

Sobre,

Equipo

2 respuesta

  • Ex miembro

    Hola,

    compruebe este código de muestra.

    PARAMETERS: p_auart TYPE auart OBLIGATORY.
    PARAMETERS: p_vkorg TYPE vkorg OBLIGATORY.
    PARAMETERS: p_vtweg TYPE vtweg OBLIGATORY.
    PARAMETERS: p_spart TYPE vtweg OBLIGATORY.
    
    PARAMETERS: p_sold TYPE kunnr OBLIGATORY.
    PARAMETERS: p_ship TYPE kunnr OBLIGATORY.
    
    *ITEM
    PARAMETERS: p_matnr TYPE matnr OBLIGATORY.
    PARAMETERS: p_menge TYPE kwmeng OBLIGATORY.
    PARAMETERS: p_plant TYPE werks_d OBLIGATORY.
    PARAMETERS: p_itcat TYPE pstyv   OBLIGATORY.
    
    * DATA DECLARATIONS.
    DATA: v_vbeln LIKE vbak-vbeln.
    DATA: header LIKE bapisdhead1.
    DATA: headerx LIKE bapisdhead1x.
    DATA: item    LIKE bapisditem OCCURS 0 WITH HEADER LINE.
    DATA: itemx   LIKE bapisditemx OCCURS 0 WITH HEADER LINE.
    DATA: partner LIKE bapipartnr  OCCURS 0 WITH HEADER LINE.
    DATA: return  LIKE bapiret2    OCCURS 0 WITH HEADER LINE.
    DATA: lt_schedules_inx   TYPE STANDARD TABLE OF bapischdlx
                             WITH HEADER LINE.
    DATA: lt_schedules_in    TYPE STANDARD TABLE OF bapischdl
                             WITH HEADER LINE.
    
    * HEADER DATA
    header-doc_type = p_auart.
    headerx-doc_type="X".
    
    header-sales_org = p_vkorg.
    headerx-sales_org = 'X'.
    
    header-distr_chan  = p_vtweg.
    headerx-distr_chan = 'X'.
    
    header-division = p_spart.
    headerx-division = 'X'.
    
    headerx-updateflag = 'I'.
    
    * PARTNER DATA
    partner-partn_role="AG".
    partner-partn_numb = p_sold.
    APPEND partner.
    
    partner-partn_role="WE".
    partner-partn_numb = p_ship.
    APPEND partner.
    
    * ITEM DATA
    itemx-updateflag = 'I'.
    
    item-itm_number="000010".
    itemx-itm_number="X".
    
    
    item-material = p_matnr.
    itemx-material="X".
    
    item-plant    = p_plant.
    itemx-plant="X".
    
    item-target_qty = p_menge.
    itemx-target_qty = 'X'.
    
    item-target_qu = 'EA'.
    itemx-target_qu = 'X'.
    
    item-item_categ = p_itcat.
    itemx-item_categ = 'X'.
    
    APPEND item.
    APPEND itemx.
    
    *   Fill schedule lines
    lt_schedules_in-itm_number="000010".
    lt_schedules_in-sched_line="0001".
    lt_schedules_in-req_qty    = p_menge.
    APPEND lt_schedules_in.
    
    *   Fill schedule line flags
    lt_schedules_inx-itm_number="000010".
    lt_schedules_inx-sched_line="0001".
    lt_schedules_inx-updateflag  = 'X'.
    lt_schedules_inx-req_qty     = 'X'.
    APPEND lt_schedules_inx.
    
    * Call the BAPI
    CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'
         EXPORTING
              sales_header_in     = header
              sales_header_inx    = headerx
         IMPORTING
              salesdocument_ex    = v_vbeln
         TABLES
              return              = return
              sales_items_in      = item
              sales_items_inx     = itemx
              sales_schedules_in  = lt_schedules_in
              sales_schedules_inx = lt_schedules_inx
              sales_partners      = partner.
    
    * Check the return table.
    LOOP AT return WHERE type="E" OR type="A".
      EXIT.
    ENDLOOP.
    
    IF sy-subrc = 0.
    
      WRITE: / 'Error in creating document'.
    
    ELSE.
    
      COMMIT WORK AND WAIT.
    
      WRITE: / 'Document ', v_vbeln, ' created'.
    
    ENDIF.
    

    Gracias

    Naren

  • Ex miembro

    Hola,

    Pedido de venta: crear un pedido de venta

    FM – BAPI_SALESORDER_CREATEFROMDAT2

    Funcionalidad

    Puede utilizar este método para crear pedidos de venta. Debe introducir los datos del encabezado del pedido de cliente (mediante la estructura ORDER_HEADER_IN) y los datos del socio (mediante la tabla ORDER_PARTNERS) como parámetros de entrada.

    Ingrese los detalles del artículo a través de la tabla ORDER_ITEMS_IN. Puede asignar números de artículo manualmente, completando los campos relevantes, o el sistema, de acuerdo con la configuración de Personalización, lo hace dejando los campos relevantes en blanco.

    Si tiene elementos configurables, debe ingresar los datos de configuración en las tablas ORDER_CFGS_REF, ORDER_CFGS_INST, ORDER_CFGS_PART_OF y ORDER_CFGS_VALUE.

    Las tarjetas de crédito se pueden transferir a través de la estructura BAPICCARD, por un lado, datos de identificación de la tarjeta, por otro lado, detalles de una transacción que ocurrió en un sistema externo.

    Una vez que haya creado correctamente la orden de venta, recibirá el número de documento (campo SALESDOCUMENT). Cualquier posible error se informará mediante el parámetro RETURN.

    Si no se ha creado un área de ventas en el encabezado de la orden de venta, el sistema crea el área de ventas de la parte vendedora a la parte o del barco a la parte, ingresada en la tabla de socios. Si no se puede crear un área de ventas clara, recibirá un mensaje del sistema y no se creará la orden de venta.

    Notas

    1. Entradas obligatorias:

    ORDER_HEADER_IN: DOC_TYPE Tipo de documento de ventas

    SALES_ORG Organización de ventas

    DISTR_CHAN Canal de distribución

    División DIVISION

    ORDER_PARTNERS …: PARTN_ROLE Rol de socio, SP vendido a la fiesta

    PARTN_NUMB Número de cliente

    ORDER_ITEMS_IN ..: CONTENT Número de asunto

    2. Destinatario del envío:

    Si no hay una fiesta de envío a entrada, utilice lo siguiente: Envío a fiesta =

    fiesta vendida a fiesta.

    3. Control:

    La BAPI no tiene un compromiso de base de datos. Esto significa que la aplicación correspondiente debe dejar el compromiso, para que se pueda realizar en la base de datos. El BAPI BAPI_TRANSACTION_COMMIT está disponible para este propósito.

    4. Palabras clave alemanas:

    Las siguientes palabras clave deben introducirse en alemán, independientemente de

    el idioma de inicio de sesión:

    DOC_TYPE Tipo de documento de ventas, por ejemplo: TA para pedido estándar

    PARTN_ROLE El rol del socio, por ejemplo: NOSOTROS para el socio desde el barco hasta la fiesta

    más información

    Puede encontrar más información en el OSS. La nota 93091 contiene información general sobre las BAPI en SD.

    Parámetros

    VENTASDOCUMENTIN

    ORDER_HEADER_IN

    ORDER_HEADER_INX

    REMITENTE

    BINARY_RELATIONSHIPTYPE

    INT_NUMBER_ASSIGNMENT

    BEHAVE_WHEN_ERROR

    INTERRUPTOR_LÓGICO

    PRUEBA DE FUNCIONAMIENTO

    CONVERTIR

    DOCUMENTO DE VENTAS

    DESCRIPCIÓN

    ORDER_ITEMS_IN

    ORDER_ITEMS_INX

    ORDER_PARTNERS

    ORDER_SCHEDULES_IN

    ORDER_SCHEDULES_INX

    ORDER_CONDITIONS_IN

    ORDER_CONDITIONS_INX

    ORDER_CFGS_REF

    ORDER_CFGS_INST

    ORDER_CFGS_PART_OF

    ORDER_CFGS_VALUE

    ORDER_CFGS_BLOB

    ORDER_CFGS_VK

    ORDER_CFGS_REFINST

    TARJETA_PEDIDO

    ORDER_TEXT

    ORDER_KEYS

    EXTENSIÓN EN

    SOCIOS

    Excepciones

    Código de muestra:

    ************ PEDIDO DE VENTA DE CREACIÓN DE ENTRADA.

    PARÁMETROS: p_auart TIPO auart OBLIGATORIO.

    PARÁMETROS: p_vkorg TIPO vkorg OBLIGATORIO.

    PARÁMETROS: p_vtweg TIPO vtweg OBLIGATORIO.

    PARÁMETROS: p_spart TIPO vtweg OBLIGATORIO.

    PARAMETROS: p_sold TYPE kunnr OBLIGATORIO.

    PARÁMETROS: p_ship TIPO kunnr OBLIGATORIO.

    * ARTICULO

    PARÁMETROS: p_matnr TIPO matnr OBLIGATORIO.

    PARÁMETROS: p_menge TIPO kwmeng OBLIGATORIO.

    PARÁMETROS: p_plant TYPE werks_d OBLIGATORIO.

    PARÁMETROS: p_itcat TIPO pstyv OBLIGATORIO.

    • DECLARACIÓN DE DATOS.

    DETALLES: v_vbeln COMO vbak-vbeln.

    DETALLES: header Likes bapisdhead1.

    DETALLES: headerx COMO bapisdhead1x.

    DETALLES: artículo COMO bapisditem OCURRE 0 LE HEADER LINE.

    DETALLES: mírx PUEDO bapisditemx OCURRE 0 LE HEADER LINE.

    DETALLES: PUEDO bapipartnr OCURRE 0 CON HEADER LINE.

    DETALLES: enviar LIKE bapiret2 OCURS 0 BY HEADER LINE.

    DETALLES: lt_schedules_inx TABLA ESTÁNDAR ESCRIBA EL bapischdlx

    LÍNEA LÍNEA DE ENCABEZADO

    DETALLES: lt_schedules_in TABLA DE ESTÁNDARES DE TIPO DE MUERTE

    LÍNEA LÍNEA DE ENCABEZADO

    • DETALLES DEL ENCABEZADO

    header-doc_type = p_auart.

    headerx-doc_type = «X».

    header-sales_org = p_vkorg.

    headerx-sales_org = ‘X’.

    header-distr_chan = p_vtweg.

    headerx-distr_chan = ‘X’.

    sección-encabezado = p_spart.

    headerx-Division = ‘X’.

    headerx-updateflag = ‘Yo’.

    • DETALLES DE LA ASOCIACIÓN

    socio-partn_role = «AG».

    socio-partn_numb = p_vendido.

    APÉNDICE socio.

    partner-partn_role = «NOSOTROS».

    socio-partn_numb = p_ship.

    APÉNDICE socio.

    • DETALLES DEL ARTÍCULO

    itemx-updateflag = ‘Yo’.

    item-itm_number = «000010».

    itemx-itm_number = «X».

    contenido del artículo = p_matnr.

    itemx-material = «X».

    item-plant = p_plant.

    itemx-plant = «X».

    item-target_qty = p_menge.

    itemx-target_qty = ‘X’.

    item-target_qu = ‘EA’.

    itemx-target_qu = ‘X’.

    item-item_categ = p_itcat.

    itemx-item_categ = ‘X’.

    APÉNDICE párrafo.

    APÉNDICE párrafo x.

    • Número de líneas de horario

    lt_schedules_in-itm_number = «000010».

    lt_schedules_in-sched_line = «0001».

    lt_schedules_in-req_qty = p_menge.

    APÉNDICE lt_schedules_in.

    • Número de banderas de línea de horario

    lt_schedules_inx-itm_number = «000010».

    lt_schedules_inx-sched_line = «0001».

    lt_schedules_inx-updateflag = ‘X’.

    lt_schedules_inx-req_qty = ‘X’.

    APÉNDICE lt_schedules_inx.

    • Llame a la BAPI

    FUNCIÓN DE APLICACIÓN ‘BAPI_SALESDOCU_CREATEFROMDATA1’

    EXPORTACIONES

    sales_header_in = encabezado

    sales_header_inx = headerx

    IMPORTANTE

    salesdocument_ex = v_vbeln

    MESAS

    retorno = retorno

    sales_items_in = artículo

    sales_items_inx = itemx

    sales_schedules_in = lt_schedules_in

    sales_schedules_inx = lt_schedules_inx

    sales_partners = socio.

    • Revisa la mesa plegable.

    RETORNO DE BUCLE DONDE tipo = «E» O tipo = «A».

    EL CAMINO DE SALIDA.

    ENDLOOP.

    SI sy-subrc = 0.

    ESCRIBIR: / ‘Error al crear el documento’.

    DEMÁS.

    TRABAJO Y DISPONIBILIDAD DEL COMITÉ.

    ESCRIBIR: / ‘Documento’, v_vbeln, ‘creado’.

    TERMINARA SI.

    Recompensa puntos si la respuesta es útil

    Sobre

    Gokul