How to print a value at the top of each page in the detail section of a rpt

Thanks for helping, I will try to get right to the point.
I have RTF template. Very simplistic template. I have the Group at the top (there is only 1 per XML file) and several DETAIL lines with like 10 columns.
The first displayed field is "ACCOUNT_NUMBER". The user wished that if the ACCOUNT NUMBER for line 2 was the same as line 1, that it be suppressed, for example:
Acct No other other other other
1234 XX XX XX XX
YY YY YY YY
This was not a problem, I was able to accomplish it with the following code:
<?if:position()=1 or ACCOUNT_NUMBER!=preceding::ACCOUNT_NUMBER[1]?><?ACCOUNT_NUMBER?><?end if?>
But what happens is that IF THE FIRST line on a page has the same ACCOUNT_NUMBER as the last line on the previous page, the ACCOUNT NUMBER is not displayed.
What I would like is for the ACCOUNT NUMBER to be displayed anytime we are at the first record on a page, AND anytime it is different from the previous record's value.
I do not know how many lines per page are possible, because there are other line breaks which exist which put a space between lines when values change too. So I cannot just count how many total lines and divide it by lines per page.
My thought was that there must be a way I could store a variable called LAST_PAGE, and at the end of each record, copy the current page number to that variable. Then in my ACCOUNT_NUMBER code, I could check if current page is NOT equal to last page along with my other conditions.
1. Is this the best way to do this? If so, please help, I am new to BI and am having trouble figuring out where to put variables and stuff like that.
2. If not, how can I do this?
3. If your recommendation is going to be to group my items by Account Number, I may not have time to redo the report that way. I will happily supply the rtf and xml if that will help you help me.
Regards:
Michael Coughlin

