cancel
Showing results for 
Search instead for 
Did you mean: 

BP Creation (vendor) & Extend (Company & Purchase Org) through vmd_ei_api=>maintain_bapi

lfumakiya
Explorer
0 Kudos
917

Dear Freinds,

As a newcomer to ABAP, I am in need of assistance regarding ABAP standardization and guidance on the proper flow of the program I have written. Below, you will find my SAP ABAP program designed to create business partners using PDF data.

report z_create_vendor_from_pdf_ocr.

tables : but000,kna1,lfa1,pa0006,pa0002..

data : lv_flen type i,

lt_rawtab type table of char255,

pdf_file type string,

pdf_data type xstring,

lo_pdfobj type ref to if_fp_pdf_object value is initial,

xslt_message type string,

exc type ref to cx_root.

data : lv_desktop type string,

li_ftab type filetable,

lw_ftab type file_table,

lv_rc type i,

v_bland type t005u-bland,

v_bezei type t005u-bezei,

witht1 type witht,

witht2 type witht,

with_co1 type wt_withcd,

with_co2 type wt_withcd,

i_account_group type ktokk.

data: lt_bapi_return type table of bapiret2.

data: lv_partner_number type bu_partner.

data : lt_businesspartner like bapibus1006_head,

lt_partnercategory type bapibus1006_head-partn_cat,

lt_partnergroup type table of bapibus1006_head-partn_grp,

wa_partnergroup type bapibus1006_head-partn_grp.

data : lt_CENTRALDATA like bapibus1006_central.

data : lt_CENTRALDATAORGANIZATION like bapibus1006_central_organ.

data: lt_addressdata like bapibus1006_address.

data : lt_TELEFONDATA type table of bapiadtel,

wa_TELEFONDATA type bapiadtel.

data : lt_FAXDATA type table of bapiadfax,

wa_FAXDATA type bapiadfax.

data : lt_maildata type standard table of bapiadsmtp, " BAPI Structure for E-Mail Addresses (Bus. Address Services)

wa_maildata type bapiadsmtp. " BAPI Structure for E-Mail Addresses (Bus. Address Services)

data: lt_bankdata like bapibus1006_bankdetail, " Bank Details

lt_return type table of bapiret2.

data : lt_TAXTYPE type table of bapibus1006tax,

wa_taxtype type bapibus1006tax,

tax_ret type table of bapiret2.

data businesspartner type bapibus1006_head-bpartner. " Business Partner Number

data : lt_vendors type vmds_ei_extern_t,

ls_vendors type vmds_ei_extern,

ls_address type cvis_ei_address1,

ls_purchas_data type vmds_ei_vmd_purchasing,

lt_purchasing type vmds_ei_purchasing_t,

ls_purchasing type vmds_ei_purchasing,

gs_vmds_extern type vmds_ei_main,

gs_succ_messages type cvis_message,

gs_err_messages type cvis_message,

gs_vmds_error type vmds_ei_main,

gs_vmds_succ type vmds_ei_main,

lt_purch_func_data type vmds_ei_vmd_functions,

lt_purch_func type vmds_ei_functions_t,

ls_purch_func type vmds_ei_functions.

data : lt_company type vmds_ei_company_t,

ls_company type vmds_ei_company,

ls_company_data type vmds_ei_vmd_company.

data : lt_withhold type vmds_ei_wtax_type_t,

ls_withhold type vmds_ei_wtax_type,

ls_withhold_s type vmds_ei_wtax_type_s,

lv_withhold_found type abap_bool,

lv_tele_ext_found type abap_bool.

data : lv_error type flag.

data : pf1 type parvw value 'OA',

pf2 type parvw value 'VN',

pf3 type parvw value 'PI',

pf4 type parvw value 'GS'.

parameters : p_file type string obligatory.

at selection-screen on value-request for p_file.

perform get_file.

start-of-selection.

perform upload_pdf.

perform extract_data.

perform create_bp_add_role.

form get_file .

data : lv_desktop type string,

li_ftab type filetable,

lw_ftab type file_table,

lv_rc type i.

call method cl_gui_frontend_services=>get_desktop_directory

changing

desktop_directory = lv_desktop

exceptions

cntl_error = 1

error_no_gui = 2

not_supported_by_gui = 3

others = 4.

call method cl_gui_cfw=>flush.

call method cl_gui_frontend_services=>file_open_dialog

exporting

window_title = 'Select File'

default_extension = 'PDF'

initial_directory = lv_desktop

changing

file_table = li_ftab

rc = lv_rc

exceptions

file_open_dialog_failed = 1

cntl_error = 2

error_no_gui = 3

not_supported_by_gui = 4

others = 5.

call method cl_gui_cfw=>flush.

read table li_ftab into lw_ftab index 1.

if sy-subrc is initial.

p_file = lw_ftab-filename.

endif.

endform.

form upload_pdf .

call method cl_gui_frontend_services=>gui_upload

exporting

filename = p_file

filetype = 'BIN'

importing

filelength = lv_flen

changing

data_tab = lt_rawtab

exceptions

file_open_error = 1

file_read_error = 2

no_batch = 3

gui_refuse_filetransfer = 4

invalid_type = 5

no_authority = 6

unknown_error = 7

bad_data_format = 8

header_not_allowed = 9

separator_not_allowed = 10

header_too_long = 11

unknown_dp_error = 12

access_denied = 13

dp_out_of_memory = 14

disk_full = 15

dp_timeout = 16

not_supported_by_gui = 17

error_no_gui = 18

others = 19.

if sy-subrc = 0.

call function 'SCMS_BINARY_TO_XSTRING'

exporting

input_length = lv_flen

importing

buffer = pdf_data

tables

binary_tab = lt_rawtab

exceptions

failed = 1

others = 2.

if sy-subrc <> 0.

endif.

data: lo_fp type ref to if_fp value is initial.

lo_fp = cl_fp=>get_reference( ).

data: lo_fpex type ref to cx_fp_runtime value is initial.

try.

lo_pdfobj = lo_fp->create_pdf_object( connection = 'ADS' ).

* Set document

if pdf_data is not initial.

lo_pdfobj->set_document(

exporting

pdfdata = pdf_data ).

endif.

* Tell PDF object to extract data

lo_pdfobj->set_extractdata( ).

* Execute the call to ADS

lo_pdfobj->execute( ).

catch cx_fp_runtime_system into exc.

xslt_message = exc->get_text( ).

endtry.

else.

message 'Enter the File Path Correctly' type 'E'.

endif.

endform.

form extract_data .

data: ven_det type standard table of smum_xmltb,

xml_data type xstring,

t_return type standard table of bapiret2.

lo_pdfobj->get_data(

importing

formdata = xml_data ).

call function 'SMUM_XML_PARSE'

exporting

xml_input = xml_data

tables

xml_table = ven_det

return = t_return.

delete ven_det where type ne 'V'.

delete ven_det where cname eq : 'ITEM',

'CTRY',

'CTRYX',

'REG',

'REGX',

'KTOKK',

'BUKRS',

'GRUPP',

'TZONE',

'INCO_1',

'INCO_2',

'EKORG'.

loop at ven_det into data(wa).

case wa-cname.

when 'ANRED'.

"lt_centraldata-title_key = wa-cvalue.

if wa-cvalue = 'Ms' .

lt_centraldata-title_key = '0001'.

elseif wa-cvalue = 'Mr'.

lt_centraldata-title_key = '0002'.

elseif wa-cvalue = 'Mr. & Ms.'.

lt_centraldata-title_key = '0004'.

endif.

when 'NAME1'.

lt_centraldataorganization-name1 = wa-cvalue.

when 'NAME2'.

lt_centraldataorganization-name2 = wa-cvalue.

when 'NAME3'.

lt_centraldataorganization-name3 = wa-cvalue.

when 'NAME4'.

lt_centraldataorganization-name4 = wa-cvalue.

when 'SORT1'.

lt_centraldata-searchterm1 = wa-cvalue.

when 'STRAS'.

lt_addressdata-street = wa-cvalue.

when 'STR_SUPPL1'.

