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 01/08/08, 11:21:08
koli koli is offline
Junior Member
 
Fecha de Ingreso: nov 2007
Mensajes: 2
Sd_customer_maintain_all

hola,

alguien podria decirme como usar la bapi SD_CUSTOMER_MAINTAIN_ALL
para que me modifique los datos de un registro, por ejemplo, los datos de tipo bancario.

he mirado en la transaccion BAPI pero no no he encontrado documentacion acerca de esta bapi.

Gracias.
Responder Con Cita
  #2  
Viejo 01/08/08, 19:25:19
Avatar de Edd_401
Edd_401 Edd_401 is offline
Senior Member
 
Fecha de Ingreso: may 2007
Mensajes: 119
Bapi

Esta es la bapi, todo lo que tienes que hacer es pasarle los datos:
Espero te sirva el ejemplo....

En este ejemplo de un cliente existente se modfifican sus datos GENERALES y los datoa para FI.

SALUDOS

*Llenando TI_KNA1.
CLEAR TI_KNA1.

MOVE-CORRESPONDING DATA_CUSTOMER TO TI_KNA1.

IF NOT DATA_CUSTOMER-SORTL IS INITIAL.
TI_KNA1-SORTL = DATA_CUSTOMER-SORTL.
ELSE.
TI_KNA1-SORTL = 'PV'.
ENDIF.

TI_KNA1-KTOKD = 'SA00'.
TI_KNA1-SPRAS = SY-LANGU.
TI_KNA1-MCOD1 = DATA_CUSTOMER-NAME1.
TI_KNA1-MCOD2 = DATA_CUSTOMER-NAME2.
TI_KNA1-MCOD3 = DATA_CUSTOMER-ORT01.
TEL2 = DATA_CUSTOMER-TELF2.
MAIL = DATA_CUSTOMER-KNURL.
INTERLOC = DATA_CUSTOMER-INTERLOC.
* TI_KNA1-WERKS = W_WERKS.
*Llenando TI_KNB1.
CLEAR TI_KNB1.
TI_KNB1-BUKRS = SOC.
TI_KNB1-ZUAWA = '001'.
TI_KNB1-AKONT = '0000121000'.
TI_KNB1-ZTERM = 'SA00'.
TI_KNB1-FDGRV = 'E1'.

*Llenando TI_KNVV.
CLEAR TI_KNVV.
TI_KNVV-VKORG = W_VKORG.
TI_KNVV-VTWEG = '01'. "Venta directa
TI_KNVV-SPART = '04'. "Servicio
TI_KNVV-KALKS = '1'. "Grupo std del cliente
TI_KNVV-PLTYP = '05'. "Cliente normal
TI_KNVV-AWAHR = '100'.
TI_KNVV-ANTLF = '9'.
TI_KNVV-KZAZU = 'X'. "Agrupamiento
TI_KNVV-VSBED = '01'. "Estandar
TI_KNVV-WAERS = 'MXN'. "Moneda
TI_KNVV-KTGRD = '01'. "Ingresos nacional
TI_KNVV-ZTERM = 'SA00'. "Grupo de cuentas
TI_KNVV-KVGR1 = '1'. "Grupo
TI_KNVV-VWERK = W_WERKS.

*Impuestos
TT_XKNVI-ALAND = 'MX'.
TT_XKNVI-TATYP = 'MWST'.
TT_XKNVI-TAXKD = '1'.
APPEND TT_XKNVI.
TT_XKNVI-ALAND = 'MX'.
TT_XKNVI-TATYP = 'ZMPV'.
TT_XKNVI-TAXKD = '1'.
APPEND TT_XKNVI.
TT_XKNVI-ALAND = 'MX'.
TT_XKNVI-TATYP = 'ZMWS'.
TT_XKNVI-TAXKD = '1'.
APPEND TT_XKNVI.
TT_XKNVI-ALAND = 'MX'.
TT_XKNVI-TATYP = 'ZTIP'.
TT_XKNVI-TAXKD = '1'.
APPEND TT_XKNVI.

