Páginas filhas
  • Criação de campo Memo virtual usando SYP

Criação de campo Memo virtual usando SYP

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 Padrão:

IIF(!INCLUI,MSMM(SA1->A1_CODTST),"")

Para gravação do campo memo, incluir a função MSMM no programa (nesse caso, estaremos utilizando pontos de entrada do programa MATA030).

No caso de inclusão, 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_CODTST,_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)

 

Nível 1 (Acesso Clientes)
Espanhol , Inglês

 

  • Sem rótulos