ContractPlus | Como utilizar processo de autorização do SAP na medição de contratos de fornecedores
4 min
Criado por Max Lopes De Brito em 22/09/2021 11:01
Atualizado por Eduardo Martins Dos Santos em 31/03/2025 14:11

Dúvida
Como utilizar o modelo de aprovação nativo do SAP Business One nas medições de contrato de fornecedores do ContractPlus. 

Atenção
Este procedimento é exclusivo para aprovações através do ContractPlus Web.


Procedimento
No momento que é feita a medição de fornecedores o ContractPlus gera um pedido de compra com status "Pendente de autorização", sendo possível aprovar a partir do processo de autorização nativo do SAP.

Criar Modelo de Autorização Padrão do SAP.
Acesse, no SAP, o módulo Administração → Processo de autorização → Modelos de autorização.

O modelo de autorização criado deve estar desmarcado a opção "Ativo", isso se faz necessário para evitar cair nos processos nativos do SAP.


Na aba "Condições", selecione a opção "Sempre".


Consultar o Id (Código) do modelo de autorização criado no SAP
Este código é necessário para a aplicação identificar em qual regra será atribuída o pedido de compra gerado pelo Add-On.

 
Criar regra de aprovação.
Iremos criar uma regra de aprovação por centro de custo e, a partir desta regra será definido o sistema no qual o modelo de autorização irá gerar o pedido de compra. Para criar essa regra é necessário acessar o banco de dados (SQL ou HANA) e alterar a Stored Procedure "IV_C1_ProcessAuthorizationAlternative".

Atenção
Neste exemplo, a procedure foi criada para o ambiente SQL Server. Caso seja necessário implementá-la no ambiente HANA, será preciso adaptá-la ao modelo do HANA.

Na procedure abaixo estamos definindo que toda vez que existir uma medição específica com o centro de custo "SUPRI", o pedido de compra será atribuído no modelo de autorização de código 1.

ALTER PROCEDURE [dbo].[IV_C1_ProcessAuthorizationAlternative]
(@ContractId int,
 @MeasurementId int,
 @InstallmentId int,
 @DownPaymentId int
 )
AS
BEGIN

    Select
      (Case
            When T1.OcrCode='SUPRI' Then 1
            Else
            0
        End
               
       ) as CodeAuthorization
    From IV_C1_Measurement T0
    INNER JOIN
         IV_C1_MeasurementLine T1 ON T1.MeasurementId=T0.Id
    Where T0.ID =@MeasurementId;

    
END


Criar uma medição com centro de custo SUPRI - Suprimentos

Após gravada a medição, será gerado um pedido de compra pendente de autorização.

 

Pedido de compra gerado pelo SAP
Após o pedido aprovado pelo autorizador, o usuário solicitante vai receber um alerta nativo do SAP onde será necessário clicar para adicionar o pedido seguindo a regra padrão do SAP.

 

Após a inclusão do pedido de compra no SAP pelo usuário, o sistema altera o status do contrato através do processo abaixo, que deve ser adicionado à transactionNotice do SAP.

Procedure SAP: SBO_SP_POSTTRANSACTIONNOTICE

Código em HANA

-- ContractOne

SELECT CURRENT_SCHEMA INTO db_invname FROM DUMMY;
CALL "IV_C1_ProcessNoticeAuthorizationAlternative"(:db_invname, :object_type, :transaction_type, :num_of_cols_in_key, :list_of_key_cols_tab_del, :list_of_cols_val_tab_del);

-- end ContractOne

Código em SQL

-- ContractOne

declare @currDbNameForContractOne nvarchar(128)
SET @currDbNameForContractOne = db_Name()
EXECUTE [IV_C1_ProcessNoticeAuthorizationAlternative] @currDbNameForContractOne, @object_type, @transaction_type, @num_of_cols_in_key, @list_of_key_cols_tab_del, @list_of_cols_val_tab_del

-- end ContractOne