Email using a function module
hi experts,
i have been using SO_DOCUMENT_SEND_API1 function module to send a mail, i have sucessfully used it to send a mail but the subject line of the mail is coming empty. i want to display some text in it, how can it possible
Hello ,
Goto to the SE37 and open the FM and
Goto -> Documentation...
This is the way to check the properties of FM related to Subject in Email
And also look at this program....
FORM mail_body.
DATA: l_l1 TYPE i.
CONSTANTS: lc_0 VALUE '0',
lc_1 VALUE '1',
lc_raw(3) TYPE c VALUE 'RAW'.
REFRESH: i_objtxt[],
i_objpack[].
CLEAR: wa_objtxt.
SORT i_fail BY type.
* MAIL BODY
* Customer Number
CONCATENATE text-t18
w_kunnr
INTO wa_objtxt
SEPARATED BY space.
APPEND wa_objtxt TO i_objtxt.
CLEAR wa_objtxt. "blank line
APPEND wa_objtxt TO i_objtxt.
* Complete Payment Doc Nos
wa_objtxt = text-t16.
APPEND wa_objtxt TO i_objtxt.
CLEAR: wa_fail, wa_objtxt.
APPEND wa_objtxt TO i_objtxt.
MOVE: text-t23 TO wa_objtxt,
text-t24 TO wa_objtxt+17(5),
text-t25 TO wa_objtxt+22(6),
text-t26 TO wa_objtxt+40(18).
APPEND wa_objtxt TO i_objtxt.
CLEAR wa_objtxt.
LOOP AT i_fail INTO wa_fail WHERE type EQ c_comp.
DIVIDE wa_fail-disper BY 100.
MOVE: wa_fail-belnr TO wa_objtxt,
wa_fail-buzei TO wa_objtxt+17(5),
wa_fail-wrbtr TO wa_objtxt+22(16),
wa_fail-disper TO wa_objtxt+40(18).
APPEND wa_objtxt TO i_objtxt.
CLEAR: wa_fail, wa_objtxt.
ENDLOOP.
* MAIL BODY-LENGTH
DESCRIBE TABLE i_objtxt LINES l_l1.
CLEAR wa_objpack-transf_bin.
wa_objpack-head_start = lc_1.
wa_objpack-head_num = lc_0.
wa_objpack-body_start = lc_1.
wa_objpack-body_num = l_l1.
wa_objpack-doc_type = lc_raw.
APPEND wa_objpack TO i_objpack.
*SUBJECT
CLEAR wa_doc_chng.
wa_doc_chng-obj_name = text-t15.
wa_doc_chng-obj_descr = text-t15.
ENDFORM. " mail_body
*& Form send_mail
* text
FORM send_mail.
CONSTANTS: lc_c TYPE so_escape VALUE 'C',
lc_mode(3) TYPE c VALUE 'INT'.
CLEAR: wa_reclist, i_reclist[].
*Recipient list
wa_reclist-receiver = text-t14. "DL
wa_reclist-rec_type = lc_c.
APPEND wa_reclist TO i_reclist.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = wa_doc_chng
put_in_outbox = c_x
* IMPORTING
* SENT_TO_ALL =
* NEW_OBJECT_ID =
TABLES
packing_list = i_objpack
* OBJECT_HEADER =
* CONTENTS_BIN =
contents_txt = i_objtxt
* CONTENTS_HEX =
* OBJECT_PARA =
* OBJECT_PARB =
receivers = i_reclist
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.
* IF SY-SUBRC 0.
* ENDIF.
IF sy-subrc IS INITIAL.
*Send mail immediately
SUBMIT rsconn01 USING SELECTION-SET lc_mode AND RETURN.
CALL FUNCTION 'SO_DEQUEUE_UPDATE_LOCKS'.
ELSE.
RAISE mail_not_sent.
ENDIF.
ENDFORM. " send_mail
Similar Messages
-
Hi all,
is it possible to view mails send using SO_NEW_DOCUMENT_ATT_SEND_API1 function module to UWL?
I am receving emails in my SAP Inbox.
Please guide.
thanks.Hi,
You can only get the SAP mails into UWL notification tab with the Sonic connector (well of course with some custom development everything is possible).
One trick to get the workflow for sending "mails" to UWL is to NOT use email sending step, but instead use a decision step in the workflow and send this work item to the user. The decision step can include the same message as the email, and have onl one option "Confirm" (or whatever). These you can easily display in UWL since they are normal work items.
Regards,
Karri -
Hi Gurus,
can any one inform me,how to use SX_OBJECT_CONVERT_OTF_INTO_PDF function module in script..
how can we convert the script output into pdf file format....
i need your help......plz
my mail id : [email protected]
Thanks,
Rajkumar.A
Edited by: rajkumar annadurai on Feb 19, 2008 10:25 AMHi, Dear
In XI 3.0 we are tyring to setup SAPconnect;
1 Step; Create RFC connection for Mlunxsnd file, anyway!!! we download thease file and create RFC connection; fine working no error
2 Step: Create Nodes T-code SCOT => connection INT => and support address type like Internet its just show only "PDF, HTM, TXT" thats it its not show some others format
3. Step; When check email T-code SOST Getting an error messages: "Connot process message in node, parameters cannot be converted"
4. In R3 RPD and Others system when I check format its ok its show some others format which is support to be such as "ALI, OBJ, OTF, SCR, URL" ...
How may install these format in XI 3.0
Please Advice I will be really appriciated
Thanks a lot
Travis -
In scripts using ADDR_GET_NEXT_COMM_TYPE function module
hi,
in my program these two function modules are used to send email.
ADDR_GET_NEXT_COMM_TYPE
CONVERT_COMM_TYPE_DATA
i want to know in format the email will be ,
in otf or in pdf, where we can find it.
using this function module can we able to send e-mail for multiple receipts ?Try this sample code...
I guess it will help you..
Sample Code
Internal Table declarations
DATA: i_otf TYPE itcoo OCCURS 0 WITH HEADER LINE,
i_tline TYPE TABLE OF tline WITH HEADER LINE,
i_receivers TYPE TABLE OF somlreci1 WITH HEADER LINE,
i_record LIKE solisti1 OCCURS 0 WITH HEADER LINE,
Objects to send mail.
i_objpack LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
i_objtxt LIKE solisti1 OCCURS 0 WITH HEADER LINE,
i_objbin LIKE solisti1 OCCURS 0 WITH HEADER LINE,
i_reclist LIKE somlreci1 OCCURS 0 WITH HEADER LINE,
Work Area declarations
wa_objhead TYPE soli_tab,
w_ctrlop TYPE ssfctrlop,
w_compop TYPE ssfcompop,
w_return TYPE ssfcrescl,
wa_doc_chng typE sodocchgi1,
w_data TYPE sodocchgi1,
wa_buffer TYPE string,"To convert from 132 to 255
Variables declarations
v_form_name TYPE rs38l_fnam,
v_len_in LIKE sood-objlen,
v_len_out LIKE sood-objlen,
v_len_outn TYPE i,
v_lines_txt TYPE i,
v_lines_bin TYPE i.
call function 'SSF_FUNCTION_MODULE_NAME'
exporting
formname = 'ZZZ_TEST1'
importing
fm_name = v_form_name
exceptions
no_form = 1
no_function_module = 2
others = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
w_ctrlop-getotf = 'X'.
w_ctrlop-no_dialog = 'X'.
w_compop-tdnoprev = 'X'.
CALL FUNCTION v_form_name
EXPORTING
control_parameters = w_ctrlop
output_options = w_compop
user_settings = 'X'
IMPORTING
job_output_info = w_return
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
i_otf[] = w_return-otfdata[].
call function 'CONVERT_OTF'
EXPORTING
format = 'PDF'
max_linewidth = 132
IMPORTING
bin_filesize = v_len_in
TABLES
otf = i_otf
lines = i_tline
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
others = 4.
Fehlerhandling
if sy-subrc <> 0.
endif.
loop at i_tline.
translate i_tline using '~'.
concatenate wa_buffer i_tline into wa_buffer.
endloop.
translate wa_buffer using '~'.
do.
i_record = wa_buffer.
append i_record.
shift wa_buffer left by 255 places.
if wa_buffer is initial.
exit.
endif.
enddo.
Attachment
refresh:
i_reclist,
i_objtxt,
i_objbin,
i_objpack.
clear wa_objhead.
i_objbin[] = i_record[].
Create Message Body
Title and Description
i_objtxt = 'test with pdf-Attachment!'.
append i_objtxt.
describe table i_objtxt lines v_lines_txt.
read table i_objtxt index v_lines_txt.
wa_doc_chng-obj_name = 'smartform'.
wa_doc_chng-expiry_dat = sy-datum + 10.
wa_doc_chng-obj_descr = 'smartform'.
wa_doc_chng-sensitivty = 'F'.
wa_doc_chng-doc_size = v_lines_txt * 255.
Main Text
wa_doc_chng-doc_size = ( v_lines_txt - 1 ) * 255 + strlen( i_objtxt )
clear i_objpack-transf_bin.
i_objpack-head_start = 1.
i_objpack-head_num = 0.
i_objpack-body_start = 1.
i_objpack-body_num = v_lines_txt.
i_objpack-doc_type = 'RAW'.
append i_objpack.
Attachment
(pdf-Attachment)
i_objpack-transf_bin = 'X'.
i_objpack-head_start = 1.
i_objpack-head_num = 0.
i_objpack-body_start = 1.
Länge des Attachment ermitteln
describe table i_objbin lines v_lines_bin.
read table i_objbin index v_lines_bin.
i_objpack-doc_size = v_lines_bin * 255 .
i_objpack-body_num = v_lines_bin.
i_objpack-doc_type = 'PDF'.
i_objpack-obj_name = 'smart'.
i_objpack-obj_descr = 'test'.
append i_objpack.
clear i_reclist.
i_reclist-receiver = '[email protected]'.
i_reclist-rec_type = 'U'.
append i_reclist.
call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = wa_doc_chng
put_in_outbox = 'X'
TABLES
packing_list = i_objpack
object_header = wa_objhead
CONTENTS_BIN = i_objbin
contents_txt = i_objtxt
receivers = i_reclist
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
others = 8.
Regards,
SaiRam -
Hi all,
when i am trying to upload the excel template by using the function module " KCD_EXCEL_OLE_TO_INT_CONVERT" to an internal table some field values are missing.
i am using the function module " KCD_EXCEL_OLE_TO_INT_CONVERT" and i am uploading an excel template and downloading that excel data into an internal table but some field values are missing while uploading the excel template and i found that the field which contains the drop down list values those values are missing.
And also when i am uploading the excel template by using the function module" KCD_EXCEL_OLE_TO_INT_CONVERT" when i am coming out of this function module one pop up is coming. how can i avoid this popup, can any one please provide me the solution thanks in advance.
FYI...it is showing the below popup screen ..
Thanks,
Koushikhi Feiyun,
below is the code(highlighted in bold)and after coming out of the function module i am getting popup and also the drop down values are missing.
DATA: ls_control TYPE zsfi_fiupload_control,
ls_header TYPE zsfi_fiupload_header_v13,
ls_item TYPE zsfi_fiupload_item_v13,
ls_trailer TYPE zsfi_fiupload_control,
l_line_count LIKE zsfi_fiupload_control-rec_count,
l_current_curr TYPE kcde_cells-value,
l_current_postdate TYPE kcde_cells-value,
l_current_compcode TYPE kcde_cells-value,
l_currentrow TYPE kcde_cells-row,
l_filename LIKE rlgrap-filename.
DATA: BEGIN OF lt_intern OCCURS 0.
INCLUDE STRUCTURE kcde_cells.
DATA: END OF lt_intern.
DATA: BEGIN OF lt_items OCCURS 0,
a TYPE kcde_cells-value,
b TYPE kcde_cells-value,
c TYPE kcde_cells-value,
d TYPE kcde_cells-value,
e TYPE kcde_cells-value,
f TYPE kcde_cells-value,
g TYPE kcde_cells-value,
h TYPE kcde_cells-value,
i TYPE kcde_cells-value,
j TYPE kcde_cells-value,
k TYPE kcde_cells-value,
l TYPE kcde_cells-value,
m TYPE kcde_cells-value,
n TYPE kcde_cells-value,
o TYPE kcde_cells-value,
p TYPE kcde_cells-value,
q TYPE kcde_cells-value,
r TYPE kcde_cells-value,
s TYPE kcde_cells-value,
t TYPE kcde_cells-value,
u TYPE kcde_cells-value,
v TYPE kcde_cells-value,
w TYPE kcde_cells-value,
x TYPE kcde_cells-value,
y TYPE kcde_cells-value,
z TYPE kcde_cells-value,
aa TYPE kcde_cells-value,
ab TYPE kcde_cells-value,
ac TYPE kcde_cells-value,
ad TYPE kcde_cells-value,
ae TYPE kcde_cells-value,
af TYPE kcde_cells-value,
ag TYPE kcde_cells-value,
ah TYPE kcde_cells-value,
ai TYPE kcde_cells-value,
AJ TYPE KCDE_CELLS-VALUE,
AK TYPE KCDE_CELLS-VALUE,
END OF lt_items.
l_filename = p_flpath.
* the file must be an xls file, not xlsx or comma seperated
IF p_flpath NS '.xls' AND p_flpath NS '.XLS'.
MESSAGE i261(zfi).
g_error = 'X'.
EXIT.
ENDIF.
* upload excel file to a generic table
CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
EXPORTING
filename = l_filename
i_begin_col = 1
i_begin_row = 1
i_end_col = 150
i_end_row = 65000
TABLES
intern = lt_intern
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* validate that the format is in the restatement format
* this is the only template to have the ledger group in cell G-2
** READ TABLE lt_intern WITH KEY row = '0002' col = '0007'.
** IF sy-subrc <> 0 OR lt_intern-value IS INITIAL.
** MESSAGE i260(zfi).
** g_error = 'X'.
** EXIT.
** ENDIF.
* create control record values
ls_control-rec_type = 'C'.
ls_control-global_id = 'GLU-03000'.
ls_control-local_id = ''.
ls_control-rec_count = ''.
CONCATENATE sy-datum sy-uzeit INTO ls_control-date.
ls_control-version = '12'.
ls_control-email = ''.
ls_control-eor = 'X'.
ls_trailer = ls_control.
* open output file and add the control record
OPEN DATASET p_unixfilename FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
TRANSFER ls_control TO p_unixfilename.
* create header record values, will be transfered to file in the item loop
ls_header-rec_type = 'H'.
READ TABLE lt_intern WITH KEY row = '0017' col = '0003'.
IF sy-subrc = 0.
ls_header-header_txt = lt_intern-value.
ENDIF.
READ TABLE lt_intern WITH key row = '0020' col = '0002'.
IF sy-subrc = 0.
ls_header-comp_code = lt_intern-value.
ENDIF.
************doc date
READ TABLE lt_intern WITH KEY row = '0011' col = '0003'.
IF sy-subrc = 0.
ls_header-pstng_date = lt_intern-value.
ENDIF.
************posting date
ls_header-doc_date = sy-datum.
READ TABLE lt_intern WITH KEY row = '0009' col = '0003'.
IF sy-subrc = 0.
ls_header-doc_type = lt_intern-value.
ENDIF.
READ TABLE lt_intern WITH KEY row = '0014' col = '0003'.
IF sy-subrc = 0.
ls_header-ref_doc_no = lt_intern-value.
ENDIF.
************currency moved to line items
READ TABLE lt_intern WITH KEY row = '0020' col = '0001'.
IF sy-subrc = 0.
ls_header-currency = lt_intern-value.
ENDIF.
ls_header-trans_date = ''.
READ TABLE lt_intern WITH KEY row = '0010' col = '0003'.
IF sy-subrc = 0.
ls_header-period = lt_intern-value.
ENDIF.
READ TABLE lt_intern WITH KEY row = '0006' col = '0003'.
IF sy-subrc = 0.
ls_header-reason_rev = lt_intern-value.
ENDIF.
READ TABLE lt_intern WITH KEY row = '0007' col = '0003'.
IF sy-subrc = 0.
ls_header-rev_date = lt_intern-value.
ENDIF.
* READ TABLE lt_intern WITH KEY row = '0002' col = '0007'.
* IF sy-subrc = 0.
ls_header-ledger_grp = ''.
* ENDIF.
* READ TABLE lt_intern WITH KEY row = '0013' col = '0013'.
* IF sy-subrc = 0.
ls_header-exch_rate = ''.
* ENDIF.
READ TABLE lt_intern WITH KEY row = '0008' col = '0003'.
IF sy-subrc = 0.
ls_header-calc_tax = lt_intern-value.
ENDIF.
ls_header-eor = 'X'.
* loop at the line items and append them to a table with multiple columns
LOOP AT lt_intern WHERE row GE 20.
IF l_currentrow <> lt_intern-row AND l_currentrow IS NOT INITIAL.
APPEND lt_items.
CLEAR lt_items.
ENDIF.
l_currentrow = lt_intern-row.
CASE lt_intern-col.
WHEN '0001'. lt_items-a = lt_intern-value.
WHEN '0002'. lt_items-b = lt_intern-value.
WHEN '0003'. lt_items-c = lt_intern-value.
WHEN '0004'. lt_items-d = lt_intern-value.
WHEN '0005'. lt_items-e = lt_intern-value.
WHEN '0006'. lt_items-f = lt_intern-value.
WHEN '0007'. lt_items-g = lt_intern-value.
WHEN '0008'. lt_items-h = lt_intern-value.
WHEN '0009'. lt_items-i = lt_intern-value.
WHEN '0010'. lt_items-j = lt_intern-value.
WHEN '0011'. lt_items-k = lt_intern-value.
WHEN '0012'. lt_items-l = lt_intern-value.
WHEN '0013'. lt_items-m = lt_intern-value.
WHEN '0014'. lt_items-n = lt_intern-value.
WHEN '0015'. lt_items-o = lt_intern-value.
WHEN '0016'. lt_items-p = lt_intern-value.
WHEN '0017'. lt_items-q = lt_intern-value.
WHEN '0018'. lt_items-r = lt_intern-value.
WHEN '0019'. lt_items-s = lt_intern-value.
WHEN '0020'. lt_items-t = lt_intern-value.
WHEN '0021'. lt_items-u = lt_intern-value.
WHEN '0022'. lt_items-v = lt_intern-value.
WHEN '0023'. lt_items-w = lt_intern-value.
WHEN '0024'. lt_items-x = lt_intern-value.
WHEN '0025'. lt_items-y = lt_intern-value.
WHEN '0026'. lt_items-z = lt_intern-value.
WHEN '0027'. lt_items-aa = lt_intern-value.
WHEN '0028'. lt_items-ab = lt_intern-value.
WHEN '0029'. lt_items-ac = lt_intern-value.
WHEN '0030'. lt_items-ad = lt_intern-value.
WHEN '0031'. lt_items-ae = lt_intern-value.
WHEN '0032'. lt_items-af = lt_intern-value.
WHEN '0033'. lt_items-ag = lt_intern-value.
WHEN '0034'. lt_items-ah = lt_intern-value.
WHEN '0035'. lt_items-ai = lt_intern-value.
when '0036'. lt_items-aj = lt_intern-value.
when '0037'. lt_items-ak = lt_intern-value.
ENDCASE.
ENDLOOP.
APPEND lt_items.
* sort rows by the post date, comp code, curr.
* SORT lt_items BY ah a ai.
* loop at the items, creating a header record if the comp code, curr. or post date changes
LOOP AT lt_items.
ls_item-rec_type = 'I'.
ls_item-post_key = lt_items-c. "lt_items-b.
IF lt_items-c GE '20' AND lt_items-c LE '39'.
ls_item-vendor_no = lt_items-d.
ELSEIF lt_items-c GE '0' AND lt_items-c LE '19'.
ls_item-customer = lt_items-d.
ELSEIF lt_items-c EQ '70' AND lt_items-c EQ '75'.
ls_item-asset = lt_items-d.
ELSE.
ls_item-gl_account = lt_items-d.
ENDIF.
ls_item-asset_type = lt_items-m. "lt_items-l.
ls_item-trans_type = lt_items-n. "lt_items-m.
ls_item-print_flag = ''.
ls_item-item_text = lt_items-j. "lt_items-i.
ls_item-comp_code = lt_items-b. "lt_items-a.
ls_item-bus_area = ''.
ls_item-alloc_nmbr = lt_items-l. "lt_items-k.
ls_item-tax_code = lt_items-q. "lt_items-p.
ls_item-taxjurcode = lt_items-r. "lt_items-q.
ls_item-profit_ctr = lt_items-g. "lt_items-f.
ls_item-costcenter = lt_items-h. "lt_items-g.
ls_item-orderid = lt_items-ac. "lt_items-ab.
ls_item-wbs = lt_items-i. "lt_items-h.
ls_item-trade_id = lt_items-o. "lt_items-n.
ls_item-part_prctr = lt_items-p. "lt_items-o.
ls_item-material = lt_items-t. "lt_items-s.
ls_item-salesorg = lt_items-aa. "lt_items-z.
ls_item-distr_chan = lt_items-ab. "lt_items-aa.
ls_item-pmnttrms = ''.
ls_item-pmtmthd = ''.
ls_item-pmtmthsupl = ''.
ls_item-alt_payee = ''.
REPLACE ALL OCCURRENCES OF '(' IN lt_items-e WITH ''.
REPLACE ALL OCCURRENCES OF ')' IN lt_items-e WITH ''.
ls_item-amt_doccur = lt_items-e. "lt_items-d
REPLACE ALL OCCURRENCES OF '(' IN lt_items-f WITH ''.
REPLACE ALL OCCURRENCES OF ')' IN lt_items-f WITH ''.
ls_item-loc_amt = lt_items-f. "lt_items-e
ls_item-loc = lt_items-k. "lt_items-j.
ls_item-sas_revtype = lt_items-s. "lt_items-r.
ls_item-rev_type = lt_items-u. "lt_items-t.
ls_item-rev_chnl = lt_items-v. "lt_items-u.
ls_item-bill_to = lt_items-x. "lt_items-w.
ls_item-payer = lt_items-z. "lt_items-y.
ls_item-ship_to = lt_items-y.
ls_item-tax_amnt = lt_items-x.
ls_item-func_area = ''.
ls_item-expend_date = lt_items-ae. "lt_items-ad.
ls_item-wtax_code = lt_items-af. "lt_items-ae.
ls_item-wtax_base = lt_items-ag. "lt_items-af.
ls_item-wtax_amount = lt_items-ah. "lt_items-ag.
ls_item-payment_block = ''.
ls_item-grp_amt = ''.
ls_item-anc_amt = ''.
ls_item-permit_payee = ''.
ls_item-value_date = ''.
ls_item-pernr = ''.
ls_item-legacy1 = ''.
ls_item-legacy2 = ''.
ls_item-legacy3 = ''.
ls_item-legacy4 = ''.
ls_item-legacy5 = ''.
ls_item-legacy6 = ''.
ls_item-legacy7 = ''.
ls_item-legacy8 = ''.
ls_item-legacy9 = ''.
ls_item-legacy10 = ''.
ls_item-eor = 'X'.
TRANSLATE lt_items-ai TO UPPER CASE.
TRANSLATE lt_items-b TO UPPER CASE.
TRANSLATE lt_items-a TO UPPER CASE.
TRANSLATE lt_items-aj TO UPPER CASE.
IF l_current_curr <> lt_items-a "lt_items-ai
OR l_current_postdate <> ls_header-pstng_date "lt_items-aj
OR l_current_compcode <> lt_items-b.
l_current_curr = lt_items-a.
l_current_postdate = ls_header-pstng_date. "lt_items-aj.
l_current_compcode = lt_items-b.
ls_header-comp_code = l_current_compcode.
ls_header-currency = l_current_curr.
ls_header-pstng_date = l_current_postdate.
ls_header-doc_date = l_current_postdate.
TRANSFER ls_header TO p_unixfilename.
l_line_count = l_line_count + 1.
ENDIF.
TRANSFER ls_item TO p_unixfilename.
l_line_count = l_line_count + 1.
ENDLOOP.
ls_trailer-rec_type = 'T'.
ls_trailer-rec_count = l_line_count.
TRANSFER ls_trailer TO p_unixfilename.
CLOSE DATASET p_unixfilename.
* change the format to fixed format for the remainder of the load program
p_fixed = 'X'.
p_rstmnt = ''.
Thanks,
Koushik -
How to use read_text function module
Hi how to use read_text function module to read purchase order header text .what are all tht things to pass in ID,Name and Object
thanks,
MaheDear,
Use below code.
DATA:IT_LINE LIKE TLINE OCCURS 0 WITH HEADER LINE,
V_TDNAME LIKE THEAD-TDNAME.
V_TDNAME = PO_NUMBER.
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = 'F01'
LANGUAGE = 'EN'
NAME = V_TDNAME
OBJECT = 'EKKO'
TABLES
LINES = IT_LINE.
Thanks and Regards, -
How to avoid use of function module in case of background jobs?
Hi ,
I am working a file tranfer interface .Functionality is to extract file either apllication or presentation server , and process the file through bapi , send the result in their respective server. This program should run through batch jobs in background mode.
I am using following function module :
SUBST_GET_FILE_LIS : Get the file list from application server
TMP_GUI_DIRECTORY_LIST_FILES : Get the file list from presentation server
GUI_UPLOad : to extract file data from presentation server
GUI_downLOAD : to download data to presentation server
in case of background job these function modules will not work.... so how to resolve this issue...
what are the methods we can apply?
Thanks & Regards
SandeepHi,
This FM is used to get list of files from Application server (will work in Background). This cannot be used to list files from presentation server. There is no way , by which you can process presentation server files in background mode.
Regards
Vinod -
How can i use reuse_alv_fieldcatalog_merge function module
I am using below steps for populating the final internal table.How can I use reuse_alv_fieldcatalog_merge function module in the place of declaring all these fields.How canI put title of the report in reuse_alv_fieldcatalog_merge function module.
FORM BUILD_FIELDCATALOG .
FIELDCAT-TABNAME = 'IT_FINAL'.
FIELDCAT-FIELDNAME = 'KUNNR'.
FIELDCAT-SELTEXT_M = 'Customer Name'.
FIELDCAT-JUST = 'L'.
FIELDCAT-KEY = 'X'.
FIELDCAT-DATATYPE = 'C'.
APPEND FIELDCAT TO I_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_FINAL'.
FIELDCAT-FIELDNAME = 'VBELN'.
FIELDCAT-SELTEXT_M = 'Invoice Reference'.
FIELDCAT-JUST = 'L'.
FIELDCAT-KEY = 'X'.
APPEND FIELDCAT TO I_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_FINAL'.
FIELDCAT-FIELDNAME = 'VKBUR'.
FIELDCAT-SELTEXT_M = 'Sales Office'.
FIELDCAT-JUST = 'L'.
FIELDCAT-KEY = 'X'.
FIELDCAT-DATATYPE = 'C'.
APPEND FIELDCAT TO I_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_FINAL'.
FIELDCAT-FIELDNAME = 'VKGRP'.
FIELDCAT-SELTEXT_M = 'Sales Person'.
FIELDCAT-JUST = 'L'.
FIELDCAT-KEY = 'X'.
FIELDCAT-DATATYPE = 'C'.
APPEND FIELDCAT TO I_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_FINAL'.
FIELDCAT-FIELDNAME = 'POSNR'.
FIELDCAT-SELTEXT_M = 'Item No'.
FIELDCAT-JUST = 'L'.
FIELDCAT-KEY = 'X'.
APPEND FIELDCAT TO I_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_FIANL'.
FIELDCAT-FIELDNAME = 'ARKTX'.
FIELDCAT-SELTEXT_M = 'Item Description'.
FIELDCAT-JUST = 'L'.
FIELDCAT-DATATYPE = 'C'.
APPEND FIELDCAT TO I_FIELDCAT.
CLEAR FIELDCAT.Hello,
It is very easy to use reuse_alv_fieldcatalog_merge.
You try this it will work.
example
data:
DATA : gv_repid TYPE syrepid VALUE sy-repid . " Report id
PERFORM set_field_catalog USING gst_struct CHANGING lst_fieldcat.
FORM set_field_catalog USING uv_tab TYPE slis_tabname
CHANGING xt_fieldcatalog TYPE slis_t_fieldcat_alv.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = gv_repid
i_internal_tabname = uv_tab
i_inclname = gv_repid
CHANGING
ct_fieldcat = xt_fieldcatalog
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " set_field_catalog_spec -
How to keep long text in bdc using create_text function module
hi,
ihave bdc in that i having field like long text i have to upload the long text using create_text function module how to use and where to use in bdc. wat parameters i have to pass exactly.
i need some other information like how can i pass this to BDC i got like this .
can u plz check it.
its a length of 255 chaters
perform bdc_field using 'RSTXT-TXLINE(02)'
'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz'
& 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz'.
perform bdc_field using 'RSTXT-TXLINE(03)'
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
& 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'.
perform bdc_field using 'RSTXT-TXLINE(04)'
'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
& 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'.
perform bdc_field using 'RSTXT-TXLINE(05)'
'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh'
& 'hhhhhhhhhhhhhhhhhhhhhh'.Hi,
Use this coding where do u want,
data: begin of textline occurs 10.
include structure tline.
data: end of textline.
start-of-selection.
textline-tdformat = '*'.
textline-tdline = 'TESTING FOR CREATION OF TEXT'.
append textline.
clear textline.
call function 'CREATE_TEXT'
exporting
fid = '0013'
flanguage = sy-langu
fname = '0095000501'
fobject = 'VBBK'
tables
flines = textline
exceptions
no_init = 01
no_save = 02.
end-of-selection. -
Hi experts..
i got one requirement like i need to edit some rows particularly in alv....
Edit in alv output....is it possible to get that .....using normal function module with out using oops concept...
could any one pls help me...Hi Pendurti ,
If you want a particular field to be editable , simply define the fieldcatalog as
wa_fieldcatalog-edit = 'X'.
wa_fieldcatalog-input = 'X'.
for that field.
and
Now when you use FM ' Reuse alv grid display '
define USER_COMMAND
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = v_repid
i_callback_pf_status_set = 'SET_PF_STATUS'
i_callback_user_command = 'USER_COMMAND'
it_fieldcat = int_fieldcatalog
is_layout = wa_layout
TABLES
t_outtab = t_disp.
and now in form USER_COMMAND ; code as per following
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
DATA ref1 TYPE REF TO cl_gui_alv_grid.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = ref1.
CALL METHOD ref1->check_changed_data.
endform.
Regards,
Yogendra Bhaskar -
Error while using the function module..pack_handling_unit_dlvry
Hi all...
while using the function module pack_handling_unit_dlvry,
we need to pass the handling unit number as per the functionality we require.
but the mandatory field for the function module is the handling unit number in the form of bar code..
so how to use this function module..
All the useful answers will be regarded..
Regards,
Saroja.Have you tried using BAPI BAPI_HU_CREATE. Also view Function Module Documentation on its usage.
-
Issue with use of Function Module GUI_UPLOAD
Hi Experts,
I have an issue in using the Function Module GUI_UPLOAD for uploading the contents of an Excel file on the Presentation Server to an internal table in an ABAP Program.
My file consists of around 300 records but the FM succeeds in uploading only the first 6 lines to the Internal Table specified while calling the FM.
I dont have any idea why this happens. Any pointers in this direction will be helpful.
Thanks in advance.
Regards,
KeerthiHi,
Kindly go through this link below:
https://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=60655105
Hope it helps you
Regards
Mansi -
How to use these function modules
Hi all,
can anyone help that how to use these Function modules to update the status of a task, what are all the inputs i required to proceed
1. FC_USER_AUTHORITY_CHECK
<b>2. FC_USER_STATUS_CHECK
3. FC_USER_STATUS_UPDATE</b>
4. FC_USER_GET_CACTI
5. FC_USER_CHECK_FOR_OUTPUT
Thanks in Advance
GaneshHi Rob,
thanks for ur reply,
but they are not clear what they are meant to be, I understood there are some flags needed to run the Function Modules 2 & 3 which are in bold...
but how do i populate them.. i am not getting that..
thanks
ganesh -
How can i use this function module
Hai
How can i use this function module /SAPHT/SALES_ORDER_READ, already apply the some parameters in this function module, but it shows the error , please tell me, how to declare the parameters in this function module ,
thanks
neelimaHi
For a particular sales order,you have to pass the order number and the item number in the sales order.
It will display the rest of the values which u can capture them using internal tables.
Regards,
Vishwa. -
URGENT ---- How to use BAPI_REQUIREMENT_CHANGE Function Module
I want to change the Materail requirements through Txn MD62.
Instead i am using BAPI_REQUIREMENTS_GETDETAILS Function Module.
Using this I should use BAPI_REQUIREMENT_CHANGE Function Module.
But the requirements are not getting changed.what kind of messages u are gettiing into the table RETURN ? u have to cross check this internal table .
flow will be like this
call ' BAPI'
if return[] is initial.
commit work.
else.
do nothing.
endif.
Regards
Peram
Maybe you are looking for
-
My Mail program has been acting very strange in the past few weeks. Aside from taking forever to go from one email to another, it will randomly shut down, restore emails that I've already deleted and there are about 10 junk emails that have been dele
-
Just checked in to the Palazzo and figured we'd give it a shot. DW just got approved for a Cap1 Quicksilver with a $3k limit and 17.9% APR exactly one month after opening a 99/500 BofA Secured CC. To to make a long story short, she had a rough patch
-
Error: JVM option is invalid: -server
We have downloaded the 'Oracle Application Server MapViewer 10.1.2 Kit and Quickstart' that was released on 10-January-2005. The start.sh script included in this kit to start OC4J is: #!/bin/sh #cd oc4j/j2ee/home;java -server -Xmx384M -Djava.awt.head
-
Location bar settings are Not rememberd when I close FF
Pfff okay So I set my location bar settings to > Nothing: If selected, the Location bar will not display results that match what you type. then I close firefox, reopen and voila...It shows history and bookmars. Now funny thing is when i set the locat
-
Errors in Transaction SHMA - Binding has invalid value
I'm trying to create a shared memory area in transaction SHMA I entered the area name and the root class name and just kept all the default values. When I do a syntax check I get 2 major errors 1. Binding has invalid value, and 2. Synchronizatio