Re: Transaction varaint
Hi Experts
in tcode co15 3 fields ate in change mode now i want to convert it into display mode
i have user id bharatabap for this id i required change access of all 3 fields
remaining all users it will be in display mode
i had create 2 groups and 2 variants
for eg: abap1and abap2 when i activate abap1 automatically abap2 is deactivated
is their any method to activate both of them
Thanks & Regards
T Bharat Bhushan
hi
issues is solved
Thanks
Similar Messages
-
Hi,
I have created a new transaction variant using SHDO and create a new tcode using SE93.
In both transaction(customize program), there is a table setting.
The problem occurs when I modify the layout, invisible some fields in main tcode, ex: ZVAR, it will also affect the layout in
ZVAR1. How can I control the table without letting both tcode interfere each other when there is a change in table layout.
Please advise.
Thanks.Hi,
I am following exactly the same in doing this but the problem is there. Any reason behind this? Probably the tables are shared although with different transaction code?
I am looking for create transaction variant that show how to turn some fields to invisible kind of tutorial, if you have one, please share? -
Some fields are getting hidden in contract..
Hi All,
I have a problem while creating contract in ME31K.
Start of Validity period validity period end fields are getting hidden in ME31k.
Field selection group for the contract document type is WKK and these fields in this group are 'required entries'.
I don't understand how come these fields are disapearing in contract..
Can anybody please figure out the problem...
Thanks in advance
RajuHi,
In ME31K, these date fields will be usually not showed on the initial screen. While creating contract, after entering vendor, agreement type, agreement date, organizational data, we will be taken to the next screen where in we need to fill validity start date and end date.
In ME33K we can see this information under Header - > Details menu path.
If these dates are not available in the details tab, you might need to create a transaction variant from "SHD0" transaction. Please check under details tab and if not available create try to create a transaction varaint.
Hope this helps you !!!
Regards,
Ganga -
How to set charactersitic in material master as read-only and changable?
Hi experts
We try to change classifcaiton view screen variant. Our target is only one transaction variant could change the classification type z02 ,its characeristic in material master. we hope to know for such case, we could use transaction varaint to meet the target or not ?
We try to use this first, but we use shd0 and click " change in process" button, it will say " variants are possible only for dialog transactions". I checked in se93, it seems this variant maybe is not for dialog transaction .
But how to change such screen varaiant content?Any steps we should follow ?
Thanks
Alice>
alice zhang wrote:
> Hi
>
> Really appreciated for your help. Does that mean transaction variant maybe is not good to classificaiton view ?
>
i searched in service.sap.com and from what i read this seems not to be the most recommended way to solve such a problem -> see the note i mentionend - but there were others, you might want to search for yourself.
>
alice zhang wrote:
> currently ,we use mm02 with variant A, and zmm02 with variant B which could change material status and descritpion.
>
> Do you mean if we set varaint for classficaiton z02, xxx characteristic, Is it possible ? Or it many impact other classfication type like z01 , and when we exit this screen, the variant will be lost?
>
>
the only way to find out for sure is if you test it thoroughly. i cannot help you there, since i don't know about your setup in classes and characteristics. you might want to try your transaction variant of several different material always trying to change the classification. there's another thing: one material might belong to n classes. test that scenario by adding one material to class z01 and z02 and check how the variant behaves ...
>
alice zhang wrote:
> For authoriiation, it could be set for specific class type and characteristic field?
>
yes it can. maybe you have to do a bit more configuration about classification, especially if you want to group screens etc. -> please refer to help.sap.com for detailed documentation. -
Prevent Double click in Document Flow
Hello,
We have a need in our project to restrict certain users from veiwing price in Sales Documents. We have achived this by using various exits and hiding the price. But we have a problem regarding the Document flow. When the user clicks on the document flow and then double clicks on a line indicating a Sales Document, the price is shown in an ALV display. Is there anyway to prevent this?
Thanks in advance for your help
Best Regards
AnirbanHey Anirban,
The same requirement we have done.
First we used some exists to hide th price but does not go well.
Finally we did using SHD0.
We created a transaction varaint by removing the conditions tab from the screen and added new tcode ZVA0* (1,2,3). Who ever the user uses the ZVA0* will not be able to see the price from anywhere .
Regards,
Vvieks -
Error message for profit center
Hello,
The requirement is that the user should not be able to save the sales order without entering the profit center at the item level.
I have tried to make the profit center mandatory for a particualr company code:-
1.Sales - Item and double click on Procedures. There select Standard Item and click on Fields. There maintain the following:-
Table::::Fld name::::::Description::::::::Screen:::Status
VBAP::::::PRCTR::::::::Profit Center::::::::PKNT:::::00
But the system allows to save the sales order.
2.Tried to use transaction varaint, but these changes would be at client level.
3. Through system enhancement:-
Program name:- SAPMV45A
Include:- MV45AFZZ
Coding done in enhancement:- USEREXIT_MOVE_FIELD_TO_VBAP.
The system displays an error message but allows to save the document.
Please suggest .
Regards
Aadesh KamatHi,
Use the same user exit and try writing the same logic in
FORM USEREXIT_SAVE_DOCUMENT_PREPARE
The logic should be somthing like:
if company code = 'XXXX'
if vbap-prctr = ''.
message e000 with 'Profit Center is mandatory'
endif.
endif.
Regards,
Amit
Edited by: Amit Iyer on Jun 17, 2011 2:36 PM -
hai
how to record or write a bdc along with screen variant for a tcode.
anand kumar
Edited by: Rob Burbank on Jun 22, 2009 10:34 AMHi,
it is exactally same as normal recording. Instead of using the actual tcode while recording from SHDB use the transaction varaint for recording.
Cheers
VJ -
Profit center derived from business area
Hello,
We are having a problem with one of our business areas. We are posting F-53 disbursements from a custom program (using a BDC). When we fill in the initial screen, we currently fill the business area field (GSBER). The profit center (PRCTR) is then derived from the business area. This is working for all of our business areas except one. For this one particular business area, an invalid profit center (one that doesn't exist) is somehow being derived. Where is the derivation determined? I've seen transactions 3KEH, 3KEI, and 1KE4 all mentioned in reference to derivation rules; unfortunately I can't access any of these (no authorization), so I can't even look to see whether we have any entries there or if those transactions are relevant to this problem. If someone can tell me which transaction or table would control the business area to profit center derivation, I can at least have someone with the correct authorizations take a look. I was able to look in FMDERIVE, and I don't see any relevant strategies there.
Thanks,
April Erickson
Solved: Entries were in 3KEI. The entries there had been moved to test and production, but the corresponding profit center entry in CEPC had not.
Edited by: April Erickson on Feb 11, 2009 5:07 PMHi sachin
Documnet type RE is given business transaction varaint 'vendor invoice'.
In this input tax account item category is assigned in the splitting rule.
In fact, system inherits BA and PC from opposite line item.
But when we substitute other PC in input tax account then the system stops inheriting for BA also.
So, my question is whether inheritance will apply to all characteristics only or it can be applied for one characteristic ( BA) and other charactriestic PC can be derived in another way using substitution.
Regards
S.Radhakrishnan -
Mes# AA416:partial scrapping of asset with no value in the 0L ledger
Hi,
When I try to perform partial scrapping of an asset having no value in the 0L ledger (depreciation book) and some value TL ledger(tax book) with Tr Type 200, I get the error, "Retirement of old assets data not possible (No existing old assets data)" mes no AA416."
Can anybody please help me out with this issue.
Thanks
AparnaDear Bernhard,
Thansk for the reply!!
Apologies for replying after such a log time!! I was on leave for last 3 weeks , so, could not proceed furthur. I checked in the system regarding the suggetion you provided. I am trying to execute partial scrapping by the transfer variant which is having the tr type 220. However, tr type 220 is not restricted to any dep area. But I am not able to post.
My query is: Should I create one more transaction tyepe similar to tr type 200, restrict it to the dep area 15 (as we need to partailly scrap the assets which are having 0 value in 0L ledger and some value in TL ledger) and one more transfer variant and assign the new tr type to this new transaction varaint?
Thanks & Regards
Aparna -
SHD0 transaction to create varaints?
Hi,
I have button called "corrective actions and preventions" in PLMD_AUDIT transaction under question list.
I want disable that button..
can we do that using Screen/Transaction variants to disable that button..if so how can we that with Screen/Transaction variants..please let us know..
ThanksHI,
Yes you can go through SHD0 transaction. Enter the tcode you want and then after every screen a pop up window comes and you can check whether to be displayed or make it disable.
Just try it out. It works.
Regards,
chaithanya K -
ABAP dump in ecc 6.0 for F110 transaction
HI All,
We have recently upgraded to ECC 6.0 from 4.6C.
While displaying the proposal/exception list using F110 transaction for the program RFZALI20. The ABAP dump says "Unable to interpret "1 5D " as a number". It is failing for Key for print parameters (PRI_PARAMS-PRKEYEXT).
Has anyone faced this issue?
Thanks in advance.
-APKHI Balaji,
We could get over this issue by changing the print parameters in the variant we have used.
The variant had some print parameters selected (having green check) even though there are no parameters which are selected. So, I have created a varaint without the print parameters option checked (no more green check in the extended selection).
Hope this is clear.
-Pradeep -
Converting the Transaction into PDF
Hi All,
How to convert the standard transaction PZ11 into PDF.
Presently this PZ11 giving the output in script format.
i need to convert it into PDF.
it is very urgent...
Pls do the needful..
Regardshi
good
*& 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
http://www.sapdevelopment.co.uk/reporting/rep_spooltopdf.htm
thanks
mrutyun^ -
How to save a varaints in module pool programming
Hi All,
How to save a varaints in module pool programming.
Thanks in Advance.
GS.Hi,
Forgot my previous reply.
Just now I checked.
Create transaction[say.,zzz_test1] using SE93 [choose the option Program and screen] for your module pool program.
Then use SHDS transaction to create a variant[say zzz_v1] for the transaction you created above.
Then use SE93 [choose the option Transaction with Variant] to create another transaction zzz_test2 by mentioning the module pool program name and zzz_test1 transaction which you created and zzz_v1 variant which you created.
Then if you run the transaction ZZZ_test2,then you can see the variant values.
I created just now all these and it works.
Hope this is clear.
If not,get back. -
T.code for ABAP Varaints
Hi,
Can anybody tell me the transaction code for ABAP varaints.
In Se38 , Giving a program name and selecting the radiobutton varaints and click on display.
We get varaints screen. I need the transaction code for that screen.
Regards,
SaiHi,
This screen is only called from function module RS_VARIANT_SCREEN (easily found by using 'where-used'). This in turn is called from a number of places (SE38, SA38 etc) but I don't know of a transaction that goes to the variant screen directly.
After all, the screen is only used if you populate the program name first, like in SE38 for example.
Regards,
Nick -
Hello,
I am facing a problem today to create a default variant for code inspector transaction SCII. I created the transaction variant in SHD0 and activated as a default standard. However when i run SCII, the variant is not getting picked. I would like to know what could be wrong. Is there any other way to provide a default varaint when i run transaction SCII
Many Thanks'
SreejithHello,
I think you can customize the trxn (create your own variants) using SCI. I am not sure if SCII can help you on this.
To maintain your own set of naming conventions :
SCI --> Create Check Variant --> Programming Conventions --> Naming Conventions.
Please go through the blog. It is very well documented on how to proceed with creating your own variants & using them in your code.
In SCII you have a "Temporary Definition" radio button. Here you have the tree like: Programming Conventions --> Extended Naming convention for Program
Here you can maintain the naming convention for you internal table & structures
BR,
Suhas
Edited by: Suhas Saha on Mar 8, 2010 11:08 AM
Maybe you are looking for
-
Batch list import is picky about line terminations in the text file
After running into trouble trying to compose a batch list for import, I isolated the issue: The text file that you attempt to import must have "carriage return" characters at the end of each line. It can have a "carriage return" and a "line feed", bu
-
I have no difficulty signing into my account with windows xp. using a different computer, I cannot sign in to my account using windows 7. Account and password can be filled in but nothing happens after arrow is clicked. What can be going on?
-
Shipping and Transportation Multimodal - Pricing Error
Dear Friends, I have created a Shipment Cost document with the T-Code VI01. There are 3 legs in the Transportation document viz first through Road, second through Rail and the last through Sea. The pricing procedure used for all the three legs are di
-
I can't pair my nano with my 2013 honda accord
When I try to pair my nano with my 2013 Honda Accord, they don't even recognize each other.
-
I run mac os x 10.9.5 and i can't open apple store and mail application crush
i run mac os x 10.9.5 and i can't open apple store and mail application crush any help?? thanks in advance