ABAP程式傳送帶附件的郵件

2021-06-28 05:28:39 字數 1722 閱讀 2995

類cl_abap_typedescr和它的子類的結構圖

cl_abap_typedescr

| |--cl_abap_datadescr| |

|  |--cl_abap_elemdescr

|  |--cl_abap_refdescr

|  |--cl_abap_complexdescr

|  |

|  |--cl_abap_structdescr

|  |--

cl_abap_tabledescr

||--cl_abap_objectdescr

| |--cl_abap_classdescr

|--cl_abap_intfdescr

當我們用下面**取其結構時,發現字段長度會double

data 

: idetails 

type 

abap_compdescr_tab,

xdetails 

type 

abap_compdescr,

xfc 

type 

lvc_s_fcat,

ifc 

type 

lvc_t_fcat.

data 

: ref_table_des 

type 

ref 

to cl_abap_structdescr.

ref_table_des ?=

* cl_abap_typedescr=>describe_by_name( p_table ).

cl_abap_tabledescr=>describe_by_name( 

p_table ).

idetails 

= ref_table_des->components.

loop 

at idetails 

into 

xdetails.

clear 

xfc.

xfc-fieldname 

= xdetails-name .* 

xfc-datatype = xdetails-type_kind.

xfc-inttype 

= xdetails-type_kind.

xfc-intlen 

= xdetails-length + xdetails-

decimals

.xfc-

decimals 

= xdetails-

decimals

.xfc 

to ifc.

endloop

.原因:

檢視dd03l表發現,有兩個字段代表長度,intlen和leng,前者代表內部儲存的長度,以bytes儲存,後者為平時接觸的長度,為char型別

解決方案:在後面呼叫cl_alv_table_create=>create_dynamic_table時,加入輸入參i_length_in_byte 

= 'x'

call 

method 

cl_alv_table_create=>create_dynamic_table

exporting

it_fieldcatalog 

= ifc

i_length_in_byte 

= 'x'

importing

ep_table 

= dy_table.

傳送帶附件的郵件

import smtplib from email.mime.text import mimetext from email.mime.multipart import mimemultipart from email.utils import formataddr from config impo...

傳送帶附件的郵件

我們平時需要使用 python 傳送各類郵件,這個需求怎麼來實現?答案其實很簡單,smtplib 和 email庫可以幫忙實現這個需求。smtplib 和 email 的組合可以用來傳送各類郵件 普通文字,html 形式,帶附件,郵件,帶的郵件等等。我們這裡將會分幾節把傳送郵件功能解釋完成。smtp...

python傳送帶附件郵件

1.不包括附件的郵件 coding utf 8 import smtplib import string 傳送普通的文字郵件 郵件smtp的位址 host smtp.163.com 定義郵件的標題 subject 這是郵件標題 發件人 from 163.com 收件人 to qq.com 傳送的郵件...