Dicas ABAP categoria_guias

Published on December 21st, 2010 | by Mauricio Cruz

8

Tela de Seleção Turbinada – Parte 1 – Botões

A tela de seleção no SAP contém inúmeras funções que poucas pessoas utilizam. É possível criar subscreens, botoes, tabstrips… A idéia dessa série de posts é tentar prevenir que você crie um online ou uma tela sem necessidade, além de ajudar você a deixar sua tela de seleção mais “gringa”, e quem sabe surpreender algum usuário por aí ;)

Deixa sua tela de seleção no modo turbo após essa sequência de posts!

Dica de hoje… como adicionar um botão na tela de seleção?

Veja o código abaixo. Você pode também usar o velho e sempre bom CTRL+C CTRL+V e testar num programa local num ambiente que você tenha acesso:

Você pode atribuir pop-ups nos botões, outros programas através de um submit, mostrar uma SM30, chamar alguma transação com call transaction.. as opções são inúmeras.

A tela de seleção vai ficar assim com o código acima. Se liga ali no botão!

Clicando no botão, o programa cai nesse evento. Aí você pode colocar a chamada que você quiser!

Continue seguindo os posts para descobrir como fazer uma tela de seleção turbinada. No último post irei mostrar uma tela que una todos os códigos de tela de seleção listados aqui no blog.

Abraços!

Share on FacebookTweet about this on TwitterShare on LinkedInShare on Google+Email this to someonePrint this page

Tags: , , ,


About the Author

é pasteleiro ABAP Sênior, criou o ABAPZombie junto com o Mauro em 2010. Gosta de filosofar sobre fundamentos básicos da programação e assuntos polêmicos. Metal, artes marciais e games indies são legais. Zumbis não.



8 Responses to Tela de Seleção Turbinada – Parte 1 – Botões

  1. Henrique says:

    Se eu quiser colocar o botão blz, mas e se eu quiser dar um fim nele quando mudar um radio button por exemplo?

    • É só limpar a work area SSCRFIELDS para apagar este tipo de botão.

      Assim:

      <pre lang="abap" escaped="true">
      *&———————————————————————*
      *& Form APAGA_BOTAO
      *&———————————————————————*
      FORM apaga_botao USING p_number TYPE c.

      * Variáveis
      DATA: v_field(21) TYPE c.

      * Field Symbols
      FIELD-SYMBOLS: <fs_field> TYPE ANY.

      CONCATENATE 'SSCRFIELDS-FUNCTXT_0' p_number
      INTO v_field.

      ASSIGN (v_field) TO <fs_field>.

      IF sy-subrc = 0.
      CLEAR <fs_field>.
      ENDIF.

      ENDFORM. " APAGA_BOTAO
      </pre>

      É só chamar o comando PERFORM apaga_botao USING '1', se você quiser apagar o botão associado a function key 1, por exemplo. Faça isso no AT SELECTION SCREEN OUTPUT e seja feliz :D

      Abraço!

  2. Henrique Dias says:

    Eu fiz um teste aqui e não precisa usar esse field symbol maroto q vc usou aí no exemplo.

    Só isso já resolve:

    * Exclui o botão associado ao FUNCTION KEY 1.
    CLEAR sscrfields-functxt_01.

    Ah, e se alguém quiser excluir o botão executar é só usar o código abaixo:

    * Include de Selection Screen Standard
    INCLUDE rsdbc1xx.

    * Exclui o botão Executar da tela de seleção (a estrutura current_scr pode variar dependendo da versão do SAP)
    APPEND 'ONLI' TO current_scr-excl.

  3. Amanda PF says:

    Boa noite Maurício!
    Estou iniciando em abap e estou adorando seu blog! Parabéns!
    Estou com algumas dúvidas a respeito desse código…
    1- "IF sy-ucomm = 'FC01'."
    Nessa linha, esse sy-ucomm é por exemplo, uma variável para validar a execução e entrada de dados? Por que no caso do botão seu valor é igual a 'FC01' ?

    2- E no código de apagar o botão:

    "não entendi o pq da criação desse campo"
    FIELD-SYMBOLS: TYPE ANY.

    "por que concatenar esses dados?"
    CONCATENATE 'SSCRFIELDS-FUNCTXT_0' p_number
    INTO v_field.

    "aqui não entendi nd rs"
    ASSIGN (v_field) TO .

    IF sy-subrc = 0.
    CLEAR .
    ENDIF.

    Obrigado pela atenção! :)

  4. André Pampolin says:

    Mauricio, fiz o teste do botão acima Ctrl+C Ctrl+V, porém não apareceu o botão… será que tem a ver com a versão do SAP, atualmente estamos na 6.0

  5. André Pampolin says:

    Mauricio… descobri… é que o meu programa estava com o campo “Banco de dados lógico = PNP”, e assim ele sempre é o primeiro botão a aparecer… bastou eu trocar no código onde estava botão 1 para 2 que deu certo…

    Valeu.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Back to Top ↑