Customizao Datasul 11
NDICE
I) Reviso
II) EPC
III) Metadados
Reviso
O que EPC ?
Uma EPC (External Program
Call)
um plug-in usado
tcnicas
podem
ser
tambm
usadas
para
desenvolvimento de novas
funcionalidades.
Customizao : mudar uma
funcionalidade ou ento
adicionar telas
Reviso
O que EPC ?
Semelhante ao Progress
Meta-dados
substituir EPC
Reviso
Foundation
EMS 5 Financeiro
Foundation
EMS 2
Foundation
Reviso
EMS 5 Financeiro
Foundation
EMS 2
Reviso
EMS 5 Financeiro
Foundation
EMS 2
Reviso
EMS 2
RIA
Reviso
Meta-dados
EMS 5
Financeiro
Foundation
EMS 2
RIA
Meta-dados
Reviso
Meta-dados
Foundation
Meta-dados
10
Advertncia
A TOTVS recomenda sempre o uso de
boas prticas e das tcnicas por ela
divulgadas para o desenvolvimento de
customizaes.
No
caso
de
desenvolvimentos em linguagens cuja
propriedade
intelectual
pertence
a
terceiros, com o caso do Flex, a TOTVS
no pode garantir que as migraes
para releases mais novas de seus
produtos no precisem de uma reviso e
eventuais
retrabalhos
nestes
desenvolvimentos
especficos
e
customizaes para seus clientes, sendo
que
tais
retrabalhos
so
de
responsabilidade do cliente.
EPC
Definio
Pontos de customizao do produto,
previamente definidos pelos desenvolvedores
das franquias
Podem ser adicionadas lgicas de negcio
exclusivas do cliente
UPC (User Program Call ) - EPCs customizadas
pelo cliente
12
EPC
Como Funciona a EPC em Flex?
13
EPC
Como Funciona a EPC em Flex?
View
Chama do Confirm()
Controller
[EPC(name=save...)]
public function doConfirm():void {
...
}
14
EPC
Programa
Flex
Remote
Object
DataService
s
Programa
Java
App Server
Programa
Progress
Proxy
Gen
15
EPC
Arquitetura lado Flex
Todo programa utiliza MVC (Model-View-Controller)
Dispe de uma biblioteca com o seguinte nome:
16
EPC
Estrutura de Diretrios
17
EPC
+ F5
18
EPC
19
Pontos de Customizao
http://sdk.datasul.com.br/confluence/display/SDKV1/Eve
ntos+de+EPC
20
Customizao Flex
A classe de tratamento de customizao dever:
Estender da classe EPCHandler
Ter o nome UPC + <Before ou After> + <Nome do
Evento a ser tratado>
EPC
Classe EPCHandler
Pacote:
com.datasul.framework.ui.epc.EPCHandler
Assinatura:
EPCHandler (epc:Object=null, name:String=null, func:Function=null)
Exemplo:
package com.datasul.epc.myepc {
import com.datasul.framework.ui.epc.EPCHandler;
public class UPCBeforeLoad extends EPCHandler {
public function UPCBeforeLoad(epc:Object=null, name:String=null,
func:Function=null)
{
// chama o construtor do EPCHandler
super(epc, name, func);
}
}
}
22
EPC
Variveis Disponveis
Durante a execuo so disponibilizadas as seguintes
variveis:
Varivel
Descrio
Tipo
epcClassName
String
epcName
Nome do evento
String
epcContainer
DisplayObjec
t
epcPackage
String
epcModel
Instncia do model
Object
epcItems
Map
epcController
Instncia do controller
Object
epcMethodNa
me
String
epcFuncParam
s
Array
23
EPC
EPC
25
EPC
Mtodo getModelAttributes do
EPCHandler
Retorna uma coleo com os atributos do MODEL,
quando este for especificado.
Assinatura:
getModelAttributes():ArrayCollection
Exemplo:
var lin:String = "";
for each(var st:String in getModelAttributes()){
lin+= st + \n";
}
Alert.show("Atributos do Model = "+ lin);
26
EPC
27
EPC
epcNotify():void
Exemplo:
public override function epcNotify():void{
this.epcContainer.myText.text =
this.epcItems.getValue("myText") as String;
}
28
EPC
29
EPC
30
EPC
31
EPC
tt-epc no-undo
as char format "x(12)"
as char format "x(32)"
as char format "x(54)"
cod-parameter cod-event ascending.
{method/dbotterr.i}
DEFINE TEMP-TABLE RowErrors NO-UNDO
FIELD ErrorSequence
AS INTEGER
FIELD ErrorNumber
AS INTEGER
FIELD ErrorDescription AS CHARACTER
FIELD ErrorParameters AS CHARACTER
FIELD ErrorType
AS CHARACTER
FIELD ErrorHelp
AS CHARACTER
FIELD ErrorSubType
AS CHARACTER.
32
EPC
EPC
34
EPC
END.
/* fim */
35
EPC
Cadastro de Programas
36
EPC
Links de Documentao
Trilha do Desenvolvedor de EPC
http://sdk.datasul.com.br/confluence/display/SD
KV1/Trilha+Desenvolvedor+de+EPC
Eventos de EPC
http://sdk.datasul.com.br/confluence/display/SD
KV1/Eventos+de+EPC
Manual de Customizao de EPC FDIS
http://sdk.datasul.com.br/confluence/pages/view
page.action?pageId=3407875
37
Metadados
O que Metadados ?
Wikipdia: So dados sobre outros
dados.
Meta: Algo que se auto explica.
Conjunto de ferramentas que permitem a
especificao e desenvolvimento de um
aplicativo de forma dinmica.
38
Metadados
Metadados
40
Metadados
Programao
Testes
Cadastramentos
Programao
Metadados
Testes
41
Metadados
Arquitetura do Metadados
42
Metadados
Introduo a Metadados
Analista de
Sistemas
Analista de
Negcios
Desenvolvedor
Usurio
IDE de
Metadados
Aplicativo
Cadastramento de
Metadados
Gerao de Telas
Dicionrio
Metadados
DB
43
Metadados
44
Exemplo de Zoom
Exemplo de FreeForm
Metadados
Caractersticas gerais
IDE Grfica simples e intuitiva para gerenciamento e
cadastramento de metadados.
IDE integrada ao Produto Datasul. No necessrio a
instalao de ferramentas adicionais para o
desenvolvimento/customizao utilizando Metadados.
Cadastramento de bancos de dados, tabelas e
campos (Dicionrio de Dados).
49
Metadados
Caractersticas gerais
Linguagem de script (ABLScript) para definio de
lgica de tela. O ABLScript um subset da
linguagem de programao Progress (utilizada no
desenvolvimento das lgicas de negcio). Dessa
forma necessrio o conhecimento de uma nica
linguagem de programao para as camadas
cliente(user interface) e servidor(lgica de negcio).
Editor de ABLScript com syntax highlighter, code
complete e help de comandos.
Rica paleta de componentes grficos.
50
Metadados
Caractersticas gerais
Suporte a criao de Templates de Formulrios.
Templates novos ou criados a partir de formulrios
existentes.
Wizard de Menu para cadastramentos de formulrios
criados via metadados no menu do produto Datasul.
Importador/Exportador de Formulrios.
Possibilidade de definio de permisses de acesso a
campos e botes de acordo como papel do usurio.
51
Editor ABLScript
Metadados
Caractersticas do ABLScript
O ABLScript uma linguagem de script
que permite a definio de lgicas de
tela, como por exemplo:
abertura/fechamento de formulrios
Metadados
Caractersticas do ABLScript
Sintaxe do Progress (linguagem utilizada
na construo das lgicas de negcio no
lado servidor)
Subset de comandos/funes do Progress
Orientada a Eventos
Executa 100% no lado Cliente (browser)
54
Metadados
Caractersticas do ABLScript
Metadados
Documentao do ABLScript
http://sdk.datasul.com.br/confluence/display/SDKV1/AB
LScript
56
Documentao do
Metadados
TOTVS
Documentao do Metadados
http://sdk.datasul.com.br/confluence/display/SDKV1/Met
adados
A
IM
M
E
G
57
Customizao Datasul 11
QUESTES
Ricardo Menna
A
IM
M
E
G
Desenvolvimento
Framework/Foundation
ricardo.menna@totvs.com.br
58