Se alguma pergunta ou resposta lhe foi útil, não deixe de dar seu voto positivo!

BeginContent...EndContent

Bom dia senhores,

Estou utilizando o BeginContent...EndContent para não utilizar concatenação de variáveis, já utilizei esta ferramenta inclusive para montar códigos HTML, porem ela esta dando erro dentro dela!

Esta ferramenta não apenas transforma todo o texto em uma string? Por que esta dando algum erro?

Meu código:

BEGINCONTENT var cQuery

    INSERT INTO %EXP:cTabela%
    (VENDEDOR,
    DESVEN,
    GERENTE,
    DESGER,
    CLIENTE,
    DESCLI,
    CODPRO,
    DESPRO,
    GRUPO,
    DESGRU,
    ESTADO,
    TIPO,
    QT_VEND_T,
    CUSTO_TOT,
    CUSTO_EMB,
    VAL_MERC,
    ICM_TOT_VD,
    ICM_RET_VD,
    IPI_TOT_VD,
    PCF_TOT_VD,
    FRETE,
    TIPOVEND,
    DATINI,
    DATFIM,
    CUSTOS,
    CUS_MED,
    COMISSAO,
    DESONERA,
    MOG_GGF,
    VAL_BONIF,
    D2_DESPESA)

    SELECT
    F2_VEND1,
    A3_NOME,
    F2_VEND2,
    A3_NOME,
    D2_CLIENTE,
    A1_NOME,
    D2_COD,
    B1_DESC,
    D2_GRUPO,
    BM_DESC,
    D2_EST,
    D2_TP,
    (D2_QUANT *FATOR) AS QT_VEND_T,
    0,
    (CASE WHEN D2_TIPO == "I" THEN 0 ELSE D2_TOTAL) * FATOR AS VAL_MERC,
    ( D2_VALICM  * FATOR) AS ICM_TOT_VD,
    (D2_ICMSRET *FATOR) AS ICM_RET_VD,
    (D2_VALIPI  *FATOR) AS IPI_TOT_VD,
    (((((D2_PCF *FATOR)*100)/9.25)-(D2_VALICM  *FATOR))*9.25/100) AS PCF_TOT_VD,
    (D2_VALFRE  *FATOR) AS FRETE,
    (CASE WHEN D2_GRUPO IN %EXP:xNAO_TINTA% OR D2_TP <> 'PA'THEN "OUTROS" ELSE " TINTA")) AS TIPOVEND,
    %EXP:MV_PAR01%  AS DATINI,
    %EXP:MV_PAR02%  AS DATFIM,
    %EXP:cAuxSel%
    (D2_CUSTO   * FATOR) AS CUS_MED,
    (D2_COMISS  * FATOR) AS COMISSAO,
    (D2_VALDESO * FATOR) AS DESONERA,
    0,
    SUM( CASE WHEN D2_CF LIKE '%91%' THEN D2_CUSTO1 ELSE 0 END) AS VAL_BONIF,
    (D2_DESPESA * FATOR) AS D2_DESPESA

    FROM SD2010 SD2
    //
    INNER JOIN SF4010 SF4 ON D2_TES   = F4_CODIGO
    INNER JOIN SB1010 SB1 ON D2_COD   = B1_COD
    INNER JOIN SBM010 SBM ON D2_GRUPO = BM_GRUPO
    INNER JOIN SF2010 SF2 ON (D2_DOC+D2_SERIE)   = (F2_DOC+F2_SERIE)
    INNER JOIN SA1010 SA1 ON (D2_CLIENTE+D2_LOJA) = (A1_COD+A1_LOJA)
    INNER JOIN SA3010 SA3 ON F2_VEND1 = A3_COD
    //
    WHERE
    SD2.%NotDel%
    AND SD2.D2_FILIAL = '01'
    AND SF2.F2_FILIAL = '01'
    AND SBM.BM_FILIAL = '01'
    AND    SF4.F4_FILIAL = %xFilial:SF4%
    AND SF4.%NotDel%
    AND SB1.%NotDel%
    AND SBM.%NotDel%
    AND SF2.%NotDel%
    AND SA1.%NotDel%
    AND SA3.%NotDel%
    AND (D2_TIPO = "N" OR D2_TIPO = "I")
    AND    D2_EMISSAO >= %Exp:MV_PAR01%
    AND D2_EMISSAO <= %Exp:MV_PAR02%
    AND (F4_DUPLIC = 'S' OR D2_CF LIKE '%91%')
    AND    D2_TP <> "AF"
    //
    GROUP BY D2_COD, D2_GRUPO, D2_TP, D2_EMISSAO, D2_EST, F2_VEND1, F2_VEND2, BM_DESC, A1_NOME ,B1_DESC, B1_CUSTD, D2_CLIENTE, A3_NOME, d2_lotectl,d2_tipo,(CASE WHEN D2_CF LIKE '%91%' THEN 0 ELSE 1 END)
    //
    ORDER BY F2_VEND1, D2_CLIENTE, D2_TP, D2_COD

    ENDCONTENT

Adicionado ErrorLog que ocorre.

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags advpl ou faça a sua própria pergunta.