Avalados por :

Guía para encontrar clases de objetos en SAP para órdenes de compra y producción

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 64 Vistas
0
Cargando...

Estoy buscando algunas clases. Soy muy nueva en objetos, así que podría estar buscándolos incorrectamente.

La primera clase que estoy buscando es una clase de orden de compra que contiene los componentes del ítem. He revisado CL_PO_ITEM_HANDLE_MM y CL_PO_HEADER_HANDLE_MM. No pude encontrar los componentes como parte de ninguna de las clases.

La segunda que busco no es tan crítica. Se trata de los componentes para una orden de producción. Tengo un módulo de función: BAPI_PRODORD_GET_DETAIL que obtiene los componentes para la orden. Sin embargo, para aprovechar los objetos, leí en algún lugar que, si es posible, debería evitar llamar a un módulo de función.

Cualquier ayuda que puedas brindar sería muy apreciada.

¡Gracias!

Michelle

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola Michelle

Hace aproximadamente dos años trabajé en un proyecto de migración de datos relacionado con órdenes de compra. Esta fue la primera vez que "conocí" el fm BAPI_PO_CREATE1. Recordé que este BAPI ya utilizaba las clases que mencioné, por lo que el paso más obvio fue analizar más de cerca BAPI_PO_GETDETAIL1.

El mismo enfoque se puede utilizar en cualquier momento cuando tengas un BAPI y quieras verificar si puedes reemplazarlo por las clases correspondientes.

Saludos

Uwe

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Uwe,

Eso es exactamente lo que estaba buscando. Una confirmación de que no me había perdido la clase de orden de producción. Usaré el BAPI.

El programa de orden de compra que has publicado fue de gran ayuda. Ojalá la clase tuviera algunos ejemplos y documentación como la que has proporcionado.

¡Gracias!

Michelle

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Michelle

No creo que ya haya clases disponibles en ERP 6.0 para leer órdenes de producción (aunque podría estar equivocado...). Sin embargo, en cuanto a la orden de compra, ya estás en el camino correcto.


*&---------------------------------------------------------------------*
*& Report  ZUS_SDN_OO_READ_PO
*&
*&---------------------------------------------------------------------*
*& Thread: Clase para componentes de ítems de orden de compra y componentes de orden de producción
*& <a class="jive_macro jive_macro_thread" href="" __jive_macro_name="thread" modifiedtitle="true" __default_attr="1206523"></a>
"& NOTA: Código adaptado de BAPI_PO_GETDETAIL1
*&---------------------------------------------------------------------*

REPORT  zus_sdn_oo_read_po.


TYPE-POOLS: abap, mmpur.

PARAMETER:
  p_ebeln   TYPE ebeln  DEFAULT '3000000045'.


DATA: gs_document    TYPE mepo_document,
      go_po          TYPE REF TO cl_po_header_handle_mm,
      gs_header      TYPE mepoheader,
      gd_tcode       TYPE sy-tcode,
      gd_result      TYPE mmpur_bool.

data: gt_items       type PURCHASE_ORDER_ITEMS,
      gs_itm         type PURCHASE_ORDER_ITEM,
      gs_item        type mepoitem.


START-OF-SELECTION.


*  preparar la creación de la instancia de la orden de compra
  gs_document-doc_type    = 'F'.
  gs_document-process     = mmpur_po_process.
  gs_document-trtyp       = 'A'.  " anz.  => mostrar
  gs_document-doc_key(10) = p_ebeln.

*  creación y inicialización del objeto
**  l_ebeln = purchaseorder.
  CREATE OBJECT go_po.
  CALL METHOD go_po->po_initialize( im_document = gs_document ).
  CALL METHOD go_po->set_po_number( im_po_number = p_ebeln ).
  CALL METHOD go_po->set_state( cl_po_header_handle_mm=>c_available ).

*  leer orden de compra de la base de datos
  gd_tcode = 'ME23N'.
  CALL METHOD go_po->po_read
    EXPORTING
      im_tcode     = gd_tcode
      im
        
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Michelle

No creo que ya haya clases disponibles en ERP 6.0 para leer órdenes de producción (aunque podría estar equivocado...). Sin embargo, en cuanto a la orden de compra, ya estás en el camino correcto.


*&---------------------------------------------------------------------*
*& Report  ZUS_SDN_OO_READ_PO
*&
*&---------------------------------------------------------------------*
*& Thread: Clase para componentes de artículos de orden de compra y componentes de orden de producción
*& <a class="jive_macro jive_macro_thread" href="" __jive_macro_name="thread" modifiedtitle="true" __default_attr="1206523"></a>
"& NOTA: Código adaptado de BAPI_PO_GETDETAIL1
*&---------------------------------------------------------------------*

REPORT  zus_sdn_oo_read_po.


TYPE-POOLS: abap, mmpur.

PARAMETER:
  p_ebeln   TYPE ebeln  DEFAULT '3000000045'.


DATA: gs_document    TYPE mepo_document,
      go_po          TYPE REF TO cl_po_header_handle_mm,
      gs_header      TYPE mepoheader,
      gd_tcode       TYPE sy-tcode,
      gd_result      TYPE mmpur_bool.

data: gt_items       type PURCHASE_ORDER_ITEMS,
      gs_itm         type PURCHASE_ORDER_ITEM,
      gs_item        type mepoitem.


START-OF-SELECTION.


*  preparar la creación de la instancia de PO
  gs_document-doc_type    = 'F'.
  gs_document-process     = mmpur_po_process.
  gs_document-trtyp       = 'A'.  " anz.  => display
  gs_document-doc_key(10) = p_ebeln.

*  creación e inicialización de objeto
**  l_ebeln = purchaseorder.
  CREATE OBJECT go_po.
  CALL METHOD go_po->po_initialize( im_document = gs_document ).
  CALL METHOD go_po->set_po_number( im_po_number = p_ebeln ).
  CALL METHOD go_po->set_state( cl_po_header_handle_mm=>c_available ).

*  leer orden de compra de la base de datos
  gd_tcode = 'ME23N'.
  CALL METHOD go_po->po_read
    EXPORTING
      im_tcode     = gd_tcode
      im_trtyp    
        
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?