Ver Mensaje Individual
  #4  
Viejo 24/09/07, 13:13:58
sap2006 sap2006 is offline
Senior Member
 
Fecha de Ingreso: mar 2006
Mensajes: 134
Primero decirte que estas llamando a una transacción no una función.
Tienes varias opciones de hacerlo:

1.- Si lo haces con un call transaction puedes añadir la coletilla "using itab".
Esto lo que te permite es hacer un B.I. Para ello tendras que hacer una
grabación de la transaccion CS15 ( Sistema->Servicios->Batch Input-> Grabacion).
Donde:
DATA: itab TYPE TABLE OF BDCDATA occurs 0 with header line.

te paso tambien un form que te vendra bien que sera donde meteras la grabacion que has hecho antes que sera del tipo:

PERFORM dynpro USING: 'X' 'ZPCEDTE0' '1000',
' ' 'BDC_OKCODE' '=%154',

*&---------------------------------------------------------------------*
*& Form dynpro
*&---------------------------------------------------------------------*
FORM dynpro USING p_dynbegin
p_campo
p_valor.

CLEAR bdcdata.

IF p_dynbegin EQ 'X'.
MOVE: p_campo TO bdcdata-program,
p_valor TO bdcdata-dynpro,
p_dynbegin TO bdcdata-dynbegin.
ELSE.
MOVE: p_campo TO bdcdata-fnam,
p_valor TO bdcdata-fval.
ENDIF.
APPEND bdcdata.
ENDFORM. " dynpro

Una vez tengas itab rellena solo te queda llamar al call transacion:

CALL TRANSACTION 'CS15' USING ITAB
MODE 'N' "N->Oculto, A->Ves las pantallas, E->si
UPDATE 'S' "hay error.


2. Puedes hacer un submit al programa que este asociado dicha transaccion, lo veras en sistema->status nombre del programa.

la llamada seria del tipo:

SUBMIT zpcedte0 WITH SELECTION-TABLE parametros
* TO SAP-SPOOL SPOOL PARAMETERS params
* WITHOUT SPOOL DYNPRO
AND RETURN.

donde parametros seria del tipo:
DATA: parametros LIKE rsparams OCCURS 0 WITH HEADER LINE.

Espero que con esta ayudita te sirva!! Si te atascas no dudes en preguntar.

Saludos!!

Úlima edición por sap2006 fecha: 24/09/07 a las 13:17:06.
Responder Con Cita