SlideShare uma empresa Scribd logo
1 de 5
FunctionModules
Módulosde funçãosão rotinasABAPque são armazenadosemumabibliotecade função
central.Elasnão são específicasdoaplicativo,masdisponível emtodoosistema.OABAP
Workbenchvemcomum grande númerode módulosde funçãopadrão.
Comorotinasde formulários,módulosde funçãopodemencapsularocódigodoprogramae
fornecerumainterface paratroca de dados.OsMódulosde funçãodevempertenceraum
grupochamado de um grupo de funções.
Elespossuemumainterface fixaparatroca de dados.Issotorna maisfácil para você passar
parâmetrosde entradae saída para o módulode função.Por exemplo,você pode atribuir
valorespadrãopara os parâmetrosde entrada.A interface tambémsuportamanipulaçãode
exceção.Istopermite-lhedetectarerrose passá-losde voltaparao programa de chamada
para o manuseio.
Os módulosusama suaprópria áreade memória.Oprogramade chamada e do módulode
funçãonão pode trocar dadosusandouma área de memóriacompartilhada –devemusara
interface domódulode função.Issoevitaefeitoscolateraisdesagradáveis,comoasubstituição
de dados acidentalmente.Você chamaummódulode funçãopeloseunome (que deve ser
único) emum comunicadode funçãode chamada usandoa palavrachave CALL FUNCTION.
FunctionBuilder
O FunctionBuilderpermite desenvolver,testare documentarnovosmódulosde função.Você
tambémpode usá-loparaexibirinformaçõessobre osmódulosde funçãoexistentes.
Criando uma Função
1. Entre na transação SE37.
2. Nomenu Goto,Function Groups,Create Group, crie um novoGrupo de funçãochamado
ZDEVA.
3. Digite a transação SE80, noABAPWorkBenchescolhagrupode funçãoe o seugrupo,clique
com o botãodireitoemcimado nome do seugrupoe escolhaActivate.
4. Volte para a transação SE37.
5. Em FunctionModule,escrevaZF_FUNCAO_DAe clique emCreate.
6.
7. Na aba Import, nos camposrespectivosdigite: Parametername = TEXTO1, Typing = TYPE,
AssociatedType = String.
8. No segundoregistrodigite: Parametername = TEXTO2, Typing = TYPE, Associated Type =
String.
9. Na Aba Export, noscampos respectivosdigite: Parametername = RESULTADO, Typing =
TYPE, AssociatedType = String.
10. Na AbaExceptionsnos camposrespectivosdigite: Exception=DA_ERRO, ShortText = Erro
na funçãoDev Aberto.
11. Na aba Source Code,você pode vero códigogeradoautomaticamente,preenchade
acordo com a imagemabaixo.
12. Clique em Activate para ativara função.
Call Function
Para chamar um módulode função,use a instruçãode funçãode chamada CALL FUNCTION.
Exemplo:
Neste exemplocriamosummodulode funçãonoFunctionBuildere usamosumprograma
para chamar esta função.
Abap
Função
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
FUNCTION ZF_FUNCAO_DA.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" REFERENCE(TEXTO1) TYPE STRING
*" REFERENCE(TEXTO2) TYPE STRING
*" EXPORTING
*" REFERENCE(RESULTADO) TYPE STRING
*" EXCEPTIONS
*" DA_ERRO
*"----------------------------------------------------------------------
IF TEXTO1 NE 'ERRO'.
CONCATENATE TEXTO1 TEXTO2 INTO RESULTADO SEPARATED BY ' '.
ELSE.
RAISE DA_ERRO.
ENDIF.
ENDFUNCTION.
Programa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
*&---------------------------------------------------------------------*
*& Report ZFUNCAO
*&
*&---------------------------------------------------------------------*
*& Desenvolvimento Aberto
*& Modulo de Função
*&---------------------------------------------------------------------*
REPORT ZFUNCAO.
DATA R_FUNCAO TYPE STRING.
* Chama função
CALL FUNCTION 'ZF_FUNCAO_DA'
exporting
TEXTO1 = 'Desenvolvimento'
TEXTO2 = 'Aberto'
importing
RESULTADO = R_FUNCAO.
WRITE : / 'Retorno da função:', R_FUNCAO.

