cancel
Showing results for 
Search instead for 
Did you mean: 

find me a bapi/fm to change the order for iw32 t-code

vikastanneeru
Explorer
View Entire Topic
RaquelSouza
Explorer

Prezados,
boa noite."
Meu nome é Raquel Souza
e sou do Brasil.

Para alterar o código do pedido no IW32 (transação para alteração de ordens de manutenção no SAP PM - Plant Maintenance), você pode utilizar alguns BAPIs e Módulos de Função (FMs) disponíveis no sistema.

🔎 Soluções possíveis:

1️⃣ BAPI_ALM_ORDER_MAINTAIN

  • Este BAPI permite que você modifique ordens de manutenção, incluindo alteração de códigos.

  • Você precisa preencher os parâmetros apropriados para modificar o pedido desejado.

2️⃣ BAPI_ALM_ORDER_CHANGE

  • Outra alternativa para modificar pedidos existentes no SAP PM.

3️⃣ FM: CO_ZV_PEDIDO_POST

  • Este módulo de função pode ser usado para atualizar informações dentro de ordens de manutenção.

🔧 Processo sugerido:

  1. Recupere dados do pedido usando BAPI_ALM_ORDER_GET_DETAIL para verificar as informações atuais.

  2. Modifique os dados necessários (por exemplo, código do pedido).

  3. Use BAPI_ALM_ORDER_MAINTAIN ou BAPI_ALM_ORDER_CHANGE para atualizar o pedido.

  4. Confirme a alteração executando BAPI_TRANSACTION_COMMIT.

    DADOS: lv_order_id TIPO order_id, " Ordem de manutenção
    lv_new_code TIPO string. " Novo código para o pedido

    " Defina o pedido e o novo código
    lv_order_id = '1000001'. " Exemplo de número do pedido
    lv_new_code = 'NEWCODE'. " Novo código desejado

    " Estrutura para modificar o pedido
    DADOS: lt_order_data TIPO TABELA DE bapi_order_head,
    ls_order_data TIPO bapi_order_head.

    " Preencha os dados do pedido para modificação
    ls_order_data-orderid = lv_order_id.
    ls_order_data-codename = lv_new_code. " Modifique este campo conforme necessário

    ANEXAR ls_order_data A lt_order_data.

    " Chame o BAPI para alterar a ordem
    CHAMADA DE FUNÇÃO 'BAPI_ALM_ORDER_CHANGE'
    EXPORTANDO
    orderid = lv_order_id
    TABELAS
    order_data = lt_order_data
    IMPORTANDO
    return = lv_return.

    " Verifique a mensagem de retorno do BAPI
    IF lv_return-type = 'S'.
    COMMIT WORK. " Confirme as alterações
    WRITE: 'Pedido alterado com sucesso!'.
    ELSE.
    WRITE: 'Erro ao alterar o pedido:', lv_return-message.
    ENDIF.

    Explicação do código:

    • lv_order_id : O número da ordem de manutenção que você deseja alterar.

    • lv_new_code : O novo código para o pedido.

    • BAPI_ALM_ORDER_CHANGE : A chamada da função BAPI para alterar os dados do pedido.

    • COMMIT WORK : Confirma as alterações no banco de dados após uma execução bem-sucedida.

    Este código é apenas um exemplo básico, e você pode ajustá-lo para modificar outros campos ou executar verificações adicionais conforme necessário. Se precisar de mais ajuda, sinta-se à vontade para perguntar! 🚀
    Espero ter ajudado 😘😍😘

    Boa 😉😉

     




vikastanneeru
Explorer
0 Kudos
hello expert firstly thank your reply @ but i didn't understand the language that you have send and there is no fm in sap BAPI_ALM_ORDER_CHANGE