Você está na página 1de 3

CRIACAO DE CAMPO MEMO VIRTUAL USANDO SYP

Reviso: 01/01/2002

1613 CRIACAO DE CAMPO MEMO VIRTUAL UTILIZANDO O ARQUIVO SYP.


Para criacao de um campo memo virtual, e necessario que sejam criados dois campos, um de
codigo e o outro com tipo memo virtual. Esses dados sao gravados no arquivo SYP.
EXEMPLO PARA UM NOVO CAMPO NO CADASTRO DE CLIENTES:
-------------------------------------------------Campo Codigo:
Nome Tipo Tamanho Contexto
A1_CODTST C 6 Real
Campo Memo:
Nome Tipo Tamanho Contexto
A1_TESTE M 80 Virtual
Obs. O tamanho do campo YP_TEXTO e 80.
Inicializador Padrao:
IF(!INCLUI,MSMM(SA1->A1_CODTST),"")
Para gravacao do campo memo, incluir a funcao MSMM no programa (nesse caso, estaremos
utilizando pontos de entrada do programa MATA030).
No caso de inclusao, estamos utilizando o ponto de entrada M030INC:
_cTeste := M->A1_TESTE
_nTam := TamSX3("A1_TESTE")
_nTam1 := _nTam[1]
MSMM(_nTam1,,_cTeste,1,,,"SA1","A1_CODTST")
Caso seja alteracao, estamos utilizando o ponto de entrada MALTCLI:
_cTeste := M->A1_TESTE
_nTam := TamSX3("A1_TESTE")
_nTam1 := _nTam[1]
MSMM(SA1->A1_TESTE,_nTam1,,_cTeste,1,,,"SA1","A1_CODTST")
Caso seja exclusao, estamos utilizando o ponto de entrada M030EXC:
_cAlias := Alias()
_nRegto := Recno()
dbSelectArea("SYP")
dbSeek(xFilial("SYP")+SA1->A1_CODTST)
If found()
While SYP->YP_CHAVE==SA1->A1_CODTST
Reclock("SYP",.F.)
dbDelete
MsUnlock()

dbSkip()
Enddo
Endif
dbSelectArea(_cAlias)
__Return()
MA030MEM
Reviso: 01/01/2002

Sintaxe
MA030MEM ( < UPAR > ) --> URET
Parmetros
Argumento
UPAR

Tipo
Descrio
(Qualquer) Este ponto nao recebe parametros.

Retorno
Tipo

Descrio
Este ponto retorna um array sendo que cada elemento e' um campo memo
a ser tratado pelo cadastro.
Cada elemento e' composto por outro array com 2 elementos:
1 - Campo de codigo do memo.
2 - Campo de memo.
Exemplo:

(Qualquer)

Habilitar o campo memo composto dos campos A1_CODMUSU ( codigo memo caractere de 6, real, nao usado ) e A1_MEMOUSU ( memo - memo de 80, virtual,
usado )
User function MA030MEM()
Local aUsMemo := {}
AAdd( aUsMemo, { "A1_CODMUSU", "A1_MEMOUSU" } )
Return( aUsMemo )

Descrio
DEFINICAO DE CAMPOS MEMO DE USUARIO
Na entrada do cadastro de Clientes. Utilizado para definir campos
memo de usuario que usam padrao Advanced ( gravacao no SYP ).

Os campos devem ser criados de acordo com o padrao de memo - advanced. Usar outros campos
memo do sistema como referencia.
Disponivel apenas a partir da Ver. 5.08.

Você também pode gostar