FM SXPG_COMMAND_EXECUTE and parameters

Dear all !
I tried to execute the FM SXPG_COMMAND_EXECUTE (SM49, SM69) in order to execute SAPCAR on a couple of file on the server with the parameter
<i>-cvf /usr/sap/SBD/interfaces//SP2/CH/BACKUP/comp.car .</i>.
Unfortunately the FM changes the parameter string to UPPERCASE:
-CVF /USR/SAP/SBD/INTERFACES//SP2/CH/BACKUP/COMP.CAR .
Result is that SAPCAR finishes with :
<i>46  SAPCAR: unknown command option CVF (error 20). 
45  External program terminated with exit code 20 </i> 
Any ideas of how I can pass the parameter to SAPCAR without having it changed to UPPERCASE ?
Thanks in advance,
Philipp

Hi
If you are trying to excute the function module using SE37 there will be a check box on top saying uppper/Lower case.
Check the box it will work fine.
When using the function module inside the program no need to specify upper/lower case.
Nataraju

Similar Messages

  • Custom Data Processing Extension and Parameters

    Hello,
    I have successfully implemented a custom data processing extension. Now I'm trying to add parameters, but the documentation is very weak on this topic. Also all examples of custam data processing extensions I have found so far are working without parameter support. Using a search engine I have found a custom data processing extension's sequence diagram during report execution. The related article also gives some hints about the IDbCommandAnalysis interface.
    The GetParameters implementation creates a parameter collection based on the current command text and returns this collection. So far no problem.
    My question is how to implement the IDbCommand's CreateParameter method and Parameters property? In CreateParameter I just return a new instance of my IDataParameter implementation, and the Parameters property returns a new parameter collection based on the current command text.
    Is this ok so? At least this is the first implementation which seems to work in the data designer. If I share an instance variable for GetParameters and Parameters I will either get all parameters twice or BIDS will crash when pressing the execute button in the dataset designer - depending on my actual implementation.
    What I'm still missing is how to get the parameters added automaticall to the dataset's properties parameter register?
    thanx in advance and kind regards, Gerald

    I think that finally (after some days of trying) I could make it work. The dataset and report parameters are reflecting the command text's parameters now (BTW: to answer my last question - the dataset's properties are updated after pressing the refresh button only). The road to success was not to use the same member variable for the collections returned by IDbCommandAnalysis:GetParameters() and IDbCommand:Parameter and not to fill the latter one with the command text's parameters (see partial source code below).
    public sealed class MyCommand : IDbCommand, IDbCommandAnalysis  
        private string m_commandText;  
        private MyParameterCollection m_parameters = new MyParameterCollection();  
        public string CommandText  
            get { return this.m_commandText; }  
            set { SetCommandText(value); }  
        public IDataParameterCollection Parameters  
            get { return m_parameters; }  
        public IDataParameter CreateParameter()  
            return new MyParameter();  
        public IDataParameterCollection GetParameters()  
            return GetParameterCollection();  
        private void SetCommandText(string commandText)  
            m_commandText = commandText;  
        private MyParameterCollection GetParameterCollection()  
            // ... create parameter collection based on m_commandText  
    Still there are some open questions:
    How can I update the report parameter's properties? Now the parameter's data type is always string, but I'd like to assign the right data type. I'd also like to tag the parameters as hidden and supply a non-queried default value. Is this possible? How?
    Although I my implementation of IDbCommandAnalysis:GetParameters() returns a collection containing the parameter names and values the "prompt query parameters" dialog (after pressing the query designer's execute button in the toolbar) shows a "<blank>" value for the parameters. What could be the problem?
    Thanx in advance and regards,
    Gerald

  • How do I create a folder or report from a query with a union and parameters

    I have created folders with unions but I am having difficulty coverting a query with a union and parameters.
    The following works great in SQL*Developer without parameters, but I want to change to use parameters for the year and quarter and use it in Discoverer:
    SELECT TO_CHAR(NVL(AV.TAX_ID,999999999),'000000000') FEID,
      AV.FIRM_NAME VENDOR_NAME,
      AV.BIDCLASS CONTRACT_CODES,
      AV.AWAMT AWARD_AMOUNT,
      AV.SOL_MODE FORMAL_INFORMAL,
      AV.CERT BUSINESS_ENTITY,
      AV.ETHNICITY ETHNICTY,
      AV.PO_NUMBER_FORMAT CONTRACT,
      SUM(VP.INVOICE_AMOUNT) AMOUNT_PAID_$
    FROM CONFIRM.VSTATE_PAID_AWARD_VENDORS AV,
      CONFIRM.VSTATE_VENDOR_PAYMENTS VP
    WHERE ( ( AV.PO_NUMBER = VP.PO_NUMBER
    AND AV.VENDOR_ID       = VP.VENDOR_ID ) )
    AND (TO_CHAR(VP.PAYMENT_DATE,'Q') = '4')
    AND ( TO_CHAR(VP.PAYMENT_DATE,'YYYY') = '2009' )
    GROUP BY TO_CHAR(NVL(AV.TAX_ID,999999999),'000000000'),
      AV.FIRM_NAME,
      AV.BIDCLASS,
      AV.AWAMT,
      AV.SOL_MODE,
      AV.CERT,
      AV.ETHNICITY,
      AV.PO_NUMBER_FORMAT
      union
    SELECT TO_CHAR(NVL(AV2.TAX_ID,999999999),'000000000') FEID,
      AV2.FIRM_NAME VENDOR_NAME,
      AV2.BIDCLASS CONTRACT_CODES,
      AV2.AWAMT AWARD_AMOUNT,
      AV2.SOL_MODE FORMAL_INFORMAL,
      AV2.CERT BUSINESS_ENTITY,
      AV2.ETHNICITY ETHNICTY,
      AV2.PO_NUMBER_FORMAT CONTRACT,
      0 AMOUNT_PAID_$
    FROM CONFIRM.VSTATE_PAID_AWARD_VENDORS AV2
    WHERE
    not exists (SELECT 'X'
                  FROM CONFIRM.VSTATE_VENDOR_PAYMENTS VP2
                 WHERE av2.po_number = vp2.po_number
                       AND (TO_CHAR(VP2.PAYMENT_DATE,'Q') = '4')
                       AND ( TO_CHAR(VP2.PAYMENT_DATE,'YYYY') = '2009' ))
    AND (TO_CHAR(AV2.AWDATE,'Q') = '4')
    AND (to_CHAR(AV2.AWDATE,'YYYY') = '2009')
    GROUP BY TO_CHAR(NVL(AV2.TAX_ID,999999999),'000000000'),
      AV2.FIRM_NAME,
      AV2.BIDCLASS,
      AV2.AWAMT,
      AV2.SOL_MODE,
      AV2.CERT,
      AV2.ETHNICITY,
      AV2.PO_NUMBER_FORMAT Can someone provide a solution?
    Thank you,
    Robert

    Hi,
    You can take the parameters to the select so that you will be able to create conditions over them.
    Try to use this SQL instead of your and in the discoverer workbook create the conditions and parameters:
    SELECT TO_CHAR(NVL(AV.TAX_ID,999999999),'000000000') FEID,
    AV.FIRM_NAME VENDOR_NAME,
    AV.BIDCLASS CONTRACT_CODES,
    AV.AWAMT AWARD_AMOUNT,
    AV.SOL_MODE FORMAL_INFORMAL,
    AV.CERT BUSINESS_ENTITY,
    AV.ETHNICITY ETHNICTY,
    AV.PO_NUMBER_FORMAT CONTRACT,
    TO_CHAR(VP.PAYMENT_DATE,'YYYY') P_YEAR,
    TO_CHAR(VP.PAYMENT_DATE,'Q') P_QTR
    SUM(VP.INVOICE_AMOUNT) AMOUNT_PAID_$
    FROM CONFIRM.VSTATE_PAID_AWARD_VENDORS AV,
    CONFIRM.VSTATE_VENDOR_PAYMENTS VP
    WHERE ( ( AV.PO_NUMBER = VP.PO_NUMBER
    AND AV.VENDOR_ID = VP.VENDOR_ID ) )
    --AND (TO_CHAR(VP.PAYMENT_DATE,'Q') = '4')*
    --AND ( TO_CHAR(VP.PAYMENT_DATE,'YYYY') = '2009' )*
    GROUP BY TO_CHAR(NVL(AV.TAX_ID,999999999),'000000000'),
    AV.FIRM_NAME,
    AV.BIDCLASS,
    AV.AWAMT,
    AV.SOL_MODE,
    AV.CERT,
    AV.ETHNICITY,
    AV.PO_NUMBER_FORMAT ,
    TO_CHAR(VP.PAYMENT_DATE,'YYYY') P_YEAR,
    TO_CHAR(VP.PAYMENT_DATE,'Q') P_QTR
    union
    SELECT TO_CHAR(NVL(AV2.TAX_ID,999999999),'000000000') FEID,
    AV2.FIRM_NAME VENDOR_NAME,
    AV2.BIDCLASS CONTRACT_CODES,
    AV2.AWAMT AWARD_AMOUNT,
    AV2.SOL_MODE FORMAL_INFORMAL,
    AV2.CERT BUSINESS_ENTITY,
    AV2.ETHNICITY ETHNICTY,
    AV2.PO_NUMBER_FORMAT CONTRACT,
    TO_CHAR(VP.PAYMENT_DATE,'YYYY') P_YEAR,
    TO_CHAR(VP.PAYMENT_DATE,'Q') P_QTR
    0 AMOUNT_PAID_$
    FROM CONFIRM.VSTATE_PAID_AWARD_VENDORS AV2
    WHERE
    not exists (SELECT 'X'
    FROM CONFIRM.VSTATE_VENDOR_PAYMENTS VP2
    WHERE av2.po_number = vp2.po_number
    AND (TO_CHAR(VP2.PAYMENT_DATE,'Q') = TO_CHAR(VP.PAYMENT_DATE,'Q') )
    AND ( TO_CHAR(VP2.PAYMENT_DATE,'YYYY') = TO_CHAR(VP.PAYMENT_DATE,'YYYY') ))
    --AND (TO_CHAR(AV2.AWDATE,'Q') = '4')*
    --AND (to_CHAR(AV2.AWDATE,'YYYY') = '2009')*
    GROUP BY TO_CHAR(NVL(AV2.TAX_ID,999999999),'000000000'),
    AV2.FIRM_NAME,
    AV2.BIDCLASS,
    AV2.AWAMT,
    AV2.SOL_MODE,
    AV2.CERT,
    AV2.ETHNICITY,
    AV2.PO_NUMBER_FORMAT,
    TO_CHAR(VP.PAYMENT_DATE,'YYYY') P_YEAR,
    TO_CHAR(VP.PAYMENT_DATE,'Q') P_QTR
    Tamir

  • Difference between SXPG_COMMAND_EXECUTE and Open data set mechanism

    Can you please help me to know the difference between moving a file using FM "SXPG_COMMAND_EXECUTE" and moving file using "open data set - transfer file- close data set" mechanism?

    Through 'SXPG_COMMAND_EXECUTE' u can execute a External command  (ie.. UNIX /Windows/OS/400) In ABAP programming..
    for Conversion Of Aplication server File/Move the file from one directory to Other...
    The Command must be present in SM69.
    Using this function module'SXPG_COMMAND_EXECUTE' , you can check the authorization of a user to execute a particular external command and run the command:
    With the arguments specified in ADDITIONAL_PARAMETERS
    On the target host system defined by OPERATINGSYSTEM and TARGETSYSTEM
    If an SAP profile parameter is inserted in the portion of the command stored in the database, then the value of this parameter is substituted into the command. If an SAP application server is active on the target system (TARGETSYSTEM), then the profile parameter values are read from the profile that is active on that system. No parameter substitution is made in ADDITIONAL_PARAMETERS.
    After substitution, the command is checked for the presence of "dangerous" characters such as the semicolon ( ; ) on UNIX systems.
    If an additional "security function module" is specified in the command definition, this function module is also called in the course of processingebenfalls. This function module can prevent execution of the command.
    If the authorization checks complete successfully, the command is run on the target host system.
    Through Open Data Set u can read and write the file in the same directory...
    Thnaks,
    SD
    Moderator message: copy/paste without credit, points removed, please do not repeat!
    http://www.google.de/search?hl=de&q=%22youcanchecktheauthorizationofauserto+execute%22&meta=&aq=f&aqi=&aql=&oq=&gs_rfai=
    http://www.google.de/search?hl=de&q=%22Aftersubstitution%2Cthecommandischeckedforthepresence%22&meta=&aq=f&aqi=&aql=&oq=&gs_rfai=
    Edited by: Thomas Zloch on Aug 17, 2010 12:47 PM

  • How to restrict  changes in Tabs: Defaults and Parameters in tcode:  SU3

    Good Morning Everybody.
    Do you know how to restrict End Users can change data stored in Tabs Defaults and Parameters of tcode: SU3.
    I was checking Authorization Objects related this transaction but I did not find a way to fix this issue.
    Thanks for your comments.
    Mauricio Cardozo.
    BASIS Consultant.

    I've been looking into this same question.  I don't think there's any way to protect individual user parameters, which is what we really wanted to do, but it is possible to protect the Parameters tab as a whole while still granting access to the Address and Defaults tabs (if desired).  SU3, which is usually given to all users, gives change access to all three tabs in the User Data, but to make it more fine-grained, as the last person said, take away SU3 and instead grant whatever combination of SU0, SU1, or SU2 makes sense for your organization.  SU0 gives access to the Defaults tab, SU1 to the Address tab, and SU2 to the Parameters tab.
    So, in your case, you would grant SU1 only, so users can change their name or phone number, etc, but not Defaults or Parameters.  They won't even be able to see defaults or parameters if you do this, though.
    I hope this helps.
    --Matt

  • How can i get Radio buttons  and parameters  in a Single Straight Line

    Hi Experts,
    How can i get Radio buttons  and parameters  in a Single Straight Line...
    Example:
       r1 r2 p1 p2.....
    Cheers,
    Priya
    Points granted.

    Write the following code for the selection screen:
    DECLARATION OF PARAMETERS.
    SELECTION-SCREEN: BEGIN OF BLOCK select WITH FRAME TITLE text-001,
                      BEGIN OF LINE.
                      SELECTION-SCREEN COMMENT 1(10) FOR FIELD p_detail.
                      PARAMETERS p_detail RADIOBUTTON GROUP r1 DEFAULT 'X'.
                      SELECTION-SCREEN COMMENT 25(10)  FOR FIELD p_summry.
                      PARAMETERS p_summry RADIOBUTTON GROUP r1.
    SELECTION-SCREEN: END OF LINE,
                      END OF BLOCK select.
    this will solve your poblem surly. reward the points if you find helpful
    Regards,
    Siddarth

  • How can i find all global variable and parameters in a form?

    I don't know name of global variables and parameters,but i want get their name and value .
    how can i do? who can help me?
    Thank you.
    Daniel Liang
    2007.1.19

    no problem. As Francois said you can't do it programmatic in runtime.
    But when you use the debug-mode you can see each global with name and value.
    By the way: It's not good to not know all the globals in your application. This is one of the most important things you have to write down for your app. Create a wiki for such informations, so that all developer can share their information.

  • Select-options and parameters

    hi,
    In How many ways we can define select-options and parameters.

    hi uday,
    Usually we use PARAMETERS for single value input and
    SELECT-OPTIONS is used to give a range of input values for a single field
    SELECT-OPTIONS implicitly consists of internal table with fields
    OPTIONS
    LOW
    HIGH
    SIGN
    eg:
          DATA: G_VBELN TYPE VBAK-VBELN.
          SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
          PARAMETERS : P_VBELN LIKE VBAK-VBELN.
          SELECT-OPTIONS: S_VBELN FOR G_VBELN.
          SELECTION-SCREEN END OF BLOCK B1.
       o/p:
              P_VBELN: _________________.
             S_VBELN:___________ TO  ____________.
    reward if helpful
    regards.
    shashikanth naram.

  • Infoview Issues Missing Events and Parameters

    Very strange problem.  I am on BO 3.1... the CMC shows all events and parameters.  When I open up Infoview under the same login (administrator), I am not able to see any events when I go to schedule.  In its place, under job history, the report would show NO parameters even though it has parameters and it is showing in CMC.  Also, when trying to schedule it based on an events, there are no available events.  Instead, I get a message of "This is a formatting string" in all of the boxes. 
    At first I thought maybe it is a setting for the Infoview application on CMC but it does not make sense since administrators have FULL CONTROL.
    Help.
    Thanks!

    Hi,
    Does this happen for all reports?  If so, then its probably an interface issue more than anything else.  You'll want to redeploy the web applications, or at least the InfoView releated ones (InfoViewApp, InfoViewAppActions, PlatformServices)
    You can use WDeploy to do this. 
    [Web Application Deployment Guide - Windows|http://service.sap.com/~sapidb/011000358700001647122008E/xi3-1_deployconfig_win_en.pdf]
    [Web Application Deployment Guide Unix|http://service.sap.com/~sapidb/011000358700001647132008E/xi3-1_deployconfig_unix_en.pdf]
    Or, an easy way in Tomcat is to go to the WebApps directory and just rename the folders of the apps you want to redeploy.  Then restart tomcat and wait about 20 minutes for the apps to re-deploy.
    Other than that, have you modified the out of the box security at all?  Locked down permissions to the InfoView application or anything along those lines?
    Thanks
    Jonathan
    Edited by: Jonathan Brown on Jul 13, 2010 6:47 PM

  • Select-options and Parameters, when to use what?

    Hi gurus,
    I have been using Parameters for long. Now I want to choose a range of values, which I need to retrieve from database.
    I tried using select-options. Can't I use 2 parameters that is parameter1 and parameter2 and mention query BETWEEN para1 AND
    para2, and when I use NO INTERVALS and NO EXTENSION together, it behaves same like parameter, then why did SAP gave these
    extensions.

    Hi friend,
    Simple differences between Select-options and parameters.
    Select-Options Uses keyword 'for'                         
    Parameters Uses keywords 'like', 'type'     
    Select-Options  Uses operator 'in'                         
    Parameters Uses operator '='
    Select-Options  Provides ranges for selection     
    Parameters  No ranges only single value
    Select-Options Creates selection table                              
    Parameters No selection table
    Select-Options  When i/p blank all records selected          
    Parameters   When i/p blank none is selected
    Note:
    Select options can act as parameters by using 'no-extension' 'no intervals', but all records will be selected when i/p is blank unlike parameters.
    Might be helpful..
    Thanks...
    Edited by: Guest77 on Feb 10, 2009 5:44 AM

  • Simple SQL Query and Parameters and LOV

    Newbie and trying to work thru building a simple sql query with a single table query and use a parameter and lov.
    Can anyone point me to an example.
    simple query:
    select cust_id, name_desc, name_add1, name_add2, name_city
    from customer_table
    where cust_id = :cust_parm
    This works in straight sql and in the query builder by prompting for the customer ID. When building a parameter using LOV or search, it doesn't seem to detect the variable.
    Thanks..
    DD

    If you are using version 11g, then as soon as you save the query in the data model, it should notice the parameter and ask if you want to add the parameter to the data model. What version of BIP are you using?
    What happens if you exclude the parameter from the query and simply hard-code the criteria? Can you generate XML data?
    From your wording, it sounds like you're trying to create a parameter from the LOV dialog. LOVs and parameters are totally distinct. After each are created separately, then you configure the parameter to use the LOV.

  • BeforeReportTrigger , Data Template and Parameters

    Hi
    I'm new to XML publisher. Things has been going quite smoothly until I started to introduce BeforeReportTriggers and Parameters in my Data Template.
    When I go to view the report, I get
    "The report cannot be rendered because of an error, please contact the administrator"
    Unfortunately, I don't know if there is any log file for further information. I know the package works when I was debugging it.
    Please help.
    Below is my XML Data Template, the package header and body
    XML data template
    <dataTemplate name="SCH_A_dt1" description="schedule A database template1" defaultPackage="sch_a_dt1" dataSourceRef="nbdot_zsvm1">
    <parameters>
    <parameter name="p_COUNTY" dataType="character" defaultValue="GLOUCESTER"/>
    </parameters>
    <dataQuery>
    <sqlStatement name="Q1">
    <!-- insert sql statement here-->
    <![CDATA[select COUNTY, NETWORK_COMP,SECT_ID,CS_REF,RD_LOC,TYPE_MEANING,TOTAL_KM from sch_A_byCounty_det
    where &P_WHERE_CLAUSE]]>
    </sqlStatement>
    </dataQuery>
    <!-- BEFOREREPORT TRIGGER -->
    <dataTrigger name="beforeReportTrigger" source="sch_a_dt1.BEFOREREPORTTRIGGER(p_COUNTY)"/>
    <!-- DataStructure -->
    <dataStructure>
    <group name="G_COUNTY" source="Q1">
    <element name="COUNTY_NAME" value="COUNTY"/>
    <group name="G_NETWORK" source="Q1">
    <element name="NETWORK" value="NETWORK_COMP"/>
    <element name="SECT_ID" value="SECT_ID"/>
    <element name="ROAD_LOCATION" value="RD_LOC"/>
    <element name="TYPE_MEANING" value="TYPE_MEANING"/>
    <element name="LENGTH" value="TOTAL_KM"/>
    </group>
    </group>
    </dataStructure>
    </dataTemplate>
    Package header
    create or replace package sch_a_dt1
    as
    p_county varchar2(50);
    P_WHERE_CLAUSE VARCHAR2(100);
    procedure beforereportTrigger(p_county varchar2);
    end;
    Package body
    CREATE or replace PACKAGE BODY sch_a_dt1
    as
    procedure beforereportTrigger (p_county varchar2) is
    begin
    if (p_county) is null then
    p_where_clause := '1=1';
    elsif (p_county = '*') then
    p_where_clause := '1=1';
    else
    p_where_clause := 'COUNTY in (' ||p_county||')';
    end if;
    end;
    end;
    Thanks Zubran

    Thanks Daniel..
    You were right! The weird thing is that the XML user guide used a procedure as an example.
    Anyway. I wonder if you assist me further. Although I don't get an error, when I try to query on a paramter, I get no data return {ie. only the parameter is shown in result}. However, when I pass in '*' or null as per my function then this return the entire database.
    Please can you have a quick at the function and xml data template again.
    XML Data Template
    <dataTemplate name="SCH_A_dt1" description="schedule A database template1" defaultPackage="sch_a_dt1" dataSourceRef="nbdot_zsvm1">
    <parameters>
    <parameter name="p_COUNTY" dataType="character" defaultValue="GLOUCESTER"/>
    </parameters>
    <dataQuery>
    <sqlStatement name="Q1">
    <!-- insert sql statement here-->
    <![CDATA[select COUNTY, NETWORK_COMP,SECT_ID,CS_REF,RD_LOC,TYPE_MEANING,TOTAL_KM from sch_A_byCounty_det
    where &amp;P_WHERE_CLAUSE]]>
    </sqlStatement>
    </dataQuery>
    <!-- BEFOREREPORT TRIGGER -->
    <dataTrigger name="beforeReportTrigger" source="sch_a_dt1.beforerep(:p_COUNTY)"/>
    <!-- DataStructure -->
    <dataStructure>
    <group name="G_COUNTY" source="Q1">
    <element name="COUNTY_NAME" value="COUNTY"/>
    <group name="G_NETWORK" source="Q1">
    <element name="NETWORK" value="NETWORK_COMP"/>
    <element name="SECT_ID" value="SECT_ID"/>
    <element name="ROAD_LOCATION" value="RD_LOC"/>
    <element name="TYPE_MEANING" value="TYPE_MEANING"/>
    <element name="LENGTH" value="TOTAL_KM"/>
    </group>
    </group>
    </dataStructure>
    </dataTemplate>
    Procedure body
    CREATE or replace PACKAGE BODY sch_a_dt1
    as
    function beforerep (p_county in varchar2) return boolean is
    begin
    if (p_county) is null then
    p_where_clause := '1=1';
    return true;
    elsif (p_county = '*') then
    p_where_clause := '1=1';
    return true;
    else
    p_where_clause := 'COUNTY in (' ||p_county||')';
    return true;
    end if;
    exception
    when others then
    return false;
    end ;
    end ;
    Header
    create or replace package sch_a_dt1
    as
    p_county varchar2(50);
    P_WHERE_CLAUSE VARCHAR2(100);
    function beforerep (p_county in varchar2) return boolean;
    end;
    /

  • HI major diffrence in select-options and parameters

    Hi,
      Can any one explain me the major diffrence between select options and parameters.
    I know that in select options we can give a range of values and in parameter one value.
    Thanks

    Hello Hari,
    I would see following differences:
    1. As you have mentioned, many values/ranges can be given in the SELECT-OPTIONS. However, the parameter can hold only one value.
    2. In the run time, we see the data w.r.t a select option as an Internal table and Parameter may be accessed as a global variable.
    3. Consider following statements:
       a. select-options: s_matnr for mara-matnr no-extension no intervals.
       b. parameters: P_MATNR like mara-matnr.
    Both the statements look same on the selection screen.
    consider the SQLs:
    <b>select * into corresponding fields of table g_t_mara
    from mara
    where
    matnr in s_matnr.</b>
    and
    <b>select * into corresponding fields of table g_t_mara
    from mara
    where
    matnr eq p_matnr.</b>
    both the SQLs give the same output if the user gives a material number on Selection screen.
    If the user does NOT give any input in selection screen, the first SQL will fetch all data from DB, whereas the SQL with the PARAMETER will fail.
    So I think we should keep in mind the requirement and code accordingly.
    I hope this helps you.
    Best Regards,
    Murugesh AS

  • How comples return types and parameters are mapped

    Hi all!
    I want to know how complex return types and parameters in a java interface gets mapped to wsdl? for example how would the wsdl for the following interface shall look like:
    interface ComplexReturns{
       java.util.Date getLuckyDate(java.util.Date DoB);
       myPack.MyClass getMyClass();
    }

    Hi,
    - In your application module, make a public method that returns an arry, for example an arry of strings[]
        public String[] returnTwoVals(){
            String[] returnvals = {"1","2"};
            return returnvals;
        }- expose this method in the application module
    - in the user interface drag/drop the returnTwoVals method on a page and choose to create a button.
    - double click the button to generate the binding code
        public String commandButton_action() {
            BindingContainer bindings = getBindings();
            OperationBinding operationBinding =
                bindings.getOperationBinding("returnTwoVals");
            Object result = operationBinding.execute();
            if (!operationBinding.getErrors().isEmpty()) {
                return null;
            return null;
        }- you can access the values in the arry by adding this code after the Object result =...
       String[] vals = (String[])result;
       System.out.println(vals[0] + " - " + vals[1]);

  • What are the function modules used in interactive ALV and parameters?

    what are the function modules used in interactive ALV and parameters?

    hi sunil
    check these links,
    About ALV:
    http://www.geocities.com/mpioud/Abap_programs.html
    ALV Group Heading
    http://www.sap-img.com/fu037.htm
    and few more,
    ALV
    1. Please give me general info on ALV.
    http://www.sapfans.com/forums/viewtopic.php?t=58286
    http://www.sapfans.com/forums/viewtopic.php?t=76490
    http://www.sapfans.com/forums/viewtopic.php?t=20591
    http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.
    2. How do I program double click in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=11601
    http://www.sapfans.com/forums/viewtopic.php?t=23010
    3. How do I add subtotals (I have problem to add them)...
    http://www.sapfans.com/forums/viewtopic.php?t=20386
    http://www.sapfans.com/forums/viewtopic.php?t=85191
    http://www.sapfans.com/forums/viewtopic.php?t=88401
    http://www.sapfans.com/forums/viewtopic.php?t=17335
    4. How to add list heading like top-of-page in ABAP lists?
    http://www.sapfans.com/forums/viewtopic.php?t=58775
    http://www.sapfans.com/forums/viewtopic.php?t=60550
    http://www.sapfans.com/forums/viewtopic.php?t=16629
    5. How to print page number / total number of pages X/XX in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=29597 (no direct solution)
    6. ALV printing problems. The favourite is: The first page shows the number of records selected but I don't need this.
    http://www.sapfans.com/forums/viewtopic.php?t=64320
    http://www.sapfans.com/forums/viewtopic.php?t=44477
    7. How can I set the cell color in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=52107
    8. How do I print a logo/graphics in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=81149
    http://www.sapfans.com/forums/viewtopic.php?t=35498
    http://www.sapfans.com/forums/viewtopic.php?t=5013
    9. How do I create and use input-enabled fields in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=84933
    http://www.sapfans.com/forums/viewtopic.php?t=69878
    10. How can I use ALV for reports that are going to be run in background?
    http://www.sapfans.com/forums/viewtopic.php?t=83243
    http://www.sapfans.com/forums/viewtopic.php?t=19224
    11. How can I display an icon in ALV? (Common requirement is traffic light icon).
    http://www.sapfans.com/forums/viewtopic.php?t=79424
    http://www.sapfans.com/forums/viewtopic.php?t=24512
    12. How can I display a checkbox in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=88376
    http://www.sapfans.com/forums/viewtopic.php?t=40968
    http://www.sapfans.com/forums/viewtopic.php?t=6919
    also run the folowing code and see
    check this sample code.you will be well versed with all the events of a interactive alv report.mark points if useful.
    *& Report ZALV4_INTERACTIVE *
    *& interactive alvs *
    REPORT ZALV4_INTERACTIVE NO STANDARD PAGE HEADING
    MESSAGE-ID ZMSG
    LINE-COUNT 37(3)
    LINE-SIZE 134.
    TYPE-POOLS : SLIS.
    TABLES DECLARATION ********************
    TABLES : VBRK, " BILLING MASTERS TABLE
    VBRP. " BILLING ITEM TABLE
    TYPES DECLARATION ********************
    TYPES : BEGIN OF TY_VBRK, " types for billing masters table
    VBELN TYPE VBRK-VBELN, " billing document
    WAERK TYPE VBRK-WAERK, " document currency
    VKORG TYPE VBRK-VKORG, " sales organization
    FKDAT TYPE VBRK-FKDAT, " billing date
    BUKRS TYPE VBRK-BUKRS, " company code
    BUTXT TYPE T001-BUTXT, " company name
    NETWR TYPE VBRK-NETWR, " net currency value
    LINE_COLOR(4) TYPE C,
    END OF TY_VBRK.
    TYPES : BEGIN OF TY_VBRP, " types for billing document item data
    POSNR TYPE VBRP-POSNR, " billing item
    FKIMG TYPE VBRP-FKIMG, " actual invoiced quantitty
    VRKME TYPE VBRP-VRKME, " sales unit
    NETWR TYPE VBRP-NETWR, " net currency value
    MATNR TYPE VBRP-MATNR, " material number
    ARKTX TYPE VBRP-ARKTX, " short text for sales order item
    END OF TY_VBRP.
    FIELD CATALOG ********************
    DATA : WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
    WA_FIELDCAT1 TYPE SLIS_FIELDCAT_ALV.
    LAYOUT DECLARATION ********************
    DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV,
    WA_LAYOUT1 TYPE SLIS_LAYOUT_ALV.
    EVENTS DECLARATION ********************
    DATA : TY_EVENTS TYPE SLIS_ALV_EVENT,
    IT_EVENTS TYPE SLIS_T_EVENT.
    PF STATUS ********************
    DATA : PF_STATUS TYPE SLIS_FORMNAME VALUE 'SET_PF_STATUS'.
    USER COMMAND ********************
    DATA : USER_COMMAND TYPE SLIS_FORMNAME VALUE 'SET_USER_COMMAND',
    R_UCOMM LIKE SY-UCOMM.
    INTERNAL TABLES ********************
    DATA : IT_VBRK TYPE TABLE OF TY_VBRK, "internal table for billing master
    IT_VBRP TYPE TABLE OF TY_VBRP, "internal table for billing item
    *internal table for field catalog
    IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
    IT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV.
    WORK AREA ********************
    DATA : WA_VBRK LIKE LINE OF IT_VBRK, "work area for billing master
    WA_VBRP LIKE LINE OF IT_VBRP. "work area for billing item
    VARIABLE DECLARATION ********************
    DATA : V_DATE TYPE SY-DATUM, " variable to store date values
    V_VBELN TYPE VBRK-VBELN, " variable for billing document
    V_FKDAT TYPE VBRK-FKDAT, " variable for billing date
    V_FLAG(1). " variable for flag
    SELECTION SCREEN ********************
    SELECT-OPTIONS : S_VBELN FOR VBRK-VBELN , " Billing document
    S_FKDAT FOR VBRK-FKDAT, " Billing date
    S_MATNR FOR VBRP-MATNR. " Material number
    PARAMETERS : R1 RADIOBUTTON GROUP G1, "whole item details
    R2 RADIOBUTTON GROUP G1. "selected item details
    INITIALIZATION ********************
    INITIALIZATION.
    V_FLAG = 'X'.
    V_DATE = SY-DATUM - 20.
    S_FKDAT-SIGN = 'I'.
    S_FKDAT-OPTION = 'EQ'.
    S_FKDAT-LOW = V_DATE.
    S_FKDAT-HIGH = SY-DATUM.
    APPEND S_FKDAT.
    SELECTION SCREEN VALIDATION ********************
    AT SELECTION-SCREEN.
    PERFORM CONVERSION. " performs data conversion for input
    PERFORM VBELN_VALIDATE. " validating the billing document
    PERFORM FKDAT_VALIDATE. " validating the billing date
    START OF SELECTION ********************
    START-OF-SELECTION.
    SET TITLEBAR 'AAAA'.
    PERFORM VBRK_POPULATE. " populating the billing master detais
    PERFORM FIELDCATALOG. " designing the field catalog
    PERFORM EVENTS. " performing the events for top of page
    PERFORM DISP_BASICLIST." displaying the basic list
    *& Form VBELN_VALIDATE
    text validating the billing document
    --> p1 text
    <-- p2 text
    FORM VBELN_VALIDATE .
    IF S_VBELN IS INITIAL.
    MESSAGE E000 WITH 'Make entries in all required fields'.
    ELSE.
    SELECT SINGLE VBELN
    FROM VBRK
    INTO V_VBELN
    WHERE VBELN IN S_VBELN.
    IF SY-SUBRC <> 0.
    MESSAGE I000 WITH 'BILLING DOCUMENT DOESNT EXIST'.
    ENDIF.
    ENDIF.
    ENDFORM. " VBELN_VALIDATE
    *& Form FKDAT_VALIDATE
    text validating the billing date
    --> p1 text
    <-- p2 text
    FORM FKDAT_VALIDATE .
    SELECT SINGLE FKDAT
    FROM VBRK
    INTO V_FKDAT
    WHERE FKDAT IN S_FKDAT.
    IF SY-SUBRC <> 0.
    MESSAGE I000 WITH 'BILLING DATE DOESNT EXIST'.
    ENDIF.
    ENDFORM. " FKDAT_VALIDATE
    *& Form VBRK_POPULATE
    text populating the billing master details
    --> p1 text
    <-- p2 text
    FORM VBRK_POPULATE .
    DATA : LD_COLOR(1) TYPE C.
    LD_COLOR = 5.
    SELECT VBRK~VBELN
    VBRK~WAERK
    VBRK~VKORG
    VBRK~FKDAT
    VBRK~BUKRS
    VBRK~NETWR
    T001~BUTXT
    FROM VBRK INNER JOIN T001
    ON VBRKBUKRS = T001BUKRS
    INTO CORRESPONDING FIELDS OF TABLE IT_VBRK
    WHERE VBRK~VBELN IN S_VBELN AND
    VBRK~FKDAT IN S_FKDAT.
    LOOP AT IT_VBRK INTO WA_VBRK.
    LD_COLOR = LD_COLOR + 1.
    IF LD_COLOR = 8.
    LD_COLOR = 1.
    ENDIF.
    CONCATENATE 'C' LD_COLOR '10' INTO WA_VBRK-LINE_COLOR.
    MODIFY IT_VBRK FROM WA_VBRK.
    ENDLOOP.
    ENDFORM. " VBRK_POPULATE
    *& Form CONVERSION
    text data conversion to take leading zeroes into account
    --> p1 text
    <-- p2 text
    FORM CONVERSION .
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
    INPUT = S_VBELN
    IMPORTING
    OUTPUT = S_VBELN.
    ENDFORM. " CONVERSION
    *& Form DISP_BASICLIST
    text displaying the basic list
    --> p1 text
    <-- p2 text
    FORM DISP_BASICLIST .
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
    I_INTERFACE_CHECK = ' '
    I_BYPASSING_BUFFER =
    I_BUFFER_ACTIVE = ' '
    I_CALLBACK_PROGRAM = SY-REPID
    I_CALLBACK_PF_STATUS_SET = PF_STATUS
    I_CALLBACK_USER_COMMAND = USER_COMMAND
    I_STRUCTURE_NAME =
    IS_LAYOUT = WA_LAYOUT
    IT_FIELDCAT = IT_FIELDCAT
    IT_EXCLUDING =
    IT_SPECIAL_GROUPS =
    IT_SORT =
    IT_FILTER =
    IS_SEL_HIDE =
    I_DEFAULT = 'X'
    I_SAVE = 'X'
    IS_VARIANT =
    IT_EVENTS = IT_EVENTS
    IT_EVENT_EXIT =
    IS_PRINT =
    IS_REPREP_ID =
    I_SCREEN_START_COLUMN = 0
    I_SCREEN_START_LINE = 0
    I_SCREEN_END_COLUMN = 0
    I_SCREEN_END_LINE = 0
    IMPORTING
    E_EXIT_CAUSED_BY_CALLER =
    ES_EXIT_CAUSED_BY_USER =
    TABLES
    T_OUTTAB = IT_VBRK
    EXCEPTIONS
    PROGRAM_ERROR = 1
    OTHERS = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM. " DISP_BASICLIST
    *& Form FIELDCATALOG
    text designing the field catalog
    --> p1 text
    <-- p2 text
    FORM FIELDCATALOG .
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'VBELN'.
    WA_FIELDCAT-SELTEXT_L = 'BILLING DOCUMENT'.
    WA_FIELDCAT-COL_POS = 1.
    WA_FIELDCAT-EMPHASIZE = 'C610'.
    WA_FIELDCAT-KEY = 'X'.
    WA_FIELDCAT-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'WAERK'.
    WA_FIELDCAT-SELTEXT_L = 'DOCUMENT CURRENCY'.
    WA_FIELDCAT-COL_POS = 2.
    WA_FIELDCAT-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'VKORG'.
    WA_FIELDCAT-SELTEXT_L = 'SALES ORGANIZATION'.
    WA_FIELDCAT-EMPHASIZE = 'C610'.
    WA_FIELDCAT-COL_POS = 3.
    WA_FIELDCAT-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'FKDAT'.
    WA_FIELDCAT-SELTEXT_L = 'BILLING DATE'.
    WA_FIELDCAT-COL_POS = 4.
    WA_FIELDCAT-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'BUKRS'.
    WA_FIELDCAT-SELTEXT_L = 'COMPANY CODE'.
    WA_FIELDCAT-COL_POS = 5.
    WA_FIELDCAT-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'BUTXT'.
    WA_FIELDCAT-SELTEXT_L = 'COMPANY NAME'.
    WA_FIELDCAT-COL_POS = 6.
    WA_FIELDCAT-OUTPUTLEN = 25.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'NETWR'.
    WA_FIELDCAT-SELTEXT_L = 'NET CURRENCY VALUE'.
    WA_FIELDCAT-COL_POS = 7.
    WA_FIELDCAT-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_LAYOUT-ZEBRA = 'X'.
    WA_LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.
    ENDFORM. " FIELDCATALOG
    *& Form SET_PF_STATUS
    text set the pf status
    FORM SET_PF_STATUS USING EXTAB TYPE SLIS_T_EXTAB.
    SET PF-STATUS 'Z50658_PFSTATUS' EXCLUDING EXTAB.
    ENDFORM. "SET_PF_STATUS
    *& Form SET_USER_COMMAND
    text set the user command
    FORM SET_USER_COMMAND USING R_UCOMM
    RS_SELFIELD TYPE SLIS_SELFIELD.
    CASE R_UCOMM.
    WHEN 'CLICK'.
    IF R1 = 'X'.
    IF NOT IT_VBRK IS INITIAL.
    SELECT POSNR
    FKIMG
    VRKME
    NETWR
    MATNR
    ARKTX
    FROM VBRP
    INTO CORRESPONDING FIELDS OF TABLE IT_VBRP
    FOR ALL ENTRIES IN IT_VBRK
    WHERE VBELN = IT_VBRK-VBELN.
    IF SY-SUBRC <> 0.
    MESSAGE I000 WITH ' NO BILLING DETAILS FOUND'.
    ELSE.
    IF V_FLAG = 'X'.
    PERFORM DET_FIELDCATALOG.
    V_FLAG = ''.
    ENDIF.
    PERFORM DET_LISTDISPLAY.
    ENDIF.
    ENDIF.
    ENDIF.
    IF R2 = 'X'.
    READ TABLE IT_VBRK INTO WA_VBRK INDEX RS_SELFIELD-TABINDEX.
    IF SY-SUBRC = 0.
    SELECT SINGLE POSNR
    FKIMG
    VRKME
    NETWR
    MATNR
    ARKTX
    FROM VBRP
    INTO CORRESPONDING FIELDS OF WA_VBRP
    WHERE VBELN = WA_VBRK-VBELN.
    ENDIF.
    APPEND WA_VBRP TO IT_VBRP.
    ENDIF.
    IF V_FLAG = 'X'.
    PERFORM DET_FIELDCATALOG. "designing the field catalog for items
    V_FLAG = ''.
    ENDIF.
    PERFORM DET_LISTDISPLAY. "displaying the secondary list
    WHEN 'BACK'.
    LEAVE TO SCREEN 0.
    WHEN 'UP'.
    LEAVE TO SCREEN 0.
    WHEN 'CANCEL'.
    CALL TRANSACTION 'SE38'.
    ENDCASE.
    ENDFORM. "SET_USER_COMMAND
    *& Form DET_FIELDCATALOG
    text designing the field catalog for item details
    --> p1 text
    <-- p2 text
    FORM DET_FIELDCATALOG .
    WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
    WA_FIELDCAT1-FIELDNAME = 'POSNR'.
    WA_FIELDCAT1-SELTEXT_L = 'BILLING ITEM'.
    WA_FIELDCAT1-COL_POS = 1.
    WA_FIELDCAT1-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
    CLEAR WA_FIELDCAT1.
    WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
    WA_FIELDCAT1-FIELDNAME = 'FKIMG'.
    WA_FIELDCAT1-SELTEXT_L = 'INVOICE QUANTITY'.
    WA_FIELDCAT1-COL_POS = 2.
    WA_FIELDCAT1-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
    CLEAR WA_FIELDCAT1.
    WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
    WA_FIELDCAT1-FIELDNAME = 'VRKME'.
    WA_FIELDCAT1-SELTEXT_L = 'SALES UNIT'.
    WA_FIELDCAT1-COL_POS = 3.
    WA_FIELDCAT1-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
    CLEAR WA_FIELDCAT1.
    WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
    WA_FIELDCAT1-FIELDNAME = 'NETWR'.
    WA_FIELDCAT1-SELTEXT_L = 'NET CURRENCY VALUE'.
    WA_FIELDCAT1-COL_POS = 4.
    WA_FIELDCAT1-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
    CLEAR WA_FIELDCAT1.
    WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
    WA_FIELDCAT1-FIELDNAME = 'MATNR'.
    WA_FIELDCAT1-SELTEXT_L = 'MATERIAL NUMBER'.
    WA_FIELDCAT1-COL_POS = 5.
    WA_FIELDCAT1-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
    CLEAR WA_FIELDCAT1.
    WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
    WA_FIELDCAT1-FIELDNAME = 'ARKTX'.
    WA_FIELDCAT1-SELTEXT_L = 'SALES ORDER ITEM'.
    WA_FIELDCAT1-COL_POS = 6.
    WA_FIELDCAT1-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
    CLEAR WA_FIELDCAT1.
    WA_LAYOUT1-ZEBRA = 'X'.
    ENDFORM. " DET_FIELDCATALOG
    *& Form DET_LISTDISPLAY
    text displaying the secondary list
    --> p1 text
    <-- p2 text
    FORM DET_LISTDISPLAY .
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
    I_INTERFACE_CHECK = ' '
    I_BYPASSING_BUFFER =
    I_BUFFER_ACTIVE = ' '
    I_CALLBACK_PROGRAM = SY-REPID
    I_CALLBACK_PF_STATUS_SET = ' '
    I_CALLBACK_USER_COMMAND = ' '
    I_STRUCTURE_NAME =
    IS_LAYOUT = WA_LAYOUT1
    IT_FIELDCAT = IT_FIELDCAT1
    IT_EXCLUDING =
    IT_SPECIAL_GROUPS =
    IT_SORT =
    IT_FILTER =
    IS_SEL_HIDE =
    I_DEFAULT = 'X'
    I_SAVE = ' '
    IS_VARIANT =
    IT_EVENTS = IT_EVENTS
    IT_EVENT_EXIT =
    IS_PRINT =
    IS_REPREP_ID =
    I_SCREEN_START_COLUMN = 0
    I_SCREEN_START_LINE = 0
    I_SCREEN_END_COLUMN = 0
    I_SCREEN_END_LINE = 0
    IMPORTING
    E_EXIT_CAUSED_BY_CALLER =
    ES_EXIT_CAUSED_BY_USER =
    TABLES
    T_OUTTAB = IT_VBRP
    EXCEPTIONS
    PROGRAM_ERROR = 1
    OTHERS = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CLEAR IT_VBRP[].
    ENDFORM. " DET_LISTDISPLAY
    *& Form EVENTS
    text
    --> p1 text
    <-- p2 text
    FORM EVENTS .
    CLEAR TY_EVENTS.
    TY_EVENTS-NAME = SLIS_EV_TOP_OF_PAGE.
    TY_EVENTS-FORM = 'TOP_OF_PAGE'.
    APPEND TY_EVENTS TO IT_EVENTS.
    ENDFORM. " EVENTS
    *& Form TOP_OF_PAGE
    text
    FORM TOP_OF_PAGE.
    SKIP.
    ULINE.
    WRITE :/2 ' DATE :', SY-DATUM,
    45 'INTELLIGROUP ASIA PVT LTD',
    110 'TIME :', SY-UZEIT.
    WRITE : /3 'USER :', SY-UNAME,
    45 'TITLE :', SY-TITLE,
    110 'PAGE :', SY-PAGNO.
    ULINE.
    SKIP.
    ENDFORM. "TOP_OF_PAGE
    Cheers
    navjot
    Reward with points if it is helpful
    Message was edited by:
            navjot sharma

Maybe you are looking for