Analogue Transaction CODE_SCANNER for WD4A

Hi at all,
there exists a transaction "CODE_SCANNER" for searching code within a user defined area (packages ...) in SAP. This transaction searches the strings in programs, function groups and classes, but not in Web Dynpro components or methods in the component controller / views.
Does anybody know a transaction for searching code in Web Dynpro components???
Thanks for all answers.
Dirk

Hi
I've written the prog, searches for texts in webdynpro sources and has code_scanner-like interface.
==========
REPORT  z_code_scanner.
TYPE-POOLS: abap, rs, slis, wdyrt.
TABLES: wdy_ctlr_compo_key, rsplf_srv, sscrfields.
CONSTANTS: c_fox          TYPE rsplf_srvtypenm VALUE '0RSPL_FORMULA',
           c_type_wdy     TYPE c VALUE '1',
           c_type_fox     TYPE c VALUE '2'.
TYPES: BEGIN OF lty_comp,
         component        TYPE wdy_component_name,
       END OF lty_comp.
TYPES: BEGIN OF lty_fox,
         srvnm            TYPE rsplf_srvnm,
       END OF lty_fox.
TYPES: BEGIN OF lty_found,
         type                TYPE char1,
         component_name      TYPE wdy_ctlr_compo-component_name,
         controller_name     TYPE wdy_ctlr_compo-controller_name,
         cmpname             TYPE wdy_ctlr_compo-cmpname,
         srvnm               TYPE rsplf_srv-srvnm,
         title               TYPE string,
         line                TYPE string,
         line_num            TYPE i,
       END OF lty_found.
DATA: gt_comp         TYPE TABLE OF lty_comp WITH HEADER LINE,
      gt_fox          TYPE TABLE OF lty_fox WITH HEADER LINE,
      gt_found        TYPE TABLE OF lty_found WITH HEADER LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(23) twdy FOR FIELD s_wdyc.
SELECTION-SCREEN POSITION 30.
SELECT-OPTIONS: s_wdyc          FOR wdy_ctlr_compo_key-component_name.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(23) tfox FOR FIELD s_fox.
SELECTION-SCREEN POSITION 30.
SELECT-OPTIONS: s_fox           FOR rsplf_srv-srvnm.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(23) tstr FOR FIELD p_strg.
SELECTION-SCREEN POSITION 30.
PARAMETERS: p_strg(80).
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(23) twdyp FOR FIELD p_wdyc.
SELECTION-SCREEN POSITION 30.
PARAMETERS: p_wdyc       TYPE char1 AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(23) tfoxp FOR FIELD p_fox.
SELECTION-SCREEN POSITION 30.
PARAMETERS: p_fox        TYPE char1 AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN: FUNCTION KEY 1.
* INCLUDE Z79Y_CODE_SCANNER_EX_O01                .  " PBO-Modules
* INCLUDE Z79Y_CODE_SCANNER_EX_I01                .  " PAI-Modules
* INCLUDE Z79Y_CODE_SCANNER_EX_F01                .  " FORM-Routines
INITIALIZATION.
  twdy = 'Web-Dynpro-Component'.
  tfox = 'Fox Formulas'.
  tstr = 'Search string'.
  twdyp = 'Search in WebDynpro Components'.
  tfoxp = 'Search in Fox Formulas'.
  " Set default values
  s_wdyc-sign   = 'I'.
  s_wdyc-option = 'CP'.
  s_wdyc-low    = 'Z*'.
  APPEND s_wdyc.
  s_fox-sign   = 'I'.
  s_fox-option = 'CP'.
  s_fox-low    = 'Z*'.
  APPEND s_fox.
  sscrfields-functxt_01 = 'Запустить code_scanner'.
*  CALL FUNCTION 'ICON_CREATE'
*    EXPORTING
*      name                        = 'ICON_DESELECT_ALL'
*      text                        = ''
*      info                        = 'Отменить выделение'
**     ADD_STDINF                  = 'X'
*    IMPORTING
*      RESULT                      = sscrfields-functxt_01
*    EXCEPTIONS
*      icon_not_found              = 1
*      outputfield_too_short       = 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.
AT SELECTION-SCREEN.
  CASE sscrfields-ucomm.
    WHEN 'FC01'.
      CALL TRANSACTION 'CODE_SCANNER'.
  ENDCASE.