Mais conteúdo relacionado

Mais procurados

Manual-de-php
Manual-de-phpManual-de-php
Manual-de-phpdiogoa21
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Webdiogoa21
 
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetrosAlgoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetrosAlex Camargo
 
CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1Norivan Oliveira
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Willian Magalhães
 
Apostila PhP com Wamp 3a Parte
Apostila PhP com Wamp 3a ParteApostila PhP com Wamp 3a Parte
Apostila PhP com Wamp 3a ParteIlton Barbosa
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básicoCezar Souza
 
PHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesPHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesAlmir Mendes
 
Boas práticas de programação em C# .NET
Boas práticas de programação em C# .NETBoas práticas de programação em C# .NET
Boas práticas de programação em C# .NETFabiano Roman Beraldi
 

Mais procurados (19)

Manual-de-php
Manual-de-phpManual-de-php
Manual-de-php
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Web
 
Matlab basico
Matlab basicoMatlab basico
Matlab basico
 
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetrosAlgoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
 
Excel VBA: Aula 9
Excel VBA: Aula 9Excel VBA: Aula 9
Excel VBA: Aula 9
 
CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
 
Apostila PhP com Wamp 3a Parte
Apostila PhP com Wamp 3a ParteApostila PhP com Wamp 3a Parte
Apostila PhP com Wamp 3a Parte
 
JAVA - Controle de programa
JAVA - Controle de programaJAVA - Controle de programa
JAVA - Controle de programa
 
Relatorio
RelatorioRelatorio
Relatorio
 
C++ Funções
 C++ Funções C++ Funções
C++ Funções
 
Cap07
Cap07Cap07
Cap07
 
Php básico
Php básicoPhp básico
Php básico
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básico
 
Php03
Php03Php03
Php03
 
PHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesPHP Day - PHP para iniciantes
PHP Day - PHP para iniciantes
 
Java3
Java3Java3
Java3
 
Php m18
Php m18Php m18
Php m18
 
Boas práticas de programação em C# .NET
Boas práticas de programação em C# .NETBoas práticas de programação em C# .NET
Boas práticas de programação em C# .NET
 

Destaque

инвестиционная идея на банк Греции
инвестиционная идея на банк Греции инвестиционная идея на банк Греции
инвестиционная идея на банк Греции Alexander Kremnev
 
Angle of reflection (Architectural Acoustics)
Angle of reflection (Architectural Acoustics)Angle of reflection (Architectural Acoustics)
Angle of reflection (Architectural Acoustics)krztyn
 
Google Adwords - Search binder
Google Adwords - Search binderGoogle Adwords - Search binder
Google Adwords - Search binderudaya kumar
 
Hb2015 phelps
Hb2015 phelpsHb2015 phelps
Hb2015 phelpsmelnhe
 
Steven flowerformingstormingnormingperforming
Steven flowerformingstormingnormingperformingSteven flowerformingstormingnormingperforming
Steven flowerformingstormingnormingperformingJasper Middendorp
 
NORMS: Standards of properly acceptable behavior
NORMS: Standards of properly acceptable behaviorNORMS: Standards of properly acceptable behavior
NORMS: Standards of properly acceptable behaviorkrztyn
 
Springwoods Village Exxon Mobil 2/18/2014
Springwoods Village Exxon Mobil 2/18/2014Springwoods Village Exxon Mobil 2/18/2014
Springwoods Village Exxon Mobil 2/18/2014Adam Ruehl
 
Инвестиционные идеи. Ставка на рост USDJPY
Инвестиционные идеи. Ставка на рост USDJPYИнвестиционные идеи. Ставка на рост USDJPY
Инвестиционные идеи. Ставка на рост USDJPYAlexander Kremnev
 
A homeopathic cure for insomnia does it exist
A homeopathic cure for insomnia does it existA homeopathic cure for insomnia does it exist
A homeopathic cure for insomnia does it existEthan Chong
 
Group presentation show
Group presentation showGroup presentation show
Group presentation showNerakstar1
 
Elementary teacher applications show
Elementary teacher applications  showElementary teacher applications  show
Elementary teacher applications showNerakstar1
 
