Criar elementos reutilizáveis personalizados

Objectives

After completing this lesson, you will be able to:
  • Criar bibliotecas e métodos personalizados
  • Criar listas de códigos personalizadas

Bibliotecas personalizadas

Com o app Elementos reutilizáveis personalizados, você pode modularizar seu código personalizado e, assim, estruturar seu código personalizado de acordo com suas necessidades. O app foi projetado especificamente para a reutilização do código personalizado e suporta sua produtividade e eficiência.

A figura mostra a posição do botão de adição para criar uma nova biblioteca personalizada. Quando este botão é selecionado, é exibido um popup no qual você pode inserir o nome e o ID da biblioteca personalizada recém-criada.

Você pode utilizar o app Elementos reutilizáveis personalizados para:

  • Criar e editar bibliotecas personalizadas
  • Criar e editar métodos, juntamente com os parâmetros correspondentes
  • Criar estruturas

    Você pode criar estruturas para tornar seu gerenciamento de dados e acesso mais eficiente. Para poder trabalhar com dados estruturados, é possível definir estruturas para uma biblioteca personalizada que podem ser depois utilizadas na definição de parâmetros de método.

  • Criar tabelas

    Você pode criar definições de tabelas (como tipos de tabela ABAP para tabelas internas). Eles podem ser usados para digitar parâmetros de método.

  • Criar objetos de dados (variáveis)

    Você cria definições de variáveis. Essas variáveis podem ser abordadas em implementações. Portanto, não há a necessidade de defini-los repetidamente.

  • Criar listas de códigos personalizadas

Para criar bibliotecas e métodos personalizados, proceda da seguinte forma:

  1. Abra o app Elementos reutilizáveis personalizados.
  2. Selecione + (Adicionar) para criar uma nova biblioteca personalizada.
  3. Defina um nome de biblioteca e um ID de biblioteca para sua nova biblioteca personalizada. Se não for modificado manualmente, o ID da biblioteca será derivado do nome da biblioteca personalizada. Em seguida, selecione Criar.
  4. Selecione + (Adicionar) na seção MÉTODOS para criar um novo método em sua biblioteca personalizada criada anteriormente.
  5. Defina um ID de método e, se necessário, uma descrição para o seu método. Prossiga para os detalhes do método selecionando o método.
  6. Selecione + (Adicionar) para adicionar parâmetros para seu método.
  7. Defina um ID de parâmetro e, se necessário, um nome para o parâmetro. Selecione um tipo de parâmetro que corresponda ao seu método. Em seguida, selecione um tipo técnico e defina o comprimento e decimais, se necessário.
  8. Você pode gravar o método como esboço ou publicá-lo. Um método deve ser publicado para que você possa continuar para o editor e inserir o código personalizado.
  9. Volte para os Detalhes da biblioteca e selecione o ID do método para continuar para o editor.
  10. Selecione Processar e insira seu código personalizado.
  11. Selecione Testar para verificar a exatidão funcional do seu código personalizado.

    Nota

    Você não pode gravar ou publicar seu código personalizado se ele contiver erros.
  12. Publique seu código personalizado e seu método.
A figura ilustra as explicações abaixo.

No exemplo mostrado, o método calc_discount_amount, da biblioteca personalizada zz1_customer_functions_10, é chamado em um business object personalizado. Os parâmetros de método montante e desconto são fornecidos com valores adequados. O parâmetro de retorno do método é atribuído à variável customerinvoice10-discountamount_v.

Como criar e usar uma biblioteca personalizada

Para as etapas e os dados desta demonstração, consulte o exercício Criar e usar uma biblioteca personalizada.

Criar e usar uma biblioteca personalizada

Exemplo de negócio

Neste exercício, você criará uma biblioteca personalizada com um método para modularizar e estruturar seu código personalizado. Você utilizará a biblioteca na implementação de seu business object personalizado.

Nota

Neste exercício, quando os valores incluírem ##, substitua ## por seu número de grupo.

