Function Group - CUOV; Help needed

Hi All,
I am designing a Function module which will be used by a Variant function (LO-Variant configuration). The function Group CUOV has the list of standard function modules. But I am not bale to create successful test data for any of them. I had asked SAP to help me with the function Module documentation, but they said no since the function modules are not RELEASED.
Now, If, any of you have worked with these function modules, please share your code/ideas.
~ Guru

I think you'll have better luck with this question in the Discoverer forum.
Discoverer

Similar Messages

  • Deploying Files with Group Policy - Help Needed

    Hi,
    I am trying to use group policy to deploy files and folders to our server estate. The policy I have created first creates a folder on each server's C drive and then coppies a set of files to this folder from a network share. The folder creation works fine
    but the files copy fails. In the Application logs on the servers it displays the following error:
    The computer 'ILMT' preference item in the 'GPO - Servers_Production_ALL {CC026B58-FA3B-4399-AA00-AE8E844B2B47}' Group Policy object did not apply because it failed with error code '0x80070005 Access is denied.' This error was suppressed.
    Can anyone advise what exactly does not have access here? I don't know what I need to enable to get this to work.
    Can anyone help?
    Many thanks
    James

    The copy is on a file server share. presumably if I just give everybody read access to the share that would suffice?
    No it won't.
    "Sharing" requires several actions:
    a) create the folder
    b) share the folder
    c) grant NTFS permissions on the folder
    I think you've neglected action (c).
    For your scenario, you need to grant the "server computers" read permissions to the folder.
    You can add individual computer accounts, or a group, or "domain computers".
    (In a similar way, you could grant access to a user, a group, or "domain users")
    [if you need everybody (users) *AND* everything (computers), you could grant permissions to "authenticated users" since that principal includes *BOTH* users and also computers]
    Note that "domain computers" and "authenticated users" include all types of domain member computers, i.e. servers, workstations, etc.
    Also, note that granting a "computer account" access to a folder or share, does *NOT* mean that a user account on that computer can access the remote share, i.e. permission is granted to the computer account, and a logged-in user account on
    that computer does not inherit any kind of access to the remote share by virtue of being logged in.
    This means that the computer can access the share but the user cannot access the share. Because the computer account is an identity/principal of it's own accord.
    [None of which really has anything to do with Group Policy at all - it's how Windows does file sharing and ACLs... ;)
    Don
    (Please take a moment to "Vote as Helpful" and/or "Mark as Answer", where applicable.
    This helps the community, keeps the forums tidy, and recognises useful contributions. Thanks!)

  • Active Directory Group Cleanup - Help Needed

    Hi All,
    I need to clean up our Active Directory and the first stage of this is to remove any unused groups. I have been trying to work out what these are using powershell. Can anyone please provide me with a simple powershell script that will identify any AD groups
    that have no members in them? 
    Many thanks
    James

    Greetings!
    Try this:
    import-module activedirectory
    Get-ADGroup –Filter * -Properties Members | where { $_.Members.Count –eq 0 }
    Regards.
    Mahdi Tehrani   |  
      |  
    www.mahditehrani.ir
    Please click on Propose As Answer or
    to mark this post as
    and helpful for other people.
    This posting is provided AS-IS with no warranties, and confers no rights.
    How to query members of 'Local Administrators' group in all computers?
    Adding in: Watch out for users having customized groups (e.g groups other than Domain Users and Domain Admins) as their primary group, they will not be reflected in the member attribute and hence not be reflected in the above count, I know it's a rare case,
    but could be good to know.
    Enfo Zipper
    Christoffer Andersson – Principal Advisor
    http://blogs.chrisse.se - Directory Services Blog

  • Error in xml to html transform function in 11g(Help needed urgent)

    We are migrating from 9g to 11g.Code given below is working fine with 9g but giving following error while converting xml to html.
    Error:Exception occurred in XML_TO_HTML :ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00609: Function call with invalid number of arguments in 'position (//USER)'.
    Code :<?xml version='1.0'?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:template match="/">
    <HTML>
    <BODY>
    <!--begin header-->
    <xsl:for-each select="AMAP_REMMIT_EMP/HEADERS/HEADER">
    <TABLE border="0" cellpadding="0" cellspacing="0" style="padding:1px" width="100%" height="95" bgcolor="#EAEAEA"><font size="6" face="Arial">amdocs </font>
    <TR >
    <TD width="50%" align="left" ><b/><font size="2" face="Verdana" /> <xsl:value-of select="VENDOR_NAME"/></TD>
    <TD width="50%" align="left"><b/><font size="2" face="Verdana" />Date: <xsl:value-of select="RUN_DATE"/>
    </TD>
    </TR>
    <TR >
    <TD width="50%" align="left" ><b/><font size="2" face="Verdana" /> <xsl:value-of select="ADDRESS"/></TD>
    <TD width="50%" align="left"><b/><font size="2" face="Verdana" /> <xsl:value-of select="TAX_ID"/>
    </TD>
    </TR>
    <TR >
    <TD width="50%" align="left" ><b/><font size="2" face="Verdana" /> <xsl:value-of select="CITY"/> <xsl:value-of select="ZIP"/></TD>
    <TD width="50%" align="left"><b/><font size="2" face="Verdana" />Vendor Number: <xsl:value-of select="OSEK_MURSHE"/>
    </TD>
    </TR>
    <TR >
    <TD width="50%" align="left" ><b/><font size="2" face="Verdana" /> </TD>
    <TD width="50%" align="left"><b/><font size="2" face="Verdana" />Fax Number: <xsl:value-of select="FAX"/>
    </TD>
    </TR>
    </TABLE>
    </xsl:for-each>
    <!--end header-->
    <!--begin lines-->
    <p dir="ltr" align="center">
    <span style="font-family: Arial; text-decoration: underline; font-weight: 700">
    Subject: Remittance Advice</span></p>
    <table border="1" cellspacing="1" width="100%" bgcolor="#C0C0C0">
    <tr>
    <th width="20%"><font face="Arial"><b>Invoice Date</b></font></th>
    <th width="20%"><font face="Arial"><b>Invoice Number</b></font></th>
    <th width="40%"><font face="Arial"><b>Description</b></font></th>
    <th width="20%"><font face="Arial"><b><xsl:value-of select="AMAP_REMMIT_EMP/HEADERS/HEADER/CURRENCY"/> Amount</b></font></th>
    </tr>
    <xsl:for-each select="AMAP_REMMIT_EMP/MERGE_LINE/LINES/LINE">
    <tr>
    <td width="20%" >
    <xsl:attribute name="bgcolor">
    <xsl:if test="position() mod 2 = 0">#DDDDDD</xsl:if>
    <xsl:if test="position() mod 2 = 1">#FFFFCC</xsl:if>
    </xsl:attribute>
    <xsl:value-of select="INVOICE_DATE"/></td>
    <td width="20%" >
    <xsl:attribute name="bgcolor">
    <xsl:if test="position() mod 2 = 0">#DDDDDD</xsl:if>
    <xsl:if test="position() mod 2 = 1">#FFFFCC</xsl:if>
    </xsl:attribute>
    <xsl:value-of select="INVOICE_NUM"/></td>
    <td width="40%" >
    <xsl:attribute name="bgcolor">
    <xsl:if test="position() mod 2 = 0">#DDDDDD</xsl:if>
    <xsl:if test="position() mod 2 = 1">#FFFFCC</xsl:if>
    </xsl:attribute>
    <xsl:value-of select="DESCRIPTION"/></td>
    <td width="20%" >
    <xsl:attribute name="bgcolor">
    <xsl:if test="position() mod 2 = 0">#DDDDDD</xsl:if>
    <xsl:if test="position() mod 2 = 1">#FFFFCC</xsl:if>
    </xsl:attribute>
    <xsl:value-of select="AMOUNT"/></td>
    </tr>
    </xsl:for-each>
    <tr>
    <td width="80%" bgcolor="#FFFFFF" colspan="3" align="right">
    <b>Total Payment:</b></td>
    <td width="20%" bgcolor="#FFFFFF"><xsl:value-of select="//TOTAL"/></td>
    </tr>
    </table>
    <p dir="ltr" align="left"><span style="font-family: Arial"><font size="2">In accordance with your instructions, this amount will be transferred to your <xsl:if test="AMAP_REMMIT_EMP/MERGE_LINE/SITES/SITE/INCLUDE_BANK_DETAILES='Y'">
    account number <xsl:value-of select="AMAP_REMMIT_EMP/MERGE_LINE/LINES/LINE/ACCOUNT"/> in bank
    <xsl:value-of select="AMAP_REMMIT_EMP/MERGE_LINE/LINES/LINE/BANK"/> , branch <xsl:value-of select="AMAP_REMMIT_EMP/MERGE_LINE/LINES/LINE/BRANCH"/>
    on the date of <xsl:value-of select="AMAP_REMMIT_EMP/MERGE_LINE/LINES/LINE/CHECK_DATE"/>.
    </xsl:if>
    <xsl:if test="AMAP_REMMIT_EMP/MERGE_LINE/SITES/SITE/INCLUDE_BANK_DETAILES!='Y'">
    account on the date of <xsl:value-of select="AMAP_REMMIT_EMP/MERGE_LINE/LINES/LINE/CHECK_DATE"/>.
    </xsl:if>
    <xsl:if test="AMAP_REMMIT_EMP/MERGE_LINE/CREDITNOTES/CREDITNOTE/CREDITNOTE>'0'">
    <p>The payment will be credited in two days from the payment date in your account.</p>
    </xsl:if>
    <p>In case this date is not a valid value date in the bank system, the money will be transferred in the next valid value date.</p>
    <xsl:value-of select="AMAP_REMMIT_EMP/MERGE_LINE/NOTES/NOTE/DESCRIPTION"/>
    </font></span></p>
    <TABLE border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="100%" height="50">
    <TR >
    <TD width="60%" ></TD>
    <TD width="40%" align="left"><b/><font size="2" face="Verdana" />Yours sincerely,</TD>
    </TR>
    <TR >
    <TD width="60%" ></TD>
    <TD width="40%" align="left"><b/><font size="2" face="Verdana" /> <xsl:value-of select="AMAP_REMMIT_EMP/MERGE_LINE/LINES/LINE/COMPANY_NAME"/></TD>
    </TR>
    <!--end lines-->
    <!--end trailer-->
    </TABLE>
    <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-left-width: 1; border-right-width: 1; border-top-style: solid; border-top-width: 1; border-bottom-width: 1; padding: 0" bordercolor="#111111" width="100%">
    <tr>
    <td width="34%">Alert No:<xsl:value-of select="AMAP_REMMIT_EMP/HEADERS/HEADER/ALERT_ID"/></td>
    <td width="33%">Environment: <xsl:value-of select="AMAP_REMMIT_EMP/HEADERS/HEADER/DB_NAME"/></td>
    <td width="33%">Date:<xsl:value-of select="AMAP_REMMIT_EMP/HEADERS/HEADER/MAIL_DATE"/></td>
    </tr>
    </table>
    <!--end trailer-->
    </BODY>
    </HTML>
    </xsl:template>
    </xsl:stylesheet>
    Thanks in advance.

    #1. We need to see the code that is being used to invoke the stylesheet.
    #2. We need to see the document that is being transformed...
    It's most likely a bug in 9g which has been fixed in 11g...

  • Function Group inculde FUNCTION_UXX needs to be attached to TR number

    HI
    Whenever a new FM is created, inculde FUNCTION_UXX will be updated by the function library. We have a situation where we are not creating a new FM, but due to some issue we need to attach this include and transport it to other client.
    If any one has any solution, please reply.
    thanks.

    Did you Check this ?
    Re: How to include an INCLUDE into a Transport Request

  • Demoting a DC and Group policy, help needed.

    Hi all,
    so we have 3 domain controllers, lets say dc1,dc2 and dc3. We have the 3rd line assistance from another company, they have advised the following.... 
    SO the stages will be
    1) Can you please go through all the GPO's in DC3 and consolidate what you need and what you do not need, you need to extensively cross reference this with DC1 and DC2, this is something you have to do. As I will not know what you need and what you do
    not. You can do this by logging into each domain controller and opening up the settings of each GPO and cross referencing.
    2) Once the above is done, we will consolidate the GPO's to a central repository in your domain
    3) Backup Sysvol directory and Netlogon folder in DC3
    3) Proceed to dcpromo DC3 out of the domain
    4) Test connectivity if clients to the AD
    5) Add the additional Server options
    6) All of the above can be done during office hours.
    it was my understanding (perhaps wrongly) that the group policies were not on the individual Domain Controllers but in Sysvol and as such replicated anyway?
    any advice would be very much appreciated.

    > I am being told that our Group policies are different across different
    > Domain Controllers and to my knowledge that's impossible as we have
    > discussed it should be in the replicated Sysvol.
    Ok, that's a common problem. Fix it and you will be fine:
    http//support.microsoft.com/kb/2218556 (for DFS-R Replication of Sysvol)
    http://support.microsoft.com/kb/315457 (for NTFRS replication)
    > I'm a bit lost on the central repository aspect but prior to saying it
    > makes no sense I just wanted to check my understanding, especially with
    > an MVP!
    I agree. Talking of a "central repository" fro group policy doesn't make
    sense, because group policy from the very beginning lives in AD and
    sysvol, which both are kind of "central repository". Seems they don't
    really know what they're talking about :)
    Martin
    Mal ein
    GUTES Buch über GPOs lesen?
    NO THEY ARE NOT EVIL, if you know what you are doing:
    Good or bad GPOs?
    And if IT bothers me - coke bottle design refreshment :))

  • OIM-OID! provisioning users to OID groups-QUICK HELP NEEDED

    hi,
    I've installed OIM connected to OID.
    I've been assign some tasks:
    1) Creating access policy such that when a user is created in OIM, he is provisioned to two groups in OID.... ie. in cn=users and cn=employees (where cn=employess is the group i create under cn=Groups,dc=ad,dc=company,dc=com)
    2)Creating an access policy such that when a user is created in OIM, he is provisioned to two additional groups in OID, say I've created two custom groups in OIM and attached membership rules to them. Now when i create a user satisfying the two membership rule,he is assigned to those two OIM groups and provisioned to cn=users,dc=ad,dc=company,dc=com and cn=group1,cn=Groups,dc=ad,dc=company,dc=com and cn=group2,dc=ad,dc=company,dc=com.
    Also i want to populate those OID groups into a child table and create their lookups in Process form
    Please help me materialise and understand these concepts.
    The OID Lookup Recon task for group is running fine, lookup.oid.group is populated with values.
    how those groups can be populated in process form child table(OID user group table).
    Edited by: Chhavi Saluja on Feb 12, 2010 12:51 AM

    As mentioned in my other post you can put these groups in access policy form and all the users assigned by this policy will get these groups. Any issue revert back.

  • Query using Group by - help needed

    I am having a query as follows:
    select id_nbr, stop_nbr, street || city || state, count(sub_stop_nbr)
    from details where created_date = ' 22-Jul-08';
    As group by clause is missing it is giving errors.
    But when I add group by to this query, I have to add all selected values.
    How can I add the concatenatd values here.
    Is there any other way rather than writing as :
    (select id_nbr, stop_nbr, street || city || state, count(sub_stop_nbr)
    from details where created_date = ' 22-Jul-08'
    group by id_nbr, stop_nbr, street || city || state)

    so where is the problem in writing:
    select id_nbr, stop_nbr, street || city || state, count(sub_stop_nbr)
    from details
    where created_date = ' 22-Jul-08'
    group by id_nbr, stop_nbr, street || city || state
    ????

  • Advanced Group Sorting Help Needed

    In a previous thread,I was able to great two levels of hierarchy:
    1) Group by Case Worker
       2) All clients that pertained to their caseload (assigned client)
    The initial problem was, it was pulling duplicate records because each client had multiple instances of treatment plans, but I was more concerned about the most recent begin date. within Section Expert > Details, I use the following formula
    {AZCLPLAN.BEG_DATE} <> maximum ({AZCLPLAN.BEG_DATE}, {CDCLIENT.CASE_NUM})
    This successfully pulled the most recent treatment plan for the client record, ignoring all previous records. However, the case worker wants to see their caseload sorted by which treatment plans are ending first (AZCPLAN.END_DATE). When I add a new group END_DATE, move it up the hierarchy for sorting, it breaks my duplicate record sort rule.
    In laymen terms, after the report strips the duplicates only showing the most recent records, I want to do a sort by dates thereafter. how is this possible?

    I tried adding Record Sort Expert. By default the two hierarchy groups are locked at the top tiers. The 3rd item is solely the record file: ..END_DATE set to ascending.
    Under the Caseworker Group (highest tier) , next group in line is CASE_NUM. therefore, once a group is in place, it trumps anything below it (currently sorted by chart/case number). I tried changing the Group Expert > CASE_NUM to "original order" , but no luck.

  • Authorization for Function Group

    Is it possible to assign an authorization group to a function group? I need some dialog programs to be restricted from some users, unfortunately, my main program is a function group. Normally, in the program attributes, there is an authorization group field. But with function groups this attribute is not there.
    Please help.

    Hi JT,
    I think it is not possible.
    You can put seperate authority checks in each function module.
    Or you can create a common subroutine at function group level and call this subroutine from all the functions.
    Message was edited by:
            Darshil Shah

  • Copying Function group includes

    Hi all,
    I am facing problem while copying function group. I am copying the function group in SE80 transaction . while copying i am able to copy the function modules in it only . but i need to copy includes in the function group. because i need to edit the code inside the includes. while copying  Function group standard includes are there in the Z function group.
    Can any one help me out how to copy the includes also.
    Thanks & regards
    sreehari.p

    Hi,
    Transaction SE38 and copy object SAPL<FUGR> with all sub objects
    <FUGR> = function group name
    Regards,
    Ivan

  • Error in creating function group

    Hi
    In my z function group, do i need to declare all the parameters used in function modules explicitly in any top include?.it was not declared as such in the standard function group from which i copied .

    Hello ,
    Sometimes when u copy any standard function group into ZFuntion group u will get some systax errors saynig some varaible is not defined .
    then
    goto SE37
    Enter the fucntion module  and get into function bulinder
    select EDIT Menu option and Interface Submenu option inthat u will find GLOBALIZE PARAMETERS and LOCALIZE PARAMETERS  Just do that operation u will be free of errors.
    regards

  • Transport request for function group

    Hi All,
            I have developed a function module in a function group say 'zdeep'.  I have moved the transport request for newly developed function module to production. But there Iam unable to run the function module. 
    Should we transport the function group also to production?
    If so, how can we get the transport request number for the function group?
    I have tried in se80. but there iam not able to track the request no for the function group.
    please help me
    regards
    Murali Krishna .T

    yes i think if u r doing any chnages in func group then it also has to be moved to Reflect chnages..also some proper order is to be maintained while moving TR
    http://wiki.sdn.sap.com/wiki/display/Snippets/Atoolrelatedtotrackingoftransport+request
    check this link
    Edited by: npathak on Aug 14, 2010 8:47 AM

  • Very urgent help needed in activating a function module

    Hello experts.
    I had a standard report and i copied into an z report. i need to change some field output , and that field is there in a standard function module.so i copied that fun module  into z fun module and stored in a new fun group. Now it is showing the error in the z fun module. include in the fun module is giving the error stating that it is not existing. please help me in coping the standard fun module correctly . please its very urgent.

    Hi,
    You should not copy a Function module alone, as it will have some dependant INLCUDES and global data in TOP include of the function group.
    SO if you want the function module copy the entire Function Group into Z function group.
    Regards,
    Sesh

  • Function group issue in upgrade plz help very urgent

    hi gurus,
    plz help me
    in a big trouble.
    deadline is today.
    when i activated the function group i found this error in an include
    LSVARCLS
    and when i clicked to this field it took me to another include
    LSVARTOP
    here i found
    data: f4_params type onf4_event_parameters_type.
    FYI:
    types: begin of onf4_event_parameters_type.
    types: c_fieldname     type lvc_fname.
    types: cs_row_no       type lvc_s_roid.
    types: cr_event_data   type ref to cl_alv_event_data.
    types: ct_bad_cells    type lvc_t_modi.
    types: c_display       type char01.
    types: end of onf4_event_parameters_type.
    data: f4_params type onf4_event_parameters_type.
    error is :
    Field "F4_PARAMS-C_FIELDNAME" is unknown. It is neither in one of the          
    specified tables nor defined by a "DATA" statement . . . . . . . . . .          
    thanks in  advance

    FUNCTION-POOL ZVAR MESSAGE-ID DB.
    TABLES:
            TADIR,                         " Entwicklungsklasse
            TRDIR,                         " Reportcatalog
            LDBD,                          " logical databases
            VARID,                         " variant properties
            RSVAVA,                        " Variable data in
                                           "  variants( sy-datum)
            RSVAR,                         " new RALDB structure
            RSVARDESC,                     " Report, Variante, Dynnr
            VARIT,                         " variants texts
            VARIS,                         " screennr per variant
            DD23T,                         "
            DFIES,                         "DD-Schnittstelle, get_field
            TPARAT,                        "Texte zu Memory-Ids
            TVARUVN, "#EC NEEDED
            SSCRFIELDS,
            t000.
    DATA  CHOOSE like sy-ucomm value 'PICK'.
    DATA  G_STATUS like sy-pfkey.
    *Includes für Icons
    INCLUDE .
    Include für Symbole
    INCLUDE .
    *Equates für SSCR
    INCLUDE RSDBCOM2.
    *Typen für dynamische Selektionen, verwendet bei RS_REFRESH_...DYNAMICAL
    TYPE-POOLS: RSDS, SYLDB, sydb0.
    data:  GS_TOOLBAR           TYPE STB_BUTTON.
    include lsvarcls.
    Key um unnoetige Datenbankzugriffe zu vermeiden
    DATA: BEGIN OF CHECK_KEY,
          REPORT  LIKE RSVAR-REPORT,
          VARIANT LIKE RSVAR-VARIANT.
    DATA: END OF CHECK_KEY.
    key für get_description
    *DATA: old_key LIKE check_key.
    CATALOG OF VARIANTS, OLD STRUCTURE. WILL BE DELETED BY FIRST
    CALL OF VARIANTS OUT OF FUNCTIONPOOL SVAR.
    INFORMATION WILL BE TRANSFERED TO VARID AND VARIT.
    DATA: VARCAT LIKE RSVARC OCCURS 20 WITH HEADER LINE.
    TEXT (=> VARIT)
    DATA: VARCATT LIKE RVART OCCURS 20 WITH HEADER LINE.
    SAVE INFORMATION ABOUT VARIANTS
    DATA: BEGIN OF SAVEINFO OCCURS 20,
             NAME      LIKE RVARI-NAME,
             NUMB      LIKE RVARI-NUMB,
             PROTECTED LIKE RVARI-PROTECTED,
             FIELDTEXT LIKE RSVAR-FIELDTEXT,
             KIND      LIKE RVARI-KIND,
             TYPE      LIKE RVARI-TYPE,
             VTYPE     LIKE RVARI-VTYPE,
             VNAME     LIKE RVARI-VNAME,
           appendage I= Matchcode, C=Checkbox etc
             APPENDAGE LIKE RSVAR-INVISIBLE,
             VARIS(1),                     " TVARV, FUBAU
           N= Ausgeblendet von Report,X ausgeblendet in Variante
             INVISIBLE,
             USER,
             MEMORYID LIKE RSSCR-SPAGPA,
           nur auf einem Bild vorhanden
             GLOBAL,
             NO_IMPORT,
             SPAGPA,
             NOINTERVALS,
             OBLIGATORY LIKE RSVAR-OBLIGATORY,
             RADIO,
         END OF SAVEINFO.
    DATA: BEGIN OF SAVEINFO_DYN OCCURS 10,
            TABLENAME LIKE RSDSTABS-PRIM_TAB,
            FIELDNAME LIKE RSDSTABS-PRIM_FNAME,
            FIELDTEXT LIKE RSVAR-FIELDTEXT,
            TYPE      LIKE RVARI-TYPE,
            VTYPE     LIKE RVARI-VTYPE,
            VNAME     LIKE RVARI-VNAME,
            VARIS(1),
            PROTECTED LIKE RVARI-PROTECTED,
            GLOBAL(1).
    DATA: END   OF SAVEINFO_DYN.
    data: saveinfo_sav like saveinfo occurs 0 with header line.
    data: saveinfo_dyn_sav like saveinfo_dyn occurs 0 with header line.
    key for import of variants from VARI
    DATA: BEGIN OF $RKEY,
            REPORT  LIKE RSVAR-REPORT,
            VARIANT LIKE RSVAR-VARIANT,
          END OF   $RKEY.
    vari
    DATA: L_VARI LIKE RVARI OCCURS 20 WITH HEADER LINE.
    %_SSCR
    DATA SELCTAB LIKE RSSCR OCCURS 20 WITH HEADER LINE.
    DATA GLOB_SUBMODE(2).
    DATA LOC_SUBMODE(2).
    screenfields
    DATA: XCODE(4).
    DATA: FCODE(4)      TYPE C,
          FUNC(4)       TYPE C.
    DATA: BEGIN OF INFO OCCURS 20,
            FLAG,
            OLENGTH TYPE X,
            LINE  LIKE RSVAR-INFOLINE,
          END OF INFO.
    DATA: VALUTAB LIKE RSPARAMSL OCCURS 40 WITH HEADER LINE.
    Zur allgemeinen Verwendung
    FIELD-SYMBOLS: .
    DATA ILLEGAL_CHAR.                     " Wrong sign in variant
    copy
    DATA: VARIANT2 LIKE RSVAR-VARIANT,
          VARIANT1 LIKE RSVAR-VARIANT.
    *list of parameters and select-options, screenobjects
    DATA: L_SELOP LIKE VANZ OCCURS 20 WITH HEADER LINE.
    DATA: L_SELOP_NONV LIKE VANZ OCCURS 20 WITH HEADER LINE."nonv = non visi
    DATA: L_PARAMS LIKE VANZ OCCURS 20 WITH HEADER LINE.
    DATA: L_PARAMS_NONV LIKE VANZ OCCURS 20 WITH HEADER LINE.
    DATA: SCREENOBJECTS LIKE VANZ OCCURS 20 WITH HEADER LINE.
    list of all variants concerning one report
    DATA: BEGIN OF VARI_LIST OCCURS 40,
                MARKFIELD LIKE RSVAR-MARKFIELD,
                VARIANT   LIKE RSVAR-VARIANT,
                TEXT      LIKE RVART-VTEXT,
                ENAME     LIKE RSVARC-ENAME,
                AENAME    LIKE RSVARC-AENAME,
                PROTECTED LIKE RSVARC-PROTECTED,
                ENVIRONMT LIKE RSVARC-ENVIRONMT,
                XFLAG1    LIKE VARID-XFLAG1.
    DATA: END OF VARI_LIST.
    *Variablen für das Blättern auf den Dynpros 1303 und 306.
    DATA: VARI_LIST_SCROLL LIKE SY-STEPL VALUE '1'.
    DATA: SAVE_OKCODE(4).
    table for  Dynpro 306 (delete variants)
    DATA: BEGIN OF H_VARILIST OCCURS 30,
                MARKFIELD LIKE RSVAR-MARKFIELD,
                FLAG1     LIKE RSVAR-FLAG1,
                FLAG2     LIKE RSVAR-FLAG2,
                FLAG3     LIKE RSVAR-FLAG3,
                VARIANT LIKE RSVAR-VARIANT.
    DATA: END OF H_VARILIST.
    CONSTANTS: C_PDLIST_WIDTH TYPE I VALUE '24',
               C_VARILIST     TYPE I VALUE '10'.
    DATA: CATTOP LIKE SY-TABIX VALUE '3'.  "lines top-of-page in CATALOG.
    *data: listtop like sy-tabix value '3'.  "lines top-of-page in Delete
    "vari
    DATA: PRINT_ALL_VAR.                   "alle Varianten drucken
    DATA: PRINT_CAT_VAR.                   "Katalog drucken
    Systemumgebung
    DATA ENVIRONMENT.                      " S: SAP, C: Customer
    Dynpro 320
    DATA : TEXT0(59).
    *Tables and fields for fitting variants
    *table of variants which must be fitted
    DATA: BEGIN OF FIT_VAR OCCURS 50,
           VARIANT LIKE RSVAR-VARIANT,
           FLAG(1).                        " flag = 'X' => Variante can't be
    DATA: END OF FIT_VAR.                  "fitted.
    DATA: BEGIN OF SINGLE_OPTIONS OCCURS 8,
           OPTION(2),
            TEXT(18).
    DATA: END OF SINGLE_OPTIONS.
    variants which contain variables
    internal table, per line  select-options and parameters which
    use variables
    DATA: BEGIN OF VARIVAR OCCURS 20,
            SELNAME     LIKE RSSCR-NAME,
            SELTEXT     LIKE RSVAR-FIELDTEXT,
            KIND        LIKE RVARI-KIND,
            TYPE        LIKE RVARI-TYPE,
            VTYPE       LIKE RSVAR-VTYPE,
            VTEXT       LIKE RSVAVA-VTEXT,
            FB,
            TVARV,
            VNAME       LIKE RSVAR-VNAME,
            OPTION      LIKE RSVAR-OPTION,
            SIGN(1),
            INFO_TABIX  LIKE SY-TABIX,
            DATES_TABIX LIKE SY-TABIX,
            USER,
            MEMORYID LIKE TPARA-PARAMID,
         END   OF VARIVAR.
    DATA: BEGIN OF VARIVAR_DYN OCCURS 20,
            TABLENAME  LIKE RSDSTABS-PRIM_TAB,
            FIELDNAME   LIKE RSDSTABS-PRIM_FNAME,
            KIND        LIKE RVARI-KIND,
            TYPE        LIKE RVARI-TYPE,
            VTYPE       LIKE RSVAR-VTYPE,
            VTEXT       LIKE RSVAVA-VTEXT,
            FB,
            TVARV,
            VNAME       LIKE RSVAR-VNAME,
            OPTION      LIKE RSVAR-OPTION,
            SIGN(1),
            INFO_TABIX  LIKE SY-TABIX,
            DATES_TABIX LIKE SY-TABIX,
         END   OF VARIVAR_DYN.
    DATA: VARIDATE_S LIKE RSVARIVAR OCCURS 20 WITH HEADER LINE.
    Tabelle der möglichen Datumsberechnungen für Variablen in Varianten
    Parameter
    DATA: VARIDATE_P LIKE RSVARIVAR OCCURS 20 WITH HEADER LINE.
    table of possible TVARV-variables (parameters)
    DATA: TVARV_P LIKE TVARV OCCURS 20 WITH HEADER LINE.
    table of possible TVARV-variables (select-options)
    DATA: TVARV_S LIKE TVARV OCCURS 20 WITH HEADER LINE.
    description of fields  VARIDATES
    DATA: FIDESC_DATES LIKE RSVBFIDESC OCCURS 5 WITH HEADER LINE.
    description of fields TVARV
    DATA: FIDESC_TVARV LIKE RSVBFIDESC OCCURS 5 WITH HEADER LINE.
    description of fields OPTION
    DATA: FIDESC_OPTION LIKE RSVBFIDESC OCCURS 5 WITH HEADER LINE.
    description of fields OPTION
    Feldtabelle für DYNP_VALUES_READ/UPDATE
    DATA DYNPFIELDS LIKE DYNPREAD OCCURS 50 WITH HEADER LINE.
    *desctab
    DATA: DESCTAB LIKE RSBREPI OCCURS 20 WITH HEADER LINE.
    *Hilfsfelder für Übergabeparameter
    DATA:G_SUBRC LIKE SY-SUBRC,
         L_RC LIKE SY-SUBRC.
    *Hilfsfelder für Sperren
    DATA: G_ENQSUB LIKE SY-SUBRC.
    *Hilfsfeld für mandantenabhängiges Löschen von Varianten
    DATA: DEL_ALL_VAR. "=X alle Mandanten, =' ' nur aktueller Mandant
    select variant form list.
    DATA: BEGIN OF VARIANT_TABLE OCCURS 30,
          VARIANT LIKE RSVAR-VARIANT,
          TEXT LIKE VARIT-VTEXT,
          ENVIR LIKE VARID-ENVIRONMNT,
          ENAME LIKE VARID-ENAME,
          AENAME LIKE VARID-AENAME,
          aedat like varid-aedat,
          MLANGU LIKE VARID-MLANGU,
          protected like varid-protected,
          SELSCREEN(80).                  "<= 20 Bilder
    DATA: END OF VARIANT_TABLE.
    DATA: CALL_FLAG.                             "screen 305.
    DATA: MODE_FLAG.
    Print variants  screen 308
    DATA: PRINT_LIST LIKE RSREPVAR OCCURS 30 WITH HEADER LINE.
    parameters in variables
    DATA: BEGIN OF VARIVDAT  OCCURS 5,
                SELNAME LIKE RVARI-NAME.
                INCLUDE STRUCTURE RSINTRANGE.
    DATA: END OF VARIVDAT.
    DATA: VARIVDAT_WORK LIKE VARIVDAT OCCURS 10 WITH HEADER LINE.
    DATA:EXC_SUBC LIKE SY-SUBRC.
    DATA: BEGIN OF LDB_VARIVAR OCCURS 10,
                   MARKFIELD LIKE RSVAR-MARKFIELD,
                   VTEXT     LIKE RSVARIVAR-TEXT,
                   VTYPE     LIKE RSVAR-VTYPE.
    DATA: END OF LDB_VARIVAR.
    *generate subroutinepool
    DATA: BEGIN OF REPDAT_TAB OCCURS 40,
             LINE(72),
          END OF REPDAT_TAB.
    *Tabelle zur Übergabe der alten Selektionswerte wenn sich
    *Parameter oder Select-Options geändert haben.
    *Wird von rs_variant_obsolet benötigt.
    DATA: OLD_SELECTIONS LIKE RSPARAMSL OCCURS 20 WITH HEADER LINE.
    *Flag für Aufruf aus QUERY und Report-Writer.
    *Reportname auf Einstiegsbild nicht sichtbar (not_visible = x)
    DATA: NOT_VISIBLE.
    *Varianten für Query
    DATA: QUERY_SYSVAR.
    *Einstiegsbild mit anderem Titel aufrufen.
    DATA: N_TITLE(40).
    *F4 Hilfe RS_VARIANT_CATALOG mit anderem Titel aufrufen
    DATA: G_TITLE like sy-title.
    *Unterscheidung auf Listdynpro (hauptsächlich 307)
    DATA: CALLER(4).
    *sy-subrc Felder für Import und Export.
    DATA: EXP_SUBRC LIKE SY-SUBRC,
          IMP_SUBRC LIKE SY-SUBRC.
    *Tabellen für dynamische Selektionen
    DATA: DYNSEL_DESC LIKE RSDYNBREPI OCCURS 5 WITH HEADER LINE.
    DATA: DYNS_FIELDS LIKE RSDSFIELDS OCCURS 5 WITH HEADER LINE.
    DATA: DYNSEL_VALUE LIKE RSSELDYN OCCURS 5 WITH HEADER LINE.
    *tabellen für matchcodeselection
    DATA: BEGIN OF MC_DESC OCCURS 5,
                 NAME    LIKE RSSCR-NAME,
                 ID      LIKE MCPARAMS-MCID,
                 OBJECT(10),
                 S_STRING LIKE MCPARAMS-STRING,
                 D_TEXT   LIKE DD23T-MCTEXT,
                 FROM     LIKE VANZ-FROM,
                 TO       LIKE VANZ-TO.
    DATA: END   OF MC_DESC.
    *Tabelle für Umsetzung dynamische Selektionen
    *flag = space -> umgesetzt
    *flag = G     -> Variante z.Z gesperrt
    *flag = I     -> Fehler beim Import
    DATA: BEGIN OF CHANGED_VARIANTS OCCURS 10,
                   NAME LIKE RSVAR-VARIANT,
                   FLAG.
    DATA: END OF CHANGED_VARIANTS.
    *Feld für Ikonen auf Dynpros.
    DATA: IKON(8).
    *Konstanten für Ikonen
    CONSTANTS: POP_WARNING(8) VALUE '@1A@',
               POP_ERROR(8) VALUE '@1B@',
               POP_INFO(8) VALUE '@19@',
               POP_COPY(8) VALUE '@14@',
              c_icon_enter_more(15) value 'ICON_ENTER_MORE',
               C_ICON_DISPLAY_MORE(17) VALUE 'ICON_DISPLAY_MORE'.
    DATA: MORE_ICON LIKE RSSELINT-OPTI_PUSH.
    *Konstanten für Variante ändern, Werte oder Attribute
    CONSTANTS: C_VAL  VALUE 'V'.
    Interne Tabelle für Transport
    DATA: BEGIN OF REP_VAR OCCURS 10,
            MARKFIELD.
            INCLUDE STRUCTURE $RKEY.
    DATA: END   OF REP_VAR.
    DATA: REP_VAR_CURSOR LIKE SY-INDEX VALUE 0.
    Tabelle für RS_SELOPT_INFO -> BBS
    DATA: DEFAULTS LIKE RSPARAMSL OCCURS 10 WITH HEADER LINE.
    Tabelle für Werteanzeige Tvarv.
    DATA: TVARVTAB LIKE TVARV OCCURS 10 WITH HEADER LINE.
    SUBTY-Equates
    INCLUDE RSDBCSTY.
    Textfeld für Dynpro 317.
    DATA: TEXT(4).
    Konstante für Namenskonvention Systemvariante
    CONSTANTS: SYS_VNAME(4) VALUE 'SAP&'.
    CONSTANTS: CUS_VNAME(4) VALUE 'CUS&'.
    Flag für Systemvariante gewünscht.
    DATA: C_SYSVAR.
    data vari_mandt like sy-mandt.
    data sysvar_mandt like sy-mandt value '000'.
    Check für Systemvariante
    DATA: SYSVAR_FLAG.
    Flag für Entwicklungsklasse , Werte Y oder N (aus get_devcalss)
    DATA: NON_LOCAL VALUE 'Y'.
    DATA: TABIX LIKE SY-TABIX.
    *Strutur für freie Abgrenzungen.
    DATA: VARIDYN LIKE RSVARIDYN OCCURS 10 WITH HEADER LINE.
    DATA: VDATDYN LIKE RSVDATDYN OCCURS 10 WITH HEADER LINE.
    DATA: VARIVDAT_DYN LIKE RSVDATDYN OCCURS 10 WITH HEADER LINE.
    DATA: BEGIN OF VARIVDAT_DYN_WORK OCCURS 10,
             TABLENAME LIKE RSVARIDYN-TABLENAME,
             FIELDNAME LIKE RSVARIDYN-FIELDNAME.
             INCLUDE STRUCTURE RSINTRANGE.
    DATA: END OF VARIVDAT_DYN_WORK.
    CONSTANTS: NO_IMPORT VALUE SPACE.
    Teilt IM/EXPORT_VARIANT_STATIC mit, welche übergebeneb Objekte
    im/exportiert werden sollen.
      DATA: BEGIN OF IMEX,
              VARI,
              DYNS,
            END   OF IMEX.
    Tabelle für Selektionsbildnummern
    DATA: DYNNR LIKE RSDYNNR OCCURS 10 WITH HEADER LINE.
    DATA: BEGIN OF CHOOSE_DYNNR OCCURS 10,
            MARKFIELD.
            INCLUDE STRUCTURE RSDYNNR.
    DATA: END OF CHOOSE_DYNNR.
    Sichern vom Selektionsbild, RSVAR_VARIANTT zurücksetzen
    DATA: FLAG_FIRST.     "#EC NEEDED
    DATA: FLAG_PROTECTED. "#EC NEEDED
    Daten für CALL SELECTION SCREEN Varianten
    DATA: HIDE_FLAG.
    DATA: LINE_NUMBER LIKE SY-TABIX.
    DATA: VARISCREENS LIKE RSDYNNR OCCURS 10 WITH HEADER LINE.
    data: variscreens_sav like rsdynnr occurs 10 with header line.
    DATA: FLAG_1000.
    DATA: DYNNR_TFILL LIKE SY-TFILL.
    DATA: VARISCREENS_TFILL LIKE SY-TFILL.
    DATA: DMORE_ICON(40).
    DATA: BEGIN OF  GLOBAL_OBJECTS OCCURS 10,
              NAME LIKE RSSCR-NAME,
          END   OF  GLOBAL_OBJECTS.
    DATA: BEGIN OF DYN_TAB OCCURS 10,
                DBFIELD LIKE RSSCR-DBFIELD,
          END   OF DYN_TAB.
    CONSTANTS: C_P_COLUMN TYPE I VALUE 38,
               C_I_COLUMN TYPE I VALUE 41,
               C_N_COLUMN TYPE I VALUE 44,
               C_S_COLUMN TYPE I VALUE 47,
               C_W_COLUMN TYPE I VALUE 50,
               C_M_COLUMN TYPE I VALUE 53,
               C_O_COLUMN TYPE I VALUE 56,
               MAX_WIDTH_ATTR TYPE I VALUE 77.
    CONSTANTS: MAX_WIDTH_SELVAR TYPE I VALUE 57.
    DATA: FLAG_NOIMPORT.
    DATA: CURR_STATUS(4).
    DATA: SCREEN_TITLES LIKE RSSCRITLE OCCURS 10 WITH HEADER LINE.
    RANGES V_RANGE FOR VARID-VARIANT OCCURS 10.
    DATA: FLAG_ALL_SCREENS.
    CONSTANTS: C_LOW TYPE I VALUE 34,
               C_HIGH TYPE I VALUE 58,
               C_TO   TYPE I VALUE 54,
               C_OUTPUT_LENGTH TYPE I VALUE 26,
               C_DISPLAY_LENGTH TYPE I VALUE 87,
               C_DISPLAY_LENGTH_ATTR TYPE I VALUE 104,
               C_DISPLAY_LENGTH_CAT  TYPE I VALUE 118,
               C_NO VALUE '0',
               C_DYNNR LIKE SCREEN-NAME VALUE 'RSVAR-DYNNR',
               C_ICON_MORE LIKE SCREEN-NAME VALUE 'DMORE_ICON',
               C_SCREEN_1000 LIKE SY-DYNNR VALUE '1000'.
    DATA: BELONGING_DYNNR LIKE RSDYNNR OCCURS 10 WITH HEADER LINE.
    DATA: PREFIX(20).
    DATA: D_320_TEXT(35).
    DATA: OLD_VARI LIKE RSVAR-VARIANT.
    DATA: L_SUBMODE LIKE GLOB_SUBMODE.
    DATA: ICON_1(40), ICON_2(40), ICON_3(40).
    DATA: FLAG_ICON_1, FLAG_ICON_2, FLAG_ICON_3.
    DATA: FLAG_CALLED_FROM_SELSCREEN.
    DATA: VARIVAR_TEXT LIKE RSVAVA-VTEXT.
    DATA: VARIVAR_KIND LIKE RSSCR-KIND.
    DATA: LIST_LINE LIKE SY-LILLI.
    DATA: MOD_LINE LIKE SY-LILLI.
    DATA: G_SP TYPE SYLDB_SP.
    DATA: G_RANGE TYPE RSDS_RANGE,
          G_FRANGE TYPE RSDS_FRANGE,
          G_RSDSSELOPT LIKE RSDSSELOPT.
    DATA: G_ILL_CHAR.
    DATA: FLAG_CHANGE_VARIANT.
    DATA: EXIT_FLAG.
    DATA: COMP_NODI_NAME LIKE RSSCR-NAME.
    DATA: EXCLUDE LIKE RSEXFCODE OCCURS 0 WITH HEADER LINE.
    hidefelder für Attributebild.
    DATA: HIDE(10).
    Feldbeschreibung aufgeklappt oder zugeklappt
    DATA: STATE(4).
    DATA: NO_DISPLAY_VISIBLE TYPE BOOLEAN VALUE 'F'.
    DATA: READ_LINE LIKE SY-INDEX.
    CONSTANTS: C_COLLAPSE(4) VALUE 'COLL',
               C_EXPAND(4)   VALUE 'EXPA',
               C_TRUE VALUE 'T',
               C_FALSE VALUE 'F'.
    CONSTANTS: CAT_LINE_SIZE TYPE I VALUE '127'.
    DATA: G_EXPOREP TYPE SY-REPID.
    DATA: SUBSCREENPROG LIKE SY-REPID,
          SUBSCREENDYNNR LIKE SY-DYNNR.
    data: g_subc like trdir-subc.
    data: status_for_subscreens.
    Data for subscreen processing
    data: begin of g_subscreen,
            ucomm type syucomm,
            submode(2),
            total type i,
            current type i,
            exclude type rsexfcode occurs 0,
            rkey type rsvarkey,
            variscreens type rsdynnr occurs 0,
            sscr type rsscr occurs 0,
         end   of g_subscreen.
    INCLUDE SVARSELO.
    Daten für ALV-GRID
    data:
    GT_TOOLBAR_EXCLUDING TYPE UI_FUNCTIONS,
    GRID1                TYPE REF TO CL_GUI_ALV_GRID,
    GRID2                TYPE REF TO CL_GUI_ALV_GRID,
    alv_fieldcat         TYPE LVC_T_FCAT WITH HEADER LINE,
    EVENT_RECEIVER1      TYPE REF TO CL_EVENT_RECEIVEr1,
    selected             value 'X',
    alv_layout           TYPE LVC_S_LAYO,
    alv_STABLE type LVC_S_STBL,
    ROW_TABLE            TYPE LVC_T_ROW        WITH HEADER LINE,
    alv_container_1      type REF TO CL_GUI_CUSTOM_CONTAINER,
    alv_container_2      type REF TO CL_GUI_CUSTOM_CONTAINER.
    constants: c_search value 'S'.

Maybe you are looking for