Инвестиционные идеи. Ставка на рост акций компании Barrick gold corporation
Инвестиционные идеи. Ставка на рост акций компании Barrick gold corporationИнвестиционные идеи. Ставка на рост акций компании Barrick gold corporation
Инвестиционные идеи. Ставка на рост акций компании Barrick gold corporationAlexander Kremnev
 
Cordaid opening up caroline kroon
Cordaid opening up   caroline kroonCordaid opening up   caroline kroon
Cordaid opening up caroline kroonJasper Middendorp
 
Inventory control
Inventory controlInventory control
Inventory controlFarjana2
 
Alexander Kremnev Инвестиционные идеи. Ставка на падение австралийского доллара
 Alexander Kremnev Инвестиционные идеи. Ставка на падение австралийского доллара Alexander Kremnev Инвестиционные идеи. Ставка на падение австралийского доллара
Alexander Kremnev Инвестиционные идеи. Ставка на падение австралийского доллараAlexander Kremnev
 

Destaque (20)

Pelle aardemalightningtalk
Pelle aardemalightningtalkPelle aardemalightningtalk
Pelle aardemalightningtalk
 
инвестиционная идея на банк Греции
инвестиционная идея на банк Греции инвестиционная идея на банк Греции
инвестиционная идея на банк Греции
 
C3 hop kim va gian do pha
C3 hop kim va gian do phaC3 hop kim va gian do pha
C3 hop kim va gian do pha
 
Angle of reflection (Architectural Acoustics)
Angle of reflection (Architectural Acoustics)Angle of reflection (Architectural Acoustics)
Angle of reflection (Architectural Acoustics)
 
Google Adwords - Search binder
Google Adwords - Search binderGoogle Adwords - Search binder
Google Adwords - Search binder
 
Hb2015 phelps
Hb2015 phelpsHb2015 phelps
Hb2015 phelps
 
4 g
4 g4 g
4 g
 
Steven flowerformingstormingnormingperforming
Steven flowerformingstormingnormingperformingSteven flowerformingstormingnormingperforming
Steven flowerformingstormingnormingperforming
 
NORMS: Standards of properly acceptable behavior
NORMS: Standards of properly acceptable behaviorNORMS: Standards of properly acceptable behavior
NORMS: Standards of properly acceptable behavior
 
Springwoods Village Exxon Mobil 2/18/2014
Springwoods Village Exxon Mobil 2/18/2014Springwoods Village Exxon Mobil 2/18/2014
Springwoods Village Exxon Mobil 2/18/2014
 
Maag
MaagMaag
Maag
 
Инвестиционные идеи. Ставка на рост USDJPY
Инвестиционные идеи. Ставка на рост USDJPYИнвестиционные идеи. Ставка на рост USDJPY
Инвестиционные идеи. Ставка на рост USDJPY
 
A homeopathic cure for insomnia does it exist
A homeopathic cure for insomnia does it existA homeopathic cure for insomnia does it exist
A homeopathic cure for insomnia does it exist
 
2086_OS_FM_PreFinal_ASB
2086_OS_FM_PreFinal_ASB2086_OS_FM_PreFinal_ASB
2086_OS_FM_PreFinal_ASB
 
Group presentation show
Group presentation showGroup presentation show
Group presentation show
 
Elementary teacher applications show
Elementary teacher applications  showElementary teacher applications  show
Elementary teacher applications show
 
Инвестиционные идеи. Ставка на рост акций компании Barrick gold corporation
Инвестиционные идеи. Ставка на рост акций компании Barrick gold corporationИнвестиционные идеи. Ставка на рост акций компании Barrick gold corporation
Инвестиционные идеи. Ставка на рост акций компании Barrick gold corporation
 
Cordaid opening up caroline kroon
Cordaid opening up   caroline kroonCordaid opening up   caroline kroon
Cordaid opening up caroline kroon
 
Inventory control
Inventory controlInventory control
Inventory control
 
Alexander Kremnev Инвестиционные идеи. Ставка на падение австралийского доллара
 Alexander Kremnev Инвестиционные идеи. Ставка на падение австралийского доллара Alexander Kremnev Инвестиционные идеи. Ставка на падение австралийского доллара
