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!
    Araceli

    Araceli,
      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 u0091SSF_FUNCTION_MODULE_NAMEu0092 in smartform driver p

    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 Kozai

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

  • Creation of Generic Data source using function module based on the program which was used to created ABAP report

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

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

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

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

    Hi 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
    Anubhav

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

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

  • Function modules RS_CONV_EX_2_IN,  RS_DS_CONV_IN_2_EX

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

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