| Linha 50: |
Linha 50: |
| | </syntaxhighlight> | | </syntaxhighlight> |
| | | | |
| | + | * A |
| | + | <syntaxhighlight lang="sql"> |
| | + | DECLARE @FITLRO VARCHAR(MAX) = '{"BandName": "${BandName}", "Filter": "${Filter}", "TableName": "${TableName}"}'; |
| | + | DECLARE @PARAMETRO VARCHAR(MAX) = '{"Description": "${Description}", "ParamName": "${ParamName}", "Type": "${Type}", "Value": "${Value}"}'; |
| | + | DECLARE @RELATORIO VARCHAR(MAX) = '{"id": ${id}, "filters": [${filters}], "parameters": [${parameters}]}'; |
| | + | DECLARE @TXT VARCHAR(MAX) = '"${TXT}"'; |
| | + | </syntaxhighlight> |
| | | | |
| | + | * B |
| | + | <syntaxhighlight lang="sql"> |
| | + | WITH FILTROS (IDREL, FILTRO) AS ( |
| | + | SELECT X.IDREL, REPLACE(REPLACE(REPLACE(@FITLRO, '${BandName}', X.BandName), '${Filter}', X.Filter), '${TableName}', X.TableName) FILTRO |
| | + | FROM (/* COLOCAR UMA LINHA PARA CADA FILTRO DO RELATÓRIO */ |
| | + | SELECT '13894' IDREL, 'RptReport' BandName, 'PFUNC.CODCOLIGADA = ' + CAST(@_CODCOLIGADA AS VARCHAR) + ' AND PFUNC.CHAPA = ''' + @_CHAPA + '''' Filter, 'PFUNC' TableName |
| | + | ) X |
| | + | ), |
| | + | </syntaxhighlight> |
| | + | |
| | + | * C |
| | + | <syntaxhighlight lang="sql"> |
| | + | PARAMETROS (IDREL, PARAMETRO) AS ( |
| | + | SELECT X.IDREL, REPLACE(REPLACE(REPLACE(REPLACE(@PARAMETRO, '${Description}', X.Description), '${ParamName}', X.ParamName), '${Type}', X.Type), '${Value}', X.Value) PARAMETRO |
| | + | FROM (/* COLOCAR UMA LINHA PARA CADA PARAMETRO DO RELATÓRIO */ |
| | + | SELECT '13894' IDREL, NULL Description, NULL ParamName, NULL Type, NULL Value |
| | + | ) X |
| | + | ), |
| | + | </syntaxhighlight> |
| | + | |
| | + | * D |
| | + | <syntaxhighlight lang="sql"> |
| | + | RELATORIOS (RELATORIO) AS ( |
| | + | SELECT REPLACE(REPLACE(REPLACE(@RELATORIO, '${id}', X.ID), |
| | + | '${filters}', REPLACE(RTRIM((SELECT FILTRO + ' ' FROM FILTROS FOR XML PATH(''))), ' ', ',')), |
| | + | '${parameters}', REPLACE(RTRIM((SELECT PARAMETRO + ' ' FROM PARAMETROS FOR XML PATH(''))), ' ', ',')) RELATORIO |
| | + | FROM (/* COLOCAR UMA LINHA PARA CADA RELATÓRIO A SER GERADO */ |
| | + | SELECT '13894' ID |
| | + | ) X |
| | + | ) |
| | + | </syntaxhighlight> |
| | | | |
| | == Utilização == | | == Utilização == |