WWI issue: function module with symbol doesn't work in conditional output

Hi,
I have created a function module to be used in combination with a symbol that represents the quantity of a composition item in a composition. In some cases a average quantity is not filled and the function module calculates the quantity based on the lower and upper limit of the composition item. This function works perfectly if managed in customising with a symbol or called with a symbol in WWI. When displaying the result of the symbol in a WWI word template it shows the expected value.
However when I use the symbol with a function module (or the customised symbol with function module) in a conditional output expression, the value it represents in the expression is always equal to zero. It seems that a symbol value that is calculated using a functional module is not calculated properly when used in a conditional output expression. Setting a break in the functional module always shows the correct value, but the value as I already told, is not seen by the conditional output expression. Within the expression the value is always equal to zero.
Does anyone know if this is a known issue in WWI? Is there any solution to handle this problem? I hope anyone can help.
Thanks,
Paul

Dear Paul,
only some add on high level ideas:
if you look at:
Example: Layout of an Abridged Material Safety Data Sheet - Basic Data and Tools (EHS-BD) - SAP Library
you find the standard example of SAP for master and slave group:
2  <11BRG003 (M,SAP_EHS_1012_004;*)> ¶
3  <03EHS_L_TEXT(CED
  -SDB-01.002)> ¤
<03EHS_L_TEXT(CED-
SDB-02-07)> ¤
<03EHS_L_TEXT(CED-
SDB-02-05)> ¤
4  <11BRG002 (S:POS;*)> ¿
5 <01GESTRIDENT(I:NAM,
6  IUPAC,;*)> <11ERG002>¤
7
8
9
<11BRG002 (S:POS; *)> ¿
<01G1023001R2(C;*)
><11ERG002>¤
<11BRG002 (S:POS;*)> ¿
<01GESTVPRECL>
<01GESTVCOMPL(N:" ZZ9,9")>
<01GESTVCOMPE>
<11ERG002> ¤
10  <11ERG003>¶
The "issue" is that you need to analyse by "line" of POS group; or precisely: it is easy to print lower, upper and average value if it exists.
In conditional output this example is shown in SAP help:
<15BIF001(AND:01G1013005VA GE 1)><01G1013005VA(;*/TL)[D:Value]>
<15CIF001><03EHS_L_TEXT(CUST-100000000000031)[D:Density is less than 1]>
<15EIF001>
I believe you need a "clever" nesting together with your customer symbol
E.g. you need first "test" the contents of the three values and decide about result
The easiest way could be to use a "table" structure as above.
Just use column header "lower"; "average"; "upper" value. Then you need to ask your self in which situation what need to printed.
If you use the table structure and you print just what is there and leave simply lower / upper limit "field" empty if it does not exists (what is bad with this?) you need only this "conditional" output topic done for average value. You could check for: if value > 0.0001 then print the value (as then there is a value); if not use the report symbol in which you calculate something. In my opinion it is worth to try it.
It is known that you can check "numeric values by using conditional output. I belive tis cintional one des work as well with the "composition" values (lwoer, upper, average),
May be this approach might help.
The "stack" examples which are discussed in SAP help and in the links shown are related to "characteristic" values of classes and not for composition ones.
C.B.
PS: If this really works you can clearly extend your solution. E.g. if lower value is empty may be print "0", If upper valus is empty may be print "100" etc. (or prepare a further costumer symbol calculating something).

