O Conhecimento

O conhecimento é inútil a menos que você o compartilhe.

terça-feira, 26 de junho de 2012

Screen Exit ME21N / ME22N / ME23N

Opa, coisa massa de se fazer.....uma screen exit em um campo de cunho obrigatorio na EKKO, com direito a append em tabela standard mais screen exit e field exit, mensagem de erro e tudo que se tem direito em uma boa programação......vamos aos passos.....


1 - Cria-se a estrutura com os campos que deseja incluir na tela

2 - Criação da estrutura append que usa a estrutura criada acima e ja inclui automaticamente na EKKO

3 - O append ja é incluido na tabela conforme abaixo




4 - Bom preparamos o banco de dados para receber o campo SGTXT agora vamos a tela, veja a tela padrão da t-code ME21N

5 -  Agora vamos incluir o campo do BD e prepara a screen exit.......o ponto de ampliação na SMOD é o MM06E005,



Notem abaixo nos componentes da ampliação o elemento EXIT_SAPMM0E_006, é o elemento que faz o acrescimo de mais uma tabstrip, e o include bem abaixo e a estrutura que criamos acima, para a interface com a tela.



Adiante também habilitamos o PBO e PAI da subscreen usada no campo Motivo Pedido.....e incluimos o campo na tela da subscreen da futura nova tabstrip





Dentro do user command da tela passamos o valor do campo da tela para variavel do prog.


São vários passos a coisa é grande mesmo mas o resultado é bem legal.......

E para completar todo o processo de inclusão da nova tabstrip com o um novo campo.....ainda temos renomear a nova tabstrip para isso bastar criar um elemento de texto de codigo 101 e nomea-lo como desejar , neste trabalho coloquei como Inf. Acessorias....

veja o resultado abaixo.....nova tabstrip com um novo campo.....



Estamos chegando lá temos digamos uns 80% pronto agora vem a codificação para atender a demanda do cliente em que um pedido só pode ser criado se este conter um movito/uma descrição de preenchimento obrigatorio.....vamos seguindo.....

Nem sei mais que passo estamos....mas vamos lá.....

Para tonar o campo obrigatorio, vamos usar uma???? uma ???? FIELD EXIT???? dai matamos em uma vez só toda a consistencia nas tres transações que vão usar o campo.....vamos a sua implementação. CMOD>>PRFB>>>SGTXT>> incluir programa e tela , SAPLXM06 / 0101, tela do modulo de função da exit.....chique demais....codigo simples sem churumelas.....




Com isso já temos a OBRIGATORIEDADE de preenchimento do campo feita....agora basta fazer o programa de criação de pedido gravar no campo da tabela standard para isso vamos voltar ao modulo de função e fazer algumas alterações em pontos especificos......vamos lá.....

Para a Alteração surtir efeito incluimos vários o codigos abaixo nos pontos da exit, assim ela faz a interface entre screen exit,  prog. , banco de dados.










 Para a inclusão do campo vamos importa-lo da variavel de tela que foi setada no PBO....lembram???
Este faz a importação do dado da screen exit para uma variavel do cabeçalho do pedido de compra......


 
Neste outro ponto, fazemos a exportação no modulo PAI da tela, ou seja, do campo tela para uma variavel da subscreen dai para uma variavel do prog.

PRONTO!!!!!  dai agora é só usar.....o efeito voce ve abaixo.......

Mensagem de erro que vem da FIELD EXIT....




E por ultimo tai uma lista com os pedidos....com o motivo obrigatorio.....A saber alguns objetos mostrados neste tutorial, não participaram da montagem deste esquema mas já existiam no ambiente então são mostrados porém não usados......abs.


 Já ia me esquecendo....link´s auxiliares.... para consultas......abs.

http://scn.sap.com/thread/635417
http://scn.sap.com/thread/2045971
http://scn.sap.com/thread/1409813
http://www.saptechnical.com/Tutorials/ExitsBADIs/ME21N/Index.htm
http://scn.sap.com/docs/DOC-27473
http://www.sapnet.ru/viewtopic.php?t=1449&highlight=me21n+customers+fields
 
Blogger Templates