Problem in Concatenate Statement

hello Friends,
  I have to concatenate  Four variables A B C and D.In this four variables three of them are Characters.The last one is currency field.I am not able to concatenate this field.for this I declared one variable in character fomat and i moved this currency variable into this character variable.but i am not able to get that variable.
Please give me solution for my problem.
Thanks in advance.
Regards,
Ashok.

hi ashok,
            check the following eg code.
data : var1 type c value 'h',
       var2 type c value 'i',
       var3 like vbrk-netwr ,
       var5(20) type c,
       var4(30) type c.
       var3 = '20.0'.
       var5 = var3.
       concatenate var1 var2 var5 into var4.
       write var4.
try using above code its working.
regards,
Ravi Kumar Gunda.

Similar Messages

  • Problem in concatenate

    Hello Experts,
    i am facing one problem that is i have 2 internal tables one is  with field lables, 2nd one is with data. i have to get these table  data to one single table.
    after getting the data i should send it to
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD to display data with  filed lables.
    for example:
    client  salesdocument
    140      5545
    140      5546
    code i wrote here
    types: BEGIN OF t_it,
             mandt type mandt,
             vbeln type vbeln_va,
           END OF t_it.
    data: it type TABLE OF t_it.
    types: begin of itt ,
          header type string,
          end of itt.
    data: w_itt type itt,
          it1 type table of itt.
    types: begin of st_pro,
          line type string,
          end of st_pro.
    data: wa_pro type st_pro,
          it_pro type table of st_pro.
    type-POOLs: slis.
    data: gt_fieldcat type SLIS_T_FIELDCAT_ALV.
    data: r_alvtab type ref to cl_salv_table,
          r_col TYPE REF TO CL_SALV_COLUMNS_TABLE,
          r_cols TYPE SALV_T_COLUMN_REF,
          wa_col type SALV_S_COLUMN_REF,
          ref_col type ref to CL_SALV_COLUMN,
          lv_text type string.
    START-OF-SELECTION.
    SELECT mandt vbeln INTO TABLE it UP TO 10 rows from vbak.
    *select kunnr name1 land1 from kna1 into table itab up to 10 rows.
    perform get_header1 using  it[] changing it1[].
       loop at it1 into w_itt.
        loop at it_pro into wa_pro.
       concatenate w_it1 into wa_pro saparated by space.
       append wa_pro to it_pro.
       loop at it into t_it.
       concatenate t_it into wa_pro saparated by space
       append wa_pro to it_pro.
          endloop.
         endloop.
       endloop.
    FORM get_header1  USING p_TAB type any table
                       changing P_HEADER type any table.
      data: begin of lv_tab occurs 0,
               line type string,
            end of lv_tab.
    CALL METHOD cl_salv_table=>factory
        IMPORTING
          r_salv_table   = r_alvtab
        CHANGING
          t_table        = p_TAB.
    CALL METHOD r_alvtab->get_columns
        receiving
          value  = r_col.
    CALL METHOD r_col->get
        receiving
           value  = r_cols.
      loop at r_cols into wa_col.
        ref_col = wa_col-r_column.
    CALL METHOD ref_col->get_medium_text
       receiving
         value  = lv_text.
       lv_tab-line = lv_text.
        append lv_tab.
      endloop.
    p_HEADER[] = lv_tab[].
    ENDFORM.                    " get_header1
    in the above code i am not able to send the data from it1 to it_pro.
    so plz any one tell me how to send the data from one table  to another  table using CONCATENATE statement.
    Thankx in advance
    Regards
    Mahesh.

    You can insert Headings into your data table.
    Here is an example -
    READ TABLE IT_HEADER INDEX 1.
    IT_DATA = IT_HEADER.
    INSERT IT_DATA INDEX 1.
    Here IT_HEADER and IT_DATA should have same structure else you will get an error.
    This way you will have headings and data in same table and you can download the same.
    ashish
    You can also pass headings using HEADER Parameter of the Method.
    Message was edited by:
            Ashish Gundawar

  • Problem with READ Statement in the field routine of the Transformation

    Hi,
    I have problem with read statement with binary search in the field routine of the transformation.
    read statement is working well when i was checked in the debugging mode, it's not working properly for the bulk load in the background. below are the steps i have implemented in my requirement.
    1. I selected the record from the lookuo DSO into one internal table for all entried in source_packeage.
    2.i have read same internal table in the field routine for each source_package entry and i am setting the flag for that field .
    Code in the start routine
    select source accno end_dt acctp from zcam_o11
    into table it_zcam
    for all entries in source_package
    where source = source_package-source
         and accno = source_package-accno.
    if sy-subrc = 0.
    delete it_zcam where acctp <> 3.
    delete it_zcam where end_dt initial.
    sort it_zcam by surce accno.
    endif.
    field routine code:
    read table it_zcam with key source = source_package-source
                                                 accno  = source_package-accno
                                                 binary search
                                                 transportin no fields.
    if sy-subrc = 0.
    RESULT  = 'Y'.
    else.
    RESULT = 'N'.
    endif.
    this piece of code exist in the other model there its working fine.when comes to my code it's not working properly, but when i debug the transformation it's working fine for those accno.
    the problem is when i do full load the code is not working properly and populating the wrong value in the RESULT field.
    this field i am using in the report filter.
    please let me know if anybody has the soluton or reason for this strage behaviour.
    thanks,
    Rahim.

    i suppose the below is not the actual code. active table of dso would be /bic/azcam_o1100...
    1. is the key of zcam_o11 source and accno ?
    2. you need to get the sortout of if endif (see code below)
    select source accno end_dt acctp from zcam_o11
    into table it_zcam
    for all entries in source_package
    where source = source_package-source
    and accno = source_package-accno.
    if sy-subrc = 0.
    delete it_zcam where acctp 3.
    delete it_zcam where end_dt initial.
    endif.
    sort it_zcam by surce accno.
    field routine code:
    read table it_zcam with key source = source_package-source
    accno = source_package-accno
    binary search
    transportin no fields.
    if sy-subrc = 0.
    RESULT = 'Y'.
    else.
    RESULT = 'N'.
    endif.

  • Problem in Update Statement

    I got some problem in update statement.Can anybody discuss with me regarding my problem? Below is the occured problem.
    //all the declaration like Connection, ResultSet are declared, setting the ODBC path and so on steps have been set up before this method. When compile it, no error, when I start to run my program, the program�s interface is shown, but the following error was appearred and data cannot be updated, can anybody tell me where is my mistake?
    //ERROR:SQL Error in update statement:java.sql.SQLException [Microsoft][ODBC][ODBC Microsoft Access Driver] Syntax Error in UPDATE statement.
    //emp_overview is the table name
    // last_name, first_name, office_phone�.is the attributes of the table
    //this method had declare in the interface class already
    public String updateData (String idd, String ln, String fn, String op,
                   String oe, String hp, String ps, String ss)
                   throws java.rmi.RemoteException
         {//begin of this method
              String result ="";
              try
              Statement statement = connection.createStatement();
              String sql = "UPDATE emp_overview SET" +
              "last_name=' "+ln+
              " ', first_name=' "+fn+
              " ', office_phone=' "+op+
              " ', office_ext=' "+oe+
              " ', home_phone=' "+hp+
              " ', primary_skill=' "+ps+
              " ', secondary_skill=' "+ss+
              " ' WHERE id="+idd;
              statement.executeUpdate(sql);
              statement.close();
              catch (java.sql.SQLException e)
         System.out.println("SQL Error in update statement: "+e);
              //throw a RemoteException with the exception
              //embedded for the client to receive
         throw new java.rmi.RemoteException("Error in Updating exist row into DB", e);
              return result;
         }//end of this method

    Hi Kevin,
    According to the code you have posted, it looks like you are missing a space between "SET" and "last_name". I suggest you add the following line of code:
    System.out.println(sql);
    before the invocation of "executeUpdate()".
    I also suggest you add the following line of code:
    e.printStackTrace();in your "catch" block.
    Hope this helps.
    Good Luck,
    Avi.

  • Problem in Update statement using Execute Immediate

    Hi All,
    I am facing problem in update statement.
    I am creating dynamic sql and use "execute immediate" statement to execute a update statement.
    But it is not updating any thing there in the table.
    I have created a query like :
    update_query='Update '|| Table_Name ||' t set t.process_status =''Y'' where t.tid=:A';
    Execute immediate update_query using V_Id;
    commit;
    But it is not updating the table.
    I have a question , is execute immediate only does insert and delete?
    Thanks
    Ashok

    SQL> select * from t;
                     TID P
                     101 N
    SQL> declare
      2     V_Id          number := 101;
      3     Table_Name    varchar2(30) := 'T';
      4     update_query  varchar2(1000);
      5  begin
      6     update_query := 'Update '|| Table_Name ||' t set t.process_status =''Y'' where t.tid=:A';
      7     Execute immediate update_query using V_Id;
      8     commit;
      9  end;
    10  /
    PL/SQL procedure successfully completed.
    SQL> select * from t;
                     TID P
                     101 Y                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Problem in UPDATE statement In Multiple Record Block

    Hi Friends,
    I have problem in update Statement for updating the record in multiple record data Block.
    I have two data Block the master block is single Record block and the 2nd data block is Multiple Record data Block.
    I am inserting the fields like category,and post_no for partiular job in single data block
    Now in second Multiple Record Data Block,i am inserting the multiple record for above fileds like no. of employees work in the position
    There is no problem in INSERT Statement as it is inerting all record But whenever i want to update particular Record (in Multiple Block) of employee for that category and Post_no
    then its updating all the record.
    my code is Bellow,
    IF v_count 0 THEN
    LOOP
    IF :SYSTEM.last_record 'TRUE' THEN
    UPDATE post_history
    SET idcode = :POST_HISTORY_MULTIPLE.idcode,
    joining_post_dt = :POST_HISTORY_MULTIPLE.joining_post_dt,
    leaving_post_dt = :POST_HISTORY_MULTIPLE.leaving_post_dt,
    entry_gp_stage = :POST_HISTORY_MULTIPLE.entry_gp_stage
    WHERE post_no = :POST_HISTORY_SINGLE.post_no
    AND category = :POST_HISTORY_SINGLE.category
    AND roster_no = :POST_HISTORY_SINGLE.roster_no;
    AND idcode = :POST_HISTORY_MULTIPLE.idcode;
    IF SQL%NOTFOUND THEN
    INSERT INTO post_history(post_no,roster_no,category,idcode,joining_post_dt,leaving_post_dt,entry_gp_stage)
    VALUES(g_post_no, g_roster_no, g_category, :POST_HISTORY_MULTIPLE.idcode, :POST_HISTORY_MULTIPLE.joining_post_dt,
    :POST_HISTORY_MULTIPLE.leaving_post_dt,:POST_HISTORY_MULTIPLE.entry_gp_stage);
    END IF;
    next_record;
    ELSIF :SYSTEM.last_record = 'TRUE' THEN
    UPDATE post_history
    SET idcode = :POST_HISTORY_MULTIPLE.idcode,
    joining_post_dt = :POST_HISTORY_MULTIPLE.joining_post_dt,
    leaving_post_dt = :POST_HISTORY_MULTIPLE.leaving_post_dt,
    entry_gp_stage = :POST_HISTORY_MULTIPLE.entry_gp_stage
    WHERE post_no = :POST_HISTORY_SINGLE.post_no
    AND category = :POST_HISTORY_SINGLE.category
    AND roster_no = :POST_HISTORY_SINGLE.roster_no;
    AND idcode = :POST_HISTORY_MULTIPLE.idcode;
    IF SQL%NOTFOUND THEN
    INSERT INTO post_history(post_no,roster_no,category,idcode,joining_post_dt,leaving_post_dt,entry_gp_stage)
    VALUES (g_post_no,g_roster_no,g_category,:POST_HISTORY_MULTIPLE.idcode,
    :POST_HISTORY_MULTIPLE.joining_post_dt,:POST_HISTORY_MULTIPLE.leaving_post_dt,:POST_HISTORY_MULTIPLE.entry_gp_stage);
    END IF;
    EXIT;
    END IF;
    END LOOP;
    SET_ALERT_PROPERTY('user_alert',ALERT_MESSAGE_TEXT, 'Record Updated successfuly' );
    v_button_no := SHOW_ALERT('user_alert');
    FORMS_DDL('COMMIT');
    CLEAR_FORM(no_validate);
    Please Guide me
    Thanks in advence

    As you do a loop over all the records in the block, of course every record is updated.
    Also, what you do is not the way is intended to be used. In general, you base a block on a table,then there is no need at all for writing INSERT's or UPDATE's. Forms also know's then, which records to be updated and which not.

  • Problem In Update Statement In Multiple Record Data Block

    Hi Friends,
    I have problem in update Statement for updating the record in multiple record data Block.
    I have two data Block the master block is single Record block and the 2nd data block is Multiple Record data Block.
    I am inserting the fields like category,and post_no for partiular job in single data block
    Now in second Multiple Record Data Block,i am inserting the multiple record for above fileds like no. of employees work in the position
    There is no problem in INSERT Statement as it is inerting all record But whenever i want to update particular Record (in Multiple Block) of employee for that category and Post_no
    then its updating all the record.
    my code is Bellow,
    IF v_count <> 0 THEN
    LOOP
    IF :SYSTEM.last_record <> 'TRUE' THEN
    UPDATE post_history
    SET idcode = :POST_HISTORY_MULTIPLE.idcode,
    joining_post_dt = :POST_HISTORY_MULTIPLE.joining_post_dt,
    leaving_post_dt = :POST_HISTORY_MULTIPLE.leaving_post_dt,
    entry_gp_stage = :POST_HISTORY_MULTIPLE.entry_gp_stage
    WHERE post_no = :POST_HISTORY_SINGLE.post_no
    AND category = :POST_HISTORY_SINGLE.category
    AND roster_no = :POST_HISTORY_SINGLE.roster_no;
    AND idcode = :POST_HISTORY_MULTIPLE.idcode;
    IF SQL%NOTFOUND THEN
    INSERT INTO post_history(post_no,roster_no,category,idcode,joining_post_dt,leaving_post_dt,entry_gp_stage)
    VALUES(g_post_no, g_roster_no, g_category, :POST_HISTORY_MULTIPLE.idcode, :POST_HISTORY_MULTIPLE.joining_post_dt,
    :POST_HISTORY_MULTIPLE.leaving_post_dt,:POST_HISTORY_MULTIPLE.entry_gp_stage);
    END IF;
    next_record;
    ELSIF :SYSTEM.last_record = 'TRUE' THEN
    UPDATE post_history
    SET idcode = :POST_HISTORY_MULTIPLE.idcode,
    joining_post_dt = :POST_HISTORY_MULTIPLE.joining_post_dt,
    leaving_post_dt = :POST_HISTORY_MULTIPLE.leaving_post_dt,
    entry_gp_stage = :POST_HISTORY_MULTIPLE.entry_gp_stage
    WHERE post_no = :POST_HISTORY_SINGLE.post_no
    AND category = :POST_HISTORY_SINGLE.category
    AND roster_no = :POST_HISTORY_SINGLE.roster_no;
    AND idcode = :POST_HISTORY_MULTIPLE.idcode;
    IF SQL%NOTFOUND THEN
    INSERT INTO post_history(post_no,roster_no,category,idcode,joining_post_dt,leaving_post_dt,entry_gp_stage)
         VALUES (g_post_no,g_roster_no,g_category,:POST_HISTORY_MULTIPLE.idcode,
              :POST_HISTORY_MULTIPLE.joining_post_dt,:POST_HISTORY_MULTIPLE.leaving_post_dt,:POST_HISTORY_MULTIPLE.entry_gp_stage);
    END IF;
    EXIT;
    END IF;
    END LOOP;
    SET_ALERT_PROPERTY('user_alert',ALERT_MESSAGE_TEXT, 'Record Updated successfuly' );
    v_button_no := SHOW_ALERT('user_alert');
    FORMS_DDL('COMMIT');
    CLEAR_FORM(no_validate);
    Please Guide me
    Thanks in advence

    UPDATE post_history
    SET idcode = :POST_HISTORY_MULTIPLE.idcode,
    joining_post_dt = :POST_HISTORY_MULTIPLE.joining_post_dt,
    leaving_post_dt = :POST_HISTORY_MULTIPLE.leaving_post_dt,
    entry_gp_stage = :POST_HISTORY_MULTIPLE.entry_gp_stage
    WHERE post_no = :POST_HISTORY_SINGLE.post_no
    AND category = :POST_HISTORY_SINGLE.category
    AND roster_no = :POST_HISTORY_SINGLE.roster_no;
    AND idcode = :POST_HISTORY_MULTIPLE.idcode;
    UPDATE post_history
    SET idcode = :POST_HISTORY_MULTIPLE.idcode,
    joining_post_dt = :POST_HISTORY_MULTIPLE.joining_post_dt,
    leaving_post_dt = :POST_HISTORY_MULTIPLE.leaving_post_dt,
    entry_gp_stage = :POST_HISTORY_MULTIPLE.entry_gp_stage
    WHERE post_no = :POST_HISTORY_SINGLE.post_no
    AND category = :POST_HISTORY_SINGLE.category
    AND roster_no = :POST_HISTORY_SINGLE.roster_no;
    AND idcode = :POST_HISTORY_MULTIPLE.idcode;These update statements are without where clause, so it will update all records.
    If it is specific to oracle forms then u may get better help at Forms section.

  • Problem with Decode statement

    Hi
    I am trying to achieve the following in my report:
    If an employee has a surname of . (dot) or a first name of . (dot), the report should not display a dot. An employee's name is made up of surname, first name and middle name which should all be concatenated together. To try to achieve this, I have the following statement in my report:
    decode(e.Surname, '.', ( LTRIM(RTRIM((INITCAP(e.FIRST_NAME)))||' '||INITCAP(e.MIDDLE_NAME)) ) ,
    e.FIRST_NAME, '.', ( LTRIM(RTRIM((INITCAP(e.Surname)))||' '||INITCAP(e.MIDDLE_NAME)) ) ,
    ( LTRIM(RTRIM((INITCAP(e.SURNAME )))||', '||INITCAP(e.FIRST_NAME)||' '||INITCAP(e.MIDDLE_NAME)) ) ) as emp_name
    FROM Employee e
    Problem: The above statement is only working for those employees with surname of . (dot). It's not working for first names of dot. How can I use the decode statement OR is there any other way of doing it without using the CASE statement?
    It seems my decode statement doesn't work with 2 different fields (surname, firstname) being tested within one decode statement.Thanks.

    Thank you so much InoL . I have used the ltrim with Replace but now have a new problem.
    Because I am joining Surname, First name and middle name together and put a comma after the Surname, the name now appears as follows:
    , Maria Ane (if Surname is a dot)
    Boiler, (if first name is a dot)
    I would like to get rid of a comma and only have comma when surname or first name does not have a dot, i.e. for those people with full names e.g. Blake, Anna Marie.
    InoL, how can I achieve this? Thanks.

  • Plz  explain why concatenate statement is used in BDC

    Please do not post subject or content as ALL CAPITALS
    hi friends,
                    for the first time i am doing bdc table control.  i just cant make out the use of concatenate statement in that code.  i have gone thru some bdc table control codes in the forum but almost everywhere the concatenate statement has been used.  can u plz explain the use of that statement . THANKS IN ADVANCE.   
    eg:  THIS IS A CODE FROM ONE OF THE FORUM POSTS, SO I AM NOT COPYING IT FULLY.
         I HAVE HIGHLIGHTED THE  CONCATENATE PART.
    DATA : M(2) TYPE C,
    N(2) TYPE C,
    TEMP(50) TYPE C,
    WA_KUNNR LIKE KNA1-KUNNR.
    ****POPULATING HEADER DATA *******
    LOOP AT IT_HEADER INTO WA_HEADER.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
    INPUT = WA_HEADER-KUNNR
    IMPORTING
    OUTPUT = WA_HEADER-KUNNR
    SELECT SINGLE KUNNR FROM KNA1 INTO WA_KUNNR WHERE KUNNR = WA_HEADER-KUNNR.
    IF SY-SUBRC 0.
    MESSAGE I004(ZZS_MSG).
    ENDIF.
    PERFORM BDC_DYNPRO USING 'SAPMV45A' '0101'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'VBAK-SPART'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '/00'.
    PERFORM BDC_FIELD USING 'VBAK-AUART' WA_HEADER-AUART.
    PERFORM BDC_FIELD USING 'VBAK-VKORG' WA_HEADER-VKORG.
    PERFORM BDC_FIELD USING 'VBAK-VTWEG' WA_HEADER-VTWEG.
    PERFORM BDC_FIELD USING 'VBAK-SPART' WA_HEADER-SPART.
    PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '/00'.
    PERFORM BDC_FIELD USING 'VBKD-BSTKD' WA_HEADER-BSTKD.
    PERFORM BDC_FIELD USING 'KUAGV-KUNNR' WA_HEADER-KUNNR.
    PERFORM BDC_FIELD USING 'KUWEV-KUNNR' WA_HEADER-KUNNR1.
    PERFORM BDC_FIELD USING 'RV45A-KETDAT'
    '21.10.2008'.
    PERFORM BDC_FIELD USING 'RV45A-KPRGBZ'
    'D'.
    PERFORM BDC_FIELD USING 'VBKD-PRSDT'
    '21.10.2008'.
    **********ITEM LOOP TO FIND NO.OF ITEMS ************
    M = 0.
    LOOP AT IT_ITEMS INTO WA_ITEMS WHERE BSTKD = WA_HEADER-BSTKD.
    M = M + 1
    ENDLOOP.
    CONCATENATE 'VBAP-PS_PSP_PNR(' M ')' INTO TEMP.
    PERFORM BDC_FIELD USING 'BDC_CURSOR' TEMP.
    CLEAR TEMP.
    ******POPULATING ITEMS DATA ********
    N = 1.
    LOOP AT IT_ITEMS INTO WA_ITEMS WHERE BSTKD = WA_HEADER-BSTKD.
    CONCATENATE 'RV45A-MABNR(' N ')' INTO TEMP.
    PERFORM BDC_FIELD USING TEMP WA_ITEMS-MABNR.
    CLEAR TEMP.
    CONCATENATE 'RV45A-KWMENG(' N ')' INTO TEMP.PERFORM BDC_FIELD USING TEMP WA_ITEMS-KWMENG.
    CLEAR TEMP.
    CONCATENATE 'VBAP-PS_PSP_PNR(' N ')' INTO TEMP.
    PERFORM BDC_FIELD USING TEMP WA_ITEMS-WBS.
    CLEAR TEMP.
    N = N + 1.
    ENDLOOP.
    PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '/00'.
    PERFORM BDC_FIELD USING 'VBKD-BSTKD' WA_HEADER-BSTKD.
    PERFORM BDC_FIELD USING 'KUAGV-KUNNR' WA_HEADER-KUNNR.
    PERFORM BDC_FIELD USING 'KUWEV-KUNNR' WA_HEADER-KUNNR1.
    PERFORM BDC_FIELD USING 'RV45A-KETDAT'
    '21.10.2008'.
    PERFORM BDC_FIELD USING 'RV45A-KPRGBZ'
    'D'.
    PERFORM BDC_FIELD USING 'VBKD-PRSDT'
    '21.10.2008'.
    PERFORM BDC_FIELD USING 'VBKD-ZTERM'
    'N30'.
    PERFORM BDC_FIELD USING 'VBKD-INCO1'
    'FOB'.
    PERFORM BDC_FIELD USING 'VBKD-INCO2'
    'NEW YORK'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'RV45A-MABNR(02)'.
    PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=PKO1'.
    PERFORM BDC_FIELD USING 'VBKD-BSTKD' WA_HEADER-BSTKD.
    PERFORM BDC_FIELD USING 'KUAGV-KUNNR' WA_HEADER-KUNNR.
    PERFORM BDC_FIELD USING 'KUWEV-KUNNR' WA_HEADER-KUNNR1.
    PERFORM BDC_FIELD USING 'RV45A-KETDAT'
    '21.10.2008'.
    PERFORM BDC_FIELD USING 'RV45A-KPRGBZ'
    'D'.
    PERFORM BDC_FIELD USING 'VBKD-PRSDT'
    '21.10.2008'.
    PERFORM BDC_FIELD USING 'VBKD-ZTERM'
    'N30'.
    PERFORM BDC_FIELD USING 'VBKD-INCO1'
    'FOB'.
    PERFORM BDC_FIELD USING 'VBKD-INCO2'
    'NEW YORK'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'VBAP-POSNR(01)'.
    PERFORM BDC_FIELD USING 'RV45A-VBAP_SELKZ(01)'
    'X'.
    LOOP AT IT_ITEMS INTO WA_ITEMS WHERE BSTKD = WA_HEADER-BSTKD.
    PERFORM BDC_DYNPRO USING 'SAPMV45A' '5003'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '/00'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'KOMV-KBETR(07)'.
    PERFORM BDC_FIELD USING 'KOMV-KSCHL(07)' WA_ITEMS-KSCHL.
    PERFORM BDC_FIELD USING 'KOMV-KBETR(07)' WA_ITEMS-KBETR.
    PERFORM BDC_DYNPRO USING 'SAPMV45A' '5003'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=POS+'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'KOMV-KSCHL(08)'.
    ENDLOOP.
    PERFORM BDC_DYNPRO USING 'SAPMV45A' '5003'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '/EBACK'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'KOMV-KSCHL(08)'.
    PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=SICH'.
    CALL TRANSACTION 'VA01' USING IT_BDCDATA MODE 'A'.
    REFRESH IT_BDCDATA.
    ENDLOOP.
    u2022     Start new screen *
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
    CLEAR WA_BDCDATA.
    WA_BDCDATA-PROGRAM = PROGRAM.
    WA_BDCDATA-DYNPRO = DYNPRO.
    WA_BDCDATA-DYNBEGIN = 'X'.
    APPEND WA_BDCDATA TO IT_BDCDATA.
    ENDFORM. "BDC_DYNPRO
    u2022     Insert field *
    FORM BDC_FIELD USING FNAM FVAL.
    IF FVAL SPACE.
    CLEAR WA_BDCDATA.
    WA_BDCDATA-FNAM = FNAM.
    WA_BDCDATA-FVAL = FVAL.
    APPEND WA_BDCDATA TO IT_BDCDATA.
    ENDIF.
    ENDFORM. "BDC_FIELD
    Edited by: Matt on Mar 9, 2009 4:38 PM

    Every input/output field on the screen has its own name.(for example: RV45A-KETDAT)
    PERFORM BDC_FIELD USING 'RV45A-KETDAT' '21.10.2008'.
    means fill the date '21.10.2008' into the screen field 'RV45A-KETDAT'.
    CONCATENATE 'RV45A-MABNR(' N ')' INTO TEMP.
    PERFORM BDC_FIELD USING TEMP WA_ITEMS-MABNR.
    There are some special input fields on the screen (table control). In fact, it's a table.
    RV45A-MABNR
    RV45A-KWMENG
    other fields...
    RV45A-MABNR(01)
    RV45A-KWMENG(01)
    RV45A-MABNR(02)
    RV45A-KWMENG(02)
    RV45A-MABNR(..)
    RV45A-KWMENG(..)
    RV45A-MABNR(N)
    RV45A-KWMENG(N)
    so, the code means fill the values line by line.
    and, I recommend you to learn more basic knowledge of dynpro.

  • Problem In Session State

    Hai, I'm Using VS2010 and SQL Server 2005.
    I have a problem in Session state;
    //View.aspx.cs
    // In this page just I store a textbox into a session variable.
    protected void btnEdit_Click(object sender, EventArgs e)
            Session["rollno"] = txtRollNo.Text;
                Response.Redirect("Edit.aspx");
    //Edit.aspx.cs
    //In this page I retrieve the session value which is stored in previous page
           protected void Page_Load(object sender, EventArgs e)
            txtRollNo.Enabled = false;
            if (!IsPostBack)
                txtRollNo.Text = Session["rollno"].ToString();
                getdata();
     public void getdata()
            SqlConnection con = new SqlConnection("Data Source=SERVICETEAM-PC;Initial Catalog=csc;User ID=sa;Password=kavi");
            con.Open();
            SqlCommand cmd = new SqlCommand("Select * from Csc where Roll_No='" + txtRollNo.Text + "'", con);
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.Read())
                txtName.Text = dr.GetString(1).ToString();
                txtAddress.Text = dr.GetString(2).ToString();
                txtMobileNo.Text = dr.GetString(3).ToString();
                txtYesNo.Text = dr.GetString(4).ToString();
    From the above code, I got an error when I press Edit button in View.aspx page.
    The Error is
    Description: An unhandled
    exception occurred during the execution of the current web
    request. Please review the stack trace for more information about the error and where it originated in the code. 
    Exception Details: System.Web.HttpException: A page can have only one server-side Form
    tag.
    Source Error: 
    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack
    trace below.
    Help Me.....

    Hai,
    I'm using VS2010 and SQL Server 2005.
    I have a problem in Session state.
    See below is my code,
    //View.aspx.cs
    //Here I assign a textbox value to session
    protected void btnEdit_Click(object sender, EventArgs e)
            Session["rollno"] = txtRollNo.Text;
                Response.Redirect("Edit.aspx");
    //Edit.aspx.cs
    //Here I assign a session value to textbox, which is stored in last page.
    protected void Page_Load(object sender, EventArgs e)
            txtRollNo.Enabled = false;
            txtRollNo.Text = Session["rollno"].ToString();
            getdata();
    public void getdata()
            SqlConnection con = new SqlConnection("Data Source=SERVICETEAM-PC;Initial Catalog=csc;User ID=sa;Password=kavi");
            con.Open();
            SqlCommand cmd = new SqlCommand("Select * from Csc where Roll_No='" + txtRollNo.Text + "'", con);
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.Read())
                txtName.Text = dr.GetString(1).ToString();
                txtAddress.Text = dr.GetString(2).ToString();
                txtMobileNo.Text = dr.GetString(3).ToString();
                txtYesNo.Text = dr.GetString(4).ToString();
    From the above code If I the Edit button, It will show an error like 
           

  • PROBELM WITH TYPE X  VALUE '20' IN CONCATENATE STATEMENT in ECC version

    Hi EXPERTS,
             I am working in ECC 6.0 version.
             PROBELM WITH TYPE X  VALUE '20' IN CONCATENATE STATEMENT in ECC           version
             C_DEL     TYPE X VALUE '09' having solution --C_DEL TYPE C VALUE CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB,
             If  C_DEL     TYPE X VALUE '20'   what was the solution in ECC version.
             Please let me know. I am awaiting for ur answers
    <b><REMOVED BY MODERATOR></b>
    Message was edited by:
            Alvaro Tejada Galindo

    Hi
    welcome to SDN forum
    move that X field to a char field and use in concatenation
    CONCATENATE works only with CHAR fields
    Regards
    Anji

  • Why concatenate statement suppressing spaces !!

    <i>Hello Friends,
                  I like give some spaces in a concatenate statement, but it is suppresing the spaces.
    for ex: <b>concatenate 'sundar' '      ' 'g' into name</b>.
    but the name contains <b>'sundarg'</b> only.
    Thank you for your valuable time.
    Senthil</i>

    hi senthil
    <b>
    Syntax:</b>
    CONCATENATE dobj1 dobj2 ...  INTO result 
    <b>                   [SEPARATED BY sep].
    Example:</b>
    DATA: t1(10) TYPE c VALUE 'We',
          t2(10) TYPE c VALUE 'have',
          t3(10) TYPE c VALUE 'all',
          t4(10) TYPE c VALUE 'the',
          t5(10) TYPE c VALUE 'time',
          t6(10) TYPE c VALUE 'in',
          t7(10) TYPE c VALUE 'the',
          t8(10) TYPE c VALUE 'world',
          result TYPE string.
    CONCATENATE t1 t2 t3 t4 t5 t6 t7 t8
                INTO result.
    CONCATENATE t1 t2 t3 t4 t5 t6 t7 t8
                INTO result SEPARATED BY space.
    <b>output:</b>
    We have all the time in the world

  • Problem with mdx statements generated by CR

    Hello Experts,
    we have a problem concerning mdx-statements produced by Crystal Reports.
    We have built a report upon a query with a variable. Now within one Designer, the generated mdx statement looks like this:
    SELECT {[Measures].[4LPEKDIGEPNC4ENQA7Z0TN7MH]} ON COLUMNS FROM [MC_CO2010/C_BO_BSDB_1] SAP VARIABLES [ZKS__MSM] INCLUDING "432140" : "432140"
    Within another installed designer (same version etc.), the statement looks like this:
    SELECT {[Measures].[4LPEKDIGEPNC4ENQA7Z0TN7MH]} ON COLUMNS FROM [MC_CO2010/C_BO_BSDB_1] SAP VARIABLES [ZKS__MSM] INCLUDING [KSTL].[432140] : [KSTL].[432140]
    And only this version shows the data !
    Personally I know only statements like the last one (variable values in brackets). But only the first one (variable values in double quotes) does work. Does anyone know the reason for this ? How can we then achieve that the CR designer produces statements like the first one ?
    Thanks for your help in advance,
    Frank

    We´ve solved the problem:
    I discovered that on the computer that generated the "" statement, only CR2008 with SP3 was installed. Wheresas on the pc that generated the -statement, SAP Integration Kit (SIK) CR2008 SP3 AND SIK CR2008 Fixpack 3 was installed. So I de-installed SIK CR2008 Fixpack 3 and then both machines generated the same statements with the "".
    @Ingo:
    No, both values had been entered manually, so there was no difference in this. As I wrote above, the only differences where the addionally installed FP3.
    Noneheless, the mdx-statement with the "" seems strange to me. Is this something official ? If I take a look at the description for BW-Specific Enhancement for MDX:
    http://help.sap.com/SAPhelp_nw04/helpdata/en/a7/18533d6dd60610e10000000a114084/content.htm
    the seem to be ok and it is also the way I am used to it.

  • Problem with Dead States

    I am having a problem making dead states with my buttons. The
    way i have it set up I cannot just delete each button code from the
    frame where it's at. It's not working that way..Below I have
    attached pictures of the code in each frame the order the pictures
    are in are the order they are in the timeline in
    <a href="
    http://www.iankemp.com/images/indexmx3testt.swf">SWF
    File Here</a>
    http://www.iankemp.com/images/Picture1.png
    http://www.iankemp.com/images/Picture2.png
    http://www.iankemp.com/images/Picture3.png
    http://www.iankemp.com/images/Picture4.png
    http://www.iankemp.com/images/Picture5.png
    http://www.iankemp.com/images/Picture6.png
    http://www.iankemp.com/images/Picture7.png

    Please post in the DPS foum.
    http://forums.adobe.com/community/dps
    Bob

  • Problem deleting bank statements

    hi friends,
    i have 2 idocs processed which were same with different statement numbers. one was posted while the other was not posted. so i tried to delete the duplicate statement which was not posted through the program RFEBKA96 but after that i can still see the deleted statement number in the FEBA and FEBKO..but when i deleted the statement using RFEBKA96 it gave me messge what it was deleted in the following tables...
    dont know if am doing wrong....let me know its urgent
    thanks
    charlie

    Hi Charlie,
    SAP R/3 does not provide a standard transaction to delete bank statements from the Banks module in FI. This can lead to time-consuming problems when erroneous statements make their way into your system. While there is no transaction code, there is a report that allows you to delete bank statements. It has the added benefit of being able to work as timesaving testing tool that can be reused again and again. However, there is a risk when you use the report. If a user accidentally clicks the delete button without deselecting the found bank statements, the report deletes all bank statements for all company codes.
    Also check out this link
    http://help.sap.com/bp_bblibrary/500/Documentation/J03_BankStmt_EN_US.doc
    Assign points if useful
    Regards
    Genie

Maybe you are looking for