Etapas

  1. No app Elementos reutilizáveis personalizados, crie uma nova biblioteca personalizada com NomeFunções do cliente ## e ID da bibliotecaZZ1_CUSTOMER_FUNCTIONS_##.

    1. Para iniciar o launchpad do SAP Fiori do sistema S4D, selecione o caminho 10 Developments4dhost10 S4D Fiori Launchpad na barra de marcadores do navegador.

    2. No launchpad do SAP Fiori, selecione o bloco Elementos reutilizáveis personalizados.

    3. Na guia Bibliotecas personalizadas do app Elementos reutilizáveis personalizados, selecione + (Adicionar) na barra de ferramentas da tabela exibida.

    4. Na caixa de diálogo Nova biblioteca personalizada exibida, insira Funções do cliente ## como Nome e ZZ1_CUSTOMER_FUNCTIONS_## como ID da biblioteca.

    5. Selecione Criar.

  2. Crie um novo método na biblioteca personalizada criada anteriormente com o ID de métodoCALC_DISCOUNT_AMOUNT e DescriçãoCalcular montante de desconto.

    1. Selecione + (Adicionar) na seção MÉTODOS da tela exibida para criar um novo método.

    2. Insira CALC_DISCOUNT_AMOUNT como ID do método e Calcular montante de desconto como Descrição para o novo método.

  3. Adicione os seguintes parâmetros ao seu método:

    ID de parâmetroNomeTipo de parâmetroTipo técnicoPropriedades
    AMOUNT<sua descrição>ImportaçãoNúmeroComprimento:15, decimais:2
    DISCOUNT<sua descrição>ImportaçãoNúmeroComprimento:5, decimais:2
    DESCOUNTAMOUNT<sua descrição>DevoluçãoNúmeroComprimento:15, decimais:2
    1. Selecione seu método recém-criado na tabela para continuar para os detalhes do método.

    2. Utilize + (Adicionar) da barra de ferramentas da tabela exibida para criar 3 parâmetros para seu método. Defina o ID do parâmetro, o Nome, o Tipo de parâmetro, o Tipo técnico e as Propriedades dos parâmetros adicionados, como indicado na tabela acima.

  4. Publique seu método.

    1. Selecione Publicar no rodapé da página para publicar o método.

  5. Após a publicação, crie um esboço para a lógica do método e implemente o mesmo da seguinte forma: Calcule o montante de desconto com base no montante e desconto transferidos. Retornar o valor do desconto calculado ao chamador usando o parâmetro de retorno correspondente.

    1. Selecione Voltar para retornar aos detalhes da biblioteca.

    2. Selecione o ID de método CALC_DISCOUNT_AMOUNT para continuar para o editor ABAP.

    3. Selecione Processar.

    4. Insira a seguinte codificação no editor Código de rascunho:

      Code Snippet
      1
      discountamount = ( amount * discount ) / 100.
    5. Selecione Gravar para gravar o esboço.

  6. Teste seu código personalizado para exatidão funcional na aplicação Elementos reutilizáveis personalizados.

    1. Na ficha de registro Teste, insira os valores adequados para os parâmetros de importação AMOUNT e DISCOUNT do método.

    2. Selecione o botão Testar para efetuar a execução de teste.

    3. Verifique o conteúdo do parâmetro de retorno DISCOUNTAMOUNT após a sua lógica ter sido executada. Ele é exibido na visão Parâmetros de devolução.

  7. Publique seu código personalizado após o teste bem-sucedido.

    1. Selecione Publicar no rodapé da página.

  8. Agora utilize a biblioteca personalizada que você acabou de criar em seu business object personalizado ZZ1_CUSTOMERINVOICE##: chame o método CALC_DISCOUNT_AMOUNT na implementação da ação Aplicar desconto a cliente para calcular o montante de desconto.

    1. No launchpad do SAP Fiori, selecione o bloco Business objects personalizados.

    2. Abra seu business object personalizado ZZ1_CUSTOMERINVOICE## selecionando-o na tabela Business objects personalizados exibida.

    3. Mude para a ficha de registro Lógica.

    4. Selecione o link Aplicar desconto a cliente.

    5. Selecione Criar esboço.

    6. Adapte a codificação no editor Lógica de rascunho da seguinte forma:

      Code Snippet
      12345678910111213141516171819
      SELECT SINGLE FROM d425_i_cust## FIELDS zz1_discount_##_g## WHERE id = @customerinvoice##-customerid INTO @customerinvoice##-discount. IF sy-subrc = 0. * old: * customerinvoice##-discountamount_v = ( customerinvoice##-amount_v * customerinvoice##-discount ) / 100. * new: customerinvoice##-discountamount_v = zz1_customer_functions_##=>calc_discount_amount( amount = customerinvoice##-amount_v discount = customerinvoice##-discount ). customerinvoice##-discountamount_c = customerinvoice##-amount_c. ELSE. message = VALUE #( severity = co_severity-error text = 'Discount could not be determined' ). ENDIF.

      Convém usar a função Inserir snippet de código. Selecione-o (acima do editor), selecione a guia Personalizado e encontre sua biblioteca e seus métodos.

    7. Selecione Gravar para gravar o esboço.

  9. Teste a implementação adaptada da ação Aplicar desconto a cliente, tanto na aplicação Business objects personalizados como após a publicação por meio do seu app Administrar faturas de cliente.

    1. Para testar o esboço da sua lógica de ação na aplicação Business objects personalizados, proceda como descrito no exercício anterior.

    2. Selecione Publicar a partir do rodapé da página para publicar a versão de rascunho da lógica Ação após o teste com êxito.

    3. Depois de publicar, teste a lógica de ação por meio do app Administrar faturas de cliente, como descrito no exercício anterior.

Listas de códigos personalizados

A figura mostra o processo de criação de listas de códigos personalizadas. Este processo é descrito abaixo. O botão Plus-abre uma tela, que é utilizada para criar novas listas de códigos personalizadas.

