MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Dudas y problema (foro/showthread.php?t=200)

danieldl 22/03/06 11:18:17

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.

tracer 22/03/06 12:53:15

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.


TYPES: BEGIN OF hktst_typ1,
col1(10) TYPE c,
col2 TYPE i,
END OF hktst_typ1.


TYPES hktst_typ2 TYPE p DECIMALS 2.

CONSTANTS hktst_eleven TYPE i VALUE 11.
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.


DATA: dat1 TYPE hktst_typ1,
dat2 TYPE hktst_typ2 VALUE '1.23'.


WRITE: dat2, / hktst_eleven.
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 :D .

danieldl 22/03/06 19:18:20

muchisimas gracias, lo voy a probar y te comento, gracias tambien por la aclaracion.....


Husos Horarios son GMT. La hora en este momento es 08:50:38.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web