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 26/07/10, 23:07:08
beginabap beginabap is offline
Junior Member
 
Fecha de Ingreso: jul 2010
Mensajes: 20
BAPI_PO_CHANGE no aplica por posicion

Hola todos! Tengo una BAPI que deberia modificar solamente una posicion de la tabla ekpo pero no esta funcionando y esta modificando el campo BSGRU de las posiciones que repiten el material. el Codigo es el siguiente:
-----------------------
DATA:
t_POITEM LIKE BAPIMEPOITEM OCCURS 0 WITH HEADER LINE,
t_POITEMx LIKE BAPIMEPOITEMx OCCURS 0 WITH HEADER LINE,
l_flag(1),
flag_exebapi(1),
g_text(50) TYPE c.


LOOP AT it_ekpo.

READ TABLE it_ekbe WITH KEY ebeln = it_ekpo-ebeln
ebelp = it_ekpo-ebelp.

flag_exebapi = 'N'.

IF SY-SUBRC = 4.
WRITE: / ' NINGUN REGISTRO ENCONTRADO ', it_ekpo-ebeln, ' POSICION: ', it_ekpo-ebelp, ' MAT.: ',it_ekpo-matnr.
flag_exebapi = 'S'.

ELSE.
IF it_ekpo-menge > it_ekbe-menge.
WRITE: / ' REGISTRO CON DIFERENCIA: ', it_ekpo-ebeln, ' POSICION: ', it_ekpo-ebelp, ' cant_ekpo: ',it_ekpo-MENGE, ' vrs Cant_ekbe: ', it_ekbe-menge.
flag_exebapi = 'S'.
ELSE.
WRITE: / ' REGISTRO ENCONTRADO: ', it_ekpo-ebeln, ' POSICION: ', it_ekpo-ebelp, ' cant ',it_ekpo-MENGE, ' versus ', it_ekbe-menge.
flag_exebapi = 'N'.
ENDIF.
ENDIF.

IF flag_exebapi = 'S'. " Ejecuta la bapi para actualizar el registro.
*-------------------------------------------------
clear t_poitem.
* * perform move_to_bapi.
t_POITEM-po_item = it_ekpo-ebelp.
t_POITEM-order_reason = '100'.
APPEND t_poitem.

clear t_poitemx.
t_POITEMx-po_item = it_ekpo-ebelp.
t_POITEMx-po_itemx = 'X'.
t_POITEMx-order_reason = '100'.
APPEND t_poitemx.

CALL FUNCTION 'BAPI_PO_CHANGE'
EXPORTING
purchaseorder = it_ekpo-ebeln
TABLES
POITEM = t_POITEM
POITEMx = t_POITEMx.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
*------------------------------------------------
ENDIF.
ENDLOOP.
Que tendre malo que no modifica por posicion?
Responder Con Cita
  #2  
Viejo 30/07/10, 22:58:07
beginabap beginabap is offline
Junior Member
 
Fecha de Ingreso: jul 2010
Mensajes: 20
Alguien que sepa como resolver este problema?
Responder Con Cita
  #3  
Viejo 30/07/10, 23:51:36
Avatar de Fabian leonardo velasquez
Fabian leonardo velasquez Fabian leonardo velasquez is offline
Member
 
Fecha de Ingreso: sep 2007
Localización: Facatativa
Mensajes: 62
Buena tarde
En la asignacion de valor que estas haciendo
para el campo
t_POITEMx-order_reason = '100'. esta mal. en esta tabla informas que campo es el que se modifica
debes enviarlo
t_POITEMx-order_reason = 'X'.

Intenta y me comentas si no te funciona.
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 17:53:25.


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