How to use table name dynamically in report  procedure

Hello every body
I want to use table name dynamically means at runtime i want to pass table name.
I can do this by lexical parameter in main query.
But my problem is that i want to crate new format trigger or new function that use 1 cursor in which that lexical parameter : table name is used.
so how to do that?
i can not use that lexical parameter it is giving error.
please help me how to do that.

Call a database function which you pass the lexical parameter. Then in the database function you use dynamic sql or the execute immediate option to build the SQL string.
Return the information from this function to build your business logic on in your format trigger.
Marcos

Similar Messages

  • Problem in using table name dynamically in PL/SQL

    I tried to create a procedure to use table name dynamically and got the following error. Anything wrong with my procedure?
    NFADV>declare
      2   cnt number;
      3   cursor cur is select table_name from user_tables where table_name in ('EMP','DEPT');
      4  begin
      5   for c1 in cur
      6   loop
      7    execute immediate select count(*) into cnt from c1.table_name;
      8      dbms_output.put_line('Count is : '||cnt);
      9   end loop;
    10  end;
    11  /
    declare
    ERROR at line 1:
    ORA-06550: line 7, column 21:
    PLS-00103: Encountered the symbol "SELECT" when expecting one of the following:
    ( - + case mod new not null <an identifier>
    <a double-quoted delimited-identifier> <a bind variable> avg
    count current exists max min prior sql stddev sum variance
    execute forall merge time timestamp interval date
    <a string literal with character set specification>
    <a number> <a single-quoted SQL string> pipe
    <an alternatively-quoted string literal with character set specification>
    <an alternatively-quo
    ORA-06550: line 8, column 5:
    PLS-00103: Encountered the symbol "DBMS_OUTPUT"
    ORA-06550: line 8, column 45:
    PLS-00103: Encountered the symbol ";" when expecting one of the following:
    . ( , * % & - + / at mod remainder rem <an identifier>
    <a double-quoted delimited-identifier> <an exponent (**)> as
    from into || multiset bulkThanks and Regards
    Kaustubh

    Hi,
    The wrong part is in execute immediate, it should be as follows:
    execute immediate ('select count(*) from '|| c1.table_name)
    into cnt
    (not tested)
    Regards
    AK

  • How to populate table name dynamically to a ref cursor

    Hi,
    I came accross with a requirement that in ref cursor how can i pass the table name
    for ex
    open ref_cur for select * from emp;Like that i've some 100 tables , instead of typing each and every time the table name
    that should be dynamically changed
    Like below
    open ref_cur for select * from &tbl_nm;How can i do that??
    Thank you

    I assume you are using SQL*Plus:
    SQL> variable ref_cur refcursor;
    SQL> begin
      2      open :ref_cur for select * from &tbl_nm;
      3  end;
      4  /
    Enter value for tbl_nm: emp
    old   2:     open :ref_cur for select * from &tbl_nm;
    new   2:     open :ref_cur for select * from emp;
    PL/SQL procedure successfully completed.
    SQL> print ref_cur
         EMPNO ENAME      JOB              MGR HIREDATE                   SAL       COMM     DEPTNO
          7369 SMITH      CLERK           7902 12/17/1980 00:00:00        800                    20
          7499 ALLEN      SALESMAN        7698 02/20/1981 00:00:00       1600        300         30
          7521 WARD       SALESMAN        7698 02/22/1981 00:00:00       1250        500         30
          7566 JONES      MANAGER         7839 04/02/1981 00:00:00       2975                    20
          7654 MARTIN     SALESMAN        7698 09/28/1981 00:00:00       1250       1400         30
          7698 BLAKE      MANAGER         7839 05/01/1981 00:00:00       2850                    30
          7782 CLARK      MANAGER         7839 06/09/1981 00:00:00       2450                    10
          7788 SCOTT      ANALYST         7566 04/19/1987 00:00:00       3000                    20
          7839 KING       PRESIDENT            11/17/1981 00:00:00       5000                    10
          7844 TURNER     SALESMAN        7698 09/08/1981 00:00:00       1500          0         30
          7876 ADAMS      CLERK           7788 05/23/1987 00:00:00       1100                    20
         EMPNO ENAME      JOB              MGR HIREDATE                   SAL       COMM     DEPTNO
          7900 JAMES      CLERK           7698 12/03/1981 00:00:00        950                    30
          7902 FORD       ANALYST         7566 12/03/1981 00:00:00       3000                    20
          7934 MILLER     CLERK           7782 01/23/1982 00:00:00       1300                    10
    14 rows selected.
    SQL> begin
      2      open :ref_cur for select * from &tbl_nm;
      3  end;
      4  /
    Enter value for tbl_nm: dept
    old   2:     open :ref_cur for select * from &tbl_nm;
    new   2:     open :ref_cur for select * from dept;
    PL/SQL procedure successfully completed.
    SQL> print ref_cur
        DEPTNO DNAME          LOC
            10 ACCOUNTING     NEW YORK
            20 RESEARCH       DALLAS
            30 SALES          CHICAGO
            40 OPERATIONS     BOSTON
    SQL> SY.

  • How to use table name as variable in insert statement

    Hi,
    I want to insert data from the cursor into the table and I want to submit table name as a variable. I tried the code below but it's not working. Any ideas how to solve this problem? Thx
    DECLARE
    v_new_table_name VARCHAR2(30) := 'test';
    --open cursor   
    CURSOR ACM IS
    SELECT *
    FROM DWH.CLI_DIMENSION@SLSPDW CLI
    WHERE where_clause
    FROM some_table;
    BEGIN
    FOR REC_ACM IN ACM LOOP
    EXECUTE IMMEDIATE 'INSERT INTO ' || v_new_table_name || ' VALUES REC_ACM'; --table name as a variable in which the data from cursor will be inserted
    V_ROWCOUNT := V_ROWCOUNT + 1;
    IF MOD(V_ROWCOUNT, 100) = 0 THEN --this feature commits after 100 rows.
    COMMIT;
    END IF;
    END LOOP;
    COMMIT;
    DBMS_OUTPUT.PUT_LINE('Number of inserted records:' || V_ROWCOUNT);
    END;

    Try this and let me know if it works. I have not tested it so I can not say for sure.
    DECLARE
      v_new_table_name VARCHAR2(30) := 'test';
      CURSOR ACM IS
        SELECT * FROM DWH.CLI_DIMENSION@SLSPDW CLI
                WHERE where_clause
                FROM some_table;
      BEGIN
      loop
       fetch ACM INTO REC_ACM
       exit when ACM%NOTFOUND;
       EXECUTE IMMEDIATE 'INSERT INTO ' || v_new_table_name || ' VALUES REC_ACM';
       V_ROWCOUNT := V_ROWCOUNT + 1;
       IF MOD(V_ROWCOUNT, 100) = 0 THEN
        COMMIT;
       END IF;
      end loop;
      COMMIT;
      DBMS_OUTPUT.PUT_LINE('Number of inserted records:' || V_ROWCOUNT);
      END;

  • How to Use Table name at run time

    Hi All
    I have created a function that accepts a table name as a parameter and returns the maximam sequence number, but in my function body i can not write the parameter name as a table i.e.
    CREATE OR REPLACE FUNCTION MAX_ID(TAB_NAME Varchar)
    RETURN Number IS
    max_id Number;
    CURSOR curSalPoint IS
         SELECT MAX(EMP_NUMBER)
         FROM TAB_NAME ;
    BEGIN
    max_id:=0;
    OPEN curSalPoint ;
         FETCH curSalPoint INTO max_id;
         CLOSE curSalPoint;
    RETURN max_id
    END
    But it will give an error saying
    (1):PL/SQL: ORA-00942: table or view does not exist
    for "TAB_NAME"
    Any help would be appreciate ........

    Yes, as i contcatinated table name with the original statement, so you can also continate fields' names with your statment and execute immediate the statement.
    Sorry i forgot this statement in my function, to execute the statement you need to include following statement
    CREATE OR REPLACE FUNCTION MAX_ID(TAB_NAME Varchar)
    RETURN Number IS
    max_id Number;
    query varchar2(200);
    BEGIN
    max_id:=0;
    query:=null;
    query := query || 'select max(empno) into max_id from'|| tab_name;
    EXECUTE IMMEDIATE query;
    RETURN max_id;
    END;
    Message was edited by:
    Salman Qureshi

  • How to use "machine name" in new report vi?

    I have a computer on a network that has Microsoft excel installed. On another computer I have an application that will take an excel file and stuff a bunch of data from a database into specific cells to generate a report. The vi works fine on my computer (where excel is loaded locally) but when I try and run the VI and access excel remotely I get an error message as follows:
    Error -41106 occurred at NI_Excel.lvclass:new report subVI.vi -> NI_report.lvclass:New Report.vi -> printTestSheet.vi
    Possible reason(s):
    Report Generation Toolkit: Microsoft Word or Excel did not open. Make sure Microsoft Word or Excel is installed.
    Error -41106 occurred at NI_Excel.lvclass:new report subVI.vi -> NI_report.lvclass:New Report.vi -> printTestSheet.vi
    Possible reason(s):
    Report Generation Toolkit: Microsoft Word or Excel did not open. Make sure Microsoft Word or Excel is installed.
    I have included the ip address of the remote machine to the "machine name" input of the "New Report" vi.
    Any suggestions/solutions?
    Gerry Thompson

    Hi Gerry,
    One reason that you may get this error is if Distributed COM wasn't enabled on the remote machine. See this Microsoft KB for how to check or enable that functionality.
    If that doesn't help; let me know, and I'll try to setup a similar test case on my end. The process isn't well documented, and I haven't seen any existing examples, so I'd like to see what it takes to get it running.
    All the best,
    Fred V -- Product Support Engineer -- LabVIEW R&D -- National Instruments

  • How to use table name as variable

    P.s. I wish to send a tablename through a function as a variable
    and then want to make a use in sql query. How can I make a use
    of it.
    null

    Rajeev Grover (guest) wrote:
    : P.s. I wish to send a tablename through a function as a
    variable
    : and then want to make a use in sql query. How can I make a use
    : of it.
    Use the dbms_sql package.
    E.g.
    DECLARE
    tbl_name VARCHAR2(40);
    cur_stmt VARCHAR2(2000);
    cur_hndl INTEGER;
    BEGIN
    cur_stmt :=
    'SELECT column1, column2, column3, ... '

  • How to pass the table name dynamically in xml parsing

    Hi All,
    I have created one procedure for parsing xml file which is working perfectly.
    FORALL i IN t_tab.first .. t_tab.last
             INSERT INTO Test_AP VALUES t_tab(i);Now I want to put the table name dynamically+. For that I have added one query and modify above code as follow:-
    I have already declare dml_str varchar2(800) in declaration part.
    Query is as follows:-
    select table_name into tab_name from VERSION_DETAILS where SUBVERSION_NO=abc;  -- here abc is variable name which contains values.
    FORALL i IN t_tab.first .. t_tab.last
              dml_str := 'INSERT INTO ' || tab_name || ' values :vals';
              EXECUTE IMMEDIATE dml_str USING t_tab(i);But it's not working. How I will resolve this or through which way I achieved the intended results. Anyone can guide me on this matter.
    Thanks in advance for your help...

    Hi,
    But it's not working.Don't you think it would help to give the error message?
    Put the assignment before FORALL.
    FORALL only accepts one subsequent DML statement (static or dynamic SQL) :
    dml_str := 'INSERT INTO ' || tab_name || ' values :vals';
    FORALL i IN t_tab.first .. t_tab.last          
    EXECUTE IMMEDIATE dml_str USING t_tab(i);

  • How to find the list of un used table names in a schema?

    Hi,
    I have a doubt in Oracle. The doubt is that If we are using any tables in Function Or Proc.... Then...We can list all those used table names from USER_DEPENDENCIES system table. Right...
    But, If the table is used with Execute Immediate Statement, then, those table names are not coming out with USER_DEPENDENCIES system table. Because they are identified at run time and not compile time.
    It is fine. And I agree.. But, If I want to list out those tables also...then...How to do? Any idea?
    I think ‘USER_SOURCE’ system table may not be the right one. If there is any other system table avails for this purpose...then..it would be very grateful to extract right...
    So I am wanting that exact system table.
    Please let me know about this, if you have any idea or check with your friends if they have any idea.
    Regards,
    Subramanian G

    Hi Guys,
    Thanks for all your answers.
    Yes....You are all right. We can list out the used tables upto certain extent. Anyhow, I have done some R&D to derive the SQL's which is given below:
    SELECT TABLE_NAME FROM USER_TABLES
    MINUS
    SELECT DISTINCT UPPER(REFERENCED_NAME)
    FROM user_dependencies
    where
    referenced_type='TABLE' and UPPER(NAME) in
    select distinct UPPER(object_name) from user_objects where UPPER(object_type) in
    'MATERIALIZED VIEW',
    'PACKAGE',
    'PACKAGE BODY',
    'PROCEDURE',
    'TRIGGER',
    'VIEW',
    'FUNCTION'
    UNION
    SELECT UT.TABLE_NAME FROM
    SELECT TABLE_NAME FROM USER_TABLES
    MINUS
    SELECT DISTINCT UPPER(REFERENCED_NAME)
    FROM user_dependencies
    where
    referenced_type='TABLE' and UPPER(NAME) in
    select distinct UPPER(object_name) from user_objects where UPPER(object_type) in
    'MATERIALIZED VIEW',
    'PACKAGE',
    'PACKAGE BODY',
    'PROCEDURE',
    'TRIGGER',
    'VIEW',
    'FUNCTION'
    AND REFERENCED_OWNER=(SELECT sys_context('USERENV', 'CURRENT_SCHEMA') FROM dual)
    ) UT,
    ( SELECT * FROM USER_SOURCE
    WHERE NAME IN
    ( SELECT DISTINCT NAME FROM USER_SOURCE
    WHERE TYPE NOT IN ('TYPE')
    AND
    UPPER(TEXT) LIKE '%EXECUTE IMMEDIATE%'
    ) US
    WHERE
    UPPER(US.TEXT) LIKE '%'||UPPER(UT.TABLE_NAME)||'%'
    AND
    (UPPER(US.TEXT) NOT LIKE '%--%')
    The above SQL Query can list out unused tables by checking the Dynamic SQL Statement also upto some level only.
    Once we extracted the list of unused tables, having a manual check would be also greater to verify as it is should not impact the business applications.
    Regards,
    Subramanian G

  • Using Table name in Read statement dynamically

    Hi Experts,
    I have the following requirement.
    Based on a country code say "A" , "B", "C" and based on this i have to read different internal tables lt_tabA, lt_tabB and lt_tabC.
    The table key can be given dynamically, but how can i use the internal table name dynamically without using if statements.
    Please help.
    Thanks!
    Best Regards,
    Gayathri

    Hi Gayathri,
    something like
    DATA:
        lt_t100 TYPE TABLE OF t100,
        lt_t000 TYPE TABLE OF t000.
      FIELD-SYMBOLS:
        <table> TYPE table,
        <rec>   TYPE ANY,
        <field> TYPE ANY.
      SELECT:
        * INTO CORRESPONDING FIELDS OF TABLE lt_t100 FROM t100 UP TO 10 ROWS,
        * INTO CORRESPONDING FIELDS OF TABLE lt_t000 FROM t000 UP TO 10 ROWS.
      CASE abap_true.
        WHEN space.
          ASSIGN  lt_t100 TO <table>.
        WHEN OTHERS.
          ASSIGN  lt_t000 TO <table>.
      ENDCASE.
      READ TABLE <table> with key ('MANDT') = sy-mandt ASSIGNING <rec>.
    Regards,
    Clemens

  • How to use table control in bdc, plz somebody tell me.

    Hi Gurus,
    Ples tell me
    how to use table control in bdc, plz somebody tell me.
    And send Sample CODE also. Thnaks in advance.

    hi,
    Table control / step loop in BDC
    Steploop and table contol is inevitable in certain transactions. When we run BDC for such transactions, we will face the situation: how many visible lines of steploop/tablecontrol are on the screen?
    Although we can always find certain method to deal with it, such as function code 'NP', 'POPO', considering some extreme situation: there is only one line visible one the screen, our BDC program should display an error message. (See transaction 'ME21', we you resize your screen to let only one row visible, you can not enter mutiple lines on this screen even you use 'NP')
    we can determine the number of visible lines on Transaction Screen from our Calling BDC program.
    Demo ABAP code has two purposes:
    1. how to determine number of visible lines and how to calculte page number;
    (the 'calpage' routine has been modify to meet general purpose usage)
    2. using field symbol in BDC program, please pay special attention to the difference
    in Static ASSIGN and Dynamic ASSIGN.
    Step1: go to screen painter to display the screen 121, then we can count the fixed line on this screen, there is 7 lines above the steploop and 2 lines below the steploop, so there are total 9 fixed lines on this screen. This means except these 9 lines, all the other line is for step loop.
    Then have a look at steploop itselp, one entry of it will occupy two lines.
    (Be careful, for table control, the head and the bottom scroll bar will possess another two fixed lines, and there is a maximum number for table line)
    Now we have : FixedLine = 9
    LoopLine = 2(for table control, LoopLine is always equal to 1)
    Step2: go to transaction itself(ME21) to see how it roll page, in ME21, the first line of new page is always occupied by the last line of last page, so it begin with index '02', but in some other case, fisrt line is empty and ready for input.
    Now we have: FirstLine = 0
    or FirstLine = 1 ( in our case, FirstLine is 1 because the first line of new page is fulfilled)
    Step3: write a subroutine calcalculating number of pages
    (here, the name of actual parameter is the same as formal parameter)
    global data: FixedLine type i, " number of fixed line on a certain screen
    LoopLine type i, " the number of lines occupied by one steploop item
    FirstLine type i, " possbile value 0 or 1, 0 stand for the first line of new " scrolling screen is empty, otherwise is 1
    Dataline type i, " number of items you will use in BDC, using DESCRIBE to get
    pageno type i, " you need to scroll screen how many times.
    line type i, " number of lines appears on the screen.
    index(2) type N, " the screen index for certain item
    begin type i, " from parameter of loop
    end type i. " to parameter of loop
    *in code sample, the DataTable-linindex stands for the table index number of this line
    form calpage using FixedLine type i (see step 1)
    LoopLine type i (see step 1)
    FirstLine type i (see step 2)
    DataLine type i ( this is the item number you will enter in transaction)
    changing pageno type i (return the number of page, depends on run-time visible line in table control/ Step Loop)
    changing line type i.(visible lines one the screen)
    data: midd type i,
    vline type i, "visible lines
    if DataLine eq 0.
    Message eXXX.
    endif.
    vline = ( sy-srows - FixedLine ) div LoopLine.
    *for table control, you should compare vline with maximum line of
    *table control, then take the small one that is min(vline, maximum)
    *here only illustrate step loop
    if FirstLine eq 0.
    pageno = DataLine div vline.
    if pageno eq 0.
    pageno = pageno + 1.
    endif.
    elseif FirstLine eq 1.
    pageno = ( DataLine - 1 ) div ( vline - 1 ) + 1.
    midd = ( DataLine - 1 ) mod ( vline - 1).
    if midd = 0 and DataLine gt 1.
    pageno = pageno - 1.
    endif.
    endif.
    line = vline.
    endform.
    Step4 write a subroutine to calculate the line index for each item.
    form calindex using Line type i (visible lines on the screen)
    FirstLine type i(see step 2)
    LineIndex type i(item index)
    changing Index type n. (index on the screen)
    if FirstLine = 0.
    index = LineIndex mod Line.
    if index = '00'.
    index = Line.
    endif.
    elseif FirstLine = 1.
    index = LineIndex mod ( Line - 1 ).
    if ( index between 1 and 0 ) and LineIndex gt 1.
    index = index + Line - 1.
    endif.
    if Line = 2.
    index = index + Line - 1.
    endif.
    endif.
    endform.
    Step5 write a subroutine to calculate the loop range.
    form calrange using Line type i ( visible lines on the screen)
    DataLine type i
    FirstLine type i
    loopindex like sy-index
    changing begin type i
    end type i.
    If FirstLine = 0.
    if loopindex = 1.
    begin = 1.
    if DataLine <= Line.
    end = DataLine.
    else.
    end = Line.
    endif.
    elseif loopindex gt 1.
    begin = Line * ( loopindex - 1 ) + 1.
    end = Line * loopindex.
    if end gt DataLine.
    end = DataLine.
    endif.
    endif.
    elseif FirstLine = 1.
    if loopindex = 1.
    begin = 1.
    if DataLine <= Line.
    end = DataLine.
    else.
    end = Line.
    endif.
    elseif loop index gt 1.
    begin = ( Line - 1 ) * ( loopindex - 1 ) + 2.
    end = ( Line - 1 ) * ( loopindex - 1 ) + Line.
    if end gt DataLine.
    end = DataLine.
    endif.
    endif.
    endif.
    endform.
    Step6
    using field sysbol in your BDC, for example: in ME21, but you should calculate each item will correponding to which index in steploop/Table Control
    form creat_bdc.
    field-symbols: , , .
    data: name1(14) value 'EKPO-EMATN(XX)',
    name2(14) value 'EKPO-MENGE(XX)',
    name3(15) value 'RM06E-SELKZ(XX)'.
    assign: name1 to ,
    name2 to ,
    name3 to .
    do pageno times.
    if sy-index gt 1
    *insert scroll page ok_code"
    endif.
    perform calrange using Line DataLine FirstLine sy-index
    changing begin end.
    loop at DataTable from begin to end.
    perform calindex using Line FirstLine DataTable-LineIndex changing Index.
    name1+11(2) = Index.
    name2+11(2) = Index.
    name3+12(2) = Index.
    perform bdcfield using DataTable-matnr.
    perform bdcfield using DataTable-menge.
    perform bdcfield using DataTable-indicator.
    endloop.
    enddo.
    example 1
    BDC table control is an area on the screen in which you can display data in tabular form. You process it using a loop. Table controls are comparable to step loop tables. While a table control consists of a single definition row, step loop blocks may extend over more than one row. Table controls are more flexible than step loops, and are intended to replace them
    When you need to handle a scenario like in sales order,it may contain more than one material,if you have more than one material We have to use table control,it will have number of columns and number of rows.
    Table controls allow you to enter, display, and modify tabular data easily on the screen
    Check this code,
    PARAMETERS: file1 LIKE rlgrap-filename.
    *Internal Table Declarations
    DATA: BEGIN OF itab OCCURS 0,
    matnr(18) TYPE c, "MaterialNumber
    werks(4) TYPE c, "Plant
    vdatu(10) TYPE c, "Valid From Date
    bdatu(10) TYPE c, "Valid To Date
    lifnr(10) TYPE c, "Vendor Number
    ekorg(4) TYPE c, "Purchasing Organization
    feskz TYPE c, "Fixed
    autet TYPE c, "MRP Indicator
    END OF itab.
    DATA: bdcdata LIKE TABLE OF bdcdata WITH HEADER LINE.
    *VARIABLES Declarations
    DATA: wa1 LIKE LINE OF itab. "Workarea for ITAB
    DATA: n TYPE i, "Check
    count TYPE i.
    DATA: cnt(2), "Counter
    wa(15). "Workarea to hold concatenatedvalue
    DATA v_msg(100).
    DATA: flag.
    DATA: file TYPE string.
    *Initialization event
    INITIALIZATION.
    *At-selection-screen event
    *To provide Input help for file name
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR file1.
    CALL FUNCTION 'F4_FILENAME'
    EXPORTING
    program_name = syst-cprog
    dynpro_number = syst-dynnr
    IMPORTING
    file_name = file1.
    *START-OF-SELECTION EVENT
    START-OF-SELECTION.
    MOVE file1 TO file.
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    filename = file
    filetype = 'ASC'
    has_field_separator = 'X'
    TABLES
    data_tab = itab
    EXCEPTIONS
    file_open_error = 1
    file_read_error = 2
    no_batch = 3
    gui_refuse_filetransfer = 4
    invalid_type = 5
    no_authority = 6
    unknown_error = 7
    bad_data_format = 8
    header_not_allowed = 9
    separator_not_allowed = 10
    header_too_long = 11
    unknown_dp_error = 12
    access_denied = 13
    dp_out_of_memory = 14
    disk_full = 15
    dp_timeout = 16
    OTHERS = 17.
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    *To populate BDCDATA and start data transfer
    LOOP AT itab .
    To validate Plant range
    IF itab-werks = '1000' OR itab-werks = '2000'
    OR itab-werks = '1008'.
    AT NEW werks.
    CLEAR: n.
    cnt = 1.
    PERFORM bdc_dynpro USING 'SAPLMEOR' '0200'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'EORD-MATNR'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    PERFORM bdc_field USING 'EORD-MATNR'
    itab-matnr.
    PERFORM bdc_field USING 'EORD-WERKS'
    itab-werks.
    PERFORM bdc_dynpro USING 'SAPLMEOR' '0205'.
    CONCATENATE 'EORD-EKORG(' cnt ')' INTO wa.
    PERFORM bdc_field USING 'BDC_CURSOR'
    wa.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=BU'.
    ENDAT.
    IF n = 12.
    READ TABLE bdcdata WITH KEY fval = '=BU'.
    bdcdata-fval = '=NS'.
    MODIFY bdcdata INDEX sy-tabix TRANSPORTING fval.
    PERFORM bdc_dynpro USING 'SAPLMEOR' '0205'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'EORD-VDATU(01)'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=BU'.
    cnt = 2.
    n = 2.
    ENDIF.
    CONCATENATE 'EORD-VDATU(' cnt ')' INTO wa.
    PERFORM bdc_field USING wa
    itab-vdatu.
    CONCATENATE 'EORD-BDATU(' cnt ')' INTO wa.
    PERFORM bdc_field USING wa
    itab-bdatu.
    CONCATENATE 'EORD-LIFNR(' cnt ')' INTO wa.
    PERFORM bdc_field USING wa
    itab-lifnr.
    CONCATENATE 'EORD-EKORG(' cnt ')' INTO wa.
    PERFORM bdc_field USING wa
    itab-ekorg.
    CONCATENATE 'RM06W-FESKZ(' cnt ')' INTO wa.
    PERFORM bdc_field USING wa
    itab-feskz.
    CONCATENATE 'EORD-AUTET(' cnt ')' INTO wa.
    PERFORM bdc_field USING wa
    itab-autet.
    IF n <> 12.
    n = cnt.
    ENDIF.
    cnt = cnt + 1.
    AT END OF werks.
    CALL TRANSACTION 'ME01' USING bdcdata
    UPDATE 'S'
    MODE 'A'.
    CLEAR:bdcdata,bdcdata[].
    CALL FUNCTION 'FORMAT_MESSAGE'
    EXPORTING
    id = sy-msgid
    lang = 'EN'
    no = sy-msgno
    v1 = sy-msgv1
    v2 = sy-msgv2
    v3 = sy-msgv3
    v4 = sy-msgv4
    IMPORTING
    msg = v_msg.
    WRITE:/ v_msg.
    CLEAR: bdcdata,bdcdata[],flag.
    ENDAT.
    ENDIF.
    ENDLOOP.
    Start new screen *
    FORM bdc_dynpro USING program dynpro.
    CLEAR bdcdata.
    bdcdata-program = program.
    bdcdata-dynpro = dynpro.
    bdcdata-dynbegin = 'X'.
    APPEND bdcdata.
    ENDFORM.
    Insert field values
    FORM bdc_field USING fnam fval.
    IF NOT fval IS INITIAL.
    CLEAR bdcdata.
    bdcdata-fnam = fnam.
    bdcdata-fval = fval.
    APPEND bdcdata.
    ENDIF.
    CLEAR wa.
    ENDFORM.
    Sample code 2
    THis is example to upload the Bank details of the Vendor which has the TC.
    REPORT zprataptable2
    NO STANDARD PAGE HEADING LINE-SIZE 255.
    DATA : BEGIN OF itab OCCURS 0,
    i1 TYPE i,
    lifnr LIKE rf02k-lifnr,
    bukrs LIKE rf02k-bukrs,
    ekorg LIKE rf02k-ekorg,
    ktokk LIKE rf02k-ktokk,
    anred LIKE lfa1-anred,
    name1 LIKE lfa1-name1,
    sortl LIKE lfa1-sortl,
    land1 LIKE lfa1-land1,
    akont LIKE lfb1-akont,
    fdgrv LIKE lfb1-fdgrv,
    waers LIKE lfm1-waers,
    END OF itab.
    DATA : BEGIN OF jtab OCCURS 0,
    j1 TYPE i,
    banks LIKE lfbk-banks,
    bankl LIKE lfbk-bankl,
    bankn LIKE lfbk-bankn,
    END OF jtab.
    DATA : cnt(4) TYPE n.
    DATA : fdt(20) TYPE c.
    DATA : c TYPE i.
    INCLUDE bdcrecx1.
    START-OF-SELECTION.
    CALL FUNCTION 'WS_UPLOAD'
    EXPORTING
    filename = 'C:\first1.txt'
    filetype = 'DAT'
    TABLES
    data_tab = itab.
    CALL FUNCTION 'WS_UPLOAD'
    EXPORTING
    filename = 'C:\second.txt'
    filetype = 'DAT'
    TABLES
    data_tab = jtab.
    LOOP AT itab.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0100'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'RF02K-KTOKK'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    PERFORM bdc_field USING 'RF02K-LIFNR'
    itab-lifnr.
    PERFORM bdc_field USING 'RF02K-BUKRS'
    itab-bukrs.
    PERFORM bdc_field USING 'RF02K-EKORG'
    itab-ekorg.
    PERFORM bdc_field USING 'RF02K-KTOKK'
    itab-ktokk.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0110'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LFA1-LAND1'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    PERFORM bdc_field USING 'LFA1-ANRED'
    itab-anred.
    PERFORM bdc_field USING 'LFA1-NAME1'
    itab-name1.
    PERFORM bdc_field USING 'LFA1-SORTL'
    itab-sortl.
    PERFORM bdc_field USING 'LFA1-LAND1'
    itab-land1.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0120'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LFA1-KUNNR'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LFBK-BANKN(01)'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=ENTR'.
    cnt = 0.
    LOOP AT jtab WHERE j1 = itab-i1.
    cnt = cnt + 1.
    CONCATENATE 'LFBK-BANKS(' cnt ')' INTO fdt.
    PERFORM bdc_field USING fdt jtab-banks.
    CONCATENATE 'LFBK-BANKL(' cnt ')' INTO fdt.
    PERFORM bdc_field USING fdt jtab-bankl.
    CONCATENATE 'LFBK-BANKN(' cnt ')' INTO fdt.
    PERFORM bdc_field USING fdt jtab-bankn.
    IF cnt = 5.
    cnt = 0.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LFBK-BANKS(01)'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=P+'.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LFBK-BANKN(02)'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=ENTR'.
    ENDIF.
    ENDLOOP.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LFBK-BANKS(01)'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=ENTR'.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0210'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LFB1-FDGRV'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    PERFORM bdc_field USING 'LFB1-AKONT'
    itab-akont.
    PERFORM bdc_field USING 'LFB1-FDGRV'
    itab-fdgrv.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0215'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LFB1-ZTERM'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0220'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LFB5-MAHNA'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0310'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LFM1-WAERS'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    PERFORM bdc_field USING 'LFM1-WAERS'
    itab-waers.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0320'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'RF02K-LIFNR'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=ENTR'.
    PERFORM bdc_dynpro USING 'SAPLSPO1' '0300'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=YES'.
    PERFORM bdc_transaction USING 'XK01'.
    ENDLOOP.
    PERFORM close_group.
    Header file:
    1 63190 0001 0001 0001 mr bal188 b in 31000 a1 inr
    2 63191 0001 0001 0001 mr bal189 b in 31000 a1 inr
    TC file:
    1 in sb 11000
    1 in sb 12000
    1 in sb 13000
    1 in sb 14000
    1 in sb 15000
    1 in sb 16000
    1 in sb 17000
    1 in sb 18000
    1 in sb 19000
    1 in sb 20000
    1 in sb 21000
    1 in sb 22000
    2 in sb 21000
    2 in sb 22000
    Regards

  • Table name changed in Reports 3.0

    My DBA asked me to change the table name from SA_AWARDS to SAFETY_AWARDS.
    I had already developed a report using table name SA_AWARDS.
    When I change the table name in my report to SAFETY_AWARDS, I get compilation errors.
    How can I fix it ?
    Thanks.
    Suresh

    Hi
    As i understand your problem , you have changed the table name in the query wizard and then tried to compile and it is giving errors ....
    well anytime you modify the sql (even add a space) the column names are renamed ... ie if you originaly had column Customer_name it would be renamed as customer_name1 ....
    now if in the original report you are using the columns for any computation etc it will not find the old column and will give compilaiton errors .... one way is to change the column names back to original names ... or better modify the sql once more by adding space and you will get back the original names most of the times .....
    the best way to avoid this is give alias name in the sql first time around , so it dosnt create problems ....
    once you take care of this i think your problem should be solved .....
    if not do let me know in more detail
    bye
    sudhir

  • How user variable table names in select statement

    Dear all,
    I have three table gp1,gp2,g3. i want user variable table in sql query
    for example at oracle forms have a list table showing table names gp1,gp2,gp3
    at form i want user this query
    select gpno from :table where gpno=120;
    how i can specify table name Dynamicly in select query
    Thanks

    Forms_DDL is a one-way street: You can only pass DDL commands TO the database; you cannot get data back using Forms_DDL.
    Exec_SQL is the Forms package that enables dynamic sql within a form. But to retrieve data, you have to make a Exec_SQL call for every column in every row. So it is not a good thing to use, either.
    The ref cursor method should work. You could also retrieve the data into a record group using populate_group_with_query -- it also enables dynamic data retrieval.
    But if you already know you have three distinct tables and you know their names, I would keep it simple and just write three sql select statements.

  • How to use table control in bdc briefly?

    how to use table control in bdc briefly in description manner ?

    Hi friend,
    here i am giving exm. code of table control.see if help full to u.
    REPORT zxk_01
           NO STANDARD PAGE HEADING LINE-SIZE 255.
    include bdcrecx1.
    TYPES : BEGIN OF ty_data,
           line(100) TYPE c,
           END OF ty_data.
    PARAMETERS: p_pcfile   LIKE ibipparms-path DEFAULT 'D:\NKS.TXT'.
    DATA : g_filename    TYPE string.
    TYPES : BEGIN OF ty_file,
            lifnr(16) TYPE c,                             " vendor
            bukrs(4)  TYPE c,                             "company code
            ktokk(4)   TYPE  c,                             " Acc grp
            anred(15) TYPE c,                             " Title
            name1(35) TYPE c,                             " name
            sortl(10) TYPE c,                             " search term
            stras(35) TYPE c,                             " street
            ort01(35) TYPE c,                             " city
            ort02(35) TYPE c,                             " district
            land1(3)  TYPE c,                              " country
            pfach(10) TYPE c,                             " PO BOx
            spras(2)  TYPE c,                             " language
            kunnr(10) TYPE c,                             " Customer
            vbund(6)  TYPE c,                              " trading partner
            banks(3) TYPE c,                              " BANK COUNTRY
            bankl(15) TYPE c,                             " BANK KEY
            bankn(18) TYPE c,                             " BANK ACC
            koinh(60) TYPE c,                             " ACC HOLDER
            bkont(2) TYPE c,                              " CK
            bvtyp(4) TYPE c,                              " BNKT
            bkref(20) TYPE c,                             " REFERENCE DETAILS
            namev(35)   TYPE c,                                 " first NAME
            name2(35)   TYPE c,                                 " NAME
            telf1(16) TYPE c,                                   " TELEPHONE
            abtnr(4)  TYPE c,                                   " DEPTT
            pafkt(2)  TYPE c,                                   " FUNCTION
            akont(10) TYPE c,                             " REC ACCOUNT
            zuawa(3)  TYPE c,                             " SORT KEY
            lnrze(10) TYPE c,                             "HEAD OFFICE
            fdgrv(10) TYPE c,                             " CASH MGMT GRP,
            frgrp(4)  TYPE c,                             " RELEASE GRP
            zterm(4)  TYPE c,                             " PAY TERMS
            togru(4)  TYPE c,                             " TOLERENCE GRP,
            reprf,                                        "CHECK DOUBLE INV
            zwels(10) TYPE c,                            " PAYMENTS METHODS
            zahls,                                       " PAYMENTS BLOCK
            hbkid(5)  TYPE c,                             " house bank
            zgrup(2)  TYPE c,                             " grouping key
            mahna(4)  TYPE c,                             " dunn procedure
            mansp,                                       "  DUNNING BLOCK'
            gmvdt(10) TYPE c,                            "  LEGAL DONE PROCEDURE
            lfrma(10) TYPE c,                            " DUNN RECEPIENT
            madat(10) TYPE c,                            " LAST DUNNED
            mahns(1)  TYPE c,                         " dunning level
            mgrup(2)  TYPE  c,                            " grouping key
            busab(2)  TYPE c,                             "dunning clerk
           END OF ty_file.
    DATA : BEGIN OF it_xk01 OCCURS 0,
           lifnr(16) TYPE c,                             " vendor
           bukrs(4)  TYPE c,                             "company code
           ktokk(4)   TYPE  c,                             " Acc grp
           anred(15) TYPE c,                             " Title
           name1(35) TYPE c,                             " name
           sortl(10) TYPE c,                             " search term
           stras(35) TYPE c,                             " street
           ort01(35) TYPE c,                             " city
           ort02(35) TYPE c,                             " district
           land1(3)  TYPE c,                              " country
           pfach(10) TYPE c,                             " PO BOx
           spras(2)  TYPE c,                             " language
           kunnr(10) TYPE c,                             " Customer
           vbund(6)  TYPE c,                              " trading partner
           akont(10) TYPE c,                             " REC ACCOUNT
           zuawa(3)  TYPE c,                             " SORT KEY
           lnrze(10) TYPE c,                             "HEAD OFFICE
           fdgrv(10) TYPE c,                             " CASH MGMT GRP,
           frgrp(4)  TYPE c,                             " RELEASE GRP
           zterm(4)  TYPE c,                             " PAY TERMS
           togru(4)  TYPE c,                             " TOLERENCE GRP,
           reprf,                                        "CHECK DOUBLE INV
           zwels(10) TYPE c,                            " PAYMENTS METHODS
           zahls,                                       " PAYMENTS BLOCK
           hbkid(5)  TYPE c,                             " house bank
           zgrup(2)  TYPE c,                             " grouping key
           mahna(4)  TYPE c,                             " dunn procedure
           mansp,                                       "  DUNNING BLOCK'
           gmvdt(10) TYPE c,                            "  LEGAL DONE PROCEDURE
           lfrma(10) TYPE c,                            " DUNN RECEPIENT
           madat(10) TYPE c,                            " LAST DUNNED
           mahns(1)  TYPE c,                         " dunning level
           mgrup(2)  TYPE  c,                            " grouping key
           busab(2)  TYPE c,                             "dunning clerk
           END OF it_xk01.
         internal table  for bank detaiils
    DATA : BEGIN OF it_bank OCCURS 0,
           banks(3) TYPE c,                              " BANK COUNTRY
           bankl(15) TYPE c,                             " BANK KEY
           bankn(18) TYPE c,                             " BANK ACC
           koinh(60) TYPE c,                             " ACC HOLDER
           bkont(2) TYPE c,                              " CK
           bvtyp(4) TYPE c,                              " BNKT
           bkref(20) TYPE c,                             " REFERENCE DETAILS
           lifnr(16) TYPE c,                             " vendor
          xezer,                                        " CHECK
           END OF it_bank.
    INTERNAL TABLE FOR CONTACT PERSON
    TYPES  : BEGIN OF ty_cust,
           lifnr(16) TYPE c,
           namev(35)   TYPE c,                                 " first NAME
           name1(35)   TYPE c,                                 " NAME
           telf1(16) TYPE c,                                   " TELEPHONE
           abtnr(4)  TYPE c,                                   " DEPTT
           pafkt(2)  TYPE c,                                   " FUNCTION
           END OF ty_cust.
    INTERNAL TABLES DECLARATION
    DATA : it_bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE,
           it_bdcmsgcoll LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE,
           it_file TYPE TABLE OF ty_file,
           it_data TYPE TABLE OF ty_data,
           it_cust TYPE TABLE OF ty_cust.
       WORK AREAS FOR TYPES
    DATA : wa_xk01 LIKE it_xk01,
           wa_data TYPE ty_data,
           wa_file TYPE ty_file,
           wa_bank LIKE it_bank,
           wa_cust TYPE ty_cust.
    *CALL METHOD cl_gui_frontend_services=>gui_upload
       EXPORTING
         filename = lt_file
         filetype = 'ASC'
       CHANGING
         data_tab = iT_DATA.
    IF sy-subrc <> 0.
    ENDIF.
    g_filename = p_pcfile.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        filename                      =  g_filename "'D:\TESTDATA1_XK01.txt'
       filetype                      =  'TXT'
        has_field_separator           = 'X'
      HEADER_LENGTH                 = 0
       read_by_line                  = 'X'
      DAT_MODE                      = ' '
      CODEPAGE                      = ' '
      IGNORE_CERR                   = ABAP_TRUE
        replacement                   = ' '
      CHECK_BOM                     = ' '
      VIRUS_SCAN_PROFILE            =
      NO_AUTH_CHECK                 = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
      TABLES
        data_tab                      = it_file
    EXCEPTIONS
       file_open_error               = 1
       file_read_error               = 2
       no_batch                      = 3
       gui_refuse_filetransfer       = 4
       invalid_type                  = 5
       no_authority                  = 6
       unknown_error                 = 7
       bad_data_format               = 8
       header_not_allowed            = 9
       separator_not_allowed         = 10
       header_too_long               = 11
       unknown_dp_error              = 12
       access_denied                 = 13
       dp_out_of_memory              = 14
       disk_full                     = 15
       dp_timeout                    = 16
       OTHERS                        = 17
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    LOOP AT it_file INTO wa_file .
    ON CHANGE OF WA_FILE-LIFNR.
      wa_xk01-lifnr =   wa_file-lifnr.
      wa_xk01-bukrs =   wa_file-bukrs.
      wa_xk01-ktokk =   wa_file-ktokk.
      wa_xk01-anred  = wa_file-anred.
      wa_xk01-name1  = wa_file-name1.
      wa_xk01-sortl  = wa_file-sortl.
      wa_xk01-stras =  wa_file-stras.
      wa_xk01-ort01 =  wa_file-ort01.
      wa_xk01-ort02 =  wa_file-ort02.
      wa_xk01-land1 =  wa_file-land1.
      wa_xk01-pfach =  wa_file-pfach.
      wa_xk01-spras =  wa_file-spras.
      wa_xk01-kunnr =  wa_file-kunnr.
      wa_xk01-vbund =  wa_file-vbund.
      wa_xk01-akont =  wa_file-akont.
      wa_xk01-zuawa =  wa_file-zuawa.
      wa_xk01-lnrze =  wa_file-lnrze.
      wa_xk01-fdgrv =  wa_file-fdgrv.
      wa_xk01-frgrp =  wa_file-frgrp.
      wa_xk01-zterm =  wa_file-zterm.
      wa_xk01-togru =  wa_file-togru.
      wa_xk01-reprf =  wa_file-reprf.
      wa_xk01-zwels =  wa_file-zwels.
      wa_xk01-zahls =  wa_file-zahls.
      wa_xk01-hbkid =  wa_file-hbkid.
      wa_xk01-zgrup =  wa_file-zgrup.
      wa_xk01-mahna =  wa_file-mahna.
      wa_xk01-mansp =  wa_file-mansp.
      wa_xk01-gmvdt =  wa_file-gmvdt.
      wa_xk01-lfrma =  wa_file-lfrma.
      wa_xk01-madat =  wa_file-madat.
      wa_xk01-mahns =  wa_file-mahns.
      wa_xk01-mgrup =  wa_file-mgrup.
      wa_xk01-busab =  wa_file-busab.
       APPEND wa_xk01 TO it_xk01.
       CLEAR : WA_XK01.
      CONTINUE.
       ENDON.
    IF WA_FILE-BANKS NE ''.
      wa_bank-lifnr = wa_file-lifnr.
      wa_bank-banks  = wa_file-banks.
      wa_bank-bankl  = wa_file-bankl.
      wa_bank-bankn  = wa_file-bankn.
      wa_bank-koinh  = wa_file-koinh.
      wa_bank-bkont = wa_file-bkont.
      wa_bank-bvtyp  = wa_file-bvtyp.
      wa_bank-bkref  = wa_file-bkref.
      wa_cust-lifnr =  wa_file-lifnr.
      wa_cust-namev = wa_file-namev.
      wa_cust-name1 = wa_file-name2.
      wa_cust-telf1 = wa_file-telf1.
      wa_cust-abtnr =  wa_file-abtnr.
      wa_cust-pafkt =  wa_file-pafkt.
      APPEND wa_bank TO it_bank.
      APPEND wa_cust TO it_cust.
    APPEND wa_xk01 TO it_xk01.
      CLEAR :  wa_bank , wa_cust.
    ENDIF.
    ENDLOOP.
    START-OF-SELECTION.
      LOOP AT it_xk01 INTO wa_xk01.
        REFRESH it_bdcdata.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0100'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'RF02K-KTOKK'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'RF02K-LIFNR'
                                       wa_xk01-lifnr.                                        " vendor
        PERFORM bdc_field       USING 'RF02K-BUKRS'
                                      wa_xk01-bukrs.                                        " company cpode
        PERFORM bdc_field       USING 'RF02K-KTOKK'
                                      wa_xk01-ktokk.                                        " Acc group
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0110'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFA1-SPRAS'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'LFA1-ANRED'
                                      wa_xk01-anred.                                          " title
        PERFORM bdc_field       USING 'LFA1-NAME1'
                                      wa_xk01-name1.                                        " name
        PERFORM bdc_field       USING 'LFA1-SORTL'
                                      wa_xk01-sortl.                                       "  ' search term'
        PERFORM bdc_field       USING 'LFA1-STRAS'
                                      wa_xk01-stras.                                    "street'
        PERFORM bdc_field       USING 'LFA1-PFACH'
                                      wa_xk01-pfach.                                     " po box
        PERFORM bdc_field       USING 'LFA1-ORT01'
                                      wa_xk01-ort01.                                  " city
        PERFORM bdc_field       USING 'LFA1-ORT02'
                                      wa_xk01-ort02.                                       " district
        PERFORM bdc_field       USING 'LFA1-LAND1'
                                      wa_xk01-land1.                                         " country
        PERFORM bdc_field       USING 'LFA1-SPRAS'
                                      wa_xk01-spras.                                         " language
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0120'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFA1-VBUND'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'LFA1-KUNNR'                                   " customer
                                      wa_xk01-kunnr.
        PERFORM bdc_field       USING 'LFA1-VBUND'
                                      wa_xk01-vbund.                                       " trading partner
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFBK-BKREF(01)'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=ENTR'.
        DATA : fnam(20) TYPE c,
               int      TYPE c.
        MOVE 1 TO int.
        CLEAR wa_bank.
        LOOP AT it_bank INTO wa_bank WHERE lifnr = wa_xk01-lifnr.
          CONCATENATE 'LFBK-BANKS(' int ')' INTO fnam.
          PERFORM bdc_field       USING fnam
                                        wa_bank-banks.                                           " city
          CONCATENATE 'LFBK-BANKL(' int ')' INTO fnam.
          PERFORM bdc_field       USING fnam
                                        wa_bank-bankl.
          CONCATENATE 'LFBK-BANKN(' int ')' INTO fnam.
          PERFORM bdc_field       USING fnam
                                        wa_bank-bankn.
          CONCATENATE 'LFBK-KOINH(' int ')' INTO fnam.
          PERFORM bdc_field       USING  fnam
                                        wa_bank-koinh.
          CONCATENATE 'LFBK-BKONT(' int ')' INTO fnam.
          PERFORM bdc_field       USING fnam
                                        wa_bank-bkont.
          CONCATENATE 'LFBK-BVTYP(' int ')' INTO fnam.
          PERFORM bdc_field       USING  fnam
                                        wa_bank-bvtyp.
          CONCATENATE 'LFBK-BKREF(' int ')' INTO fnam.
          PERFORM bdc_field       USING fnam
                                       wa_bank-bkref.
          int = int + 1.
        ENDLOOP.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFBK-BANKS(01)'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=ENTR'.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0380'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'KNVK-PAFKT(05)'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=ENTR'.
        DATA : fnam1(20) TYPE c,
               cnt.
        cnt = 1.
        CLEAR : wa_cust.
        LOOP AT it_cust INTO wa_cust WHERE lifnr = wa_xk01-lifnr.
          CONCATENATE 'KNVK-NAMEV(' cnt ')' INTO fnam1.
          PERFORM bdc_field       USING  fnam1
                                        wa_cust-namev.
          CONCATENATE 'KNVK-NAME1(' cnt ')' INTO fnam1.
          PERFORM bdc_field       USING  fnam1
                                         wa_cust-name1.
          CONCATENATE 'KNVK-TELF1(' cnt ')' INTO fnam1.
          PERFORM bdc_field       USING  fnam1
                                        wa_cust-telf1.
          CONCATENATE 'KNVK-ABTNR(' cnt ')' INTO fnam1.
          PERFORM bdc_field       USING  fnam1
                                       wa_cust-abtnr.
          CONCATENATE 'KNVK-PAFKT(' cnt ')' INTO fnam1.
          PERFORM bdc_field       USING fnam1
                                        wa_cust-pafkt.
          cnt = cnt + 1.
        ENDLOOP.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0380'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'KNVK-NAMEV(01)'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=ENTR'.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0210'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFB1-FRGRP'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'LFB1-AKONT'
                                      wa_xk01-akont.                           " REC aCC
        PERFORM bdc_field       USING 'LFB1-ZUAWA'
                                       wa_xk01-zuawa.                                " SORT KEY
        PERFORM bdc_field       USING 'LFB1-LNRZE'
                                       wa_xk01-lnrze.                            " HEAD OFFICE
        PERFORM bdc_field       USING 'LFB1-FDGRV'
                                      wa_xk01-fdgrv.                              " CASH MGMT GRP
        PERFORM bdc_field       USING 'LFB1-FRGRP'
                                      wa_xk01-frgrp.                          " RELEASE GRP
        PERFORM bdc_field       USING 'LFB1-CERDT'
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0215'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFB1-ZGRUP'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'LFB1-ZTERM'
                                      wa_xk01-zterm.                            " PAYMENT TERMS'
        PERFORM bdc_field       USING 'LFB1-TOGRU'
                                       wa_xk01-togru.                            " TOLERENCE GRP
        PERFORM bdc_field       USING 'LFB1-REPRF'
                                       wa_xk01-reprf.                                " CHECK DOUBLE INV
        PERFORM bdc_field       USING 'LFB1-ZWELS'
                                       wa_xk01-zwels.                            " PAYMENT METHOD
        PERFORM bdc_field       USING 'LFB1-ZAHLS'
                                       wa_xk01-zahls.                                " PAYMENT BLOCK
        PERFORM bdc_field       USING 'LFB1-HBKID'
                                       wa_xk01-hbkid.                             " HOUSE BANK
        PERFORM bdc_field       USING 'LFB1-ZGRUP'
                                       wa_xk01-zgrup.                              " GROUPING KEY
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0220'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFB5-BUSAB'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'LFB5-MAHNA'
                                       wa_xk01-mahna.                           " DUNN  PROCEDURE
        PERFORM bdc_field       USING 'LFB5-MANSP'
                                       wa_xk01-mansp.                              " DUNNING BLOCK
        PERFORM bdc_field       USING 'LFB5-LFRMA'
                                       wa_xk01-lfrma.                        " Dunn representative
        PERFORM bdc_field       USING 'LFB5-GMVDT'
                                       wa_xk01-gmvdt.                      " legal dunn proc
        PERFORM bdc_field       USING 'LFB5-MADAT'
                                       wa_xk01-madat.                      " last dunned
        PERFORM bdc_field       USING 'LFB5-MAHNS'
                                       wa_xk01-mahns.                               " dunn level
        PERFORM bdc_field       USING 'LFB5-BUSAB'
                                       wa_xk01-busab.                             "  dunning clerk
        PERFORM bdc_field       USING 'LFB1-MGRUP'
                                       wa_xk01-mgrup.                             " grouping key
        CALL TRANSACTION 'XK01' USING it_bdcdata
                               MODE  'A'.
      ENDLOOP.
    Start new screen *
    FORM bdc_dynpro USING program dynpro.
      CLEAR it_bdcdata.
      it_bdcdata-program = program.
      it_bdcdata-dynpro = dynpro.
      it_bdcdata-dynbegin = 'X'.
      APPEND it_bdcdata.
    ENDFORM.                    "BDC_DYNPRO
    Insert field
    FORM bdc_field USING fnam fval TYPE any.
      CLEAR it_bdcdata.
      it_bdcdata-fnam = fnam.
      it_bdcdata-fval = fval.
      APPEND it_bdcdata.
    ENDFORM. "bdc_field
    *perform close_group.

  • How to use views in sql script report?

    All all
    Can any one tell how to use views in sql script report?

    Most of the views are based on tables (or other views which are based on tables).
    The view typically shows one org at a time based on the context that is set.
    If you need records for all orgs, you need to use the underlying tables. Oracle typically names the tables with a _all suffix.
    e.g. PO_HEADERS will show records for one org at a time. PO_HEADERS_ALL will show records for all orgs.
    Hope this answers your question,
    Sandeep Gandhi

Maybe you are looking for

  • Installing ZCM11.2.1 Agent on SLED11SP2

    Good day, I was trying to install the ZCM11.2.1 Agent onto a SLED11Sp2 desktop, I have JRE 1.7.0_05-fcs and novell-zenworks-jre-links 1.6.0_16-2 installed, however; when I run the Preagent..bin file I get the following, Cannot continue - JRE version

  • Fund wise PR pending

    Dear sir i have a fund t034 and want to know the pending PR against it. i tried FMEM but there is no PR no. i tried me5a but the figure didnot match with fmem pls suggest what to do. waiting for your immediate response. regds devesh

  • Generic data extractor using a function module

    Hi All, I want to create a generic data extractor using a function module within the BW system. i.e. the extractor will run in BW and and store the data in a cube( in BW). No R/3 is invloved. I proceeded as follows: 1. Created a structure through se1

  • How to realize a multiple window OI by LabVIEW?

    I am a new user to the teststand, and I am trying to setup a multiple window user interface by LabVIEW, and I follow the instruction of the TeststandreferenceManual, It says that "the main window contains controls that enable the user to open sequenc

  • Can not turn on wifi on MacbookPro, again

    MacBook Pro late 2011 running Mac osx lion 10.7.5 well... hello again I posted a similar post yesterday with the same problem (https://discussions.apple.com/message/23253951#23253951). I thought the solution there solved the problem but the wifi just