START-OF-SELECTION.
  PERFORM main.
*&      Form  get_data
*       text
*  -->  p1        text
*  <--  p2        text
FORM get_data CHANGING value(c_rc)   TYPE sysubrc.
  CLEAR c_rc.
  CLEAR: gt_comp, gt_fox, gt_found.
  REFRESH: gt_comp[], gt_fox[], gt_found[].
  IF p_wdyc = abap_true.
    SELECT DISTINCT component_name
      FROM wdy_component
      INTO TABLE gt_comp                                 "#EC CI_BYPASS
      WHERE component_name IN s_wdyc.                 "#EC CI_SGLSELECT
  ENDIF.
  IF p_fox = abap_true.
    SELECT DISTINCT srvnm
      FROM rsplf_srv
      INTO TABLE gt_fox
      WHERE srvnm IN s_fox
        AND objvers = rs_c_objvers-active                "#EC CI_BYPASS
        AND srvtypenm = c_fox.                        "#EC CI_SGLSELECT
  ENDIF.
  IF gt_comp[] IS INITIAL AND gt_fox[] IS INITIAL.
    MESSAGE 'Данные не выбраны' TYPE 'S'.
    c_rc = 1.
  ENDIF.
ENDFORM.                    " get_data
*&      Form  main
*       text
*  -->  p1        text
*  <--  p2        text
FORM main .
  DATA: lv_rc          TYPE sysubrc.
  IF p_strg IS INITIAL.
    MESSAGE 'Заполните строку поиска' TYPE 'S' DISPLAY LIKE 'E'.
    RETURN.
  ENDIF.
  PERFORM get_data CHANGING lv_rc.
  IF lv_rc <> 0.
    RETURN.
  ENDIF.
  PERFORM search_wdy.
  PERFORM search_fox.
  PERFORM create_alvlist.
ENDFORM.                    " main
*&      Form  search_wdy
*       Поиск в компонентах WebDynpro
*  -->  p1        text
*  <--  p2        text
FORM search_wdy .
  TYPES: BEGIN OF lty_found_wdy_ex.
  INCLUDE TYPE lty_found.
  TYPES: code_body        TYPE wdy_ctlr_compo-code_body,
       END OF lty_found_wdy_ex.
  DATA: lv_search        TYPE string,
        lt_found_wdy_ex  TYPE TABLE OF lty_found_wdy_ex,
        lt_lines         TYPE TABLE OF string,
        lt_results       TYPE TABLE OF match_result. " WITH HEADER LINE.
  FIELD-SYMBOLS: <ls_found_wdy_ex>           TYPE lty_found_wdy_ex,
                 <ls_result>                 TYPE match_result.
  CHECK gt_comp[] IS NOT INITIAL.
  SELECT component_name controller_name cmpname code_body
    FROM wdy_ctlr_compo
    INTO CORRESPONDING FIELDS OF TABLE lt_found_wdy_ex
    FOR ALL ENTRIES IN gt_comp
    WHERE component_name = gt_comp-component.
  LOOP AT lt_found_wdy_ex ASSIGNING <ls_found_wdy_ex>
    WHERE code_body CS p_strg.
    SPLIT <ls_found_wdy_ex>-code_body AT cl_abap_char_utilities=>cr_lf
      INTO TABLE lt_lines.
    FIND ALL OCCURRENCES OF p_strg IN TABLE lt_lines
      IGNORING CASE
      RESULTS lt_results.
    IF sy-subrc <> 0.
      BREAK-POINT.
      MESSAGE 'Произошла внутренняя ошибка' TYPE 'E'.
    ENDIF.
    LOOP AT lt_results ASSIGNING <ls_result>.
      CLEAR gt_found.
      MOVE-CORRESPONDING <ls_found_wdy_ex> TO gt_found.
      gt_found-type = c_type_wdy.
      gt_found-line_num = <ls_result>-line.
      READ TABLE lt_lines INDEX <ls_result>-line INTO gt_found-line.
      CONCATENATE gt_found-component_name gt_found-controller_name gt_found-cmpname
        INTO gt_found-title SEPARATED BY '/'.
      CONCATENATE 'WDY:' gt_found-title INTO gt_found-title SEPARATED BY space.
      APPEND gt_found.
    ENDLOOP.
  ENDLOOP.