Alexander Kremnev Инвестиционные идеи. Ставка на падение австралийского доллара
 

Semelhante a Desenvolvimento de função se37

Aula de Funções - 1ª Parte (2015_04_26 22_22_50 UTC).pdf
Aula de Funções - 1ª Parte (2015_04_26 22_22_50 UTC).pdfAula de Funções - 1ª Parte (2015_04_26 22_22_50 UTC).pdf
Aula de Funções - 1ª Parte (2015_04_26 22_22_50 UTC).pdfMauricio Wieler
 
47612195 apostila-de-scilab
47612195 apostila-de-scilab47612195 apostila-de-scilab
47612195 apostila-de-scilabMarco Antônio
 
Aula 8 - Modularização e Funções.pptx
Aula 8 - Modularização e Funções.pptxAula 8 - Modularização e Funções.pptx
Aula 8 - Modularização e Funções.pptxItamarGoncalves2
 
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetrosAlgoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetrosAlex Camargo
 
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430
095 A 134   Material Auxiliar Para Curso AvançAdo I Msp430095 A 134   Material Auxiliar Para Curso AvançAdo I Msp430
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430Texas Instruments
 
lista de exercícios de estrutura de dados Básico primeira prova
lista de exercícios de estrutura de dados Básico primeira prova lista de exercícios de estrutura de dados Básico primeira prova
lista de exercícios de estrutura de dados Básico primeira prova Rogério Cardoso
 
Módulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de ComputadoresMódulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de ComputadoresLuis Ferreira
 
Spring & Struts
Spring & StrutsSpring & Struts
Spring & Strutseduan
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturadadiogoa21
 

Semelhante a Desenvolvimento de função se37 (20)

Aula de Funções - 1ª Parte (2015_04_26 22_22_50 UTC).pdf
Aula de Funções - 1ª Parte (2015_04_26 22_22_50 UTC).pdfAula de Funções - 1ª Parte (2015_04_26 22_22_50 UTC).pdf
Aula de Funções - 1ª Parte (2015_04_26 22_22_50 UTC).pdf
 
Funções em C
Funções em CFunções em C
Funções em C
 
47612195 apostila-de-scilab
47612195 apostila-de-scilab47612195 apostila-de-scilab
47612195 apostila-de-scilab
 
Aula 8 - Modularização e Funções.pptx
Aula 8 - Modularização e Funções.pptxAula 8 - Modularização e Funções.pptx
Aula 8 - Modularização e Funções.pptx
 
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetrosAlgoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
 
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430
095 A 134   Material Auxiliar Para Curso AvançAdo I Msp430095 A 134   Material Auxiliar Para Curso AvançAdo I Msp430
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430
 
apostila matlab
apostila matlabapostila matlab
apostila matlab
 
Aula 4 | Funções
Aula 4 | Funções Aula 4 | Funções
Aula 4 | Funções
 
lista de exercícios de estrutura de dados Básico primeira prova
lista de exercícios de estrutura de dados Básico primeira prova lista de exercícios de estrutura de dados Básico primeira prova
lista de exercícios de estrutura de dados Básico primeira prova
 
Aula 4
Aula 4Aula 4
Aula 4
 
Linguagem C - Funções
Linguagem C - FunçõesLinguagem C - Funções
Linguagem C - Funções
 
Basico dovba excel_tutorial1
Basico dovba excel_tutorial1Basico dovba excel_tutorial1
Basico dovba excel_tutorial1
 
Módulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de ComputadoresMódulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de Computadores
 
Apostila de-arduino
Apostila de-arduinoApostila de-arduino
Apostila de-arduino
 
Spring & Struts
Spring & StrutsSpring & Struts
Spring & Struts
 
Tc aula 07
Tc aula 07Tc aula 07
Tc aula 07
 
Manual robotec
Manual robotecManual robotec
Manual robotec
 
Apostila Software Arena
Apostila Software ArenaApostila Software Arena
Apostila Software Arena
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturada
 
Montagem
MontagemMontagem
Montagem
 

