Using Function Module RS_CONV_EX_2_IN without a predefined structure
HELLO,
In a SDN Blog I have seen the FM 'RS_CONV_EX_2_IN' can be used to convert formatted char value to float.
I am trying this FM to convert some data but the final data format does not belong to an existing structure.
I have tried to define within the code but I keep getting a 15 return code (invalid name)
What is wrong? Does this FM need a predefined structure to work?
Here is a code sample:
TYPES: BEGIN OF OUT_PUT_TYPE_STRUC,
value TYPE F,
END OF OUT_PUT_TYPE_STRUC.
lv_tabfield-tabname = 'OUT_PUT_TYPE_STRUC'.
lv_tabfield-fieldname = 'VALUE'.
PARAMETERS lv_value TYPE crm_imp_cell_value OBLIGATORY. u201CCHAR30
CALL FUNCTION 'RS_CONV_EX_2_IN'
EXPORTING
input_external = lv_value
table_field = lv_tabfield
IMPORTING
output_internal = lv_cell_value
EXCEPTIONS
input_not_numerical = 1
too_many_decimals = 2
more_than_one_sign = 3
ill_thousand_separator_dist = 4
too_many_digits = 5
sign_for_unsigned = 6
too_large = 7
too_small = 8
invalid_date_format = 9
invalid_date = 10
invalid_time_format = 11
invalid_time = 12
invalid_hex_digit = 13
unexpected_error = 14
invalid_fieldname = 15
field_and_descr_incompatible = 16
input_too_long = 17
no_decimals = 18
invalid_float = 19
conversion_exit_error = 20
OTHERS = 21.
Thanks
Paul
HI Jovito,
Thanks for your help.
But the out-put variable has the right type.
Here is the complete code that you can try.
I have tried two way for the input param.
Regards,
Paul
DATA lv_cell_value TYPE f.
DATA lv_tabfield TYPE tabfield.
DATA lv_value TYPE char30 value '44,5'.
TYPES: BEGIN OF out_put_type_struc,
value TYPE f,
END OF out_put_type_struc.
lv_tabfield-tabname = 'OUT_PUT_TYPE_STRUC'.
lv_tabfield-fieldname = 'VALUE'.
*PARAMETERS lv_value TYPE Char40 OBLIGATORY.
CALL FUNCTION 'RS_CONV_EX_2_IN'
EXPORTING
input_external = lv_value
table_field = lv_tabfield
IMPORTING
output_internal = lv_cell_value
EXCEPTIONS
input_not_numerical = 1
too_many_decimals = 2
more_than_one_sign = 3
ill_thousand_separator_dist = 4
too_many_digits = 5
sign_for_unsigned = 6
too_large = 7
too_small = 8
invalid_date_format = 9
invalid_date = 10
invalid_time_format = 11
invalid_time = 12
invalid_hex_digit = 13
unexpected_error = 14
invalid_fieldname = 15
field_and_descr_incompatible = 16
input_too_long = 17
no_decimals = 18
invalid_float = 19
conversion_exit_error = 20
OTHERS = 21.
IF sy-subrc = 0 .
WRITE lv_cell_value.
ELSE.
WRITE: / 'error ' , sy-subrc.
ENDIF.
Similar Messages
-
Error message when using function module HRIQ_TESTRESULTS_CREATE
Hi,
I need your help, I'm trying to use function module HRIQ_TESTRESULTS_CREATE to create external test results, I've used this function before without subscores, now I need to create subscores, but I get the message: "Grading scale UBID applies".
The test type EXAM_UB_ING has assigned the UBID academic scale, which has a range from 1 to 677. Test type EXAM_UB_ING has 3 subtests (grammar, listening and reading) which also have the UBID academic scale assigned.
I think this isn't a customizing problem because I can create test results with subscores using the PIQST00 transaction, the error message happens just when using the function module.
I'm using this import parameters:
STUDENT:
PL: 01
OT: ST
OBJID: Student ID
TESTRESULTS_HEADER:
ISSUEDATE 08.02.2010
VALIDDATE 30.04.2010
TEST_GUID
TESTEO 50000269
TRANSEO 00000000
TESTTYPE EXAM_UB_ING
SESSIONID T1
SESSIONYEAR 2010
ENTRYDATE 08.02.2010
TESTPASSFAIL
TESTTOTRES 458
TESTSCALE_ID
TOTALPERCENT1 0,00
TOTALPERCENT2 0,00
ENTRYMODE
SUBTY
Table TESTRESULTS_SUBSCORES:
SUBTESTID GRAMMAR
SUBTESTTRES GRAMMAR
SUBT 203
SUBTESTID READING
SUBTESTTRES READING
SUBT 120
Does anybody know which could be the error? Or any other function module which I can use? (with HRIQ_TESTRESULTS_PROCESS_DATA I get the same error message).
Thanks in advance!
AraceliAraceli,
I just noticed. You are populating SUBTESTSCALE_ID in subtest result structure.That's the reason it's throwing this error. it is trying to match Scale ID from test with value in sub test result scale ID.
Prabhat Singh -
Why we use function module SSF_FUNCTION_MODULE_NAME in smartform driver program?
Forum Search
Use the form below to search the forum content. You can choose to search all content or restrict it to certain forums or dates. Also, you can filter the results by a username or user ID.
Search Forum Content
Search Terms: Search Tips
Category or Forum:
Date Range:
Results Per Page:
Welcome, Clemens Li Help
Your Control Panel Your Control Panel
Your Reward Points Your Reward Points
Your Questions Your Questions
Search Results » Messages: 271 - Search Terms: why we require form interface section in smartform? Sort by:
Pages: 19 1 2 3 4 5 6 7 8 9 10
1. Why we require FORM INTERFACE section in smartform?
Posted on: Sep 12, 2007 10:47 PM, by user: p d -- Relevance: 100% -- Show all results within this thread
Why we require FORM INTERFACE section in smartform?
2. What is the driver program & why we require driver program?
Posted on: Sep 12, 2007 10:48 PM, by user: p d -- Relevance: 17% -- Show all results within this thread
What is the driver program & why we require driver program?
3. Re: form interface in smartform
Posted on: Feb 21, 2006 11:51 AM, by user: Hasmath -- Relevance: 14% -- Show all results within this thread
hard-coded driver program in the tables section. for this u have to define the same structure in the form interface of the smartforms and can use the same structure for sending the data to the smartform ...
4. Smartform: Form Interface
Posted on: Aug 24, 2007 2:34 PM, by user: vivek pandey -- Relevance: 13% -- Show all results within this thread
Hi, If we want to use a workarea/internaltable in the form interface of Smartform of a user defined structure ...
5. Form Interface in Smartforms ?
Posted on: Oct 27, 2006 5:32 PM, by user: SAP BEE -- Relevance: 12% -- Show all results within this thread
ztest ) on the table and print the value : &gs_vbap-total&. I activate the form ...it is fine ...as well as program !! Now , when i do the print preview of the form , It gives an error : Reference ...
6. SmartForms form interface - tables
Posted on: May 18, 2005 2:44 PM, by user: Diliip Gupchup -- Relevance: 12% -- Show all results within this thread
Hi All, In smart forms how to declare our internal table in form interface? By using types in global itried but it is ...
7. Calling thru Form Interface of Smartforms
Posted on: May 4, 2007 3:03 AM, by user: Subhasish Ganguly -- Relevance: 11% -- Show all results within this thread
In a Smartforms, how can I call a internal table thru 'Form interface' which has been declared in the driver program? ...
8. Form Interface in SMARTFORMS
Posted on: Jun 1, 2006 10:56 AM, by user: Rams V -- Relevance: 11% -- Show all results within this thread
Hi There, Is it mandatory to create a custom structure in ABAP dictionary to use it in SMARTFORM interface? regards, Rams. ...
9. Line Types and Table types & Smartform form interface
Posted on: Sep 21, 2005 3:38 PM, by user: Aadarsh K -- Relevance: 10% -- Show all results within this thread
types ?? 2. In smartforms form interface, in the importing parameter, can tables be passed ?? [we use tables parameter generally, but even if passed in export parameter, no error is being given and ...
10. regarding complex section in smartforms
Posted on: Aug 25, 2007 7:49 AM, by user: ravi -- Relevance: 10% -- Show all results within this thread
learning smartforms on 5.0ecc and i got the documents which is showing the complex section but in 5.0 ecc we have no complex section cud u plz let me know where sud i add the contents of the complex section ...
11. why is it that some function module require an endselect
Posted on: Aug 8, 2007 3:40 PM, by user: mathias Mbizvo -- Relevance: 10% -- Show all results within this thread
why is it that some function module require an endselect and some can work without the endselect...
12. Complex section in smartforms
Posted on: Aug 11, 2007 7:29 PM, by user: narendra veduru -- Relevance: 9% -- Show all results within this thread
Hi I am practicing smartforms in 4.7. I have a tutorial based on 4.6c and they have complex section in the nodes. How do i ...
13. form interface using currency fields - smartforms urgent!!!!
Posted on: Aug 17, 2005 1:11 AM, by user: skmysore -- Relevance: 9% -- Show all results within this thread
called function module. what is the error here? How can i correct this to display data into the form? Please help me it is urgent!!! Thanks Santhosh ...
14. why do we activate a program
Posted on: Feb 28, 2007 5:50 AM, by user: Rose -- Relevance: 8% -- Show all results within this thread
hi, why do we activate a program or tables in sap.Though there is a option known as save why do we activate? ...
15. Re: what is form interface and global definitions
Posted on: Jun 5, 2007 8:25 AM, by user: Venkatesh -- Relevance: 8% -- Show all results within this thread
Function modules. and global definitions are the variable or tables declared with in the smartform. we can pass values to the smartform from the driver programme through the form interface. if helpful ...
Pages: 19 [ 1 2 3 4 5 6 7 8 9 10 | Next -
How to lock transaction using function module or something like that
Hi, all
I'd like to know the way to lock transacitons using function module or something like that.
I know this would be possible if calling transaciton SM01, but I want to know other ways like calling function module (BAPI ) or method.
Thank you for your cooperation In advance.
Regards,
Hideki KozaiHi,
Try the following FM
BRF_NETWORK_GRAPHICS BRF: Network Graphics for BRF Objects
BRF_INITIALIZE_GRAPHICS_NGR BRF: Initialize Network Graphics
BRF_NETWORK_GRAPHICS_NGR BRF: Network Graphics: Start
BUSG SAP Business Graphics
GRAPH_2D Calling up the 2D business graphics
GRAPH_2D_MENUE DO NOT USE (use 'GRAPH_2D' and 'GRAPH_BUSG_MENU_SET')
GRAPH_3D Calling up the 3D presentation graphics
GRAPH_BUSG_COLOR_SET Definition of color pallets for business graphics
GRAPH_BUSG_MENU_SET Pushbutton menu (tool bar) for all BUSG modules
GRAPH_MATRIX Calling up SAP Business Graphics (2D, 3D and 4D)
GRAPH_MATRIX_2D Calling up the 2D graphics (user-friendly version)
GRAPH_MATRIX_3D Structure of 3D graphics (user-friendly version)
GRAPH_MATRIX_4D Calling up a 3D graphic (4th dimension stacked representation)
Regards, -
Hi,
We have a requirement to create a BI report based on plant maintenance report. The plant maintenance report is based on a ABAP program with complex logic. My question is i want create a Generic Datasource using Function module and can I include the logic(Abap Program) that is used for plant maintenance report in the function module? Please share your thoughts.
Thanks,
RaviHi,
Step1-Create a table structure which you need to create same as the fields you require in you data source.
Step 2-create a custom abap program and inside that call the Client abap program with the selections as required and save the result data in some table
Step 3-create infoset query.In the infoset query give your table structure name and program name which you developed.
Step4-create data source on top of that query -
Agent Determination Rule using Function Module
Hi all,
I am trying to create a custom agent determination rule using function module. But my rule is not getting invoked when the workflow is executed.
I created a custom rule and linked my function module (with proper signature).
FUNCTION 'ZRULEXXX''
""Local Interface:
*" TABLES
*" AC_CONTAINER STRUCTURE SWCONT
*" ACTOR_TAB STRUCTURE SWHACTOR
*" EXCEPTIONS
*" NOBODY_FOUND
And I am hard coding some values into table ACTOR_TAB
REFRESH ACTOR_TAB.
CLEAR ACTOR_TAB.
IF SY-SUBRC NE 0.
RAISE NOBODY_FOUND.
ELSE.
ACTOR_TAB-OTYPE = 'US'.
ACTOR_TAB-OBJID = 'XXXX'.
APPEND ACTOR_TAB.
ACTOR_TAB-OTYPE = 'US'.
ACTOR_TAB-OBJID = 'XXXXXX'.
APPEND ACTOR_TAB.
ENDIF.
But a worklist item is not being created for the users appended to ACTOR_TAB.
Is there anything am missing. Please let me know.
Thanks in advance
Regards
RajuHi,
Change it to following code. It will work.
REFRESH ACTOR_TAB.
CLEAR ACTOR_TAB.
*IF SY-SUBRC NE 0.
*RAISE NOBODY_FOUND.
*ELSE.
ACTOR_TAB-OTYPE = 'US'.
ACTOR_TAB-OBJID = 'XXXX'.
APPEND ACTOR_TAB.
ACTOR_TAB-OTYPE = 'US'.
ACTOR_TAB-OBJID = 'XXXXXX'.
APPEND ACTOR_TAB.
*ENDIF.
Regards,
Vaishali. -
Data transfer of Selected sets (QS51) using Function modules
Hi All,
I am doing data migration of Selected sets (TCODE QS51) using function module. I have tried using BDC recording but it is not working in background.In foreground it is giving information error on second screen as field RQSKT-AUSWAHLMGE is not present on screen 1000.. In foreground I am pressing enter after this error its working fine but in background the execution stops there. So I am trying function modules QPAM_SELSET_CODE_CREATE and QPAM_SELECTED_SET_CREATE
The fields in template I have are KATALOGART(Catalog), WERKS(Plant),AUSWAHLMGE(Selected set) ,KTX01(short text), STATUS(status),CODEGRUPPE(code group), CODE (code), KURZTEXT (short text for codegroup),BEWERTUNG(Valuation code), FEHLKLASSE(Defect class)
QPAM_SELSET_CODE_CREATE contains fields KATALOGART, WERKS,AUSWAHLMGE ,CODEGRUPPE,CODE which I need and While stand alone testing of this function module I am geting error as follows with the data filled :
Runtime: 6.496 Microseconds
Exception WRONG_KEY
Message ID: QS Message number: 299
Message:
No entries were found in catalog 1
MAN WERK K AUSWAHLM CODEGRUP CODE
300 WI10 1 DDTEST THREADS 1
QPAM_SELECTED_SET_CREATE contains KATALOGART , WERKS,AUSWAHLMGE , KTX01 which I need and it requires Language key fiels KSP01. I specified it it executes successfully but in transaction it is not there. some FMs contain some fields and not all fields so I want to know which one to use ? Can anyone give me sample code how to use these FMs?Note 381286 - Code grps + selectd sets:Transport request requestd
Note 592418 - Composite SAP note: Transport of code groups and codes
But I do not recommend a modification because the system does not generate request for that in the production system.
This means you can maintain catalog directly without transport in the production system.
Only development or test system ask you a request number.
Regards
Luke -
How to extract the data by using function module?
hi experts,
what are the steps i have to fallow to extract the data from R/3 by using FUNCTION MODULE.
thanks & regards
venkatHi,
Extracting data from R/3 extract structure thru function modules
You can proceed with create function module using SE37, thereu2019s sample in system RSAX_BIW_GET_DATA_SIMPLE,
You need to know the logic how to populate the structure,
after that RSO2, create datasource specify extract structure and
function module,
activate and replicate to bw.
Chheers
Raj -
ALV Tree using Function Modules
Hi,
I want a simple example of ALV Tree using Function Modules which can display multiple Columns in the Hierarchically arranged fashion along with nodes & icons.
Also should be able to handle the events.
Thanks in Advance..Hi Ramesh,
Here is a example of alv tree
*& Report BCALV_TREE_DEMO *
report bcalv_tree_demo.
class cl_gui_column_tree definition load.
class cl_gui_cfw definition load.
data tree1 type ref to cl_gui_alv_tree.
data mr_toolbar type ref to cl_gui_toolbar.
include <icon>.
include bcalv_toolbar_event_receiver.
include bcalv_tree_event_receiver.
data: toolbar_event_receiver type ref to lcl_toolbar_event_receiver.
data: gt_sflight type sflight occurs 0, "Output-Table
gt_fieldcatalog type lvc_t_fcat, "Fieldcatalog
ok_code like sy-ucomm. "OK-Code
start-of-selection.
end-of-selection.
call screen 100.
*& Module PBO OUTPUT
* process before output
module pbo output.
set pf-status 'MAIN100'.
if tree1 is initial.
perform init_tree.
endif.
call method cl_gui_cfw=>flush.
endmodule. " PBO OUTPUT
*& Module PAI INPUT
* process after input
module pai input.
case ok_code.
when 'EXIT' or 'BACK' or 'CANC'.
perform exit_program.
when others.
call method cl_gui_cfw=>dispatch.
endcase.
clear ok_code.
call method cl_gui_cfw=>flush.
endmodule. " PAI INPUT
*& Form build_fieldcatalog
* build fieldcatalog for structure sflight
form build_fieldcatalog.
* get fieldcatalog
call function 'LVC_FIELDCATALOG_MERGE'
exporting
i_structure_name = 'SFLIGHT'
changing
ct_fieldcat = gt_fieldcatalog.
* change fieldcatalog
data: ls_fieldcatalog type lvc_s_fcat.
loop at gt_fieldcatalog into ls_fieldcatalog.
case ls_fieldcatalog-fieldname.
when 'CARRID' or 'CONNID' or 'FLDATE'.
ls_fieldcatalog-no_out = 'X'.
ls_fieldcatalog-key = ''.
when 'PRICE' or 'SEATSOCC' or 'SEATSMAX' or 'PAYMENTSUM'.
ls_fieldcatalog-do_sum = 'X'.
endcase.
modify gt_fieldcatalog from ls_fieldcatalog.
endloop.
endform. " build_fieldcatalog
*& Form build_hierarchy_header
* build hierarchy-header-information
* -->P_L_HIERARCHY_HEADER strucxture for hierarchy-header
form build_hierarchy_header changing
p_hierarchy_header type treev_hhdr.
p_hierarchy_header-heading = 'Hierarchy Header'. "#EC NOTEXT
p_hierarchy_header-tooltip =
'This is the Hierarchy Header !'. "#EC NOTEXT
p_hierarchy_header-width = 30.
p_hierarchy_header-width_pix = ''.
endform. " build_hierarchy_header
*& Form exit_program
* free object and leave program
form exit_program.
call method tree1->free.
leave program.
endform. " exit_program
*& Form build_header
* build table for html_header
* --> p1 text
* <-- p2 text
form build_comment using
pt_list_commentary type slis_t_listheader
p_logo type sdydo_value.
data: ls_line type slis_listheader.
* LIST HEADING LINE: TYPE H
clear ls_line.
ls_line-typ = 'H'.
* LS_LINE-KEY: NOT USED FOR THIS TYPE
ls_line-info = 'ALV-tree-demo: flight-overview'. "#EC NOTEXT
append ls_line to pt_list_commentary.
* STATUS LINE: TYPE S
clear ls_line.
ls_line-typ = 'S'.
ls_line-key = 'valid until'. "#EC NOTEXT
ls_line-info = 'January 29 1999'. "#EC NOTEXT
append ls_line to pt_list_commentary.
ls_line-key = 'time'.
ls_line-info = '2.00 pm'. "#EC NOTEXT
append ls_line to pt_list_commentary.
* ACTION LINE: TYPE A
clear ls_line.
ls_line-typ = 'A'.
* LS_LINE-KEY: NOT USED FOR THIS TYPE
ls_line-info = 'actual data'. "#EC NOTEXT
append ls_line to pt_list_commentary.
p_logo = 'ENJOYSAP_LOGO'.
endform.
*& Form create_hierarchy
* text
* --> p1 text
* <-- p2 text
form create_hierarchy.
data: ls_sflight type sflight,
lt_sflight type sflight occurs 0.
* get data
select * from sflight into table lt_sflight
UP TO 200 ROWS .
sort lt_sflight by carrid connid fldate.
* add data to tree
data: l_carrid_key type lvc_nkey,
l_connid_key type lvc_nkey,
l_last_key type lvc_nkey.
loop at lt_sflight into ls_sflight.
on change of ls_sflight-carrid.
perform add_carrid_line using ls_sflight
changing l_carrid_key.
endon.
on change of ls_sflight-connid.
perform add_connid_line using ls_sflight
l_carrid_key
changing l_connid_key.
endon.
perform add_complete_line using ls_sflight
l_connid_key
changing l_last_key.
endloop.
* calculate totals
call method tree1->update_calculations.
* this method must be called to send the data to the frontend
call method tree1->frontend_update.
endform. " create_hierarchy
*& Form add_carrid_line
* add hierarchy-level 1 to tree
* -->P_LS_SFLIGHT sflight
* -->P_RELEATKEY relatkey
* <-->p_node_key new node-key
form add_carrid_line using ps_sflight type sflight
p_relat_key type lvc_nkey
changing p_node_key type lvc_nkey.
data: l_node_text type lvc_value,
ls_sflight type sflight.
* set item-layout
data: lt_item_layout type lvc_t_layi,
ls_item_layout type lvc_s_layi.
ls_item_layout-t_image = '@3P@'.
ls_item_layout-fieldname = tree1->c_hierarchy_column_name.
ls_item_layout-style =
cl_gui_column_tree=>style_intensifd_critical.
append ls_item_layout to lt_item_layout.
* add node
l_node_text = ps_sflight-carrid.
call method tree1->add_node
exporting
i_relat_node_key = p_relat_key
i_relationship = cl_gui_column_tree=>relat_last_child
i_node_text = l_node_text
is_outtab_line = ls_sflight
it_item_layout = lt_item_layout
importing
e_new_node_key = p_node_key.
endform. " add_carrid_line
*& Form add_connid_line
* add hierarchy-level 2 to tree
* -->P_LS_SFLIGHT sflight
* -->P_RELEATKEY relatkey
* <-->p_node_key new node-key
form add_connid_line using ps_sflight type sflight
p_relat_key type lvc_nkey
changing p_node_key type lvc_nkey.
data: l_node_text type lvc_value,
ls_sflight type sflight.
* set item-layout
data: lt_item_layout type lvc_t_layi,
ls_item_layout type lvc_s_layi.
ls_item_layout-t_image = '@3Y@'.
ls_item_layout-style =
cl_gui_column_tree=>style_intensified.
ls_item_layout-fieldname = tree1->c_hierarchy_column_name.
append ls_item_layout to lt_item_layout.
* add node
l_node_text = ps_sflight-connid.
call method tree1->add_node
exporting
i_relat_node_key = p_relat_key
i_relationship = cl_gui_column_tree=>relat_last_child
i_node_text = l_node_text
is_outtab_line = ls_sflight
it_item_layout = lt_item_layout
importing
e_new_node_key = p_node_key.
endform. " add_connid_line
*& Form add_cmplete_line
* add hierarchy-level 3 to tree
* -->P_LS_SFLIGHT sflight
* -->P_RELEATKEY relatkey
* <-->p_node_key new node-key
form add_complete_line using ps_sflight type sflight
p_relat_key type lvc_nkey
changing p_node_key type lvc_nkey.
data: l_node_text type lvc_value.
* set item-layout
data: lt_item_layout type lvc_t_layi,
ls_item_layout type lvc_s_layi.
ls_item_layout-fieldname = tree1->c_hierarchy_column_name.
ls_item_layout-class = cl_gui_column_tree=>item_class_checkbox.
ls_item_layout-editable = 'X'.
append ls_item_layout to lt_item_layout.
l_node_text = ps_sflight-fldate.
call method tree1->add_node
exporting
i_relat_node_key = p_relat_key
i_relationship = cl_gui_column_tree=>relat_last_child
is_outtab_line = ps_sflight
i_node_text = l_node_text
it_item_layout = lt_item_layout
importing
e_new_node_key = p_node_key.
endform. " add_complete_line
*& Form register_events
* text
* --> p1 text
* <-- p2 text
form register_events.
* define the events which will be passed to the backend
data: lt_events type cntl_simple_events,
l_event type cntl_simple_event.
* define the events which will be passed to the backend
l_event-eventid = cl_gui_column_tree=>eventid_expand_no_children.
append l_event to lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_checkbox_change.
append l_event to lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_header_context_men_req.
append l_event to lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_node_context_menu_req.
append l_event to lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_item_context_menu_req.
append l_event to lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_header_click.
append L_EVENT to lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_item_keypress.
append L_EVENT to lt_events.
call method tree1->set_registered_events
exporting
events = lt_events
exceptions
cntl_error = 1
cntl_system_error = 2
illegal_event_combination = 3.
if sy-subrc <> 0.
message x208(00) with 'ERROR'. "#EC NOTEXT
endif.
* set Handler
data: l_event_receiver type ref to lcl_tree_event_receiver.
create object l_event_receiver.
set handler l_event_receiver->handle_node_ctmenu_request
for tree1.
set handler l_event_receiver->handle_node_ctmenu_selected
for tree1.
set handler l_event_receiver->handle_item_ctmenu_request
for tree1.
set handler l_event_receiver->handle_item_ctmenu_selected
for tree1.
endform. " register_events
*& Form change_toolbar
* text
* --> p1 text
* <-- p2 text
form change_toolbar.
* get toolbar control
call method tree1->get_toolbar_object
importing
er_toolbar = mr_toolbar.
check not mr_toolbar is initial.
* add seperator to toolbar
call method mr_toolbar->add_button
exporting
fcode = ''
icon = ''
butn_type = cntb_btype_sep
text = ''
quickinfo = 'This is a Seperator'. "#EC NOTEXT
* add Standard Button to toolbar (for Delete Subtree)
call method mr_toolbar->add_button
exporting
fcode = 'DELETE'
icon = '@18@'
butn_type = cntb_btype_button
text = ''
quickinfo = 'Delete subtree'. "#EC NOTEXT
* add Dropdown Button to toolbar (for Insert Line)
call method mr_toolbar->add_button
exporting
fcode = 'INSERT_LC'
icon = '@17@'
butn_type = cntb_btype_dropdown
text = ''
quickinfo = 'Insert Line'. "#EC NOTEXT
* set event-handler for toolbar-control
create object toolbar_event_receiver.
set handler toolbar_event_receiver->on_function_selected
for mr_toolbar.
set handler toolbar_event_receiver->on_toolbar_dropdown
for mr_toolbar.
endform. " change_toolbar
*& Form init_tree
* text
* --> p1 text
* <-- p2 text
FORM init_tree.
* create fieldcatalog for structure sflight
perform build_fieldcatalog.
* create container for alv-tree
data: l_tree_container_name(30) type c,
l_custom_container type ref to cl_gui_custom_container.
l_tree_container_name = 'TREE1'.
if sy-batch is initial.
create object l_custom_container
exporting
container_name = l_tree_container_name
exceptions
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.
if sy-subrc <> 0.
message x208(00) with 'ERROR'. "#EC NOTEXT
endif.
endif.
* create tree control
create object tree1
exporting
parent = l_custom_container
node_selection_mode = cl_gui_column_tree=>node_sel_mode_single
item_selection = 'X'
no_html_header = ''
no_toolbar = ''
exceptions
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
illegal_node_selection_mode = 5
failed = 6
illegal_column_name = 7.
if sy-subrc <> 0.
message x208(00) with 'ERROR'. "#EC NOTEXT
endif.
* create Hierarchy-header
data l_hierarchy_header type treev_hhdr.
perform build_hierarchy_header changing l_hierarchy_header.
* create info-table for html-header
data: lt_list_commentary type slis_t_listheader,
l_logo type sdydo_value.
perform build_comment using
lt_list_commentary
l_logo.
* repid for saving variants
data: ls_variant type disvariant.
ls_variant-report = sy-repid.
* create emty tree-control
call method tree1->set_table_for_first_display
exporting
is_hierarchy_header = l_hierarchy_header
it_list_commentary = lt_list_commentary
i_logo = l_logo
i_background_id = 'ALV_BACKGROUND'
i_save = 'A'
is_variant = ls_variant
changing
it_outtab = gt_sflight "table must be emty !!
it_fieldcatalog = gt_fieldcatalog.
* create hierarchy
perform create_hierarchy.
* add own functioncodes to the toolbar
perform change_toolbar.
* register events
perform register_events.
* adjust column_width
call method tree1->COLUMN_OPTIMIZE.
ENDFORM. " init_tree
regards,
venu. -
Insert record in infotype 0581 using function module
Hello experts,
I am using function module HR_INFOTYPE_OPERATION to insert a record in infotype 0581, but its giving exception CX_HRPA_INVALID_INFOTYPE. This infotype is time constraint 1.So how can i handle this.
Reply will be really helpful <removed by moderator>.
Edited by: S Harshit on Feb 17, 2012 6:49 AM
Edited by: Thomas Zloch on Feb 17, 2012Hi Mallikarjuna,
I am trying to pass the rent amount, but unable to, here is the code.
TYPES: BEGIN OF IT_P0581.
INCLUDE STRUCTURE P0581.
TYPES END OF IT_P0581.
DATA: INFTYKEY LIKE BAPIPAKEY,
RETURN LIKE BAPIRETURN1.
DATA: P0581_TAB TYPE TABLE OF IT_P0581 WITH HEADER LINE.
P0581_TAB-PERNR = 01400038.
P0581_TAB-INFTY = '0581'.
P0581_TAB-BEGDA = '20111010'.
P0581_TAB-ENDDA = '99991231'.
P0581_TAB-RTAMT = 3000 .
append P0581_TAB.
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
INFTY = P0581_TAB-INFTY
NUMBER = P0581_TAB-PERNR
SUBTYPE = ''
VALIDITYEND = P0581_TAB-ENDDA
VALIDITYBEGIN = P0581_TAB-BEGDA
RECORD = P0581_TAB
OPERATION = 'INS'
NOCOMMIT = ''
RECORDNUMBER = '000'
DIALOG_MODE = '2'
IMPORTING
RETURN = RETURN
KEY = INFTYKEY
EXCEPTIONS
OTHERS = 0. -
Problem in getting public holiday class using function module
Hi to all
I am using function module
HR_PERSON_READ_WORK_SCHEDULE.
for getting the employee's actual work schedule and public holiday class FTKLA.
But I am unable to get the correct public holiday class.
Please guide me.
How to do that.
Regards
AnubhavHi,
form build_work_schedule tables b_psp structure pdpsp
b_day_psp structure pdsppsp
b_employees structure pdpnr
using value(b_begda) like sy-datum
value(b_endda) like sy-datum
value(b_read_db) type c.
data: counter type i. "Note 495298
call function 'HR_PERSON_READ_WORK_SCHEDULE'
exporting
begin_date = b_begda
end_date = b_endda
grouping_dws = motpr "VEX Modif
grouping_attendence = moabw
grouping_substitute = mover
read_from_database = b_read_db
im_read_no_locked_records = 'X' "803380
tables
pernr_tab = b_employees
psp = b_psp
day_psp = b_day_psp
exceptions
error_in_build_psp = 1
others = 2.
read table b_employees with key error = 'X'
transporting pernr.
if sy-subrc eq 0.
read table d3000_pers with key pernr = b_employees-pernr
transporting name.
if sy-subrc eq 0.
message s582 with d3000_pers-name.
else.
message s582 with b_employees-pernr.
endif.
endif.
Hope it helps you. -
Combination Checks using Function Module
Hi people,
I am trying to use function module to carry out a 'simple' combination check.
Rules: If no values are entered for WBS, Cost center and profit center, raise and error.
Also, if a value is entered for both cost center and wbs raise an error.
The fucntion module looks okay, but the combination check doesn't work. It still allows the records to be saved in the infocube when I test on the layout, even when the conditions specified are met. No errors are raised.
see code below:
FUNCTION ZFF_BPS_CHCK_CC_WBS_PC.
""Local Interface:
*" IMPORTING
*" REFERENCE(I_AREA) TYPE UPC_Y_AREA
*" REFERENCE(IS_CHAS) TYPE ANY
*" REFERENCE(ITO_CHA) TYPE UPC_YTO_CHA
*" REFERENCE(ITO_CHASEL) TYPE UPC_YTO_CHASEL
*" EXCEPTIONS
*" NO_VALUES_ENTERED
*" MORE_THAN_ONE
FIELD-SYMBOLS: <fc_profit_ctr> TYPE /BI0/OIProfit_Ctr,
<fc_wbs_elemt> TYPE /BI0/OIWBS_ELEMT,
<fc_costcenter> TYPE /BI0/OICostcenter.
ASSIGN COMPONENT:
'0PROFIT_CTR' OF STRUCTURE is_chas TO <fc_profit_ctr>,
'0WBS_ELEMT' OF STRUCTURE is_chas TO <fc_wbs_elemt>,
'0COSTCENTER' OF STRUCTURE is_chas TO <fc_costcenter>.
*CHECK IF ALL THE VALUES ARE EMPTY
IF <fc_profit_ctr> = '#'
AND <fc_wbs_elemt> = '#'
AND <fc_costcenter> = '#'.
MESSAGE e000(ZBPS) RAISING NO_VALUES_ENTERED .
ENDIF.
*Check if both cost centre and wbs are entered.
IF <fc_costcenter> <> '#'
AND <fc_wbs_elemt> <> '#'.
MESSAGE e000(ZBPS) RAISING MORE_THAN_ONE.
ENDIF.
ENDFUNCTION.
Any helps will be appreciated.
Regards,
UcheHi Uchenna,
The function module will not be called if all of the characteristics being checked are unassigned. Therefore if you are trying to test this combo check by entering a line with blank WBS, CC, PC, then the code will never actually be called.
If you want to ensure this doesn't happen then I recommend writing a FOX that checks for this combination and throws an error if found. You can run the FOX on refresh so the check will happen each time the user enters a new line and hits refresh.
Hope this helps,
Tristan -
Delta with Generic Extractor using function module
Hi,
I have created an extractor using function module and it work fine (mode FULL)
It's an extractor based on the FM RSAX_BIW_GET_DATA_SIMPLE.
In TCODE RSO2, I have specified a delta field (AEDAT).
In table ROOSOURCE, this extractor is defined by :
DELTA = AIE
EXMETHOD = F1
When I extract data in Init mode, there is no problem. But delta don't extract any entries.
When I trace with TCODE ST01, in Init mode the function module is executed but in delta mode, there is no trace of any use of this function module.
I don't know how to do to make this extractor work fine in delta mode.Hi Pascal,
The same function module i have used and succesffuly doing delta using it. So it works for both full & delta.
How ur testing it and where are you testing it for delta.
Do the delta testing through BI end. Set the
As u have already set the delta field., now Follow below steps:
1. First set the safety interval upper limit to -1, so that it will extract the delta data of 1 day back records also.
2. Please make sure wether the delta records are available or not in r/3, if there is no records to be fetched in for delta then u will not be able to track out wether delta is working or not.
3. Now do the init from BI end first. Delta initialization without data transfer. - It will give u green status with 1 dummmy record.
4. Now do the delta. It will extract the delta records.
Before that make sure that if any selection your giving in Infopackage should be met out by these delta records.
Thanks
Dipika -
Can anybody explain me creating Generic Datasource using Function module?
Hi,
can anybody explain me creating Generic Datasource using Function module?
Thax in advance,
Ravi.Generic Extraction via Function Module
/people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
1. Create s structure with the fields that you need from the 4 tables . Activate.
2. Goto SE 80 Select The Function Group , Copy , Select the Function module
" RSAX_BIW_GET_DATA_SIMPLE " and Give a New name starting With
Y or Z .
3. SE37 ->Your Function module name -> Change , In table tab give your structure
name by deleting the associated type given in " E_T_DATA " .
4. Now select source code and Do the coding . Give Data source name in Coding .
In your case you have to take data from more that 1 table .
5. Activate the Function Group .
6. In RSO2 Create the Data source , Give the Function Module Name , And Save.
7. RSA3 -> Give data source name and Check for the Records .
Creation of custom datasource. (Using function module)
<b>is an example</b>
1.Create a function group .
2. Structure ZTEST123
ZMATNR MATNR CHAR 18 0 Material Number
ZMTART MTART CHAR 4 0 Material type
ZMBRSH MBRSH CHAR 1 0 Industry sector
ZMATKL MATKL CHAR 9 0 Material group
ZBISMT BISMT CHAR 18 0 Old material number
ZMAKTX MAKTX CHAR 40 0 Material description
3. Create function module (i.e. ZTEST .) .
FM - YMARA_DATA_TRNS
FUNCTION YMARA_DATA_TRNS.
""Local Interface:
*" IMPORTING
*" VALUE(I_REQUNR) TYPE SRSC_S_IF_SIMPLE-REQUNR
*" VALUE(I_DSOURCE) TYPE SRSC_S_IF_SIMPLE-DSOURCE OPTIONAL
*" VALUE(I_MAXSIZE) TYPE SRSC_S_IF_SIMPLE-MAXSIZE OPTIONAL
*" VALUE(I_INITFLAG) TYPE SRSC_S_IF_SIMPLE-INITFLAG OPTIONAL
*" VALUE(I_READ_ONLY) TYPE SRSC_S_IF_SIMPLE-READONLY OPTIONAL
*" TABLES
*" I_T_SELECT TYPE SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL
*" I_T_FIELDS TYPE SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL
*" E_T_DATA STRUCTURE ZTEST123 OPTIONAL
*" EXCEPTIONS
*" NO_MORE_DATA
*" ERROR_PASSED_TO_MESS_HANDLER
data : ZTEST123 type ZTEST123 occurs 0 with header line.
Maximum number of lines for DB table
STATICS: S_S_IF TYPE SRSC_S_IF_SIMPLE,
S_COUNTER_DATAPAKID LIKE SY-TABIX.
DATA: begin of t_mara occurs 0,
ZMATNR type MATNR,
ZMTART type MTART,
ZMBRSH type MBRSH,
ZMATKL type MATKL,
ZBISMT type BISMT,
end of t_mara.
DATA: begin of t_makt occurs 0,
ZMATNR type MATNR,
ZMAKTX type MAKTX,
end of t_makt.
Initialization mode (first call by SAPI) or data transfer mode
(following calls) ?
IF I_INITFLAG = SBIWA_C_FLAG_ON.
Check DataSource validity
CASE I_DSOURCE.
WHEN 'ZZMARA_DATA'.
WHEN OTHERS.
IF 1 = 2. MESSAGE E009(R3). ENDIF.
this is a typical log call. Please write every error message like this
LOG_WRITE 'E' "message type
'R3' "message class
'009' "message number
I_DSOURCE "message variable 1
' '. "message variable 2
RAISE ERROR_PASSED_TO_MESS_HANDLER.
ENDCASE.
Fill parameter buffer for data extraction calls
S_S_IF-REQUNR = I_REQUNR.
S_S_IF-DSOURCE = I_DSOURCE.
S_S_IF-MAXSIZE = I_MAXSIZE.
ELSE. "Initialization mode or data extraction ?
Data transfer: First Call OPEN CURSOR + FETCH
Following Calls FETCH only
First data package -> OPEN CURSOR
IF S_COUNTER_DATAPAKID = 0.
Determine number of database records to be read per FETCH statement
from input parameter I_MAXSIZE. If there is a one to one relation
between DataSource table lines and database entries, this is trivial.
In other cases, it may be impossible and some estimated value has to
be determined.
select MATNR
MTART
MBRSH
MATKL
BISMT
from mara up to 10 rows
into table t_mara.
if not t_mara[] is initial.
select MATNR
maktx
from makt
into table t_makt
for all entries in t_mara
where matnr = t_mara-zmatnr.
endif.
loop at t_mara.
read table t_makt with key zmatnr = t_mara-zmatnr.
ZTEST123-zmatnr = t_mara-zmatnr.
ZTEST123-ZMTART = t_mara-ZMTART.
ZTEST123-ZBISMT = t_mara-ZBISMT.
ZTEST123-ZMBRSH = t_mara-ZMBRSH.
ZTEST123-ZMATKL = t_mara-ZMATKL.
ZTEST123-zmaktx = t_makt-zmaktx.
append ZTEST123.
clear ZTEST123.
endloop.
clear E_T_DATA.
refresh E_T_DATA.
E_T_DATA[] = ZTEST123[].
ENDIF.
S_COUNTER_DATAPAKID = S_COUNTER_DATAPAKID + 1.
ENDIF. "Initialization mode or data extractio
ENDFUNCTION.
3. Create the data source using transaction (RSO2).
4. If structure exists for the table parameter of your function module then ok else create a structure for the table parameter E_T_DATA.
5. Test the datasource in R/3 using transaction RSA3.
6. Transfer the data source to BW System and replicate it in the BW-System. -
Hello,
Kindly advice me what is the use / purpose of SAP Function modules RS_CONV_EX_2_IN and RS_DS_CONV_IN_2_EX ?
I think they work only for character data type input. What about other data type like currency ?
Thanks,
ANandHello,
Yes, I have debugged these function modules. But need some details about them.
My question:
I have one field on my screen which is character 20. I am putting some amount into this field.
Now I want to check the input entered by used whether it is valid or not.
Since the screen field is character, user can input anything.( I mean some alpahbets and other character other than number).
I want to accept only numeric values and reject any alpahbets and character other than
'0123456789.,'.
Please advice me 1) How can I do it?
2) Whether the above function modules will be useful for it?
Thanks and rgds,
Anand
Maybe you are looking for
-
Automatic open item clearing for vendor/customers
Dear All, For My client they want Automatic clearing process for vendor & customer Open item. What are the configuration settings i have to do for this how it will be process. please guide me to do this process. girija
-
With Dropbox, I right click on a file within my designated Dropbox folder and choose share Dropbox link. This copies a unique URL that I can send to anyone to then download that file and that file only. I do not have to add people to my access list
-
In the middel of updateing my IPod the connectione stopd and since then the device is not working. only white screen no connectivity to win or to the Appstore
-
Issues with universes for AS400 DB2 databases
I create Business Objects universes and Webi reports accessing data from AS400 DB2 databases (via ODBC). I have a couple of queries that I have been having trouble resolving. I hope someone in the forum is working on a similar set-up. My queries are
-
When I saved a file an extra file appears with ~ at end of the file name
When I work on my file named "Track 2005-2006" and then save it, I end up with 2 iMovie Project Files: 1. Named "Track 2005-2006, 2. and one named:"Track 2005-2006~" Then sometimes I'll get an iMovie Project File named: "Track 2005-2006.iMovie2Projec