<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Tables in a Function Module in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/tables-in-a-function-module/m-p/3530685#M849356</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;generally we use structures for displaying the tables through the fm .. here is an example code where i used the tables and exporting parameters.....check this....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERNR               TYPE P0001-PERNR                           Personnel Number                   &lt;/P&gt;&lt;P&gt;PLANS               TYPE P0001-PLANS                           Position                           &lt;/P&gt;&lt;P&gt;ORGEH               TYPE P0001-ORGEH                           Organizational Unit                &lt;/P&gt;&lt;P&gt;DATE                TYPE SY-DATUM       SY-DATUM               Date and time, current (applic     &lt;/P&gt;&lt;P&gt;PLVAR               TYPE PLOG-PLVAR     '01'                   Plan Version                       &lt;/P&gt;&lt;P&gt;ISTAT               TYPE PLOG-ISTAT     '1'                    Planning Status                    &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MANAGER	TYPE	ZHMSS_MANAGER	Structure for manager for MSS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; NO_PERNR_PLANS_ORGEH_SPEC     No pernr, position or org unit specified &lt;/P&gt;&lt;P&gt; NO_EXIST_PLANS                Position does not exist                  &lt;/P&gt;&lt;P&gt; INVALID_PLANS                 Position invalid                         &lt;/P&gt;&lt;P&gt; NO_EXIST_ORGEH                Org unit does not exist                  &lt;/P&gt;&lt;P&gt; NO_EXIST_PERNR                Personnel number does not exist          &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;function z_get_orgunit_manager_info.&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;STRONG&gt;"&lt;/STRONG&gt;"Local interface:&lt;/P&gt;&lt;P&gt;*"  IMPORTING&lt;/P&gt;&lt;P&gt;*"     REFERENCE(PERNR) TYPE  P0001-PERNR OPTIONAL&lt;/P&gt;&lt;P&gt;*"     REFERENCE(PLANS) TYPE  P0001-PLANS OPTIONAL&lt;/P&gt;&lt;P&gt;*"     REFERENCE(ORGEH) TYPE  P0001-ORGEH OPTIONAL&lt;/P&gt;&lt;P&gt;*"     REFERENCE(DATE) TYPE  SY-DATUM DEFAULT SY-DATUM&lt;/P&gt;&lt;P&gt;*"     REFERENCE(PLVAR) TYPE  PLOG-PLVAR DEFAULT '01'&lt;/P&gt;&lt;P&gt;*"     REFERENCE(ISTAT) TYPE  PLOG-ISTAT DEFAULT '1'&lt;/P&gt;&lt;P&gt;*"  EXPORTING&lt;/P&gt;&lt;P&gt;*"     REFERENCE(MANAGER) TYPE  ZHMSS_MANAGER&lt;/P&gt;&lt;P&gt;*"  EXCEPTIONS&lt;/P&gt;&lt;P&gt;*"      NO_PERNR_PLANS_ORGEH_SPEC&lt;/P&gt;&lt;P&gt;*"      NO_EXIST_PLANS&lt;/P&gt;&lt;P&gt;*"      INVALID_PLANS&lt;/P&gt;&lt;P&gt;*"      NO_EXIST_ORGEH&lt;/P&gt;&lt;P&gt;*"      NO_EXIST_PERNR&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if pernr is initial and&lt;/P&gt;&lt;P&gt;     plans is initial and&lt;/P&gt;&lt;P&gt;     orgeh is initial.&lt;/P&gt;&lt;P&gt;    raise no_pernr_plans_orgeh_spec.&lt;/P&gt;&lt;P&gt;  endif."pernr is initial and&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not pernr is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if pernr cn '0123456789'.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- See if pernr exists&lt;/P&gt;&lt;P&gt;    call function 'P_EMPLOYEE_CHECKEXISTENCE'&lt;/P&gt;&lt;P&gt;         exporting&lt;/P&gt;&lt;P&gt;              object_id          = pernr&lt;/P&gt;&lt;P&gt;              date               = date&lt;/P&gt;&lt;P&gt;         exceptions&lt;/P&gt;&lt;P&gt;              employee_not_found = 01.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;      raise no_exist_pernr.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Obtain pernr position&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'HR_READ_INFOTYPE'&lt;/P&gt;&lt;P&gt;         exporting&lt;/P&gt;&lt;P&gt;              pernr           = pernr&lt;/P&gt;&lt;P&gt;              infty           = c_infty_0001&lt;/P&gt;&lt;P&gt;              begda           = date&lt;/P&gt;&lt;P&gt;              endda           = date&lt;/P&gt;&lt;P&gt;         importing&lt;/P&gt;&lt;P&gt;              subrc           = g_retcd&lt;/P&gt;&lt;P&gt;         tables&lt;/P&gt;&lt;P&gt;              infty_tab       = i0001&lt;/P&gt;&lt;P&gt;         exceptions&lt;/P&gt;&lt;P&gt;              infty_not_found = 01&lt;/P&gt;&lt;P&gt;              others          = 02.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;      describe table i0001 lines g_lines.&lt;/P&gt;&lt;P&gt;      if g_lines &amp;gt; 0.&lt;/P&gt;&lt;P&gt;        read table i0001 index 1.&lt;/P&gt;&lt;P&gt;*-- Got position now find org unit&lt;/P&gt;&lt;P&gt;        perform zf_proc_get_om_objects tables i_objects&lt;/P&gt;&lt;P&gt;                                       using c_otype_position&lt;/P&gt;&lt;P&gt;                                             i0001-plans&lt;/P&gt;&lt;P&gt;                                             plvar&lt;/P&gt;&lt;P&gt;                                             c_rsign_a&lt;/P&gt;&lt;P&gt;                                             c_relat_003&lt;/P&gt;&lt;P&gt;                                             istat&lt;/P&gt;&lt;P&gt;                                             date&lt;/P&gt;&lt;P&gt;                                             date&lt;/P&gt;&lt;P&gt;                                             c_otype_orgunit&lt;/P&gt;&lt;P&gt;                                    changing g_retcd.&lt;/P&gt;&lt;P&gt;        if g_retcd eq 0.&lt;/P&gt;&lt;P&gt;          read table i_objects index 1.&lt;/P&gt;&lt;P&gt;          g_orgeh = i_objects-sobid(8).&lt;/P&gt;&lt;P&gt;        endif. "g_retcd eq 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endif. "g_lines &amp;gt; 0. for i0001&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.  "sy-subrc eq 0 hr_read_infotype&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  elseif not plans is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if plans co '9' or&lt;/P&gt;&lt;P&gt;       plans co '0'.&lt;/P&gt;&lt;P&gt;      raise invalid_plans.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'RH_READ_OBJECT'&lt;/P&gt;&lt;P&gt;         exporting&lt;/P&gt;&lt;P&gt;              plvar     = plvar&lt;/P&gt;&lt;P&gt;              otype     = c_otype_position&lt;/P&gt;&lt;P&gt;              objid     = plans&lt;/P&gt;&lt;P&gt;              istat     = istat&lt;/P&gt;&lt;P&gt;              begda     = date&lt;/P&gt;&lt;P&gt;              endda     = date&lt;/P&gt;&lt;P&gt;              langu     = sy-langu&lt;/P&gt;&lt;P&gt;         exceptions&lt;/P&gt;&lt;P&gt;              not_found = 1&lt;/P&gt;&lt;P&gt;              others    = 2.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      raise no_exist_plans.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Find org unit&lt;/P&gt;&lt;P&gt;    perform zf_proc_get_om_objects tables i_objects&lt;/P&gt;&lt;P&gt;                                   using c_otype_position&lt;/P&gt;&lt;P&gt;                                         plans&lt;/P&gt;&lt;P&gt;                                         plvar&lt;/P&gt;&lt;P&gt;                                         c_rsign_a&lt;/P&gt;&lt;P&gt;                                         c_relat_003&lt;/P&gt;&lt;P&gt;                                         istat&lt;/P&gt;&lt;P&gt;                                         date&lt;/P&gt;&lt;P&gt;                                         date&lt;/P&gt;&lt;P&gt;                                         c_otype_orgunit&lt;/P&gt;&lt;P&gt;                                changing g_retcd.&lt;/P&gt;&lt;P&gt;    if g_retcd eq 0.&lt;/P&gt;&lt;P&gt;      read table i_objects index 1.&lt;/P&gt;&lt;P&gt;      g_orgeh = i_objects-sobid(8).&lt;/P&gt;&lt;P&gt;    endif."g_retcd eq 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  elseif not orgeh is initial.&lt;/P&gt;&lt;P&gt;    call function 'RH_READ_OBJECT'&lt;/P&gt;&lt;P&gt;         exporting&lt;/P&gt;&lt;P&gt;              plvar     = plvar&lt;/P&gt;&lt;P&gt;              otype     = c_otype_orgunit&lt;/P&gt;&lt;P&gt;              objid     = orgeh&lt;/P&gt;&lt;P&gt;              istat     = istat&lt;/P&gt;&lt;P&gt;              begda     = date&lt;/P&gt;&lt;P&gt;              endda     = date&lt;/P&gt;&lt;P&gt;              langu     = sy-langu&lt;/P&gt;&lt;P&gt;              CHECK_STRU_AUTH   = space              "ASikaria, 10/15&lt;/P&gt;&lt;P&gt;         exceptions&lt;/P&gt;&lt;P&gt;              not_found = 1&lt;/P&gt;&lt;P&gt;              others    = 2.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      raise no_exist_orgeh.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    g_orgeh = orgeh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif. "not pernr is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not g_orgeh is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    manager-orgeh = g_orgeh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Got org unit now find manager&lt;/P&gt;&lt;P&gt;    perform zf_proc_get_om_objects tables i_objects&lt;/P&gt;&lt;P&gt;                                   using c_otype_orgunit&lt;/P&gt;&lt;P&gt;                                         manager-orgeh&lt;/P&gt;&lt;P&gt;                                         plvar&lt;/P&gt;&lt;P&gt;                                         c_rsign_b&lt;/P&gt;&lt;P&gt;                                         c_relat_012&lt;/P&gt;&lt;P&gt;                                         istat&lt;/P&gt;&lt;P&gt;                                         date&lt;/P&gt;&lt;P&gt;                                         date&lt;/P&gt;&lt;P&gt;                                         c_otype_position&lt;/P&gt;&lt;P&gt;                                changing g_retcd.&lt;/P&gt;&lt;P&gt;    if g_retcd eq 0.&lt;/P&gt;&lt;P&gt;      read table i_objects index 1.&lt;/P&gt;&lt;P&gt;      if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;        manager-plans = i_objects-sobid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        call function 'Z_GET_POSITION_HOLDER'&lt;/P&gt;&lt;P&gt;             exporting&lt;/P&gt;&lt;P&gt;                  plans              = manager-plans&lt;/P&gt;&lt;P&gt;                  plvar              = plvar&lt;/P&gt;&lt;P&gt;                  istat              = istat&lt;/P&gt;&lt;P&gt;                  date               = date&lt;/P&gt;&lt;P&gt;             importing&lt;/P&gt;&lt;P&gt;                  pernr              = manager-pernr&lt;/P&gt;&lt;P&gt;             exceptions&lt;/P&gt;&lt;P&gt;                  position_not_exist = 1&lt;/P&gt;&lt;P&gt;                  position_invalid   = 2&lt;/P&gt;&lt;P&gt;                  others             = 3.&lt;/P&gt;&lt;P&gt;        if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          clear: manager-pernr.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if not manager-pernr is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- BOC RTDK902962&lt;/P&gt;&lt;P&gt;*-- Obtained formatted name&lt;/P&gt;&lt;P&gt;          clear: i0001.&lt;/P&gt;&lt;P&gt;          refresh: i0001.&lt;/P&gt;&lt;P&gt;          call function 'HR_READ_INFOTYPE'&lt;/P&gt;&lt;P&gt;               exporting&lt;/P&gt;&lt;P&gt;                    pernr           = manager-pernr&lt;/P&gt;&lt;P&gt;                    infty           = c_infty_0001&lt;/P&gt;&lt;P&gt;                    begda           = date&lt;/P&gt;&lt;P&gt;                    endda           = date&lt;/P&gt;&lt;P&gt;               importing&lt;/P&gt;&lt;P&gt;                    subrc           = g_retcd&lt;/P&gt;&lt;P&gt;               tables&lt;/P&gt;&lt;P&gt;                    infty_tab       = i0001&lt;/P&gt;&lt;P&gt;               exceptions&lt;/P&gt;&lt;P&gt;                    infty_not_found = 1&lt;/P&gt;&lt;P&gt;                    others          = 2.&lt;/P&gt;&lt;P&gt;          if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;            read table i0001 index 1.&lt;/P&gt;&lt;P&gt;            if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;              manager-ename = i0001-ename.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- EOC RTDK902962&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Obtain pernr information&lt;/P&gt;&lt;P&gt;*- Get 0002 data&lt;/P&gt;&lt;P&gt;          clear: i0002.&lt;/P&gt;&lt;P&gt;          refresh: i0002.&lt;/P&gt;&lt;P&gt;          call function 'HR_READ_INFOTYPE'&lt;/P&gt;&lt;P&gt;               exporting&lt;/P&gt;&lt;P&gt;                    pernr           = manager-pernr&lt;/P&gt;&lt;P&gt;                    infty           = c_infty_0002&lt;/P&gt;&lt;P&gt;                    begda           = date&lt;/P&gt;&lt;P&gt;                    endda           = date&lt;/P&gt;&lt;P&gt;               importing&lt;/P&gt;&lt;P&gt;                    subrc           = g_retcd&lt;/P&gt;&lt;P&gt;               tables&lt;/P&gt;&lt;P&gt;                    infty_tab       = i0002&lt;/P&gt;&lt;P&gt;               exceptions&lt;/P&gt;&lt;P&gt;                    infty_not_found = 1&lt;/P&gt;&lt;P&gt;                    others          = 2.&lt;/P&gt;&lt;P&gt;          if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;            read table i0002 index 1.&lt;/P&gt;&lt;P&gt;            if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;              manager-inits = i0002-inits.&lt;/P&gt;&lt;P&gt;              manager-vorna = i0002-vorna.&lt;/P&gt;&lt;P&gt;              manager-nachn = i0002-nachn.&lt;/P&gt;&lt;P&gt;              manager-midnm = i0002-midnm.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Get 0105 data&lt;/P&gt;&lt;P&gt;          clear: i0105.&lt;/P&gt;&lt;P&gt;          refresh: i0105.&lt;/P&gt;&lt;P&gt;          call function 'HR_READ_INFOTYPE'&lt;/P&gt;&lt;P&gt;               exporting&lt;/P&gt;&lt;P&gt;                    pernr           = manager-pernr&lt;/P&gt;&lt;P&gt;                    infty           = c_infty_0105&lt;/P&gt;&lt;P&gt;                    begda           = date&lt;/P&gt;&lt;P&gt;                    endda           = date&lt;/P&gt;&lt;P&gt;               importing&lt;/P&gt;&lt;P&gt;                    subrc           = g_retcd&lt;/P&gt;&lt;P&gt;               tables&lt;/P&gt;&lt;P&gt;                    infty_tab       = i0105&lt;/P&gt;&lt;P&gt;               exceptions&lt;/P&gt;&lt;P&gt;                    infty_not_found = 1&lt;/P&gt;&lt;P&gt;                    others          = 2.&lt;/P&gt;&lt;P&gt;          if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;            describe table i0105 lines g_lines.&lt;/P&gt;&lt;P&gt;            if g_lines &amp;gt; 0.&lt;/P&gt;&lt;P&gt;*- SAP usrid&lt;/P&gt;&lt;P&gt;              loop at i0105 where subty = c_0105_usrid_subty.&lt;/P&gt;&lt;P&gt;                manager-usrid = i0105-usrid.&lt;/P&gt;&lt;P&gt;              endloop.&lt;/P&gt;&lt;P&gt;*- Email address&lt;/P&gt;&lt;P&gt;*// not sure where email is going to be stored but assume it is subtype&lt;/P&gt;&lt;P&gt;*// 0010&lt;/P&gt;&lt;P&gt;              loop at i0105 where subty = c_0105_email_subty.&lt;/P&gt;&lt;P&gt;                manager-email = i0105-usrid_long.&lt;/P&gt;&lt;P&gt;              endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            endif. "g_lines &amp;gt; 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          endif."sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        endif. "not manager-pernr is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endif. "sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif."g_retcd eq 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif. "not g_orgeh is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endfunction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------" /&gt;&lt;P&gt;zposition holder&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PLANS	TYPE	PLOG-OBJID	                     	Object ID&lt;/P&gt;&lt;P&gt;PLVAR	TYPE	PLOG-PLVAR	'01'	Plan Version&lt;/P&gt;&lt;P&gt;ISTAT	TYPE	PLOG-ISTAT	'1'	Planning Status&lt;/P&gt;&lt;P&gt;DATE	TYPE	SY-DATUM	SY-DATUM	Date and time, current (application server) date&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERNR               TYPE      P0001-PERNR                 Personnel Number                 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;POSITION_NOT_EXIST            Position does not exist                  &lt;/P&gt;&lt;P&gt;POSITION_INVALID              Invalid position                         &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;function z_get_position_holder.&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;STRONG&gt;"&lt;/STRONG&gt;"Local interface:&lt;/P&gt;&lt;P&gt;*"  IMPORTING&lt;/P&gt;&lt;P&gt;*"     REFERENCE(PLANS) TYPE  PLOG-OBJID&lt;/P&gt;&lt;P&gt;*"     REFERENCE(PLVAR) TYPE  PLOG-PLVAR DEFAULT '01'&lt;/P&gt;&lt;P&gt;*"     REFERENCE(ISTAT) TYPE  PLOG-ISTAT DEFAULT '1'&lt;/P&gt;&lt;P&gt;*"     REFERENCE(DATE) TYPE  SY-DATUM DEFAULT SY-DATUM&lt;/P&gt;&lt;P&gt;*"  EXPORTING&lt;/P&gt;&lt;P&gt;*"     REFERENCE(PERNR) TYPE  P0001-PERNR&lt;/P&gt;&lt;P&gt;*"  EXCEPTIONS&lt;/P&gt;&lt;P&gt;*"      POSITION_NOT_EXIST&lt;/P&gt;&lt;P&gt;*"      POSITION_INVALID&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if plans cn '0123456789'.&lt;/P&gt;&lt;P&gt;    raise position_invalid.&lt;/P&gt;&lt;P&gt;  endif."plans cn '0123456789'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if plans co '9'.  "default position&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'RH_READ_OBJECT'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            plvar     = plvar&lt;/P&gt;&lt;P&gt;            otype     = c_otype_position&lt;/P&gt;&lt;P&gt;            objid     = plans&lt;/P&gt;&lt;P&gt;            begda     = date&lt;/P&gt;&lt;P&gt;            endda     = date&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;            not_found = 01&lt;/P&gt;&lt;P&gt;            others    = 02.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    raise position_not_exist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform zf_proc_get_om_objects tables i_objects&lt;/P&gt;&lt;P&gt;                                   using c_otype_position&lt;/P&gt;&lt;P&gt;                                         plans&lt;/P&gt;&lt;P&gt;                                         plvar&lt;/P&gt;&lt;P&gt;                                         c_rsign_a&lt;/P&gt;&lt;P&gt;                                         c_relat_008&lt;/P&gt;&lt;P&gt;                                         istat&lt;/P&gt;&lt;P&gt;                                         date&lt;/P&gt;&lt;P&gt;                                         date&lt;/P&gt;&lt;P&gt;                                         c_otype_pernr&lt;/P&gt;&lt;P&gt;                                changing g_retcd.&lt;/P&gt;&lt;P&gt;    if g_retcd eq 0.&lt;/P&gt;&lt;P&gt;      sort i_objects by begda descending. "get earliest rec&lt;/P&gt;&lt;P&gt;      read table i_objects index 1.&lt;/P&gt;&lt;P&gt;      if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;        pernr = i_objects-sobid(8).&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endif. "g_retcd eq 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif. "sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endfunction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;venkat.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 10 Mar 2008 11:49:45 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-03-10T11:49:45Z</dc:date>
    <item>
      <title>Tables in a Function Module</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/tables-in-a-function-module/m-p/3530679#M849350</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  Tables in a Function Module can aslo cas as export parameters or not. Please clarify.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in Advance,&lt;/P&gt;&lt;P&gt;Subhani.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Mar 2008 11:34:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/tables-in-a-function-module/m-p/3530679#M849350</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-10T11:34:10Z</dc:date>
    </item>
    <item>
      <title>Re: Tables in a Function Module</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/tables-in-a-function-module/m-p/3530680#M849351</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes. U can use them to send some data to the FM ...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Mar 2008 11:36:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/tables-in-a-function-module/m-p/3530680#M849351</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-10T11:36:05Z</dc:date>
    </item>
    <item>
      <title>Re: Tables in a Function Module</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/tables-in-a-function-module/m-p/3530681#M849352</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes they can be used as Export Parameters with a set of records.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Eg:&lt;/P&gt;&lt;P&gt;Define I_ITAB1 for Import Parameters&lt;/P&gt;&lt;P&gt;Define E_ITAB2 for Export Parameters&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Basically you need to populate the Export table with the values which you need for O/P.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Vinayak&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Mar 2008 11:37:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/tables-in-a-function-module/m-p/3530681#M849352</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-10T11:37:06Z</dc:date>
    </item>
    <item>
      <title>Re: Tables in a Function Module</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/tables-in-a-function-module/m-p/3530682#M849353</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi.,&lt;/P&gt;&lt;P&gt;tables in FMs will act as both Export/Import parameters.&lt;/P&gt;&lt;P&gt;depends up on the situations.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it will take the input as table and returns the processed data in the same parameter(internal table).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Reward poionts if useful&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Chandra&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Mar 2008 11:37:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/tables-in-a-function-module/m-p/3530682#M849353</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-10T11:37:55Z</dc:date>
    </item>
    <item>
      <title>Re: Tables in a Function Module</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/tables-in-a-function-module/m-p/3530683#M849354</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yes , they can be as export parameters as well.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In case the function module needs data from these tables then they will be given to the function module , by having those tables as export parameters in the function module.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Mar 2008 11:39:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/tables-in-a-function-module/m-p/3530683#M849354</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-10T11:39:32Z</dc:date>
    </item>
    <item>
      <title>Re: Tables in a Function Module</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/tables-in-a-function-module/m-p/3530684#M849355</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is used when we have to pass internal tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use this link for your reference &lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_46c/helpdata/EN/9f/db98ef35c111d1829f0000e829fbfe/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_46c/helpdata/EN/9f/db98ef35c111d1829f0000e829fbfe/content.htm&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Mar 2008 11:41:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/tables-in-a-function-module/m-p/3530684#M849355</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-10T11:41:57Z</dc:date>
    </item>
    <item>
      <title>Re: Tables in a Function Module</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/tables-in-a-function-module/m-p/3530685#M849356</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;generally we use structures for displaying the tables through the fm .. here is an example code where i used the tables and exporting parameters.....check this....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERNR               TYPE P0001-PERNR                           Personnel Number                   &lt;/P&gt;&lt;P&gt;PLANS               TYPE P0001-PLANS                           Position                           &lt;/P&gt;&lt;P&gt;ORGEH               TYPE P0001-ORGEH                           Organizational Unit                &lt;/P&gt;&lt;P&gt;DATE                TYPE SY-DATUM       SY-DATUM               Date and time, current (applic     &lt;/P&gt;&lt;P&gt;PLVAR               TYPE PLOG-PLVAR     '01'                   Plan Version                       &lt;/P&gt;&lt;P&gt;ISTAT               TYPE PLOG-ISTAT     '1'                    Planning Status                    &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MANAGER	TYPE	ZHMSS_MANAGER	Structure for manager for MSS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; NO_PERNR_PLANS_ORGEH_SPEC     No pernr, position or org unit specified &lt;/P&gt;&lt;P&gt; NO_EXIST_PLANS                Position does not exist                  &lt;/P&gt;&lt;P&gt; INVALID_PLANS                 Position invalid                         &lt;/P&gt;&lt;P&gt; NO_EXIST_ORGEH                Org unit does not exist                  &lt;/P&gt;&lt;P&gt; NO_EXIST_PERNR                Personnel number does not exist          &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;function z_get_orgunit_manager_info.&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;STRONG&gt;"&lt;/STRONG&gt;"Local interface:&lt;/P&gt;&lt;P&gt;*"  IMPORTING&lt;/P&gt;&lt;P&gt;*"     REFERENCE(PERNR) TYPE  P0001-PERNR OPTIONAL&lt;/P&gt;&lt;P&gt;*"     REFERENCE(PLANS) TYPE  P0001-PLANS OPTIONAL&lt;/P&gt;&lt;P&gt;*"     REFERENCE(ORGEH) TYPE  P0001-ORGEH OPTIONAL&lt;/P&gt;&lt;P&gt;*"     REFERENCE(DATE) TYPE  SY-DATUM DEFAULT SY-DATUM&lt;/P&gt;&lt;P&gt;*"     REFERENCE(PLVAR) TYPE  PLOG-PLVAR DEFAULT '01'&lt;/P&gt;&lt;P&gt;*"     REFERENCE(ISTAT) TYPE  PLOG-ISTAT DEFAULT '1'&lt;/P&gt;&lt;P&gt;*"  EXPORTING&lt;/P&gt;&lt;P&gt;*"     REFERENCE(MANAGER) TYPE  ZHMSS_MANAGER&lt;/P&gt;&lt;P&gt;*"  EXCEPTIONS&lt;/P&gt;&lt;P&gt;*"      NO_PERNR_PLANS_ORGEH_SPEC&lt;/P&gt;&lt;P&gt;*"      NO_EXIST_PLANS&lt;/P&gt;&lt;P&gt;*"      INVALID_PLANS&lt;/P&gt;&lt;P&gt;*"      NO_EXIST_ORGEH&lt;/P&gt;&lt;P&gt;*"      NO_EXIST_PERNR&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if pernr is initial and&lt;/P&gt;&lt;P&gt;     plans is initial and&lt;/P&gt;&lt;P&gt;     orgeh is initial.&lt;/P&gt;&lt;P&gt;    raise no_pernr_plans_orgeh_spec.&lt;/P&gt;&lt;P&gt;  endif."pernr is initial and&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not pernr is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if pernr cn '0123456789'.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- See if pernr exists&lt;/P&gt;&lt;P&gt;    call function 'P_EMPLOYEE_CHECKEXISTENCE'&lt;/P&gt;&lt;P&gt;         exporting&lt;/P&gt;&lt;P&gt;              object_id          = pernr&lt;/P&gt;&lt;P&gt;              date               = date&lt;/P&gt;&lt;P&gt;         exceptions&lt;/P&gt;&lt;P&gt;              employee_not_found = 01.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;      raise no_exist_pernr.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Obtain pernr position&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'HR_READ_INFOTYPE'&lt;/P&gt;&lt;P&gt;         exporting&lt;/P&gt;&lt;P&gt;              pernr           = pernr&lt;/P&gt;&lt;P&gt;              infty           = c_infty_0001&lt;/P&gt;&lt;P&gt;              begda           = date&lt;/P&gt;&lt;P&gt;              endda           = date&lt;/P&gt;&lt;P&gt;         importing&lt;/P&gt;&lt;P&gt;              subrc           = g_retcd&lt;/P&gt;&lt;P&gt;         tables&lt;/P&gt;&lt;P&gt;              infty_tab       = i0001&lt;/P&gt;&lt;P&gt;         exceptions&lt;/P&gt;&lt;P&gt;              infty_not_found = 01&lt;/P&gt;&lt;P&gt;              others          = 02.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;      describe table i0001 lines g_lines.&lt;/P&gt;&lt;P&gt;      if g_lines &amp;gt; 0.&lt;/P&gt;&lt;P&gt;        read table i0001 index 1.&lt;/P&gt;&lt;P&gt;*-- Got position now find org unit&lt;/P&gt;&lt;P&gt;        perform zf_proc_get_om_objects tables i_objects&lt;/P&gt;&lt;P&gt;                                       using c_otype_position&lt;/P&gt;&lt;P&gt;                                             i0001-plans&lt;/P&gt;&lt;P&gt;                                             plvar&lt;/P&gt;&lt;P&gt;                                             c_rsign_a&lt;/P&gt;&lt;P&gt;                                             c_relat_003&lt;/P&gt;&lt;P&gt;                                             istat&lt;/P&gt;&lt;P&gt;                                             date&lt;/P&gt;&lt;P&gt;                                             date&lt;/P&gt;&lt;P&gt;                                             c_otype_orgunit&lt;/P&gt;&lt;P&gt;                                    changing g_retcd.&lt;/P&gt;&lt;P&gt;        if g_retcd eq 0.&lt;/P&gt;&lt;P&gt;          read table i_objects index 1.&lt;/P&gt;&lt;P&gt;          g_orgeh = i_objects-sobid(8).&lt;/P&gt;&lt;P&gt;        endif. "g_retcd eq 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endif. "g_lines &amp;gt; 0. for i0001&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.  "sy-subrc eq 0 hr_read_infotype&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  elseif not plans is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if plans co '9' or&lt;/P&gt;&lt;P&gt;       plans co '0'.&lt;/P&gt;&lt;P&gt;      raise invalid_plans.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'RH_READ_OBJECT'&lt;/P&gt;&lt;P&gt;         exporting&lt;/P&gt;&lt;P&gt;              plvar     = plvar&lt;/P&gt;&lt;P&gt;              otype     = c_otype_position&lt;/P&gt;&lt;P&gt;              objid     = plans&lt;/P&gt;&lt;P&gt;              istat     = istat&lt;/P&gt;&lt;P&gt;              begda     = date&lt;/P&gt;&lt;P&gt;              endda     = date&lt;/P&gt;&lt;P&gt;              langu     = sy-langu&lt;/P&gt;&lt;P&gt;         exceptions&lt;/P&gt;&lt;P&gt;              not_found = 1&lt;/P&gt;&lt;P&gt;              others    = 2.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      raise no_exist_plans.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Find org unit&lt;/P&gt;&lt;P&gt;    perform zf_proc_get_om_objects tables i_objects&lt;/P&gt;&lt;P&gt;                                   using c_otype_position&lt;/P&gt;&lt;P&gt;                                         plans&lt;/P&gt;&lt;P&gt;                                         plvar&lt;/P&gt;&lt;P&gt;                                         c_rsign_a&lt;/P&gt;&lt;P&gt;                                         c_relat_003&lt;/P&gt;&lt;P&gt;                                         istat&lt;/P&gt;&lt;P&gt;                                         date&lt;/P&gt;&lt;P&gt;                                         date&lt;/P&gt;&lt;P&gt;                                         c_otype_orgunit&lt;/P&gt;&lt;P&gt;                                changing g_retcd.&lt;/P&gt;&lt;P&gt;    if g_retcd eq 0.&lt;/P&gt;&lt;P&gt;      read table i_objects index 1.&lt;/P&gt;&lt;P&gt;      g_orgeh = i_objects-sobid(8).&lt;/P&gt;&lt;P&gt;    endif."g_retcd eq 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  elseif not orgeh is initial.&lt;/P&gt;&lt;P&gt;    call function 'RH_READ_OBJECT'&lt;/P&gt;&lt;P&gt;         exporting&lt;/P&gt;&lt;P&gt;              plvar     = plvar&lt;/P&gt;&lt;P&gt;              otype     = c_otype_orgunit&lt;/P&gt;&lt;P&gt;              objid     = orgeh&lt;/P&gt;&lt;P&gt;              istat     = istat&lt;/P&gt;&lt;P&gt;              begda     = date&lt;/P&gt;&lt;P&gt;              endda     = date&lt;/P&gt;&lt;P&gt;              langu     = sy-langu&lt;/P&gt;&lt;P&gt;              CHECK_STRU_AUTH   = space              "ASikaria, 10/15&lt;/P&gt;&lt;P&gt;         exceptions&lt;/P&gt;&lt;P&gt;              not_found = 1&lt;/P&gt;&lt;P&gt;              others    = 2.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      raise no_exist_orgeh.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    g_orgeh = orgeh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif. "not pernr is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not g_orgeh is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    manager-orgeh = g_orgeh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Got org unit now find manager&lt;/P&gt;&lt;P&gt;    perform zf_proc_get_om_objects tables i_objects&lt;/P&gt;&lt;P&gt;                                   using c_otype_orgunit&lt;/P&gt;&lt;P&gt;                                         manager-orgeh&lt;/P&gt;&lt;P&gt;                                         plvar&lt;/P&gt;&lt;P&gt;                                         c_rsign_b&lt;/P&gt;&lt;P&gt;                                         c_relat_012&lt;/P&gt;&lt;P&gt;                                         istat&lt;/P&gt;&lt;P&gt;                                         date&lt;/P&gt;&lt;P&gt;                                         date&lt;/P&gt;&lt;P&gt;                                         c_otype_position&lt;/P&gt;&lt;P&gt;                                changing g_retcd.&lt;/P&gt;&lt;P&gt;    if g_retcd eq 0.&lt;/P&gt;&lt;P&gt;      read table i_objects index 1.&lt;/P&gt;&lt;P&gt;      if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;        manager-plans = i_objects-sobid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        call function 'Z_GET_POSITION_HOLDER'&lt;/P&gt;&lt;P&gt;             exporting&lt;/P&gt;&lt;P&gt;                  plans              = manager-plans&lt;/P&gt;&lt;P&gt;                  plvar              = plvar&lt;/P&gt;&lt;P&gt;                  istat              = istat&lt;/P&gt;&lt;P&gt;                  date               = date&lt;/P&gt;&lt;P&gt;             importing&lt;/P&gt;&lt;P&gt;                  pernr              = manager-pernr&lt;/P&gt;&lt;P&gt;             exceptions&lt;/P&gt;&lt;P&gt;                  position_not_exist = 1&lt;/P&gt;&lt;P&gt;                  position_invalid   = 2&lt;/P&gt;&lt;P&gt;                  others             = 3.&lt;/P&gt;&lt;P&gt;        if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          clear: manager-pernr.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if not manager-pernr is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- BOC RTDK902962&lt;/P&gt;&lt;P&gt;*-- Obtained formatted name&lt;/P&gt;&lt;P&gt;          clear: i0001.&lt;/P&gt;&lt;P&gt;          refresh: i0001.&lt;/P&gt;&lt;P&gt;          call function 'HR_READ_INFOTYPE'&lt;/P&gt;&lt;P&gt;               exporting&lt;/P&gt;&lt;P&gt;                    pernr           = manager-pernr&lt;/P&gt;&lt;P&gt;                    infty           = c_infty_0001&lt;/P&gt;&lt;P&gt;                    begda           = date&lt;/P&gt;&lt;P&gt;                    endda           = date&lt;/P&gt;&lt;P&gt;               importing&lt;/P&gt;&lt;P&gt;                    subrc           = g_retcd&lt;/P&gt;&lt;P&gt;               tables&lt;/P&gt;&lt;P&gt;                    infty_tab       = i0001&lt;/P&gt;&lt;P&gt;               exceptions&lt;/P&gt;&lt;P&gt;                    infty_not_found = 1&lt;/P&gt;&lt;P&gt;                    others          = 2.&lt;/P&gt;&lt;P&gt;          if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;            read table i0001 index 1.&lt;/P&gt;&lt;P&gt;            if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;              manager-ename = i0001-ename.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- EOC RTDK902962&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Obtain pernr information&lt;/P&gt;&lt;P&gt;*- Get 0002 data&lt;/P&gt;&lt;P&gt;          clear: i0002.&lt;/P&gt;&lt;P&gt;          refresh: i0002.&lt;/P&gt;&lt;P&gt;          call function 'HR_READ_INFOTYPE'&lt;/P&gt;&lt;P&gt;               exporting&lt;/P&gt;&lt;P&gt;                    pernr           = manager-pernr&lt;/P&gt;&lt;P&gt;                    infty           = c_infty_0002&lt;/P&gt;&lt;P&gt;                    begda           = date&lt;/P&gt;&lt;P&gt;                    endda           = date&lt;/P&gt;&lt;P&gt;               importing&lt;/P&gt;&lt;P&gt;                    subrc           = g_retcd&lt;/P&gt;&lt;P&gt;               tables&lt;/P&gt;&lt;P&gt;                    infty_tab       = i0002&lt;/P&gt;&lt;P&gt;               exceptions&lt;/P&gt;&lt;P&gt;                    infty_not_found = 1&lt;/P&gt;&lt;P&gt;                    others          = 2.&lt;/P&gt;&lt;P&gt;          if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;            read table i0002 index 1.&lt;/P&gt;&lt;P&gt;            if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;              manager-inits = i0002-inits.&lt;/P&gt;&lt;P&gt;              manager-vorna = i0002-vorna.&lt;/P&gt;&lt;P&gt;              manager-nachn = i0002-nachn.&lt;/P&gt;&lt;P&gt;              manager-midnm = i0002-midnm.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Get 0105 data&lt;/P&gt;&lt;P&gt;          clear: i0105.&lt;/P&gt;&lt;P&gt;          refresh: i0105.&lt;/P&gt;&lt;P&gt;          call function 'HR_READ_INFOTYPE'&lt;/P&gt;&lt;P&gt;               exporting&lt;/P&gt;&lt;P&gt;                    pernr           = manager-pernr&lt;/P&gt;&lt;P&gt;                    infty           = c_infty_0105&lt;/P&gt;&lt;P&gt;                    begda           = date&lt;/P&gt;&lt;P&gt;                    endda           = date&lt;/P&gt;&lt;P&gt;               importing&lt;/P&gt;&lt;P&gt;                    subrc           = g_retcd&lt;/P&gt;&lt;P&gt;               tables&lt;/P&gt;&lt;P&gt;                    infty_tab       = i0105&lt;/P&gt;&lt;P&gt;               exceptions&lt;/P&gt;&lt;P&gt;                    infty_not_found = 1&lt;/P&gt;&lt;P&gt;                    others          = 2.&lt;/P&gt;&lt;P&gt;          if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;            describe table i0105 lines g_lines.&lt;/P&gt;&lt;P&gt;            if g_lines &amp;gt; 0.&lt;/P&gt;&lt;P&gt;*- SAP usrid&lt;/P&gt;&lt;P&gt;              loop at i0105 where subty = c_0105_usrid_subty.&lt;/P&gt;&lt;P&gt;                manager-usrid = i0105-usrid.&lt;/P&gt;&lt;P&gt;              endloop.&lt;/P&gt;&lt;P&gt;*- Email address&lt;/P&gt;&lt;P&gt;*// not sure where email is going to be stored but assume it is subtype&lt;/P&gt;&lt;P&gt;*// 0010&lt;/P&gt;&lt;P&gt;              loop at i0105 where subty = c_0105_email_subty.&lt;/P&gt;&lt;P&gt;                manager-email = i0105-usrid_long.&lt;/P&gt;&lt;P&gt;              endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            endif. "g_lines &amp;gt; 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          endif."sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        endif. "not manager-pernr is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endif. "sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif."g_retcd eq 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif. "not g_orgeh is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endfunction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------" /&gt;&lt;P&gt;zposition holder&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PLANS	TYPE	PLOG-OBJID	                     	Object ID&lt;/P&gt;&lt;P&gt;PLVAR	TYPE	PLOG-PLVAR	'01'	Plan Version&lt;/P&gt;&lt;P&gt;ISTAT	TYPE	PLOG-ISTAT	'1'	Planning Status&lt;/P&gt;&lt;P&gt;DATE	TYPE	SY-DATUM	SY-DATUM	Date and time, current (application server) date&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERNR               TYPE      P0001-PERNR                 Personnel Number                 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;POSITION_NOT_EXIST            Position does not exist                  &lt;/P&gt;&lt;P&gt;POSITION_INVALID              Invalid position                         &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;function z_get_position_holder.&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;STRONG&gt;"&lt;/STRONG&gt;"Local interface:&lt;/P&gt;&lt;P&gt;*"  IMPORTING&lt;/P&gt;&lt;P&gt;*"     REFERENCE(PLANS) TYPE  PLOG-OBJID&lt;/P&gt;&lt;P&gt;*"     REFERENCE(PLVAR) TYPE  PLOG-PLVAR DEFAULT '01'&lt;/P&gt;&lt;P&gt;*"     REFERENCE(ISTAT) TYPE  PLOG-ISTAT DEFAULT '1'&lt;/P&gt;&lt;P&gt;*"     REFERENCE(DATE) TYPE  SY-DATUM DEFAULT SY-DATUM&lt;/P&gt;&lt;P&gt;*"  EXPORTING&lt;/P&gt;&lt;P&gt;*"     REFERENCE(PERNR) TYPE  P0001-PERNR&lt;/P&gt;&lt;P&gt;*"  EXCEPTIONS&lt;/P&gt;&lt;P&gt;*"      POSITION_NOT_EXIST&lt;/P&gt;&lt;P&gt;*"      POSITION_INVALID&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if plans cn '0123456789'.&lt;/P&gt;&lt;P&gt;    raise position_invalid.&lt;/P&gt;&lt;P&gt;  endif."plans cn '0123456789'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if plans co '9'.  "default position&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'RH_READ_OBJECT'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            plvar     = plvar&lt;/P&gt;&lt;P&gt;            otype     = c_otype_position&lt;/P&gt;&lt;P&gt;            objid     = plans&lt;/P&gt;&lt;P&gt;            begda     = date&lt;/P&gt;&lt;P&gt;            endda     = date&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;            not_found = 01&lt;/P&gt;&lt;P&gt;            others    = 02.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    raise position_not_exist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform zf_proc_get_om_objects tables i_objects&lt;/P&gt;&lt;P&gt;                                   using c_otype_position&lt;/P&gt;&lt;P&gt;                                         plans&lt;/P&gt;&lt;P&gt;                                         plvar&lt;/P&gt;&lt;P&gt;                                         c_rsign_a&lt;/P&gt;&lt;P&gt;                                         c_relat_008&lt;/P&gt;&lt;P&gt;                                         istat&lt;/P&gt;&lt;P&gt;                                         date&lt;/P&gt;&lt;P&gt;                                         date&lt;/P&gt;&lt;P&gt;                                         c_otype_pernr&lt;/P&gt;&lt;P&gt;                                changing g_retcd.&lt;/P&gt;&lt;P&gt;    if g_retcd eq 0.&lt;/P&gt;&lt;P&gt;      sort i_objects by begda descending. "get earliest rec&lt;/P&gt;&lt;P&gt;      read table i_objects index 1.&lt;/P&gt;&lt;P&gt;      if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;        pernr = i_objects-sobid(8).&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endif. "g_retcd eq 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif. "sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endfunction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;venkat.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Mar 2008 11:49:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/tables-in-a-function-module/m-p/3530685#M849356</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-10T11:49:45Z</dc:date>
    </item>
  </channel>
</rss>

