Avalados por :

Solução para criar pedidos de compra com o BAPI_PO_CREATE1 e ME51

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

Olá Seniors,

Tenho um requisito sobre a criação de pedidos de compra. Neste processo, estou utilizando o BAPI chamado "BAPI_PO_CREATE1". Passei todos os campos, mas ao depurar e revisar as tabelas internas, não consegui encontrar certos registros. Mesmo depurando "bapiret2" e vi um erro que dizia "Todos os campos obrigatórios estão faltando". Até criei um PO em ME51 e descobri os campos obrigatórios, mas em vão. BAPIRET2 continua dizendo que faltam mais alguns campos obrigatórios. Preciso saber quais são todos os campos obrigatórios para criar um pedido de compra usando o TCODE - ME51.

Sua resposta é muito aguardada e recompensada.

Obrigado e cumprimentos,

MARKIV

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

4 Respuestas

0
Cargando...

Oi,

Tente isto,

INFORME ZTEST_BAPI .

*- Declarações relacionadas com BAPI

DATA : g_pohdr TYPE bapimepoheader,

g_pohdrx TYPE bapimepoheaderx,

gt_poitem TYPE TABLE OF bapimepoitem,

gt_poitemx TYPE TABLE OF bapimepoitemx,

gt_posched TYPE TABLE OF bapimeposchedule,

gt_poschedx TYPE TABLE OF bapimeposchedulx,

gt_poacct TYPE TABLE OF bapimepoaccount,

gt_poacctx TYPE TABLE OF bapimepoaccountx,

gt_poservice TYPE TABLE OF bapiesllc,

gt_posrvacc TYPE TABLE OF bapiesklc,

gt_return TYPE TABLE OF bapiret2.

realizar prepare_header.

REALIZAR prepare_items.

REALIZAR prepare_schedule.

realizar create_po.

&----


*& Form prepare_header

&----


  • Configurar estrutura de cabeçalho

----


FORM prepare_header.

g_pohdr-comp_code = '2000'.

g_pohdrx-comp_code = 'X'.

  • configurar tipo de documento

g_pohdr-doc_type = 'NB'.

g_pohdrx-doc_type = 'X'.

g_pohdr-vendor = '0008000330'.

g_pohdrx-vendor = 'X'.

g_pohdr-langu = sy-langu.

g_pohdrx-langu = 'X'.

g_pohdr-purch_org = 'BA01'.

g_pohdrx-purch_org = 'X'.

g_pohdr-pur_group = '800'.

g_pohdrx-pur_group = 'X'.

g_pohdr-currency = 'USD'.

g_pohdrx-currency = 'X'.

ENDFORM. " prepare_header

&----


*& Form prepare_items

&----


  • Configurar valores de Ítens

----


FORM prepare_items.

DATA : ls_poitem TYPE bapimepoitem,

ls_poitemx TYPE bapimepoitemx.

ls_poitem-po_item = '00010'.

ls_poitemx-po_item = '00010'.

ls_poitemx-po_itemx = 'X'.

ls_poitem-short_text = 'ABSORBER,SHOCK:PALLETIZER'.

ls_poitemx-short_text = 'X'.

ls_poitem-material = '000000000001070062'.

ls_poitemx-material = 'X'.

ls_poitem-vend_mat = 'xyz'.

ls_poitemx-vend_mat = 'X'.

ls_poitem-quantity = '100'.

ls_poitemx-quantity = 'X'.

ls_poitem-po_unit = 'EA'.

ls_poitemx-po_unit = 'X'.

ls_poitem-po_unit_iso = 'EA'.

ls_poitemx-po_unit_iso = 'X'.

ls_poitem-net_price = '6.32'.

ls_poitemx-net_price = 'X'.

ls_poitem-price_unit = '1'.

ls_poitemx-price_unit = 'X'.

ls_poitem-item_cat = 'D'.

ls_poitemx-item_cat = 'X'.

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

Olá

SPRO => Gestão de materiais => Gestão de serviços externos => Definir design de tela => ME51 => Campos de preço e valor => Preço bruto definido como obrigatório. Funcionará.

<b>Você teria que adicionar uma subtela adicional à sua transação através de uma saída de tela.

Primeiro você criaria uma subtela com todos os campos que deseja incluir, incluindo um PAI e PBO.

Em seguida, você encontraria a saída de tela apropriada para isso. Para ME51/52/53 aplicam-se as seguintes saídas...

AMPL0001 Subtela de usuário para dados adicionais em AMPL

LMEDR001 Melhorias no programa de impressão

LMELA002 Adotar número de lote da notificação de envio ao contabilizar uma GR

LMELA010 Notificação de envio entrante: Transferir dados de itens via IDOC

LMEQR001 Saída de usuário para determinação de fonte

LMEXF001 Condições em documentos de compra sem recebimento de fatura

LWSUS001 Determinação de fonte específica do cliente em Retail

M06B0001 Determinação de papel para liberação de solicitação de compra

M06B0002 Mudanças na estrutura de comunicação para liberação de solicitação de compra

M06B0003 Intervalo de número e número de documento

M06B0004 Intervalo de número e número de documento

M06B0005 Mudanças na estrutura de comunicação para liberação geral de solicitações

M06E0004 Mudanças na estrutura de comunicação para documento de compra liberado

M06E0005 Determinação de papel para liberação de documentos de compra

ME590001 Agrupamento de requisições para divisão de PO em ME59

MEETA001 Definir tipo de linha de programação (acúmulo, req. imediata, visualização prévia)

MEFLD004 Determinar data de entrega mais precoce para verificação com GR (apenas PO)

MELAB001 Programar geração de previsões de entrega: Implementação de programação

MEQUERY1 Melhoria na visualização de documento ME21N/ME51N