ENDFORM.                    " search_wdy
*&      Form  create_alvlist
*       text
*  -->  p1        text
*  <--  p2        text
FORM create_alvlist .
  DATA: ls_layout         TYPE slis_layout_alv,
        lt_all_events     TYPE TABLE OF slis_alv_event,
        lt_events         TYPE TABLE OF slis_alv_event,
        ls_event          TYPE slis_alv_event,
        lt_fieldcat       TYPE TABLE OF slis_fieldcat_alv.
  FIELD-SYMBOLS: <ls_fieldcat>        TYPE slis_fieldcat_alv.
* Initialize Layout for activity log
  ls_layout-detail_popup         = abap_true.
  ls_layout-detail_initial_lines = abap_true.
  ls_layout-expand_all           = abap_true.
  ls_layout-colwidth_optimize    = abap_true.
  ls_layout-zebra                = abap_true.
* Get possible events
  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
      i_list_type = 0
    IMPORTING
      et_events   = lt_all_events[].
* User-command for activity log
  READ TABLE lt_all_events WITH KEY name = slis_ev_user_command
             INTO ls_event.
  IF sy-subrc = 0.
    ls_event-form = 'ALV_USER_COMMAND'.
    APPEND ls_event TO lt_events.
  ENDIF.
  APPEND INITIAL LINE TO lt_fieldcat ASSIGNING <ls_fieldcat>.
  <ls_fieldcat>-fieldname = 'TITLE'.
  <ls_fieldcat>-outputlen = 70.
  <ls_fieldcat>-seltext_l = 'Месторасположение'.
  APPEND INITIAL LINE TO lt_fieldcat ASSIGNING <ls_fieldcat>.
  <ls_fieldcat>-fieldname = 'LINE_NUM'.
  "<ls_fieldcat>-outputlen = .
  <ls_fieldcat>-seltext_s = '№ строки'.
  APPEND INITIAL LINE TO lt_fieldcat ASSIGNING <ls_fieldcat>.
  <ls_fieldcat>-fieldname = 'LINE'.
  <ls_fieldcat>-outputlen = 70.
  <ls_fieldcat>-seltext_l = 'Текст'.
  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
*   I_INTERFACE_CHECK                 = con_false
*   I_BYPASSING_BUFFER                = con_false
*   I_BUFFER_ACTIVE                   = ' '
      i_callback_program                = sy-repid
*   I_CALLBACK_PF_STATUS_SET          = con_false
*   I_CALLBACK_USER_COMMAND           = con_false
*   I_CALLBACK_TOP_OF_PAGE            = con_false
*   I_CALLBACK_HTML_TOP_OF_PAGE       = con_false
*   I_CALLBACK_HTML_END_OF_LIST       = con_false
*   i_structure_name                  = con_false
*   I_BACKGROUND_ID                   = con_false
*   I_GRID_TITLE                      =
*   I_GRID_SETTINGS                   =
      is_layout                         = ls_layout
      it_fieldcat                       = lt_fieldcat
*   IT_EXCLUDING                      =
*   IT_SPECIAL_GROUPS                 =
   "it_sort                           = l_tab_sort
*   IT_FILTER                         =
*   IS_SEL_HIDE                       =
*   I_DEFAULT                         = con_true
      i_save                            = 'A'
*   IS_VARIANT                        =
      it_events                         = lt_events
*   IT_EVENT_EXIT                     =
*   IS_PRINT                          =
*   IS_REPREP_ID                      =
*   I_SCREEN_START_COLUMN             = 0
*   I_SCREEN_START_LINE               = 0
*   I_SCREEN_END_COLUMN               = 0
*   I_SCREEN_END_LINE                 = 0
*   IT_ALV_GRAPHICS                   =
*   IT_HYPERLINK                      =
*   IT_ADD_FIELDCAT                   =
*   IT_EXCEPT_QINFO                   =
*   I_HTML_HEIGHT_TOP                 =
*   I_HTML_HEIGHT_END                 =
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER           =
*   ES_EXIT_CAUSED_BY_USER            =
  TABLES
    t_outtab                          = gt_found[]
  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.
