MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 11/01/10, 10:41:18
romario2 romario2 is offline
Senior Member
 
Fecha de Ingreso: abr 2006
Mensajes: 233
Wink thanks

Sensacional explicación VLOZANO , argumentando punto por punto.He seguido tus comentarios al milímetro. Tengo poca experencia en OO y nunca he montado una Bapi, pero por lo que indicas, es la mejor opción.
Ya te iré contando, un saludo agradecido.
Responder Con Cita
  #2  
Viejo 11/01/10, 10:59:39
VLozano VLozano is offline
Senior Member
 
Fecha de Ingreso: nov 2009
Mensajes: 124
No te dejes engañar por los nombres... una BAPI no es más que una función con un par de brazos más. Pero se utiliza igual que cualquier otra función: le das unos parámetros de entrada/salida, controlas sus excepciones, y comentas lo bien que ha ido con tus compañeros de trabajo (con los amigos no, que te llamarán "raro").

Eso sí, después acuérdate de llamar a la función BAPI_TRANSACTION_COMMIT o no habrá servido de nada (si quieres hacer pruebas con la BAPI, actualizando datos, tienes que ejecutar la función desde la SE37 usando la secuencia de test del menú: Módulo de función -> Test -> Secuencia de test)
__________________
"Porque algunos sabemos que somos parte del problema"
Responder Con Cita
  #3  
Viejo 11/01/10, 16:51:11
romario2 romario2 is offline
Senior Member
 
Fecha de Ingreso: abr 2006
Mensajes: 233
programa bapi

Hola Vlozano, hola FORO,

hemos hecho un programa con tus indicaciones.
Estoy viendo que se pueden actualizar los campos estandard pero aún no puedo conseguir resultados con los campos Z.

REPORT ZBAPI.
DATA: ITABLE TYPE TABLE OF BAPI_BUS2054_CHG WITH HEADER LINE.
DATA: ITABLE1 TYPE TABLE OF BAPI_BUS2054_UPD WITH HEADER LINE.

*Inicialitzar el procés de modificació
CALL FUNCTION 'BAPI_PS_INITIALIZATION'.

ITABLE-WBS_ELEMENT = 'S-AA-00005-P'.
ITABLE-DESCRIPTION = 'Test A CAMBIAR'.
APPEND ITABLE.
ITABLE1-WBS_ELEMENT = 'S-AA-00005-P'.
ITABLE1-DESCRIPTION = 'X'.
APPEND ITABLE1.
CALL FUNCTION 'BAPI_BUS2054_CHANGE_MULTI'
EXPORTING
i_project_definition = 'S-AA-00005'
tables
it_wbs_element = ITABLE
it_update_wbs_element = ITABLE1
* ET_RETURN =
* EXTENSIONIN =
* EXTENSIONOUT =
.

CALL FUNCTION 'BAPI_PS_PRECOMMIT' .

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
* EXPORTING
* WAIT =
* IMPORTING
* RETURN =


Quizás la solución tenga que ver con estos parámetros:
EXTENSIONIN LIKE BAPIPAREX
EXTENSIONOUT LIKE BAPIPAREX



Agradecería algún consejo/ código GRACIAS DE ANTEMANO!
Responder Con Cita
  #4  
Viejo 12/01/10, 08:02:49
VLozano VLozano is offline
Senior Member
 
Fecha de Ingreso: nov 2009
Mensajes: 124
Debo suponer que estás intentando actualizar un campo Z de la tabla PRPS... ahí ya no puedo echarte un cable. Sé que en el pasado me encontré con un problema parecido, y que tuve que tocar algunas cosillas para que la BAPI me reconociera esas ampliaciones de tabla.

Te remito a la fuente de mi conocimiento en ese momento: el help de SAP (help.sap.com). Ni siquiera recuerdo lo que utilicé para buscar, pero si tuviera que repetir usaria "BAPI extension" o algo así.

Suerte.
__________________
"Porque algunos sabemos que somos parte del problema"
Responder Con Cita
  #5  
Viejo 12/01/10, 13:35:11
romario2 romario2 is offline
Senior Member
 
Fecha de Ingreso: abr 2006
Mensajes: 233
es eso

Exactamente Vlozano,

tengo la incidencia que dices. Tendré que investigar en la Bapi.
Parece que la Bapi te obliga a meter TODOS los campos Z, todo el churro de campos, por orden :-(
Y si se hiciera un tratamiento aparte de los campos Z?
(un update pero solo para los campos Z de la PRPS)
Responder Con Cita
  #6  
Viejo 12/01/10, 14:58:32
VLozano VLozano is offline
Senior Member
 
Fecha de Ingreso: nov 2009
Mensajes: 124
Lo del update de "sólo los campos Z" es algo que ya he oído en alguna parte. Y siempre se me erizan los pelos de la nuca.

Yo NO lo haría. Ni siquiera estando el 99% seguro de que nunca cascaría el SQL.

Si tienes tiempo, inviértelo buscando cómo hacer que una BAPI trabaje con extensiones de tablas, porque te servirá en el futuro (ya puestos, cuando lo sepas nos lo explicas :P). Y si no lo tienes, intenta montar aunque sea un batch input lanzado desde un job con un usuario con autorización. Cualquier cosa antes de meterle mano a una tabla SAP mediante SQL.

Nunca sabes cuándo va a llegar alguien detrás tuyo y va a decir: "mira, si actualiza PRPS-ZCAMPOCHORRA, yo también puedo actualizar PRPS-VERNR". Y se lía parda (supongo... no sé qué campo es ése :P)
__________________
"Porque algunos sabemos que somos parte del problema"
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 22:12:22.


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