Here ya go. Obviously you can duplicate the G_DETAILS blocks to get enough for 2 pages. I have the data pre-sorted before the output is generated because I had trouble getting the RTF to work if I didn't, just so you know.
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Generated by Oracle Reports version 6.0.8.28.0 -->
<XXDIPICK_RPT>
<LIST_G_HEADERS>
<G_HEADERS>
<SHIP_FROM_ORG_CODE>202</SHIP_FROM_ORG_CODE>
<LINE_STATUS>Picked</LINE_STATUS>
<LIST_G_DETAILS>
<G_DETAILS>
<SHIP_FROM_ORG_CODE1>202</SHIP_FROM_ORG_CODE1>
<ACCOUNT_NUMBER>1000</ACCOUNT_NUMBER>
<DELIVERY_NUMBER>8062</DELIVERY_NUMBER>
<ORDER_NUMBER>103049</ORDER_NUMBER>
<CUST_NAME>DIAMOND INNOVATIONS INT SALES - NEWCO</CUST_NAME>
<DELIVERY_DETAIL_ID>12474</DELIVERY_DETAIL_ID>
<LINE_NO>1.1</LINE_NO>
<ITEM_NO>4087401</ITEM_NO>
<ITEM_DESCRIPTION>HPD M SD-CTO-0 Pot</ITEM_DESCRIPTION>
<OPEN_FLAG>Y</OPEN_FLAG>
<CANCELLED_FLAG>N</CANCELLED_FLAG>
<BOOKED_FLAG>Y</BOOKED_FLAG>
<ORDERED_QUANTITY>1</ORDERED_QUANTITY>
<ORDER_QUANTITY_UOM>EA</ORDER_QUANTITY_UOM>
<SHIPPED_QUANTITY></SHIPPED_QUANTITY>
<SCHEDULE_SHIP_DATE>2011-01-31T23:59:00+00:00</SCHEDULE_SHIP_DATE>
<NAME>INTERNAL ORDER - US</NAME>
<CUST_ACCOUNT_ID>16404</CUST_ACCOUNT_ID>
<HEADER_ID>6446</HEADER_ID>
<LINE_ID>7926</LINE_ID>
<ORG_ID>84</ORG_ID>
<SHIP_TO_ORG_ID>16050</SHIP_TO_ORG_ID>
<INVOICE_TO_ORG_ID>16052</INVOICE_TO_ORG_ID>
<SHIP_SET_ID></SHIP_SET_ID>
<INVENTORY_ITEM_ID>63927</INVENTORY_ITEM_ID>
</G_DETAILS>
<G_DETAILS>
<SHIP_FROM_ORG_CODE1>202</SHIP_FROM_ORG_CODE1>
<ACCOUNT_NUMBER>1000</ACCOUNT_NUMBER>
<DELIVERY_NUMBER>8062</DELIVERY_NUMBER>
<ORDER_NUMBER>103049</ORDER_NUMBER>
<CUST_NAME>DIAMOND INNOVATIONS INT SALES - NEWCO</CUST_NAME>
<DELIVERY_DETAIL_ID>12475</DELIVERY_DETAIL_ID>
<LINE_NO>2.1</LINE_NO>
<ITEM_NO>3732307</ITEM_NO>
<ITEM_DESCRIPTION>NV MBS 2325 Bushing Asm</ITEM_DESCRIPTION>
<OPEN_FLAG>Y</OPEN_FLAG>
<CANCELLED_FLAG>N</CANCELLED_FLAG>
<BOOKED_FLAG>Y</BOOKED_FLAG>
<ORDERED_QUANTITY>1</ORDERED_QUANTITY>
<ORDER_QUANTITY_UOM>EA</ORDER_QUANTITY_UOM>
<SHIPPED_QUANTITY></SHIPPED_QUANTITY>
<SCHEDULE_SHIP_DATE>2011-01-31T23:59:00+00:00</SCHEDULE_SHIP_DATE>
<NAME>INTERNAL ORDER - US</NAME>
<CUST_ACCOUNT_ID>16404</CUST_ACCOUNT_ID>
<HEADER_ID>6446</HEADER_ID>
<LINE_ID>7927</LINE_ID>
<ORG_ID>84</ORG_ID>
<SHIP_TO_ORG_ID>16050</SHIP_TO_ORG_ID>
<INVOICE_TO_ORG_ID>16052</INVOICE_TO_ORG_ID>
<SHIP_SET_ID></SHIP_SET_ID>
<INVENTORY_ITEM_ID>67865</INVENTORY_ITEM_ID>
</G_DETAILS>
<G_DETAILS>
<SHIP_FROM_ORG_CODE1>202</SHIP_FROM_ORG_CODE1>
<ACCOUNT_NUMBER>46711</ACCOUNT_NUMBER>
<DELIVERY_NUMBER></DELIVERY_NUMBER>
<ORDER_NUMBER>102980</ORDER_NUMBER>
<CUST_NAME>VAREL EUROPE</CUST_NAME>
<DELIVERY_DETAIL_ID>12356</DELIVERY_DETAIL_ID>
<LINE_NO>1.1</LINE_NO>
<ITEM_NO>11004002</ITEM_NO>
<ITEM_DESCRIPTION>TYPE I 100/120 MISC</ITEM_DESCRIPTION>
<OPEN_FLAG>Y</OPEN_FLAG>
<CANCELLED_FLAG>N</CANCELLED_FLAG>
<BOOKED_FLAG>Y</BOOKED_FLAG>
<ORDERED_QUANTITY>75</ORDERED_QUANTITY>
<ORDER_QUANTITY_UOM>CT</ORDER_QUANTITY_UOM>
<SHIPPED_QUANTITY></SHIPPED_QUANTITY>
<SCHEDULE_SHIP_DATE>2011-01-27T23:59:00+00:00</SCHEDULE_SHIP_DATE>
<NAME>STANDARD ORDER - IRE</NAME>
<CUST_ACCOUNT_ID>5004</CUST_ACCOUNT_ID>
<HEADER_ID>6234</HEADER_ID>
<LINE_ID>7312</LINE_ID>
<ORG_ID>85</ORG_ID>
<SHIP_TO_ORG_ID>18929</SHIP_TO_ORG_ID>
<INVOICE_TO_ORG_ID>4995</INVOICE_TO_ORG_ID>
<SHIP_SET_ID></SHIP_SET_ID>
<INVENTORY_ITEM_ID>42032</INVENTORY_ITEM_ID>
</G_DETAILS>
<G_DETAILS>
<SHIP_FROM_ORG_CODE1>202</SHIP_FROM_ORG_CODE1>
<ACCOUNT_NUMBER>76127</ACCOUNT_NUMBER>
<DELIVERY_NUMBER>7608</DELIVERY_NUMBER>
<ORDER_NUMBER>102981</ORDER_NUMBER>
<CUST_NAME>LION ENGINEERING SERVICES LTD</CUST_NAME>
<DELIVERY_DETAIL_ID>12357</DELIVERY_DETAIL_ID>
<LINE_NO>1.1</LINE_NO>
<ITEM_NO>11004002</ITEM_NO>
<ITEM_DESCRIPTION>TYPE I 100/120 MISC</ITEM_DESCRIPTION>
<OPEN_FLAG>Y</OPEN_FLAG>
<CANCELLED_FLAG>N</CANCELLED_FLAG>
<BOOKED_FLAG>Y</BOOKED_FLAG>
<ORDERED_QUANTITY>200</ORDERED_QUANTITY>
<ORDER_QUANTITY_UOM>CT</ORDER_QUANTITY_UOM>
<SHIPPED_QUANTITY></SHIPPED_QUANTITY>
<SCHEDULE_SHIP_DATE>2011-01-27T23:59:00+00:00</SCHEDULE_SHIP_DATE>
<NAME>STANDARD ORDER - IRE</NAME>
<CUST_ACCOUNT_ID>5614</CUST_ACCOUNT_ID>
<HEADER_ID>6235</HEADER_ID>
<LINE_ID>7318</LINE_ID>
<ORG_ID>85</ORG_ID>
<SHIP_TO_ORG_ID>18429</SHIP_TO_ORG_ID>
<INVOICE_TO_ORG_ID>5605</INVOICE_TO_ORG_ID>
<SHIP_SET_ID></SHIP_SET_ID>
<INVENTORY_ITEM_ID>42032</INVENTORY_ITEM_ID>
</G_DETAILS>
</LIST_G_DETAILS>
</G_HEADERS>
</LIST_G_HEADERS>
</XXDIPICK_RPT>

