cancel
Showing results for 
Search instead for 
Did you mean: 

campos de formula en layout

Former Member
0 Kudos

buenos dias a todos,

Espero que me puedan ayudarar con una duda, depronto es algo muy facil pero como soy nueva en SAP no he podido solucionar esto, lo que pasa es que tengo estoy generando un layout desde un informe del query, el cual me muestra en un ambito de repeticion los filtros que le asigne (cardcode y el rango de fechas), pero para presentacion de este layout no me sirve mostrar estos datos en un ambito de repeticion, asi que en el informe quiero por ejemplo:crear un campo donde me muestre el nombre del cliente(dato que se encuentra en el ambito de repeticion), entonces no se como decirle que ese campo me lo haga igual al campo que me trae el nombre del cliente en el ambito de repeticion.

otra cosa que me gustaria saber es q al momento de mandar una imprimir un layout este me permita ingresar un texto y que este texto salga impreso en mi Layout, vi un post acerca de esto en el foro pero no me funciono https://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=138084487. este es el informe para hacer los certificados de retencion en compras

/* SELECT FROM OPCH P0 */

DECLARE @T VARCHAR(50)

/* WHERE */

SET @T = /* P0.Comments */ '[%3]'

SELECT T0.[DocNum], T0.[DocDate],T0.[CardCode], T0.[CardName], T0.[BaseAmnt], T0.[RoundDif], T0.[VatSum], T0.[WTApplied], T0.[DocTotal] FROM OPCH T0 WHERE T0.[CardCode]=[%0] AND T0.[DocDate] >=[%1] AND T0.[DocDate] <=[%2]

union

SELECT T0.[DocNum], T0.[DocDate], T0.[CardCode], T0.[CardName], -T0.[BaseAmnt],-T0.[RoundDif] ,-T0.[VatSum], -T0.[WTApplied],-T0.[DocTotal] FROM ORPC T0 WHERE T0.[CardCode]=[%0] AND T0.[DocDate] >=[%1] AND T0.[DocDate] <=[%2]

y me sale un mensaje que dice que registro de consulta no finalizado (QE-3006) mensaje [300-7]

Agradezco al que me pueda colaborar.

gracias

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hector muchas gracias por tu ayuda,

estaba tambien revisando tu codigo y si habia unos pequeños errores, ya me funciono pero el unico problema es que este campo que deben digitar queda dentro del ambito de repeticion con el mismo numero de variable del sistemas que los otros parametros q pide , este campo que necesito hace referencia al concepto por el cual se le hace retencion, esto lo estoy mostrando en un cuadro

CONCEPTO

MONTO

%RETENCION

VALOR TOTAL DE RETENCION

AQUI VA

ESE CAMPO

DIGITADO

XXXXX

XXXXX

XXXXXXX

como hago?

former_member210784
Active Contributor
0 Kudos

Hola.

Intenta lo siguiente:

- Agrega al final de la claususla SELECT las variables @FD, @TD como columnas.

- En el Query Layout a nivel de cabecera de ámbiro de repetición 1, agregar encima de los encabezados actuales, tres camps de fórmula: cada uno de ellos tomará los valores de las variables que quedaron como columnas (por ejemplo: F_309, F_310, etc.).

- Ocultar la cabecera y ámbito de repetición 0.

Nos cuetnas cómo te va.

Saludos.

Answers (6)

Answers (6)

Former Member
0 Kudos

Hola, muchas gracias ya solucione todo gracias a tu ayuda.

un abrazo

Former Member
0 Kudos

En el layout de impresion quiero mostrar los rangos de fecha que establecí en los parametros antes de la impresion del layout pero estos me los muestra asi dentro de un ambito de repeticion

cardcode:xxxx

fecha de contabilizacion:xxxxx

fecha de contabilizacion:xxxx

pero no quiero que me salga asi porque quiero darle presentacion

el cardcode ya lo estoy mostrando en otro lado y no quiero q me lo vuelva a mostrar pero al ocultarlo me oculta todos hasta las fechas, y este rango de fechas si necesito mostrarlo

algo asi: AÑO GRAVABLE 2010

01ENER0/2010 AL 28FEBRERO/2010

Pero como hago si estas fechas estan dentro de un ambito de repeticion y tienen el mismo numero de variable del sistema

Former Member
0 Kudos

gracias por las ayudas y pronta respuesta.

pude solucionar lo de que un campo fuera igual a otro , pero para insertar el texto, copie el codigo que me diste pero me sale el mismo mensaje de registro de consulta no finalizado (QE-3006) mensaje 300-7

