Exits

16
Screen Exit Encontradas em programas standard por chamada CALL CUSTOMER-SUBSCREEN. Com as screens-exits podemos incluir novos campos em telas standard através da criação de subtelas.

description

Screen Exits

Transcript of Exits

Nelson da Costa Carneiro Filho

Screen Exit

Encontradas em programas standard por chamada CALL CUSTOMER-SUBSCREEN.

Com as screens-exits podemos incluir novos campos em telas standard atravs da criao de subtelas.

Sempre que a declarao CALL CUSTOMER-SUBSCREEN INCLUDING ocorre no fluxo de controle de tela do PBO, uma subtela includa no rea pr-definida pela SAP.

Neste ponto, todos os mdulos chamados durante o evento PBO da subtela tambm sero processados.

O evento PAI de uma subtela processado quando a tela chamada invoca a subtela durante seu evento PAI usando a declarao CALL CUSTOMER-SUBSCREEN .

Os dados globais do programa no so conhecidos pelo Grupo de Funes X que contm sua subtela.Programadores SAP usam a Exits para fornecer explicitamente estes dados para as subtelas.

Para facilitar o transporte de dados, os mdulos so chamados no fluxo de controle do programa executado que contm exits para a transferncia de dados via parmetros de interface.

Mdulos de Funo pertencentes a estes tipos de exits podem ser encontrados nos mesmos grupos de funo das suas subtelas correspondentes.

Os dados devem ser igualmente transportados no sentido inverso, uma vez que dados globais do grupo de funes X que contm a sua tela no so conhecidos pelo programa chamador.

Por esse motivo, programadores SAP usam exits para retornar qualquer dado ao programa chamador que tenha sido alterado na subtela.

Assim, em termos simples as Screen Exits necessitam de duas Exits para fazer com que elas funcionem apropriadamente.

Comeando com a prtica: Abaixo temos a tela da ME22N. Assim, o requerimento modificar alguns campos adicionais em termos de item de dados.

Passo 1: CMOD o cdigo de transao atravs do qual podemos usar estes componentes.Ir para cdigo de Transao CMOD -> Digite o nome do projeto como ZDEPO (voc pode dar qualquer nome).Clique na opo (radio-button) 'Enhancement Assignment'.

Passo 2: Incluir o Enhancement MM06E005 ( a transao SMOD usada para encontrar o Enhancement apropriado a ser usado ).Clique na opo Components.

Passo 3:

Voc pode ver abaixo os componentes do seu projeto: Function EXITs, Screen EXITs e Includes Tables.

Para exibir campos adicionais, use a ME22N. Clicando duas vezes sobre o CI_EKPODB te levara direto para a SE11.

Passo 4:

Inclua o domnio que voc deseja exibir ou implementar.

Aqui usamos o campo ZZPOTYP que do tipo Char4. Salve e ative.

Obs: Isso pode demorar devido a atualizacao na tabela EKPO.

Passo 5:

Clique no boto 'BACK' e volte para a tela abaixo. Agora voc pode projetar parte visual de seu trabalho.Duplo Clique na Screen Exit 0111. Vai te levar para a tela de desenho da SE51.

Passo 6:Clique no boto layout da tela. Crie Label e Text Field. Vamos inserir nosso campo criado ZZPOTYP. Clique no boto 'Dict./Program fields'. Entre o 'Table/Field name' como : EKPO_CI-ZZPOTYP e clique no boto 'Get From Dictionary'.Selecione o campo e insira o mesmo na tela. Salve suas alteraes e ative a tela.

Passo 7:Novamente clique no boto 'BACK' e volte para a tela abaixo. At aqui, criamos apenas uma tela. Agora, temos de implementar duas Function Exits para transferir dados para a subtela e para ler os dados dessa subtela : EXIT_SAPMM06E_016. -> usada para transferir dados para a tela. EXIT_SAPMM06E_018. -> usada para obter os dados da tela.Duplo clique na primeira exit 016 te levar para o mdulo de funo onde voc poder encontrar um include: INCLUDE ZXM06U41.D duplo clique nele e crie. Adicione seu cdigo para inicializar a varivel EKPO-ZZPOTYP aqui.

Passo 8:

Por questes de aprendizado utilizamos apenas uma linha nica de cdigo para ser bem simples.

EKPO_CI-ZZPOTYP = ABCD.

Passo 9:

Da mesma maneira, voc pode usar a EXIT_SAPMM06E_018. Para ler o valor se modific-lo na tela. Por questo de tempo, ignore este passo. Apenas volte novamente na tela da transao CMOD e ative seu projeto ZDEPO.

Passo 10:Na transao ME22N abra qualquer PO. Voc ver um campo extra PO Type adicionado como detalhe na aba (Tab) Customer Data. Que ter seu novo campo ZZPOTYP, com o contedo definido na movimentao definida no cdigo do passo 8.

Esta guia extra de Customer Data ativada via standard ao encontrar qualquer Screen Exit ativa durante a execuo. Obs: A tela 0111 que usamos definido embaixo da Tab "Dados do Cliente".