Desenvolvimento de função se37

  • 1. FunctionModules Módulosde funçãosão rotinasABAPque são armazenadosemumabibliotecade função central.Elasnão são específicasdoaplicativo,masdisponível emtodoosistema.OABAP Workbenchvemcomum grande númerode módulosde funçãopadrão. Comorotinasde formulários,módulosde funçãopodemencapsularocódigodoprogramae fornecerumainterface paratroca de dados.OsMódulosde funçãodevempertenceraum grupochamado de um grupo de funções. Elespossuemumainterface fixaparatroca de dados.Issotorna maisfácil para você passar parâmetrosde entradae saída para o módulode função.Por exemplo,você pode atribuir valorespadrãopara os parâmetrosde entrada.A interface tambémsuportamanipulaçãode exceção.Istopermite-lhedetectarerrose passá-losde voltaparao programa de chamada para o manuseio. Os módulosusama suaprópria áreade memória.Oprogramade chamada e do módulode funçãonão pode trocar dadosusandouma área de memóriacompartilhada –devemusara interface domódulode função.Issoevitaefeitoscolateraisdesagradáveis,comoasubstituição de dados acidentalmente.Você chamaummódulode funçãopeloseunome (que deve ser único) emum comunicadode funçãode chamada usandoa palavrachave CALL FUNCTION. FunctionBuilder O FunctionBuilderpermite desenvolver,testare documentarnovosmódulosde função.Você tambémpode usá-loparaexibirinformaçõessobre osmódulosde funçãoexistentes. Criando uma Função 1. Entre na transação SE37. 2. Nomenu Goto,Function Groups,Create Group, crie um novoGrupo de funçãochamado ZDEVA.
  • 2. 3. Digite a transação SE80, noABAPWorkBenchescolhagrupode funçãoe o seugrupo,clique com o botãodireitoemcimado nome do seugrupoe escolhaActivate.
  • 3. 4. Volte para a transação SE37. 5. Em FunctionModule,escrevaZF_FUNCAO_DAe clique emCreate. 6. 7. Na aba Import, nos camposrespectivosdigite: Parametername = TEXTO1, Typing = TYPE, AssociatedType = String. 8. No segundoregistrodigite: Parametername = TEXTO2, Typing = TYPE, Associated Type = String. 9. Na Aba Export, noscampos respectivosdigite: Parametername = RESULTADO, Typing = TYPE, AssociatedType = String. 10. Na AbaExceptionsnos camposrespectivosdigite: Exception=DA_ERRO, ShortText = Erro na funçãoDev Aberto. 11. Na aba Source Code,você pode vero códigogeradoautomaticamente,preenchade acordo com a imagemabaixo.
  • 4. 12. Clique em Activate para ativara função. Call Function Para chamar um módulode função,use a instruçãode funçãode chamada CALL FUNCTION. Exemplo: Neste exemplocriamosummodulode funçãonoFunctionBuildere usamosumprograma para chamar esta função. Abap Função
  • 5. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 FUNCTION ZF_FUNCAO_DA. *"---------------------------------------------------------------------- *"*"Local Interface: *" IMPORTING *" REFERENCE(TEXTO1) TYPE STRING *" REFERENCE(TEXTO2) TYPE STRING *" EXPORTING *" REFERENCE(RESULTADO) TYPE STRING *" EXCEPTIONS *" DA_ERRO *"---------------------------------------------------------------------- IF TEXTO1 NE 'ERRO'. CONCATENATE TEXTO1 TEXTO2 INTO RESULTADO SEPARATED BY ' '. ELSE. RAISE DA_ERRO. ENDIF. ENDFUNCTION. Programa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 *&---------------------------------------------------------------------* *& Report ZFUNCAO *& *&---------------------------------------------------------------------* *& Desenvolvimento Aberto *& Modulo de Função *&---------------------------------------------------------------------* REPORT ZFUNCAO. DATA R_FUNCAO TYPE STRING. * Chama função CALL FUNCTION 'ZF_FUNCAO_DA' exporting TEXTO1 = 'Desenvolvimento' TEXTO2 = 'Aberto' importing RESULTADO = R_FUNCAO. WRITE : / 'Retorno da função:', R_FUNCAO.