Edited by: jcarito on May 18, 2010 10:21 AM

former_member210784
Active Contributor
0 Kudos

Hola.

He corregido la declaración de variabes en el query y lo he probado. Intenta con este:


/* SELECT FROM [dbo].[OPCH] P0 */ 
DECLARE @FD DATETIME 
/* WHERE */ 
SET @FD = /* P0.DocDate */ '[%0]'
 
/* SELECT FROM [dbo].[OPCH] P1 */ 
DECLARE @TD DATETIME 
/* WHERE */ 
SET @TD = /* P1.DocDate */ '[%1]'
 
/* SELECT FROM [dbo].[OPCH] P2 */ 
DECLARE @SN VARCHAR(20) 
/* WHERE */ 
SET @SN = /* P2.CardCode */ '[%2]'
 
/* SELECT FROM [dbo].[OINV] P3 */ 
DECLARE @T VARCHAR(50) 
/* WHERE */ 
SET @T = /* P3.Comments */ '[%3]'

SELECT T0.DocNum, T0.DocDate,T0.CardCode, T0.CardName, T0.BaseAmnt, T0.RoundDif, T0.VatSum, T0.WTApplied, 
T0.DocTotal FROM OPCH T0 WHERE T0.CardCode=@SN AND T0.DocDate >=@FD AND T0.DocDate <=@TD
UNION ALL
SELECT T0.DocNum, T0.DocDate, T0.CardCode, T0.CardName, -T0.BaseAmnt,-T0.RoundDif ,-T0.VatSum, -T0.WTApplied,
-T0.DocTotal FROM ORPC T0 WHERE T0.CardCode=@SN AND T0.DocDate >=@FD AND T0.DocDate <=@TD

Lo he probado y funciona bien.

Saludos.

former_member210784
Active Contributor
0 Kudos

Buenos días.

En este caso hay que colocar todas las variables de la misma manera, algo así:


/* SELECT FROM OPCH P0 */ 
DECLARE @FD DATETIME 
/* WHERE */ 
SET @FD = /* P1.DocDate */ '[%0]'

/* SELECT FROM OPCH P1 */ 
DECLARE @FD DATETIME 
/* WHERE */ 
SET @FD = /* P1.DocDate */ '[%1]'

/* SELECT FROM OCRD P2 */ 
DECLARE @SN DATETIME 
/* WHERE */ 
SET @TD = /* P2.DocDate */ '[%2]'

/* SELECT FROM OPCH P3 */ 
DECLARE @T VARCHAR(50) 
/* WHERE */ 
SET @T = /* P3.Comments */ '[%3]'


SELECT T0.DocNum, T0.DocDate,T0.CardCode, T0.CardName, T0.BaseAmnt, T0.RoundDif, T0.VatSum, T0.WTApplied, 
T0.DocTotal FROM OPCH T0 WHERE T0.CardCode=@SN AND T0.DocDate >=@FD AND T0.DocDate <=@TD
union
SELECT T0.DocNum, T0.DocDate, T0.CardCode, T0.CardName, -T0.BaseAmnt,-T0.RoundDif ,-T0.VatSum, -T0.WTApplied,
-T0.DocTotal FROM ORPC T0 WHERE T0.CardCode=@SN AND T0.DocDate >=@FD AND T0.DocDate <=@TD

En cuanto al código del cliente, como el layout se genera desde arriba hacia abajo se puede copiar el valor a otro campo tipo fórmula que quede debajo del área/campo de donde se quiere tomar el valor, así


F_XXX

Donde F_XXX es el código del campo con el valor a ser copiado.

Saludos.

Edited by: Hector Daniel Hernandez on May 18, 2010 9:49 AM

Former Member
0 Kudos

Que pena se me olvido aclarar que cuando hablo del layout ya es el que cree en layout de impresion, como le digo que un campo me lo haga igual a otro por medio de una formula por ejemplo: f_365==f_302 , no me funciona asi

Edited by: jcarito on May 18, 2010 9:46 AM

former_member188440
Active Contributor
0 Kudos

Lo que sucede es que desde el query manager debes darle crear informe

Luego cuando quieras visualizarlo, como layout, vete a Herramientas, consultas de usuario y layout de impresion de consulta, seleccionas el layout que creaste en el paso anterior y haces clic en el boton de Vista preliminar.

Para agrupar, basta con hacer uso de la funcion clasificar en el ambito de repeticion en tu layout (Diseño)