Similar Messages

  • How to force multiple columns in the Details section

    Hello,
    My report has a lot of data in the Details section, but it could fit on one page if I could put it in three columns. Is there a way to do this?
    The Details section has setting: Force the new page after certain number of visible records. This would be perfect for me if instead of multiple pages I could use multiple columns.
    Thank you,
    Peter

    Thank you.
    I think I see now how to format the columns.
    Peter
    Edited by: Peter Afonin on Sep 10, 2010 2:34 PM

  • How to print blank records after the detail records in a masterdetail report

    Hi,
    Developing a report for time and attendance record. In this report I am printing all the employees in a department, limiting the no. of records per page to 10.
    I need to insert blank lines at the end of all of the detail records in a page that has less than 10 employee records so that the no. of records displayed on a page can always be 10(these blank lines will facilitate the management to note down the temporary employees who worked for the department but are not part of the department).
    I am using a tabular form with group above layout.
    The report layout is as follows:
    Department : FINANCE & ADMINISTRATION
    Employee Name | Employee Number |
    1 Jim | 1234 | _________________
    2 John | 5678 |__________________
    3 blank
    4 blank
    5
    6
    7
    8
    9
    10 balnk
    Supervisor's Sign:______________________
    Note: the no. of blank lines should be inserted dynamically based on the no. of emp. records being printed on the page.
    Any help is greatly appreciated.
    Thanks in advance.
    Kavita.

    Your solution works when I am not limiting the no. of records per page for a department to 10 records and when I want to print blanks lines for the depts that has fewer than 10 employees in it.
    Exactly in my report I have several dept's that has more than 10 emp's. In such cases I'll be printing first 10 in one page and the rest in the next page. Now I want to dynamically print the blank lines in the second page depending on the no. of emp's on that page. I tried to acheive this by using a CS column that reset's at page level but, REPORTS is not letting me use CS column that reset's at page level in a format trigger. I also tried to copy the CS value into a parameter and or to a Place holder column and did not help.
    Any more work around ideas to acheive this?? please help.
    Thanks alot
    Kavita.
    Hi
    Create a column called Serial_No in ur emloyee query like this
    select 1 , empno ,ename from emp;
    Create a summary column on the serial column with the function SUM
    and resetting it to Page
    Display the column in the report by using the text color as white
    so it doesn't display in the report
    I think this should help u i believe
    Sri
    Hi,
    Developing a report for time and attendance record. In this report I am printing all the employees in a department, limiting the no. of records per page to 10.
    I need to insert blank lines at the end of all of the detail records in a page that has less than 10 employee records so that the no. of records displayed on a page can always be 10(these blank lines will facilitate the management to note down the temporary employees who worked for the department but are not part of the department).
    I am using a tabular form with group above layout.
    The report layout is as follows:
    Department : FINANCE & ADMINISTRATION
    Employee Name | Employee Number |
    1 Jim | 1234 | _________________
    2 John | 5678 |__________________
    3 blank
    4 blank
    5
    6
    7
    8
    9
    10 balnk
    Supervisor's Sign:______________________
    Note: the no. of blank lines should be inserted dynamically based on the no. of emp. records being printed on the page.
    Any help is greatly appreciated.
    Thanks in advance.
    Kavita.

  • How To Print Field Value in TOP-OF-PAGE During Line Selection.

    How To Print Field Value in TOP-OF-PAGE During Line Selection when double click on field.

    (If my memory serves me well (not used for long time ago)
    Assign values to system fields sy-tvar0 - sy-tvar9, they will replace the placeholders "&0" through "&9" in the list headers and column headers.
    TOP-OF-PAGE DURING LINE-SELECTION.
         WRITE: / 'Interactive Report &3'.
      WRITE record-vbeln TO sy-tvar3.
    Regards,
    Raymond

  • How to print Integrity sql in the preparedstatement?

    How to print Integrity sql in the preparedstatement?
    Connection conn = null;
    String sql = "select * from person where name=?";
    PreparedStatement ps = conn.prepareStatement(sql);
    ps.setObject(1, "robin");
    ps.executeQuery();
    i'm wants print Integrity sql.
    For example:select * from person where name='robin'
    How should I do?
    thanks a lot!

    PreparedStatement doesn't offer methods for that. You can write your own implementation of PreparedStatement which wraps the originating PreparedStatement and saves the set* values and writes it to the toString().
    If needed, myself I just print the sql as well as the values-being-set to the debug statement.Logger.debug(query + " " + values);

  • Please help : How to print a matrix from the console...

    Hi..
    Please help:
    How to print a matrix on the console , but i want to take all the input from the console.. like...
    if the matrix is of size...
    mxn
    where
    m : row
    n : column
    and the all the elements of the matrix from the console it self... .
    Please help...

    Thanks...
    I am able to print the elements of the array but i am not able to assign those values to the array ....
    How to do that...
    I just did a little change in my code...
    import java.util.Scanner;
    public class CreatingAMatrix {
        public static void main(String[] args) {
         // TODO Auto-generated method stub
         System.out.print("Enter the number of rows: ");
         Scanner scanner1 = new Scanner(System.in);
         int m = scanner1.nextInt();
         System.out.print("Enter the number of coulmns:");
         Scanner scanner2 = new Scanner(System.in);
         int n = scanner2.nextInt();
         System.out.println("The size of the matrix is : " +m+" x "+n );
         int[][] a = new int[100][100];
         for(int i=0;i<=m;i++)
             for(int j =0; j <= n; j++)
              Scanner scanner3 = new Scanner(System.in);
              int o = scanner3.nextInt();
             System.out.println();
         for(int i=0;i<=m;i++)
             for(int j =0; j <= n; j++)
              System.out.print(a[i][j] + "\t");
             System.out.println();
    }I am getting an output as this
    output:
    Enter the number of rows: 2
    Enter the number of coulmns:1
    The size of the matrix is : 2 x 1
    1
    2
    1
    2
    3
    5
    0     0     
    0     0     
    0     0     
    how should i assig those input values to my array..
    Please help

  • How to get maximal value from the data/class for show in Map legend

    I make WAD report that using Map Web Item.
    I devide to four (4) classes for legend (Generate_Breaks).
    I want to change default value for the class by javascript and for this,
    I need to get maximal value from the class.
    How to get maximal value from the data/class.
    please give me solution for my problem.
    Many Thx
    Eddy Utomo

    use this to get the following End_date
    <?following-sibling::../END_DATE?>
    Try this
    <?for-each:/ROOT/ROW?>
    ==================
    Current StartDate <?START_DATE?>
    Current End Date <?END_DATE?>
    Next Start Date <?following-sibling::ROW/END_DATE?>
    Previous End Date <?preceding-sibling::ROW[1]/END_DATE?>
    ================
    <?end for-each?>
    o/p
    ==================
    Current StartDate 01-01-1980
    Current End Date 01-01-1988
    Next Start Date 01-01-1990
    Previous End Date
    ================
    ==================
    Current StartDate 01-01-1988
    Current End Date 01-01-1990
    Next Start Date 01-01-2005
    Previous End Date 01-01-1988
    ================
    ==================
    Current StartDate 01-01-2000
    Current End Date 01-01-2005
    Next Start Date
    Previous End Date 01

  • How to select multiple values from the parameters in BI Publisher report

    How to select multiple values from the parameter drop down in BI Publisher, and how to handle this mulitple values from the report sql...

    Hi kishore,
    I have used all the steps as you mentioned in your previous reply....including checking Mulitple Selection Check Box..
    Iam able to get the results when I am selecting one value..
    and also I am able to handle multiple values the in the query by using IN :Parameter, but seems when we select more than one value from the parameter drop down i think the Bi Publisher is sending the values in concatenated form something ilke
    ex: "'ACCOUNT','HR','SALES'" ,and when trying to display the parameters values in the output, its throwing the error as 'missing right paranthesis' ....on the whole do you have any solution which would handle
    1.Single selection.
    2.Multiple selection.
    3.'ALL' Values.
    4.Separating the concatenated string into individual strings and dispaly them on the output of the report..etc..in case of Mulitple selection.
    Ex:
    Concatenated String from BI Publisher:"'ACCOUNT','HR','SALES'"
    Expected Output on the report:ACCOUNT,HR,SALES
    reply to this would be much appreciated....
    thanks,
    manoj

  • How to select multiple values from the Parameters in the concurrent program

    How to select multiple values from the Parameters defined in the concurrent program...and i believe multiple selection is not a direct feature of EBS, but is there any workaround solution to acheive mulitple selection?

    I think there's no way to do that using standard feature.
    Some workaround I use :
    1. If the number of selections are fixed, you could use multiple parameters for the same valueset. For example :
    Selection1 : <choose first selection>
    Selection2: <choose 2nd selection>
    ..etc.
    If you don't use it then leave it empty.
    2. Use text varchar valueset and enter it manually and separate by comma (or other value) , eg : selection1,selection2,selection3....etc.

  • How to display(binding) values in the table from more than one node?

    Hi,
    I have two nodes (TRIPS & AMOUNTS)in the context. How to bind these values into the table control?
    When i bind second one, first one is getting replaced.

    Hi Mog,
    Of course it is possible to create a table from attributes of more than one node, and in some cases this is still necessary, but you have to do this the hard (manual) way.
    If you have a table control, have a look at the properties and the elements belonging to it.
    First of all, there is the property "dataSource", which binds to a multiple node (let's name it TableRootNode). This means that for each element of THIS node, one row is created. In each row the data of exactly one element of this TableRootNode is displayed.
    Then you have columns in this table. Inside of the columns there is a header and an editor. The editor is the interesting part.
    Normally the primary property of this editor is bound to an attribute of the TableRootNode. Then everything works as expected. If it binds to an attribute of a subnode (SUB) of TableRootNode, then in row i the data of the subnode of the i-th element of TableRootNode is displayed. There is no need for SUB to be a multiple node, but it must not be a singleton.
    If you bind a property of the editor to an attribute, which does not lie in the subtree of TableRootNode, then you will see the same value in each row.
    Now it depends on the structure of your context. Take the node, which is relevant for the change in each row (I assume it is TRIPS) and bind the table to the node as you are used to. Then for each additional column, you have to create a new column in the tree, create a new header element with a title and a new editor (e.g. textview or inputfield) and then bind the right property of the editor to the corresponding attribute in node AMOUNTS).
    If these 2 nodes do not have parent-child-relationship, the tip to create a new node, which consists of the attributes of both nodes is the only solution.
    Ciao, Regina

  • SMP 3.0: how to handle header values in the SOAP WS using Integration Gateway

    Hi Experts,
    We have a requirement from our current customer where they are providing us a SOAP WS.For one of the method we are passing “username” & “password” as input parameters and getting one security key (some unique number) in the response. We are able to do OData modeling for the same method. So far, it is fine.
    For other method, we have to pass that ”security key” in header along with some other parameters in the body section. While doing the request mapping for this method, we don’t see any option for this key parameter apart from those parameters (in that body section).
    We found one publicly available WSDL to reproduce the same scenario:
    e.g http://api.geosvc.com/services/soap?wsdl . To access its one of the method/operation GetPlace,We have to pass APiKey and Cursor value in the header section.
    <wsdl:message name="GetPlaceRq_Headers">
    <wsdl:part name="ApiKey" element="tns:ApiKey"/>
    <wsdl:part name="Cursor" element="tns:Cursor"/>
    To get APiKey, we have to register first. http://www.geosvc.com/register , once its done, you will get one APiKey as below:
    The same API key has to pass to access “GetPlace” method. So we tried it in SOAP UI to understand how exactly it should work:
    As you can see below, for the method “GetPlace”, we are passing values as in:
    Header Value
    Cursor
    blank
    ApiKey
    df7f8cc90e3345b4980cf6631f33a32d
    Body
    Country
    US
    Place
    HOLLYWOOD,CA
    Also got the response.
    When we do modeling (more precisely request mapping as below) for the same method we don’t see any Header related parameters. We can see only parameters which are available in the BODY section.
    We thought if we can get APIKey parameter in the body sections only, then it would be easy to map with. Right?
    What do you suggest how we should handle this kind of scenarios?
    CC: Mustafa Saglam, Jeff Gebo, Bjoern Woppmann
    Regards,
    JK

    Unfortunately the public example is a slightly different use case.  You have to register to get a static API key that is used in all calls.  That is something you would hard code into the headers.
    I think you are asking about a dynamic key they changes on each login.  It would be great if we had a public one that upon login returned a unique session key to be used in subsequent calls so we could better test and model accordingly.
    If you were using Agentry the answer would be yes you can do this.
    --Bill

  • How to print/store in file the ref cursor in pl/sql block ?

    How to print/store in file the ref cursor in pl/sql block ?.

    How to print/store in file the ref cursor in pl/sql block ?.You question is quite confusing?
    So, i'm providing link in this manner.
    For RefCursor,
    http://www.oracle-base.com/articles/misc/UsingRefCursorsToReturnRecordsets.php
    http://www.oracle.com/technology/oramag/code/tips2003/042003.html
    For UTL_FILE,
    http://www.morganslibrary.org/reference/utl_file.html
    Regards.
    Satyaki De.
    Updated with new morgan library link.
    Edited by: Satyaki_De on Feb 24, 2010 9:03 PM

  • How to set default values on the screen painter parameters?

    Hello ABAP Gurus,
    I would just want to ask how to set default values on the screen painter parameters.
    Thank you for your replies.

    Hi,
    To set default values for screen painter parameters initialize the field names with default values in the PBO module....
    say u have the field name as f_field1....
    in the PBO of that screen initialize it....
    f_field1 = '100'  "here 100 is the default value.
    <b>reward points if useful.</b>
    regards,
    Vinod Samuel.

  • How to add field value to the standard table

    Hi,
    How to add field value to the standard table?
    for example:
    when we go to TCODE SE16-> VBAK table -> on the selection screen if we press F4 against VBTYP we get all the available values for that field. How to add a new document Category value to this field so that it shows up in F4 help for that field.

    Hi Asif,
    I don't think it is possible and feasible for adding new field value to the field VBTYP because it is not possible through SPRO.
    If u see the domain of this field VBTYP we have fixed values provided by SAP. There is no value table for this. If u have value table then it will be updated through SPRO. But still if u really want to add some value u can do that by getting access key and add the value in the fixed values of the domain. But of no use other than simply displaying in F4. Because for what ever value u created here there will be no documents in VBAK or any table using this domain.
    Hope this is clear for u.
    Thanks,
    Vinod.

  • How to pass a value to the export parameter for a method (public instance)?

    Hello,
      I am trying ABAP OO newly. How to pass a value to the export parameter for a method (public instance) called in a report? This *export parameter has a reference type of structure.
    Thanks in advance,
    Ranjini

    Hi,
    "class definition
    class lcl... definition.
      public section.
        method m1 imporitng par type ref to data.  "now you can pass any reference to the method, but this way you have to maintain this reference dynamically inside the method (you can't be sure what that reference is really "pointing" at)
    endclass.
    "in program
    data: r_lcl type ref to lcl...
    create object r_lcl.
    call method r_lcl
      exporting
         par    =  "pass any reference variable here
    Regards
    Marcin

Maybe you are looking for