ENDFORM.                    " create_alvlist
*       FORM ALV_USER_COMMAND                                         *
FORM alv_user_command
     USING i_ucomm TYPE syucomm
           i_selfield TYPE slis_selfield.                   "#EC CALLED
  "FIELD-SYMBOLS: <ls_line>            TYPE lty_found.
  CHECK i_ucomm = '&IC1'.
  READ TABLE gt_found INDEX i_selfield-tabindex.
  IF sy-subrc = 0.
    CASE gt_found-type.
      WHEN c_type_wdy.
        PERFORM open_webdynpro USING gt_found-component_name
                                     gt_found-controller_name
                                     gt_found-cmpname
                                     gt_found-line_num.
      WHEN c_type_fox.
        PERFORM open_fox_in_browser USING gt_found-srvnm.
    ENDCASE.
  ENDIF.
*  l_position = 1.
*  READ TABLE g_tab_lines INTO l_str_lines INDEX i_selfield-tabindex.
*  IF sy-subrc = 0.
*    l_position = l_str_lines-linno.
*  ENDIF.
**  BREAK-POINT.
*  CASE i_ucomm.
*    WHEN '&IC1'.
*      PERFORM navigate_to_object USING l_str_lines-progname
*                                       l_position
*                                       p_edit.
*  ENDCASE.
** Do refresh always col- and row-stable
*  IF i_selfield-refresh = con_true.
*    i_selfield-col_stable = con_true.
*    i_selfield-row_stable = con_true.
*  ENDIF.
ENDFORM.                    "alv_user_command
*&      Form  open_webdynpro
*       text
*      -->VALUE(U_COMPONENT_NAME)   text
*      -->VALUE(U_CONTROLLER_NAME)  text
*      -->VALUE(U_METHOD)           text
*      -->VALUE(U_LINE)             text
FORM open_webdynpro USING value(u_component_name) TYPE wdy_ctlr_compo-component_name
                          value(u_controller_name) TYPE wdy_ctlr_compo-controller_name
                          value(u_method) TYPE wdy_ctlr_compo-cmpname
                          value(u_line)   TYPE i.
  DATA: ls_cont_key        TYPE wdy_controller_key,
        lv_include         TYPE program,
        lt_map             TYPE wdyrt_line_info_tab_type WITH HEADER LINE,
        lv_line            TYPE i,
        lo_req             TYPE REF TO cl_wb_request,
        lt_request_set     TYPE swbm_wb_request_set.
  ls_cont_key-component_name = u_component_name.
  ls_cont_key-controller_name = u_controller_name.
  CALL METHOD cl_wdy_wb_naming_service=>get_includename_for_controller
    EXPORTING
      p_controller       = ls_cont_key
    RECEIVING
      p_includename      = lv_include
    EXCEPTIONS
      no_generation_info = 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.
  CALL FUNCTION 'WDY_WB_GET_SOURCECODE_MAPPING'
    EXPORTING
      p_include          = lv_include
    IMPORTING
      p_map              = lt_map[]
*   P_HEADER           =
    EXCEPTIONS
      import_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.
  "READ TABLE lt_map WITH KEY meta-text = u_method.
  "READ TABLE lt_map WITH KEY code-text = u_method.
  LOOP AT lt_map WHERE code-text = u_method.            "#EC CI_SORTSEQ
  ENDLOOP.
  IF sy-subrc <> 0.
    MESSAGE 'Не удалось' TYPE 'I'.
    RETURN.
  ENDIF.
  lv_line = lt_map-line + u_line - 1.
  CALL FUNCTION 'WDY_WB_REQUEST_FOR_SOURCEPOS'
    EXPORTING
      p_include             = lv_include
      p_line                = lv_line
      p_operation           = 'DISPLAY'
    IMPORTING
      p_wb_request          = lo_req
    EXCEPTIONS
      no_corresponding_code = 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.
  APPEND lo_req TO lt_request_set.
  CALL METHOD cl_wb_startup=>start
    EXPORTING
      p_wb_request_set = lt_request_set.