Similar Messages

  • RFC Function module-With Only Request message

    Hi
    i need a RFC with only Request message and Response message is not required.
    please help me, how to create a RFC function module with out Response message, and it should contain only Request message.
    i have created RFC in this way:
    RFC doesn't contain neither import nor export parameters. and i have defined one table in TABLE tab which refers to a ztable created already.
    when i imported RFC into XI i came to know that RFC has both Request and Response messages, but i don't need Response message.
    Thanks in advance..help would be appreciated
    Regards,
    Rajesh

    Thankx Michal,
    I have written ZRFC this way:
    insert ZMM_AUTO_GR from INPUT_TABLE .
      if sy-subrc = 0.
        commit work.
      else.
       rollback work.
    im not using neither import nor export parameters..but using only tables parameters. but when imported in XI im getting same table  structure in both request an response.
    please suggest what changes required in above code to invoke my ZRFC in async way.
    you will not get any response in XI- what chages required in my code to dnt get .reponse in XI.
    appreciate your help.
    Regards,
    Rajesh.

  • How to check for a function module with its description and functionality

    Hi all,
    How to check for a function module,with its description and its functionality,in detail how can I know the purpose of a particular function module,how to search for a function module which suits my requirement .

    Hi,
    You can search a FM of your requirement by putting in the Key words and searching for a FM. Like * KEYWORD * and then pressing F4.
    Say for example you need to search something regarding converstion.
    Search for * CONVERT * and press F4.
    If there is something specfic like converting date to something you can give
    DATE * CONVERT *
    OR
    CONVERT * DATE *  and press F4.
    Once you narrow down your search you will have a Function module documentation inside the Function module. Please note that all the FMs willl not have documentation.
    Regards,
    Pramod

  • How to create a custom function module with the records in SAP R/3?

    Hi All,
    How to create a custom function module with the records in SAP R/3? Using RFC Adapter I have to fetch the custom function module records.
    Regards
    Sara

    Hi
    goto se37...here u need to create a function group... then u need to create a function module. inside assign import/export parameters. assign tables/exceptions. activate the same. now write ur code within the function module
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db98fc35c111d1829f0000e829fbfe/content.htm
    Look at the below SAP HELP links, These links will show you the way to create a Function Module
    http://help.sap.com/saphelp_nw04/helpdata/en/26/64f623fa8911d386e70000e82011b8/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db98fc35c111d1829f0000e829fbfe/content.htm

  • How to assign function module with process code in IDOC ?

    how to assign function module with process code in IDOC ? and what code i have to write in that function module for custom IDOC ?
    helpful answer will be rewarded?

    Hi,
    First goto transaction we42 -->editing mode --> new entries -->give name of your process code and description --> processing with alv service and function module -->then press enter -->after that enter the name of the function module you want to associate from the drop down and save it.
    Thats the way to assign function module with process code.
    In that process code we will have the Function modules and Bapi's which will take the data which we are sending through IDOC and then process it.
    for example: i am triggering the IDOC for every purchase order created then this process code in the receiver system will take the data which i have enetered in the sender system to create the purchase order and process it and creates the same purchase order in the receiver's system.
    Reward if helpful.
    with regards,
    Syed

  • Creating function modules with step by step

    Hi,
       plz provide me the material for creating function modules with step by step.

    Hi Nagaraju,
    Step 1.
    GO to transaction SE80.In the drop box list select function group enter your Z Function group name.Press enter it will ask for creating the function group.Create your function group.
    OR
    In SE37 transaction,in the menu bar Goto - > Function Group - > Create Group.Your Function Group will be created.
    Step 2.
    Go to transaction SE37.Enter your Z Function module name,your recently created function group name and the description.Press Enter.Now your FM is created.
    Step 3.
    Enter Export,Import parameters.In the source code tab write the code what you want to write.If any exception write in the exception tab.
    Method 2)
    First u have to create Function Group.
    1.se37->Goto->Function Group--->Create.
    2.Create FM.
    3.maintain import /export parameters and tables , exceptions.
    4.based on the ur requirement u have to bulid ur logic in Source Code by using there Import parameters and u can pass the results by using Export or table.
    5.u can raise error by using exception.
    Reward if useful.
    Thanks
    Aneesh.

  • Generic Extractor using Function module with Complex Interface

    Hi,
    Has anyone created Generic extractor using Function module with Complex Interface?
    What is the difference between Complex and Simple interface in Function module?
    Pls explain.
    Thanks,
    Gopal

    Hi,
    Go through this link.....
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/d3219af2-0c01-0010-71ac-dbb4356cf4bf
    GTR

  • Log on into the function module with different user name.

    hi,
            i log on into the system with my user id suppose 'mukka' and i have to check the authorization of another user say 'you' using the function module "authority_check_tcode". but here i am getting the problem that when i assigned sy-uname to 'you' and execute the function module it is entering into the function module with 'mukka' user name only.
    sample code:-
                                sy-uname  = p_uname.
        CALL FUNCTION 'AUTHORITY_CHECK_TCODE'  "#EC"
          EXPORTING
            tcode  = v_tcode
          EXCEPTIONS
            ok     = 1
            not_ok = 2.
    when i am changing the sy-uname with p_uname the sy-uname is changed but when i entered into the function module authority_check_tcode in the debugging mode at the below the sy-uname variable is showing  as 'mukka' only. but i need to check the authorizations of user 'you' pls give me solution to my problem.

    Hi,
    Why would you want to check the authorisation of another user and not the one currently logged in?  The idea of authorisations is to check the current user is able to perform a certain activity.  The majority of fields on SYST are constantly updated to have the correct values (partly so you can't fiddel authorisation checks like this
    Maybe if you explain to us what you are trying to do we can offer some other help.
    Gareth.

  • # symbol doesn't work on keyboard

    Hello, all!
    I've got a rather odd problem. Since installing OS 10.5.6 my # symbol doesn't work on my keyboard. I have extra keyboards and have tried them too - no success. Any ideas as to why this might be happening and what I can do to fix it?
    Thanks!
    John

    By the way, the "3" key does work, just not the # symbol. If you're wondering how I'm getting it to work now, I cut and pasted it after using the "insert symbol" function - not something I want to do each time!
    Thanks!

  • Cropping pictures with Viewer doesn't work.

    Cropping pictures with Viewer doesn't work.
    Selecting < or ~ 12 pictures. (picture size are Snapshots with iphone resolution) ->Viewers opens and display them. -> Russian roullette between cmd+k or the little crop button. No indication which one will process a crop or which not. -> Both result in picture selection disappear with no crop.
    Selecting > 12 pictures. (picture size are Snapshots with iphone resolution) -> Viewer opens and display them. I crop them one by one with same Russian roulllette behavior between cmd+k or the little crop button. -> Closing Viewer. -> Pictures remain like they've been before. Not cropped.

    I just tried what you described (although I can't really fathom why you would describe it as Russian roulette (with a variable number of L's). Unless you've been drinking a lot, which is what people are usually doing when they are playing Russian roulette. Your post was hard enough to decipher without that.
    Anyway, my cropping was saved each time. I think there's something wrong with your Preview.app. Have you changed anything about the autosave functions of OSX?
    I would try:
    Boot into your recovery partition (restart, hold down ⌘R until you see the Apple logo), and use Disk Utility to repair your hard drive. Repair permissions too while you're there. OS X: About OS X Recovery
    if that doesn't help, then I'd reinstall Mavericks over your current installation.

  • Function Module for data retrival for work order clearence (WCA)

    Hi All ,
      Function Module for data retrival for work order clearence (WCA) for a particular Planning plant and (WCD's).
    Thanks.

    Hi Anne,
    BAPI_PRODORD_GET_DETAIL
    BAPI_PRODORD_GET_LIST
    You can find further FM in Function Group COPRINT and CODR or take F4 on CO* in Function Group
    These will serve your purpose.
    Cheerz.
    Ram

  • Web Service created from Function Module with output tables

    Hello,
    I created a web service from a custom function module.  This Function module has some export parameters and one table.
    The table parameter returns a list of data for selection.
    When I execute the function module, everything is returned fine.
    When I call the web service, the export parameters are returned but the table is empty.
    Has anyone encountered that kind of issue?
    Thanks!
    Laurent

    Please check the following few things while testing the WS:
    - Test the WS with WS Navigator (accessible from transaction WSADMIN or http://<server host>:<port>/wsnavigator/enterwsdl.html).
    - While doing the test, give the exact no. of digit if there is some input parameter (with 0 padding if necessary).
    - Make sure the "SKIP" check box against the table parameter is NOT checked.
    Regards
    Nilay

  • Can we call a Function Module with in a loop

    Hi,
    Can we call a Function Module within a loop . Does it reduces the performance.
    Can you please guide regarding this.
    With Best Regards
    Mamatha.

    hi Mamatha,
      You can call .. but it is better to avoid calling it within a loop...
    Loop at it_tab.
       call function 'CONVERSION_EXIT_ALPHA_INPUT'
        exporting
          input  = it_tab-vbeln.
        importing
          output = it_tab-vbeln.
    endloop.
    Regards,
    Santosh
    Message was edited by:
            Santosh Kumar Patha

  • Replace REUSE_ALV function module with use of OO ALV(obect oriented)

    HI,
    I m using function module 'REUSE_ALV_GRID_DISPLAY' to disply the report but now client want to use object oriented ALV instead of REUSE_ALV function
    pls help me.its very urgent
    thanks!
    Vipin
    pls find the code below.
    FORM f0001_get-select_data .
      SELECT a~pernr
             a~endda
             a~begda
             a~bukrs
             a~werks
             a~persg
             a~persk
             a~btrtl
             a~abkrs
             a~kostl
             a~orgeh
             a~plans
             b~nachn
             b~vorna
             b~midnm
             INTO CORRESPONDING FIELDS OF TABLE i_pa0001_pa0002
             FROM pa0001 AS a INNER JOIN pa0002 AS b
             ON apernr = bpernr
             WHERE a~pernr IN s_pernr
             AND   a~werks IN s_werks
             AND   a~orgeh IN s_orgeh
             AND   a~plans IN s_plans.
      SORT i_pa0001_pa0002 BY pernr .
      IF NOT i_pa0001_pa0002[] IS INITIAL .
      CLEAR: w_i_lines.
      DESCRIBE TABLE i_pa0001_pa0002 LINES w_i_lines.
        IF w_i_lines GT 0.
        SELECT pernr
               kostl
               lstar
               werks
               lifnr
               ebeln
               ebelp
               lstnr
               FROM pa0315
               INTO CORRESPONDING FIELDS OF TABLE i_pa0315
               FOR ALL ENTRIES IN i_pa0001_pa0002
               WHERE pernr = i_pa0001_pa0002-pernr
               AND   kostl = i_pa0001_pa0002-kostl
               AND   ebeln IN s_ebeln.
         SORT i_pa0315 BY pernr kostl.
         ENDIF.
    CLEAR: w_i_lines.
    DESCRIBE TABLE i_pa0001_pa0002 LINES w_i_lines.
        IF w_i_lines GT 0.
        SELECT pernr
               endda
               begda
               schkz
               FROM pa0007
               INTO CORRESPONDING FIELDS OF TABLE i_pa0007
               FOR ALL ENTRIES IN i_pa0001_pa0002
               WHERE pernr = i_pa0001_pa0002-pernr
               AND   endda = i_pa0001_pa0002-endda
               AND   begda = i_pa0001_pa0002-begda.
         SORT i_pa0007 BY pernr.
    ENDIF.
    CLEAR: w_i_lines.
    DESCRIBE TABLE i_pa0001_pa0002 LINES w_i_lines.
        IF w_i_lines GT 0.
        SELECT orgeh
               orgtx
               FROM t527x
               INTO CORRESPONDING FIELDS OF TABLE i_t527x
               FOR ALL ENTRIES IN i_pa0001_pa0002
               WHERE orgeh = i_pa0001_pa0002-orgeh.
       SORT i_t527x BY orgeh.
    ENDIF.
    CLEAR: w_i_lines.
    DESCRIBE TABLE i_pa0001_pa0002 LINES w_i_lines.
        IF w_i_lines GT 0.
        SELECT plans
               plstx
               FROM t528t
               INTO CORRESPONDING FIELDS OF TABLE i_t528t
               FOR ALL ENTRIES IN i_pa0001_pa0002
               WHERE plans = i_pa0001_pa0002-plans.
          SORT i_t528t BY plans.
       ENDIF.
      ENDIF.
    Merging data of i_pa0001_pa0002,i_pa0315 & i_pa0007 into i_outtab.
      LOOP AT i_pa0001_pa0002 INTO w_pa0001_pa0002 .
        MOVE-CORRESPONDING w_pa0001_pa0002 TO w_final.
        READ TABLE i_pa0315 INTO w_pa0315 WITH KEY  pernr =
       w_pa0001_pa0002-pernr
       kostl = w_pa0001_pa0002-kostl BINARY SEARCH.
        IF sy-subrc = 0.
          w_final-kostl   = w_pa0315-kostl.
          w_final-lstar   = w_pa0315-lstar.
          w_final-werks_p = w_pa0315-werks.
          w_final-lifnr   = w_pa0315-lifnr.
          w_final-ebeln   = w_pa0315-ebeln.
          w_final-ebelp   = w_pa0315-ebelp.
          w_final-lstnr   = w_pa0315-lstnr.
        ENDIF.
        READ TABLE i_pa0007 INTO w_pa0007 WITH KEY pernr =
       w_pa0001_pa0002-pernr BINARY SEARCH.
        IF sy-subrc = 0.
          w_final-schkz = w_pa0007-schkz.
        ENDIF.
        READ TABLE i_t527x INTO w_t527x WITH KEY orgeh = w_pa0001_pa0002-orgeh
        BINARY SEARCH.
        IF sy-subrc = 0.
          w_final-orgtx = w_t527x-orgtx.
        ENDIF.
        READ TABLE i_t528t INTO w_t528t WITH KEY plans =
    w_pa0001_pa0002-plans BINARY SEARCH.
        IF sy-subrc = 0.
          w_final-plstx = w_t528t-plstx.
        ENDIF.
        APPEND w_final to i_outtab.
      ENDLOOP.
    ENDFORM.                    "f001_get-select_data
    *&      Form  f002_display_data
          text
    FORM f0002_display_data.
    Build the field catalog
    ls_fieldcat-col_pos = '1'.
    ls_fieldcat-fieldname = 'PERNR'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname  = 'PA0001'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '2'.
    ls_fieldcat-fieldname = 'NACHN'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'PA0002'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '3'.
    ls_fieldcat-fieldname = 'VORNA'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'PA0002'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '4'.
    ls_fieldcat-fieldname = 'MIDNM'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'PA0002'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '5'.
    ls_fieldcat-fieldname = 'BUKRS'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'PA0001'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '6'.
    ls_fieldcat-fieldname = 'WERKS'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'PA0001'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '7'.
    ls_fieldcat-fieldname = 'PERSG'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'PA0001'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '8'.
    ls_fieldcat-fieldname = 'PERSK'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'PA0001'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '9'.
    ls_fieldcat-fieldname = 'BTRTL'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'PA0001'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '10'.
    ls_fieldcat-fieldname = 'ABKRS'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'PA0001'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '11'.
    ls_fieldcat-fieldname = 'ORGEH'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'PA0001'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '12'.
    ls_fieldcat-fieldname = 'ORGTX'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'T527X'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '13'.
    ls_fieldcat-fieldname = 'PLANS'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'PA0001'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '14'.
    ls_fieldcat-fieldname = 'PLSTX'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'T528T'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '15'.
    ls_fieldcat-fieldname = 'SCHKZ'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'PA0007'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '16'.
    ls_fieldcat-fieldname = 'KOSTL'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'PA0315'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '17'.
    ls_fieldcat-fieldname = 'LSTAR'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'PA0315'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '18'.
    ls_fieldcat-fieldname = 'WERKS'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'PA0315'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '19'.
    ls_fieldcat-fieldname = 'LIFNR'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'PA0315'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '20'.
    ls_fieldcat-fieldname = 'EBELN'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'PA0315'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '21'.
    ls_fieldcat-fieldname = 'EBELP'.
    ls_fieldcat-tabname = 'i_outab'.
    ls_fieldcat-ref_tabname = 'PA0315'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '22'.
    ls_fieldcat-fieldname = 'LSTNR'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'PA0315'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '23'.
    ls_fieldcat-fieldname = 'BEGDA'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'PA0001'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-col_pos = '24'.
    ls_fieldcat-fieldname = 'ENDDA'.
    ls_fieldcat-tabname = 'i_outtab'.
    ls_fieldcat-ref_tabname = 'PA0001'.
    APPEND ls_fieldcat TO lt_fieldcat.
    CLEAR: ls_fieldcat.
    Display the list
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program      = sy-cprog
         i_callback_user_command = 'USER_COMMAND'
          it_fieldcat             = lt_fieldcat
        TABLES
          t_outtab                = i_outtab.
    ENDFORM.                               " F_DISPLAY_DATA

    Hi,
    check the system defined program BCALV_EDIT_05.
    rgds,
    bharat.

  • Generic extractor based on specific function module with delta update

    Hi everybody,
    I'm trying to create a specific extractor using a specific function module and a specific structure of record.
    In my F.M i merge record from standard table MKPF and MSEg and return the result trhu the structure.
    In initialisation mode, there's no problem . But now i'm must be able to use the DELTA mode but i don't know how to do it.
    Can somebody help me?
    Here is the code of my function module , i know it's not a standard one because i'm not using cursor but i got everything i need. The delta mode must be on creattion time of record in mkpf .
    FUNCTION z_bw_extract_mvt_sortant.
    ""Interface locale :
    *"  IMPORTING
    *"     VALUE(I_REQUNR) TYPE  SBIWA_S_INTERFACE-REQUNR
    *"     VALUE(I_ISOURCE) TYPE  SBIWA_S_INTERFACE-ISOURCE OPTIONAL
    *"     VALUE(I_DSOURCE) TYPE  SBIWA_S_INTERFACE-ISOURCE OPTIONAL
    *"     VALUE(I_MAXSIZE) TYPE  SBIWA_S_INTERFACE-MAXSIZE OPTIONAL
    *"     VALUE(I_INITFLAG) TYPE  SBIWA_S_INTERFACE-INITFLAG OPTIONAL
    *"  TABLES
    *"      E_T_DATA STRUCTURE  ZBW_MVTSORTANT OPTIONAL
    *"      I_T_SELECT TYPE  SBIWA_T_SELECT OPTIONAL
    *"      I_T_FIELDS TYPE  SBIWA_T_FIELDS OPTIONAL
    *"  EXCEPTIONS
    *"      NO_MORE_DATA
    *récupération des données.
      CASE i_initflag.
        WHEN space.
          transfert_record it_mvtsor e_t_data i_maxsize.
         DESCRIBE TABLE it_mvtsor LINES sy-tfill.
         IF sy-tfill GT i_maxsize.
           APPEND LINES OF it_mvtsor FROM 1 TO i_maxsize TO e_t_data.
           DELETE it_mvtsor FROM 1 TO i_maxsize.
         ELSEIF sy-tfill GT 0.
           APPEND LINES OF it_mvtsor FROM 1 TO sy-tfill TO e_t_data.
           FREE it_mvtsor.
         ELSE.
           RAISE no_more_data.
         ENDIF.
        WHEN OTHERS.
    raffraichissement des variables de travails.
          FREE : r_werks , r_bwart , it_mkpf , it_mseg , it_mvtsor .
          CLEAR : r_werks , r_bwart , it_mkpf , it_mseg , it_mvtsor .
    récupération des paramètres.
          PERFORM set_selection_criteria TABLES i_t_select.
          PERFORM init_code_mouvement.
          SELECT * FROM mkpf
          APPENDING CORRESPONDING FIELDS OF TABLE it_mkpf.
    WHERE cpudt = sy-datum.
          CHECK NOT it_mkpf IS INITIAL.
          SELECT * FROM mseg
            APPENDING CORRESPONDING FIELDS OF TABLE it_mseg
            FOR ALL ENTRIES IN it_mkpf
            WHERE mblnr = it_mkpf-mblnr
              AND mjahr = it_mkpf-mjahr
              AND werks IN r_werks
              AND bwart IN r_bwart.
          LOOP AT it_mkpf ASSIGNING  .
            ENDLOOP.
          ENDLOOP.
      ENDCASE.
    ENDFUNCTION.
    Thanks in advance.

    Hi,
    first of all: The use of delta in a generic Datasource by FM is not supported by SAP standard. You need to change the extraction method in table ROOSOURCE from F2 to F1. There is no standard transaction to do this, you have to do a hard table update. Be careful not to change any standard datasource by error, otherwise you can get serious problems.
    The interface for the FM will change with the new extraction method. You will need a new parameter I_UPDMODE of type SBIWA_S_INTERFACE-UPDMODE to distinguish between Init, Delta and Full Load.
    For an example coding please refer to FM RSVD_BW_GET_DELTA_DATA.
    Hope that helps
    Stephan
    Message was edited by: Stephan Müller

Maybe you are looking for

  • Page Header and Footer in Printer Friendly mode

    Hi, I have a report which has more than 500 rows and I want to print them. The printer friendly mode works fine, but is it possible that there is a page "header" and "footer" on every page which is printed? For example, that the column headings are o

  • New photos app won't update photo stream

    Photo Stream is still working on my iPad and iPhone, but not updating on the new Photos app. Photo Stream is enabled in the app and the System Preferences but not working. Worked fine in iPhoto.

  • I need to xlsx viewer software for viewing data of my excel 2013 file?

    Today I've tried to open excel file and I have seen msg: Excel file not in recognizable format.

  • How to use incremental variable in addressing nested objects

    I have a for statement intended to load images from an external array and insert them into the content holders. for (i=0; i<15; i++){ products.prod+i.circle.pic.contentPath = imagearray If I replace the +i with a number between 0-14, it works fine. W

  • Title Case

    Hello, I have a table TRANS with a column called NAME (varchar2(40)). Most of the records are in title case already (St. John St) but there are a few in upper case (OLD HIGHWAY). I want to change the upper case records to title case. I've seen a few