|
Accueil → WEBDEV 2024 → Creating Internal functions for your webservice (Criando funções Internas para o seu webservice) |
Creating Internal functions for your webservice (Criando funções Internas para o seu webservice) |
Débuté par adrianoboller, 19 déc. 2014 13:29 - 33 réponses |
| |
| | | |
|
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 19 décembre 2014 - 13:29 |
Procedurews_conexao_sucesso(Tabela)
Resultado isstring=""
Resultado+="<Xml><Retorno>" Resultado+="<"+Tabela+" id="+Charact(34)+1+Charact(34)+">" Resultado+="<OK>CONEXAO COM SUCESSO AO BANCO!!!!!!</OK>" Resultado+="</"+Tabela+">" Resultado+="<TOTAL>1</TOTAL>" Resultado+="</Retorno></Xml>"
RESULT(Resultado) > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 19 décembre 2014 - 13:29 |
Procedurews_erro_conexao(Tabela)
Resultado isstring=""
Resultado+="<Xml><Retorno>" Resultado+="<"+Tabela+" id="+Charact(34)+0+Charact(34)+">" Resultado+="<Erro>ERRO DE CONEXAO COM O BANCO: "+HErrorInfo() +" - "+ErrorInfo() +"</Erro>" Resultado+="</"+Tabela+">" Resultado+="<TOTAL>0</TOTAL>" Resultado+="</Retorno></Xml>"
RESULT(Resultado) > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 19 décembre 2014 - 13:29 |
Procedurews_erro_token(Tabela)
Resultado isstring=""
Resultado+="<Xml><Retorno>" Resultado+="<"+Tabela+" id="+Charact(34)+0+Charact(34)+">" Resultado+="<Erro>ERRO TOKEN: "+HErrorInfo() +" - "+ErrorInfo() +"</Erro>" Resultado+="</"+Tabela+">" Resultado+="<TOTAL>0</TOTAL>" Resultado+="</Retorno></Xml>"
RESULT(Resultado) > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 19 décembre 2014 - 13:30 |
Procedurews_parametros_invalidos(Tabela)
Resultado isstring=""
Resultado+="<Xml><Retorno>" Resultado+="<"+Tabela+" id="+Charact(34)+0+Charact(34)+">" Resultado+="<Erro>PARAMETROS INVALIDOS</Erro>" Resultado+="</"+Tabela+">" Resultado+="<TOTAL>0</TOTAL>" Resultado+="</Retorno></Xml>"
RESULT(Resultado) > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 19 décembre 2014 - 13:30 |
Procedurews_token(Token,Telefone_Imei,Acao,Metodo)
TokenOk isboolean=False
HReadSeekFirst(NG0001_WS_Token,NG0001_WS_Token.Token,Token,hKeepFilter) IFHFound(NG0001_WS_Token) =TrueANDNG0001_WS_Token.Token=TokenANDNG0001_WS_Token.Situacao="A"ANDNG0001_WS_Token.Telefone_IMEI=Telefone_ImeiTHEN TokenOk=True NG0001_WS_Token.DataUltimoAcesso=DateSys() HModify(NG0001_WS_Token) ELSE TokenOk=False NG0002_WS_Tentativas.TentativaAcesso=DateSys() NG0002_WS_Tentativas.Token=Token NG0002_WS_Tentativas.Metodo=Metodo NG0002_WS_Tentativas.Acao=Acao NG0002_WS_Tentativas.Telefone_IMEI=Telefone_Imei HAdd(NG0001_WS_Token) END
RESULT(TokenOk) > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 19 décembre 2014 - 13:30 |
Procedurews_token_invalido(Tabela)
Resultado isstring=""
Resultado+="<Xml><Retorno>" Resultado+="<"+Tabela+" id="+Charact(34)+0+Charact(34)+">" Resultado+="<Erro>TOQUEM INVALIDO OU NAO INFORMADO</Erro>" Resultado+="</"+Tabela+">" Resultado+="<TOTAL>0</TOTAL>" Resultado+="</Retorno></Xml>"
RESULT(Resultado) > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 19 décembre 2014 - 13:31 |
Procedurews_xml_registro_comeco(Tabela,id)
Resultado isstring=""
Resultado="<"+Tabela+" id="+Charact(34)+id+Charact(34)+">"
RESULT(Resultado) > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 19 décembre 2014 - 13:31 |
Procedurews_xml_registro_corpo(Campo,Valor)
Resultado isstring=""
Resultado="<"+Campo+">"+NoSpace(Valor) +"</"+Campo+">"
RESULT(Resultado) > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 19 décembre 2014 - 13:31 |
Procedurews_xml_registro_final(Tabela)
Resultado isstring=""
Resultado="</"+Tabela+">"
RESULT(Resultado) > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 19 décembre 2014 - 13:31 |
Procedurews_zero_registros(Tabela)
Resultado isstring=""
Resultado+="<"+Tabela+" id="+Charact(34)+0+Charact(34)+">" Resultado+="<Erro>Registro(s) nao encontrado(s)</Erro>" Resultado+="</"+Tabela+">"
RESULT(Resultado) > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 19 décembre 2014 - 13:32 |
Procedurews_mobile_mot_cancel(Token,Telefone_Imei,Acao,Data_hora_ultima_alteracao)
X isint=0 Resultado isstring="" TokenOk isboolean=False Metodo isstring="ws_mobile_mot_cancel" Tabela isstring="ACT297_MOTIVO_CANCELAMENTO"
IFToken<>""THEN
OkConn isboolean=False
OkConn=HConnectionOpen(ConnNativa)
IFOkConn=FalseTHEN
Resultado=ws_erro_conexao(Tabela)
ELSE
TokenOk=ws_token(Token,Telefone_Imei,Acao,Metodo)
IFTokenOk=FalseTHEN
Resultado=ws_erro_token(Tabela)
END
IFTokenOk=TrueANDUpper(Acao) ="SELECT"ANDData_hora_ultima_alteracao=" "THEN
Resultado+="<Xml><Retorno>"
FOR EACH ACT297_MOTIVO_CANCELAMENTO
X+=1
Resultado+=ws_xml_registro_comeco(Tabela,X)
Resultado+=ws_xml_registro_corpo("cod_motivo_cancel",ACT297_MOTIVO_CANCELAMENTO.cod_motivo_cancel) Resultado+=ws_xml_registro_corpo("des_motivo",ACT297_MOTIVO_CANCELAMENTO.des_motivo) Resultado+=ws_xml_registro_corpo("ide_ativo",ACT297_MOTIVO_CANCELAMENTO.ide_ativo) Resultado+=ws_xml_registro_corpo("dat_hora_ultima_altera",ACT297_MOTIVO_CANCELAMENTO.dat_hora_ultima_altera)
Resultado+=ws_xml_registro_final(Tabela)
END
IFX=0THEN Resultado=ws_zero_registros(Tabela) END
Resultado+="<TOTAL>"+X+"</TOTAL>" Resultado+="</Retorno></Xml>"
ELSE IFTokenOk=TrueANDUpper(Acao) ="SELECT"ANDData_hora_ultima_alteracao<>""THEN
Resultado+="<Xml><Retorno>"
FOR EACH ACT297_MOTIVO_CANCELAMENTO
IFACT297_MOTIVO_CANCELAMENTO.dat_hora_ultima_altera=Data_hora_ultima_alteracao
X+=1
Resultado+=ws_xml_registro_comeco(Tabela,X)
Resultado+=ws_xml_registro_corpo("cod_motivo_cancel",ACT297_MOTIVO_CANCELAMENTO.cod_motivo_cancel) Resultado+=ws_xml_registro_corpo("des_motivo",ACT297_MOTIVO_CANCELAMENTO.des_motivo) Resultado+=ws_xml_registro_corpo("ide_ativo",ACT297_MOTIVO_CANCELAMENTO.ide_ativo) Resultado+=ws_xml_registro_corpo("dat_hora_ultima_altera",ACT297_MOTIVO_CANCELAMENTO.dat_hora_ultima_altera)
Resultado+=ws_xml_registro_final(Tabela)
END
END
IFX=0THEN Resultado=ws_zero_registros(Tabela) END
Resultado+="<TOTAL>"+X+"</TOTAL>" Resultado+="</Retorno></Xml>"
ELSE
Resultado=ws_parametros_invalidos(Tabela)
END
END
HConnectionClose(ConnNativa)
ELSE
Resultado=ws_token_invalido(Tabela)
END
RESULT(Resultado) > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 19 décembre 2014 - 13:32 |
Procedurews_verifica_conexao()
x isint=0
Resultado isstring=""
OkConn isboolean=False
OkConn=HOpenConnection(ConnNativa)
Resultado+="<AbriuConnexao> "+OkConn+" </AbriuConnexao>"
IFOkConn=True Resultado+=ws_conexao_sucesso("Tabelas") ELSE Resultado+=ws_erro_conexao("Tabelas") END
OkConn=HCloseConnection(ConnNativa)
Resultado+="<FechouConnexao>"+OkConn+"</FechouConnexao>"
RESULT(Resultado) > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 19 décembre 2014 - 13:33 |
> |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 22 décembre 2014 - 14:57 |
Exemple deProcedureWebservice
Procedurews_convenio_corridaautorizafatura(Token,Telefone_Imei,Acao,cod_client_conven,cod_centro_custo,Ano)
ok isboolean X isint=0 Resultado isstring="" TokenOk isboolean=False Metodo isstring="ws_convenio_corridaautorizafatura" Tabela isstring="ACT263_CORRIDA_AUTORIZA_FATURA"
IFToken<>""THEN
OkConn isboolean=False
OkConn=HConnectionOpen(ConnNativa)
IFOkConn=FalseTHEN
Resultado+="<Xml><Retorno>" Resultado=ws_conexao_falha(Tabela) Resultado+="</Retorno></Xml>"
ELSE
TokenOk=ws_token(Token,Telefone_Imei,Acao,Metodo)
IFTokenOk=FalseTHEN
Resultado=ws_erro_token(Tabela)
END
IFTokenOk=TrueANDUpper(Acao) ="SELECT"ANDcod_client_conven<>""ANDcod_centro_custo<>""THEN
Resultado+="<Xml><Retorno>"
ok=HExecuteQuery(QRY_ACT263_CORRIDA_AUTORIZA_FATURA,hQueryDefault+hWithFilter,Ano,cod_client_conven,cod_centro_custo)
FOR EACHQRY_ACT263_CORRIDA_AUTORIZA_FATURA
IFNoSpace(QRY_ACT263_CORRIDA_AUTORIZA_FATURA.cod_client_conven) =NoSpace(cod_client_conven)AND... NoSpace(QRY_ACT263_CORRIDA_AUTORIZA_FATURA.cod_centro_custo)=NoSpace(cod_centro_custo)
X+=1
Resultado+=ws_xml_registro_comeco(Tabela,X)
Resultado+=ws_xml_registro_corpo("cod_client_conven",QRY_ACT263_CORRIDA_AUTORIZA_FATURA.cod_client_conven) Resultado+=ws_xml_registro_corpo("cod_centro_custo",QRY_ACT263_CORRIDA_AUTORIZA_FATURA.cod_centro_custo) Resultado+=ws_xml_registro_corpo("cod_embarq",QRY_ACT263_CORRIDA_AUTORIZA_FATURA.cod_embarq) Resultado+=ws_xml_registro_corpo("cod_libera_pagame_eletro",QRY_ACT263_CORRIDA_AUTORIZA_FATURA.cod_libera_pagame_eletro) Resultado+=ws_xml_registro_corpo("cod_lograd_pesqui_desemb",QRY_ACT263_CORRIDA_AUTORIZA_FATURA.cod_lograd_pesqui_desemb) Resultado+=ws_xml_registro_corpo("cod_pagame_eletro_autori",QRY_ACT263_CORRIDA_AUTORIZA_FATURA.cod_pagame_eletro_autori) Resultado+=ws_xml_registro_corpo("des_observ_local_refere_desemb",QRY_ACT263_CORRIDA_AUTORIZA_FATURA.des_observ_local_refere_desemb) Resultado+=ws_xml_registro_corpo("ide_corrid_tercei",QRY_ACT263_CORRIDA_AUTORIZA_FATURA.ide_corrid_tercei) Resultado+=ws_xml_registro_corpo("nom_lograd_local_desemb",QRY_ACT263_CORRIDA_AUTORIZA_FATURA.nom_lograd_local_desemb) Resultado+=ws_xml_registro_corpo("num_ano_corrid",QRY_ACT263_CORRIDA_AUTORIZA_FATURA.num_ano_corrid) Resultado+=ws_xml_registro_corpo("num_corrid",QRY_ACT263_CORRIDA_AUTORIZA_FATURA.num_corrid) Resultado+=ws_xml_registro_corpo("num_local_desemb",QRY_ACT263_CORRIDA_AUTORIZA_FATURA.num_local_desemb)
Resultado+=ws_xml_registro_final(Tabela)
END END
IFX=0THEN Resultado=ws_zero_registros(Tabela) END
Resultado+="<TOTAL>"+X+"</TOTAL>" Resultado+="</Retorno></Xml>"
ELSE
Resultado=ws_parametros_invalidos(Tabela)
END
END
HConnectionClose(ConnNativa)
ELSE
Resultado=ws_token_invalido(Tabela)
END
RESULT(Resultado) > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 22 décembre 2014 - 14:59 |
> |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 22 décembre 2014 - 14:59 |
SELECT ACT263_CORRIDA_AUTORIZA_FATURA.cod_client_convenAScod_client_conven, ACT263_CORRIDA_AUTORIZA_FATURA.cod_centro_custoAScod_centro_custo, ACT263_CORRIDA_AUTORIZA_FATURA.num_ano_corridASnum_ano_corrid, ACT263_CORRIDA_AUTORIZA_FATURA.num_corridASnum_corrid, ACT263_CORRIDA_AUTORIZA_FATURA.cod_lograd_pesqui_desembAScod_lograd_pesqui_desemb, ACT263_CORRIDA_AUTORIZA_FATURA.nom_lograd_local_desembASnom_lograd_local_desemb, ACT263_CORRIDA_AUTORIZA_FATURA.num_local_desembASnum_local_desemb, ACT263_CORRIDA_AUTORIZA_FATURA.des_observ_local_refere_desembASdes_observ_local_refere_desemb, ACT263_CORRIDA_AUTORIZA_FATURA.cod_embarqAScod_embarq, ACT263_CORRIDA_AUTORIZA_FATURA.cod_libera_pagame_eletroAScod_libera_pagame_eletro, ACT263_CORRIDA_AUTORIZA_FATURA.cod_pagame_eletro_autoriAScod_pagame_eletro_autori, ACT263_CORRIDA_AUTORIZA_FATURA.ide_corrid_terceiASide_corrid_tercei FROM ACT263_CORRIDA_AUTORIZA_FATURA WHERE
( ACT263_CORRIDA_AUTORIZA_FATURA.num_ano_corrid= {p_Ano} ANDACT263_CORRIDA_AUTORIZA_FATURA.cod_client_conven= {p_Cliente} ANDACT263_CORRIDA_AUTORIZA_FATURA.cod_centro_custo= {P_CentroCusto} ) OR ( {p_Ano}='' ANDACT263_CORRIDA_AUTORIZA_FATURA.cod_client_conven= {p_Cliente} ANDACT263_CORRIDA_AUTORIZA_FATURA.cod_centro_custo= {P_CentroCusto} ) > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 22 décembre 2014 - 15:02 |
> |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 24 décembre 2014 - 17:55 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 message Popularité : +1 (1 vote) |
|
Posté le 28 décembre 2014 - 05:27 |
Merci beaucoup pour ces infos. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 07 janvier 2015 - 14:22 |
USE [producao] GO /****** Object: Table [dbo].[NG0002_WS_Tentativas] Script Date: 01/07/2015 11:07:44 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[NG0002_WS_Tentativas]( [TentativaAcesso] [datetime] NOT NULL, [Token] [nvarchar](50) NULL, [Telefone_IMEI] [nvarchar](50) NULL, [Metodo] [nvarchar](50) NULL, [Acao] [nvarchar](15) NULL, CONSTRAINT [PK_NG0002_WS_Tentativas] PRIMARY KEY CLUSTERED ( [TentativaAcesso] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] >) ON [PRIMARY] |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 07 janvier 2015 - 14:22 |
USE [producao] GO /****** Object: Table [dbo].[NG0001_WS_Token] Script Date: 01/07/2015 11:07:24 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[NG0001_WS_Token]( [Token] [nvarchar](50) NOT NULL, [Empresa] [nvarchar](50) NULL, [CNPJ] [nvarchar](15) NULL, [Telefone_IMEI] [nvarchar](50) NULL, [Situacao] [nvarchar](1) NULL, [DataCadastro] [datetime] NULL, [DataUltimoAcesso] [datetime] NULL, CONSTRAINT [PK_WS_Token] PRIMARY KEY CLUSTERED ( [Token] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] >) ON [PRIMARY] |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 07 janvier 2015 - 16:46 |
USE[producao] GO
SETANSI_NULLSON GO SETQUOTED_IDENTIFIERON GO
Create FUNCTION[dbo].[NG0001_Function_IncluirChamadaTaxi] (@AnoAtualint, @XXX01int, @num_ano_corridint, @num_corridint, @ide_situac_corridVARCHAR(1), @dat_hora_corridDATETIME, @seq_telefoint, @dat_hora_cadastDATETIME, @cod_usuari_cadastVARCHAR(10), @cod_lograd_pesquiint, @nom_lograd_localVARCHAR(70), @num_localint, @des_comple_localVARCHAR(15), @cod_tipo_carroint, @qtd_carro_soliciint, @cod_comuniint, @nom_usuariVARCHAR(30), @ide_nao_fumantVARCHAR(1), @ide_nao_gasVARCHAR(1), @ide_ar_condicVARCHAR(1), @ide_cartaoVARCHAR(1), @ide_carro_novoVARCHAR(1), @ide_exectvVARCHAR(1), @des_observVARCHAR(254), @des_observ_local_refereVARCHAR(254), @cod_usuari_operadVARCHAR(10), @dat_hora_atendiDATETIME, @num_ponto_refere_endereint, @num_ponto_atendiint, @num_unidad_atendiint, @cod_orgaoVARCHAR(12), @cod_centrl_telefoint, @num_ramalint, @ide_situac_client_call_centerint, @cod_clientint, @seq_autorzint, @cod_usuari_cancelVARCHAR(10), @dat_hora_cancelDATETIME, @des_motivo_cancelVARCHAR(50), @ide_fumantVARCHAR(1), @dat_hora_final_bloqueDATETIME, @num_unidad_preferint, @dat_hora_soliciDATETIME, @qtd_minuto_anteciint, @ide_insufiVARCHAR(1), @des_observ_compleVARCHAR(254), @ide_priori_cadastint, @cod_forma_pagameint, @ide_encomeVARCHAR(1), @cod_marca_veiculint, @cod_modelo_veiculint, @des_observ_internVARCHAR(100), @cod_lograd_entreg_encomeint, @nom_lograd_entreg_encomeVARCHAR(50), @num_local_entreg_encomeint, @des_comple_local_entreg_encomeVARCHAR(15), @ide_cdVARCHAR(1), @ide_dvdVARCHAR(1), @ide_navegd_gpsVARCHAR(1), @ide_intrntVARCHAR(1), @ide_viagemVARCHAR(1), @ide_conexa_bateriVARCHAR(1), @dat_hora_inicio_nagyroDATETIME, @ide_jovemVARCHAR(1), @ide_trocar_pneuVARCHAR(1), @ide_engateVARCHAR(1), @seq_usuari_web_cadastint, @ide_forma_seleca_corridVARCHAR(1), @ide_carro_altoVARCHAR(1), @ide_carro_baixoVARCHAR(1), @ide_porta_malas_grandeVARCHAR(1), @num_call_centerint, @cod_client_celulaint, @XXX02int, @num_ano_corrid2int, @num_corrid2int, @cod_client_celula2int, @des_lograd_origemVARCHAR(70), @num_lograd_origemint, @des_comple_origemVARCHAR(50), @nom_cidade_origemVARCHAR(50), @des_lograd_destinVARCHAR(120), @num_lograd_destinint, @des_comple_destinVARCHAR(40), @des_prefer_corridVARCHAR(254), @cod_client_convenint, @cod_matric_convenVARCHAR(10), @ide_forma_pagameVARCHAR(1), @cod_forma_pagame_cartaoint, @dat_hora_ultima_alteraDATETIME, @dat_hora_arquivDATETIME, @cod_motivo_cancelint, @val_distan_destinint, @val_tarifa_bandei_1int, @val_tarifa_bandei_2int, @finalidadeVARCHAR(50), @observacaoVARCHAR(255), @XXX03 int)
RETURNS int AS RETURN (
UPDATEnumeracaoSETnum_ultima_numera= ( ( SELECTnum_ultima_numera FROMNUMERACAO WHEREide_numera='ACT263_CORRIDA' ANDcod_orgao='0' ANDnum_ano_refere= @AnoAtual ) +1) WHEREide_numera='ACT263_CORRIDA' ANDcod_orgao='0' ANDnum_ano_refere= @AnoAtual;
IF@@ERROR<>0 @xxx01=1 @@ERROR=0 END
INSERT INTOact263_corrida ( num_ano_corrid, num_corrid, ide_situac_corrid, dat_hora_corrid, seq_telefo, dat_hora_cadast, cod_usuari_cadast, cod_lograd_pesqui, nom_lograd_local, num_local, des_comple_local, cod_tipo_carro, qtd_carro_solici, cod_comuni, nom_usuari, ide_nao_fumant, ide_nao_gas, ide_ar_condic, ide_cartao, ide_carro_novo, ide_exectv, des_observ, des_observ_local_refere, cod_usuari_operad, dat_hora_atendi, num_ponto_refere_endere, num_ponto_atendi, num_unidad_atendi, cod_orgao, cod_centrl_telefo, num_ramal, ide_situac_client_call_center, cod_client, seq_autorz, cod_usuari_cancel, dat_hora_cancel, des_motivo_cancel, ide_fumant, dat_hora_final_bloque, num_unidad_prefer, dat_hora_solici, qtd_minuto_anteci, ide_insufi, des_observ_comple, ide_priori_cadast, cod_forma_pagame, ide_encome, cod_marca_veicul, cod_modelo_veicul, des_observ_intern, cod_lograd_entreg_encome, nom_lograd_entreg_encome, num_local_entreg_encome, des_comple_local_entreg_encome, ide_cd, ide_dvd, ide_navegd_gps, ide_intrnt, ide_viagem, ide_conexa_bateri, dat_hora_inicio_nagyro, ide_jovem, ide_trocar_pneu, ide_engate, seq_usuari_web_cadast, ide_forma_seleca_corrid, ide_carro_alto, ide_carro_baixo, ide_porta_malas_grande, num_call_center, cod_client_celula ) VALUES ( @num_ano_corrid, @num_corrid, @ide_situac_corrid, @dat_hora_corrid, @seq_telefo, @dat_hora_cadast, @cod_usuari_cadast, @cod_lograd_pesqui, @nom_lograd_local, @num_local, @des_comple_local, @cod_tipo_carro, @qtd_carro_solici, @cod_comuni, @nom_usuari, @ide_nao_fumant, @ide_nao_gas, @ide_ar_condic, @ide_cartao, @ide_carro_novo, @ide_exectv, @des_observ, @des_observ_local_refere, @cod_usuari_operad, @dat_hora_atendi, @num_ponto_refere_endere, @num_ponto_atendi, @num_unidad_atendi, @cod_orgao, @cod_centrl_telefo, @num_ramal, @ide_situac_client_call_center, @cod_client, @seq_autorz, @cod_usuari_cancel, @dat_hora_cancel, @des_motivo_cancel, @ide_fumant, @dat_hora_final_bloque, @num_unidad_prefer, @dat_hora_solici, @qtd_minuto_anteci, @ide_insufi, @des_observ_comple, @ide_priori_cadast, @cod_forma_pagame, @ide_encome, @cod_marca_veicul, @cod_modelo_veicul, @des_observ_intern, @cod_lograd_entreg_encome, @nom_lograd_entreg_encome, @num_local_entreg_encome, @des_comple_local_entreg_encome, @ide_cd, @ide_dvd, @ide_navegd_gps, @ide_intrnt, @ide_viagem, @ide_conexa_bateri, @dat_hora_inicio_nagyro, @ide_jovem, @ide_trocar_pneu, @ide_engate, @seq_usuari_web_cadast, @ide_forma_seleca_corrid, @ide_carro_alto, @ide_carro_baixo, @ide_porta_malas_grande, @num_call_center, @cod_client_celula);
IF@@ERROR<>0 @xxx02=1; @@ERROR=0; END
INSERT INTOACT297_CHAMADA_TAXI ( num_ano_corrid, num_corrid, cod_client_celula, des_lograd_origem, num_lograd_origem, des_comple_origem, nom_cidade_origem, des_lograd_destin, num_lograd_destin, des_comple_destin, des_prefer_corrid, cod_client_conven, cod_matric_conven, ide_forma_pagame, cod_forma_pagame_cartao, dat_hora_ultima_altera, dat_hora_arquiv, cod_motivo_cancel, val_distan_destin, val_tarifa_bandei_1, val_tarifa_bandei_2, finalidade, observacao ) VALUES ( @num_ano_corrid2, @num_corrid2, @cod_client_celula2, @des_lograd_origem, @num_lograd_origem, @des_comple_origem, @nom_cidade_origem, @des_lograd_destin, @num_lograd_destin, @des_comple_destin, @des_prefer_corrid, @cod_client_conven, @cod_matric_conven, @ide_forma_pagame, @cod_forma_pagame_cartao, @dat_hora_ultima_altera, @dat_hora_arquiv, @cod_motivo_cancel, @val_distan_destin, @val_tarifa_bandei_1, @val_tarifa_bandei_2, @finalidade, @observacao);
IF@@ERROR<>0 @xxx03=1; @@ERROR=0; END
IF@xxx01=1AND@xxx02=1AND@xxx03=1 RETURN0; ELSE RETURN1; END
END ); GO > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 07 janvier 2015 - 20:11 |
Criei uma procedure em vez de function para ser executada pelo webservice, vejam como ficou o exemplo:
USE[producao] GO
CREATE PROCEDURE NG0001_Procedure_IncluirChamadaTaxi@AnoAtualint, @XXX01int, @num_ano_corridint, @num_corridint, @ide_situac_corridVARCHAR(1), @dat_hora_corridDATETIME, @seq_telefoint, @dat_hora_cadastDATETIME, @cod_usuari_cadastVARCHAR(10), @cod_lograd_pesquiint, @nom_lograd_localVARCHAR(70), @num_localint, @des_comple_localVARCHAR(15), @cod_tipo_carroint, @qtd_carro_soliciint, @cod_comuniint, @nom_usuariVARCHAR(30), @ide_nao_fumantVARCHAR(1), @ide_nao_gasVARCHAR(1), @ide_ar_condicVARCHAR(1), @ide_cartaoVARCHAR(1), @ide_carro_novoVARCHAR(1), @ide_exectvVARCHAR(1), @des_observVARCHAR(254), @des_observ_local_refereVARCHAR(254), @cod_usuari_operadVARCHAR(10), @dat_hora_atendiDATETIME, @num_ponto_refere_endereint, @num_ponto_atendiint, @num_unidad_atendiint, @cod_orgaoVARCHAR(12), @cod_centrl_telefoint, @num_ramalint, @ide_situac_client_call_centerint, @cod_clientint, @seq_autorzint, @cod_usuari_cancelVARCHAR(10), @dat_hora_cancelDATETIME, @des_motivo_cancelVARCHAR(50), @ide_fumantVARCHAR(1), @dat_hora_final_bloqueDATETIME, @num_unidad_preferint, @dat_hora_soliciDATETIME, @qtd_minuto_anteciint, @ide_insufiVARCHAR(1), @des_observ_compleVARCHAR(254), @ide_priori_cadastint, @cod_forma_pagameint, @ide_encomeVARCHAR(1), @cod_marca_veiculint, @cod_modelo_veiculint, @des_observ_internVARCHAR(100), @cod_lograd_entreg_encomeint, @nom_lograd_entreg_encomeVARCHAR(50), @num_local_entreg_encomeint, @des_comple_local_entreg_encomeVARCHAR(15), @ide_cdVARCHAR(1), @ide_dvdVARCHAR(1), @ide_navegd_gpsVARCHAR(1), @ide_intrntVARCHAR(1), @ide_viagemVARCHAR(1), @ide_conexa_bateriVARCHAR(1), @dat_hora_inicio_nagyroDATETIME, @ide_jovemVARCHAR(1), @ide_trocar_pneuVARCHAR(1), @ide_engateVARCHAR(1), @seq_usuari_web_cadastint, @ide_forma_seleca_corridVARCHAR(1), @ide_carro_altoVARCHAR(1), @ide_carro_baixoVARCHAR(1), @ide_porta_malas_grandeVARCHAR(1), @num_call_centerint, @cod_client_celulaint, @XXX02int, @num_ano_corrid2int, @num_corrid2int, @cod_client_celula2int, @des_lograd_origemVARCHAR(70), @num_lograd_origemint, @des_comple_origemVARCHAR(50), @nom_cidade_origemVARCHAR(50), @des_lograd_destinVARCHAR(120), @num_lograd_destinint, @des_comple_destinVARCHAR(40), @des_prefer_corridVARCHAR(254), @cod_client_convenint, @cod_matric_convenVARCHAR(10), @ide_forma_pagameVARCHAR(1), @cod_forma_pagame_cartaoint, @dat_hora_ultima_alteraDATETIME, @dat_hora_arquivDATETIME, @cod_motivo_cancelint, @val_distan_destinint, @val_tarifa_bandei_1int, @val_tarifa_bandei_2int, @finalidadeVARCHAR(50), @observacaoVARCHAR(255), @XXX03 int
AS
UPDATEnumeracaoSETnum_ultima_numera= ( SELECTnum_ultima_numera FROMNUMERACAO WHEREide_numera='ACT263_CORRIDA' ANDcod_orgao='0' ANDnum_ano_refere= @AnoAtual ) +1 WHEREide_numera='ACT263_CORRIDA' ANDcod_orgao='0' ANDnum_ano_refere= @AnoAtual;
INSERT INTOact263_corrida ( num_ano_corrid, num_corrid, ide_situac_corrid, dat_hora_corrid, seq_telefo, dat_hora_cadast, cod_usuari_cadast, cod_lograd_pesqui, nom_lograd_local, num_local, des_comple_local, cod_tipo_carro, qtd_carro_solici, cod_comuni, nom_usuari, ide_nao_fumant, ide_nao_gas, ide_ar_condic, ide_cartao, ide_carro_novo, ide_exectv, des_observ, des_observ_local_refere, cod_usuari_operad, dat_hora_atendi, num_ponto_refere_endere, num_ponto_atendi, num_unidad_atendi, cod_orgao, cod_centrl_telefo, num_ramal, ide_situac_client_call_center, cod_client, seq_autorz, cod_usuari_cancel, dat_hora_cancel, des_motivo_cancel, ide_fumant, dat_hora_final_bloque, num_unidad_prefer, dat_hora_solici, qtd_minuto_anteci, ide_insufi, des_observ_comple, ide_priori_cadast, cod_forma_pagame, ide_encome, cod_marca_veicul, cod_modelo_veicul, des_observ_intern, cod_lograd_entreg_encome, nom_lograd_entreg_encome, num_local_entreg_encome, des_comple_local_entreg_encome, ide_cd, ide_dvd, ide_navegd_gps, ide_intrnt, ide_viagem, ide_conexa_bateri, dat_hora_inicio_nagyro, ide_jovem, ide_trocar_pneu, ide_engate, seq_usuari_web_cadast, ide_forma_seleca_corrid, ide_carro_alto, ide_carro_baixo, ide_porta_malas_grande, num_call_center, cod_client_celula ) VALUES ( @num_ano_corrid, @num_corrid, @ide_situac_corrid, @dat_hora_corrid, @seq_telefo, @dat_hora_cadast, @cod_usuari_cadast, @cod_lograd_pesqui, @nom_lograd_local, @num_local, @des_comple_local, @cod_tipo_carro, @qtd_carro_solici, @cod_comuni, @nom_usuari, @ide_nao_fumant, @ide_nao_gas, @ide_ar_condic, @ide_cartao, @ide_carro_novo, @ide_exectv, @des_observ, @des_observ_local_refere, @cod_usuari_operad, @dat_hora_atendi, @num_ponto_refere_endere, @num_ponto_atendi, @num_unidad_atendi, @cod_orgao, @cod_centrl_telefo, @num_ramal, @ide_situac_client_call_center, @cod_client, @seq_autorz, @cod_usuari_cancel, @dat_hora_cancel, @des_motivo_cancel, @ide_fumant, @dat_hora_final_bloque, @num_unidad_prefer, @dat_hora_solici, @qtd_minuto_anteci, @ide_insufi, @des_observ_comple, @ide_priori_cadast, @cod_forma_pagame, @ide_encome, @cod_marca_veicul, @cod_modelo_veicul, @des_observ_intern, @cod_lograd_entreg_encome, @nom_lograd_entreg_encome, @num_local_entreg_encome, @des_comple_local_entreg_encome, @ide_cd, @ide_dvd, @ide_navegd_gps, @ide_intrnt, @ide_viagem, @ide_conexa_bateri, @dat_hora_inicio_nagyro, @ide_jovem, @ide_trocar_pneu, @ide_engate, @seq_usuari_web_cadast, @ide_forma_seleca_corrid, @ide_carro_alto, @ide_carro_baixo, @ide_porta_malas_grande, @num_call_center, @cod_client_celula);
INSERT INTOACT297_CHAMADA_TAXI ( num_ano_corrid, num_corrid, cod_client_celula, des_lograd_origem, num_lograd_origem, des_comple_origem, nom_cidade_origem, des_lograd_destin, num_lograd_destin, des_comple_destin, des_prefer_corrid, cod_client_conven, cod_matric_conven, ide_forma_pagame, cod_forma_pagame_cartao, dat_hora_ultima_altera, dat_hora_arquiv, cod_motivo_cancel, val_distan_destin, val_tarifa_bandei_1, val_tarifa_bandei_2, finalidade, observacao ) VALUES ( @num_ano_corrid2, @num_corrid2, @cod_client_celula2, @des_lograd_origem, @num_lograd_origem, @des_comple_origem, @nom_cidade_origem, @des_lograd_destin, @num_lograd_destin, @des_comple_destin, @des_prefer_corrid, @cod_client_conven, @cod_matric_conven, @ide_forma_pagame, @cod_forma_pagame_cartao, @dat_hora_ultima_altera, @dat_hora_arquiv, @cod_motivo_cancel, @val_distan_destin, @val_tarifa_bandei_1, @val_tarifa_bandei_2, @finalidade, @observacao);
GO > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 07 janvier 2015 - 20:13 |
Para usar só usar o comando:
ok isboolean=HExecuteProcedure(ConnNativa,NG0001_Procedure_IncluirChamadaTaxi,N... IFok=True xmlTrue ELSE xmlFalse END > |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 20 mai 2016 - 19:48 |
Muito importante
arr_Resultados isarray of string
gsValorMemorizadoisstring=1
DeclareWebserviceContext(gsValorMemorizado)
DeclareWebserviceContext(arr_Resultados)
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/> |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 20 mai 2016 - 19:53 |
Exemplo
Procedurews_mobile_foto(Token,Telefone_Imei,Acao,num_matricula)
X isint=0
Resultado isstring="" sErro isstring="" arrResultado isarray of string ArrayDeleteAll(arrResultado)
TokenOk isboolean=False Metodo isstring="ws_mobile_foto" No_Xml isstring="NoXml" Tabela isstring="foto_"
IFToken<>""THEN
OkConn isboolean=False
OkConn=HConnectionOpen(ConnNativa)
IFOkConn=FalseTHEN
Resultado=ws_conexao_falha(No_Xml)
ELSE
TokenOk=ws_token(Token,Telefone_Imei,Acao,Metodo)
IFTokenOk=FalseTHEN
Resultado=ws_erro_token(No_Xml) Msg isstring=Metodo+";"+Resultado ws_a_log(Token+" "+Tabela,"MOB",Msg)
ELSE
Comando isstring=Metodo+";"+Acao+";"+num_matricula ws_a_log(Token+" "+Tabela,"MOB",Comando)
END
IFTokenOk=TrueANDUpper(Acao) ="SELECT"ANDnum_matricula<>""THEN
ok isboolean=HExecuteQuery(QRY_Select_Foto,hQueryDefault,num_matricula)
IFok=TrueTHEN
Resultado="<Xml><Retorno>"
cod_motorista isstring="" nome_completo isstring="" foto_ isstring=""
FOR EACHQRY_Select_Foto cod_motorista=QRY_Select_Foto.Matricula nome_completo=QRY_Select_Foto.Nome foto_=QRY_Select_Foto.Foto END
X+=1
Resultado+=ws_xml_registro_comeco(No_Xml,X)
Resultado+=ws_xml_registro_corpo(cod_motorista,"cod_motorista") Resultado+=ws_xml_registro_corpo(nome_completo,"nome_completo") Resultado+=ws_xml_registro_corpo(foto_,"foto_")
Resultado+=ws_xml_registro_final(No_Xml)
IFX=0THEN Resultado=ws_zero_registros(No_Xml) END
Resultado+="<TOTAL>"+X+"</TOTAL>" Resultado+="</Retorno></Xml>"
ELSE
Resultado=ws_erro_acesso_tabela(No_Xml)
END
ELSE
Resultado=ws_parametros_invalidos(" TOKEN = "+Token+" IMEI = "+Telefone_Imei)
END
END
IFUpper(Acao) <>"SELECT"THEN Resultado+=ws_xml_registro_comeco(No_Xml,X)
Resultado+="<ERRO>ACAO INVALIDA</ERRO>"
Resultado+=ws_xml_registro_final(No_Xml)
Erro isstring=HErrorInfo() +" - "+ErrorInfo() Erro=Replace(Erro,Charact(34),"") Erro=Replace(Erro,Charact(39),"") Erro=NoAccent(Erro)
ws_a_log(Token+" "+Tabela,"MOB",Erro) END
HConnectionClose(ConnNativa)
ELSE
Resultado=ws_token_invalido(No_Xml)
END
ArrayAdd(arrResultado,Resultado)
RESULT(arrResultado)
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/> |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 20 mai 2016 - 19:59 |
ProcedureMeuIpFixo()
nInicioBloco,nFinalBloco isint=0
IP isstring=""
Url isstring="http://www.meuip.com.br/"
HTTPTimeOut(1000)
HTTPRequest(Url)
bufRetorno is Buffer=HTTPGetResult(httpResult)
bufRetorno=Replace(bufRetorno,Charact(34),"")
bufRetorno=Replace(bufRetorno,"'","")
nInicioBloco=PositionOccurrence(bufRetorno,"document.getElementById(div_ip).innerHTML = ",firstRank,FromBeginning) +Length("document.getElementById(div_ip).innerHTML = ")
IFnInicioBloco>0THEN
bufRetorno=Middle(bufRetorno,nInicioBloco,1000)
IFnInicioBloco>0 bufRetorno=Middle(bufRetorno,1,20) END
ELSE
nInicioBloco=PositionOccurrence(bufRetorno,"<span class=style1> detectando (IPv4 ou IPv6)...</span>-->",firstRank,FromBeginning) +Length("<span class=style1> detectando (IPv4 ou IPv6)...</span>-->")
IFnInicioBloco>0 bufRetorno=Middle(bufRetorno,nInicioBloco,20) END
END
IFbufRetorno<>""
nFinalBloco=PositionOccurrence(bufRetorno,",",firstRank,FromBeginning) -1
IFnFinalBloco>0THEN bufRetorno=Middle(bufRetorno,1,nFinalBloco) END
END
bufRetorno=Replace(bufRetorno,"=","")
bufRetorno=NoSpace(bufRetorno)
IP=NoSpace(bufRetorno)
RESULT(IP)
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/> |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 20 mai 2016 - 20:00 |
ProcedureNoEnter(Texto)
Texto=Replace(Texto,CRLF,"") Texto=Replace(Texto,CR,"") Texto=Replace(Texto,"<13><10>","") Texto=Replace(Texto,"<13>","") Texto=Replace(Texto,"<10>","") Texto=Replace(Texto,Charact(13)+Charact(10),"") Texto=Replace(Texto,Charact(13),"") Texto=Replace(Texto,Charact(10),"")
Texto=NoSpace(Texto)
Texto=NoAccent(Texto)
RESULT(Texto)
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/> |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 20 mai 2016 - 20:02 |
ProcedureReplaceNull(Texto,Busca,Troca)
IFTexto<>""ANDBusca<>"" IFTroca<>""ANDPositionOccurrence(Texto,"'"+Busca+"'",firstRank,FromBeginning) >0 Texto=Replace(Texto,"'"+Busca+"'","'"+Troca+"'") ELSE IFTroca<>""ANDPositionOccurrence(Texto,Busca,firstRank,FromBeginning) >0 Texto=Replace(Texto,Busca,Troca) ELSE IFTroca=""ANDPositionOccurrence(Texto,"'"+Busca+"'",firstRank,FromBeginning) >0 Texto=Replace(Texto,"'"+Busca+"'","null") ELSE IFTroca=""ANDPositionOccurrence(Texto,Busca,firstRank,FromBeginning) >0 Texto=Replace(Texto,Busca,"null") END END
RESULT(Texto)
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/> |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 20 mai 2016 - 20:03 |
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/> |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 20 mai 2016 - 20:05 |
Procedurews_a_log(Token,Aplicativo,Metodo)
Ip isstring=WebserviceClientIPAddress() IFIp=""THEN Ip=MeuIpFixo() END Metodo=Ip+" => "+Metodo
Token=NoAccent(Token) Token=Middle(Token,1,50) Token=NoSpace(NoEnter(Token))
Aplicativo=NoAccent(Aplicativo) Aplicativo=Middle(Aplicativo,1,255) Aplicativo=NoSpace(NoEnter(Aplicativo))
Metodo=NoAccent(Metodo) Metodo=Middle(Metodo,1,1000) Metodo=NoSpace(NoEnter(Metodo))
ERRO_SQL isstring=""
ok isboolean=False
IFToken<>""
Webservice_Log.DataHora=DateSys() +TimeSys() Webservice_Log.Token=Token Webservice_Log.Aplicativo=Aplicativo Webservice_Log.Metodo=Metodo ok=HAdd(Webservice_Log)
IFok=FalseTHEN ERRO_SQL=HErrorInfo() +ErrorInfo() END
END
RESULT(ok)
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/> |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 04 juin 2016 - 15:33 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 09 août 2016 - 15:34 |
REDUNDÂNCIA DE WEBSERVICE NO CASO DE ROMPIMENTO DE FIBRA ÓTICA
IFIp01=True
XML_Retorno isstring=""
RetornoXml is a ws_mobile_config_Ip01_Response
RetornoXml=ws_mobile_config_Ip01_(29121974,4199491800,"SELECT")
XML_Retorno=RetornoXml.ws_mobile_config_Ip01_Result
XML_RetornoBuffer is Buffer=UTF8ToAnsi(XML_Retorno)
ELSE
XML_Retorno isstring=""
RetornoXml is a ws_mobile_config_Ip02_Response
RetornoXml=ws_mobile_config_Ip02_(29121974,4199491800,"SELECT")
XML_Retorno=RetornoXml.ws_mobile_config_Ip02_Result
XML_RetornoBuffer is Buffer=UTF8ToAnsi(XML_Retorno)
END
Dentro do webservice no método, você usa bases de dados diferentes se quiser.
Você gera outro webservice espelho com um detalhe apenas no final do método nome da procedure mude para "ip02" mas com o mesmo conteúdo e publique num outro servidor com outro ip com outra rota de cabos físicos.
O webservice é uma nuvem, o que tem dentro dela, pode ser um servidor ou milhões de servidores; um banco ou milhões de bancos de dados diferentes.
O outro webservice espelho é a outra rota para fazer caso aquela nuvem esteja fora do ar, você consegue fazer por outro ip os diferentes connects e ter os dados retornados de sua consulta. Mas se for um webservice apenas você deve rezar que o ip nunca de problema.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/>Message modifié, 09 août 2016 - 15:48 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 12 janvier 2017 - 01:31 |
ok isboolean
HCreationIfNotFound("*")
HModifyStructure("*",hmsBackgroundTask)
CargaInicial()
DEFINA O BANCO DE DADOS
CREATE TABLE[t0001_config] ( [t0001_id]NUMERIC(19,0)IDENTITY PRIMARY KEY, [t0001_config]VARCHAR(50)UNIQUE, [t0001_valor]TEXT);
CREATE TABLE[t0002_pricetag] ( [t0002_id]NUMERIC(19,0)IDENTITY PRIMARY KEY, [t0002_refproduto]VARCHAR(20)NOT NULL UNIQUE, [t0002_produto]VARCHAR(255)NOT NULL, [t0002_valoreuro]MONEY NOT NULLDefault0, [t0002_valorpromocaoeuro]MONEY NOT NULLDefault0, [t0002_siteorigem]VARCHAR(3) , [t0002_valordolar]MONEYDefault0, [t0002_valorpromocaodolar]MONEYDefault0, [t0002_datainicialvalidadepromocao]DATETIME, [t0002_datafinalvalidadepromocao]DATETIME, [t0002_ativo]BITDefault0); CREATE INDEX[WDIDX_t0002_pricetag_t0002_produto]ON[t0002_pricetag] ([t0002_produto]);
CREATE TABLE[t0003_wslog] ( [t0003_id]NUMERIC(19,0)IDENTITY PRIMARY KEY, [t0003_datahora]DATETIME, [t0003_ip]VARCHAR(15) , [t0003_acao]TEXT); CREATE INDEX[WDIDX_t0003_wslog_t0003_datahora]ON[t0003_wslog] ([t0003_datahora]); CREATE INDEX[WDIDX_t0003_wslog_t0003_ip]ON[t0003_wslog] ([t0003_ip]);
CREATE TABLE[t0004_distributeurs] ( [t0004_id]NUMERIC(19,0)IDENTITY PRIMARY KEY, [t0004_telefoneimei]VARCHAR(20)UNIQUE, [t0004_nome]VARCHAR(50)UNIQUE, [t0004_telefone]VARCHAR(20)UNIQUE, [t0004_email]VARCHAR(50) , [t0004_site]VARCHAR(50) , [t0004_company]VARCHAR(50)UNIQUE, [t0004_endereco]VARCHAR(50) , [t0004_numero]INTEGERDefault0, [t0004_bairro]VARCHAR(50) , [t0004_complemento]VARCHAR(50) , [t0004_cidade]VARCHAR(50) , [t0004_estado]VARCHAR(50) , [t0004_cep]INTEGERDefault0, [t0004_cxpostal]VARCHAR(20) , [t0004_obs]TEXT, [t0004_pais]VARCHAR(30) );
CREATE TABLE[t0005_customers] ( [t0005_id]NUMERIC(19,0)IDENTITY PRIMARY KEY, [t0005_telefoneimei]VARCHAR(20)UNIQUE, [t0005_nome]VARCHAR(50)UNIQUE, [t0005_telefone]VARCHAR(20)UNIQUE, [t0005_email]VARCHAR(50) , [t0005_site]VARCHAR(50) , [t0005_endereco]VARCHAR(50) , [t0005_numero]INTEGERDefault0, [t0005_bairro]VARCHAR(50) , [t0005_complemento]VARCHAR(50) , [t0005_cidade]VARCHAR(50) , [t0005_estado]VARCHAR(50) , [t0005_cep]INTEGERDefault0, [t0005_cxpostal]VARCHAR(20) , [t0005_obs]TEXT, [t0005_pais]VARCHAR(30) );
CRIAR QUERYS...
SELECT Count(*)AS QtdeRegistros FROM t0001_config
PROCEDURES
CREATEnewPROCEDURES
ServerProcedures(PRINCIPAL)
DENTRO DELA EM CODE
arr_Resultados isarray of string
gsValorMemorizadoisstring=1
DeclareWebserviceContext(gsValorMemorizado)
DeclareWebserviceContext(arr_Resultados)
Procedurews_customer_insert(token,nome,telefone,telefone_imei,Email,site,endereco,numero,complemento,bairro,cidade,estado,pais,cep,cxpostal,obs,Criptografado isboolean)
CargaInicial()
arrResultado isarray of string X isint=0 TokenOk isint=0 Tabela isstring="t0005_customers" Resultado isstring="" sErro isstring=""
IFtoken<>""THEN
OkConn isboolean=False
OkConn=HConnectionOpen(ConnNativa)
IFOkConn=FalseTHEN
Resultado=ws_conexao_falha(Tabela)
ELSE
TokenOk=ws_token(token,telefone_imei)
IFTokenOk=FalseTHEN
ws_a_log("TokenErrado")
ELSE
ws_a_log("TokenOK")
END
IFTokenOk=1
ok=HExecuteQuery(QRY_Customer_Insert,hQueryDefault+hCheckDuplicates+hCheckIntegrity,nome,telefone,telefone_imei,Email,site,endereco,numero,complemento,bairro,cidade,estado,cep,cxpostal,obs,pais)
IFok=TrueTHEN
Resultado=ws_gravou(Tabela)
ELSE
Resultado=ws_erro_acesso_tabela(Tabela+" "+ErrorInfo())
END
ELSE
Resultado=ws_parametros_invalidos(" TOKEN = "+token+" IMEI = "+telefone_imei)
END
END
token="" telefone_imei=""
HConnectionClose(ConnNativa)
ELSE
Resultado=ws_token_invalido(Tabela)
END
IFCriptografado=True Resultado=Crypt(Resultado,token,compressNone,encodeBASE64) END
Add(arrResultado,Resultado)
RESULT(arrResultado)
Procedurews_customer_select(token,telefone_imei,Criptografado isboolean)
arrResultado isarray of string X isint=0 TokenOk isint=0 Tabela isstring="t0005_customers" Resultado isstring="" sErro isstring=""
IFtoken<>""THEN
OkConn isboolean=False
OkConn=HConnectionOpen(ConnNativa)
IFOkConn=FalseTHEN
Resultado=ws_conexao_falha(Tabela)
ELSE
TokenOk=ws_token(token,telefone_imei)
IFTokenOk=FalseTHEN
ws_a_log("TokenErrado")
ELSE
ws_a_log("TokenOK")
END
IFTokenOk=1
ok=HExecuteQuery(QRY_Customer_Select,hQueryDefault)
IFok=TrueTHEN
Resultado="<Xml><Retorno>"
FOR EACHQRY_Customer_Select
IFHFound(QRY_Customer_Select) =True
X+=1
Resultado+=ws_xml_registro_comeco(Tabela,X)
Resultado+=ws_xml_registro_corpo(QRY_Customer_Select.t0005_nome,"t0005_nome") Resultado+=ws_xml_registro_corpo(QRY_Customer_Select.t0005_telefone,"t0005_telefone") Resultado+=ws_xml_registro_corpo(QRY_Customer_Select.t0005_telefoneimei,"t0005_telefoneimei") Resultado+=ws_xml_registro_corpo(QRY_Customer_Select.t0005_email,"t0005_email") Resultado+=ws_xml_registro_corpo(QRY_Customer_Select.t0005_site,"t0005_site") Resultado+=ws_xml_registro_corpo(QRY_Customer_Select.t0005_endereco,"t0005_endereco") Resultado+=ws_xml_registro_corpo(QRY_Customer_Select.t0005_numero,"t0005_numero") Resultado+=ws_xml_registro_corpo(QRY_Customer_Select.t0005_complemento,"t0005_complemento") Resultado+=ws_xml_registro_corpo(QRY_Customer_Select.t0005_bairro,"t0005_bairro") Resultado+=ws_xml_registro_corpo(QRY_Customer_Select.t0005_cidade,"t0005_cidade") Resultado+=ws_xml_registro_corpo(QRY_Customer_Select.t0005_estado,"t0005_estado") Resultado+=ws_xml_registro_corpo(QRY_Customer_Select.t0005_pais,"t0005_pais") Resultado+=ws_xml_registro_corpo(QRY_Customer_Select.t0005_cep,"t0005_cep") Resultado+=ws_xml_registro_corpo(QRY_Customer_Select.t0005_capostal,"t0005_cxpostal") Resultado+=ws_xml_registro_corpo(QRY_Customer_Select.t0005_obs,"t0005_obs")
Resultado+=ws_xml_registro_final(Tabela)
END
END
IFX=0THEN Resultado=ws_zero_registros(Tabela) END
Resultado+="<TOTAL>"+X+"</TOTAL>" Resultado+="</Retorno></Xml>"
ELSE
Resultado=ws_erro_acesso_tabela(Tabela+" "+ErrorInfo())
END
ELSE
Resultado=ws_parametros_invalidos(" TOKEN = "+token+" IMEI = "+telefone_imei)
END
END
HReset(QRY_Customer_Select)
token="" telefone_imei=""
HConnectionClose(ConnNativa)
ELSE
Resultado=ws_token_invalido(Tabela)
END
IFCriptografado=True Resultado=Crypt(Resultado,token,compressNone,encodeBASE64) END
Add(arrResultado,Resultado)
RESULT(arrResultado)
Procedurews_customer_update(token,id,nome,telefone,telefone_imei,Email,site,endereco,numero,complemento,bairro,cidade,estado,pais,cep,cxpostal,obs,Criptografado isboolean)
arrResultado isarray of string X isint=0 TokenOk isint=0 Tabela isstring="t0005_customers" Resultado isstring="" sErro isstring=""
IFtoken<>""THEN
OkConn isboolean=False
OkConn=HConnectionOpen(ConnNativa)
IFOkConn=FalseTHEN
Resultado=ws_conexao_falha(Tabela)
ELSE
TokenOk=ws_token(token,telefone_imei)
IFTokenOk=FalseTHEN
ws_a_log("TokenErrado")
ELSE
ws_a_log("TokenOK")
END
IFTokenOk=1
ok=HExecuteQuery(QRY_Customer_Update,hQueryDefault+hCheckDuplicates+hCheckIntegrity,nome,telefone,telefone_imei,Email,site,endereco,numero,complemento,bairro,cidade,estado,cep,cxpostal,obs,id,pais)
IFok=TrueTHEN
Resultado="<Xml><Retorno>"
ServerProceduresInternas.ws_gravou(Tabela)
IFX=0THEN Resultado=ws_zero_registros(Tabela) END
Resultado+="<TOTAL>"+X+"</TOTAL>" Resultado+="</Retorno></Xml>"
ELSE
Resultado=ws_erro_acesso_tabela(Tabela+" "+ErrorInfo())
END
ELSE
Resultado=ws_parametros_invalidos(" TOKEN = "+token+" IMEI = "+telefone_imei)
END
END
token="" telefone_imei=""
HConnectionClose(ConnNativa)
ELSE
Resultado=ws_token_invalido(Tabela)
END
IFCriptografado=True Resultado=Crypt(Resultado,token,compressNone,encodeBASE64) END
Add(arrResultado,Resultado)
RESULT(arrResultado)
Procedurews_distributeur_insert(token,company,nome,telefone,telefone_imei,Email,site,endereco,numero,complemento,bairro,cidade,estado,pais,cep,cxpostal,obs,Criptografado isboolean)
CargaInicial()
arrResultado isarray of string X isint=0 TokenOk isint=0 Tabela isstring="t0004_distributeur" Resultado isstring="" sErro isstring=""
IFtoken<>""THEN
OkConn isboolean=False
OkConn=HConnectionOpen(ConnNativa)
IFOkConn=FalseTHEN
Resultado=ws_conexao_falha(Tabela)
ELSE
TokenOk=ws_token(token,telefone_imei)
IFTokenOk=FalseTHEN
ws_a_log("TokenErrado")
ELSE
ws_a_log("TokenOK")
END
IFTokenOk=1
ok=HExecuteQuery(QRY_Distributeur_Insert,hQueryDefault+hCheckDuplicates+hCheckIntegrity,nome,telefone,telefone_imei,Email,site,company,endereco,numero,complemento,bairro,cidade,estado,cep,cxpostal,obs,pais)
IFok=TrueTHEN
Resultado=ws_gravou(Tabela)
ELSE
Resultado=ws_erro_acesso_tabela(Tabela+" "+ErrorInfo())
END
ELSE
Resultado=ws_parametros_invalidos(" TOKEN = "+token+" IMEI = "+telefone_imei)
END
END
token="" telefone_imei=""
HConnectionClose(ConnNativa)
ELSE
Resultado=ws_token_invalido(Tabela)
END
IFCriptografado=True Resultado=Crypt(Resultado,token,compressNone,encodeBASE64) END
Add(arrResultado,Resultado)
RESULT(arrResultado)
Procedurews_distributeur_select(token,telefone_imei,Criptografado isboolean)
arrResultado isarray of string X isint=0 TokenOk isint=0 Tabela isstring="t0004_distributeur" Resultado isstring="" sErro isstring=""
IFtoken<>""THEN
OkConn isboolean=False
OkConn=HConnectionOpen(ConnNativa)
IFOkConn=FalseTHEN
Resultado=ws_conexao_falha(Tabela)
ELSE
TokenOk=ws_token(token,telefone_imei)
IFTokenOk=FalseTHEN
ws_a_log("TokenErrado")
ELSE
ws_a_log("TokenOK")
END
IFTokenOk=1
ok=HExecuteQuery(QRY_Distributeur_Select,hQueryDefault)
IFok=TrueTHEN
Resultado="<Xml><Retorno>"
FOR EACHQRY_Distributeur_Select
IFHFound(QRY_Distributeur_Select) =True
X+=1
Resultado+=ws_xml_registro_comeco(Tabela,X)
Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_distriID,"t0004_distriID") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_company,"t0004_company") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_nome,"t0004_nome") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_telefone,"t0004_telefone") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_telefoneimei,"t0004_telefoneimei") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_email,"t0004_email") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_site,"t0004_site") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_endereco,"t0004_endereco") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_numero,"t0004_numero") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_complemento,"t0004_complemento") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_bairro,"t0004_bairro") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_cidade,"t0004_cidade") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_estado,"t0004_estado") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_pais,"t0004_pais") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_cep,"t0004_cep") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_capostal,"t0004_capostal") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_obs,"t0004_obs")
Resultado+=ws_xml_registro_final(Tabela)
END
END
IFX=0THEN Resultado=ws_zero_registros(Tabela) END
Resultado+="<TOTAL>"+X+"</TOTAL>" Resultado+="</Retorno></Xml>"
ELSE
Resultado=ws_erro_acesso_tabela(Tabela+" "+ErrorInfo())
END
ELSE
Resultado=ws_parametros_invalidos(" TOKEN = "+token+" IMEI = "+telefone_imei)
END
END
HReset(QRY_Distributeur_Select)
token="" telefone_imei=""
HConnectionClose(ConnNativa)
ELSE
Resultado=ws_token_invalido(Tabela)
END
IFCriptografado=True Resultado=Crypt(Resultado,token,compressNone,encodeBASE64) END
Add(arrResultado,Resultado)
RESULT(arrResultado)
Procedurews_distributeur_update(token,company,nome,telefone,telefone_imei,Email,site,endereco,numero,complemento,bairro,cidade,estado,pais,cep,cxpostal,obs,Criptografado isboolean)
arrResultado isarray of string X isint=0 TokenOk isint=0 Tabela isstring="t0004_distributeur" Resultado isstring="" sErro isstring=""
IFtoken<>""THEN
OkConn isboolean=False
OkConn=HConnectionOpen(ConnNativa)
IFOkConn=FalseTHEN
Resultado=ws_conexao_falha(Tabela)
ELSE
TokenOk=ws_token(token,telefone_imei)
IFTokenOk=FalseTHEN
ws_a_log("TokenErrado")
ELSE
ws_a_log("TokenOK")
END
IFTokenOk=1
ok=HExecuteQuery(QRY_Distributeur_Update,hQueryDefault+hCheckDuplicates+hCheckIntegrity,nome,telefone,Email,site,telefone_imei,company,endereco,numero,complemento,bairro,cidade,estado,cep,cxpostal,obs,pais)
IFok=TrueTHEN
Resultado="<Xml><Retorno>"
ServerProceduresInternas.ws_gravou(Tabela)
IFX=0THEN Resultado=ws_zero_registros(Tabela) END
Resultado+="<TOTAL>"+X+"</TOTAL>" Resultado+="</Retorno></Xml>"
ELSE
Resultado=ws_erro_acesso_tabela(Tabela+" "+ErrorInfo())
END
ELSE
Resultado=ws_parametros_invalidos(" TOKEN = "+token+" IMEI = "+telefone_imei)
END
END
token="" telefone_imei=""
HConnectionClose(ConnNativa)
ELSE
Resultado=ws_token_invalido(Tabela)
END
IFCriptografado=True Resultado=Crypt(Resultado,token,compressNone,encodeBASE64) END
Add(arrResultado,Resultado)
RESULT(arrResultado)
Procedurews_log_select(token,telefone_imei,Criptografado isboolean)
arrResultado isarray of string
X isint=0 TokenOk isint=0 Tabela isstring="t0004_distri" Resultado isstring="" sErro isstring=""
IFtoken<>""THEN
OkConn isboolean=False
OkConn=HConnectionOpen(ConnNativa)
IFOkConn=FalseTHEN
Resultado=ws_conexao_falha(Tabela)
ELSE
TokenOk=ws_token(token,telefone_imei)
IFTokenOk=FalseTHEN
ws_a_log("TokenErrado")
ELSE
ws_a_log("TokenOK")
END
IFTokenOk=1
ok=HExecuteQuery(QRY_Distributeur_Select,hQueryDefault)
IFok=TrueTHEN
Resultado="<Xml><Retorno>"
FOR EACHQRY_Distributeur_Select
IFHFound(QRY_Distributeur_Select) =True
X+=1
Resultado+=ws_xml_registro_comeco(Tabela,X)
Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_distriID,"t0004_distriID") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_nome,"t0004_nome") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_telefone,"t0004_telefone") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_telefoneimei,"t0004_telefoneimei") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_email,"t0004_email") Resultado+=ws_xml_registro_corpo(QRY_Distributeur_Select.t0004_site,"t0004_site")
Resultado+=ws_xml_registro_final(Tabela)
END
END
IFX=0THEN Resultado=ws_zero_registros(Tabela) END
Resultado+="<TOTAL>"+X+"</TOTAL>" Resultado+="</Retorno></Xml>"
ELSE
Resultado=ws_erro_acesso_tabela(Tabela+" "+ErrorInfo())
END
ELSE
Resultado=ws_parametros_invalidos(" TOKEN = "+token+" IMEI = "+telefone_imei)
END
END
HReset(QRY_Distributeur_Select)
token="" telefone_imei=""
HConnectionClose(ConnNativa)
ELSE
Resultado=ws_token_invalido(Tabela)
END
IFCriptografado=True Resultado=Crypt(Resultado,token,compressNone,encodeBASE64) END
Add(arrResultado,Resultado)
RESULT(arrResultado)
Procedurews_pricetag_insert(token,telefone_imei,superuser,password,refproduto,produto,valoreuro,valorpromocaoeuro,valordolar,valorpromocaodolar,datainicialvalidadepromocao,datafinalvalidadepromocao,siteorigem,ativo,Criptografado isboolean)
arrResultado isarray of string X isint=0 TokenOk,SuperuserOk isint=0 Tabela isstring="t0002_pricetag" Resultado isstring="" sErro isstring=""
IFtoken<>""THEN
OkConn isboolean=False
OkConn=HConnectionOpen(ConnNativa)
CargaInicial()
IFOkConn=FalseTHEN
Resultado=ws_conexao_falha(Tabela)
ELSE
TokenOk=ws_token(token,telefone_imei)
IFTokenOk=0THEN
ws_a_log("TokenErrado")
ELSE
ws_a_log("TokenOK")
END
SuperuserOk=ws_superuser(superuser,password)
IFSuperuserOk=0THEN
ws_a_log("SuperuserErrado")
ELSE
ws_a_log("SuperuserOk")
END
IFTokenOk=1ANDSuperuserOk=1THEN
OkConn=HConnectionOpen(ConnNativa)
IFLength(datainicialvalidadepromocao) <8THEN datainicialvalidadepromocao=DateSys() END IFLength(datafinalvalidadepromocao) <8THEN datafinalvalidadepromocao=DateSys() END
ok=HExecuteQuery(QRY_Pricetag_Insert,hQueryDefault+hCheckDuplicates+hCheckIntegrity,refproduto,produto,valoreuro,valorpromocaoeuro,valordolar,valorpromocaodolar,datainicialvalidadepromocao,datafinalvalidadepromocao,siteorigem,ativo)
IFok=TrueTHEN
Resultado=ws_gravou(Tabela)
ELSE
Resultado=ws_erro_acesso_tabela(Tabela+" "+ErrorInfo())
END
ELSE
Resultado=ws_parametros_invalidos(" TOKEN = "+token+" IMEI = "+telefone_imei)
END
END
token="" telefone_imei=""
HConnectionClose(ConnNativa)
ELSE
Resultado=ws_token_invalido(Tabela)
END
IFCriptografado=True Resultado=Crypt(Resultado,token,compressNone,encodeBASE64) END
Add(arrResultado,Resultado)
RESULT(arrResultado)
Procedurews_pricetag_select(token,telefone_imei,Criptografado isboolean)
arrResultado isarray of string X isint=0 TokenOk isint=0 Tabela isstring="t0002_pricetag" Resultado isstring="" sErro isstring=""
IFtoken<>""THEN
OkConn isboolean=False
OkConn=HConnectionOpen(ConnNativa)
IFOkConn=FalseTHEN
Resultado=ws_conexao_falha(Tabela)
ELSE
TokenOk=ws_token(token,telefone_imei)
IFTokenOk=FalseTHEN
ws_a_log("TokenErrado")
ELSE
ws_a_log("TokenOK")
END
IFTokenOk=1
ok=HExecuteQuery(QRY_Pricetag_Select,hQueryDefault)
IFok=TrueTHEN
Resultado="<Xml><Retorno>"
FOR EACHQRY_Pricetag_Select
IFHFound(QRY_Pricetag_Select) =True
X+=1
Resultado+=ws_xml_registro_comeco(Tabela,X)
Resultado+=ws_xml_registro_corpo(QRY_Pricetag_Select.t0002_ID,"t0002_ID") Resultado+=ws_xml_registro_corpo(QRY_Pricetag_Select.t0002_refproduto,"t0002_refproduto") Resultado+=ws_xml_registro_corpo(QRY_Pricetag_Select.t0002_produto,"t0002_produto") Resultado+=ws_xml_registro_corpo(QRY_Pricetag_Select.t0002_valoreuro,"t0002_valoreuro") Resultado+=ws_xml_registro_corpo(QRY_Pricetag_Select.t0002_valorpromocaoeuro,"t0002_valorpromocaoeuro") Resultado+=ws_xml_registro_corpo(QRY_Pricetag_Select.t0002_valordolar,"t0002_valordolar") Resultado+=ws_xml_registro_corpo(QRY_Pricetag_Select.t0002_valorpromocaodolar,"t0002_valorpromocaodolar") Resultado+=ws_xml_registro_corpo(QRY_Pricetag_Select.t0002_datainicialvalidadepromocao,"t0002_datainicialvalidadepromocao") Resultado+=ws_xml_registro_corpo(QRY_Pricetag_Select.t0002_datafinalvalidadepromocao,"t0002_datafinalvalidadepromocao") Resultado+=ws_xml_registro_corpo(QRY_Pricetag_Select.t0002_siteorigem,"t0002_siteorigem")
Resultado+=ws_xml_registro_final(Tabela)
END
END
IFX=0THEN Resultado=ws_zero_registros(Tabela) END
Resultado+="<TOTAL>"+X+"</TOTAL>" Resultado+="</Retorno></Xml>"
ELSE
Resultado=ws_erro_acesso_tabela(Tabela+" "+ErrorInfo())
END
ELSE
Resultado=ws_parametros_invalidos(" TOKEN = "+token+" IMEI = "+telefone_imei)
END
END
HReset(QRY_Pricetag_Select)
token="" telefone_imei=""
HConnectionClose(ConnNativa)
ELSE
Resultado=ws_token_invalido(Tabela)
END
IFCriptografado=True Resultado=Crypt(Resultado,token,compressNone,encodeBASE64) END
Add(arrResultado,Resultado)
RESULT(arrResultado)
Procedurews_pricetag_update(token,telefone_imei,superuser,password,refproduto,produto,valoreuro,valorpromocaoeuro,valordolar,valorpromocaodolar,datainicialvalidadepromocao,datafinalvalidadepromocao,siteorigem,ativo,Criptografado isboolean)
arrResultado isarray of string X isint=0 TokenOk,SuperuserOk isint=0 Tabela isstring="t0002_pricetag" Resultado isstring="" sErro isstring=""
IFtoken<>""THEN
OkConn isboolean=False
OkConn=HConnectionOpen(ConnNativa)
IFOkConn=FalseTHEN
Resultado=ws_conexao_falha(Tabela)
ELSE
TokenOk=ws_token(token,telefone_imei)
IFTokenOk=0THEN
ws_a_log("TokenErrado")
ELSE
ws_a_log("TokenOK")
END
SuperuserOk=ws_superuser(superuser,password)
IFSuperuserOk=0THEN
ws_a_log("SuperuserErrado")
ELSE
ws_a_log("SuperuserOk")
END
IFTokenOk=1ANDSuperuserOk=1
ok=HExecuteQuery(QRY_Pricetag_Update,hQueryDefault+hCheckDuplicates+hCheckIntegrity,produto,valoreuro,valorpromocaoeuro,valordolar,valorpromocaodolar,datainicialvalidadepromocao,datafinalvalidadepromocao,siteorigem,refproduto,ativo)
IFok=TrueTHEN
Resultado=ServerProceduresInternas.ws_gravou(Tabela)
ELSE
Resultado=ws_erro_acesso_tabela(Tabela+" "+ErrorInfo())
END
ELSE
Resultado=ws_parametros_invalidos(" TOKEN = "+token+" IMEI = "+telefone_imei+" Superuser: "+SuperuserOk)
END
END
token="" telefone_imei=""
HConnectionClose(ConnNativa)
ELSE
Resultado=ws_token_invalido(Tabela)
END
IFCriptografado=True Resultado=Crypt(Resultado,token,compressNone,encodeBASE64) END
Add(arrResultado,Resultado)
RESULT(arrResultado)
ProcedureCargaInicial()
ok=HConnectionOpen(ConnNativa)
IFok=False
ok=HExecuteQuery(QRY_Count_Config,hQueryDefault)
IFok=TrueTHEN
FOR EACHQRY_Count_Config
IFHFound(QRY_Count_Config) =TrueTHEN
IFQRY_Count_Config.QtdeRegistros=0THEN
ws_cargainicialconfig(0)
END
END
END
END
ok=HExecuteQuery(QRY_Count_Distributeurs,hQueryDefault)
IFok=TrueTHEN
FOR EACHQRY_Count_Distributeurs
IFHFound(QRY_Count_Distributeurs) =TrueTHEN
IFQRY_Count_Distributeurs.QtdeRegistros=0THEN
ws_cargainicialdistri(0)
END
END
END
END
END
ProcedureMeuIpFixo()
nInicioBloco,nFinalBloco isint=0
IP isstring=""
Url isstring="http://www.meuip.com.br/"
HTTPTimeOut(1000)
HTTPRequest(Url)
bufRetorno is Buffer=HTTPGetResult(httpResult)
bufRetorno=Replace(bufRetorno,Charact(34),"")
bufRetorno=Replace(bufRetorno,"'","")
nInicioBloco=PositionOccurrence(bufRetorno,"document.getElementById(div_ip).innerHTML = ",firstRank,FromBeginning) +Length("document.getElementById(div_ip).innerHTML = ")
IFnInicioBloco>0THEN
bufRetorno=Middle(bufRetorno,nInicioBloco,1000)
IFnInicioBloco>0 bufRetorno=Middle(bufRetorno,1,20) END
ELSE
nInicioBloco=PositionOccurrence(bufRetorno,"<span class=style1> detectando (IPv4 ou IPv6)...</span>-->",firstRank,FromBeginning) +Length("<span class=style1> detectando (IPv4 ou IPv6)...</span>-->")
IFnInicioBloco>0 bufRetorno=Middle(bufRetorno,nInicioBloco,20) END
END
IFbufRetorno<>""
nFinalBloco=PositionOccurrence(bufRetorno,",",firstRank,FromBeginning) -1
IFnFinalBloco>0THEN bufRetorno=Middle(bufRetorno,1,nFinalBloco) END
END
bufRetorno=Replace(bufRetorno,"=","")
bufRetorno=NoSpace(bufRetorno)
IP=NoSpace(bufRetorno)
RESULT(IP)
ProcedureNoEnter(Texto)
Texto=Replace(Texto,CRLF,"") Texto=Replace(Texto,CR,"") Texto=Replace(Texto,"<13><10>","") Texto=Replace(Texto,"<13>","") Texto=Replace(Texto,"<10>","") Texto=Replace(Texto,Charact(13)+Charact(10),"") Texto=Replace(Texto,Charact(13),"") Texto=Replace(Texto,Charact(10),"")
Texto=NoSpace(Texto)
Texto=NoAccent(Texto)
RESULT(Texto)
Procedurews_a_log(Acao)
Ip isstring IFIp=""THEN Ip=MeuIpFixo() END
OkConn isboolean=False
OkConn=HConnectionOpen(ConnNativa)
ok=False
LogResult isstring DataHora isstring=DateSys() +TimeSys()
ok=HExecuteQuery(QRY_Insert_Log,hQueryDefault,DataHora,Ip,Acao)
IFok=FalseTHEN LogResult="Erro ao gravar o log: "+HErrorInfo() +ErrorInfo() ELSE LogResult=1 END
RESULT(LogResult)
Procedurews_cargainicialconfig(Registros)
ok=HConnectionOpen(ConnNativa)
IFRegistros=0ANDok=True t0001_config.t0001_config="TOKEN" t0001_config.t0001_valor="LORELEI" HAdd(t0001_config)
t0001_config.t0001_config="SUPERUSER" t0001_config.t0001_valor="LORELEI" HAdd(t0001_config)
t0001_config.t0001_config="PASSWORD" t0001_config.t0001_valor="SWORDFISH" HAdd(t0001_config) END
Procedurews_cargainicialdistri(Registros)
OkConn isboolean=False
OkConn=HConnectionOpen(ConnNativa)
IFRegistros=0ANDOkConn=TrueTHEN t0004_distributeurs.t0004_company="WX INFORMATICA" t0004_distributeurs.t0004_nome="ADRIANO BOLLER" t0004_distributeurs.t0004_email="adrianoboller@gmail.com" t0004_distributeurs.t0004_telefone="41999491800" t0004_distributeurs.t0004_telefoneimei="41999491800" t0004_distributeurs.t0004_site="www.wxinformatica.com.br" HAdd(t0004_distributeurs) END
Procedurews_conexao_falha(Tabela)
Servidor isstring=ConnNativa..Server
OkConn isboolean=False
OkConn=HConnectionOpen(ConnNativa)
Resultado isstring="" Resultado="<Xml><Retorno>" Resultado+="<NoXml id="+Charact(34)+0+Charact(34)+">" Resultado+="<Erro>ERRO DE CONEXAO COM O BANCO: "+Tabela+"</Erro>" Resultado+="<Banco>"+Servidor+"</Banco>" Resultado+="</NoXml>" Resultado+="</Retorno></Xml>"
Erro isstring="Erro de Conexao com o Banco de Dados: "+HErrorInfo() +" - "+ErrorInfo() Erro=Replace(Erro,Charact(34),"") Erro=Replace(Erro,Charact(39),"") Erro=NoAccent(Erro)
ws_a_log(Erro)
RESULT(Resultado)
Procedurews_conexao_sucesso(Tabela)
Servidor isstring=ConnNativa..Server
OkConn isboolean=False
OkConn=HConnectionOpen(ConnNativa)
Resultado isstring="" Resultado+="<NoXml id="+Charact(34)+1+Charact(34)+">" Resultado+="<OK>CONEXAO COM SUCESSO AO BANCO!!!!!!</OK><TABELA>"+Tabela+"</TABELA>" Resultado+="<Banco>"+Servidor+"</Banco>" Resultado+="</NoXml>" Resultado+="<TOTAL>1</TOTAL>"
ws_a_log("Conexao OK")
RESULT(Resultado)
Procedurews_deletou(Tabela)
Resultado isstring="" Resultado="<Xml><Retorno>" Resultado+="<NoXml id="+Charact(34)+0+Charact(34)+">" Resultado+="<OK>Deletou com Sucesso!</OK><TABELA>"+Tabela+"</TABELA>" Resultado+="</NoXml>" Resultado+="<TOTAL>1</TOTAL>" Resultado+="</Retorno></Xml>"
ws_a_log("Deletou Registro")
RESULT(Resultado)
Procedurews_envia_email(Token,TelefoneImei,Acao,Emails,Assunto,Cabecalho,Mensagem)
TokenOk isboolean Resultado isstring="" sErro isstring="" arrResultado isarray of string ArrayDeleteAll(arrResultado)
OkConn isboolean=False
OkConn=HConnectionOpen(ConnNativa)
IFOkConn=FalseTHEN
Resultado=ws_conexao_falha("Banco de Dados Off-line")
ELSE IFOkConn=TrueANDUpper(Acao) ="SEND"
TokenOk=ws_token(Token,TelefoneImei)
IFTokenOk=FalseTHEN
Comando isstring="ws_envia_email;"+Acao+";"+Emails+";"+Assunto+";"+Cabecalho+";"+Mensagem ws_a_log(Comando)
ELSE
Comando isstring="ws_envia_email;"+Acao+";"+Emails+";"+Assunto+";"+Cabecalho+";"+Mensagem ws_a_log(Comando)
QyrEnviaEmail isData Source
SqlExecuta isstring= [ EnviaEmail '@Emails@', '@Assunto@', '@Cabecalho@', '@Mensagem@' ]
SqlExecuta=Replace(SqlExecuta,"@Emails@",Emails) SqlExecuta=Replace(SqlExecuta,"@Assunto@",Assunto) SqlExecuta=Replace(SqlExecuta,"@Cabecalho@",Cabecalho) SqlExecuta=Replace(SqlExecuta,"@Mensagem@",Mensagem)
ok=HExecuteSQLQuery(QyrEnviaEmail,ConnNativa,hQueryWithoutCorrection,SqlExecuta)
IFok=TrueTHEN
Resultado="<Xml><Retorno>" Resultado+="<NoXml>EMAIL ENVIADO COM SUCESSO!</NoXml>" Resultado+="</Retorno></Xml>"
ws_a_log("EMAIL ENVIADO COM SUCESSO!")
ELSE
erro isstring=HErrorInfo() +" - "+ErrorInfo() erro=Replace(erro,Charact(34),"") erro=Replace(erro,Charact(39),"") erro=NoAccent(erro)
Resultado="<Xml><Retorno>" Resultado+="<NoXml>ERRO AO ENVIAR EMAIL</NoXml>" Resultado+="</Retorno></Xml>"
ws_a_log(erro)
END
END
END
HConnectionClose(ConnNativa)
ArrayAdd(arrResultado,Resultado)
RESULT(arrResultado)
Procedurews_erro_acesso_tabela(Tabela)
Resultado isstring="" Resultado="<Xml><Retorno>" Resultado+="<NoXml id="+Charact(34)+0+Charact(34)+">" Resultado+="<Erro>ERRO DE ACESSO A TABELA: "+NoSpace(Tabela) +"</Erro>" Resultado+="</NoXml>" Resultado+="<TOTAL>0</TOTAL>" Resultado+="</Retorno></Xml>"
ws_a_log("Erro de acesso a tabela: "+Tabela)
RESULT(Resultado)
Procedurews_erro_token(Tabela)
Resultado isstring=""
Resultado="<Xml><Retorno>" Resultado+="<NoXml id="+Charact(34)+0+Charact(34)+">" Resultado+="<Erro>ERRO TOKEN: "+Tabela+"</Erro>" Resultado+="</NoXml>" Resultado+="<TOTAL>0</TOTAL>" Resultado+="</Retorno></Xml>"
ws_a_log("Token errado, atençao com esse IP, provavelmente é um intruso.")
RESULT(Resultado)
Procedurews_gravou(Tabela)
Resultado isstring="" Resultado="<Xml><Retorno>" Resultado+="<NoXml id="+Charact(34)+0+Charact(34)+">" Resultado+="<OK>Gravou com Sucesso!</OK><TABELA>"+Tabela+"</TABELA>" Resultado+="</NoXml>" Resultado+="<TOTAL>1</TOTAL>" Resultado+="</Retorno></Xml>"
ws_a_log("Gravou com sucesso na tabela: "+Tabela)
RESULT(Resultado)
Procedurews_msg_retorno(Mensagem)
Resultado isstring="" Resultado="<Xml><Retorno>" Resultado+="<NoXml id="+Charact(34)+1+Charact(34)+">" Resultado+="<OK>"+Mensagem+"</OK>" Resultado+="</NoXml>" Resultado+="<TOTAL>1</TOTAL>" Resultado+="</Retorno></Xml>"
ws_a_log(Mensagem)
RESULT(Resultado)
Procedurews_nao_deletou(Tabela)
Erro isstring=HErrorInfo() +" - "+ErrorInfo() Erro=Replace(Erro,Charact(34),"") Erro=Replace(Erro,Charact(39),"") Erro=NoAccent(Erro)
Resultado isstring="" Resultado="<Xml><Retorno>" Resultado+="<NoXml id="+Charact(34)+0+Charact(34)+">" Resultado+="<Erro>NAO DELETOU!: "+Tabela+"; "+Erro+"</Erro>" Resultado+="</NoXml>" Resultado+="<TOTAL>0</TOTAL>" Resultado+="</Retorno></Xml>"
ws_a_log("NAO DELETOU!: "+Tabela+"; "+Erro)
RESULT(Resultado)
Procedurews_nao_gravou(Tabela,Erro)
Resultado isstring="" Resultado="<Xml><Retorno>" Resultado+="<NoXml id="+Charact(34)+0+Charact(34)+">" Resultado+="<Erro>NAO GRAVOU: "+Tabela+";"+Erro+"</Erro>" Resultado+="</NoXml>" Resultado+="<TOTAL>0</TOTAL>" Resultado+="</Retorno></Xml>"
ws_a_log("Nao Gravou: "+Tabela+"; "+Erro)
RESULT(Resultado)
Procedurews_parametros_invalidos(Tabela)
Resultado isstring=""
erro isstring=HErrorInfo() +" - "+ErrorInfo() erro=Replace(erro,Charact(34),"") erro=Replace(erro,Charact(39),"") erro=NoAccent(erro)
Resultado="<Xml><Retorno>" Resultado+="<NoXml id="+Charact(34)+0+Charact(34)+">" Resultado+="<Erro>PARAMETROS INVALIDOS OU CLIENTE BLOQUEADO: "+Tabela+" - "+erro+"</Erro>" Resultado+="</NoXml>" Resultado+="<TOTAL>0</TOTAL>" Resultado+="</Retorno></Xml>"
ws_a_log("PARAMETROS INVALIDOS OU CLIENTE BLOQUEADO: "+erro+" - "+Tabela)
RESULT(Resultado)
Procedurews_retorno(Tabela,NomeCampo,Retorno)
Tabela=Tabela
Resultado isstring=""
IFRetorno<>"" Resultado="<Xml><Retorno>" Resultado+="<NoXml id="+Charact(34)+1+Charact(34)+">" Resultado+="<"+NomeCampo+">"+Retorno+"</"+NomeCampo+">" Resultado+="</NoXml>" Resultado+="<TOTAL>1</TOTAL>" Resultado+="</Retorno></Xml>" END
RESULT(Resultado)
Procedurews_superuser(superuser,password)
resultado,resultado01,resultado02 isint=0
IFsuperuser<>""ANDpassword<>""THEN
HReadSeekFirst(t0001_config,t0001_config,"SUPERUSER",hKeepFilter) IFUpper(t0001_config.t0001_valor) =Upper(superuser)THEN resultado01=1 ELSE resultado01=0 END
HReadSeekFirst(t0001_config,t0001_config,"PASSWORD",hKeepFilter) IFUpper(t0001_config.t0001_valor) =Upper(password)THEN resultado02=1 ELSE resultado02=0 END
IFresultado01=1ANDresultado02=1THEN resultado=1 ELSE resultado=0 END
ELSE resultado=0 END
RESULT(resultado)
Procedurews_token(Token,TelefoneImei)
Resultado,TokenResultado,TokenTelefoneImei isstring=""
OkConn isboolean=False
OkConn=HConnectionOpen(ConnNativa)
IFToken<>""ANDTelefoneImei<>""
HReadSeekFirst(t0001_config,t0001_config,"TOKEN",hKeepFilter)
FOR EACH t0001_config
IFHFound(t0001_config) =True TokenResultado=t0001_config.t0001_valor END
END
HReadSeekFirst(t0004_distributeurs,t0004_telefoneimei,TelefoneImei,hKeepFilter)
FOR EACH t0004_distributeurs
IFHFound(t0004_distributeurs) =True TokenTelefoneImei=t0004_distributeurs.t0004_telefoneimei END
END
IFTokenResultado<>""ANDUpper(TokenResultado) =Upper(Token)ANDTokenTelefoneImei<>""THEN Resultado=1 ELSE Resultado=0 END
ELSE
Resultado=0
END
RESULT(Resultado)
Procedurews_token_invalido(Tabela)
Resultado isstring=""
Erro isstring=HErrorInfo() +" - "+ErrorInfo() Erro=Replace(Erro,Charact(34),"") Erro=Replace(Erro,Charact(39),"") Erro=NoAccent(Erro)
Resultado="<Xml><Retorno>" Resultado+="<NoXml id="+Charact(34)+0+Charact(34)+">" Resultado+="<Erro>TOKEN INVALIDO OU NAO INFORMADO: "+Erro+"; "+Tabela+"</Erro>" Resultado+="</NoXml>" Resultado+="<TOTAL>0</TOTAL>" Resultado+="</Retorno></Xml>"
ws_a_log("TOKEN INVALIDO OU NAO INFORMADO: "+Erro+"; "+Tabela)
RESULT(Resultado)
Procedurews_xml_registro_comeco(tabela,id)
tabela=tabela
Resultado isstring=""
Resultado="<NoXml id="+Charact(34)+NoSpace(id) +Charact(34)+">"
RESULT(Resultado)
Procedurews_xml_registro_corpo(TabelaCampo,Campo)
Resultado isstring="" Resultado="<"+NoSpace(Campo) +">"+NoSpace(TabelaCampo) +"</"+NoSpace(Campo) +">"
RESULT(Resultado)
Procedurews_xml_registro_final(Tabela)
Tabela=Tabela
Resultado isstring="" Resultado="</NoXml>"
RESULT(Resultado)
Procedurews_zero_registros(Tabela)
Resultado isstring=""
Erro isstring=HErrorInfo() +" - "+ErrorInfo() Erro=Replace(Erro,Charact(34),"") Erro=Replace(Erro,Charact(39),"") Erro=NoAccent(Erro)
Resultado+="<NoXml id="+Charact(34)+0+Charact(34)+">" Resultado+="<Erro>NENHUM REGISTRO! "+Tabela+"; "+Erro+" </Erro>" Resultado+="</NoXml>"
ws_a_log(Erro)
RESULT(Resultado)
RetornoXml is a ws_distributeur_selectResponse
RetornoXml=ws_distributeur_select("LORELEI","41999491800",0)
XML_Retorno isstring=RetornoXml.ws_distributeur_selectResult
Info(XML_Retorno)
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/> |
| |
| |
| | | |
|
| | | | |
| | |
|