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 FormulasHi,
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,
lokeshgoudpls 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
WalterHi 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
ThanksHi,
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... -
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 problemTake 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
-
Why isn't the "Find My iPad", "Find My Mac", etc. feature not automatically enabled in the iCloud Settings on every device? My iPad was stolen a couple days ago and it's been showing Offline under "Find My iPhone" feature so I started doing some rese
-
Installed Debian Linux over my entire hdd. how to reinstall os x?
I installed Debian linux for ppc over my entire system using a usb drive. OS x is gone. How do I get it back? My internal optical drive doesn't work. I put the Tiger install cd that came with the computer into my second computer macbook in target mod
-
Duplicate Invoice Check for Transaction MIR7
Hi Experts, My client requirment is . Currenty system checks the BUKRS,LIFNR,WAERS,XBLNR,WRBTR,BLDAT for duplicate invoice this is a standard SAP functionality for T.code MIR7. Logic needs to be changed Duplicate Check in SAP for Vendor invoices to o
-
How to handle duplicate Primary Key entries in the Source data
This is my first experience with ODI. I receive Source data from the customer that includes a one letter designation, ACTION_CODE, in each record of data as to the disposition of the record: 'R' represents Re-issue in which case I'm to modify the cor
-
Mavericks-Bridge = no video preview
Since upgrading to Mavericks I can't preview video files from the finder or Bridge, is there a workaround for this which doesn't involve converting all my video files? Thanks