*  IMPORTING
*    p_wb_error          = l_error
*  CHANGING
*    p_wb_data_container = l_container.
ENDFORM.                    "open_webdynpro
*&      Form  search_fox
*       Поиск текста в формулах FOX
*  -->  p1        text
*  <--  p2        text
FORM search_fox .
  DATA: lo_srv                  TYPE REF TO cl_rsplfs_srv,
        lt_param_set_rule       TYPE TABLE OF rsplfa_s_param_set_rule,
        lt_param_tab            TYPE TABLE OF REF TO if_rsplfa_param_struc,
        lv_formula_string       TYPE string,
        lo_fline                TYPE REF TO if_rsplfa_param_elem,
        lv_line                 TYPE c LENGTH 60,
        lt_forml                TYPE rspls_ts_forml,
        lt_lines                TYPE TABLE OF string,
        lt_results              TYPE TABLE OF match_result.
  FIELD-SYMBOLS: <ls_param_set_rule>       TYPE rsplfa_s_param_set_rule,
                 <ls_param_tab>            TYPE REF TO if_rsplfa_param_struc,
                 <ls_result>               TYPE match_result,
                 <ls_forml>                TYPE rspls_s_forml.
  LOOP AT gt_fox.
    TRY.
        lo_srv = cl_rsplfs_srv=>factory( gt_fox-srvnm ).
      CATCH cx_rspls_msg_static_check .
        MESSAGE e001(00) WITH 'Ошибка cl_rsplfs_srv=>factory' gt_fox-srvnm.
    ENDTRY.
    lt_param_set_rule = lo_srv->if_rsplfa_srv~get_param_set_rules( ).
    SORT lt_param_set_rule BY rulepos.
    LOOP AT lt_param_set_rule ASSIGNING <ls_param_set_rule>.
      " Get FOX coding from parameters
      lt_param_tab = <ls_param_set_rule>-r_param_set->get_tab_param_struc( 'FORMULATAB' ).
      CLEAR lv_formula_string.
      LOOP AT lt_param_tab ASSIGNING <ls_param_tab>.
        lo_fline = <ls_param_tab>->get_comp_elem( 'FLINE' ).
        lo_fline->get_value( IMPORTING e_value = lv_line ).
        CONCATENATE lv_formula_string lv_line INTO lv_formula_string
          RESPECTING BLANKS.
      ENDLOOP.
      " Convert FOX coding and get field catalog for parsing
      lt_forml[] =  cl_rsplfc_formula=>string_to_forml_tab( lv_formula_string ).
      REFRESH lt_lines.
      LOOP AT lt_forml ASSIGNING <ls_forml>.
        APPEND <ls_forml>-fline TO lt_lines.
      ENDLOOP.
      " Find
      FIND ALL OCCURRENCES OF p_strg IN TABLE lt_lines
        IGNORING CASE
        RESULTS lt_results.
      CHECK sy-subrc = 0.
      LOOP AT lt_results ASSIGNING <ls_result>.
        CLEAR gt_found.
        gt_found-type = c_type_fox.
        gt_found-srvnm = gt_fox-srvnm.
        gt_found-line_num = <ls_result>-line.
        READ TABLE lt_lines INDEX <ls_result>-line INTO gt_found-line.
        CONCATENATE 'FOX:' gt_fox-srvnm INTO gt_found-title SEPARATED BY space.
        APPEND gt_found.
      ENDLOOP.
    ENDLOOP.
  ENDLOOP.
ENDFORM.                    " search_fox
*&      Form  open_fox_in_browser
*       text
*  -->  p1        text
*  <--  p2        text
FORM open_fox_in_browser USING value(u_srvnm)    TYPE rsplf_srvnm.
  DATA: lv_iobjnm         TYPE sobj_name.
  lv_iobjnm = u_srvnm.
  cl_rspls_wdapp=>start_modeler( i_tlogo = rs_c_tlogo-planning_service
                                 i_objnm = lv_iobjnm ).
ENDFORM.                    " open_fox_in_browser

