Advertisement
Guest User

Untitled

a guest
Aug 17th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 5.69 KB | None | 0 0
  1. SELECT
  2.             SF1.F1_FILIAL AS FILIAL,
  3.             TO_CHAR(TO_DATE(SF1.F1_EMISSAO,'yyyymmdd'),'dd/mm/yyyy') AS DATA,
  4.             SF1.F1_DOC AS NF_COMP,
  5.             SF1.F1_SERIE AS SR_COMP,
  6.             SF1.F1_FORNECE
  7.             || '-'
  8.             || SUBSTR(SA2.A2_NOME,1,25) AS FORNECEDOR,
  9.             TRIM(SD1.D1_COD) AS PRODUTO,
  10.             SD1.D1_VUNIT AS VLR_UNIT,
  11.             SD1.D1_QUANT AS QTD,
  12.             SD1.D1_VUNIT * SD1.D1_QUANT AS TT,
  13.             SF1.F1_DESCONT AS DESCONT,
  14.             SF1.F1_VALBRUT - SF1.F1_DESCONT AS TT_NF,
  15.             COALESCE( (
  16.                 SELECT
  17.                     MAX(SF1X.F1_SERIE)
  18.                 FROM
  19.                     %TABLE:SF1% SF1X
  20.                 WHERE
  21.                     SF1X.F1_DOC = SF1.F1_XNFRET
  22.                     AND SF1X.F1_FILIAL = SF1.F1_FILIAL
  23.                     AND SF1X.F1_SERIE = SF1.F1_XSFRET
  24.                     AND SF1X.%NotDel%
  25.             ),'-') AS SR_FRETE,
  26.             COALESCE( (
  27.                 SELECT
  28.                     MAX(SF1X.F1_DOC)
  29.                 FROM
  30.                     %TABLE:SF1% SF1X
  31.                 WHERE
  32.                     SF1X.F1_DOC = SF1.F1_XNFRET
  33.                     AND SF1X.F1_FILIAL = SF1.F1_FILIAL
  34.                     AND SF1X.F1_SERIE = SF1.F1_XSFRET
  35.                     AND SF1X.%NotDel%
  36.             ),'Sem Frete') AS NR_FRETE,
  37.             SUBSTR( (COALESCE( (
  38.                 SELECT
  39.                     MAX(SF1X.F1_VALBRUT)
  40.                 FROM
  41.                     %TABLE:SF1% SF1X
  42.                 WHERE
  43.                     SF1X.F1_DOC = SF1.F1_XNFRET
  44.                     AND SF1X.F1_FILIAL = SF1.F1_FILIAL
  45.                     AND SF1X.F1_SERIE = SF1.F1_XSFRET
  46.                     AND SF1X.%NotDel%
  47.             ),0) / (
  48.                 SELECT
  49.                     SUM(SD1.D1_QUANT)
  50.                 FROM
  51.                     %TABLE:SD1% XD1
  52.                 WHERE
  53.                     XD1.D1_FILIAL = SD1.D1_FILIAL
  54.                     AND XD1.D1_DOC = SD1.D1_DOC
  55.                     AND XD1.D1_SERIE = SD1.D1_SERIE
  56.                     AND XD1.%NotDel%
  57.             ) ) * SD1.D1_QUANT,1,4) AS VL_FRETE,
  58.             ( SD1.D1_VUNIT * SD1.D1_QUANT ) + SUBSTR( (COALESCE( (
  59.                 SELECT
  60.                     MAX(SF1X.F1_VALBRUT)
  61.                 FROM
  62.                     %TABLE:SF1% SF1X
  63.                 WHERE
  64.                     SF1X.F1_DOC = SF1.F1_XNFRET
  65.                     AND SF1X.F1_FILIAL = SF1.F1_FILIAL
  66.                     AND SF1X.F1_SERIE = SF1.F1_XSFRET
  67.                     AND SF1X.%NotDel%
  68.             ),0) / (
  69.                 SELECT
  70.                     SUM(SD1.D1_QUANT)
  71.                 FROM
  72.                     %TABLE:SD1% XD1
  73.                 WHERE
  74.                     XD1.D1_FILIAL = SD1.D1_FILIAL
  75.                     AND XD1.D1_DOC = SD1.D1_DOC
  76.                     AND XD1.D1_SERIE = SD1.D1_SERIE
  77.                     AND XD1.%NotDel%
  78.             ) ) * SD1.D1_QUANT,1,4) AS VL_TOTAL,
  79.             TRIM(SD2.D2_SERIE) AS SR_VEND,
  80.             TRIM(SD2.D2_DOC) AS NF_VEND,
  81.             SD2.D2_CLIENTE
  82.             || '-'
  83.             || SUBSTR(SA1.A1_NOME,1,25) AS CLIENTE,
  84.             SD2.D2_QUANT AS QTD_VND,
  85.             SD2.D2_PRCVEN AS VALOR,
  86.             SD2.D2_QUANT * SD2.D2_PRCVEN AS TOTAL_VEND,
  87.             SUBSTR( ( ( (SD2.D2_QUANT * SD2.D2_PRCVEN) / ( (SD1.D1_VUNIT * SD1.D1_QUANT) + SUBSTR( (COALESCE( (
  88.                 SELECT
  89.                     MAX(SF1X.F1_VALBRUT)
  90.                 FROM
  91.                     %TABLE:SF1% SF1X
  92.                 WHERE
  93.                     SF1X.F1_DOC = SF1.F1_XNFRET
  94.                     AND SF1X.F1_FILIAL = SF1.F1_FILIAL
  95.                     AND SF1X.F1_SERIE = SF1.F1_XSFRET
  96.                     AND SF1X.%NotDel%
  97.             ),0) / (
  98.                 SELECT
  99.                     SUM(SD1.D1_QUANT)
  100.                 FROM
  101.                     SD1010 XD1
  102.                 WHERE
  103.                     XD1.D1_FILIAL = SD1.D1_FILIAL
  104.                     AND XD1.D1_DOC = SD1.D1_DOC
  105.                     AND XD1.D1_SERIE = SD1.D1_SERIE
  106.                     AND XD1.%NotDel%
  107.             ) ) * SD1.D1_QUANT,1,4) ) ) - 1) * 100,1,5) AS MKP
  108.         FROM
  109.             SF1010 SF1
  110.             INNER JOIN %TABLE:SD1% SD1 ON SF1.F1_FILIAL = SD1.D1_FILIAL
  111.                                     AND SF1.F1_DOC = SD1.D1_DOC
  112.                                     AND SF1.F1_SERIE = SD1.D1_SERIE
  113.                                     AND SD1.%NotDel%
  114.             INNER JOIN %TABLE:SA2% SA2 ON SA2.A2_COD = SF1.F1_FORNECE
  115.                                     AND SA2.A2_LOJA = SF1.F1_LOJA
  116.                                     AND SA2.%NotDel%
  117.             INNER JOIN %TABLE:SD2% SD2 ON SD2.D2_DOC = SF1.F1_XNVEND
  118.                                     AND SD2.D2_FILIAL = SF1.F1_FILIAL
  119.                                     AND SD2.D2_SERIE = SF1.F1_XSVEND
  120.                                     AND SD2.D2_COD = SD1.D1_COD
  121.                                     AND SD2.%NotDel%
  122.             INNER JOIN %TABLE:SF2% SF2 ON SF2.F2_DOC = SF1.F1_XNVEND
  123.                                     AND SF2.F2_FILIAL = SF1.F1_FILIAL
  124.                                     AND SF2.F2_SERIE = SF1.F1_XSVEND
  125.                                     AND SF2.%NotDel%
  126.             INNER JOIN %TABLE:SA1% SA1 ON SA1.A1_COD = SD2.D2_CLIENTE
  127.                                     AND SA1.A1_LOJA = SD2.D2_LOJA
  128.                                     AND SA1.%NotDel%
  129.         WHERE
  130.             SF1.F1_XMCF = 'T'
  131.             AND SF1.F1_XVINC = 'F'
  132.             AND SF1.%NotDel%
  133.             AND SD1.D1_FILIAL  BETWEEN %EXP:MV_PAR01% AND %EXP:MV_PAR02%
  134.             AND SD1.D1_EMISSAO BETWEEN %EXP:MV_PAR03% AND %EXP:MV_PAR04%
  135.             AND SD1.D1_DTDIGIT BETWEEN %EXP:MV_PAR05% AND %EXP:MV_PAR06%
  136.  
  137.             ORDER BY 1,2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement