ZSD_PAYER_NEW(创建付款方)
来源:互联网 发布:游戏代练iapp源码 编辑:程序博客网 时间:2024/04/28 13:11
*&---------------------------------------------------------------------*
*& Report ZSD_PAYER_NEW
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZSD_PAYER_NEW.
DATA : BEGIN OF t_bdcdata OCCURS 0.
INCLUDE STRUCTURE bdcdata.
DATA : END OF t_bdcdata.
DATA opt TYPE ctu_params.
data: ck_test.
data: begin of t_custm occurs 0,
kunnr(10),
bukrs(4),
ktokd(4),
anred(10), "15c
name1(35),
name2(35),
name4(35),
sorts(20),
stras(60),
pstlz(10),
ort01(35),
land1(3),
regio(3),
spras(1),
telf1(16),
telfx(16),
email(80),
banks(2),
banka(60),
bankl(15),
bankn(18),
akont(10),
sortk(4),
zterm(4),
zahls(1),
con_persn(10),
con_telef(16),
end of t_custm.
data:i_kna1 like kna1,
i_knb1 like knb1,
i_add1 like BAPIADDR1,
i_add2 like bapiaddr2,
i_knvv like knvv,
t_knbk like fknbk occurs 0 with header line,
t_knvi like fknvi occurs 0 with header line,
t_knvk like fknvk occurs 0 with header line,
t_xknvp like fknvp occurs 0 with header line,
t_yknvp like fknvp occurs 0 with header line.
DATA: subrc LIKE sy-subrc,
credit_control_flag LIKE bapikna108-x_flag value 'X',
postflag LIKE wdl_flag-xflag.
data: E_KUNNR LIKE KNA1-KUNNR,
O_KNA1 LIKE KNA1,
RETURN LIKE BAPIRETURN1.
data: begin of i_upld occurs 0,
* anred like kna1-anred, "Title
ktokd like kna1-ktokd, "Accout Group
kunnr like kna1-kunnr, "Customer No.
bukrs like knb1-bukrs, "Company Code
vkorg like knvv-vkorg, "Sales Org
vtweg like knvv-vtweg, "Distribution
spart like knvv-spart, "Division
name1 like kna1-name1, "Name1
name4 like kna1-name4, "Name1
sortl like kna1-mcod1, "Search term1
land1 like kna1-land1, "Country
akont like knb1-akont, "Reconciliation
ktgrd like knvv-ktgrd, "Assign Group
zterm like knb1-zterm, "Payment term
aland like knvi-aland, "Taxes
tatyp like knvi-tatyp, "Tax Category
taxkd like knvi-taxkd, "Classification
end of i_upld.
parameters: p_file LIKE rlgrap-filename OBLIGATORY default 'D:\payer_new.txt'.
at selection-screen on value-request for p_file.
perform select_file.
form select_file .
call function 'WS_FILENAME_GET'
exporting
mask = ',Text Files,*.txt,All Files,*.*.'(101)
title = '选择文件'(100)
importing
filename = p_file
exceptions
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
others = 5.
if sy-subrc <> 0 and sy-subrc <> 3.
"message e100(zdev) with '选择文件出错!'(007).
endif.
endform.
*selection-screen skip.
*parameters: p_term as checkbox default 'X'.
*parameters: file like FILENAME-FILEINTERN
* default 'E:\usr\sap\MED\DVEBMGS00\work\customer.dat'.
start-of-selection.
* open dataset file for input in text mode.
** encoding default.
* if sy-subrc eq 0.
* do.
* clear t_custm.
* read dataset file into t_custm.
* if sy-subrc ne 0.
* exit.
* endif.
* append t_custm.
* enddo.
* else.
perform fill_temp_data.
* endif.
perform neu_custom.
*&---------------------------------------------------------------------*
*& Form neu_custom
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM neu_custom.
loop at i_upld.
clear:i_kna1,i_knb1,i_knvv,i_add1,i_add2,
t_knbk,t_knvk,t_xknvp, t_yknvp.
refresh:t_knbk,t_knvk,t_xknvp,t_yknvp,t_knvi.
i_kna1-ktokd = i_upld-ktokd.
i_kna1-kunnr = i_upld-kunnr.
i_knb1-bukrs = i_upld-bukrs.
i_knvv-vkorg = i_upld-vkorg.
i_knvv-vtweg = i_upld-vtweg.
i_knvv-spart = i_upld-spart.
i_kna1-name1 = i_upld-name1.
i_kna1-name4 = i_upld-name4.
i_kna1-sortl = i_upld-sortl.
i_kna1-land1 = i_upld-land1.
i_knb1-kunnr = i_upld-kunnr.
i_knb1-akont = i_upld-akont.
i_knvv-kunnr = i_upld-kunnr.
i_knvv-ktgrd = i_upld-ktgrd. "Assign Group
i_add1-name = i_upld-name1.
i_add1-name_4 = i_upld-name4.
i_add1-sort1 = i_upld-sortl.
i_add1-country = i_upld-land1.
i_kna1-spras = '1'. "i_upld-spras.
i_add1-LANGU = '1'. "i_upld-spras.
i_knb1-zterm = i_upld-zterm.
i_knvv-zterm = i_upld-zterm. "Payment Term
t_knvi-kunnr = i_upld-kunnr.
t_knvi-aland = i_upld-aland.
t_knvi-tatyp = i_upld-tatyp.
t_knvi-taxkd = i_upld-taxkd.
t_knvi-KZ = 'U'.
if t_knvi is not initial.
append t_knvi.
endif.
postflag = 'X'.
CALL FUNCTION 'SD_CUSTOMER_MAINTAIN_ALL'
EXPORTING
i_kna1 = i_kna1
i_knb1 = i_knb1
i_knvv = i_knvv
I_BAPIADDR1 = i_add1
* I_BAPIADDR2 = i_add2
* I_MAINTAIN_ADDRESS_BY_KNA1 = 'X'
PI_CAM_CHANGED = 'X'
pi_postflag = postflag
IMPORTING
e_kunnr = e_kunnr
o_kna1 = o_kna1
TABLES
* T_XKNAS =
* T_XKNBK = t_knbk
* T_XKNB5 =
* T_XKNEX =
* T_XKNVA =
* T_XKNVD =
T_XKNVI = t_knvi
* T_XKNVK = t_knvk
* T_XKNVL =
* T_XKNVP = t_xknvp
* T_YKNVP = t_yknvp
* T_XKNZA =
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
.
subrc = sy-subrc.
CLEAR sy-subrc.
PERFORM returnsubrc_1
in program saplv02d
USING subrc
e_kunnr
CHANGING e_kunnr
return.
IF subrc = 0.
if postflag eq 'X'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
* CALL FUNCTION 'BAPI_CUSTOMER_CHANGEFROMDATA'
* EXPORTING
* PI_ADDRESS = i_add1
* PI_SALESORG = i_upld-vkorg
* PI_DISTR_CHAN = i_upld-vtweg
* PI_DIVISION = i_upld-spart
* CUSTOMERNO = o_kna1-kunnr
** IMPORTING
** PE_ADDRESS =
** RETURN =
* .
* CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
endif.
write:/ o_kna1-kunnr, 'was created!'.
else.
* elseif postflag eq 'X'.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
* write:/ i_kna1-kunnr,
* 'hasn''t created successfully!'.
write:/ return-type,
return-id,
return-message,
return-message_v1,
return-message_v2,
return-message_v3,
return-message_v4.
ENDIF.
CLEAR: i_kna1,
i_knb1,
i_knvv,
i_add1,
i_add2.
clear i_upld.
endloop.
ENDFORM. " neu_custom
*&---------------------------------------------------------------------*
*& Form fill_temp_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM fill_temp_data.
data: temp type string.
temp = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = temp
* FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
* HEADER_LENGTH = 0
* READ_BY_LINE = 'X'
* DAT_MODE = ' '
* CODEPAGE = '8400'
* IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '&'
* CHECK_BOM = ' '
* IMPORTING
* FILELENGTH =
* HEADER =
TABLES
DATA_TAB = i_upld
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
OTHERS = 17
.
if sy-subrc ne 0.
write: 'File Upload Error!'.
write:/ 'Return Code:',sy-subrc.
stop.
endif.
ENDFORM. " fill_temp_data
FORM fill_bdcdata USING p_par1 p_par2 p_par3.
CLEAR t_bdcdata.
IF p_par3 IS INITIAL.
t_bdcdata-fnam = p_par1.
t_bdcdata-fval = p_par2.
ELSE.
t_bdcdata-program = p_par1.
t_bdcdata-dynpro = p_par2.
t_bdcdata-dynbegin = p_par3.
ENDIF.
APPEND t_bdcdata .
ENDFORM. "fill_bdcdata
*&---------------------------------------------------------------------*
*& Form translate_zterm
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_I_UPLD_ZTERM2 text
* <--P_I_KNVV_ZTERM text
*----------------------------------------------------------------------*
FORM translate_zterm USING P_I_ZTERM
CHANGING P_O_ZTERM.
case p_i_zterm.
when 'A001'.
P_o_ZTERM = '0001'.
when 'A004'.
P_o_ZTERM = '0301'.
when 'A016'.
P_o_ZTERM = '0501'.
when 'A018'.
P_o_ZTERM = '0601'.
when 'A045'.
P_o_ZTERM = '0451'.
when 'AF45'.
P_o_ZTERM = '0750'.
when 'ZZI1'.
P_o_ZTERM = '0301'.
when others.
write:/ 'DC mapping for payment exclude item:', p_i_zterm.
endcase.
ENDFORM. " translate_zterm
*& Report ZSD_PAYER_NEW
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZSD_PAYER_NEW.
DATA : BEGIN OF t_bdcdata OCCURS 0.
INCLUDE STRUCTURE bdcdata.
DATA : END OF t_bdcdata.
DATA opt TYPE ctu_params.
data: ck_test.
data: begin of t_custm occurs 0,
kunnr(10),
bukrs(4),
ktokd(4),
anred(10), "15c
name1(35),
name2(35),
name4(35),
sorts(20),
stras(60),
pstlz(10),
ort01(35),
land1(3),
regio(3),
spras(1),
telf1(16),
telfx(16),
email(80),
banks(2),
banka(60),
bankl(15),
bankn(18),
akont(10),
sortk(4),
zterm(4),
zahls(1),
con_persn(10),
con_telef(16),
end of t_custm.
data:i_kna1 like kna1,
i_knb1 like knb1,
i_add1 like BAPIADDR1,
i_add2 like bapiaddr2,
i_knvv like knvv,
t_knbk like fknbk occurs 0 with header line,
t_knvi like fknvi occurs 0 with header line,
t_knvk like fknvk occurs 0 with header line,
t_xknvp like fknvp occurs 0 with header line,
t_yknvp like fknvp occurs 0 with header line.
DATA: subrc LIKE sy-subrc,
credit_control_flag LIKE bapikna108-x_flag value 'X',
postflag LIKE wdl_flag-xflag.
data: E_KUNNR LIKE KNA1-KUNNR,
O_KNA1 LIKE KNA1,
RETURN LIKE BAPIRETURN1.
data: begin of i_upld occurs 0,
* anred like kna1-anred, "Title
ktokd like kna1-ktokd, "Accout Group
kunnr like kna1-kunnr, "Customer No.
bukrs like knb1-bukrs, "Company Code
vkorg like knvv-vkorg, "Sales Org
vtweg like knvv-vtweg, "Distribution
spart like knvv-spart, "Division
name1 like kna1-name1, "Name1
name4 like kna1-name4, "Name1
sortl like kna1-mcod1, "Search term1
land1 like kna1-land1, "Country
akont like knb1-akont, "Reconciliation
ktgrd like knvv-ktgrd, "Assign Group
zterm like knb1-zterm, "Payment term
aland like knvi-aland, "Taxes
tatyp like knvi-tatyp, "Tax Category
taxkd like knvi-taxkd, "Classification
end of i_upld.
parameters: p_file LIKE rlgrap-filename OBLIGATORY default 'D:\payer_new.txt'.
at selection-screen on value-request for p_file.
perform select_file.
form select_file .
call function 'WS_FILENAME_GET'
exporting
mask = ',Text Files,*.txt,All Files,*.*.'(101)
title = '选择文件'(100)
importing
filename = p_file
exceptions
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
others = 5.
if sy-subrc <> 0 and sy-subrc <> 3.
"message e100(zdev) with '选择文件出错!'(007).
endif.
endform.
*selection-screen skip.
*parameters: p_term as checkbox default 'X'.
*parameters: file like FILENAME-FILEINTERN
* default 'E:\usr\sap\MED\DVEBMGS00\work\customer.dat'.
start-of-selection.
* open dataset file for input in text mode.
** encoding default.
* if sy-subrc eq 0.
* do.
* clear t_custm.
* read dataset file into t_custm.
* if sy-subrc ne 0.
* exit.
* endif.
* append t_custm.
* enddo.
* else.
perform fill_temp_data.
* endif.
perform neu_custom.
*&---------------------------------------------------------------------*
*& Form neu_custom
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM neu_custom.
loop at i_upld.
clear:i_kna1,i_knb1,i_knvv,i_add1,i_add2,
t_knbk,t_knvk,t_xknvp, t_yknvp.
refresh:t_knbk,t_knvk,t_xknvp,t_yknvp,t_knvi.
i_kna1-ktokd = i_upld-ktokd.
i_kna1-kunnr = i_upld-kunnr.
i_knb1-bukrs = i_upld-bukrs.
i_knvv-vkorg = i_upld-vkorg.
i_knvv-vtweg = i_upld-vtweg.
i_knvv-spart = i_upld-spart.
i_kna1-name1 = i_upld-name1.
i_kna1-name4 = i_upld-name4.
i_kna1-sortl = i_upld-sortl.
i_kna1-land1 = i_upld-land1.
i_knb1-kunnr = i_upld-kunnr.
i_knb1-akont = i_upld-akont.
i_knvv-kunnr = i_upld-kunnr.
i_knvv-ktgrd = i_upld-ktgrd. "Assign Group
i_add1-name = i_upld-name1.
i_add1-name_4 = i_upld-name4.
i_add1-sort1 = i_upld-sortl.
i_add1-country = i_upld-land1.
i_kna1-spras = '1'. "i_upld-spras.
i_add1-LANGU = '1'. "i_upld-spras.
i_knb1-zterm = i_upld-zterm.
i_knvv-zterm = i_upld-zterm. "Payment Term
t_knvi-kunnr = i_upld-kunnr.
t_knvi-aland = i_upld-aland.
t_knvi-tatyp = i_upld-tatyp.
t_knvi-taxkd = i_upld-taxkd.
t_knvi-KZ = 'U'.
if t_knvi is not initial.
append t_knvi.
endif.
postflag = 'X'.
CALL FUNCTION 'SD_CUSTOMER_MAINTAIN_ALL'
EXPORTING
i_kna1 = i_kna1
i_knb1 = i_knb1
i_knvv = i_knvv
I_BAPIADDR1 = i_add1
* I_BAPIADDR2 = i_add2
* I_MAINTAIN_ADDRESS_BY_KNA1 = 'X'
PI_CAM_CHANGED = 'X'
pi_postflag = postflag
IMPORTING
e_kunnr = e_kunnr
o_kna1 = o_kna1
TABLES
* T_XKNAS =
* T_XKNBK = t_knbk
* T_XKNB5 =
* T_XKNEX =
* T_XKNVA =
* T_XKNVD =
T_XKNVI = t_knvi
* T_XKNVK = t_knvk
* T_XKNVL =
* T_XKNVP = t_xknvp
* T_YKNVP = t_yknvp
* T_XKNZA =
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
.
subrc = sy-subrc.
CLEAR sy-subrc.
PERFORM returnsubrc_1
in program saplv02d
USING subrc
e_kunnr
CHANGING e_kunnr
return.
IF subrc = 0.
if postflag eq 'X'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
* CALL FUNCTION 'BAPI_CUSTOMER_CHANGEFROMDATA'
* EXPORTING
* PI_ADDRESS = i_add1
* PI_SALESORG = i_upld-vkorg
* PI_DISTR_CHAN = i_upld-vtweg
* PI_DIVISION = i_upld-spart
* CUSTOMERNO = o_kna1-kunnr
** IMPORTING
** PE_ADDRESS =
** RETURN =
* .
* CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
endif.
write:/ o_kna1-kunnr, 'was created!'.
else.
* elseif postflag eq 'X'.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
* write:/ i_kna1-kunnr,
* 'hasn''t created successfully!'.
write:/ return-type,
return-id,
return-message,
return-message_v1,
return-message_v2,
return-message_v3,
return-message_v4.
ENDIF.
CLEAR: i_kna1,
i_knb1,
i_knvv,
i_add1,
i_add2.
clear i_upld.
endloop.
ENDFORM. " neu_custom
*&---------------------------------------------------------------------*
*& Form fill_temp_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM fill_temp_data.
data: temp type string.
temp = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = temp
* FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
* HEADER_LENGTH = 0
* READ_BY_LINE = 'X'
* DAT_MODE = ' '
* CODEPAGE = '8400'
* IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '&'
* CHECK_BOM = ' '
* IMPORTING
* FILELENGTH =
* HEADER =
TABLES
DATA_TAB = i_upld
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
OTHERS = 17
.
if sy-subrc ne 0.
write: 'File Upload Error!'.
write:/ 'Return Code:',sy-subrc.
stop.
endif.
ENDFORM. " fill_temp_data
FORM fill_bdcdata USING p_par1 p_par2 p_par3.
CLEAR t_bdcdata.
IF p_par3 IS INITIAL.
t_bdcdata-fnam = p_par1.
t_bdcdata-fval = p_par2.
ELSE.
t_bdcdata-program = p_par1.
t_bdcdata-dynpro = p_par2.
t_bdcdata-dynbegin = p_par3.
ENDIF.
APPEND t_bdcdata .
ENDFORM. "fill_bdcdata
*&---------------------------------------------------------------------*
*& Form translate_zterm
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_I_UPLD_ZTERM2 text
* <--P_I_KNVV_ZTERM text
*----------------------------------------------------------------------*
FORM translate_zterm USING P_I_ZTERM
CHANGING P_O_ZTERM.
case p_i_zterm.
when 'A001'.
P_o_ZTERM = '0001'.
when 'A004'.
P_o_ZTERM = '0301'.
when 'A016'.
P_o_ZTERM = '0501'.
when 'A018'.
P_o_ZTERM = '0601'.
when 'A045'.
P_o_ZTERM = '0451'.
when 'AF45'.
P_o_ZTERM = '0750'.
when 'ZZI1'.
P_o_ZTERM = '0301'.
when others.
write:/ 'DC mapping for payment exclude item:', p_i_zterm.
endcase.
ENDFORM. " translate_zterm
- ZSD_PAYER_NEW(创建付款方)
- ZSD_PAYER_NEW(创建付款方) .
- 创建AP计划付款API
- 付款
- 创建交易异常 请重新创建后再付款
- 使用Javascript创建付款操作的弹出层
- 发生的开发和第三方看得上飞机似的离开房间收到了付款就
- 终于研究出如何设置新版paypal付款时汇率损失方的问题了
- C# NX创建方
- 解决支付宝“创建交易异常,请重新创建后付款”的问题
- 支付宝创建交易异常,请重新创建后再付款
- 安卓接入支付宝出现“创建交易异常,请重新创建后再付款
- 支付宝遇到“创建交易异常,请从新创建后在付款”
- 支付宝创建交易异常,请重新创建后再付款
- Android集成支付宝“创建交易异常,请重新创建后付款”问题
- 支付宝支付出现”创建交易异常,请重新创建后再付款”
- swift - 创建第三方框架
- 付款方式
- 励志经典语录
- 2.21-顺序表就地逆转
- MYSQL常用命令
- window下python 2.6安装MySQLdb的问题
- POWERSHELL-在不同的实例和数据库执行SQL
- ZSD_PAYER_NEW(创建付款方)
- 单链表
- struts2验证框架将验证信息输出到指定位置
- Ubuntu 12.04 WIFI Issue
- 最简单的表达式求值
- SSIS-实用的表达式
- S3C2440PWM 定时器
- Android通用获取ip方法
- oracle 之定义数组类型