#1
|
|||
|
|||
Declaración de Tablas con *
Hola! Qué tal?
Tengo un programa que declara tablas de la siguiente forma: TABLES: mara, msta,emara,t001k,mchb,mbew,makt,mard,mara1, mbewh, marv, mchbh,t134t,t001. TABLES: *mara, *msta,*emara,*t001k,*mchb,*mbew,*makt,*mard, *mara1,*mbewh, *marv, *mchbh,*t134t. Mi duda es: qué efecto tiene declarar nuevamente cada tabla y anteponer un * a cada una. Saludos, Tere Cristerna. |
#2
|
||||
|
||||
Joder, una vez si que lo ví en un programa y encontramos la explicación, pero ahora mismo no me acuerdo. No sé si era algo así como una especie de copia para hacer simulaciones. Es decir, que cuando hacías un insert por ejemplo, actuaba como si lo realizara pero al salir del programa realmente no efectuaba los cambios.
A ver si alguien lo sabe y me refresca la memoria... |
#3
|
|||
|
|||
Sin solucion
Hola a todos, sigo sin respuesta a mi duda y no he comprendido para que esta declarado la instruccion de este modo, y aparte me he topado codigo de selección que no se como o para que se usa, se los anexo, saludos.
SELECT SINGLE * FROM *MBEWH WHERE MATNR = GVK_SELE-MATNR AND BWKEY = GVK_SELE-BWKEY AND BWTAR = GVK_SELE-BWTAR AND LFGJA = GVK_ANO AND LFMON = GVK_MES. |
#4
|
||||
|
||||
Buenas,
yo he visto esas variables dentro de programas estandard. Se supone que son como una copia con los valores iniciales. Por ejemplo: Si estas en la transacción VA02, *vbak tendria los valores del pedido iniciales, y vbak seria la estructura en la que puedes modificar los campos y con los que al final se actualizaria el pedido. Espero a ver ayudado en algo. Un saludo.
__________________
¿Pero nadie me va a preguntar por las bolas Vique? |
#5
|
|||
|
|||
Hola,
espero no equivocarme mucho pero creo que cuando se declara una tabla con el * delante, lo que ocurre es que estamos creando otro índice para acceder a la tabla de la base de datos, como si tuviéramos dos work areas sobre la misma tabla, con lo cual se puede acceder a la tabla con el WA normal (por ej. SELECT * FROM MARA INTO MARA...) o con el auxiliar (SELECT * FROM MARA INTO *MARA) con lo cual podríamos trabajar con el doble de información. Espero haber despejado las dudas. |
#6
|
||||
|
||||
Ya sé más o menos lo que es y para que se usa. Efectivamente cuando declaras una tabla con * es como si realizas una especie de copia de la tabla en otra zona de memoria.
Esto sirve por ejemplo para que si estás en un bucle dentro de la tabla, puedas hacer una búsqueda a la tabla del * sin perder el índice de la 1ª, de tal forma que no se pierde el puntero y sigues en la misma línea, ya que sino podría dar problemas. Espero que se haya entendido lo que quiero decir.
__________________
Un saludo |
#7
|
|||
|
|||
Muchas gracias a todos por sus respuestas, fueron de gran ayuda para comprender el uso de estas tablas.
Saludos, TC. |
#8
|
||||
|
||||
¿Y eso se puede hacer con tablas internas?
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|