lt_addressdata-str_suppl1 = wa-cvalue.

when 'STR_SUPPL2'.

lt_addressdata-str_suppl2 = wa-cvalue.

when 'CITY1'.

lt_addressdata-city = wa-cvalue.

when 'POST_CODE1'.

lt_addressdata-postl_cod1 = wa-cvalue.

when 'COUNTRY'.

lt_addressdata-country = wa-cvalue.

when 'REGION'.

v_bezei = wa-cvalue.

when 'TIME_ZONE'.

lt_addressdata-time_zone = wa-cvalue.

when 'PO_BOX'.

lt_addressdata-po_box = wa-cvalue.

when 'POST_CODE2'.

lt_addressdata-postl_cod2 = wa-cvalue.

when 'POST_CODE3'.

"lt_addressdata-postl_cod3 = wa-cvalue.

when 'GC_TELPH1'.

wa_telefondata-country = lt_addressdata-country.

wa_telefondata-telephone = wa-cvalue.

wa_telefondata-std_no = 'X'.

wa_telefondata-r_3_user = '1'.

wa_telefondata-consnumber = '001'.

wa_telefondata-home_flag = 'X'.

lv_tele_ext_found = abap_true.

when 'GC_TELEX1'.

wa_telefondata-extension = wa-cvalue.

when 'GC_MOBPH1'.

if lv_tele_ext_found = abap_true.

append wa_telefondata to lt_telefondata.

clear wa_telefondata.

endif.

wa_telefondata-country = lt_addressdata-country.

wa_telefondata-telephone = wa-cvalue.

wa_telefondata-std_no = 'X'.

wa_telefondata-r_3_user = '3'.

wa_telefondata-consnumber = '002'.

wa_telefondata-home_flag = 'X'.

append wa_telefondata to lt_telefondata.

when 'GC_FAX1'.

wa_faxdata-fax = wa-cvalue.

when 'GC_FAXEXT1'.

wa_faxdata-extension = wa-cvalue.

when 'GC_EMAIL'.

wa_maildata-e_mail = wa-cvalue.

when 'GC_COM'.

lt_addressdata-comm_type = wa-cvalue.

when 'ST_CSTNO'.

ls_vendors-central_data-central-data-j_1icstno = wa-cvalue.

ls_vendors-central_data-central-datax-j_1icstno = 'X'.

when 'ST_GSTIN'.

wa_taxtype-taxnumber = wa-cvalue.

when 'ED_ECCNO'.

ls_vendors-central_data-central-data-j_1iexcd = wa-cvalue.

ls_vendors-central_data-central-datax-j_1iexcd = 'X'.

when 'ED_REGNO'.

ls_vendors-central_data-central-data-j_1iexrn = wa-cvalue.

ls_vendors-central_data-central-datax-j_1iexrn = 'X'.

when 'ED_RANGE'.

ls_vendors-central_data-central-data-j_1iexrg = wa-cvalue.

ls_vendors-central_data-central-datax-j_1iexrg = 'X'.

when 'WHT_PANNO'.

ls_vendors-central_data-central-data-j_1ipanno = wa-cvalue.

ls_vendors-central_data-central-datax-j_1ipanno = 'X'.

when 'WHT_TYPBUS'.

ls_vendors-central_data-central-data-j_1ivtyp = wa-cvalue.

ls_vendors-central_data-central-datax-j_1ivtyp = 'X'.

when 'BD_CTRY'.

"lt_bankdata-ctrl_key = wa-cvalue.

lt_bankdata-bank_ctry = wa-cvalue.

when 'BD_BKEY'.

lt_bankdata-bank_key = wa-cvalue.

when 'BD_BACCT'.

lt_bankdata-bank_acct = wa-cvalue.

when 'FD_REACC'.

call function 'CONVERSION_EXIT_ALPHA_INPUT'

exporting

input = wa-cvalue

importing

output = ls_company-data-akont. " Recon account.

"ls_company-data-akont = wa-cvalue.

ls_company-datax-akont = 'X'.

when 'FD_SKEY'.

ls_company-data-zuawa = wa-cvalue.

ls_company-datax-zuawa = 'X'.

