cancel
Showing results for 
Search instead for 
Did you mean: 

Obtener orden de venta en orden de fabricación

Former Member
0 Kudos

Obtener orden de venta en orden de fabricación

Soy novato en el mundo sap.

Les comento que he realizado varias consultas formateadas sin problemas. Pero para el caso de obtener la orden de venta en una orden de producción me marca error, estoy utilizando la misma sintaxis que he utilizado en el resto de mis consultas.

Este valor lo necesito para colocar en un campo de usuario los artículos que entraron en inventario con la misma referencia que utilizo en la orden de venta.

Mi consulta:

SELECT T1.[LineNum] FROM ORDR T0 , IGN1 T1 INNER JOIN OIGN T2 ON T1.DocEntry = T2.DocEntry WHERE T0.[NumAtCard] = T2.[Ref2] and T0.[DocNum] =$[$32.1.0]

Error: Incorrect Syntax near u2018$32.1.0u2019

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hola...

El valor

$[$32.1.0]

, a que hace referencia exactamente?

Te consulto, porque si es al valor del campo Orden de Venta de la OF, entonces lo correcto sería

$[$32.0.0]

, pues es un campo cabecera. En el caso que el campo referenciado sea un campo de detalle, entonces si debes identificar la columna, por ejemplo:

$[$37.1.0]

corresponde al campo Número de Artículo del detalle de la OF.

Espero te sea de ayuda

Saludos Cordiales,

Edited by: Paul Ponce on Jul 16, 2010 9:53 PM

Former Member
0 Kudos

Paul, he hecho lo que me has indicado y me sigue marcando error de sintaxis. He probado nuevamente colocando un valor fijo en lugar de la variable y me funciona. Efectivamente busco obtener mi Num. OV, de mi orden de fabricación para traer otro dato que esta en mi orden de venta, pero nada.

Error de sintaxis precisamente me lo marca en la referncia a la variable.

Saludos

Former Member
0 Kudos

Hola...

No me queda 100% claro cual es tu requerimiento. Entiendo que quieres colocar en la OF la referencia de la Orden de Venta siempre y cuando se haya realizado el recibo de producción(entrada de inventario), en el cual indicas la misma referencia. En tal caso podrías probar el siguiente query,..

SELECT T0.NumAtCard FROM ORDR T0 INNER JOIN OIGN T1 ON T0.NumAtCard = T1.Ref2 WHERE T0.DocNum = $[$32.0.0]

La verdad es que lo probé y funciona,

Éspero te sea de ayuda,

Saludos Cordiales,

Former Member
0 Kudos

Hola Paul!!!

Buenas tardes, no me funciono. Te explico cual es el contexto.

En la empresa para la cual trabajo se hacen entradas directas de artículos que pertenecen a los clientes y que estos son utilizados en el proceso de renovado (giro de la empresa, el renovado). Cuando se hace la entrada se anota en el campo de ref2 la orden de trabajo con la cual ingresan los artículos. Es decir una entrada directa tiene un número de referencia con el que entra el artículo, y la orden de entrada se crean con varios artículos.

Ahora bien, nosotros necesitamos saber en el sistema que articulo se utilizo en cada proceso de producción, a quien pertenece y cuando entro.

Por lo tanto se hace la orden de producción y se relaciona con la orden de venta (la orden de venta la creamos agregándole en NumAtCard la orden de trabajo con la cual se ingresan los artículos del cliente a renovar).

Por eso en mi orden de fabricación necesito saber qué orden de venta tiene capturado en el campo OriginNum (

$[$32.1.0]

) y así en un campo de usuario darle la opción al usuario de seleccionar que artículo quiere usar para ese renovado.

Ahora bien, yo he hecho esta consulta


SELECT T1.[LineNum] FROM ORDR T0 , IGN1 T1 INNER JOIN OIGN T2 ON T1.DocEntry = T2.DocEntry WHERE T0.[NumAtCard] =  T2.[Ref2]  AND T0.[DocNum]=$[$32.1.0]

Pero el detalle es que la referencia

$[$32.1.0]

, no me retorna ningún valor, si tengo abierto el generador de consultas con la ventana de producción abierta. Cuándo selecciono la lupa para regresar los valores en la orden de producción, el sistema me regresa el mensaje de error interno en la barra de estado.

Si en lugar de la referencia

$[$32.1.0]

, le pongo una orden de venta estático si me regresa las líneas de la entrada directa para seleccionar el casco a usar.

PD. He intentado con

$[$32.1.0] y $[$32.0.0]

y no me funciona. De hecho todas mis consultas que he hecho hago referencia en el formato X.1.0 y me funcionan y no siendo del detalle del documento donde las utilizo.

