Change SAP standard texts
Hello all,
When adding a table filter - the first column contains a filter icon and a tooltip. I wanted to change that tooltip.
Does anybody knows of a way of doing that?
Maybe there's a project that contains such texts that I can download from the server and change?
Thanks, Adi.
Hi, Adi!
I don' t think that' s possible - I mean if you think of the enourmous overhead you have to deal with when trying to change other SAP WDJ standards (like ESS/MSS) and the problems you get when importing support packages (Java-SPAU), it seems hardly impossible for me that a fundamental functionality has been implemented with enhancement possibilities.
Regards,
Thomas
Similar Messages
-
Module Pool Programming - Calling SAP Standard Text Screen
Hi Gurus
I am working on Module Pool Programming...In the one of the screen there is a column named "Description" where I need to keep a Button to call a SAP standard text editing screen and what ever information I enter in the field should be downloadable
is this option possible?If so...Plz send me the Sample code
Thanks
GaneshHi Gani,
I can help you till getting the text editor in your module pool program.
TOP
PROGRAM ZREDDY_TEXT.
constants: line_length type i value 132.
data:
reference to wrapper class of control
g_editor type ref to cl_gui_textedit,
reference to custom container: necessary to bind TextEdit Control
g_editor_container type ref to cl_gui_custom_container,
g_repid like sy-repid, " getting program name
g_ok_code like sy-ucomm, " return code from screen
g_mytable(132) type c occurs 0, " getting the text of table
g_mycontainer(30) type c, " string for the containers
v_result(256) type c, " getting the text of table control
gw_thead like thead, " for header information
it_line type table of tline with header line. " internal table of type tline
PBO
MODULE STATUS_0900 OUTPUT.
SET PF-STATUS 'ZTEXT'.
SET TITLEBAR 'xxx'.
if g_editor is initial.
create control container
create object g_editor_container
exporting
container_name = 'CUSTOM_CONTROL' " Make sure when you create custom container in layout give name as Custom container
exceptions
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.
g_mycontainer = 'CUSTOM_CONTROL'.
create calls constructor, which initializes, creates and links
TextEdit Control
create object g_editor
exporting
parent = g_editor_container
wordwrap_mode =
cl_gui_textedit=>wordwrap_off
cl_gui_textedit=>wordwrap_at_fixed_position
cl_gui_textedit=>WORDWRAP_AT_WINDOWBORDER
wordwrap_position = line_length
wordwrap_to_linebreak_mode = cl_gui_textedit=>true.
refresh g_mytable. " to initialize table upon OK_CODE 'BACK' at PAI
endif.
ENDMODULE. " STATUS_0900 OUTPUT
Cheers!!
Balu
Edited by: Balu CH on Oct 22, 2008 8:55 PM -
What are the bad Effect of changing sap Standard Programs?
Hi all,
I want to know what are the Bad effects of changing SAP standard screen and reports.
I need a bit theoretical Explanation.
Please suggest me some good and effective matter link.
RegardsHi sonal,
If I write the theory here ,might be its going to mess up here.mm..try this link.There are good information in changing a standard functionality.
http://software.feedfury.com/content/28535477-changing_the_sap_standard.html
2. I can tell one of like ...
To change a standard program or functionality or standard field in sap,we have to go for related user,customer scvren exit etc.
We have to find the right exit to that particular transaction and do our customized coding there.We have to be very careful,since we are going to change the standard exit.this user exit will be used in 'N' number of other screens and transaction.So when you change , that change will /may affect the other transactions also.If you corrupt that particular exit,there are chances for that transaction to go for a toss.I have experianced this personally.when I was working on particular userxit and editing,that particular transaction was not working properly for others,since i was doing from my login,everyone came to my place and started bugging me to stop working on it:)
Regards,
SanthoshSivanathan -
I wish to change the standard "Fetching data..." text displayed by ADF when scrolling through a table.
Looking at the description in http://jdevadf.oracle.com/adf-richclient-demo/docs/skin-selectors.html, I expect to achieve this by overriding "af_table.LABEL_FETCHING" in my skinning resource bundle.
I am able to override two af_column messages, but my af_table override does NOT work.
My bundle looks like this;
package com.vesterli.demo.skinning;
import java.util.ListResourceBundle;
public class MySkinBundle extends ListResourceBundle {
@Override
public Object[][] getContents() {
return _CONTENTS;
private static final Object[][] _CONTENTS =
{ { "af_table.LABEL_FETCHING", "Hang loose, dude" },
{ "af_column.TIP_SORT_ASCENDING", "First things first" },
{ "af_column.TIP_SORT_DESCENDING", "The last shall be the first" } };
My trinidad-skins.xml looks like this:
<?xml version="1.0" encoding="windows-1252" ?>
<skins xmlns="http://myfaces.apache.org/trinidad/skin">
<skin>
<id>vesterli.desktop</id>
<family>vesterli</family>
<render-kit-id>org.apache.myfaces.trinidad.desktop</render-kit-id>
<extends>fusion.desktop</extends>
<style-sheet-name>css/MySkin.css</style-sheet-name>
<bundle-name>com.vesterli.demo.skinning.MySkinBundle</bundle-name>
</skin>
</skins>
Since I am seeing my customized column tip texts correctly, the reference from trinidad-config.xml to my skin should be OK (I am also seeing my visual skinning correctly). Since I am seeing some of my texts, my resource bundle must be valid, too. I am using JDev 11.1.1.3.
So why doesn't the af_table skinning work?
Any pointers appreciated.
Best regards
Sten VesterliI was having this problem too, found this thread and did cleanup here and there, redo etc. But ended up with no luck to fix it.
Just now discovered the issue is reproducible on the official demo site: table Skinning Key Demo
1. check the column sorting labels, prefixed with "Demo: "
2. change any selector setting to trigger a table refresh, it's always displayed as "Fetching Data...", without prefix.(as highlighted in the "Resource styles" on the same page, there should be prefix too). -
Can I change the standard text for web item 'INFO_FIELD_ITEM'?
Hello experts.
I made a WAD template using web item 'INFO_FIELD_ITEM'. In data binding, I used the 'Last refresh' of general text elements. As a result, in the web browser I can see the last update date & time. (e.g. 'Last refresh: 2007.01.17 17:34:44') Then our customer want to change the default text "Last refresh" as "Working time".
How can I change this?
I tried to change the text symbols for program SAPLRRSV. But it worked only in Bex Analyzer not in the web.
Our server version is Netweaver 2004s and SP10.
Best regards.
JY Park.Hello,
I had the same problem - just wanted to display the values of a variable in an info-field, but not the caption.
I found out, that there's a tag for Info-Field Item called ONLY_VALUES (it's the checkbox under the headers visible checkbox in the properties dialog of the Info-Field Item; in my WAD version, there's no label assigned to this checkbox, so it was not easy to find out what it should be),
You have to set it to 'X' (check it) ; then you get the unformatted value of the variable (no caption anymore).
<bi:INFO_FIELD_ITEM name="INFO_FIELD_ITEM_1" designheight="500" designwidth="350" > <bi:WIDTH value="350" />
<bi:HEIGHT value="500" />
<bi:DATA_PROVIDER_REF value="DP_1" />
<bi:HEADERS_VISIBLE value="" />
<bi:ONLY_VALUES value="X" />
You have to insert the info-field item between span tags so that you can define your own formatting values.
The ONLY_VALUES tag works the same as the tag 'RENDER_AS_TEXT' you have with the text item , see
http://help.sap.com/saphelp_nw70/helpdata/en/e3/e60138fede083de10000009b38f8cf/frameset.htm
There's only one disadvantage: If you have chosen a lot of variable values (multiple selection), the variable string gets very long and no line break is performed, because all blanks in the string are replaced by nbsp's. I solved this with a little Java Script, replacing the appropriate nbsp-s with br tags.
Hope it helps
Beate -
Hi Experts,
I have a scenario where we have done Broadcasting settings for some queries so that they run on weekly basis. This has been automated to some extent. But, these queries use variables which are mandatory manual input type and are standard SAP variables. For this, we need to change the values everyweek.
Instead of changing manually, can we change these variables as Mandatory customer exit default value variables so that we can write code for this and then can completely make the broadcasting automated.
The variables I am asking whether we could change are SAP Standard variables: 0P_FYEAR (fical year), 0P_FPER (posting period).
Please suggest.
Regards,
RaviHi,
Thanks for the quick reply.
The problem here is there variables are again used in calculating some other variable values either single value or intervals. Also there are many queries which use these variable I am discussing about. So, in this case it will be really hectic to change all these queries. Even though if we change these variable properties, I think as these are mandatory customer exit default value variables, there wont be any effect. If at all any exists can you please let me know what type?
What do you suggest?
Regards,
Ravi -
Language change for standard text
How to change the language of standard text.
ex; from 'EN' to 'CS'Hi,
Refer note 3355 in OSS for a complete explanation. The SAPscript objects that should be transported must be written in a
transport request.
The entries are as follows:
R3TR FORM NAME (NAME = Name of the layout set)
R3TR STYL NAME (NAME = Name of the style)
R3TR TEXT OBJECT,NAME,ID,L
(OBJECT = Text object, NAME = Text name, ID = Text ID, L = Text language)
If you want to transport a number of texts, you can use report RSTXTRAN to insert the individual text keys into a
correction.
The transport request must be entered and released via the transport system.
Reward points if helpful
Regards.
Srikanta Gope -
SAP Standard text | All luangaes
Hi All,
how to find all the language for which a particular standard text is present.Hi,
al the Standard text are available in table stxh with tdspras langauage
See the report RSTXTCAT for sample code.
Prabhudas -
SAP Standard Text (SO10) Character format in Adobe forms
Hi Friends
I created a standradrd text using 'S010' with Few character formats like 'bold' and 'italic' but when created 'Inlude text' element in adobe forms i could see only text coming in pdf output but not the formatting. Is there any way i could get the text character formatting also from standard text to adobe?. I appreciate your help.
ThanksTotal Posts: 534
Total Questions: 183 (4 unresolved)
Forum Points: 0
You ask a lot, but never helped a living soul. Why would anybody help you/ do your job?
By the way the same question was asked a zillion times, so if you would care to search you would not receive this comment.
Otto -
Change SAP Standard Transaction
I need to call one standard Tcode in Portal. That Tcode is having four Tabstrip. Requirement is each tabstrip showed in different pages also only few fields should be shown. Can you help me in this? Can I do only using Web dynpro and Portal? Is it necessary to use ITS and/or BSP?
Hi,
do you mean that you intend to build the transaction as an iView? Then you could, of course, integrate it into Web Dynpro ABAP, see http://help.sap.com/saphelp_nw2004s/helpdata/en/27/96b9c8f14e7d498b90a674710dc9c2/frameset.htm
Regards, Heidi -
How to edit text of UI elements in sap standard ABAP webdynpro component
Hi All,
I have a requirement wherein I want to change the standard text of mainly LABEL UI in travel and expenses ABAP webdynpro components. As per my knowledge we canu2019t change UI text directly by changing it in layout in enhancement. We have to do it via wdmodify view method and post and pre exits methods.
Can you please help me with the steps that I have to follow and code?
Regards,
MadhvikaHi ,
Please go through this document.
[Doc|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/700317da-bd79-2c10-368e-8f18bf5d8b81?quicklink=index&overridelayout=true]
Create a Pre Exit method for WDDOMODIFY method of the view , and in that method code somthing like this.
lo_button TYPE REF TO cl_wd_button.
lo_button ?= view->get_element( 'ID of button' ).
lo_button->set_text('New Text').
Thanks,
Aditya. -
Changes to the Standard Text Key in a PM order
Hi all,
Is there a better way to track changes to the Standard Text Key in a PM order? When I change the Standard Text Key in the Operations tab (t-code IW32) and I access the change log (menu: Extras > Other documents > Changes) I only see that the language key has been changed. I dont see the actual Standard Text Key value. Any ideas?
Thanks in advance for your help.
AdrianaHi
To use standard texts, perform the following six steps:
Select the maintenance order and access the operation overview screen using Goto -->Operation overview.
You can enter standard text keys in this screen or in a detail screen for the relevant operation.
Enter a standard text key in the appropriate field and press ENTER .
If the text is longer that the short text line available, the field Text is selected for that operation.
Check the long text and edit it if necessary. To do this, select the operation and choose Operation--> Long text.
The system branches to the text editor screen. If you also entered a short text for the operation and specified that this should not be overwritten by the standard text, you will see the short text displayed in the first line of the editor. The following lines contain the standard text.
Check the standard text and change it if necessary.
Save the final version of the text and return to the previous screen with Goto--> Back.
Save the maintenance order.
Standard texts are created for your system by your system administrator using the Customizing function.
Regards
Makarand Gurjar -
How to get the Hardcoded text and the Standard text in the same line
Hi,
I have an SAP Layout. In that, it should show the Consignee name as below.
Consignee: SAP LABS
In this, the text 'Consignee: ' should be hardcoded in the layout itself. and the customer has requested to create a standard text for 'SAP LABS' sothat if they want to change the value in future, they would go and change the Standard text. I have created the Standard Text for SAP LABS. I am not able to get both these texts on the same line. I wrote in the layout like below and AS is the Paragraph format.
AS Consignee:
/: INCLUDE ZVRU_CONSIGNEE OBJECT TEXT ID ST LANGUAGE EN PARAGRAPH 'AS'
But, both are coming in dofferent lines. As /: is a command line, it is coming in the next line. Is there any way of getting these two texts in the same line..? While Inserting the Standard Texts, will there be any option/command to print it in the same line..?
Please share your thoughts. Thanks in advance.
Thanks & Regards,
Paddu.Hi Paddu,
I have had a similar requirement. I did not use any FM or anything, simply did the following:
In SO10, for your standard text where u have used the text SAP LABS.
Instead of P1/ default para, change it to =. And then Save ur Standrd text.
Now in the SAPScript Text editor in which you want to print
P1 'Consignee :'
/: INCLUDE TEST OBJECT TEXT ID ST LANGUAGE EN
the output will be
Consignee : SAP LABS
I have tried and tested this method. It will surely work.
With regards,
Niharika. -
SolMan 7.1 standard text in email
Dear All,
we are using SolMan 7.1 and we want to manually send out emails for example from a change request by using standard text.
If I click on the standard text button currently the emails stays empty, is there a possibility and if yes how to change the standard text or to use even more email templates?
Thank you in advance for any feedback, ideas, support etc.
EvaHello Eva,
Please check below Configure email notification for SolMan ChaRM and Incident Management and Change Request Management: E-Mail functionality in SAP Solution Manager 7.1
BR,
K. -
hi to all abap Gurus
what is standard text in script ?how to use it > where do we use it ? we know that the use is reusability . how it is reusable . and it is used to support for multiple languages . pls tell in detail . pls dont give any link . points will bre rewarded defintilely for good answers . pls urgent. pls give som esample coding on this .Standard Text is nothing but Global Text.
Suppose you have to display footer/header info. whenever you create a s cript for ur org.your caompany details,logo etx. instead of writing them everytime, if you careta a global text u can include them wherevr u want.
Mainly we are using standard texts to avoid hardcoding in scripts or smartforms.
If you need to include the name of your company and address in the form you
just include a standard text in your form by include statement(script) and by
include text dropdown in forms. If in later part of time your company address
change you need to change the standard text not to touch the form. This is the
way standard text helps us.
in Tcode SO10, u create a text and give a name activate it.
Here is the sample code to send script through E mail..
*& Report ZRICHA_OTF_PDF
report zricha_otf_pdf
message-id zz.
CONSTANTS *
constants : c_x(1) type c value 'X', " For constant value
c_otf(3) type c value 'OTF', " For format
c_u(1) type c value 'U'. " Mail Option
VARIABLES *
data : v_rqident type tsp01-rqident, " For Spool Number
v_rqclient type tsp01-rqclient, " For Client
v_rqo1name type tsp01-rqo1name, " For Object name
v_spool type tsp01-rqident, " For Spool Number
v_spool1 type tsp01-rqident. " For Spool Number
FLAGS *
data : f_spool type c.
INTERNAL TABLES *
Internal table for sending mails
data: it_pdf like tline occurs 10 with header line,
it_xi_pdf like tline occurs 0 with header line,
it_html like solisti1 occurs 0 with header line,
it_xi_temp like bapiqcmime occurs 0 with header line,
it_xi_mime(255) type c occurs 0 with header line.
For sending mail
data: it_objpack like sopcklsti1 occurs 2 with header line.
Internal table for Single List with Column Length 255
data : it_objbin like solisti1 occurs 10 with header line.
Internal table for Single List with Column Length 255
data : it_objtxt like solisti1 occurs 10 with header line.
Internal table for Structure of the API Recipient List
data : it_reclist like somlreci1 occurs 5 with header line.
Structure of the API Recipient List
data: x_doc_chng like sodocchgi1.
Internal table for storing the variants
data : begin of it_variant1 occurs 0,
variant like varid-variant,
end of it_variant1.
Internal table to store variants for the programs
data: it_variant2 like it_variant1 occurs 0 with header line.
Internal table for storing the selected values
data it_return type ddshretval occurs 0 with header line.
Internal table for storing the mail-ids
data : begin of it_mailid occurs 0,
kokrs like csks-kokrs,
kostl like csks-kostl,
datbi like csks-datbi,
telx1 like csks-telx1,
end of it_mailid.
Internal table for storing the mail-ids
data : it_mailid1 like it_mailid occurs 0 with header line.
SELECTION SCREEN *
data : v_char type char50.
selection-screen begin of block b1 with frame title text-001.
select-options: s_email for v_char no intervals
lower case
no-display.
select-options: s_email1 for v_char no intervals
lower case
no-display.
selection-screen end of block b1.
selection-screen begin of block a1 with frame title text-028.
selection-screen begin of line.
parameters : p_c1 as checkbox.
selection-screen comment 3(66) text-026 for field p_c1.
selection-screen end of line.
parameters : p_set like tsp1d-papart matchcode object zh_tsp1d.
selection-screen skip 1.
parameters : p_vara1 type rs38m-selset.
selection-screen end of block a1.
selection-screen begin of block a2 with frame title text-029.
selection-screen begin of line.
parameters : p_c2 as checkbox.
selection-screen comment 3(56) text-027 for field p_c1.
selection-screen end of line.
parameters : p_set1 like tsp1d-papart matchcode object zh_tsp1d.
selection-screen skip 1.
parameters : p_vara2 type rs38m-selset.
selection-screen end of block a2.
AT SELECTION SCREEN ON VALUE REQUEST
at selection-screen on value-request for p_vara1.
For fetching the variants available for the program
perform fetch_variants.
at selection-screen on value-request for p_vara2.
For fetching the variants available for the program
perform fetch_variants1.
AT SELECTION SCREEN
at selection-screen.
For Validation
perform validation.
START OF SELECTION *
start-of-selection.
To get the output data and mail
perform fetch_data.
END OF SELECTION *
end-of-selection.
if f_spool = c_x.
message e000 with 'Spool Not Generated'(060).
endif.
*& Form fetch_data
To get the output data and mail
form fetch_data .
To send the output to spool
perform generate_spool.
endform. " fetch_data
*& Form generate_spool
To send the output to spool
form generate_spool .
data: l_params like pri_params,
l_days(1) type n value 2,
l_count(3) type n value 1,
l_valid type c,
l_valid1 type c,
l_params1 like pri_params.
data: l_device type usr01-spld.
*Get the printer name for the user
select single spld into l_device from usr01 where bname = sy-uname.
if l_device is initial.
l_device = 'LOCL'.
endif.
For report-1
if p_c1 = 'X'.
Setting the print parameters
call function 'GET_PRINT_PARAMETERS'
exporting
destination = l_device
copies = l_count
list_name = sy-uname
list_text = 'SUBMIT ... TO SAP-SPOOL'(008)
release = c_x
new_list_id = c_x
expiration = l_days
LINE_SIZE = 255
LINE_COUNT = 65
layout = p_set
sap_cover_page = space
cover_page = space
receiver = 'SAP*'(010)
department = 'System'(011)
no_dialog = c_x
importing
out_parameters = l_params
valid = l_valid.
if l_valid <> space.
clear v_spool.
Fetch the spool number b4 submit
perform fetch_recent_spool using v_spool.
Submitting the program to spool
submit rkaep000 to sap-spool
using selection-set p_vara1
spool parameters l_params
without spool dynpro
and return.
clear v_spool1.
Fetch the spool number after submit
perform fetch_recent_spool using v_spool1.
if v_spool = v_spool1.
f_spool = c_x.
if p_c2 is initial.
stop.
endif.
else.
Checking the format ( ABAP/OTF)
perform format_check tables s_email.
endif.
else.
message e000 with 'Problem in print settings'(003).
stop.
endif.
endif.
For Report-2
if p_c2 = 'X'.
Setting the print parameters
call function 'GET_PRINT_PARAMETERS'
exporting
destination = l_device
copies = l_count
list_name = sy-uname
list_text = 'SUBMIT ... TO SAP-SPOOL'(008)
release = c_x
new_list_id = c_x
expiration = l_days
LINE_SIZE = 200
LINE_COUNT = 65
layout = p_set1
sap_cover_page = space
cover_page = space
receiver = 'SAP*'(010)
department = 'System'(011)
no_dialog = c_x
importing
out_parameters = l_params1
valid = l_valid1.
if l_valid1 <> space.
clear v_spool.
Fetch the spool number b4 submit
perform fetch_recent_spool using v_spool.
Submitting the program to spool
submit gp3diehxy88snfj0391v7kf9ek7050 to sap-spool
using selection-set p_vara2
spool parameters l_params1
without spool dynpro
and return.
clear v_spool1.
Fetch the spool number after submit
perform fetch_recent_spool using v_spool1.
if v_spool = v_spool1.
message e000 with 'Spool Not Generated'(060).
stop.
endif.
Checking the format ( ABAP/OTF)
perform format_check tables s_email1.
else.
message e000 with 'Problem in print settings'(003).
stop.
endif.
endif.
endform. " generate_spool
*& Form fetch_recent_spool
Fetch the recent spool number generated
form fetch_recent_spool using p_v_spool type tsp01-rqident .
data: l_user like tsp01-rq2name.
clear : v_rqident,
v_rqclient,
v_rqo1name.
l_user = sy-uname.
Get latest Spool No
select single rqident
rqclient
rqo1name
into (v_rqident , v_rqclient , v_rqo1name)
from tsp01
where rqcretime = ( select max( rqcretime )
from tsp01
where rq2name eq l_user
and rqfinal eq '.' ).
if sy-subrc = 0 .
p_v_spool = v_rqident.
endif.
endform. " fetch_recent_spool
*& Form format_check
Checking the format ( ABAP/OTF)
form format_check tables p_s_email structure s_email.
data : l_objtype like rststype-type.
call function 'RSTS_GET_ATTRIBUTES'
exporting
authority = 'SP01'(019)
client = v_rqclient
name = v_rqo1name
part = 1
importing
objtype = l_objtype
exceptions
fb_error = 1
fb_rsts_other = 2
no_object = 3
no_permission = 4.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
if l_objtype(3) = c_otf.
Convert OTF Spool to PDF
perform convert_otf2pdf tables p_s_email.
else.
Convert ABAP Spool to PDF
perform convert_abap2pdf tables p_s_email.
endif.
endform. " format_check
*& Form convert_otf2pdf
Convert OTF Spool to PDF
form convert_otf2pdf tables p_p_s_email structure s_email .
clear it_pdf.
refresh it_pdf.
data : l_bytecount type i.
Fn. to get the PDF format
call function 'CONVERT_OTFSPOOLJOB_2_PDF'
exporting
src_spoolid = v_rqident
no_dialog = 'X'
importing
pdf_bytecount = l_bytecount
tables
pdf = it_pdf
exceptions
err_no_otf_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_dstdevice = 5
user_cancelled = 6
err_spoolerror = 7
err_temseerror = 8
err_btcjob_open_failed = 9
err_btcjob_submit_failed = 10
err_btcjob_close_failed = 11.
if sy-subrc = 0.
For page format
perform page_format tables p_p_s_email.
else.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
endform. " convert_otf2pdf
*& Form convert_abap2pdf
Convert ABAP Spool to PDF
form convert_abap2pdf tables p_p_s_email structure s_email.
clear it_pdf.
refresh it_pdf.
data : l_bytecount type i.
Fn. to convert to PDF format
call function 'CONVERT_ABAPSPOOLJOB_2_PDF'
exporting
src_spoolid = v_rqident
no_dialog = 'X'
importing
pdf_bytecount = l_bytecount
tables
pdf = it_pdf
exceptions
err_no_abap_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_destdevice = 5
user_cancelled = 6
err_spoolerror = 7
err_temseerror = 8
err_btcjob_open_failed = 9
err_btcjob_submit_failed = 10
err_btcjob_close_failed = 11.
if sy-subrc = 0.
For page formatting
perform page_format tables p_p_s_email.
else.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
endform. " convert_abap2pdf
*& Form send_mail
For sending mail
form send_mail tables mail structure s_email .
Structures and internal tables for the send data
data: objpack like sopcklsti1 occurs 2 with header line,
objhead like solisti1 occurs 1 with header line,
objbin like solisti1 occurs 0 with header line,
objtxt like solisti1 occurs 10 with header line,
reclist like somlreci1 occurs 5 with header line.
data: doc_chng like sodocchgi1,
tab_lines like sy-tabix.
Data for the status output after sending
data: sent_to_all like sonv-flag.
clear: it_reclist, it_reclist[],
it_objtxt , it_objtxt[],
it_objpack, it_objpack[],
it_objbin , it_objbin[],x_doc_chng.
loop at it_html.
objbin-line = it_html-line.
append objbin.
clear objbin.
endloop.
Create the document which is to be sent
doc_chng-obj_name = 'List'(012).
doc_chng-obj_descr = 'Mail'(013).
Heading
objtxt-line = 'Mail with pdf attachment'(014).
append objtxt.
clear objtxt.
Size
describe table objtxt lines tab_lines.
read table objtxt index tab_lines.
doc_chng-doc_size = ( tab_lines - 1 ) * 255 + strlen( objtxt ).
Fill the fields of the packing_list for the main document:
clear objpack-transf_bin.
The document needs no header (head_num = 0)
objpack-head_start = 1.
objpack-head_num = 0.
Body
objpack-body_start = 1.
objpack-body_num = tab_lines.
objpack-doc_type = 'RAW'(015).
append objpack.
Create the attachment (the list itself)
describe table objbin lines tab_lines.
Fill the fields of the packing_list for the attachment:
objpack-transf_bin = 'X'.
Header
objpack-head_start = 1.
objpack-head_num = 0.
Body
objpack-body_start = 1.
objpack-body_num = tab_lines.
objpack-doc_type = 'PDF'(016).
objpack-obj_name = 'Attachment'(017).
objpack-obj_descr = 'Mail with pdf Attachment'(018).
objpack-doc_size = tab_lines * 255.
append objpack.
*-Fill the mail recipient list
loop at mail.
reclist-receiver = mail-low.
reclist-rec_type = c_u.
append reclist.
clear: reclist,
mail.
endloop.
*-Send the document by calling the SAPoffice API1 module for sending
*-documents with attachments
call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
exporting
document_data = doc_chng
put_in_outbox = c_x
commit_work = c_x
importing
sent_to_all = sent_to_all
tables
packing_list = objpack
object_header = objhead
contents_bin = objbin
contents_txt = objtxt
receivers = reclist
exceptions
too_many_receivers = 1
document_not_sent = 2
operation_no_authorization = 4
others = 99.
case sy-subrc .
when 0.
message i000 with 'Mail has been sent successfully'(006).
when others.
message e000 with 'Problem in sending the mail'(023).
endcase.
endform. " send_mail
*& Form page_format
For page foramtting
form page_format tables email structure s_email .
data : l_lines type i,
l_temp(500) type c,
l_offset type p,
l_lineslen(2) type p,
l_mimelen(2) type p,
l_tabix like sy-tabix.
clear : it_xi_pdf,
it_xi_temp.
refresh : it_xi_pdf,
it_xi_temp.
it_xi_pdf[] = it_pdf[].
Reformat the line to 255 characters wide (code from SAP)
clear: l_temp, l_offset, it_xi_temp.
describe table it_xi_pdf lines l_lines.
describe field it_xi_pdf length l_lineslen in character mode.
describe field it_xi_temp length l_mimelen in character mode.
loop at it_xi_pdf.
l_tabix = sy-tabix.
move it_xi_pdf to l_temp+l_offset.
if l_tabix = l_lines.
l_lineslen = strlen( it_xi_pdf ).
endif.
l_offset = l_offset + l_lineslen.
if l_offset ge l_mimelen.
clear it_xi_temp.
it_xi_temp = l_temp(l_mimelen).
append it_xi_temp.
shift l_temp by l_mimelen places.
l_offset = l_offset - l_mimelen.
endif.
if l_tabix = l_lines.
if l_offset gt 0.
clear it_xi_temp.
it_xi_temp = l_temp(l_offset).
append it_xi_temp.
endif.
endif.
endloop.
clear : it_xi_mime,
it_xi_mime[].
loop at it_xi_temp.
it_xi_mime(255) = it_xi_temp-line.
append it_xi_mime.
clear it_xi_mime.
endloop.
Final Data
clear : it_html,
it_html[].
it_html[] = it_xi_mime[].
For sending mail
perform send_mail tables email.
endform. " page_format
*& Form fetch_variants
For fetching the variants available for the program
form fetch_variants .
data : l_program like rs38m-programm value 'RKAEP000',
l_vara1 type dfies-fieldname value 'P_VARA1'.
clear : it_variant1,
it_variant1[].
Get variants
perform get_variants tables it_variant1
using l_program.
F4 Help
if not it_variant1[] is initial.
perform get_f4_help tables it_variant1
using l_vara1
changing p_vara1.
else.
message e000 with 'No variants available for report1'(054).
endif.
endform. " fetch_variants
*& Form validation
For Validation
form validation .
data : l_pro1 like rs38m-programm value 'RKAEP000',
l_pro2 like rs38m-programm value 'GP3DIEHXY88SNFJ0391V7KF9EK7050',
l_c1,
l_c2.
If both check-box are unchecked
if p_c1 is initial
and p_c2 is initial.
message e000 with 'Check any one check-box'(049).
endif.
If checked without varaint
if not p_c1 is initial and p_vara1 is initial.
message e000 with 'Please give any one of the variant for report1'(055).
endif.
If checked without varaint
if not p_c2 is initial and p_vara2 is initial.
message e000 with 'Please give any one of the variant for report2'(061).
endif.
Reading the variant and fetching the mail-ids
if p_c1 = c_x.
l_c1 = '1'.
clear : s_email,
s_email[].
perform read_variants tables it_mailid
s_email
using p_vara1
l_pro1
l_c1.
if s_email[] is initial.
message e000 with 'No Id available for given Cost report1'(066).
else.
sort s_email by low.
delete adjacent duplicates from s_email comparing low.
endif.
endif.
Reading the variant and fetching the mail-ids
if p_c2 = c_x.
clear : s_email1,
s_email1[].
l_c2 = '2'.
perform read_variants tables it_mailid1
s_email1
using p_vara2
l_pro2
l_c2.
if s_email1[] is initial.
message e000 with 'No Id available for given Cost report2'(067).
else.
sort s_email1 by low.
delete adjacent duplicates from s_email1 comparing low.
endif.
endif.
endform. " validation
*& Form GET_VARIANTS
Fetching Variants
form get_variants tables p_it_variant structure it_variant1
using p_v_program type rs38m-programm.
select variant
from varid
into table p_it_variant
where report = p_v_program.
endform. " GET_VARIANTS
*& Form GET_F4_HELP
text
form get_f4_help tables p_it_variant1 structure it_variant1
using p_l_vara1 like dfies-fieldname
changing p_p_vara like p_vara1.
Fn. for Pop-Up
call function 'F4IF_INT_TABLE_VALUE_REQUEST'
exporting
retfield = p_l_vara1
value_org = 'S'
display = ' '
tables
value_tab = p_it_variant1
return_tab = it_return
exceptions
parameter_error = 1
no_values_found = 2
others = 3.
if sy-subrc = 0.
p_p_vara = it_return-fieldval.
else.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
endform. " GET_F4_HELP
*& Form FETCH_VARIANTS1
text
form fetch_variants1 .
data : v_program1 like rs38m-programm value 'GP3DIEHXY88SNFJ0391V7KF9EK7050',
l_vara2 type dfies-fieldname value 'P_VARA2'.
clear : it_variant2,
it_variant2[].
Get Variants
perform get_variants tables it_variant2
using v_program1.
F4 Help
if not it_variant2[] is initial.
perform get_f4_help tables it_variant2
using l_vara2
changing p_vara2.
else.
message e000 with 'No variants available for report2'(050).
endif.
endform. " FETCH_VARIANTS1
*& Form read_variants
Reading the variant and fetching the mail-ids
form read_variants tables p_it_mailid structure it_mailid
p_s_email structure s_email
using p_p_vara1 like p_vara1
p_l_pro1 like rs38m-programm
p_l_c1 type c.
data : l_temp(44),
it_valutab like rsparams occurs 0 with header line.
ranges : r_cocen for csks-kostl.
Function Module to get the variant contents
call function 'RS_VARIANT_CONTENTS'
exporting
report = p_l_pro1
variant = p_p_vara1
tables
valutab = it_valutab
exceptions
variant_non_existent = 1
variant_obsolete = 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.
clear : r_cocen,
r_cocen[].
loop at it_valutab where selname = 'KOSTL'
or selname = '_C-CCTR'.
Getting the range of cost centers
if it_valutab-option = 'BT'.
r_cocen-low = it_valutab-low.
For Conversion Routine
perform conversion using r_cocen-low.
r_cocen-high = it_valutab-high.
For Conversion Routine
perform conversion using r_cocen-high.
r_cocen-option = 'BT'.
r_cocen-sign = 'I'.
append r_cocen.
clear r_cocen.
endif.
Getting the single cost centers
if it_valutab-option = 'EQ'.
r_cocen-low = it_valutab-low.
For Conversion Routine
perform conversion using r_cocen-low.
r_cocen-option = 'EQ'.
r_cocen-sign = 'I'.
append r_cocen.
clear r_cocen.
endif.
endloop.
If no cost centers
if not r_cocen[] is initial.
select kokrs
kostl
datbi
telx1
from csks
into table p_it_mailid
where kostl in r_cocen.
if p_it_mailid[] is initial.
if p_l_c1 = '1'.
message e000 with 'No IDs available for report1'(059).
elseif p_l_c1 = '2'.
message e000 with 'No IDs available for report2'(062).
endif.
endif.
Deleting the blank entries
delete p_it_mailid where telx1 = space.
clear l_temp.
read table p_it_mailid index 1.
l_temp = p_it_mailid-telx1.
data : l_check.
loop at p_it_mailid where telx1 <> l_temp.
l_check = c_x.
endloop.
For checking the unique ids
if l_check = c_x.
if p_l_c1 = '1'.
message e000 with 'No unique mail-ids for report1'(058).
elseif p_l_c1 = '2'.
message e000 with 'No unique mail-ids for report2'(065).
endif.
endif.
Populating the IDs for the cost centers
loop at p_it_mailid.
set locale language sy-langu.
translate p_it_mailid-telx1 to lower case.
set locale language space .
concatenate p_it_mailid-telx1 '@allergan.com' into l_temp.
p_s_email-low = l_temp.
p_s_email-sign = 'I'.
p_s_email-option = 'EQ'.
append p_s_email.
clear p_s_email.
endloop.
else.
if p_l_c1 = '1'.
message e000 with 'No Cost Center Available for report1'(057).
elseif p_l_c1 = '2'.
message e000 with 'No Cost Center Available for report2'(063).
endif.
endif.
endform. " read_variants
*& Form CONVERSION
For Conversion Routine
form conversion using p_it_valutab_low type c.
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = p_it_valutab_low
importing
output = p_it_valutab_low.
endform. " CONVERSION
chk this one to send script to pdf
http://www.sapdevelopment.co.uk/reporting/rep_spooltopdf.htm
plzz refer to this link..it will solve ur problem
Re: Sending a PDF document as an attachment
sending the mail with PDF attachment
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/62ae7fcd-0b01-0010-3e9d-a54f26944450
Regards
Sree
Maybe you are looking for
-
Hi Experts, I am bit confused about ISE distributed deployment model . I have two data centers one is DC & other one is as a DR I have requirement of guest access service implementation using CWA and get public certificate for HTTPS to avoid certifi
-
Handling Ranges in Script Logic
Hi Experts Is it possible to put logic to check a range of values in Script Logic. For example, if I need to check if the value in Quantity Account is between 200 and 800, then only some Quantity Discount is calculated against this. What command shou
-
How to enable SSID broadcast? (E4200 Cloud f/w)
I got E4200 v.2 with the latest cloud firmware. On the previous (non-cloud) firmware there was an option to enable or disable SSID broadcast, and I disable it. Now I want to enable it back, but can not find this option in Cisco Connect Cloud. So ther
-
Need help with applications for nokia 6280
Does anyone know where u can get free applications from like games and themes for the 6280.I know u can from somewhere.Any sugestions would be great.
-
LAMP Installation = broken mpd
I installed Apache, MySQL, PHP and PHPMyAdmin yesterday in preparation for a project I'll be doing for someone, and now mpd won't start as a daemon; reinstallation didn't help either. Any ideas? Is there some log file I can check to see why it won't