when 'FD_CMNG'.

ls_company-data-fdgrv = wa-cvalue.

ls_company-datax-fdgrv = 'X'.

when 'FD_PTERM'.

ls_company-data-zterm = wa-cvalue.

ls_company-datax-zterm = 'X'.

when 'FD_CDI'.

if wa-cvalue eq 'Yes'.

ls_company-data-reprf = 'X'.

ls_company-datax-reprf = 'X'.

else.

ls_company-data-reprf = ' '.

ls_company-datax-reprf = ' '.

endif.

when 'FD_PM'.

ls_company-data-zwels = wa-cvalue.

ls_company-datax-zwels = 'X'.

when 'FD_WHTC'.

ls_company-data-qland = wa-cvalue.

ls_company-datax-qland = 'X'.

when 'FD_WHTT1'.

witht1 = wa-cvalue.

ls_withhold-data_key-witht = witht1.

lv_withhold_found = abap_true. " Set the flag to indicate withholding tax fields found.

when 'FD_WHTC1'.

with_co1 = wa-cvalue.

if lv_withhold_found = abap_true. " Check if withholding tax fields were found.

ls_withhold-data-wt_withcd = with_co1. " Assign with_co1 data to wt_withcd field

ls_withhold-datax-wt_withcd = 'X'.

ls_withhold-task = 'I'.

append ls_withhold to lt_withhold.

clear ls_withhold. " Clear the work area after appending to avoid appending blank values

lv_withhold_found = abap_false .

endif.

when 'FD_WHTT2'.

witht2 = wa-cvalue.

"wa_withhold-data_key-witht = witht2.

lv_withhold_found = abap_true. " Set the flag to indicate withholding tax fields found.

when 'FD_WHTC2'.

with_co2 = wa-cvalue.

if lv_withhold_found = abap_true. " Check if withholding tax fields were found.

ls_withhold-data-wt_withcd = with_co2. " Assign with_co2 data to wt_withcd field

ls_withhold-datax-wt_withcd = 'X'.

append ls_withhold to lt_withhold.

clear ls_withhold. " Clear the work area after appending to avoid appending blank values

lv_withhold_found = abap_false .

endif.

when 'PD_OC'.

ls_purchasing-data-waers = wa-cvalue.

ls_purchasing-datax-waers = 'X'.

when 'PD_PT'.

ls_purchasing-data-zterm = wa-cvalue.

ls_purchasing-datax-zterm = 'X'.

when 'PF_IT1'.

ls_purchasing-data-inco1 = wa-cvalue.

ls_purchasing-datax-inco1 = 'X'.

when 'PD_IT2'.

ls_purchasing-data-inco2_l = wa-cvalue.

ls_purchasing-datax-inco2_l = 'X'.

when 'PD_SGV'.

ls_purchasing-data-kalsk = wa-cvalue.

ls_purchasing-dataX-kalsk = 'X'.

when 'PD_GRIV'.

if wa-cvalue eq 'Yes'.

ls_purchasing-data-webre = 'X'.

else.

ls_purchasing-data-webre = ' '.

endif.

when 'PD_SBIV'.

if wa-cvalue eq 'Yes'.

ls_purchasing-data-lebre = 'X'.

else.

ls_purchasing-data-lebre = ' '.

endif.

when 'DU_BUKRS'.

ls_company-data_key-bukrs = wa-cvalue.

when 'DU_EKORG'.

ls_purchasing-data_key-ekorg = wa-cvalue.

when 'DU_KTOKK'.

lt_businesspartner-partn_grp = wa-cvalue.

ls_vendors-central_data-central-data-ktokk = wa-cvalue.

when others.

clear lv_withhold_found. " Reset the flag for other cases

endcase.

if lv_withhold_found = abap_true and witht2 is not initial.

ls_withhold-data_key-witht = witht2.

ls_withhold-data-wt_withcd = ''. " Set the wt_withcd field as blank

ls_withhold-datax-wt_withcd = 'X'. " Reset the flag for wt_withcd

ls_withhold-task = 'I'.

append ls_withhold to lt_withhold.

clear ls_withhold.

