Tempo de leitura: 1 minuto
Olá, no post de hoje iremos falar da função FormatIn. FormatIn é uma das funções de manipulação de string em ADVPL, seu objetivo é formatar uma string passada como parâmetro e deixá-la pronta para ser utilizada no operador IN de uma query SQL.
Sintaxe:
FormatIn( <cString>, <cSep> )
Parâmetro(s):
Retorno:
Exemplo em ADVPL:
#include 'protheus.ch'
#Include "topconn.ch"
#Include "tbiconn.ch"
/*{Protheus.doc} User Function fFormatI
(Essa função tem por finalidade mostrar a função FormatIn em ADVPL)
@type Function
@author Adilio Costa
@since 13/07/2023
@version 1.0
@?Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@?Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@?Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@?Conheça os Cursos e Formações do ProtheusAdvpl:
https://cursos-e-formacoes-protheusadvpl.gr-site.com/
|Se esse conteúdo foi útil pra você nos ajude divulgando
ele e nossas redes sociais!!|
*/
User Function fFormatI()
Local cMsg := ""
//String a ser formatada
Local cString := "000001;000002;000003;000004;000005"
//Separador utilizado na string
Local cSep:=";"
//String formatada
Local cStrForm := FormatIn(cString,cSep)
Local cQuery := ""
PREPARE ENVIRONMENT EMPRESA '99' FILIAL '01'
cQuery := " SELECT * FROM "+RetSqlName("SA2") + " SA2 "
cQuery += " WHERE A2_FILIAL ='" + FWxFilial("SA2") + "' AND SA2.D_E_L_E_T_ = ' ' "
//Utilização da string formatada dentro do operador IN
cQuery += "A2_COD IN "+cStrForm+ " "
cMsg:= "String antes da formatação:" + cString + CRLF
cMsg+= "String depois da formatação:" + cStrForm + CRLF
cMsg+= "Query montada com a string formatada:" + cQuery
ConOut(cMsg)
Return

Bem, finalizamos mais um post aqui no blog, espero que você tenha entendido. Qualquer dúvida pode deixar seu comentário ou envie um e-mail para adiliocosta@protheusadvpl.com.br. Grande abraço e fica com Deus.
Links de referências:
- https://terminaldeinformacao.com/knowledgebase/formatin/
- https://devadvpl.com.br/como-usar-a-funcao-formatin/