No User: command implementation?
Hello folks,
I'd just like a confirmation here as I haven't seen it black on white in other posts in the forum but have seen enough signs to expect the worst here :(
I gather that libspamass.so does NOT supply the User: command in its implementation of the spamd protocol. Correct? So this means no per-user preferences are possible (SQL, LDAP etc etc).
Cheers
Hi,
Well, sendmail will take the user portion of the
e-mail address and look up the LDAP store in DS 5.2
for objects having UID="user portion of the e-mail
address" AND posixAccount value in the multi-valued
objectClass attribute (it also queries LDAP for some
alias that = "user portion of the e-mail address" but
I don't remember the specific attribute that sendmail
filters by in its LDAP query). I read this out of the
DS 5.2 log whilst looking for sendmail's interaction
with the LDAP server.I figured that this would be the case. Where this gets complex is if you start having multiple domains, rewrite rules, email forwarding etc. For a controlled environment implementation such as what you describe it is very-much workable.
Then once sendmail gets its spamassassin verdict, I
need it to return the message back to MS 6.2. I
haven't got that detail worked out yet (neither do I
know whether I can actually do it without modifying
sendmail source code).Probably the easiest way to get this back to messaging server is to add an email header (e.g. X-Spam-Level: *******) and then use a sieve filter in each users entry to filter as appropriate. This is how I implemented our Spam filtering.
Regarding user preferences, custom whitelists and
blacklists would be useful. It would also be useful
to give each user the facility to decide on his own
threshold score (as you mentioned). All of these can be controlled/implemented through sieve-filters. We implemented custom whitelists (not blacklists as we didn't want students rejecting 'important' emails). There has been discussion on this forum with regards to implementing blacklists in LDAP that way you can reject-before-accept emails.
Most of the work tends to be on the user-interface level -- writing the tool that tweaks the appropriate Sieve-filter/LDAP/SQL entries for the user.
Yes, group mail processing would be a problem but I
get the impression that the developers of Messaging
Server have tended to discard features that pose
operational problems rather than implement them and
leave it to the system engineers to decide upon their
application.Unfortunately (and as support cases show all too clear) given messaging server admins a loaded gun such as this is usually a mistake. The current spamassassin plugin has proven to be very popular, and easy to implement.
If more advanced admins want to implement their own improved/custom version they can do so through any number of approaches (of which you are using one). I personally chose to write a custom channel which was able to virus-scan/spam-scan/replace attachments in one sweep just the way my organisation liked.
If I was to do something like this today, I would go down the milter approach (coming soon in messaging server 6.3).
In this case, I think that libspamass.so
should have implemented the User command but come
with it disabled by default. Similarly, when we
discussed mailfromdnsverify, the extra verifications
would have been useful but were omitted and during
that thread it was hinted that the processing load of
those extra verifications was a factor in the
decision to omit them. I didn't necessarily agree with this either, which is why I recommend that you log an RFE to have this facility improved. The mailfromdnsverify code hasn't been modified in a very long time -- so unless an actual customer asks for improvements they won't occur. The developers have plenty on their plate already so request from inside tend to have less impact then those from paying customers.
Resource provisioning is the
system engineer's problem, not the developers'.Can I quote you on this :)
Regards,
Shane.
Similar Messages
-
USER COMMAND CODE for the ICON "Back"
Hello All,
I wanted to know if there is any command code for the user-command icon "back" that i can use while programming.
e.g. as for the icon "save" there is '&data_save' code which we can use.
I have used the code "&F03" for 'back" but it does not call the routine i have written for the same.
So if in case no other code for "Back" icon is available, what is the procedure to implement the "back" command through programming?
as when i click the icon,the code written inside the report should be executed along with the normal "back" function.
ThanksHi..
you do one thing..put /h. then click on back.At the bottom pART of the debugging screen u find
Field names section..There type sy-ucomm and press enter. The value of sy-ucomm can be seen...
Thats the value u need...Which u can use the same in case statement
and its case sensitive.chk the same.. and write it in quotes( ''). that is 'BACK' or 'F03'
Edited by: Rudra Prasanna Mohapatra on Jun 21, 2008 7:48 AM -
At User command - enhancement for FBL1N
Good day,
For our requirement, we have modified the Vendor Line Item display report (Tcode FBL1N) to include another field. Now we need enhance this further. When the user clicks on this additional field, a customer specific functionality needs to be called (not the FI document).
We checked the BADIs/ User exits for FBL1N. There are several menu enhancements. But no specific enhancement for the
'at user command' action, called when this field is clicked. We would like to know if anyone of you have implemented this before.
Appreciate your help,
Liz.Hi,
I tried in my system and it allows me to create enhancement in FI_ITEMS_DISPLAY. Take the following steps.
Go to Se37 and press display for function module. Press SHIFT+F4. Go to edit--> enhancement operation->show implicit enhancements.
It will bring a line at start and end of function module. In the end before endfunction right click with curson on line and click create implementation. Choose declaration and name of implementation and code there.
I believe you are on ECC.
Let me know in case you need any help.
Nabheet -
Objects not created after the AT USER-COMMAND
Hi experts, gud evening. I'm new to ooabap. in my prog. after the at user-command the objects are not getting created. so i've created even before that. even then i couldn't get that created. so pls help me where the prob. is
Prog :
REPORT yrj_my_oops.
CLASS cl_vbak DEFINITION
CLASS cl_vbak DEFINITION.
PUBLIC SECTION.
METHODS : load_data IMPORTING value(im_kunnr) TYPE vbak-kunnr,
display_head,
write_data.
PROTECTED SECTION.
PRIVATE SECTION.
DATA : it_vbak TYPE TABLE OF vbak,
wa_vbak TYPE vbak.
ENDCLASS. "cl_vbak DEFINITION
DATA : w_vbeln TYPE vbak-vbeln.
CLASS cl_vbap DEFINITION
CLASS cl_vbap DEFINITION.
PUBLIC SECTION.
METHODS : load_data IMPORTING value(im_vbeln) TYPE vbak-vbeln,
write_data.
PROTECTED SECTION.
PRIVATE SECTION.
DATA : it_vbap TYPE TABLE OF vbap,
wa_vbap TYPE vbap.
ENDCLASS. "cl_vbap DEFINITION
CLASS cl_vbap IMPLEMENTATION
CLASS cl_vbap IMPLEMENTATION.
METHOD load_data.
SELECT * FROM vbap INTO TABLE it_vbap WHERE vbeln = w_vbeln.
ENDMETHOD. "load_data
METHOD write_data.
LOOP AT it_vbap INTO wa_vbap.
WRITE : /5 wa_vbap-posnr,
20 wa_vbap-matnr,
35 wa_vbap-arktx,
70 wa_vbap-netpr.
ENDLOOP.
ENDMETHOD. "write_data
ENDCLASS. "cl_vbap IMPLEMENTATION
CLASS cl_vbak IMPLEMENTATION
CLASS cl_vbak IMPLEMENTATION.
METHOD load_data.
SELECT * FROM vbak INTO TABLE it_vbak WHERE kunnr EQ im_kunnr.
ENDMETHOD. "load_data
METHOD display_head.
WRITE : /5 'Order No.',
15 'Order Date',
30 'Net Value'.
ENDMETHOD. "display_head
METHOD write_data.
LOOP AT it_vbak INTO wa_vbak.
WRITE : /5 wa_vbak-vbeln,
15 wa_vbak-audat,
30 wa_vbak-netwr.
ENDLOOP.
ENDMETHOD. "write_data
ENDCLASS. "cl_vbak IMPLEMENTATION
PARAMETERS : p_kunnr TYPE vbak-kunnr.
DATA : o_vbak TYPE REF TO cl_vbak,
o_vbap TYPE REF TO cl_vbap.
START-OF-SELECTION.
SET PF-STATUS : 'YRJ_MY_OOPS'.
CREATE OBJECT o_vbak.
CREATE OBJECT o_vbap.
CALL METHOD o_vbak->load_data
EXPORTING
im_kunnr = p_kunnr.
CALL METHOD o_vbak->display_head.
CALL METHOD o_vbak->write_data.
AT USER-COMMAND.
w_vbeln = sy-lisel+4(10).
CASE sy-ucomm.
WHEN 'BACK' or 'EXIT'.
LEAVE LIST-PROCESSING.
WHEN 'ITEM'.
CREATE OBJECT o_vbap.
CALL METHOD o_vbap->load_data
EXPORTING
im_vbeln = w_vbeln.
CALL METHOD o_vbap->write_data.
WHEN OTHERS.
ENDCASE.Hi,
I dont see any problem with you code. I ran your code in my system and worked fine. Except for one thing that is you need to do a conversion exit on the w_vbeln before selecting data from VBAP in method load data. This is because when you ouput the data, the VBELN is converted to external format and thus needs to be converted to internal format if you want to do further selects based on it.
CLASS cl_vbap IMPLEMENTATION.
METHOD load_data.
" Add this , so it converts the VBELN to internal format.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = w_vbeln
IMPORTING
output = w_vbeln.
SELECT * FROM vbap INTO TABLE it_vbap WHERE vbeln = w_vbeln.
ENDMETHOD. "load_data
METHOD write_data.
LOOP AT it_vbap INTO wa_vbap.
WRITE : /5 wa_vbap-posnr,
20 wa_vbap-matnr,
35 wa_vbap-arktx,
70 wa_vbap-netpr.
ENDLOOP.
ENDMETHOD. "write_data
regards,
Advait -
How to add user command to drop down list in output screen for OALV Report
Hi Experts,
I have created a report by using OALV.
in Output screen i have added drop down for one filed with 2 values.
when i select value from the drop down list the program should trigger and the next field should be update.
so it is possiable to add a user command for the drop down list in output screen.
if so please help me .
Regards,
RathanHI,
Check the Demo program BCALV_EDIT_06 with having the DATA_CHANGED event still you can capture the changed data. This event will help you.
or you can go for this code..
data: it_f4 type lvc_t_f4,
wa_f4 type lvc_s_f4.
wa_f4-FIELDNAME = 'CONNID'.
wa_f4-REGISTER = 'X'.
wa_f4-GETBEFORE = 'X'.
wa_f4-CHNGEAFTER = 'X'.
append wa_f4 to it_f4.
"register F4 event
CALL METHOD g_alv_grid_ref->register_f4_for_fields
EXPORTING
it_f4 = it_f4.
"Once you try to pick the value HANDLE_DATA_CHANGED event will be triggered
"Definition
methods:
handle_data_changed FOR EVENT data_changed OF cl_gui_alv_grid
IMPORTING er_data_changed e_onf4 e_onf4_before e_onf4_after,
"Implementation
METHOD handle_data_changed .
DATA: ls_mod_cells TYPE lvc_s_modi.
IF e_onf4_before = 'X'.
MESSAGE 'Data changed before F4' TYPE 'I'.
ENDIF.
IF e_onf4 = 'X'. "if event triggered by F4
MESSAGE 'Data changed on F4' TYPE 'I'.
ENDIF.
IF e_onf4_after = 'X'.
MESSAGE 'Data changed after F4' TYPE 'I'.
ENDIF.
"here you know which cell was modified
LOOP AT er_data_changed->mt_mod_cells INTO ls_mod_cells.
"just example test case, here you can implement your code for modified cells
IF ls_mod_cells-value >=5.
CALL METHOD er_data_changed->add_protocol_entry
EXPORTING
i_msgid = 'SABAPDOCU'
i_msgty = 'E'
i_msgno = '888'
i_msgv1 = 'Only numbers below 5 are possibe'
i_msgv2 = 'Please correct'
i_fieldname = ls_mod_cells-fieldname
i_row_id = ls_mod_cells-row_id.
CALL METHOD er_data_changed->modify_cell
EXPORTING
i_fieldname = ls_mod_cells-fieldname
i_row_id = ls_mod_cells-row_id
i_value = space.
ENDIF.
ENDLOOP.
ENDMETHOD. "handle_data_changed
Edited by: sum_it2 on Nov 21, 2011 10:07 AM -
Say I have some user command that is one line and spaced accordingly:
PLACE 10 20 San Francisco
Where "PLACE" is the name of the command, "San Francisco" is a String name, and 10 20 are just x and y coordinates.
How would I break up the line so that "10" is in one index of an array, "20" is in the next, and "San Francisco" is in the third? So far, I am trying to use a while loop, but am not sure how to make sure that "San Francisco" is in one array and not separated. Is there a more intuitive way to do this?Or you can introduce quoting.
When I've had to do a non-trivial command input, the (relatively) simplest solution seemed to be to either split the command line into a space-delimited array of Strings, or split it into two strings ("command" and "rest") on the first space, and then use the command to look up an object in a Map<String, Command>, where the String keys are the commands parsed from the first token in the command input, and the Command objects follow the Command Pattern ("command" has different meanings here) such that they have an exec() method that takes the remaining input line or token array and has the smarts to parse it appropriately.
Trying to make a general-purpose parser for all commands in one place is generally pretty hairy. Better to put the specific parsing details in with the command execution code. (Though I suppose you could implement quoting etc. pretty well universally for all commands). -
User command is not getting triggered in interactive ALV with LIST display
Hi experts,
I have developed an interactive ALV report with LIST display. Here, the issue is, when i double click a record in the primary ALV list, the control must go to the USER COMMAND event which i have written in my report. But the user command event is not getting triggered at all when i double click any record.
It gives the following information instead.
"Choose a valid function".
(My user command name and its respective form name are same.)
Here is my code..
START-OF-SELECTION.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_structure_name = p_table
i_callback_user_command = 'TST1'
i_callback_pf_status_set = 'SET_PF_STATUS'
TABLES
t_outtab = <dyn_table>
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
ENDIF.
FORM tst1 USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
* Local data declaration
DATA: li_tab TYPE REF TO data,
l_line TYPE REF TO data.
* Local field-symbols
FIELD-SYMBOLS:<l_tab> TYPE table,
<l_wa> TYPE ANY.
* Create table
CREATE DATA li_tab TYPE STANDARD TABLE OF (p_table).
ASSIGN li_tab->* TO <l_tab>.
* Create workarea
CREATE DATA l_line LIKE LINE OF <l_tab>.
ASSIGN l_line->* TO <l_wa>. CASE r_ucomm.
* When a record is selected
WHEN '&IC1'.
* Read the selected record
READ TABLE <dyn_table> ASSIGNING <dyn_wa> INDEX
rs_selfield-tabindex. IF sy-subrc = 0.
* Store the record in an internal table
APPEND <dyn_wa> TO <l_tab>.
* Fetch the field catalog info
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = 'Z_DEMO_PDF_JG'
i_structure_name = p_table
CHANGING
ct_fieldcat = i_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
Please advice what is the msitake i have done here..Read the following code:
pass the i_callback_user_command = g_user_command to the ALV function module and write the FORM user_command USING ucomm LIKE sy-ucomm
selfield TYPE slis_selfield.
as shown below.
thanx
Data for ALV display
DATA : gt_fieldcat TYPE slis_t_fieldcat_alv,
gt_events TYPE slis_t_event,
g_variant LIKE disvariant,
g_user_command TYPE slis_formname VALUE 'USER_COMMAND',
g_status TYPE slis_formname VALUE 'SET_PF_STATUS',
gt_list_top_of_page TYPE slis_t_listheader,
g_repid LIKE sy-repid,
gf_pos TYPE i
Data for ALV display
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_repid
i_callback_program = sy-repid
it_fieldcat = gt_fieldcat[]
it_events = gt_events[]
i_callback_user_command = g_user_command
i_save = 'A'
is_variant = g_variant
TABLES
t_outtab = it_print.
FORM user_command USING ucomm LIKE sy-ucomm
selfield TYPE slis_selfield.
CASE ucomm.
WHEN '&IC1'.
CASE selfield-sel_tab_field.
WHEN '1-KUNNR'.
READ TABLE it_print INTO wa_print INDEX selfield-tabindex.
IF sy-subrc = 0.
SET PARAMETER ID 'BPA' FIELD wa_print-kunnr.
CALL TRANSACTION 'BP'.
ENDIF.
WHEN '1-MATNR'.
READ TABLE it_print INTO wa_print INDEX selfield-tabindex.
IF sy-subrc = 0.
SET PARAMETER ID 'JP_ISS' FIELD wa_print-matnr.
CALL TRANSACTION 'JP29' AND SKIP FIRST SCREEN..
GET PARAMETER ID 'WRK' FIELD wa_zprint-werks.
SET PARAMETER ID 'VKO' FIELD wa_zprint-vkorg.
SET PARAMETER ID 'VTW' FIELD wa_zprint-vtweg.
CALL TRANSACTION 'JP29' AND SKIP FIRST SCREEN.
ENDIF.
Endcase.
Endform. -
How to use AT LINE-SELECTION and AT USER-COMMAND in one report????
Dear all,
I have a problem in reports I want to use AT USER-COMMAND.and AT LINE-SELECTION.both in the one report.
But as soon as I use SET PF-STATUS my AT LINE-SELECTION event stop workingand only AT USER-COMMAND is working.
How can I use both of them in one report for your reference I am giving my test program below.
REPORT ZTEST111 .
SET PF-STATUS '100'.
DO 10 TIMES.
WRITE:/ SY-INDEX.
HIDE SY-INDEX.
ENDDO.
START-OF-SELECTION.
AT LINE-SELECTION.
MESSAGE I002(SY) WITH SY-INDEX.
AT USER-COMMAND.
MESSAGE I002(SY) WITH 'USER COMMAND'.
END-OF-SELECTION.
Thanks in advance
Sachin Gautamhi
Syntax
AT USER-COMMAND.
Effect
This statement defines an event block whose event is triggered by the ABAP runtime environment if, during the display of a screen list, a function with a self-defined function code was chosen.
Note
Self-defined function codes are all those that include character combinations, except for the following:
The function codes PICK and PF## ("##" stands for 01 to 24) do not cause the event AT USER-COMMAND, but the events AT LINE-SELECTION and AT PF##.
All function codes that start with the character "%" are interpreted as system functions and do not cause the event AT USER-COMMAND. The system functions for lists are listed in the following table 1.
The function codes in the following table 2, likewise, do not cause the event AT USER-COMMAND, but are handled by the list processor.
Table 1
Function code Function
%CTX Call a context menu
%EX Exit
%PC Save to file
%PRI Print
%SC Search for ...
%SC+ Find next
%SL Search in office
%ST Save to report tree
Table 2
Function code Function
BACK Back
P- Scroll to previous page
P-- Scroll to first page
P+ Scroll to next page
P++ Scroll to last page
PFILE name Store list lines in a text file named abap.lst in standard character representation in the standard directory of the application server. If a name is entered using name, this is converted to lowercase letters and used as the file name.
PL- Scroll to first line of the page
PL-n Scroll n lines back
PL+ Scroll to last line of the page
PL+n Scroll n lines up
PNOP No effect
PP- Scroll back one page
PP-n Scroll n pages back
PP+ Scroll one page forward
PP+n Scroll n pages forwad
PPn Scroll to beginning of page n
PRI, PRINT Print
PS-- Scroll to first column
PS++ Scroll to last column
PS- Scroll one column to the left
PS-n Scroll n columns to the left
PS+ Scroll one column to the right
PS+n Scroll n columns to the right
PSn Scroll to column n
PZn Scroll to line n
RW Cancel -
Problem with User Command in alv report
Hi
I have developed a ALV grid report with drill down capability to transaction code for user command. I am having a trouble with this.
CASE ucomm.
WHEN '&IC1'.
CLEAR: wa_import.
IF selfield-fieldname EQ 'ANLN1'.
READ TABLE t_import INTO wa_import INDEX selfield-tabindex.
SET PARAMETER ID 'BUK' FIELD wa_import-bukrs.
SET PARAMETER ID 'ANl' FIELD wa_import-anln1.
CALL TRANSACTION 'AW01N'.
ENDIF.
here my parameter ids are showing the values but when i call the transaction i am not getting the actual asset numbers.
Can someone help me out this
ThanksHi,
add the AND SKIP FIRST SCREEN...addition..
CALL TRANSACTION 'AW01N' AND SKIP FIRST SCREEN.
Thanks
Naren -
Trying to generate the spool from at user command...
Hi Gurus,
The spool is not getting created in the foreground, I think I am missing something here, the code is below.
AT USER-COMMAND.
CASE sy-ucomm .
WHEN 'SEND'.
PERFORM get_cust_emails.
LOOP AT i_output.
READ TABLE i_mail INTO wa_mail WITH KEY kunnr = i_output-rcvprn. " rcvprn is customer number,
IF sy-subrc IS INITIAL.
IF wa_mail-smtp_addr IS NOT INITIAL. if the customer has an email then create the entry in i_output_mail.
i_output_mail = i_output.
APPEND i_output_mail.
CLEAR: i_output_mail.
DELETE i_output.
CLEAR: i_output.
ENDIF.
ENDIF.
ENDLOOP.
Setting the Print Parameter's for Portrait
PERFORM f_print_report. " form is below
SORT i_output_mail BY rcvprn belnr. "rcvprn is the customer number
PERFORM f_prepare_mail. " form is below
MESSAGE i307.
LEAVE LIST-PROCESSING.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
Subroutines provided below:
FORM f_print_report .
*Program name
DATA : l_prog_name TYPE sy-repid,
i_print TYPE slis_print_alv.
Local Constants
CONSTANTS: lc_vline TYPE c VALUE '|'.
l_prog_name = sy-repid.
CLEAR: i_events[], wa_events.
wa_events-name = c_top. "'TOP_OF_PAGE'.
wa_events-form = c_top.
APPEND wa_events TO i_events.
CONSTANTS: lc_prtr TYPE sypdest VALUE 'LP01',
lc_layout TYPE sypaart VALUE 'X_90_120',
lc_layout1 TYPE sypaart VALUE 'X_65_255',
lc_lines TYPE sylinsz VALUE '-120',
lc_lines1 TYPE sylinsz VALUE '-185',
lc_mode TYPE sycallr VALUE 'CURRENT'.
Get the print paramters
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
authority = space
destination = lc_prtr
immediately = space
new_list_id = c_x
layout = lc_layout
line_size = lc_lines
mode = lc_mode
no_dialog = c_x
report = sy-repid
user = sy-uname
suppress_shading = c_x
IMPORTING
out_parameters = i_pr_param
valid = l_valid
EXCEPTIONS
archive_info_not_found = 1
invalid_print_params = 2
invalid_archive_params = 3
OTHERS = 4.
CLEAR: g_heading_completed."Indicator for print header
ENDFORM. "f_print_report
FORM f_prepare_mail .
LOOP AT i_output_mail.
l_flag_mail = 'X'.
CLEAR: l_flag.
WRITE: /08(1) c_vline, 10(09) i_output_mail-stapa1, 20(1) c_vline,21(10) i_output_mail-datum,
31(1) c_vline, 32(10) i_output_mail-belnr, 42(1) c_vline,43(15) i_output_mail-total,
58(1) c_vline, 59(15) i_output_mail-surcrg, 74(1) c_vline,75(05) i_output_mail-kperc,
80(1) c_vline, 81(15) i_output_mail-betrg, 96(1) c_vline,97(19) i_output_mail-summe,
116(1) c_vline,117(03) i_output_mail-curcy, 120(1) c_vline.
AT END OF rcvprn.
SUM.
ULINE /8(113).
WRITE: /8(1) c_vline.
FORMAT COLOR 3.
WRITE: 10(09) text-064, 20(01) c_vline, 21(10) space,
31(1) c_vline, 32(10) space, 42(01) c_vline, 43(15) i_output_mail-total,
58(1) c_vline, 59(15) i_output_mail-surcrg, 74(1) c_vline, 75(05) space,
80(1) c_vline, 81(15) i_output_mail-betrg, 96(1) c_vline, 97(19) i_output_mail-summe,
116(1) c_vline,117(03) space, 120(01) c_vline.
FORMAT COLOR OFF.
ULINE /8(113).
NEW-PAGE.
ENDAT.
AT END OF rcvprn.
i_pr_param-linsz = 1000.
NEW-PAGE PRINT ON PARAMETERS i_pr_param NO DIALOG.
NEW-PAGE PRINT OFF.
If spool number is obtained, generate PDF
IF sy-spono IS NOT INITIAL.
PERFORM f_generate_pdf.
*Send the PDF as mail attachement
PERFORM f_send_email.
ENDIF.
ENDAT.
ENDLOOP.
ENDFORM. " SEND_MAIL
Please check the code and suggest some changes.
Thanks,
Sukumar.Hi,
The data is getting printed incorrectly, I have coded as you have instructed. But the report output (not emailing) is getting printed ok. The code for that is as below.
FORM f_list_display .
LOOP AT i_output.
g_flag = c_x.
CLEAR: g_flag_mail.
WRITE: /08(1) c_vline, 10(09) i_output-stapa1, 20(1) c_vline,21(10) i_output-datum,
31(1) c_vline, 32(10) i_output-belnr, 42(1) c_vline,43(15) i_output-total,
58(1) c_vline, 59(15) i_output-surcrg, 74(1) c_vline,75(05) i_output-kperc,
80(1) c_vline, 81(15) i_output-betrg, 96(1) c_vline,97(19) i_output-summe,
116(1) c_vline,117(03) i_output-curcy, 120(1) c_vline,121(10) i_output-rcvprn.
AT END OF rcvprn.
SUM.
ULINE /8(113).
WRITE: /8(1) c_vline.
FORMAT COLOR 3.
WRITE: 10(09) text-064, 20(01) c_vline, 21(10) space,
31(1) c_vline, 32(10) space, 42(01) c_vline, 43(15) i_output-total,
58(1) c_vline, 59(15) i_output-surcrg, 74(1) c_vline, 75(05) space,
80(1) c_vline, 81(15) i_output-betrg, 96(1) c_vline, 97(19) i_output-summe,
116(1) c_vline,117(03) space, 120(01) c_vline.
FORMAT COLOR OFF.
ULINE /8(113).
NEW-PAGE.
ENDAT.
ENDLOOP.
ENDFORM. " F_LIST_DISPLAY
The code which you gave should work as the above code. The above code is for report output and our code is for sending mails to the customers separately, thus we are creating separate spools customer-wise.
Our code for emailing to customers seperately is below.
FORM f_prepare_mail .
LOOP AT i_output_mail.
At new rcvprn.
NEW-PAGE PRINT ON PARAMETERS i_pr_param NO DIALOG.
endat.
l_flag_mail = 'X'.
CLEAR: l_flag.
WRITE: /08(1) c_vline, 10(09) i_output_mail-stapa1, 20(1) c_vline,21(10) i_output_mail-datum,
31(1) c_vline, 32(10) i_output_mail-belnr, 42(1) c_vline,43(15) i_output_mail-total,
58(1) c_vline, 59(15) i_output_mail-surcrg, 74(1) c_vline,75(05) i_output_mail-kperc,
80(1) c_vline, 81(15) i_output_mail-betrg, 96(1) c_vline,97(19) i_output_mail-summe,
116(1) c_vline,117(03) i_output_mail-curcy, 120(1) c_vline.
AT END OF rcvprn.
SUM.
ULINE /8(113).
WRITE: /8(1) c_vline.
FORMAT COLOR 3.
WRITE: 10(09) text-064, 20(01) c_vline, 21(10) space,
31(1) c_vline, 32(10) space, 42(01) c_vline, 43(15) i_output_mail-total,
58(1) c_vline, 59(15) i_output_mail-surcrg, 74(1) c_vline, 75(05) space,
80(1) c_vline, 81(15) i_output_mail-betrg, 96(1) c_vline, 97(19) i_output_mail-summe,
116(1) c_vline,117(03) space, 120(01) c_vline.
FORMAT COLOR OFF.
ULINE /8(113).
NEW-PAGE.
ENDAT.
AT END OF rcvprn.
i_pr_param-linsz = 1000.
NEW-PAGE PRINT OFF.
If spool number is obtained, generate PDF
IF sy-spono IS NOT INITIAL.
PERFORM f_generate_pdf.
*Send the PDF as mail attachement
PERFORM f_send_email.
ENDIF.
ENDAT.
ENDLOOP.
ENDFORM. " SEND_MAIL
Let me know, what could be the error in our code which generates separate spools for customers.
Thanks in advance for the help.
Sukumar. -
How do I add a user command to a Adobe Form Button?
Hi,
I want to add a user command to a Adobe Form button, but have no idea how to do it? (Since the material I have only mentioned how to do it by using JSP pages). This is a question comes from PCR. Thanks.Formscentral does not support forms with digital signature workflows. I suggest you see if our Echosign product meets your needs.
-
Gui status (AT USER-COMMAND) trigger at first
Hello all,
I wrote a basic list shown below.
In it , AT USER-COMMAND and AT LINE-SELECTION events are used all.
when i double click on line in the list, I think the at line-selection should be trigger at first. but in fact ,the AT USER-COMMAND trigger.
and the sy-ucomm get the first button value in the GUI-STATUS BAR(There's only one button on it).
how can i solve it .
any answers should be appreciated.
START-OF-SELECTION.
SET PF-STATUS 'ZSATMM24F1'.
write : \ 'aaaaaaaaaaaa'
write : \ 'aaaaaaaaaaaa'
write : \ 'aaaaaaaaaaaa'
write : \ 'aaaaaaaaaaaa'
AT USER-COMMAND.
CASE sy-ucomm.
WHEN 'TO_a'.
PERFORM to_a.
ENDCASE.
AT LINE-SELECTION.
write : 'test'.
best regards,
daniel.Please make sure to add the fcode PICK to the F2 function code in your gui status and try again.
Regards,
Rich Heilman -
User-command in 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
Hai all,
I am trying to include a checkbox coloum in 'REUSE_ALV_HIERSEQ_LIST_DISPLAY' in edit mode and process the rows which are selected.
i am successful in editing the check box ,but user-command is not working and also the List is not displayed (remains only on the selection screen) if i am uncommenting the exporting parameter
I_CALLBACK_USER_COMMAND = 'F_USER_COMMAND' .
The value of sy-subrc for the FM is 1 . If the above exporting parameter is commented then sy-subrc = 0 .
Please let me know to proceed.I need to process only the rows which are selected / checked
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
i_callback_program = report_name
I_CALLBACK_PF_STATUS_SET = ' '
<b>**{ Begin of Changes
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_USER_COMMAND = 'F_USER_COMMAND'
**} End of Changes</b>
is_layout = alvlo_stb
it_fieldcat = stb_fields_tb[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
it_filter = g_t_slis_filt[]
IS_SEL_HIDE =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
i_default = g_f_dflt
i_save = 'A' "alvvr_sav_all
is_variant = alvvr
it_events = alv_evnt_tb_cmpl
IT_EVENT_EXIT =
i_tabname_header = 'ALV_STB'
i_tabname_item = 'G_T_PLPO'
I_STRUCTURE_NAME_HEADER =
I_STRUCTURE_NAME_ITEM =
is_keyinfo = g_f_keyinfo
IS_PRINT =
IS_REPREP_ID =
I_BUFFER_ACTIVE =
I_BYPASSING_BUFFER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER = exit_by_caller
ES_EXIT_CAUSED_BY_USER = exit_by_user
TABLES
t_outtab_header = alv_stb
t_outtab_item = g_t_plpo
EXCEPTIONS
program_error = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
MOD0001}
ENDFORM.
FORM F_USER_COMMAND USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
some operation
ENDFORM.Hai,
I have declared
DATA: report_name LIKE sy-repid,
and also
DATA: F_USER_COMMAND TYPE SY-UCOMM.
in the program.But still i am getting the same problem.
sy-subrc = 1. unable to execute 'REUSE_ALV_HIERSEQ_LIST_DISPLAY' sucessfully -
Getting error "1013009 Administrator Has Temporarily Disabled User Commands
Hi All,
I am getting the error"1013009 Administrator Has Temporarily Disabled User Commands" while executing a report script in Essbase 11.1.1.3
Appreciate any help..
Thanks
MaheshMahesh wrote:
Hi All,
I am getting the error"1013009 Administrator Has Temporarily Disabled User Commands" while executing a report script in Essbase 11.1.1.3
Appreciate any help..
Thanks
Mahesh
Possible Cause
When a database is being restructured or any application/database on the server is being copied, you can get this message.
or
When a cube is being restructured, commands are restricted because the integrity of the cube has to be stable and no one is allowed to access it.
or
Copying an application requires that the Essbase security file be in read/write mode and therefore other applications are not accessible until the process is completed.
Possible Solution
In Application Settings, verify that the Allow Commands or Allow Updates options are not selected.
If not selected select those..and try
Regards,
Prabhas
Edited by: P on Apr 7, 2011 3:36 PM
Edited by: P on Apr 7, 2011 3:38 PM -
How to restore views and procedures after drop user command?
How to restore views and procedures after drop user command?
We have 817 EE on NT and one developer created a lot of procedures, functions and vews. DB was not backuped and archived and export has not been done - our fault and we understand it. Sorry for this.
Ok, now the story: another developer dropped this db user and we lost everything: procedures, functions and vews. The new user with trhe same name was created and new schema was imported in this user, but all old objects are lost. We don't have export and backup and archive log files.
Question: may we can restore this lost stuff from some other sources. We are looking for lost codes, not data. May be we can use redo logs or shared pool or any other things. Any idea will be appreciated.
Thanks.
Victor
[email protected]The switch has occurred after user was dropped, the data has been overwritten and there is be no way to use redo log files.
I would like to explore another opportunity. Is possible to use Shared Pool or any Data Dictionary internal information to restore texts of the lost SQL and PL/SQL scripts executed in this DB before user was dropped? Not too many scripts are executed in this DB and the lost ones may still be in stack. I remember that Shared Pool (cash) should keep last executed scripts in order to improve performance. They probably are kept in some special format. Can we restore these scripts? Of course they also might be pushed out by Import that had been done after user was dropped.
Thanks for your help,
Victor
Maybe you are looking for
-
FTP Sender Adapter with EOIO for Large files
Hi Experts, I am Using XI 3.0 version, My scenario is File->XI->FIle, I need to pick the files from FTP Server , there are around 50 files in it each of 10 MB Size. So i have to pick the files from FTP folder in the same order as they put into folder
-
Custom Adobe Forms in FORM16 output
Dear Sapgurus, I have a requirement to change the adobe forms output in FORM16 PDF output. In standard output PDF will contain annexure to Form 16 as fifth page .We don't need that fifth page in output. So we tried to create a custom Adobe form witho
-
Creating Oracle-HA config using zone clusters
We have a three-node Sun Cluster (3.3u1) on Solaris 10 update 9. We are using Hitachi VSP for external storage. Eventually we may go to RAC (had to drop the RAC licenses for the time being due to budget cuts) For the time being I want to deploy zone
-
Dent in left speaker on Iphone 4
Also, right on top of the dent is like a black marking....any ideas? same phone since june 23 too.
-
Unable to start Oracle Application services on Apps Tier12.1.3
Hi, I've configured a Apps Tier on AWS, it was up and successfully running. I stopped it using Execute $INST_TOP/admin/scripts/adstpall.sh When I'm trying to start it again using $INST_TOP/admin/scripts/adstrtal.sh , it is failing with : [Service Con