Similar Messages

  • Transaction code for Open sales order other than VA05

    Hi all,
    Can any one tell me what is transaction code for open sales order other than VA05.
    Please help me .
    Thanks & Regards ,
    Srikanth P.

    Hi Srikanth,
    You can try below options.
    1- VA05N - This can be run for multiple sold to party & multiple material, etc which was not in VA05. But this doesn't have all columns in VA05 report.
    2 - You can check the sales order tables from transaction SE11 or SE16N
    Try with below tables for your requirement.
    Sales order Header data - VBAK
    Sales order Item data - VBAP
    Schedule Line Data - VBEP
    Business data - VBKD
    Status header - VBUK
    Status items - VBUP
    Best regards,
    Anupa

  • How to allow create different transaction type for different customer

    We are using CRM 7.0 now. We have two types customer, one is sap customer, the other is potential customer. We want to distinguish the two types customer. And user can create all transaction (for example: quotation, opportunity, activity) the sap customer. And the user only can create activity for  the potential customer, they can't create others transaction type for potential customer. How can we realize it? Thanks.

    Hi,
    We can make use of the BLOCKING REASONS to realize your requirement.
    A Blocking Reason can be assigned to the Business Partner role dependent data  and to the transaction type. A Business partner can be used in a transaction only if he is not assigned to this blocking reason.
    For Ex, In your scenario you can create a Blocking reason 'Not a SAP Customer ' and assign it to all the Potential Customers. You should assign the blocking reason to all the transaction  types which the potential customers should not be allowed.
    Hope it helps. Please let me know if you need further help.
    Regards,
    Vamsi.
    Edited by: Vamsi Krishna Potta on Sep 7, 2010 9:41 AM

  • How to create Transaction Variant for T code F-30

    Hi
    I want to create a Transaction variant for T code F-30, so that user can't change the currency field and put any value in rate. Currency should be always in USD.
    Any input will be heighly appriciated.
    Regards
    Shiv

    Hi,
    In that case you can use transaction SHD0 to create a transaction variant for F-30 with its screen variant for screen# 122. And you also want to creat a so called Variant Transaction Z-something for F-30 using the mentioned transaction variant. You restrict users to use that Z-something. For other unrestricted process, the system will still cal F-30. Here is the documentation:
    http://help.sap.com/erp2005_ehp_03/helpdata/EN/67/232037ebf1cc09e10000009b38f889/content.htm
    Regards

  • How to create Transaction code for Table Maintanance generator.?

    Hi,
    I have created a Z Table. and I maintained the Table maintenance generator for the same. Now, my requirement is.. I have to create Transaction code for maintain and Display of this Z table.
    Can someone help me how to create the transaction code for Maintain and Display of the table. I know that we have to create a Transaction code for 'SM30'. Can someone tell me the steps to do the same. When I goto SE93 and say CREATE transaction, I get 5 options, Which one to select and what are the details should I provide in the subsequent screens.
    Thanks in advance.
    Best Regards,
    Paddu,

    Hi,
         Check the below steps......
    1. Go to Tcode u2018se93u2019.
    2. Select ' Transaction with parameters'.
    3. Then Transaction 'SM30' with click on skip initial screen
          VIEWNAME : XXX9tABLE NAME)
          UPDATE   : X
    4. Maintain the  Table maintenance generator
      Authorization group : &NC&
      Authorization object :
      Function group : name(xxx)
    Maintenance Screens :
    Maintenance type : One step
    Maint Screen No : Overview screen (2)
    If still u have problem I will send u steps with Screen shot ...send me Yr id.
    Regards,
    Biswanath

  • How to Create Transaction code for a Report

    Hi Gurus,
    I created some reports and I wants those reports
    should be placed in the SAP Menu(initial screen) not
    in the User menu in the form of Transaction codes.
    I would really appreciate if any one can please send the process to create transaction codes for the User reports/Report groups in R/3 and how to add those created Transaction codes to the SAP MENU.
    Thanks in Advance
    Danial

    Try to insert it into the main menu if you must change S000 (there is a function module for everything)? Perhaps SAP protects their menu trees from foreign subnodes in SE43?
    Also note that for report transactions you do not need to give the user transaction code start_report. If you do, then they could enter it directly and potentially start many other reports too. The system will call start_report for submitting the report internally without authorizations for it required (unless start_report is maintained in SE97).
    Regarding DE, this also confuses me sometimes and I noticed that it generally indicates that I am doing something which has an implication for a SAP standard object. Try either hitting the enter button to see what the next screen is, or, choose original language in the previous screen, or, logon in sy-langu = DE and (remember the path if you dont speak German) change it, or, follow JCs advice to create your own menu.

  • How to create transaction code for a Z-table

    How to create transaction code for a Z-table?
    Se93 --> then which radio button to be selected? and what is the program nam e to  be given

    Hi Sam,
    <b>Procedure to create a TCODE for ZTABLE:</b>
    Create a table maintainance/View for the Z* Table.
    Once you create the view goto SE93>Select Parameter transaction and give the short desc.>
    Give the transaction as SM30(Skip the first screen-optional)>Check all check boxes under GUI support>In the default values(grid)section first row give the VIEWNAME as you created initially and the second row UPDATE as X.
    <u><i>Se93 --> then which radio button to be selected</i></u>
    Select the parameter transaction as a radio button.
    <u><i>what is the program nam e to be given</i></u>
    no need to give any program name. Instead you have to give the transaction code name as SM30.
    Pls mark the helpful answers.
    Thanks
    Eswar

  • How to create transaction code for maintenance view

    hai friends,
    i hope every thing goes good.
    i have doubt, how to create transaction code for maintenance view. I created view for tranperant table and now i want to create transaction code for the view.
    i tried and i donot know the screen number and program name and where can i give the view name.
    if any one know please post in details.
    thanks in advance.

    Hi Elam,
    You need to create a "Parameter Transaction".
    What this means is that you will have a transaction (let's call it "ZMAINT") which calls "SM30" and passes in your table name.
    Go to transaction SE93 and enter your new transaction code. Enter in the Tcode description and choose "Transaction with Parameters" (it shouldbe the last radio button).
    Enter in the default transaction "SM30" and tick the "Skip Initial Screen" check box. Hit Enter.
    Now scroll to the bottom of the screen and you will see a Table Control where you will need to enter in the values to the SM30 selection screen.
    Because you hit ENTER, the program will have loaded in the Selection Screen parameters into it's memory. Hit the drop down for "Name of Screen Field" and select "VIEWNAME" and then enter in your Z Table in the "Value" column.
    Now go to the next line and hit the drop down and select "UPDATE" in the "Name of Screen Field". Enter in a "X" in the value column.
    Now save the transaction and there you have it.
    Hope this helps.
    Cheers,
    Pat.
    PS. Kindly assign Reward Points to the posts you find helpful.

  • How to take unreconcilled transactions report for a date range ?

    hi all,
    How to take unreconcilled transactions report for a
    data range ?
    we have taken unreconcilled transactons from
    external reconcillation using filter option mentioning
    range of dates,But when we take print out using PLD,
    it showing unreconcilled transactions for all dates.
    But our client requires it as a standard report from SAP ?
    Our client is using SAP B1 2005B PL39.
    Jeyakanthan

    Hi
    Financials -> Financial Reports -> Accounting -> General Ledger.
    In the 'Display' dropdown select, 'Unreconciled' .
    Hope this should help you.

  • How to get XLR to show BPs with no transaction data for a given date range

    Hi -
    I am building an XLR report that does a comparison of net sales data across two periods for a given sales employee's BPs.
    The report has the row expansion:
    FACT BPA(*) SLP(SlpName = "ASalesPersonNameHere") ARDT(Code = "ARCreditMemo", "Invoice") Group by BPA.CardName
    and column expansions:
    FIG(SO_TaxDate = @StartDate:@EndDate)
    and
    FIG(SO_TaxDate = @StartDate2:@EndDate2)
    where @StartDate, @EndDate, @StartDate2, @EndDate2 are parameters that define the two ranges of dates.
    The column formulas are, from left to right:
    =ixDimGet("BPA", "CardName")
    =ixGet("SO_DocTotal")      <-- filtered by column expansion for first date range
    =ixGet("SO_DocTotal")      <-- filtered by column expansion for second date range
    The report works fine except for one problem, I would like it to include BPs for which no transaction occurred in either date range as well.
    Any help is greatly appreciated!
    Thanks,
    Lang Riley

    Really appreciate your feedback!  Those are good suggestions. I should have mentioned that I had already tried both those suggestions.
    Removing FACT on BPA in this case ends up returning all the BPs and not respecting the SLP(SlpName = "aName") part of the query. 
    Using **, i.e., * or #NULL, makes no change in the resulting data in this case.  I had thought that ** would be the solution, but it didn't change the outcome.  I still have BPs for which when their sales employee is used as the filter and they have no transactions for either date range, and yet they still do not appear. 
    I should further mention that the IXL query, as it now stands, does return BPs for which one of the periods has no data, just not both, and I have verified that applicable BPs with no transaction data for both periods do exist in my data set.  It seems that perhaps the IXL query needs to be restructured?  Please keep the suggestions coming including how this query might be restructured if necessary.

  • Transaction failed for unknown reason (100) Unable to complete backup at this time. Does anyone know how to solve this issue?

    Transaction failed for unknown reason (100) Unable to complete backup at this time. Does anyone know how to solve this issue?
    Thanks.

    The system is set up to backup files to the iCloud at the end of the day. This has ot happen for sometime now and the mesaage I get is the back up error.

  • Transaction code for vendor account statement for perticular duration

    Transaction code for Accounts payable
    statement for perticular date
    duration...... (from date and to date)

    Hi,
    You can use the following reports, there are quite a few other reports but the ones below can be used easily to tweak to your requirement using the many selection and display options available:
    1. S_ALR_87012103 - List of Vendor Line Items
    2.  FBL1N
    Cheers.

  • Transaction code for Proforma invoice

    Transaction code for Proforma invoice

    Hi,
    If you want to create proforma Invoice. First of all you have to maintain copy contol for billing. Where you can maintain in Billing F5/F8 and in source document you can maintain Delivery Document type of Sale order Document type as per your business requirement.
    After that in Transaction code VF01 you can create Proforma Invoice based on Sales Order No. of Delivery document No.
    Reward if it solves your querry.
    Thanks and Regards,
    Dilip Shende
    Edited by: DILIP SHENDE on Apr 4, 2008 2:09 PM

  • Upload transaction data for transactions like KSU2/KSU5,KB31N

    We are trying to upload transaction data for transactions like KSU2/KSU5,KB31N etc using batch data processing within LSMW. We are facing couple of problems as mentioned:<br />
    We have to upload data, which has a single header record with 200-300 line items record. How to define target structures to represent header & line items. Currently we are able to upload header data with 1-2 line items depending upon the recording. The present recording gives us option to load 1 line item per document. <br />
    Can excel be used instead of text file for uploading data in LSMW? <br />
    During processing of transaction, User clicks on button and checks a value. Based on this value the future course of action is determined. How can we do the BDC recording or do customization (Write a custom code) <br />
    If errors occur during upload of data, will the processing stop at that line item or will it ignore the error record and continue processing of the remaining data. <br />
    How can we write custom code to modify the data during BDC session and not before session? <br />
    Immediate pointers to this would be very useful. Let me know if more information is required.<br />
    <br />
    Thanks,<br />
    Mehfuze

    hi ali,
    as for your question related to excel upload via lsmw , please find the below links to be usefull
    [Upload of excel file in LSMW]
    [Upload excel by LSMW for FV60 ?]
    [Upload Excel file through LSMW]
    [How upload an excel file using an LSMW.]
    regards,
    koolspy.

  • What are the different transaction codes for PGI?

    1. What are the different transaction codes for PGI?
    2. What transaction code should I use for a Group Delivery?
    Regards,
    Nazim.

    Hi
    Go to VL02 and you can do the PGI.
    Regfarding Group Delivery, you can create a batch job and link the program to the batch job so that the job picks up all the orders and create deliveries.
    Creating a Background Job Using the Job Wizard
    •From the main menu select System>Services>Jobs>Define Job (transaction SM36).
    •Press the Job Wizard button and step through the screens as follows:
    •1:Continue
    •2: Enter a name for your job. Continue.
    •3: Continue with ABAP Program Step selected
    •4: Enter the ABAP Program Name and variant name.
    Press the Print Parameters button, specify the required printer and set the "Time of Print" to "Send to Print Spooler for now".
    Press green tick
    Continue
    •5: If more reports need to be added to the job tick the checkbox, press continue and repeat screens 3 and 4.
    •6: Select how the job is to scheduled (eg Date and Time)
    •7: Enter the required scheduling information ( eg Date and Time) and if required tick "Periodic Jobs"
    •8: If "Periodic Job" was selected select the frequency (eg Monthly)
    •9: Check the job details and press Complete
    Hope the above info helps.
    Reward if useful
    Regards

Maybe you are looking for