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.
    Thanks

    Hi..
    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,
    Rathan

    HI,
    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

  • Parsing a user command

    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 Gautam

    hi
    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
    Thanks

    Hi,
    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
    Mahesh

    Mahesh 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