YTEST_160BAPI_04YTEST_160BAPI_01
*&---------------------------------------------------------------------*
*& Report YTEST_160BAPI
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT YTEST_160BAPI.
DATA:I_DATA TYPE CVIS_EI_EXTERN_T,
E_RETURN TYPE BAPIRETM,
WA_DATA LIKE LINE OF I_DATA,
WA_PARTN TYPE BUS_EI_EXTERN,
WA_PARTN_HDR TYPE BUS_EI_HEADER,
WA_PARTN_HDR_OBJECT_INSTANCE TYPE BUS_EI_INSTANCE,
WA_PARTN_CTR_DATA TYPE BUS_EI_CENTRAL_DATA,
MA_PARTN_CTR_DATA_COMMON TYPE BUS_EI_BUPA_CENTRAL,
WA_PARTN_CTR_DATA_ROLE TYPE BUS_EI_BUPA_ROLES,
WA_PARTN_CTR_DATA_BANKDETAIL TYPE BUS_EI_BANKDETAIL,
WA_PARTN_CTR_DATA_IDENT_NUMBER TYPE BUS_EI_BUPA_ROLES,
WA_PARTN_CTR_DATA_TAXNUMBER TYPE BUS_EI_TAXNUMBER,
WA_PARTN_CTR_DATA_ADDR TYPE BUS_EI_ADDRESS,
WA_PARTN_CTR_DATA_ADDR_ADDRES TYPE BUS_EI_BUPA_ADDRESS,
WA_PARTN_CTR_DATA_TAXCLASS TYPE BUS_EI_TAX_CLASSIFICATION,
WA_COMPANY TYPE VMDS_EI_COMPANY,
WA_PHONE TYPE BUS_EI_BUPA_TELEPHONE,
WA_FAX TYPE BUS_EI_BUPA_FAX,
WA_EMAIL TYPE BUS_EI_BUPA_SMTP,
WA_BANK TYPE BUS_EI_BUPA_BANKDETAIL,
WA_WTAX TYPE VMDS_EI_WTAX_TYPE,
V_PARTNER.
* INSERT BUSINESSPARTNER
V_PARTNER = 'X'.
IF V_PARTNER = 'X'.
WA_PARTN_HDR-OBJECT_INSTANCE-BPARTNER = '0000000001'.
WA_PARTN_HDR-OBJECT = 'BUSINESSPARTNER'.
WA_PARTN_HDR-OBJECT_TASK = 'I'.
MOVE-CORRESPONDING WA_PARTN_HDR TO WA_PARTN-HEADER.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_CONTROL-GROUPING = '1001'.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_CONTROL-CATEGORY = '2'.
* ADD ORG
WA_PARTN_CTR_DATA-COMMON-DATA-BP_CENTRALDATA-SEARCHTERM1 = 'タナカ'.
WA_PARTN_CTR_DATA-COMMON-DATAX-BP_CENTRALDATA-SEARCHTERM1 = 'X'.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_CENTRALDATA-SEARCHTERM2 = 'ハンコ'.
WA_PARTN_CTR_DATA-COMMON-DATAX-BP_CENTRALDATA-SEARCHTERM2 = 'X'.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_CENTRALDATA-TITLE_KEY = '0003'.
WA_PARTN_CTR_DATA-COMMON-DATAX-BP_CENTRALDATA-TITLE_KEY = 'X'.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_CENTRALDATA-CENTRALBLOCK = 'X'.
WA_PARTN_CTR_DATA-COMMON-DATAX-BP_CENTRALDATA-CENTRALBLOCK = 'X'.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_ORGANIZATION-NAME1 = '山田123'.
WA_PARTN_CTR_DATA-COMMON-DATAX-BP_ORGANIZATION-NAME1 = 'X'.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_ORGANIZATION-NAME2 = '一郎'.
WA_PARTN_CTR_DATA-COMMON-DATAX-BP_ORGANIZATION-NAME2 = 'X'.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_ORGANIZATION-LEGALORG = '10'.
WA_PARTN_CTR_DATA-COMMON-DATAX-BP_ORGANIZATION-LEGALORG = 'X'.
* ADD ROLE
WA_PARTN_CTR_DATA_ROLE-TASK = 'I'.
WA_PARTN_CTR_DATA_ROLE-DATA_KEY = '10D01'.
APPEND WA_PARTN_CTR_DATA_ROLE TO WA_PARTN_CTR_DATA-ROLE-ROLES.
* ADDRESS
WA_PARTN_CTR_DATA_ADDR_ADDRES-TASK = 'I'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-POSTL_COD1 = '111-1111'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-POSTL_COD1 = 'X'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-REGION = '12'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-REGION = 'X'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-CITY = '千葉市多摩区菅馬場2-3-8'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-CITY = 'X'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-STREET = '千葉市100'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-STREET = 'X'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-HOUSE_NO = '102町'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-HOUSE_NO = 'X'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-COUNTRY = 'JP'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-COUNTRY = 'X'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-LANGU = 'J'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-LANGU = 'X'.
WA_PHONE-CONTACT-DATA-TELEPHONE = '081-112111'.
WA_PHONE-CONTACT-DATAX-TELEPHONE = 'X'.
APPEND WA_PHONE TO WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-COMMUNICATION-PHONE-PHONE.
WA_FAX-CONTACT-DATA-FAX = '081-999999'.
WA_FAX-CONTACT-DATAX-FAX = 'X'.
APPEND WA_FAX TO WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-COMMUNICATION-FAX-FAX.
WA_EMAIL-CONTACT-DATA-E_MAIL = '[email protected]'.
WA_EMAIL-CONTACT-DATAX-E_MAIL = 'X'.
APPEND WA_EMAIL TO WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-COMMUNICATION-SMTP-SMTP.
WA_EMAIL-CONTACT-DATA-E_MAIL = '[email protected]'.
WA_EMAIL-CONTACT-DATAX-E_MAIL = 'X'.
APPEND WA_EMAIL TO WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-COMMUNICATION-SMTP-SMTP.
WA_EMAIL-CONTACT-DATA-E_MAIL = '[email protected]'.
WA_EMAIL-CONTACT-DATAX-E_MAIL = 'X'.
APPEND WA_EMAIL TO WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-COMMUNICATION-SMTP-SMTP.
APPEND WA_PARTN_CTR_DATA_ADDR_ADDRES TO WA_PARTN_CTR_DATA-ADDRESS-ADDRESSES.
* VENDOR
* WA_DATA-VENDOR-HEADER-OBJECT_INSTANCE-LIFNR = '0110000109'.
* WA_DATA-VENDOR-HEADER-OBJECT_TASK = 'I'.
** WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATA-VBUND = 'S00107'.
** WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATAX-VBUND = 'X'.
** WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATA-KUNNR = '0234567890'.
** WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATAX-KUNNR = 'X'.
** WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATA-KTOKK = '1001'.
** WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATAX-KTOKK = 'X'.
** WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATA-DLGRP = '0200'.
** WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATAX-DLGRP = 'X'.
** WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATA-PROFS = 'ソフト'.
** WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATAX-PROFS = 'X'.
** WA_DATA-ENSURE_CREATE-CREATE_VENDOR = 'X'.
*
* WA_COMPANY-TASK = 'I'.
* WA_COMPANY-DATA_KEY = '1010'.
* WA_COMPANY-DATA-ZTERM = '0002'.
* WA_COMPANY-DATAX-ZTERM = 'X'.
* WA_COMPANY-DATA-AKONT = '0003100103'.
* WA_COMPANY-DATAX-AKONT = 'X'.
** WA_COMPANY-DATA-ZTERM = '0002'.
**
** WA_COMPANY-DATAX-ZTERM = 'X'.
* APPEND WA_COMPANY TO WA_DATA-VENDOR-COMPANY_DATA-COMPANY.
* BANK
WA_BANK-TASK = 'I'.
WA_BANK-DATA_KEY = '99'.
WA_BANK-DATA-BANK_CTRY = 'JP'.
WA_BANK-DATAX-BANK_CTRY = 'X'.
WA_BANK-DATA-BANK_KEY = '1000099'.
WA_BANK-DATAX-BANK_KEY = 'X'.
WA_BANK-DATA-BANK_ACCT = '100122'.
WA_BANK-DATAX-BANK_ACCT = 'X'.
WA_BANK-DATA-CTRL_KEY = '01'.
WA_BANK-DATAX-CTRL_KEY = 'X'.
WA_BANK-DATA-BANK_REF = 'FA'.
WA_BANK-DATAX-BANK_REF = 'X'.
WA_BANK-DATA-ACCOUNTHOLDER = 'CICI'.
WA_BANK-DATAX-ACCOUNTHOLDER = 'X'.
APPEND WA_BANK TO WA_PARTN_CTR_DATA-BANKDETAIL-BANKDETAILS.
MOVE-CORRESPONDING WA_PARTN_CTR_DATA_ADDR TO WA_PARTN_CTR_DATA.
MOVE-CORRESPONDING WA_PARTN_CTR_DATA TO WA_PARTN-CENTRAL_DATA.
MOVE-CORRESPONDING WA_PARTN TO WA_DATA-PARTNER.
APPEND WA_DATA TO I_DATA.
ELSE.
* CHANGE VENDOR
WA_PARTN_HDR-OBJECT_INSTANCE-BPARTNER = '0000000353'.
WA_PARTN_HDR-OBJECT_INSTANCE-BPARTNERGUID = '005056AF4EEB1ED7B5B5C70E781320DA'.
WA_PARTN_HDR-OBJECT_TASK = 'U'.
WA_PARTN-FINSERV_DATA-COMMON-DATA-FSBP_CENTRL-VBUND = 'S00107'.
WA_PARTN-FINSERV_DATA-COMMON-DATAX-FSBP_CENTRL-VBUND = 'X'.
MOVE-CORRESPONDING WA_PARTN_HDR TO WA_PARTN-HEADER.
MOVE-CORRESPONDING WA_PARTN TO WA_DATA-PARTNER.
WA_DATA-VENDOR-HEADER-OBJECT_INSTANCE-LIFNR = '0110000111'.
WA_DATA-VENDOR-HEADER-OBJECT_TASK = 'U'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATA-KUNNR = '2345678910'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATAX-KUNNR = 'X'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATA-DLGRP = '0200'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATAX-DLGRP = 'X'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATA-PROFS = 'ソフト'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATAX-PROFS = 'X'.
WA_COMPANY-TASK = 'U'.
WA_COMPANY-DATA_KEY = '1010'.
WA_COMPANY-DATA-ZTERM = '0002'.
WA_COMPANY-DATAX-ZTERM = 'X'.
WA_COMPANY-DATA-AKONT = '0003100103'.
WA_COMPANY-DATAX-AKONT = 'X'.
WA_COMPANY-DATA-FDGRV = 'A3'.
WA_COMPANY-DATAX-FDGRV = 'X'.
WA_COMPANY-DATA-QLAND = 'JP'.
WA_COMPANY-DATAX-QLAND = 'X'.
WA_COMPANY-DATA-ALTKN = '1000222'.
WA_COMPANY-DATAX-ALTKN = 'X'.
WA_COMPANY-DATA-BUSAB = 'AS'.
WA_COMPANY-DATAX-BUSAB = 'X'.
WA_COMPANY-DATA-ZSABE = '1115'.
WA_COMPANY-DATAX-ZSABE = 'X'.
WA_WTAX-TASK = 'I'.
WA_WTAX-DATA_KEY-WITHT = 'Z2'.
WA_WTAX-DATA-WT_WITHCD = '20'.
WA_WTAX-DATAX-WT_WITHCD = 'X'.
WA_WTAX-DATA-WT_SUBJCT = 'X'.
WA_WTAX-DATAX-WT_SUBJCT = 'X'.
APPEND WA_WTAX TO WA_COMPANY-WTAX_TYPE-WTAX_TYPE.
APPEND WA_COMPANY TO WA_DATA-VENDOR-COMPANY_DATA-COMPANY.
APPEND WA_DATA TO I_DATA.
ENDIF.
CALL FUNCTION 'CVI_EI_INBOUND_MAIN'
EXPORTING
I_DATA = I_DATA
* I_EXT_DATA =
IMPORTING
E_RETURN = E_RETURN.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
* EXPORTING
* WAIT =
* IMPORTING
* RETURN =
.
YTEST_160BAPI_02
*&---------------------------------------------------------------------*
*& Report YTEST_160BAPI_02
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT YTEST_160BAPI_02.
DATA:I_DATA TYPE CVIS_EI_EXTERN_T,
E_RETURN TYPE BAPIRETM,
WA_DATA LIKE LINE OF I_DATA,
WA_PARTN TYPE BUS_EI_EXTERN,
WA_PARTN_HDR TYPE BUS_EI_HEADER,
WA_PARTN_HDR_OBJECT_INSTANCE TYPE BUS_EI_INSTANCE,
WA_PARTN_CTR_DATA TYPE BUS_EI_CENTRAL_DATA,
MA_PARTN_CTR_DATA_COMMON TYPE BUS_EI_BUPA_CENTRAL,
WA_PARTN_CTR_DATA_ROLE TYPE BUS_EI_BUPA_ROLES,
WA_PARTN_CTR_DATA_BANKDETAIL TYPE BUS_EI_BANKDETAIL,
WA_PARTN_CTR_DATA_IDENT_NUMBER TYPE BUS_EI_BUPA_ROLES,
WA_PARTN_CTR_DATA_TAXNUMBER TYPE BUS_EI_TAXNUMBER,
WA_PARTN_CTR_DATA_ADDR TYPE BUS_EI_ADDRESS,
WA_PARTN_CTR_DATA_ADDR_ADDRES TYPE BUS_EI_BUPA_ADDRESS,
WA_PARTN_CTR_DATA_TAXCLASS TYPE BUS_EI_TAX_CLASSIFICATION,
WA_COMPANY TYPE VMDS_EI_COMPANY,
WA_PHONE TYPE BUS_EI_BUPA_TELEPHONE,
WA_FAX TYPE BUS_EI_BUPA_FAX,
WA_EMAIL TYPE BUS_EI_BUPA_SMTP,
WA_BANK TYPE BUS_EI_BUPA_BANKDETAIL,
WA_WTAX TYPE VMDS_EI_WTAX_TYPE,
V_NUMBER_BAK TYPE BU_PARTNER,
V_NUMBER TYPE BU_PARTNER,
V_GUID TYPE BU_PARTNER_GUID.
*INSERT BUSINESSPARTNER
WA_PARTN_HDR-OBJECT_INSTANCE-BPARTNER = '0000000001'.
WA_PARTN_HDR-OBJECT = 'BUSINESSPARTNER'.
WA_PARTN_HDR-OBJECT_TASK = 'I'.
MOVE-CORRESPONDING WA_PARTN_HDR TO WA_PARTN-HEADER.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_CONTROL-GROUPING = '1001'.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_CONTROL-CATEGORY = '2'.
*ADD ORG
WA_PARTN_CTR_DATA-COMMON-DATA-BP_CENTRALDATA-SEARCHTERM1 = 'タナカ'.
WA_PARTN_CTR_DATA-COMMON-DATAX-BP_CENTRALDATA-SEARCHTERM1 = 'X'.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_CENTRALDATA-SEARCHTERM2 = 'ハンコ'.
WA_PARTN_CTR_DATA-COMMON-DATAX-BP_CENTRALDATA-SEARCHTERM2 = 'X'.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_CENTRALDATA-TITLE_KEY = '0003'.
WA_PARTN_CTR_DATA-COMMON-DATAX-BP_CENTRALDATA-TITLE_KEY = 'X'.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_CENTRALDATA-CENTRALBLOCK = 'X'.
WA_PARTN_CTR_DATA-COMMON-DATAX-BP_CENTRALDATA-CENTRALBLOCK = 'X'.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_ORGANIZATION-NAME1 = '山田123'.
WA_PARTN_CTR_DATA-COMMON-DATAX-BP_ORGANIZATION-NAME1 = 'X'.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_ORGANIZATION-NAME2 = '一郎'.
WA_PARTN_CTR_DATA-COMMON-DATAX-BP_ORGANIZATION-NAME2 = 'X'.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_ORGANIZATION-LEGALORG = '10'.
WA_PARTN_CTR_DATA-COMMON-DATAX-BP_ORGANIZATION-LEGALORG = 'X'.
*ADD ROLE
WA_PARTN_CTR_DATA_ROLE-TASK = 'I'.
WA_PARTN_CTR_DATA_ROLE-DATA_KEY = '10D01'.
APPEND WA_PARTN_CTR_DATA_ROLE TO WA_PARTN_CTR_DATA-ROLE-ROLES.
*ADDRESS
WA_PARTN_CTR_DATA_ADDR_ADDRES-TASK = 'I'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-POSTL_COD1 = '111-1111'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-POSTL_COD1 = 'X'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-REGION = '12'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-REGION = 'X'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-CITY = '千葉市多摩区菅馬場2-3-8'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-CITY = 'X'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-STREET = '千葉市100'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-STREET = 'X'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-HOUSE_NO = '102町'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-HOUSE_NO = 'X'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-COUNTRY = 'JP'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-COUNTRY = 'X'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-LANGU = 'J'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-LANGU = 'X'.
WA_PHONE-CONTACT-DATA-TELEPHONE = '081-112111'.
WA_PHONE-CONTACT-DATAX-TELEPHONE = 'X'.
APPEND WA_PHONE TO WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-COMMUNICATION-PHONE-PHONE.
WA_FAX-CONTACT-DATA-FAX = '081-999999'.
WA_FAX-CONTACT-DATAX-FAX = 'X'.
APPEND WA_FAX TO WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-COMMUNICATION-FAX-FAX.
WA_EMAIL-CONTACT-DATA-E_MAIL = '[email protected]'.
WA_EMAIL-CONTACT-DATAX-E_MAIL = 'X'.
APPEND WA_EMAIL TO WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-COMMUNICATION-SMTP-SMTP.
WA_EMAIL-CONTACT-DATA-E_MAIL = '[email protected]'.
WA_EMAIL-CONTACT-DATAX-E_MAIL = 'X'.
APPEND WA_EMAIL TO WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-COMMUNICATION-SMTP-SMTP.
WA_EMAIL-CONTACT-DATA-E_MAIL = '[email protected]'.
WA_EMAIL-CONTACT-DATAX-E_MAIL = 'X'.
APPEND WA_EMAIL TO WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-COMMUNICATION-SMTP-SMTP.
APPEND WA_PARTN_CTR_DATA_ADDR_ADDRES TO WA_PARTN_CTR_DATA-ADDRESS-ADDRESSES.
*BANK
WA_BANK-TASK = 'I'.
WA_BANK-DATA_KEY = '99'.
WA_BANK-DATA-BANK_CTRY = 'JP'.
WA_BANK-DATAX-BANK_CTRY = 'X'.
WA_BANK-DATA-BANK_KEY = '1000099'.
WA_BANK-DATAX-BANK_KEY = 'X'.
WA_BANK-DATA-BANK_ACCT = '100122'.
WA_BANK-DATAX-BANK_ACCT = 'X'.
WA_BANK-DATA-CTRL_KEY = '01'.
WA_BANK-DATAX-CTRL_KEY = 'X'.
WA_BANK-DATA-BANK_REF = 'FA'.
WA_BANK-DATAX-BANK_REF = 'X'.
WA_BANK-DATA-ACCOUNTHOLDER = 'CICI'.
WA_BANK-DATAX-ACCOUNTHOLDER = 'X'.
APPEND WA_BANK TO WA_PARTN_CTR_DATA-BANKDETAIL-BANKDETAILS.
MOVE-CORRESPONDING WA_PARTN_CTR_DATA_ADDR TO WA_PARTN_CTR_DATA.
MOVE-CORRESPONDING WA_PARTN_CTR_DATA TO WA_PARTN-CENTRAL_DATA.
MOVE-CORRESPONDING WA_PARTN TO WA_DATA-PARTNER.
APPEND WA_DATA TO I_DATA.
SELECT MAX( PARTNER )
INTO V_NUMBER_BAK
FROM BUT000
WHERE CRUSR = SY-UNAME.
CALL METHOD CL_MD_BP_MAINTAIN=>MAINTAIN
EXPORTING
I_DATA = I_DATA
IMPORTING
E_RETURN = E_RETURN.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
* CHANGE VENDOR
CLEAR:WA_PARTN_HDR,
WA_PARTN,
WA_DATA,
I_DATA,
E_RETURN.
DO 10 TIMES.
SELECT SINGLE PARTNER
PARTNER_GUID
INTO (V_NUMBER,
V_GUID)
FROM BUT000
WHERE PARTNER > V_NUMBER_BAK
AND CRUSR = SY-UNAME.
IF SY-SUBRC = 0.
EXIT.
ELSE.
WAIT UP TO 1 SECONDS.
ENDIF.
ENDDO.
WA_PARTN_HDR-OBJECT_INSTANCE-BPARTNER = V_NUMBER.
WA_PARTN_HDR-OBJECT_INSTANCE-BPARTNERGUID = V_GUID.
*WA_PARTN_HDR-OBJECT_INSTANCE-BPARTNER = '0000000378'.
*WA_PARTN_HDR-OBJECT_INSTANCE-BPARTNERGUID = '005056AF4EEB1ED7B5CC9FB5C74200DA'.
WA_PARTN_HDR-OBJECT_TASK = 'U'.
WA_PARTN-FINSERV_DATA-COMMON-DATA-FSBP_CENTRL-VBUND = 'S00107'.
WA_PARTN-FINSERV_DATA-COMMON-DATAX-FSBP_CENTRL-VBUND = 'X'.
MOVE-CORRESPONDING WA_PARTN_HDR TO WA_PARTN-HEADER.
MOVE-CORRESPONDING WA_PARTN TO WA_DATA-PARTNER.
WA_DATA-VENDOR-HEADER-OBJECT_INSTANCE-LIFNR = '0110000116'.
WA_DATA-VENDOR-HEADER-OBJECT_TASK = 'I'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATA-KUNNR = '2345678910'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATAX-KUNNR = 'X'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATA-DLGRP = '0200'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATAX-DLGRP = 'X'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATA-PROFS = 'ソフト'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATAX-PROFS = 'X'.
WA_COMPANY-TASK = 'I'.
WA_COMPANY-DATA_KEY = '1010'.
WA_COMPANY-DATA-ZTERM = '0002'.
WA_COMPANY-DATAX-ZTERM = 'X'.
WA_COMPANY-DATA-AKONT = '0003100103'.
WA_COMPANY-DATAX-AKONT = 'X'.
WA_COMPANY-DATA-FDGRV = 'A3'.
WA_COMPANY-DATAX-FDGRV = 'X'.
WA_COMPANY-DATA-QLAND = 'JP'.
WA_COMPANY-DATAX-QLAND = 'X'.
WA_COMPANY-DATA-ALTKN = '1000222'.
WA_COMPANY-DATAX-ALTKN = 'X'.
WA_COMPANY-DATA-BUSAB = 'AS'.
WA_COMPANY-DATAX-BUSAB = 'X'.
WA_COMPANY-DATA-ZSABE = '1115'.
WA_COMPANY-DATAX-ZSABE = 'X'.
WA_WTAX-TASK = 'I'.
WA_WTAX-DATA_KEY-WITHT = 'Z2'.
WA_WTAX-DATA-WT_WITHCD = '20'.
WA_WTAX-DATAX-WT_WITHCD = 'X'.
WA_WTAX-DATA-WT_SUBJCT = 'X'.
WA_WTAX-DATAX-WT_SUBJCT = 'X'.
APPEND WA_WTAX TO WA_COMPANY-WTAX_TYPE-WTAX_TYPE.
APPEND WA_COMPANY TO WA_DATA-VENDOR-COMPANY_DATA-COMPANY.
APPEND WA_DATA TO I_DATA.
CALL METHOD CL_MD_BP_MAINTAIN=>MAINTAIN
EXPORTING
I_DATA = I_DATA
IMPORTING
E_RETURN = E_RETURN.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
MESSAGE WA_PARTN_HDR-OBJECT_INSTANCE-BPARTNER TYPE 'S'.
YTEST_160BAPI_03
*&---------------------------------------------------------------------*
*& Report YTEST_160BAPI_03
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT YTEST_160BAPI_03.
DATA:LV_FLG.
DATA:LS_MAIN TYPE VMDS_EI_MAIN,
LS_MESG TYPE CVIS_MESSAGE,
LT_MSG TYPE BAPIRET2_T,
LWA_MSG TYPE BAPIRET2,
LT_VEND TYPE VMDS_EI_EXTERN_T,
LWA_VEND TYPE VMDS_EI_EXTERN,
LT_COMPANY TYPE VMDS_EI_COMPANY_T,
LWA_COMPANY TYPE VMDS_EI_COMPANY,
LT_BANKDETAILS TYPE CVIS_EI_BANKDETAIL_T,
LWA_BANKDETAILS TYPE CVIS_EI_CVI_BANKDETAIL, "CVIS_EI_BANKDETAIL.
LT_PURCHASING TYPE VMDS_EI_PURCHASING_T,
LWA_PURCHASING TYPE VMDS_EI_PURCHASING,
LT_FUNCTIONS TYPE VMDS_EI_FUNCTIONS_T,
LWA_FUNCTIONS TYPE VMDS_EI_FUNCTIONS.
* 主数据
LWA_VEND-HEADER-OBJECT_TASK = 'I'.
LWA_VEND-HEADER-OBJECT_INSTANCE-LIFNR = '0110000105'.
LWA_VEND-CENTRAL_DATA-CENTRAL-DATA-KTOKK = 'Z002'.
LWA_VEND-CENTRAL_DATA-CENTRAL-DATAX-KTOKK = 'X'.
*地址数据
LWA_VEND-CENTRAL_DATA-ADDRESS-TASK = 'I'.
LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATA-TITLE = '0002'.
LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATA-NAME = 'LSI Logic Storage System, Inc'.
LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATA-LANGU = SY-LANGU.
LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATA-COUNTRY = 'CN'.
LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATA-SORT1 = 'LSI'.
LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATA-SORT2 = 'LSI'.
LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATA-STREET = '1621 Barber Lane Milpitas,'.
LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATA-HOUSE_NO = 'California'.
*LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATA-POSTL_COD1 = '466303'.
*LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATA-CITY = '青岛'.
LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATA-COUNTRY = 'US'.
*LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATA-REGION = '120'.
LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATAX-TITLE = 'X'.
LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATAX-NAME = 'X'.
LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATAX-LANGU = 'X'.
LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATAX-COUNTRY = 'X'.
LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATAX-SORT1 = 'X'.
LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATAX-SORT2 = 'X'.
LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATAX-STREET = 'X'.
LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATAX-HOUSE_NO = 'X'.
*LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATAX-POSTL_COD1 = 'X'.
*LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATAX-CITY = 'X'.
LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATAX-COUNTRY = 'X'.
*LWA_VEND-CENTRAL_DATA-ADDRESS-POSTAL-DATAX-REGION = 'X'.
*银行数据
***LWA_BANKDETAILS-TASK = 'I'.
***LWA_BANKDETAILS-DATA_KEY-BANKL = 'KHYH'.
***LWA_BANKDETAILS-DATA_KEY-BANKN = '232232322232323'.
***
***APPEND LWA_BANKDETAILS TO LT_BANKDETAILS.
***LWA_VEND-CENTRAL_DATA-BANKDETAIL-BANKDETAILS = LT_BANKDETAILS.
* 公司代码数据
*LWA_VEND-COMPANY_DATA-CURRENT_STATE = 'X'.
LWA_COMPANY-TASK = 'I'.
LWA_COMPANY-DATA_KEY-BUKRS = '1100'.
LWA_COMPANY-DATA-AKONT = '0021210101'.
LWA_COMPANY-DATA-ZTERM = 'Z008'.
LWA_COMPANY-DATA-ZWELS = 'E'.
LWA_COMPANY-DATA-TOGRR = 'Z001'.
LWA_COMPANY-DATA-REPRF = 'X'.
LWA_COMPANY-DATA-ZSABE = 'Z(090324转正)'.
LWA_COMPANY-DATA-INTAD = '2009.03.24 临时转正式'.
LWA_COMPANY-DATA-KVERM = '原机'.
LWA_COMPANY-DATAX-AKONT = 'X'.
LWA_COMPANY-DATAX-ZTERM = 'X'.
LWA_COMPANY-DATAX-ZWELS = 'X'.
LWA_COMPANY-DATAX-TOGRR = 'X'.
LWA_COMPANY-DATAX-REPRF = 'X'.
LWA_COMPANY-DATAX-ZSABE = 'X'.
LWA_COMPANY-DATAX-INTAD = 'X'.
LWA_COMPANY-DATAX-KVERM = 'X'.
APPEND LWA_COMPANY TO LT_COMPANY.
LWA_VEND-COMPANY_DATA-COMPANY = LT_COMPANY.
*采购数据
LWA_PURCHASING-TASK = 'I'.
LWA_PURCHASING-DATA_KEY-EKORG = '1100'. "采购组织
LWA_PURCHASING-DATA-WAERS = 'USD'.
LWA_PURCHASING-DATA-ZTERM = 'Z008'.
***LWA_PURCHASING-DATA-INCO1 = ''.
LWA_PURCHASING-DATA-KALSK = 'Z1'.
LWA_PURCHASING-DATA-VERKF = '刑刚'.
LWA_PURCHASING-DATA-TELF1 = '13925135205'.
LWA_PURCHASING-DATA-WEBRE = 'X'.
LWA_PURCHASING-DATA-KZABS = 'X'.
LWA_PURCHASING-DATA-KZAUT = 'X'.
LWA_PURCHASING-DATA-BSTAE = 'Z001'.
***
LWA_PURCHASING-DATAX-WAERS = 'X'.
LWA_PURCHASING-DATAX-ZTERM = 'X'.
***LWA_PURCHASING-DATAX-INCO1 = 'X'.
LWA_PURCHASING-DATAX-KALSK = 'X'.
LWA_PURCHASING-DATAX-VERKF = 'X'.
LWA_PURCHASING-DATAX-TELF1 = 'X'.
LWA_PURCHASING-DATAX-WEBRE = 'X'.
LWA_PURCHASING-DATAX-KZABS = 'X'.
LWA_PURCHASING-DATAX-KZAUT = 'X'.
LWA_PURCHASING-DATAX-BSTAE = 'X'.
LWA_FUNCTIONS-TASK = 'I'.
LWA_FUNCTIONS-DATA_KEY-PARVW = 'BA'.
APPEND LWA_FUNCTIONS TO LT_FUNCTIONS.
LWA_FUNCTIONS-TASK = 'I'.
LWA_FUNCTIONS-DATA_KEY-PARVW = 'LF'.
APPEND LWA_FUNCTIONS TO LT_FUNCTIONS.
LWA_FUNCTIONS-TASK = 'I'.
LWA_FUNCTIONS-DATA_KEY-PARVW = 'RS'.
APPEND LWA_FUNCTIONS TO LT_FUNCTIONS.
LWA_PURCHASING-FUNCTIONS-FUNCTIONS = LT_FUNCTIONS.
APPEND LWA_PURCHASING TO LT_PURCHASING.
LWA_VEND-PURCHASING_DATA-PURCHASING = LT_PURCHASING.
APPEND LWA_VEND TO LT_VEND.
LS_MAIN-VENDORS = LT_VEND.
CALL METHOD VMD_EI_API=>MAINTAIN
EXPORTING
* IV_TEST_RUN = SPACE
IS_MASTER_DATA = LS_MAIN
IMPORTING
ES_ERROR = LS_MESG.
LT_MSG = LS_MESG-MESSAGES.
LOOP AT LT_MSG INTO LWA_MSG.
WRITE: / LWA_MSG-TYPE,LWA_MSG-MESSAGE.
IF LWA_MSG-TYPE = 'E' OR LWA_MSG-TYPE = 'A'.
LV_FLG = 'X'.
ENDIF.
ENDLOOP.
IF LV_FLG IS INITIAL.
COMMIT WORK.
ELSE.
ROLLBACK WORK.
ENDIF.
YTEST_160BAPI_04
*&---------------------------------------------------------------------*
*& Report YTEST_160BAPI_04
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT YTEST_160BAPI_04.
DATA:I_PHONE TYPE STANDARD TABLE OF BAPIADTEL,
I_FAX TYPE STANDARD TABLE OF BAPIADFAX,
I_EMAIL TYPE STANDARD TABLE OF BAPIADSMTP,
I_DATA TYPE CVIS_EI_EXTERN_T,
E_RETURN TYPE BAPIRETM,
WA_CATEGORY TYPE BAPIBUS1006_HEAD,
WA_CENTRAL TYPE BAPIBUS1006_CENTRAL,
WA_ORGAN TYPE BAPIBUS1006_CENTRAL_ORGAN,
WA_ADDRESS TYPE BAPIBUS1006_ADDRESS,
WA_PHONE TYPE BAPIADTEL,
WA_FAX TYPE BAPIADFAX,
WA_EMAIL TYPE BAPIADSMTP,
WA_PARTNER TYPE BU_PARTNER,
WA_BUT000 TYPE BUS000___I,
WA_ROLE TYPE BUS_EI_BUPA_ROLES,
WA_BANK TYPE BUS_EI_BUPA_BANKDETAIL,
WA_COMPANY TYPE VMDS_EI_COMPANY,
WA_WTAX TYPE VMDS_EI_WTAX_TYPE,
WA_DATA TYPE CVIS_EI_EXTERN.
*INSERT BP
WA_CATEGORY-PARTN_CAT = '2'.
WA_CATEGORY-PARTN_GRP = '1001'.
WA_CENTRAL-SEARCHTERM1 = 'タナカ'.
WA_CENTRAL-SEARCHTERM2 = 'ハンコ'.
WA_CENTRAL-TITLE_KEY = '0003'.
WA_CENTRAL-CENTRALBLOCK = 'X'.
WA_ORGAN-NAME1 = '山田'.
WA_ORGAN-NAME2 = '一郎'.
WA_ORGAN-LEGALORG = '10'.
WA_ADDRESS-POSTL_COD1 = '111-1111'.
WA_ADDRESS-REGION = '12'.
WA_ADDRESS-CITY = '千葉市多摩区菅馬場2-3-8'.
WA_ADDRESS-STREET = '千葉市100'.
WA_ADDRESS-HOUSE_NO = '102町'.
WA_ADDRESS-COUNTRY = 'JP'.
WA_ADDRESS-LANGU = 'J'.
WA_PHONE-TELEPHONE = '081-112111'.
APPEND WA_PHONE TO I_PHONE.
WA_FAX-FAX = '081-999999'.
APPEND WA_FAX TO I_FAX.
WA_EMAIL-E_MAIL = '[email protected]'.
APPEND WA_EMAIL TO I_EMAIL.
WA_EMAIL-E_MAIL = '[email protected]'.
APPEND WA_EMAIL TO I_EMAIL.
WA_EMAIL-E_MAIL = '[email protected]'.
APPEND WA_EMAIL TO I_EMAIL.
CALL FUNCTION 'BAPI_BUPA_FS_CREATE_FROM_DATA2'
EXPORTING
PARTNERCATEGORY = WA_CATEGORY-PARTN_CAT
PARTNERGROUP = WA_CATEGORY-PARTN_GRP
CENTRALDATA = WA_CENTRAL
CENTRALDATAORGANIZATION = WA_ORGAN
ADDRESSDATA = WA_ADDRESS
IMPORTING
BUSINESSPARTNER = WA_PARTNER
TABLES
TELEFONDATA = I_PHONE
FAXDATA = I_FAX
E_MAILDATA = I_EMAIL.
CALL FUNCTION 'BUP_MEMORY_BUT000_GET'
EXPORTING
IV_PARTNER = WA_PARTNER
IMPORTING
ES_BUT000 = WA_BUT000.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
*UPDATE VENDOR INFO
WA_DATA-PARTNER-HEADER-OBJECT_INSTANCE-BPARTNER = WA_PARTNER.
WA_DATA-PARTNER-HEADER-OBJECT_INSTANCE-BPARTNERGUID = WA_BUT000-PARTNER_GUID.
WA_DATA-PARTNER-HEADER-OBJECT_TASK = 'U'.
WA_DATA-PARTNER-FINSERV_DATA-COMMON-DATA-FSBP_CENTRL-VBUND = 'S00107'.
WA_DATA-PARTNER-FINSERV_DATA-COMMON-DATAX-FSBP_CENTRL-VBUND = 'X'.
*ADD ROLE
WA_ROLE-TASK = 'I'.
WA_ROLE-DATA_KEY = '10D01'.
APPEND WA_ROLE TO WA_DATA-PARTNER-CENTRAL_DATA-ROLE-ROLES.
*BANK
WA_BANK-TASK = 'I'.
WA_BANK-DATA_KEY = '99'.
WA_BANK-DATA-BANK_CTRY = 'JP'.
WA_BANK-DATAX-BANK_CTRY = 'X'.
WA_BANK-DATA-BANK_KEY = '1000099'.
WA_BANK-DATAX-BANK_KEY = 'X'.
WA_BANK-DATA-BANK_ACCT = '100122'.
WA_BANK-DATAX-BANK_ACCT = 'X'.
WA_BANK-DATA-CTRL_KEY = '01'.
WA_BANK-DATAX-CTRL_KEY = 'X'.
WA_BANK-DATA-BANK_REF = 'FA'.
WA_BANK-DATAX-BANK_REF = 'X'.
WA_BANK-DATA-ACCOUNTHOLDER = 'CICI'.
WA_BANK-DATAX-ACCOUNTHOLDER = 'X'.
APPEND WA_BANK TO WA_DATA-PARTNER-CENTRAL_DATA-BANKDETAIL-BANKDETAILS.
*Vendor
WA_DATA-VENDOR-HEADER-OBJECT_INSTANCE-LIFNR = '0110000123'.
WA_DATA-VENDOR-HEADER-OBJECT_TASK = 'I'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATA-KUNNR = '2345678910'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATAX-KUNNR = 'X'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATA-DLGRP = '0200'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATAX-DLGRP = 'X'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATA-PROFS = 'ソフト'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATAX-PROFS = 'X'.
*Company
WA_COMPANY-TASK = 'I'.
WA_COMPANY-DATA_KEY = '1010'.
WA_COMPANY-DATA-ZTERM = 'DB01'.
WA_COMPANY-DATAX-ZTERM = 'X'.
WA_COMPANY-DATA-AKONT = '0003100103'.
WA_COMPANY-DATAX-AKONT = 'X'.
WA_COMPANY-DATA-FDGRV = 'A1'.
WA_COMPANY-DATAX-FDGRV = 'X'.
WA_COMPANY-DATA-QLAND = 'JP'.
WA_COMPANY-DATAX-QLAND = 'X'.
WA_COMPANY-DATA-ALTKN = '1000222'.
WA_COMPANY-DATAX-ALTKN = 'X'.
WA_COMPANY-DATA-BUSAB = 'AS'.
WA_COMPANY-DATAX-BUSAB = 'X'.
WA_COMPANY-DATA-ZSABE = '1115'.
WA_COMPANY-DATAX-ZSABE = 'X'.
*源泉徴収税
WA_WTAX-TASK = 'I'.
WA_WTAX-DATA_KEY-WITHT = 'Z2'.
WA_WTAX-DATA-WT_WITHCD = '20'.
WA_WTAX-DATAX-WT_WITHCD = 'X'.
WA_WTAX-DATA-WT_SUBJCT = 'X'.
WA_WTAX-DATAX-WT_SUBJCT = 'X'.
APPEND WA_WTAX TO WA_COMPANY-WTAX_TYPE-WTAX_TYPE.
APPEND WA_COMPANY TO WA_DATA-VENDOR-COMPANY_DATA-COMPANY.
APPEND WA_DATA TO I_DATA.
CALL METHOD CL_MD_BP_MAINTAIN=>MAINTAIN
EXPORTING
I_DATA = I_DATA
IMPORTING
E_RETURN = E_RETURN.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
MESSAGE WA_PARTNER TYPE 'S'.
YTEST_160BAPI_05
*&---------------------------------------------------------------------*
*& Report YTEST_160BAPI_04
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT YTEST_160BAPI_05.
DATA:I_PHONE TYPE STANDARD TABLE OF BAPIADTEL,
I_FAX TYPE STANDARD TABLE OF BAPIADFAX,
I_EMAIL TYPE STANDARD TABLE OF BAPIADSMTP,
I_DATA TYPE CVIS_EI_EXTERN_T,
E_RETURN TYPE BAPIRETM,
WA_CATEGORY TYPE BAPIBUS1006_HEAD,
WA_CENTRAL TYPE BAPIBUS1006_CENTRAL,
WA_ORGAN TYPE BAPIBUS1006_CENTRAL_ORGAN,
WA_ADDRESS TYPE BAPIBUS1006_ADDRESS,
WA_PHONE TYPE BAPIADTEL,
WA_FAX TYPE BAPIADFAX,
WA_EMAIL TYPE BAPIADSMTP,
WA_PARTNER TYPE BU_PARTNER,
WA_BUT000 TYPE BUS000___I,
WA_ROLE TYPE BUS_EI_BUPA_ROLES,
WA_BANK TYPE BUS_EI_BUPA_BANKDETAIL,
WA_COMPANY TYPE VMDS_EI_COMPANY,
WA_WTAX TYPE VMDS_EI_WTAX_TYPE,
WA_DATA TYPE CVIS_EI_EXTERN.
*INSERT BP
WA_CATEGORY-PARTN_CAT = '2'.
WA_CATEGORY-PARTN_GRP = '1001'.
WA_CENTRAL-SEARCHTERM1 = 'タナカ'.
WA_CENTRAL-SEARCHTERM2 = 'ハンコ'.
WA_CENTRAL-TITLE_KEY = '0003'.
WA_CENTRAL-CENTRALBLOCK = 'X'.
WA_ORGAN-NAME1 = '山田'.
WA_ORGAN-NAME2 = '一郎'.
WA_ORGAN-LEGALORG = '10'.
WA_ADDRESS-POSTL_COD1 = '111-1111'.
WA_ADDRESS-REGION = '12'.
WA_ADDRESS-CITY = '千葉市多摩区菅馬場2-3-8'.
WA_ADDRESS-STREET = '千葉市100'.
WA_ADDRESS-HOUSE_NO = '102町'.
WA_ADDRESS-COUNTRY = 'JP'.
WA_ADDRESS-LANGU = 'J'.
WA_PHONE-TELEPHONE = '081-112111'.
APPEND WA_PHONE TO I_PHONE.
WA_FAX-FAX = '081-999999'.
APPEND WA_FAX TO I_FAX.
WA_EMAIL-E_MAIL = '[email protected]'.
APPEND WA_EMAIL TO I_EMAIL.
WA_EMAIL-E_MAIL = '[email protected]'.
APPEND WA_EMAIL TO I_EMAIL.
WA_EMAIL-E_MAIL = '[email protected]'.
APPEND WA_EMAIL TO I_EMAIL.
CALL FUNCTION 'BAPI_BUPA_FS_CREATE_FROM_DATA2'
EXPORTING
PARTNERCATEGORY = WA_CATEGORY-PARTN_CAT
PARTNERGROUP = WA_CATEGORY-PARTN_GRP
CENTRALDATA = WA_CENTRAL
CENTRALDATAORGANIZATION = WA_ORGAN
ADDRESSDATA = WA_ADDRESS
IMPORTING
BUSINESSPARTNER = WA_PARTNER
TABLES
TELEFONDATA = I_PHONE
FAXDATA = I_FAX
E_MAILDATA = I_EMAIL.
CALL FUNCTION 'BUP_MEMORY_BUT000_GET'
EXPORTING
IV_PARTNER = WA_PARTNER
IMPORTING
ES_BUT000 = WA_BUT000.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
*UPDATE VENDOR INFO
WA_DATA-PARTNER-HEADER-OBJECT_INSTANCE-BPARTNER = WA_PARTNER.
WA_DATA-PARTNER-HEADER-OBJECT_INSTANCE-BPARTNERGUID = WA_BUT000-PARTNER_GUID.
WA_DATA-PARTNER-HEADER-OBJECT_TASK = 'U'.
WA_DATA-PARTNER-FINSERV_DATA-COMMON-DATA-FSBP_CENTRL-VBUND = 'S00107'.
WA_DATA-PARTNER-FINSERV_DATA-COMMON-DATAX-FSBP_CENTRL-VBUND = 'X'.
*ADD ROLE
WA_ROLE-TASK = 'I'.
WA_ROLE-DATA_KEY = '10D01'.
APPEND WA_ROLE TO WA_DATA-PARTNER-CENTRAL_DATA-ROLE-ROLES.
*BANK
WA_BANK-TASK = 'I'.
WA_BANK-DATA_KEY = '99'.
WA_BANK-DATA-BANK_CTRY = 'JP'.
WA_BANK-DATAX-BANK_CTRY = 'X'.
WA_BANK-DATA-BANK_KEY = '1000099'.
WA_BANK-DATAX-BANK_KEY = 'X'.
WA_BANK-DATA-BANK_ACCT = '100122'.
WA_BANK-DATAX-BANK_ACCT = 'X'.
WA_BANK-DATA-CTRL_KEY = '01'.
WA_BANK-DATAX-CTRL_KEY = 'X'.
WA_BANK-DATA-BANK_REF = 'FA'.
WA_BANK-DATAX-BANK_REF = 'X'.
WA_BANK-DATA-ACCOUNTHOLDER = 'CICI'.
WA_BANK-DATAX-ACCOUNTHOLDER = 'X'.
APPEND WA_BANK TO WA_DATA-PARTNER-CENTRAL_DATA-BANKDETAIL-BANKDETAILS.
*Vendor
WA_DATA-VENDOR-HEADER-OBJECT_INSTANCE-LIFNR = '0110000123'.
WA_DATA-VENDOR-HEADER-OBJECT_TASK = 'I'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATA-KUNNR = '2345678910'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATAX-KUNNR = 'X'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATA-DLGRP = '0200'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATAX-DLGRP = 'X'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATA-PROFS = 'ソフト'.
WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATAX-PROFS = 'X'.
*Company
WA_COMPANY-TASK = 'I'.
WA_COMPANY-DATA_KEY = '1010'.
WA_COMPANY-DATA-ZTERM = 'DB01'.
WA_COMPANY-DATAX-ZTERM = 'X'.
WA_COMPANY-DATA-AKONT = '0003100103'.
WA_COMPANY-DATAX-AKONT = 'X'.
WA_COMPANY-DATA-FDGRV = 'A1'.
WA_COMPANY-DATAX-FDGRV = 'X'.
WA_COMPANY-DATA-QLAND = 'JP'.
WA_COMPANY-DATAX-QLAND = 'X'.
WA_COMPANY-DATA-ALTKN = '1000222'.
WA_COMPANY-DATAX-ALTKN = 'X'.
WA_COMPANY-DATA-BUSAB = 'AS'.
WA_COMPANY-DATAX-BUSAB = 'X'.
WA_COMPANY-DATA-ZSABE = '1115'.
WA_COMPANY-DATAX-ZSABE = 'X'.
*源泉徴収税
WA_WTAX-TASK = 'I'.
WA_WTAX-DATA_KEY-WITHT = 'Z2'.
WA_WTAX-DATA-WT_WITHCD = '20'.
WA_WTAX-DATAX-WT_WITHCD = 'X'.
WA_WTAX-DATA-WT_SUBJCT = 'X'.
WA_WTAX-DATAX-WT_SUBJCT = 'X'.
APPEND WA_WTAX TO WA_COMPANY-WTAX_TYPE-WTAX_TYPE.
APPEND WA_COMPANY TO WA_DATA-VENDOR-COMPANY_DATA-COMPANY.
APPEND WA_DATA TO I_DATA.
CALL METHOD CL_MD_BP_MAINTAIN=>MAINTAIN
EXPORTING
I_DATA = I_DATA
IMPORTING
E_RETURN = E_RETURN.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
MESSAGE WA_PARTNER TYPE 'S'.
YTEST_160BAPI_06
*&---------------------------------------------------------------------*
*& Report YTEST_160BAPI_02
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT YTEST_160BAPI_06.
DATA:I_DATA TYPE CVIS_EI_EXTERN_T,
E_RETURN TYPE BAPIRETM,
WA_DATA LIKE LINE OF I_DATA,
WA_PARTN TYPE BUS_EI_EXTERN,
WA_PARTN_HDR TYPE BUS_EI_HEADER,
WA_PARTN_HDR_OBJECT_INSTANCE TYPE BUS_EI_INSTANCE,
WA_PARTN_CTR_DATA TYPE BUS_EI_CENTRAL_DATA,
MA_PARTN_CTR_DATA_COMMON TYPE BUS_EI_BUPA_CENTRAL,
WA_PARTN_CTR_DATA_ROLE TYPE BUS_EI_BUPA_ROLES,
WA_PARTN_CTR_DATA_BANKDETAIL TYPE BUS_EI_BANKDETAIL,
WA_PARTN_CTR_DATA_IDENT_NUMBER TYPE BUS_EI_BUPA_ROLES,
WA_PARTN_CTR_DATA_TAXNUMBER TYPE BUS_EI_TAXNUMBER,
WA_PARTN_CTR_DATA_ADDR TYPE BUS_EI_ADDRESS,
WA_PARTN_CTR_DATA_ADDR_ADDRES TYPE BUS_EI_BUPA_ADDRESS,
WA_PARTN_CTR_DATA_TAXCLASS TYPE BUS_EI_TAX_CLASSIFICATION,
WA_COMPANY TYPE VMDS_EI_COMPANY,
WA_PHONE TYPE BUS_EI_BUPA_TELEPHONE,
WA_FAX TYPE BUS_EI_BUPA_FAX,
WA_EMAIL TYPE BUS_EI_BUPA_SMTP,
WA_BANK TYPE BUS_EI_BUPA_BANKDETAIL,
WA_WTAX TYPE VMDS_EI_WTAX_TYPE,
V_NUMBER_BAK TYPE BU_PARTNER,
V_NUMBER TYPE BU_PARTNER,
V_GUID TYPE BU_PARTNER_GUID.
*INSERT BUSINESSPARTNER
WA_PARTN_HDR-OBJECT_INSTANCE-BPARTNER = '0000000449'.
WA_PARTN_HDR-OBJECT_INSTANCE-BPARTNERGUID = '005056AF4EEB1ED7B98D8B32B60880DA'.
WA_PARTN_HDR-OBJECT_TASK = 'U'.
*WA_PARTN-FINSERV_DATA-COMMON-DATA-FSBP_CENTRL-VBUND = 'S00107'.
*WA_PARTN-FINSERV_DATA-COMMON-DATAX-FSBP_CENTRL-VBUND = 'X'.
MOVE-CORRESPONDING WA_PARTN_HDR TO WA_PARTN-HEADER.
*MOVE-CORRESPONDING WA_PARTN TO WA_DATA-PARTNER.
*WA_PARTN_CTR_DATA-COMMON-DATA-BP_CONTROL-GROUPING = '1001'.
*WA_PARTN_CTR_DATA-COMMON-DATA-BP_CONTROL-CATEGORY = '2'.
*
*ADD ORG
WA_PARTN_CTR_DATA-COMMON-DATA-BP_CENTRALDATA-SEARCHTERM1 = 'タナカ'.
WA_PARTN_CTR_DATA-COMMON-DATAX-BP_CENTRALDATA-SEARCHTERM1 = 'X'.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_CENTRALDATA-SEARCHTERM2 = 'ハンコ'.
WA_PARTN_CTR_DATA-COMMON-DATAX-BP_CENTRALDATA-SEARCHTERM2 = 'X'.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_CENTRALDATA-TITLE_KEY = '0003'.
WA_PARTN_CTR_DATA-COMMON-DATAX-BP_CENTRALDATA-TITLE_KEY = 'X'.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_CENTRALDATA-CENTRALBLOCK = 'X'.
WA_PARTN_CTR_DATA-COMMON-DATAX-BP_CENTRALDATA-CENTRALBLOCK = 'X'.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_ORGANIZATION-NAME1 = '山田123'.
WA_PARTN_CTR_DATA-COMMON-DATAX-BP_ORGANIZATION-NAME1 = 'X'.
WA_PARTN_CTR_DATA-COMMON-DATA-BP_ORGANIZATION-NAME2 = '一郎'.
WA_PARTN_CTR_DATA-COMMON-DATAX-BP_ORGANIZATION-NAME2 = 'X'.
*WA_PARTN_CTR_DATA-COMMON-DATA-BP_ORGANIZATION-LEGALORG = '10'.
*WA_PARTN_CTR_DATA-COMMON-DATAX-BP_ORGANIZATION-LEGALORG = 'X'.
*ADD ROLE
*WA_PARTN_CTR_DATA_ROLE-TASK = 'I'.
*WA_PARTN_CTR_DATA_ROLE-DATA_KEY = '10D01'.
*APPEND WA_PARTN_CTR_DATA_ROLE TO WA_PARTN_CTR_DATA-ROLE-ROLES.
*ADDRESS
WA_PARTN_CTR_DATA_ADDR_ADDRES-TASK = 'U'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA_KEY-GUID = '005056AF4EEB1ED7B98D8B32B609C0DA'. "BUT020-ADDRESS_GUID
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-POSTL_COD1 = '111-1111'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-POSTL_COD1 = 'X'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-REGION = '12'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-REGION = 'X'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-CITY = '千葉市多摩区菅馬場2-3-8'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-CITY = 'X'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-STREET = '千葉市100'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-STREET = 'X'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-HOUSE_NO = '102町'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-HOUSE_NO = 'X'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-COUNTRY = 'JP'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-COUNTRY = 'X'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATA-LANGU = 'J'.
WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-POSTAL-DATAX-LANGU = 'X'.
WA_PHONE-CONTACT-TASK = 'U'.
WA_PHONE-CONTACT-DATA-TELEPHONE = '081-112111'.
WA_PHONE-CONTACT-DATAX-TELEPHONE = 'X'.
APPEND WA_PHONE TO WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-COMMUNICATION-PHONE-PHONE.
WA_FAX-CONTACT-TASK = 'U'.
WA_FAX-CONTACT-DATA-FAX = '081-999999'.
WA_FAX-CONTACT-DATAX-FAX = 'X'.
APPEND WA_FAX TO WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-COMMUNICATION-FAX-FAX.
WA_EMAIL-CONTACT-TASK = 'U'.
WA_EMAIL-CONTACT-DATA-E_MAIL = '[email protected]'.
WA_EMAIL-CONTACT-DATAX-E_MAIL = 'X'.
APPEND WA_EMAIL TO WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-COMMUNICATION-SMTP-SMTP.
WA_EMAIL-CONTACT-TASK = 'U'.
WA_EMAIL-CONTACT-DATA-E_MAIL = '[email protected]'.
WA_EMAIL-CONTACT-DATAX-E_MAIL = 'X'.
APPEND WA_EMAIL TO WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-COMMUNICATION-SMTP-SMTP.
WA_EMAIL-CONTACT-TASK = 'U'.
WA_EMAIL-CONTACT-DATA-E_MAIL = '[email protected]'.
WA_EMAIL-CONTACT-DATAX-E_MAIL = 'X'.
APPEND WA_EMAIL TO WA_PARTN_CTR_DATA_ADDR_ADDRES-DATA-COMMUNICATION-SMTP-SMTP.
APPEND WA_PARTN_CTR_DATA_ADDR_ADDRES TO WA_PARTN_CTR_DATA-ADDRESS-ADDRESSES.
*BANK
WA_BANK-TASK = 'D'.
WA_BANK-DATA_KEY = '1'.
APPEND WA_BANK TO WA_PARTN_CTR_DATA-BANKDETAIL-BANKDETAILS.
WA_BANK-TASK = 'I'.
WA_BANK-DATA_KEY = '99'.
WA_BANK-DATA-BANK_CTRY = 'JP'.
WA_BANK-DATAX-BANK_CTRY = 'X'.
WA_BANK-DATA-BANK_KEY = '1000099'.
WA_BANK-DATAX-BANK_KEY = 'X'.
WA_BANK-DATA-BANK_ACCT = '100122'.
WA_BANK-DATAX-BANK_ACCT = 'X'.
WA_BANK-DATA-CTRL_KEY = '01'.
WA_BANK-DATAX-CTRL_KEY = 'X'.
WA_BANK-DATA-BANK_REF = 'FA'.
WA_BANK-DATAX-BANK_REF = 'X'.
WA_BANK-DATA-ACCOUNTHOLDER = 'CICI'.
WA_BANK-DATAX-ACCOUNTHOLDER = 'X'.
APPEND WA_BANK TO WA_PARTN_CTR_DATA-BANKDETAIL-BANKDETAILS.
MOVE-CORRESPONDING WA_PARTN_CTR_DATA_ADDR TO WA_PARTN_CTR_DATA.
MOVE-CORRESPONDING WA_PARTN_CTR_DATA TO WA_PARTN-CENTRAL_DATA.
MOVE-CORRESPONDING WA_PARTN TO WA_DATA-PARTNER.
APPEND WA_DATA TO I_DATA.
SELECT MAX( PARTNER )
INTO V_NUMBER_BAK
FROM BUT000
WHERE CRUSR = SY-UNAME.
CALL METHOD CL_MD_BP_MAINTAIN=>MAINTAIN
EXPORTING
I_DATA = I_DATA
IMPORTING
E_RETURN = E_RETURN.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
** CHANGE VENDOR
*CLEAR:WA_PARTN_HDR,
* WA_PARTN,
* WA_DATA,
* I_DATA,
* E_RETURN.
*
*DO 10 TIMES.
* SELECT SINGLE PARTNER
* PARTNER_GUID
* INTO (V_NUMBER,
* V_GUID)
* FROM BUT000
* WHERE PARTNER > V_NUMBER_BAK
* AND CRUSR = SY-UNAME.
* IF SY-SUBRC = 0.
* EXIT.
* ELSE.
* WAIT UP TO 1 SECONDS.
* ENDIF.
*ENDDO.
*
*WA_PARTN_HDR-OBJECT_INSTANCE-BPARTNER = V_NUMBER.
*WA_PARTN_HDR-OBJECT_INSTANCE-BPARTNERGUID = V_GUID.
**WA_PARTN_HDR-OBJECT_INSTANCE-BPARTNER = '0000000378'.
**WA_PARTN_HDR-OBJECT_INSTANCE-BPARTNERGUID = '005056AF4EEB1ED7B5CC9FB5C74200DA'.
*WA_PARTN_HDR-OBJECT_TASK = 'U'.
*
*WA_PARTN-FINSERV_DATA-COMMON-DATA-FSBP_CENTRL-VBUND = 'S00107'.
*WA_PARTN-FINSERV_DATA-COMMON-DATAX-FSBP_CENTRL-VBUND = 'X'.
*
*MOVE-CORRESPONDING WA_PARTN_HDR TO WA_PARTN-HEADER.
*MOVE-CORRESPONDING WA_PARTN TO WA_DATA-PARTNER.
*
*WA_DATA-VENDOR-HEADER-OBJECT_INSTANCE-LIFNR = '0110000116'.
*WA_DATA-VENDOR-HEADER-OBJECT_TASK = 'I'.
*WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATA-KUNNR = '2345678910'.
*WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATAX-KUNNR = 'X'.
*WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATA-DLGRP = '0200'.
*WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATAX-DLGRP = 'X'.
*WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATA-PROFS = 'ソフト'.
*WA_DATA-VENDOR-CENTRAL_DATA-CENTRAL-DATAX-PROFS = 'X'.
*
*WA_COMPANY-TASK = 'I'.
*WA_COMPANY-DATA_KEY = '1010'.
*WA_COMPANY-DATA-ZTERM = '0002'.
*WA_COMPANY-DATAX-ZTERM = 'X'.
*WA_COMPANY-DATA-AKONT = '0003100103'.
*WA_COMPANY-DATAX-AKONT = 'X'.
*WA_COMPANY-DATA-FDGRV = 'A3'.
*WA_COMPANY-DATAX-FDGRV = 'X'.
*WA_COMPANY-DATA-QLAND = 'JP'.
*WA_COMPANY-DATAX-QLAND = 'X'.
*WA_COMPANY-DATA-ALTKN = '1000222'.
*WA_COMPANY-DATAX-ALTKN = 'X'.
*WA_COMPANY-DATA-BUSAB = 'AS'.
*WA_COMPANY-DATAX-BUSAB = 'X'.
*WA_COMPANY-DATA-ZSABE = '1115'.
*WA_COMPANY-DATAX-ZSABE = 'X'.
*
*WA_WTAX-TASK = 'I'.
*WA_WTAX-DATA_KEY-WITHT = 'Z2'.
*WA_WTAX-DATA-WT_WITHCD = '20'.
*WA_WTAX-DATAX-WT_WITHCD = 'X'.
*WA_WTAX-DATA-WT_SUBJCT = 'X'.
*WA_WTAX-DATAX-WT_SUBJCT = 'X'.
*
*APPEND WA_WTAX TO WA_COMPANY-WTAX_TYPE-WTAX_TYPE.
*APPEND WA_COMPANY TO WA_DATA-VENDOR-COMPANY_DATA-COMPANY.
*APPEND WA_DATA TO I_DATA.
*
*CALL METHOD CL_MD_BP_MAINTAIN=>MAINTAIN
* EXPORTING
* I_DATA = I_DATA
* IMPORTING
* E_RETURN = E_RETURN.
*
*CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
*
*MESSAGE WA_PARTN_HDR-OBJECT_INSTANCE-BPARTNER TYPE 'S'.