Para criar listas de códigos personalizados para reutilização em aplicações personalizadas, proceda da seguinte forma:

  1. Abra o app Elementos reutilizáveis personalizados e selecione a guia Listas de códigos personalizadas.
  2. Selecione + (Novo) para criar uma nova lista de códigos personalizados.
  3. Insira o nome, o ID da lista de códigos personalizados e defina o comprimento máximo dos valores de código.
  4. Selecione + (Novo valor de código) para adicionar valores de código à lista. Em seguida, insira o valor do código e a descrição.
  5. (Opcional) Se necessário, você pode adicionar traduções para as descrições. Selecione + (Nova tradução) e selecione o idioma para o qual você quer atualizar as traduções.
  6. Clique em Salvar e publicar para ativar sua lista de códigos personalizados para reutilização.
A figura mostra as posições dos campos mencionados abaixo nas telas.

No exemplo exibido, o campo PaymentMethod do business object personalizado CUSTOMERINVOICE10 foi tipificado com a lista de códigos personalizados ZZ1_PAYMENTMETHOD10. Isso faz com que sejam fornecidas entradas possíveis para o campo de entrada correspondente na IU gerada. Estas entradas possíveis podem ser utilizadas para selecionar um valor da lista de códigos.

Como criar e utilizar uma lista de códigos personalizados

Para as etapas e os dados desta demonstração, consulte o exercício Criar e utilizar uma lista de códigos personalizados.

Criar e utilizar uma lista de códigos personalizados

Cenário empresarial

Neste exercício, você criará uma lista de códigos personalizados que contém diferentes formas de pagamento. Você utilizará esta lista de códigos na implementação do seu business object personalizado para criar um novo campo. Este campo será exibido automaticamente com as entradas possíveis correspondentes na IU do seu app Administrar faturas de cliente.

Nota

Neste exercício, quando os valores incluírem ##, substitua ## por seu número de grupo.

Etapas

  1. No app Elementos reutilizáveis personalizados, crie uma nova lista de códigos personalizados com NomeForma de pagamento ## e ID da lista de códigosZZ1_PAYMENTMETHOD##.

    1. Para iniciar o launchpad do SAP Fiori do sistema S4D, selecione o caminho 10 Developments4dhost10 S4D Fiori Launchpad na barra de marcadores do navegador.

    2. No launchpad do SAP Fiori, clique no bloco Elementos reutilizáveis personalizados.

    3. Na tela exibida, vá para a guia Listas de códigos personalizados.

    4. Selecione + (Novo) na barra de ferramentas da tabela exibida para criar uma nova lista de códigos personalizados.

    5. Na seção Informações gerais da tela exibida, insira Forma de pagamento ## como Nome e ZZ1_PAYMENTMETHOD## como ID da lista de códigos.

  2. Adicione os seguintes valores de código à sua lista de códigos:

    CódigoDescrição
    01Transferência bancária
    02PayPal
    03Cartão de crédito
    1. Na seção Valores de código da tela exibida, utilize + (Novo valor de código) da barra de ferramentas da tabela para criar os valores de código listados acima.

  3. Publique sua lista de códigos personalizados.

    1. Para concluir a criação da nova lista de códigos personalizados, selecione Gravar e publicar no canto inferior direito da tela.

  4. Agora utilize a lista de códigos personalizados que você acabou de publicar em seu business object personalizado ZZ1_CUSTOMERINVOICE##. Adicione o seguinte campo ao nó CUSTOMERINVOICE## de seu business object:

    RótuloIdentificadorTipoKeyPropriedades
    Forma de pagamentoPaymentMethodLista de códigos Lista de códigos: ZZ1_PAYMENTMETHOD##
    1. No launchpad do SAP Fiori, clique no bloco Business objects personalizados.

    2. Abra seu business object personalizado ZZ1_CUSTOMERINVOICE## selecionando-o na tabela Business objects personalizados exibida.

    3. Vá para a guia Campos.

    4. Selecione Processar esboço.

    5. Selecione Novo na barra de ferramentas da tabela exibida para criar o novo campo. Defina a propriedade Etiqueta, Identificador, Tipo, Chave e as Propriedades adicionais do campo adicionado, conforme indicado na tabela acima.

  5. Publique seu business object modificado.

    1. Selecione Publicar no rodapé da página.

  6. Após publicar a verificação, o app Administrar faturas de cliente no launchpad do SAP Fiori do sistema S4D: haverá um campo adicional chamado Forma de pagamento na página do objeto de uma fatura. Ele terá entradas possíveis que podem ser utilizadas para selecionar um valor da lista de códigos.

    1. No launchpad do SAP Fiori, clique no bloco Administrar faturas de cliente no grupo S4D425.

    2. Clique em Criar na barra de ferramentas da tabela exibida para criar uma nova fatura de cliente.

    3. Verifique na página que aparece se existe um campo de entrada correspondente para a forma de pagamento.