*Llenando ADRN (Direccion).
CLEAR: TI_BAPPIADDR1.
TI_BAPPIADDR1-NAME = DATA_CUSTOMER-NAME1.
TI_BAPPIADDR1-NAME_2 = DATA_CUSTOMER-NAME2.
TI_BAPPIADDR1-NAME_3 = DATA_CUSTOMER-NAME3.
TI_BAPPIADDR1-NAME_4 = DATA_CUSTOMER-NAME4.
TI_BAPPIADDR1-CITY = DATA_CUSTOMER-ORT01.
TI_BAPPIADDR1-POSTL_COD1 = DATA_CUSTOMER-PSTLZ.
TI_BAPPIADDR1-STREET = DATA_CUSTOMER-STRAS.
TI_BAPPIADDR1-STR_SUPPL1 = DATA_CUSTOMER-STR_SUPPL1. "COLONIA
TI_BAPPIADDR1-STR_SUPPL2 = DATA_CUSTOMER-STR_SUPPL2.
TI_BAPPIADDR1-COUNTRY = DATA_CUSTOMER-LAND1.
TI_BAPPIADDR1-LANGU = SY-LANGU.
TI_BAPPIADDR1-REGION = DATA_CUSTOMER-REGIO.

IF NOT DATA_CUSTOMER-SORTL IS INITIAL.
TI_BAPPIADDR1-SORT1 = DATA_CUSTOMER-SORTL.
ELSE.
TI_BAPPIADDR1-SORT1 = 'PV'.
ENDIF.
TI_BAPPIADDR1-TEL1_NUMBR = DATA_CUSTOMER-TELF1.
TI_BAPPIADDR1-C_O_NAME = 'POSTVENTA'.

*Creando Cliente para PV
CALL FUNCTION 'SD_CUSTOMER_MAINTAIN_ALL'
EXPORTING
I_KNA1 = TI_KNA1
I_KNB1 = TI_KNB1
I_KNVV = TI_KNVV
I_BAPIADDR1 = TI_BAPPIADDR1
I_MAINTAIN_ADDRESS_BY_KNA1 = 'X'
PI_POSTFLAG = 'X'
IMPORTING
E_KUNNR = V_KUNNR
TABLES
T_XKNVI = TT_XKNVI
EXCEPTIONS
CLIENT_ERROR = 1
KNA1_INCOMPLETE = 2
KNB1_INCOMPLETE = 3
KNB5_INCOMPLETE = 4
KNVV_INCOMPLETE = 5
KUNNR_NOT_UNIQUE = 6
SALES_AREA_NOT_UNIQUE = 7
SALES_AREA_NOT_VALID = 8
INSERT_UPDATE_CONFLICT = 9
NUMBER_ASSIGNMENT_ERROR = 10
NUMBER_NOT_IN_RANGE = 11
NUMBER_RANGE_NOT_EXTERN = 12
NUMBER_RANGE_NOT_INTERN = 13
ACCOUNT_GROUP_NOT_VALID = 14
PARNR_INVALID = 15
BANK_ADDRESS_INVALID = 16
TAX_DATA_NOT_VALID = 17
NO_AUTHORITY = 18
COMPANY_CODE_NOT_UNIQUE = 19
DUNNING_DATA_NOT_VALID = 20
KNB1_REFERENCE_INVALID = 21
CAM_ERROR = 22
OTHERS = 23.
IF SY-SUBRC = 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
Responder Con Cita
  #3  
Viejo 14/07/13, 21:12:07
Cristofer Valdez Cristofer Valdez is offline
Junior Member
 
Fecha de Ingreso: may 2011
Mensajes: 15
Uso de esta bapi.

Saludos! me podrian ayudar por favor con un ejemplo simple para agregar un cliente nuevo usando esta bapi??
Responder Con Cita
  #4  
Viejo 13/08/16, 00:41:14
Avatar de Drako
Drako Drako is offline
Member
 
Fecha de Ingreso: nov 2006
Localización: Monterrey, NL
Mensajes: 60

Tal vez ya no ayude pero aun asi lo dejo por si a alguien mas le sirve, yo use este metodo..

DATA: w_address TYPE bapikna101,
w_copyref TYPE bapikna102,
w_ret TYPE bapireturn,
g_new_clte TYPE kunnr.

w_address-name = 'NOMBRE'.
w_address-street = 'CALLE'.
w_address-postl_code = 'codigo_postal'.
w_address-city = 'municipio'.
w_address-region = 'region/ESTADO'.
w_address-country = 'PAIS'.
w_address-countryiso = 'MX'.
w_address-langu = 'ES'.

w_copyref-distr_chan = 'Z1'.
w_copyref-division = 'Z1'.
w_copyref-salesorg = '0083'.
w_copyref-ref_custmr = '0301126007'.

*BREAK-POINT.
CALL FUNCTION 'BAPI_CUSTOMER_CREATEFROMDATA'
EXPORTING
pi_address = w_address
pi_copyreference = w_copyref
IMPORTING
* CUSTOMERNO =
pe_customer = g_new_clte
return = w_ret.
IF g_new_clte IS NOT INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = abap_on.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.
__________________
Drako
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 19:42:19.


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