MEVME001 Cálculo de quantidade padrão de WE e tolerância de sobre/subentrega

MM06E001 Saídas de usuário para documentos de compra entrantes e saíntes de EDI

MM06E003 Intervalo de número e número de documento

MM06E004 Controlar telas de dados de importação em ordem de compra

MM06E005 Campos de cliente em documento de compra

MM06E007 Alterar documento para solicitações ao se tornarem PO

MM06E008 Monitoramento de valor alvo de contr. em caso de ordens de liberação

MM06E009 Textos relevantes para indicador de "Existem textos"

MM06E010 Seleção de campo para endereço do fornecedor

MM06E011 Ativar bloqueio de PReq

MMAL0001 Distribuição de lista de origem ALE: Processamento de saída

MMAL0002 Distribuição de lista de origem ALE: Processamento de entrada

MMAL0003 Distribuição de registro de info de compra ALE: Processamento de saída

MMAL0004 Distribuição de registro de info de compra ALE: Processamento de entrada

MMDA0001 Endereços de entrega predefinidos

MMFAB001 Saída de usuário para geração de ordem de liberação

MRFLB001 Controle de itens para ordem de liberação de contrato

Você teria que verificar qual se aplica ao seu requisito e então codificar de acordo.

</b>

Recompensar todas as respostas úteis

Saudações

Pavan

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

Olá,

Funcionalidade

O módulo de função BAPI_PO_CREATE1 permite criar ordens de compra. A BAPI utiliza a tecnologia por trás da transação de ordem de compra Enjoy (ME21N).

Alternativamente, está disponível o tipo de IDoc PORDCR1. Os dados deste IDoc preenchem automaticamente os parâmetros de interface do módulo de função BAPI_PO_CREATE1.

Detalhes da funcionalidade

Autorização

Os seguintes objetos de autorização são verificados ao criar uma ordem de compra Enjoy (atividade 01):

M_BEST_BSA (tipo de documento na PO)

M_BEST_EKG (grupo de compras na PO)

M_BEST_EKO (organização de compras na PO)

M_BEST_WRK (planta na PO)

Adoção de controle de valores de campo através de X bar

Para a maioria das tabelas, você pode determinar através de seus próprios parâmetros na X bar associada em cada caso (por exemplo, PoItemX) se os campos devem ser definidos como iniciais, inserir valores através da interface ou adotar valores padrão (por exemplo, da parametrização ou registros mestres) (por exemplo, não é obrigatório adotar o grupo de material de uma solicitação de compra subjacente, você pode alterá-lo com a BAPI).

Transferência

Dados de cabeçalho

Os dados de cabeçalho da ordem de compra Enjoy são transferidos na tabela PoHeader.

Dados de Itens

Os dados de Itens da ordem de compra Enjoy são armazenados na tabela PoItem (dados gerais de Itens). As linhas de programação de entrega são armazenadas na tabela PoSchedule.

Utilize a tabela PoAccount para especificar as informações de alocação de contas. Se foram especificadas alocações de contas para serviços e limites, mostre a linha de alocação de contas relevante em PoAccount na tabela PoSrvAccessValues através do número do pacote do serviço ou limite.

Serviços e Limites

Serviços, limites gratuitos e limites com referência a contrato podem ser especificados nas tabelas PoServices, PoLimits e PoContractLimits.

Condições

As condições são transferidas na tabela PoCond; as condições de cabeçalho na tabela PoCondHeader. A determinação do preço é reiniciada através do parâmetro CALCTYPE na tabela PoItem.

Fornecedor e endereço de entrega

O endereço do fornecedor pode ser especificado individualmente na tabela PoAddrVendor; o endereço de entrega na tabela PoAddrDelivery. Se nenhuma especificação individual for feita, os campos serão preenchidos através da facilidade de gerenciamento de endereços central.

Nota

Neste método, as seguintes restrições se aplicam em relação aos endereços:

Os endereços só podem ser criados com este método, não podem ser alterados. Você só pode alterar os dados de endereço com o método BAPI_ADDRESSORG_CHANGE.

Ao criar endereços, eles não são verificados pelo método. Portanto, uma ordem de compra Enjoy pode conter dados de endereço incorretos.

Funções dos parceiros

Os parceiros podem ser mantidos individualmente através da tabela PoPartner (com exceção da função de parceiro "fornecedor").

Dados de importação/exportação

Os dados de importação/exportação podem ser especificados por item na tabela PoExpImpItem. Os dados de comércio exterior só podem ser transferidos como dados padrão para novos itens.

Textos

Os textos de cabeçalho e Itens podem ser transferidos nas tabelas PoTextHeader e PoTextItem. Os textos para serviços são importados na tabela PoServicesText.

Gerenciamento de versões

Você pode utilizar a facilidade de Gerenciamento de versões através da tabela AllVersions.

Retorno

O número do PO é retornado no parâmetro ExpPurchaseOrder. Além disso, todas as informações, exceto as tabelas de serviços e de importação/exportação, são colocadas nas estruturas de saída.

Mensagens de retorno

As mensagens são retornadas no parâmetro Return. Isso também inclui informações sobre se os dados da interface foram preenchidos incorretamente ou provavelmente incorretamente (verificação de interface heurística). Se uma PO for criada com sucesso, o número da PO também será colocado na tabela de retorno com a mensagem correspondente.

Exemplo

Exemplo de preenchimento de interface BAPI no Constructor de funções

Parâmetro: POHEADER

COMP_CODE = 1000

DOC_TYPE = NB

ITEM_INTVL = 00001

VENDOR = 0000001000

PMNT

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

Olá,

por favor, verifique o seguinte link, pode te ajudar

********** por favor, dê pontos se a informação for útil para você ***********

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?