lv_withhold_found = abap_false.

endif.

if v_bezei is not initial .

select single bland

from t005u

into v_bland

where spras eq 'EN'

and land1 eq lt_addressdata-country

and bezei eq v_bezei.

lt_addressdata-region = v_bland.

lt_addressdata-langu = 'EN'.

endif.

clear wa.

clear: v_bland,v_bezei.

endloop.

endform.

form create_bp_add_role .

lt_partnercategory = '2'.

lt_addressdata-langu = 'EN'.

ls_withhold_s-wtax_type = lt_withhold.

ls_company-wtax_type = ls_withhold_s.

if lt_businesspartner-partn_grp eq 'ZIMP' .

ls_company-data-xverr = 'X'.

ls_company-datax-xverr = 'X'.

endif.

append wa_faxdata to lt_faxdata.

append wa_maildata to lt_maildata.

perform call_bapi_bupa_create changing lv_error.

if businesspartner is not initial and lv_error is initial.

perform add_role_bp.

perform add_companycode.

endif.

endform.

form call_bapi_bupa_create changing lv_error.

call function 'BAPI_BUPA_CREATE_FROM_DATA'

exporting

* BUSINESSPARTNEREXTERN =

partnercategory = lt_partnercategory

partnergroup = lt_businesspartner-partn_grp

centraldata = lt_centraldata

centraldataorganization = lt_centraldataorganization

addressdata = lt_addressdata

importing

businesspartner = businesspartner

tables

telefondata = lt_telefondata

faxdata = lt_faxdata

e_maildata = lt_maildata

return = lt_bapi_return.

loop at lt_bapi_return into data(ls_bapi_return) where type ca 'EA'.

write: / 'Message Type:', ls_bapi_return-type,

'Message Class:', ls_bapi_return-id,

'Message Number:', ls_bapi_return-number,

'Message Text:', ls_bapi_return-message.

lv_error = abap_true.

endloop.

if lv_error = abap_true.

rollback work.

else.

*Added for Tax numbers

if wa_taxtype-taxnumber is not initial .

wa_taxtype-taxtype = 'IN3'.

else.

ls_vendors-central_data-central-data-ven_class = '0'.

ls_vendors-central_data-central-datax-ven_class = 'X'.

endif.

call function 'BAPI_BUPA_TAX_ADD'

exporting

businesspartner = businesspartner

taxtype = wa_taxtype-taxtype

taxnumber = wa_taxtype-taxnumber

tables

return = tax_ret.

call function 'BAPI_BUPA_BANKDETAIL_ADD'

exporting

businesspartner = businesspartner

bankdetailid = '0001'

bankdetaildata = lt_bankdata

tables

return = lt_return.

commit work and wait.

wait up to 1 seconds.

endif.

call function 'BAPI_TRANSACTION_COMMIT'

exporting

wait = ''.

commit work and wait.

wait up to 1 seconds.

endform.

form add_role_bp .

data : role1 type bu_partnerrole value 'ZFLVN0',

role2 type bu_partnerrole value 'ZFLVN1'.

data businesspartnerrolecategory type bapibus1006_bproles-partnerrolecategory.

data differentiationtypevalue type bapibus1006_bproles-difftypevalue.

data validfromdate type bapibus1006_bprole_validity-bprolevalidfrom.

data validuntildate type bapibus1006_bprole_validity-bprolevalidto.

data return type standard table of bapiret2. " Return Parameter

data : lv_rltyp type but100-rltyp.

call function 'BAPI_BUPA_ROLE_ADD_2'

exporting

businesspartner = businesspartner

businesspartnerrolecategory = businesspartnerrolecategory

all_businesspartnerroles = ' '

businesspartnerrole = role1

differentiationtypevalue = differentiationtypevalue

validfromdate = sy-datum

validuntildate = '99991231'

tables

return = return.

call function 'BAPI_TRANSACTION_COMMIT'

exporting

wait = 'X'.

do 5 times.

clear lv_rltyp.

select single rltyp into lv_rltyp from but100 where partner = businesspartner

and rltyp = role1.

if lv_rltyp is initial.

