|
#1
|
|||
|
|||
Dudas y problema
Estimados amigos, quien me podria explicar las diferencias entre DATA / TYPES / TYPE-POOLS.
Consulta tengo un pgm de MM donde por intermedio de un archivo plano se ingresan las altas y modificacion de materiales a los diferentes legacy de la cia. ahora bien , lo que me estan pidiendo es hacer que el mismo se ejecute en forma batch cada vez que exista el evento de alta o modificacion. Viendo que el pgm tiene una pantalla de parametros como puedo obviar esto para que siga adelante cuando se pide de una forma o en su defecto se ejecute normalmente, todo esto sin copiar el pgm, etc, etc. |
#2
|
||||
|
||||
Hola danieldl,
Te explico las diferencias entre DATA / TYPES / TYPE-POOLS. 1. Primero tenemos DATA, que sirve para declarar una variable. Ej: DATA cont TYPE I. --> declaramos la veriable "cont" del tipo Integer 2. Podemos definirnos un tipo de variable con TYPES del estilo: Ej: TYPES city type spfli-cityfrom. --> Definimos un tipo de variable como del tipo spfli-cityfrom DATA wa_city TYPE city. --> Declaramos la variable wa_city del tipo city. Es decir con TYPES definimos tipos de variables, para luego declarar variables de este tipo. 3. TYPE-POOL <pool>. Después de esta instrucción viene un grupo de definiciones de tipos de variables de este estilo: TYPE-POOL hktst.Todas las definiciones de tipos de variables empiezan por el nombre del pool de tipos "hktst" seguidos de un guión bajo "_". Estas sentencias te permiten usar esos tipos de variables y constantes definidas dentro de un grupo en todo tu programa, de forma que insertando estas lines en un include, luego en tu programa principal puedes usar estas definiciones. TYPE-POOLS hktst.La salida sería: 1,23 11 Por otra parte contestándote a tu consulta, lo primero de todo es no definirte estos parámetros como obligatorios dentro del programa ya que sino no se ejecutará al no informar estos campos. PARAMETERS P_GJAHR LIKE BKPF-GJAHR OBLIGATORY --> Sin el OBLIGATORY Luego por código, puedes controlar si la llamada se realizó en fondo o no con la variable de sistema SY-BATCH que tomará el valor 'X' si se ejecuta el programa en fondo. IF SY-BATCH = 'X '. .... ENDIF. Espero que te sea de utilidad, si necesitas alguna aclaración coméntanos. Un saludo .
__________________
Si precisas una mano, recuerda que yo tengo dos. |
#3
|
|||
|
|||
muchisimas gracias, lo voy a probar y te comento, gracias tambien por la aclaracion.....
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|