former_member188440
Active Contributor
0 Kudos

Prueba el siguiente codigo




SELECT T1.[LineNum] FROM 
 IGN1 T1 INNER JOIN OIGN T2 ON T1.DocEntry = T2.DocEntry 
WHERE T2.[Ref2] in (select T0.[NumAtCard] from ordr t0 where T0.[DocNum]=$[$32.1.0])

a ver si sirve

Former Member
0 Kudos

Mauricio, buenos dias.

Negativo, me marca el mismo error cuando hago trato de actualizar el valor, me marca:

*Se ha produccido un error interno (3006) Mensaje [131-183]*

y si ejecuto la consulta en el Query Manager abierta la ventana de orden de producción el sistema me manda el siguiente mensaje:

*1). [Microsoft][SQL Native Client][SQL Server]Incorrect sintax near '$32.1.0'. 2).[Microsoft][SQL Native Client][SQL Server]Statement 'Documento' (RDOC) (s) could not be prepared.*

El problema de hecho lo veo en que no identifica la referencia al campo donde se ingresa el número de orden de venta (OriginNum). Por eso incluso me marca error de sintaxis.

y pues al activar la opción Información de sistema dentro del menú vista, en la barra de estado esto es lo que se visualiza:

29 [Form=65211 Item=32 Panel=0 Variable=1 OWOR, OriginNum]

Este campo viene por default en el Business One, o cuando hicieron la implementación del mismo se hace alguna configuración para esta parte?

Saludos

former_member188440
Active Contributor
0 Kudos

Quiero suponer que el dato que va en dicho campo (OWOR, OriginNum) ya esta capturado antes de ejecutar dicha busqueda formateada no??

si pusieras el codigo asi


SELECT T1.[LineNum] FROM 
 IGN1 T1 INNER JOIN OIGN T2 ON T1.DocEntry = T2.DocEntry 
WHERE T2.[Ref2] in (select T0.[NumAtCard] from ordr t0 where T0.[DocNum]= select ($[OWOR.OriginNum]))

tampoco funciona?

Former Member
0 Kudos

Nop!!! Ahora me marca error en el select.

Mensaje:

1). [Microsoft][SQL Native Client][SQL Server]Incorrect sintax near the keyword 'select'. 2).[Microsoft][SQL Native Client][SQL Server]Incorrect sintax near 'OWOR.OriginNum'. 3). [Microsoft][SQL Native Client][SQL Server]Statement 'Contratos de

De hecho si capturo el valor de la orden de ventas antes para hacer las pruebas y te comento en cualquiera de estos valores le pongo un valor fijo para la orden de venta y si me funcionan las consultas. Lo que no me funciona es cuando le pongo la referencia a ese campo.

former_member188440
Active Contributor
0 Kudos

Si, me falto un parentesis

Lo he probado y si me funciona asi


SELECT T1.[LineNum] FROM 
 IGN1 T1 INNER JOIN OIGN T2 ON T1.DocEntry = T2.DocEntry 
WHERE T2.[Ref2] in (select T0.[NumAtCard] from ordr t0 where T0.[DocNum] in (select $[OWOR.OriginNum]))

Esta raro que no te funcione, es normal que te marque el error cuando usas variables asi, en el generador de consultas, pues como tal el

$[$.x.x.x] 

no lo reconoce el sql como un valor

Former Member
0 Kudos

Mauricio Quintana, gracias, ya quedó!!!

Muchas gracias me ha funcionado esta última consulta.

Saludos...

former_member188440
Active Contributor
0 Kudos

Excelente, que bueno que ya te funciono!

Saludos!

Answers (2)

Answers (2)

Former Member
0 Kudos

El error lo puedo ver al abrir el generador de consultas. Precisamente buscando el error.

Cuándo presiono F2, me regresa el siguiente mensaje:

Se ha producido un error interno.

He intentado con tu propuesta, en el generador de consultas con la ventana abierta de orden de fabricación no me regresa nada la consulta y presionando F2 me regresa el mismo error.

Saludos

former_member188440
Active Contributor
0 Kudos

Si le pones codigo duro , al item, si te trae algo? para descartar que sean los joins que estas haciendo

Former Member
0 Kudos

Ya lo he hecho. Y si me funciona sin problema, a mi consulta le pongo un valor de una orden de venta definido y si me regresa los valores propuestos para mi campo de usuario, pero el detalle es cuando le pongo nuevamente la variable.

No me regresa nigun valor.

former_member188440
Active Contributor
0 Kudos

Te lo marca al momento de presionar Shift -F2 ???

o en el generador de consultas?

intenta asi


t0.docnum in (select $[ordr.docnum])