wait up to 1 seconds. "comment by Roton

else.

continue.

endif.

enddo.

call function 'BAPI_BUPA_ROLE_ADD_2'

exporting

businesspartner = businesspartner

businesspartnerrolecategory = businesspartnerrolecategory

all_businesspartnerroles = ' '

businesspartnerrole = role2

differentiationtypevalue = differentiationtypevalue

validfromdate = sy-datum

validuntildate = '99991231'

tables

return = return.

call function 'BAPI_TRANSACTION_COMMIT'

exporting

wait = 'X'.

do 5 times.

clear lv_rltyp.

select single rltyp into lv_rltyp from but100 where partner = businesspartner

and rltyp = role2.

if lv_rltyp is initial.

wait up to 1 seconds. "comment by Roton

else.

continue.

endif.

enddo.

endform.

form add_companycode .

refresh: lt_vendors.

clear : gs_err_messages.

ls_company-task = 'I'.

select single * from lfa1 where lifnr = businesspartner.

call function 'CONVERSION_EXIT_ALPHA_INPUT'

exporting

input = businesspartner

importing

output = ls_vendors-header-object_instance-lifnr.

ls_vendors-header-object_task = 'U'. "Represents Insert or Create

if ls_company-data_key-bukrs is not initial.

append ls_company to lt_company.

ls_company_data-company = lt_company[].

ls_vendors-company_data = ls_company_data.

endif.

if ls_purchasing-data_key-ekorg is not initial.

data et_parvw type vmds_parvw_t.

call method vmd_ei_api_check=>get_mand_partner_functions

exporting

iv_ktokk = ls_vendors-central_data-central-data-ktokk " Vendor Account Group

importing

et_parvw = et_parvw. " Table Type for Partner Role

loop at et_parvw into data(wa_parvw).

ls_purch_func-task = 'I'.

ls_purchasing-task = 'I'.

call function 'CONVERSION_EXIT_PARVW_OUTPUT'

exporting

input = wa_parvw-parvw

importing

output = ls_purch_func-data_key-parvw.

ls_purch_func-data_key-parvw = wa_parvw-parvw.

ls_purch_func-data-partner = ls_vendors-header-object_instance-lifnr.

ls_purch_func-datax-partner = 'X'.

append ls_purch_func to lt_purch_func.

clear ls_purch_func.

endloop.

ls_purchasing-functions-functions = lt_purch_func[].

append ls_purchasing to lt_purchasing.

ls_purchas_data-purchasing = lt_purchasing[].

ls_vendors-purchasing_data = ls_purchas_data.

endif.

append ls_vendors to lt_vendors.

gs_vmds_extern-vendors = lt_vendors[].

* Initialize all the data

vmd_ei_api=>initialize( ).

* Call the Method for creation of Vendor.

call method vmd_ei_api=>maintain_bapi

exporting

is_master_data = gs_vmds_extern

importing

es_master_data_correct = gs_vmds_succ

es_message_correct = gs_succ_messages

es_master_data_defective = gs_vmds_error

es_message_defective = gs_err_messages.

if gs_err_messages-is_error is initial. .

commit work.

wait up to 1 seconds.

clear: lt_bankdata,lt_vendors[].

clear: lt_return.

write : 'Vendor Created : ' , businesspartner .

else.

loop at gs_err_messages-messages into data(wa_err_messages).

write : /'Vendor Created with Error : ' , businesspartner ,

'Error',wa_err_messages-message.

endloop.

endif.

endform.

Accepted Solutions (0)

Answers (1)

Answers (1)

Madjid
Participant
0 Kudos

Hello
please upload your data in internal table and use these bapi's to create and change and get data of BP

best regards

Central Data

BAPI_BUPA_CREATE_FROM_DATA: Creating business partner

BAPI_BUPA_CENTRAL_CHANGE: Changing business partner

BAPI_BUPA_CENTRAL_GETDETAIL: Reading the central data of the business partner

BAPI_BUPA_CENTRAL_GETLIST: Get central BP-Data of a period

BAPI_BUPA_CENTRAL_MAINT_PERIOD: Maintenance of central data for a specific period

