Ayuda SAP

Error CALL_FUNCTION_CONFLICT_TYPE

Hola estoy utilizando la bapi BAPI_PTMGRATTABS_MNGCREATION y tomo los datos de un archivo en excel, pero al empezar a procesar la data en la bapi me da el error CALL_FUNCTION_CONFLICT_TYPE yo tengo mi codigo actualmente asi:

DATA: BAPIHRABSATT_IN_WT TYPE bapihrabsatt_in.
Aqui guardo la info del excel:

DATA: BEGIN OF it_p2001 OCCURS 0,
       subty(4),
       pernr(8),
       beguz(6),
       enduz(6),
       endda(8),
       begda(8),
END OF it_p2001.
Aqui la llamada:

  BAPIHRABSATT_IN_WT-FROM_DATE  = it_p2001-begda. 
  BAPIHRABSATT_IN_WT-TO_DATE    = it_p2001-endda. 
  BAPIHRABSATT_IN_WT-START_TIME = it_p2001-beguz. 
  BAPIHRABSATT_IN_WT-END_TIME   = it_p2001-enduz. 

  CALL FUNCTION 'BAPI_PTMGRATTABS_MNGCREATION'
  EXPORTING
    EMPLOYEENUMBER        = it_p2001-pernr  
    ABS_ATT_TYPE          = it_p2001-subty  
    HRABSATT_IN           = BAPIHRABSATT_IN_WT
*   LOCKINDICATOR         =
*   WORKTAXAREA           =
*   HRALTPAYMENT          =
*   HRCOSTASSIGN          =
*   HRACTIVITYALLOC       =
****   SIMULATE              = '
* IMPORTING
*   HRTIMESKEY            =
*   ABSENCE_FLAG          =
*   HRABSATT_OUT          =
*   LOCKINDICATOR         =
*   HRABSATTEXT           =
*   WORKTAXAREA           =
* IMPORTING
  TABLES
    RETURN                = return2.

Que puedo revisar? Muchas Gracias

Ana

Hola,

Ese dump te lo da cuando una variable que le pasas a la función no es del mismo tipo de la BAPI.

Por ejemplo, veo que el número de empleado lo tenes como un char de 8, y en la funcion es un NUMC de 8:

image

image

Tendrias que crear una variable del mismo tipo de la funcion, y antes de llamarla, pasarle el valor de it_p2001-pernr a esta variable.

Saludos.

Defini asi:
DATA: WBAPIHRABSATT_IN_WT-ABS_ATT_TY TYPE BAPIHRTYPES,
WBAPIHRABSATT_IN_WT-PERNR TYPE BAPIHRITBASE,
WBAPIHRABSATT_IN_WT-START_TIME TYPE bapihrabsatt_in,
WBAPIHRABSATT_IN_WT-END_TIME TYPE bapihrabsatt_in,
WBAPIHRABSATT_IN_WT-FROM_DATE TYPE bapihrabsatt_in,
WBAPIHRABSATT_IN_WT-TO_DATE TYPE bapihrabsatt_in.

Asigne anets de la bapi:

  WBAPIHRABSATT_IN_WT-FROM_DATE    = it_p2001-begda.
  WBAPIHRABSATT_IN_WT-TO_DATE      = it_p2001-endda.
  WBAPIHRABSATT_IN_WT-ABS_ATT_TY   = it_p2001-subty.
  WBAPIHRABSATT_IN_WT-PERNR        = it_p2001-pernr.
  WBAPIHRABSATT_IN_WT-START_TIME   = it_p2001-beguz.
  WBAPIHRABSATT_IN_WT-END_TIME     = it_p2001-enduz.

Llamo a la bapi:

CALL FUNCTION 'BAPI_PTMGRATTABS_MNGCREATION’
EXPORTING
EMPLOYEENUMBER = it_p2001-pernr "'00100010’
ABS_ATT_TYPE = it_p2001-subty "‘9017’ "
HRABSATT_IN = BAPIHRABSATT_IN_WT

  • LOCKINDICATOR =
  • WORKTAXAREA =
  • HRALTPAYMENT =
  • HRCOSTASSIGN =
  • HRACTIVITYALLOC =
    **** SIMULATE = ’
  • IMPORTING
  • HRTIMESKEY =
  • ABSENCE_FLAG =
  • HRABSATT_OUT =
  • LOCKINDICATOR =
  • HRABSATTEXT =
  • WORKTAXAREA =
  • IMPORTING
    TABLES
    RETURN = return2. "BAPIRET2_WT

Pero me sigue dando el mismo error, que puede ser?
:

tu it_p2001 son todo campos de tipo char como te dice @sconoredhot tienes que definirlos del mismo tipo que la bapi

2 Me gusta

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.