Please help me with user exits

I am getting an error message as   "*Table CI_CSKB is not an active table*"
while executing trxn ka01. Also i have to write screen exit for the same . Suggest some help in the form of documentation or solution .
thankx in advance
Please use a meaningful subject in your future posts

Hi,
ASk your basis regarding the CI_CSKB table active issue, and first of all i dont see any table with the name CI_CSKB.
And check this exit-COOMKS03 whether it works for your screen exits.
Cheers!!
VEnk@
Edited by: Venkat Reddy on Nov 4, 2008 5:59 PM

Similar Messages

  • Please help me with user-exits or baids for TCode : FOE2 & FOE1

    Hi  Experts
    Please help me with user-exits or baids for TCode : FOE2 & FOE1.
    I found these but not picking values from VIMI01,VIOB03 and VIOB41.
    User-exits
    FVCH0001                                CH-specific enhancements: Esp. POR
    ISRE0001                                Determine bank procedure account no.
    ISRE0002                                IPD reporting data retrieval
    Business Add-in
    FVD_HANDLE_FORMULA                      Processing of Condition Formulas

    Hi,
    ASk your basis regarding the CI_CSKB table active issue, and first of all i dont see any table with the name CI_CSKB.
    And check this exit-COOMKS03 whether it works for your screen exits.
    Cheers!!
    VEnk@
    Edited by: Venkat Reddy on Nov 4, 2008 5:59 PM

  • Help required with User exit logic

    Hi gurus,
    Please help me with the logic I wrote for the user exit for a PP Work Center View extract structure. Here is the details of the add on fields: VGW01, VGW02, VGW03, STEUS(from table PLPO); DataSource: 2LIS_04_P_ARBPL,
    data: l_s_pp1 like MC04P_0ARB(extract structure of 2LIS_04_P_ARBPL),
    l_tabix like sy-tabix,
    lv_VGW01 like PLPO-VGW01.
    lv_VGW02 like PLPO-VGW02.
    lv_VGW03 like PLPO-VGW03.
    lv_STEUS like PLPO-STEUS.
    tables : PLPO.
    case i_datasource.
    when '2LIS_04_P_ARBPL'.
    loop at c_t_data into l_s_pp1.
    select single vgw01into lv_vgw01
    from PLPO
    where field = l_s_pp1-field.
    if sy-subrc = 0.
    l_s_pp-zzvgw01 = lv_vgw01.
    l_s_pp-zzvgw02 = lv_vgw02.
    l_s_pp-zzvgw03 = lv_vgw03.
    l_s_pp-zzsteus  = lv_steus.
    endif.
    modify c_t_data from l_s_pp1 index l_tabix.
    endloop.
    Any additional comments welcome. Thanks in advance.

    Hi,
    Try coding as per the below code
    case i_datasource.
      When '2LIS_04_P_ARBPL'.
      DATA: lt_data TYPE TABLE OF MC04P_0ARB.
      FIELD-SYMBOLS: <ls_data> TYPE MC04P_0ARB.
    Internal table for
      TYPES:
            BEGIN OF ty_tbl1,
                     lv_VGW01 TYPE PLPO-VGW01,
                     lv_VGW02 TYPE PLPO-VGW02,
                     lv_VGW03 TYPE PLPO-VGW03,
                     l_bmsch  TYPE XXXX-XXXX,
                     l_plnnr  TYPE XXXX-XXXX
                     l_datuv  TYPE XXXX-XXXX
                     l_aennr  TYPE XXXX-XXXX
                     l_plnkn  TYPE XXXX-XXXX
                     l_plnal  TYPE XXXX-XXXX
            END OF ty_tbl1.
      DATA:
             lt_tb1 type standard table of ty_tbq,
             ls_tb1 type ty_tb1.
      lt_data[] = c_t_data[].
    Read data into internal memory using jOins
      select aVGW01 aVGW02 aVGW02 aVGW02 bbmsch bplnnr bdatuv baennr bplnkn bplnal into into  CORRESPONDING FIELDS OF TABLE
      lt_tb1 from PLPO as a innerjoin XXXX as b where aXXXX=bXXXX.        
    use the internal table to get the data to the enhaced fileds
    LOOP AT lt_data ASSIGNING <ls_data>.
        read table lt_tb1 into ls_tb1
             with key XXXXX = <ls_data>-XXXX .
        if sy-subrc eq 0.
          <ls_data>-lV_VGW01 = ls_tb1-lv_VGW01,
          <ls_data>-lV_VGW02 = ls_tb1-lv_VGW02,
          <ls_data>-lV_VGW03 = ls_tb1-lv_VGW03,
          <ls_data>-bmsch    = ls_tb1-bmsch,
          <ls_data>-plnnr    = ls_tb1-plnnr,
          <ls_data>-datuv    = ls_tb1-datuv,
          <ls_data>-aennr    = ls_tb1-aennr,
          <ls_data>-plnkn    = ls_tb1-plnkn,
          <ls_data>-pln1l    = ls_tb1-plnal.
          MODIFY lt_data FROM <ls_data>.
        endif.
      ENDLOOP.
      REFRESH c_t_data.
      c_t_data[] = lt_data[].
    Note that the code is not written with the exact fields. Change the fields where necessary(also i have joined only 2 tables if needs to be joind form more than 2  table change the join statement accordingly).
    Thanks,
    Nagarjuna
    Edited by: Nagarjuna Reddy on Oct 20, 2011 3:39 AM

  • Search help behavior  with user exit

    When a search help is executed you get a result (that appears in the internal table record_tab that satisfies your selection criteria. If, without leaving the search help, you enter a new selection it can return an entirely different set of records. That is the normal behavior and what users expect.
    However, I do some processing in the CALLCONTROL-STEP = 'DISP' that pares down the result set in record_tab based on the users authorization. When I return to another selection it operates on the pared down result set in record_tab and does not make another selection. i.e. record_tab is not refereshed for the new selection. I am clearly doing something wrong.
    This is the specific case:  Users are limited to customers in their specific sales group defined in KNVV-VKGRP. I use an exit in search help DEBIS to check whether the user is authorized for the sales group. A user is authorized for users in group 001 and 042. There first selection is from sales group 001. It returns 50 records. They decide that they chose the wrong group so they select sales group 042. It returns 0 records. However, had they selected from group 042 from the outset they would have had two hits. The second pass is working on the selection set from the first pass. (or so it seems)
    Any thoughts?

    Hi Corwin
    <REMOVED BY MODERATOR>
    FUNCTION z_shlp_exit_bpartner_reltyp.
    *"*"Local Interface:
    *" TABLES
    *" SHLP_TAB TYPE SHLP_DESCT
    *" RECORD_TAB STRUCTURE SEAHLPRES
    *" CHANGING
    *" VALUE(SHLP) TYPE SHLP_DESCR
    *" VALUE(CALLCONTROL) LIKE DDSHF4CTRL STRUCTURE DDSHF4CTRL
    DATA: rc LIKE sy-subrc,
    dialog_canceled TYPE c,
    lc_bp_shlp_badi TYPE funcname VALUE 'BUP_SHLP_EXIT_BADI'.
    TYPES: BEGIN OF ls_view.
    INCLUDE STRUCTURE but050.
    TYPES: END OF ls_view.
    DATA: lt_view TYPE STANDARD TABLE OF ls_view,
    wa_view TYPE ls_view.
    DATA: wa_shlp LIKE LINE OF shlp-fielddescr.
    CALL FUNCTION 'F4UT_OPTIMIZE_COLWIDTH'
    TABLES
    shlp_tab = shlp_tab
    record_tab = record_tab
    CHANGING
    shlp = shlp
    callcontrol = callcontrol.
    *------ Rolle auf jeden Fall als Mußfeld ------------------------------
    CALL FUNCTION 'F4UT_PARAMETER_REQUIRED'
    EXPORTING
    parameter_required = 'RELTYP'
    TABLES
    shlp_tab = shlp_tab
    record_tab = record_tab
    CHANGING
    shlp = shlp
    callcontrol = callcontrol.
    * STEP SELONE (Select one of the elementary searchhelps)
    * This step is only called for collective searchhelps. It may be used
    * to reduce the amount of elementary searchhelps given in SHLP_TAB.
    * The compound searchhelp is given in SHLP.
    * If you do not change CALLCONTROL-STEP, the next step is the
    * dialog, to select one of the elementary searchhelps.
    * If you want to skip this dialog, you have to return the selected
    * elementary searchhelp in SHLP and to change CALLCONTROL-STEP to
    * either to 'PRESEL' or to 'SELECT'.
    IF callcontrol-step = 'SELONE'.
    * PERFORM SELONE .........
    EXIT.
    ENDIF.
    * STEP PRESEL (Enter selection conditions)
    * This step allows you, to influence the selection conditions either
    * before they are displayed or in order to skip the dialog completely.
    * If you want to skip the dialog, you should change CALLCONTROL-STEP
    * to 'SELECT'.
    * Normaly only SHLP-SELOPT should be changed in this step.
    IF callcontrol-step = 'PRESEL'.
    *--... Datendeklartionen.
    CLASS cl_exithandler DEFINITION LOAD.
    DATA: lv_exit_object TYPE REF TO if_ex_bupa_augrp, "#EC NEEDED
    ls_auth_selopt TYPE ddshselopt,
    lt_auth_selopt TYPE TABLE OF ddshselopt WITH DEFAULT KEY.
    CALL FUNCTION 'F4UT_PARAMETER_REQUIRED'
    EXPORTING
    parameter_required = 'RELTYP'
    TABLES
    shlp_tab = shlp_tab
    record_tab = record_tab
    CHANGING
    shlp = shlp
    callcontrol = callcontrol.
    * Call "AUGRP" badi
    CALL FUNCTION 'FUNCTION_EXISTS'
    EXPORTING
    funcname = lc_bp_shlp_badi
    EXCEPTIONS
    function_not_exist = 1
    OTHERS = 2.
    IF sy-subrc EQ 0.
    CALL FUNCTION lc_bp_shlp_badi
    TABLES
    shlp_tab = shlp_tab
    record_tab = record_tab
    CHANGING
    shlp = shlp
    callcontrol = callcontrol.
    rc = sy-subrc.
    ENDIF.
    EXIT.
    ENDIF.
    * STEP SELECT (Select values)
    * This step may be used to overtake the data selection completely.
    * To skip the standard seletion, you should return 'DISP' as following
    * step in CALLCONTROL-STEP.
    * Normally RECORD_TAB should be filled after this step.
    * Standard function module F4UT_RESULTS_MAP may be very helpfull in this
    * step.
    IF callcontrol-step = 'SELECT'.
    DATA: BEGIN OF ls_result,
    partner LIKE but000-partner,
    weekday LIKE crmm_tour_i-weekdayfrom,
    terr_id LIKE crmm_territory-terr_id,
    mc_name1 LIKE but000-mc_name1,
    mc_name2 LIKE but000-mc_name2,
    reltyp LIKE but050-reltyp,
    partner2 LIKE but000_td-partner,
    city LIKE adrc-city1,
    post_code1 LIKE adrc-post_code1,
    tel_number LIKE adrc-tel_number,
    region LIKE adrc-region,
    END OF ls_result.
    * Local Variables
    DATA: lv_resultcount TYPE i,
    lv_adrno TYPE but020-addrnumber,
    lv_name1 TYPE but000-mc_name1,
    lv_name2 TYPE but000-mc_name2,
    lv_pc TYPE adrc-post_code1,
    lv_tele TYPE adrc-tel_number,
    lv_guid TYPE but000-partner_guid,
    lv_last TYPE adrc-name1,
    lv_first TYPE adrc-name2,
    lv_region TYPE adrc-region,
    lv_city1 TYPE adrc-city1,
    lv_trguid TYPE crmm_territory-terr_guid.
    * Local Tables
    DATA: ls_ddshselop TYPE ddshselopt,
    lt_ddshselops TYPE ddshselops,
    lt_result LIKE STANDARD TABLE OF ls_result,
    wa_result LIKE ls_result.
    * Ranges
    RANGES: lr_reltyp FOR but050-reltyp,
    lr_partner FOR but000-partner,
    lr_name1 FOR but000-mc_name1,
    lr_name2 FOR but000-mc_name2,
    lr_region FOR adrc-region,
    lr_city FOR adrc-city1,
    lr_tele FOR adrc-tel_number,
    lr_pc FOR adrc-post_code1.
    SELECT rltyp FROM z_bupar_td INTO TABLE lt_view.
    lt_ddshselops = shlp-selopt.
    LOOP AT lt_ddshselops INTO ls_ddshselop.
    CASE ls_ddshselop-shlpfield.
    WHEN 'RELTYP'.
    MOVE-CORRESPONDING ls_ddshselop TO lr_reltyp.
    APPEND lr_reltyp.
    WHEN 'PARTNER'.
    MOVE-CORRESPONDING ls_ddshselop TO lr_partner.
    APPEND lr_partner.
    WHEN 'MC_NAME1'.
    MOVE-CORRESPONDING ls_ddshselop TO lr_name1.
    APPEND lr_name1.
    WHEN 'MC_NAME2'.
    MOVE-CORRESPONDING ls_ddshselop TO lr_name2.
    APPEND lr_name2.
    WHEN 'REGION'.
    MOVE-CORRESPONDING ls_ddshselop TO lr_region.
    APPEND lr_region.
    WHEN 'CITY'.
    MOVE-CORRESPONDING ls_ddshselop TO lr_city.
    APPEND lr_city.
    WHEN 'TEL_NUMBER'.
    MOVE-CORRESPONDING ls_ddshselop TO lr_tele.
    APPEND lr_tele.
    WHEN 'POST_CODE1'.
    MOVE-CORRESPONDING ls_ddshselop TO lr_pc.
    APPEND lr_pc.
    ENDCASE.
    ENDLOOP.
    SELECT * FROM but050 INTO TABLE lt_view
    WHERE reltyp IN lr_reltyp
    AND partner1 IN lr_partner.
    LOOP AT lt_view INTO wa_view.
    wa_result-partner = wa_view-partner1.
    wa_result-reltyp = wa_view-reltyp.
    *___ adress details
    SELECT SINGLE addrnumber FROM but020 INTO lv_adrno
    WHERE partner EQ wa_result-partner.
    SELECT SINGLE post_code1 tel_number name1 name2 region city1 FROM adrc
    INTO (lv_pc , lv_tele, lv_last, lv_first, lv_region, lv_city1)
    WHERE addrnumber EQ lv_adrno AND region IN lr_region
    AND city1 IN lr_city AND tel_number IN lr_tele
    AND post_code1 IN lr_pc.
    *___ names
    SELECT SINGLE mc_name1 mc_name2 FROM but000
    INTO (lv_name1 , lv_name2)
    WHERE partner IN lr_partner
    AND mc_name1 IN lr_name1
    AND mc_name2 IN lr_name2.
    *___ CRM patner guid
    SELECT SINGLE partner_guid FROM but000
    INTO lv_guid
    WHERE partner EQ wa_result-partner.
    *___ Territory guid
    SELECT SINGLE terr_guid FROM crmm_territory_v
    INTO lv_trguid
    WHERE guid EQ lv_guid.
    SELECT SINGLE terr_id FROM crmm_territory
    INTO wa_result-terr_id
    WHERE terr_guid EQ lv_trguid.
    *__ weekfrom
    SELECT SINGLE weekdayfrom FROM crmm_tour_i
    INTO wa_result-weekday
    WHERE guid EQ lv_guid.
    wa_result-post_code1 = lv_pc.
    wa_result-tel_number = lv_tele.
    wa_result-mc_name1 = lv_name1.
    wa_result-mc_name2 = lv_name2.
    wa_result-partner2 = lv_first.
    wa_result-region = lv_region.
    wa_result-city = lv_city1.
    APPEND wa_result TO lt_result.
    lv_resultcount = lv_resultcount + 1.
    IF lv_resultcount GE callcontrol-maxrecords.
    EXIT.
    ENDIF.
    CLEAR: lv_pc,lv_tele,lv_name1,lv_name2,lv_first,lv_region,lv_city1.
    CLEAR: wa_view, wa_result.
    ENDLOOP.
    * Prepare for output
    CALL FUNCTION 'F4UT_RESULTS_MAP'
    TABLES
    shlp_tab = shlp_tab
    record_tab = record_tab
    source_tab = lt_result
    CHANGING
    shlp = shlp
    callcontrol = callcontrol
    EXCEPTIONS
    illegal_structure = 1
    OTHERS = 2.
    IF rc = 0.
    callcontrol-step = 'DISP'.
    ELSE.
    callcontrol-step = 'EXIT'.
    ENDIF.
    EXIT. "Don't process STEP DISP additionally in this call.
    ENDIF.
    * STEP DISP (Display values)
    * This step is called, before the selected data is displayed.
    * You can e.g. modify or reduce the data in RECORD_TAB
    * according to the users authority.
    * If you want to get the standard display dialog afterwards, you
    * should not change CALLCONTROL-STEP.
    * If you want to overtake the dialog on you own, you must return
    * the following values in CALLCONTROL-STEP:
    * - "RETURN" if one line was selected. The selected line must be
    * the only record left in RECORD_TAB. The corresponding fields of
    * this line are entered into the screen.
    * - "EXIT" if the values request should be aborted
    * - "PRESEL" if you want to return to the selection dialog
    * Standard function modules F4UT_PARAMETER_VALUE_GET and
    * F4UT_PARAMETER_RESULTS_PUT may be very helpfull in this step.
    IF callcontrol-step = 'DISP'.
    * PERFORM AUTHORITY_CHECK TABLES RECORD_TAB SHLP_TAB
    * CHANGING SHLP CALLCONTROL.
    EXIT.
    ENDIF.
    ENDFUNCTION.
    Edited by: Alvaro Tejada Galindo on Jan 24, 2008 4:32 PM

  • Valuation price with user exit/BADI/Enhancement Spot (In valuation variant)

    Hi all,
    i am facing problem finding enhancement when creation of sales order of Valuation price with user exit/BADI/Enhancement Spot  (In valuation variant)
    For refferenece:
    When going to t.code VA03, select one item and go to extras in the menu bar and select costing then you find some amounts calculation i.e valuation price automatically.
    So when creation of sales order i am giving material and that material price automatically takes from material master and creating sales order.
    My customer requirement is to get the valuation price of the input material from Z-table during the sales order cost estimate.
    This Z-table contains the material code, plant , grade  of the material.
    Ex:
    Material         Plant   Grade Price
    A                1000    XYZ     25000
    A                1000    PQR     35000
    A                1000    BCD     45000
    Suppose it depends on sales document type and which grade price i have to take.
    So first of all i am unable to find enhancement where to change this code to get change the valuation price.
    Does anybody have any idea , is there any user exit/BADI/enhancement for this.
    So please help me in this issue.
    Thanks & Regards,
    lokeshgoud

    pls allow me to post the questions

  • Valuation price with user Exit on activity types

    Hi All,
    Our customer could have different activity cost for different products even if they are processed on the same cost center, same activity type and same activity time. So I wonder whether SAP has valuation price with user Exit on activity types as what on material valuation, when we select "U" in the relevant valuation variant. Could anyone knows advise please?
    Regards
    Walter

    Hi Walter,
    an idea might be to include an ABC template into the costing. ABC tempaltes allow a big degree of freedom in determinin which processes to use and in which quantities. To use the product as a cost driver is certainly not an issue. I doubt that you can directly influence the process 'price' to be applied, but to change the quantity could bring the same result.
    See the docu for more info:
    [http://help.sap.com/saphelp_erp60_sp/helpdata/en/7e/cb7d1443a311d189ee0000e81ddfac/frameset.htm]
    best regards,
                        Udo

  • Please help me with the following two questions, very urgent

    Hi All,
    Please help me with some scenerios about what are the common problems when modifying a standard script such a standard Invoice script and how can we overcome them.
    What are the common problems encountered when working with SAP SMARTFORMS and how to overcome them?
    Please help me with these questions, its very urgent.
    Thanks in advance.
    MD.

    hi
    hope it will help you.
    reward if ehlp.
    How to create a New smartfrom, it is having step by step procedure
    http://sap.niraj.tripod.com/id67.html
    step by step good ex link is....
    http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.html
    Here is the procedure
    1. Create a new smartforms
    Transaction code SMARTFORMS
    Create new smartforms call ZSMART
    2. Define looping process for internal table
    Pages and windows
    First Page -> Header Window (Cursor at First Page then click Edit -> Node -> Create)
    Here, you can specify your title and page numbering
    &SFSY-PAGE& (Page 1) of &SFSY-FORMPAGES(Z4.0)& (Total Page)
    Main windows -> TABLE -> DATA
    In the Loop section, tick Internal table and fill in
    ITAB1 (table in ABAP SMARTFORM calling function) INTO ITAB2
    3. Define table in smartforms
    Global settings :
    Form interface
    Variable name Type assignment Reference type
    ITAB1 TYPE Table Structure
    Global definitions
    Variable name Type assignment Reference type
    ITAB2 TYPE Table Structure
    4. To display the data in the form
    Make used of the Table Painter and declare the Line Type in Tabstrips Table
    e.g. HD_GEN for printing header details,
    IT_GEN for printing data details.
    You have to specify the Line Type in your Text elements in the Tabstrips Output options.
    Tick the New Line and specify the Line Type for outputting the data.
    Declare your output fields in Text elements
    Tabstrips - Output Options
    For different fonts use this Style : IDWTCERTSTYLE
    For Quantity or Amout you can used this variable &GS_ITAB-AMOUNT(12.2)&
    5. Calling SMARTFORMS from your ABAP program
    REPORT ZSMARTFORM.
    Calling SMARTFORMS from your ABAP program.
    Collecting all the table data in your program, and pass once to SMARTFORMS
    SMARTFORMS
    Declare your table type in :-
    Global Settings -> Form Interface
    Global Definintions -> Global Data
    Main Window -> Table -> DATA
    Written by : SAP Hints and Tips on Configuration and ABAP/4 Programming
    http://sapr3.tripod.com
    TABLES: MKPF.
    DATA: FM_NAME TYPE RS38L_FNAM.
    DATA: BEGIN OF INT_MKPF OCCURS 0.
    INCLUDE STRUCTURE MKPF.
    DATA: END OF INT_MKPF.
    SELECT-OPTIONS S_MBLNR FOR MKPF-MBLNR MEMORY ID 001.
    SELECT * FROM MKPF WHERE MBLNR IN S_MBLNR.
    MOVE-CORRESPONDING MKPF TO INT_MKPF.
    APPEND INT_MKPF.
    ENDSELECT.
    At the end of your program.
    Passing data to SMARTFORMS
    call function 'SSF_FUNCTION_MODULE_NAME'
    exporting
    formname = 'ZSMARTFORM'
    VARIANT = ' '
    DIRECT_CALL = ' '
    IMPORTING
    FM_NAME = FM_NAME
    EXCEPTIONS
    NO_FORM = 1
    NO_FUNCTION_MODULE = 2
    OTHERS = 3.
    if sy-subrc <> 0.
    WRITE: / 'ERROR 1'.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    call function FM_NAME
    EXPORTING
    ARCHIVE_INDEX =
    ARCHIVE_INDEX_TAB =
    ARCHIVE_PARAMETERS =
    CONTROL_PARAMETERS =
    MAIL_APPL_OBJ =
    MAIL_RECIPIENT =
    MAIL_SENDER =
    OUTPUT_OPTIONS =
    USER_SETTINGS = 'X'
    IMPORTING
    DOCUMENT_OUTPUT_INFO =
    JOB_OUTPUT_INFO =
    JOB_OUTPUT_OPTIONS =
    TABLES
    GS_MKPF = INT_MKPF
    EXCEPTIONS
    FORMATTING_ERROR = 1
    INTERNAL_ERROR = 2
    SEND_ERROR = 3
    USER_CANCELED = 4
    OTHERS = 5.
    if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    Smartform
    you can check this link here you can see the steps and you can do it the same by looking at it..
    http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.html
    SMARTFORMS STEPS.
    1. In Tcode se11 Create a structure(struct) same like the Internal table that you are going to use in your report.
    2. Create Table type(t_struct) of stracture in se11.
    3. In your program declare Internal table(Itab) type table of structure(struct).
    4. Define work area(wa) like line of internal table.
    5. Open Tcode Smartforms
    6. In form Global setting , forminterface Import parameter define Internal table(Itab) like table type of stracture(t_struct).
    7. In form Global setting , Global definitions , in Global data define Work area(wa) like type stracture(struct).
    8. In form pages and window, create Page node by default Page1 is available.
    9. In page node you can create numbers of secondary window. But in form there is only one Main window.
    10. By right click on page you can create windows or Go to Edit, Node, Create.
    11. After creating the window right click on window create table for displaying the data that you are passing through internal table.
    12. In the table Data parameter, loop internal internal table (Itab) into work area(wa).
    13. In table there are three areas Header, Main Area, Footer.
    14. Right click on the Main area create table line by default line type1 is there select it.
    15. Divide line into cells according to your need then for each cell create Text node.
    16. In text node general attribute. Write down fields of your work area(wa) or write any thing you want to display.
    17. Save form and activate it.
    18. Then go to Environment, function module name, there you get the name of function module copy it.
    19. In your program call the function module that you have copied from your form.
    20. In your program in exporting parameter of function pass the internal table(itab).
    SAP Smart Forms is introduced in SAP Basis Release 4.6C as the tool for creating and maintaining forms.
    SAP Smart Forms allow you to execute simple modifications to the form and in the form logic by using simple graphical tools; in 90% of all cases, this won't include any programming effort. Thus, a power user without any programming knowledge can
    configure forms with data from an SAP System for the relevant business processes.
    To print a form, you need a program for data retrieval and a Smart Form that contains the entire from logic. As data retrieval and form logic are separated, you must only adapt the Smart Form if changes to the form logic are necessary. The application program passes the data via a function module interface to the Smart Form. When activating the Smart Form, the system automatically generates a function module. At runtime, the system processes this function module.
    You can insert static and dynamic tables. This includes line feeds in individual table cells, triggering events for table headings and subtotals, and sorting data before output.
    You can check individual nodes as well as the entire form and find any existing errors in the tree structure. The data flow analysis checks whether all fields (variables) have a defined value at the moment they are displayed.
    SAP Smart Forms allow you to include graphics, which you can display either as part of the form or as background graphics. You use background graphics to copy the layout of an existing (scanned) form or to lend forms a company-specific look. During printout, you can suppress the background graphic, if desired.
    SAP Smart Forms also support postage optimizing.
    Also read SAP Note No. 168368 - Smart Forms: New form tool in Release 4.6C
    What Transaction to start SAP Smart Forms?
    Execute transaction SMARTFORMS to start SAP Smart Forms.
    Key Benefits of SAP Smart Forms:
    SAP Smart Forms allows you to reduce considerably the implementation costs of mySAP.com solutions since forms can be adjusted in minimum time.
    You design a form using the graphical Form Painter and the graphical Table Painter. The form logic is represented by a hierarchy structure (tree structure) that consists of individual nodes, such as nodes for global settings, nodes for texts, nodes for output tables, or nodes for graphics.
    To make changes, use Drag & Drop, Copy & Paste, and select different attributes.
    These actions do not include writing of coding lines or using a Script language.
    Using your form description maintained in the Form Builder, Smart Forms generates a function module that encapsulates layout, content and form logic. So you do not need a group of function modules to print a form, but only one.
    For Web publishing, the system provides a generated XML output of the processed form.
    Smart Forms provides a data stream called XML for Smart Forms (XSF) to allow the use of 3rd party printing tools. XSF passes form content from R/3 to an external product without passing any layout information about the Smart Form.
    SmartForms System Fields
    Within a form you can use the field string SFSY with its system fields. During form processing the system replaces these fields with the corresponding values. The field values come from the SAP System or are results of the processing.
    System fields of Smart Forms
    &SFSY-DATE&
    Displays the date. You determine the display format in the user master record.
    &SFSY-TIME&
    Displays the time of day in the form HH:MM:SS.
    &SFSY-PAGE&
    Inserts the number of the current print page into the text. You determine the format of the page number (for example, Arabic, numeric) in the page node.
    &SFSY-FORMPAGES&
    Displays the total number of pages for the currently processed form. This allows you to include texts such as'Page x of y' into your output.
    &SFSY-JOBPAGES&
    Contains the total page number of all forms in the currently processed print request.
    &SFSY-WINDOWNAME&
    Contains the name of the current window (string in the Window field)
    &SFSY-PAGENAME&
    Contains the name of the current page (string in the Page field)
    &SFSY-PAGEBREAK&
    Is set to 'X' after a page break (either automatic [Page 7] or command-controlled [Page 46])
    &SFSY-MAINEND&
    Is set as soon as processing of the main window on the current page ends
    &SFSY-EXCEPTION&
    Contains the name of the raised exception. You must trigger your own exceptions, which you defined in the form interface, using the user_exception macro (syntax: user_exception <exception name >).
    Example Forms Available in Standard SAP R/3
    SF_EXAMPLE_01
    Simple example; invoice with table output of flight booking for one customer
    SF_EXAMPLE_02
    Similar to SF_EXAMPLE_01 but with subtotals
    SF_EXAMPLE_03
    Similar to SF_EXAMPLE_02, whereby several customers are selected in the application program; the form is called for each customer and all form outputs are included in an output request
    Advantages of SAP Smart Forms
    SAP Smart Forms have the following advantages:
    1. The adaption of forms is supported to a large extent by graphic tools for layout and logic, so that no programming knowledge is necessary (at least 90% of all adjustments). Therefore, power user forms can also make configurations for your business processes with data from an SAP system. Consultants are only required in special cases.
    2. Displaying table structures (dynamic framing of texts)
    3. Output of background graphics, for form design in particular the use of templates which were scanned.
    4. Colored output of texts
    5. User-friendly and integrated Form Painter for the graphical design of forms
    6. Graphical Table Painter for drawing tables
    7. Reusing Font and paragraph formats in forms (Smart Styles)
    8. Data interface in XML format (XML for Smart Forms, in short XSF)
    9. Form translation is supported by standard translation tools
    10. Flexible reuse of text modules
    11. HTML output of forms (Basis release 6.10)
    12. Interactive Web forms with input fields, pushbuttons, radio buttons, etc. (Basis-Release 6.10)

  • Please help me with the homework given to me by my teacher

    hello,i am new in java programming please help me with the home work given to me by my teacher at school, help me to build an interface that can work with this code.i can build an interface but i dont just understand this code.
    //references:
    //http://forums.techguy.org/development/570048-need-write-java-program-convert.html
    import java.util.Map;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.BufferedReader;
    import java.io.FileReader;
    public class Translate
      public static void main(String [] args) throws IOException
        if (args.length != 2)
          System.err.println("usage: Translate wordmapfile textfile");
          System.exit(1);
        try
          HashMap words = ReadHashMapFromFile(args[0]);
          System.out.println(ProcessFile(words, args[1]));
    catch (Exception e)
          e.printStackTrace();
      // static helper methods
       * Reads a file into a HashMap. The file should contain lines of the format
       *    "key\tvalue\n"
       * @returns a hashmap of the given file
      @SuppressWarnings("unchecked")
      private static HashMap ReadHashMapFromFile(String filename) throws FileNotFoundException, IOException
        BufferedReader in = null;
        HashMap map = null;
        try
          in = new BufferedReader(new FileReader(filename));
          String line;
          map = new HashMap();
          while ((line = in.readLine()) != null)
            String[] fields = line.split("\\t", 2);
            if (fields.length != 2) continue; //just ignore "invalid" lines
            map.put(fields[0], fields[1]);
    finally
          if(in!=null) in.close(); //may throw IOException
        return(map); //returning a reference to local variable is safe in java (unlike C/C++)
       * Process the given file
       * @returns String contains the whole file.
      private static String ProcessFile(Map words, String filename) throws FileNotFoundException, IOException {
        BufferedReader in = null;
        StringBuffer out = null;
        try {
          in = new BufferedReader(new FileReader(filename));
          out = new StringBuffer();
          String line = null;
          while( (line=in.readLine()) != null ) {
            out.append(SearchAndReplaceWordsInText(words, line)+"\n");
        } finally {
          if(in!=null) in.close(); //may throw IOException
        return out.toString();
       * Replaces all occurrences in text of each key in words with it's value.
       * @returns String
      private static String SearchAndReplaceWordsInText(Map words, String text) {
        Iterator it = words.keySet().iterator();
        while( it.hasNext() ) {
          String key = (String)it.next();
          text = text.replaceAll("\\b"+key+"\\b", (String)words.get(key));
        return text;
       * @returns: s with the first letter capitalized
      String capitalize(String s)
        return s.substring(0,0).toUpperCase() + s.substring(1);
    }... here's the head of my pirate_words_map.txt
    hello     ahoy
    hi     yo-ho-ho
    pardon me     avast
    excuse me     arrr
    yes     aye
    my     me
    friend     me bucko
    sir     matey
    madam     proud beauty
    miss     comely wench
    stranger     scurvy dog
    officer     foul blaggart
    where     whar
    is     be
    are     be
    am     be
    the     th'
    you     ye
    your     yer
    tell     be tellin'

    Heres your answer. Run it in on your pc.
    public class Annoy
    public static void main(String[] args)
       System.out.println("I am a triple poster.");
       System.out.println("I can not understand why I can not understand the help I have receved to date on the java forums.");
    }

  • Formula variable with User Exit

    Hi,
    Can we create a Formula Variable of processing type USER EXIT...which will display a constant Value Y
    Any syntax would be helpful
    Thanks

    Hi,
    check this for formula variables with user exits;
    http://wiki.sdn.sap.com/wiki/display/profile/Surendra+Reddy
    http://sap.ittoolbox.com/groups/technical-functional/sap-bw/customer-exit-to-derive-formula-variable-to-text-variable-sap-bw-35-3030684
    Also Check the issues and solution :
    Formula Variable with User Exit....Problem
    Thanks
    Hemav

  • Difference between the different structures while dealing with User-Exits

    While dealing with User-Exits, we come across the different structures/Tables like XVBAP,YVBAP,TVBAP,IVBAP,*VBAP....
    What is the difference between them ?

    Usually X<tablename> and Y<tablename> are used in change document management to determine records updated (Y is old values and X new ones).  (Look at transaction SCDO)
    T<tablename is an internal table read from database and I<tablename> is an import table parameter of the same structure. <tablename> is an equivalent of <tablename> declared with statement TABLES and contains usually the "old" value.
    Look at exit documentation. start at [User Exits In Sales Document Processing|http://help.sap.com/saphelp_46c/helpdata/en/1c/f62c7dd435d1118b3f0060b03ca329/content.htm]
    Regards

  • Please help me with simple program

    Can someone please write a simple program for me that opens up a webpage in the center of the screen , with a set size, and then asks the user where they would like to click on the screen. Then once the person clicks it asks how many times they would like to click there, and then once they enter the # the program opens up the webpage (in the center at the same spot as before, with the same set size) and automatically clicks on the predesignated spot , and then closes all open internet windows, and keeps doing it for however many times the person chose. PLEASE HELP ME WITH THIS!!! If you could, please post the source code here. Thank you so much to whoever helps me!!!!!!!

    If it's not to learn, then what is the purpose of
    this project?well, if it's not HW and its not for learning java, then why the hell would anyone like to have a program that may open a webpage and then repeatedly click on predefined place...
    let me see...
    now if he had asked for program that fakes IP as well, then i would suggest that he tryes to generate unique clicks, but now... i'm not sure... maybe just voting in some polls or smthing... though, i would not create a program that clicks on the link or form element, but rather just reload url with given parameters for N times...

  • Please help me with ABAP code

    Hi Gurus,
    Please help me with the code.
    Algorithm: This is for master data extraction. I need to append some records to I_T_DATA before the loop on I_T_DATA begins.
    ZTAB is a custom defined table with key KEY. STAB is standard table with key KEY.
    1. Create an internal table I_T_STAB similar to STAB.
    2. Loop at I_T_DATA
        Read record from ZTAB where KEY = I_T_DATA-KEY and { field1 <> I_T_DATA-field1 or field2 <> I_T_DATA-field2 <> field3 <> I_T_DATA-field3}
    If success
         Delete record from I_T_DATA.
    Else
         Continue loop.
    Copy all records of STAB to I_T_STAB.
    3. Delete records in I_T_STAB where I_T_STAB-KEY = ZTAB-KEY.
    Now
    4. Delete all records in I_T_DATA where I_T_DATA-KEY = I_T_STAB-KEY.
    Now,
    5. Append all the remaining records from step 3 in I_T_STAB to I_T_DATA.
    Please help me with the code upto this part.
    Now the actual code in exit starts.
    Loop at I_T_DATA
    Thanks,
    Regards,
    aarthi
    [email protected]

    You might get a quick answer if you were to post in the ABAP forum. 
    Moderator, please move to ABAP forum.  Thanks.
    Regards,
    Rich Heilman

  • Hey!!Can someone please help me with my NOKIA N79

    Hey!!
    Whenever I try to connect to the internet or try connecting to maps it asks for ACCESS POINT USER NAME AND ACCESS POINT PASSWORD
    can anyone please help me with this problem

    Take it back to the people who replaced the screen. Your symptoms indicate the wifi antenna was not reconnected correctly

  • Please help me with this SQL query

    I am practicing SQL queries and have come across one involving fetching data from 3 different tables.
    The three tables are as below
    <pre>
    Country
    location_id          country
    loc1          Spain
    loc2          England
    loc3          Spain
    loc4          USA
    loc5          Italy
    loc6          USA
    loc7          USA
    </pre>
    <pre>
    User
    user_id location_id
    u1 loc1
    u2 loc1
    u3 loc2
    u4 loc2
    u5 loc1
    u6 loc3
    </pre>
    <pre>
    Post
    post_id user_id
    p1 u1
    p2 u1
    p3 u2
    p4 u3
    p5 u1
    p6 u2
    </pre>
    I am trying to write an SQL query - for each country of users, display the average number of posts
    I understand the logic behind this that we first need to group together all the locations and then the users belonging to one country and then find the average of their posts.
    But, i'm having a difficulty in putting this in SQL form. Could someone please help me with this query.
    Thanks.

    select
    country.country,
    count(*) Totalpostspercountry,
    count(distinct post.user_id) Totaldistincuserspercountry,
    count(*)/count(distinct post.user_id) Avgpostsperuserbycountry
    from
    country, muser, post
    where country.location_id = muser.location_id
    and muser.user_id = post.user_id
    group by country.country
    The output is like this for your sample data - hope this is what you were looking for :)
    COUNTRY,TOTALPOSTSPERCOUNTRY,TOTALDISTINCUSERSPERCOUNTRY,AVGPOSTSPERUSERBYCOUNTRY
    England,1,1,1,
    Spain,5,2,2.5,

  • Please help me with this calculation script

    Hello everyone.
    I have 2 fields named A and B. FieldA is user-enter value and FieldB is calculated. I want to write a script that do the following:
    If FieldA is more than or equal to $10000, then FieldB always is $1000, Else FieldB = FieldA * 10%.
    I don't know about scripting; however, after hour of search through google, I wrote this one:
    var tvar
    If (tvar >= 10000)then deposit.value = 1000
    else deposit.value = total.rawValue*0.01
    endif
    And when I try to run, it say "Invalid Property Set Operation, value doesn't have a default property."
    I know my script is bad and over the place. Can anyone please help me with this problem ASAP. Thank you so much, I'm in your debt.
    I used Adobe LiveCycle Designer to create a PDF file.

    Thank you for your response.
    tvar = total
    At first I wrote it like this:
    If (total.rawValue >= 10000)then deposit.rawvalue = 1000
    else deposit.rawvalue = total.rawValue*0.01
    endif
    then I get an error message "accessor 'Total.rawValue' is unknown"
    Hic, I think my script is screwed. Can you help me start fresh :)
    Thank again.

Maybe you are looking for