Address Data

BAPI_BUPA_ADDRESSES_GET: Getting all addresses for a BP

BAPI_BUPA_ADDRESS_ADD: Add address

BAPI_BUPA_ADDRESS_CHANGE: Changing address

BAPI_BUPA_ADDRESS_GETDETAIL: Get address

BAPI_BUPA_ADDRESS_GET_NUMBERS: Get address numbers

BAPI_BUPA_ADDRESS_REMOVE: Removing address

Bank Details

BAPI_BUPA_BANKDETAIL_ADD: Adding bank detail

BAPI_BUPA_BANKDETAIL_CHANGE: Changing bank detail

BAPI_BUPA_BANKDETAIL_GETDETAIL: Getting bank detail

BAPI_BUPA_BANKDETAIL_NUMBERS: Getting bank detail numbers

BAPI_BUPA_BANKDETAIL_REMOVE: Remove bank detail

BAPI_BUPA_BANKDETAILS_GET: Getting bank details of a business partner

Payment Card Details

BAPI_BUPA_PCARD_ADD: Adding payment card details

BAPI_BUPA_PCARD_CHANGE: Change payment card details

BAPI_BUPA_PCARD_GETDETAIL: Get payment card details

BAPI_BUPA_PCARD_GETDETAILS: Get all card details of a business partner

BAPI_BUPA_PCARD_REMOVE: Remove payment card details

BAPI_BUPA_PCARD_SETDEFAULT: Setting of the standard payment card details

Roles

BAPI_BUPA_ROLES_GET_2: Get all roles

BAPI_BUPA_ROLE_ADD_2: Add role

BAPI_BUPA_ROLE_CHANGE: Change business partner role

BAPI_BUPA_ROLE_EXISTENCE_CHECK: Check role for existence

Identifications

BAPI_IDENTIFICATIONDETAILS_GET: Get identification numbers

BAPI_IDENTIFICATION_ADD: Adding identification number

BAPI_IDENTIFICATION_CHANGE: Change identification number

BAPI_IDENTIFICATION_GET_DETAIL: Get identification numbers

BAPI_IDENTIFICATION_REMOVE: Remove identification number

Status

BAPI_BUPA_STATUS_ADD: Adding status

BAPI_BUPA_STATUS_GETDETAIL: Get status detail

BAPI_BUPA_STATUS_REMOVE: Remove status

Industry Sectors

BAPI_INDUSTRYSECTORDETAILS_GET: Get industry sector details

BAPI_INDUSTRYSECTOR_ADD: Add industry sector

BAPI_INDUSTRYSECTOR_CHANGE: Change industry sectors

BAPI_INDUSTRYSECTOR_GET_DETAIL: Get industry sector data

BAPI_INDUSTRYSECTOR_REMOVE: Remove industry sector data

BAPI_PARTNER_GET_BY_IDNUMBER: Get partner on the basis of an ID-Number

Business Hours

BAPI_BUPA_HOURS_ADD: Add a hours rule to a business partner

BAPI_BUPA_HOURS_CHANGE: Change a hours rule of a business partner

BAPI_BUPA_HOURS_GETDETAIL: Get details of a hours rule of a business partner

BAPI_BUPA_HOURS_REMOVE: Remove a hours rule of a business partner

Diverse BAPI

BAPI_BUPA_EXISTENCE_CHECK: Checking business partner for existence

BAPI_BUPA_GET_NUMBERS: Getting business partner numbers

BAPI_BUPA_SEARCH_2: Search business partner telephone, E-Mail, Address

BAPI_BUPA_GET_EMPLOYEE_FROM_BP : Getting employee number from business partner number

lfumakiya
Explorer
0 Kudos

Dear @madjied.khanevadegi

Thank you for your valuable feedback. I actually need help determining whether the above-mentioned program adheres to the ABAP standard. If it does not, could you please advise me on which parts of the program I need to modify? Additionally, I would appreciate assistance in reviewing the program flow to ensure its correctness. This program enables me to create a Business Partner (Vendor) and extend company code & purchasing data.

Thank you in advance for your support.

Best regards.