How to assign preceeding zeros in table

Hai experts,
i have problem please help
my problem is i created a screen using module pool programing so their is one field in which if i enter any 'value' then it save in ddic table as 'oooovalue'
example if i enter as 1234 then in table it should save as 00001234.
thans in  advance.
rajesh

Use the FM <b>CONVERSION_EXIT_ALPHA_INPUT</b>
ALPHA conversion is used especially with account numbers. During conversion from the external to the internal format, the system checks to see if input in the INPUT field is purely numeric, that is, if this input consists only of numbers, possibly with spaces before and after them. If this is the case, then the number string is inserted right- justified in the display field OUTPUT and all spaces to the left of the value are filled with zeroes ('0'). If the input is not purely numeric, it is inserted in the display field from left to right and all extra spaces are filled with blanks.
Example:
(Input field and output field are both eight characters in length)
1. '1234    ' --> '00001234'
2. 'ABCD    ' --> 'ABCD    '
3. ' 1234   ' --> '00001234'
Reward Points if useful.

Similar Messages

  • How to assign Values to nested table and pass as parameter to procedure?

    How to assign Values to nested table and pass as parameter to procedure?
    Below is the Object and its type
    create or replace type test_object1 as object
    val1 varchar2(50),
    val2 varchar2(50),
         val3 varchar2(50)
    create or replace type test_type1 is table of test_object1;
    create or replace type test_object2 as object
    val1 varchar2(50),
    val2 varchar2(50),
         val3 varchar2(50)
    create or replace type test_type2 is table of test_object2;
    GRANT ALL ON test_object1 TO PUBLIC;
    GRANT ALL ON test_type1 TO PUBLIC;
    GRANT ALL ON test_object2 TO PUBLIC;
    GRANT ALL ON test_type2 TO PUBLIC;
    here is the table made of object type:
    create table test_object_tpe
    sl_num NUMBER,
    description VARCHAR2(100),
    main_val1 test_type1,
    main_val2 test_type2
    NESTED TABLE main_val1 STORE AS tot1
    NESTED TABLE main_val2 STORE AS tot2;
    here is the procedure which inserts values into nested table:
    PROCEDURE INSERT_TEST_DATA(sl_num IN NUMBER,
    description IN VARCHAR2,
    p_main_val1 IN test_type1,
    p_main_val2 IN test_type2
    IS
    BEGIN
    FOR rec in p_main_val1.first..p_main_val1.last
    LOOP
    INSERT INTO xxdl.test_object_tpe
    sl_num,
    description,
    main_val1,
    main_val2
    VALUES
    sl_num
    ,description
    ,test_type1 (test_object1(
    p_main_val1(rec).val1,
                                       p_main_val1(rec).val2,
    p_main_val1(rec).val3
    ,test_type2 (test_object2( p_main_val2(rec).val1,
                        p_main_val2(rec).val2,
                        p_main_val2(rec).val3
    END LOOP;
    commit;
    END INSERT_TEST_DATA;
    here is the anonymoys block which assigns values to the object type and pass values into the procedure:
    set serveroutput on;
    declare
    p_sl_num NUMBER := 1001;
    p_description VARCHAR2(50) := 'Testing Val1';
    inval1 test_type1 := test_type1();
    inval2 test_type2 := test_type2();
    begin
    inval1(1).val1 := 'testx1';
    inval1(1).val2 := 'testx2';
    inval1(1).val3 := 'testx3';
    inval2(1).val1 := 'testy1';
    inval2(1).val2 := 'testy2';
    inval2(1).val3 := 'testy3';
    CSI_PKG.INSERT_TEST_DATA(sl_num => p_sl_num,
    description => p_description,
    p_main_val1 => inval1,
    p_main_val2 => inval2
    end;
    Can anybody correct me.
    Thanks,
    Lavan

    Thanks for posting the DDL and sample code but whenever you post provide your 4 digit Oracle version (result of SELECT * FROM V$VERSION).
    >
    How to assign Values to nested table and pass as parameter to procedure?
    >
    Well you are doing almost everything wrong that could be done wrong.
    Here is code that works to insert data into your table (the procedure isn't even needed).
    declare
    p_sl_num NUMBER := 1001;
    p_description VARCHAR2(50) := 'Testing Val1';
    inval1 test_type1 := test_type1();
    inval2 test_type2 := test_type2();
    begin
    inval1.extend();
    inval1(1) := test_object1('testx1', 'testx2', 'testx3');
    inval2.extend();
    inval2(1) := test_object2('testy1', 'testy2', 'testy3');
    INSERT INTO test_object_tpe
    sl_num,
    description,
    main_val1,
    main_val2
    VALUES
    (p_sl_num, p_description, inval1, inval2);
    commit;
    end;
    /See Example 5-15 Referencing a Nested Table Element in Chap 5 Using PL/SQL Collections and Records in the PL/SQL doc
    http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/collections.htm#CJABEBEA
    1. You don't even need the procedure since all it does is a simple INSERT into the table which you can do directly (see my code above)
    inval1(1).val1 := 'testx1';There is no element one (1) of 'inval1' since you haven't created any elements yet. You need to EXTEND the collection to add an element
    inval1.extend();And then there is an empty element but 'inval1' is a container for objects of type 'test_object1' not for scalars like 'val1', 'val2', and 'val3'.
    So you can't do
    inval1(1).val1 := 'testx1';You have to create an instance of 'test_object1'
    inval1(1) := test_object1('testx1', 'testx2', 'testx3');And so on for the other collection
    You don't need the procedure (as my sample code shows) but once you populate the variables properly it will work.

  • New-GL-how to assign the zero balance accounts to scenarios

    Dear Experts
    Please help me how/where to assign the zero balance accounts to scenarios.
    Standard functionality supports: Profit Center derication as mentioned below:
    Derivation based on master data--If the line item contains a cost object, the profit center in the master data of the cost object is used.
    Derivation based on product category
    Derivation based on organizational structure
    Derivation based on document splitting - For line items in the Accounts Payable, Accounts Receivable, Cash, and Taxes sub-ledgers, a profit center is only derived if you are using profit center segment accounting with clearing or with balancing. For journal entries, document splitting is always performed for the line items in these sub-ledgers after the other line items have been created.we are concerned abt the 1st scenario & 4
    Default profit center-FAGL3KEH -If no profit center could be determined based on the product category, organizational structure, or document splitting, the standard profit center we specified when configuring the corresponding ledger is used.
    But I am looking for a specific requirement to configure the Zero balance clearing account to the scenarios.
    Thanks
    Rama

    That information will not be any use.
    You can carry forward any number of times - the last should be after closing of previous years accounts.
    Hope it is clear.

  • How to assign a whole internal table to field symbol

    Can anyone explain me that , can we assign the whole internal table to a field symbol .If yes please explain with some simple example by assigning an internal tabl data to a field symbol and how to loop on to that field symbol to write the data from it.
    Please don't paste the F1 help .
    Thanks,
    Rose.

    hi
    good
    check this code
    ) Defining the table records and the field symbol in a similar type.
    just an ordinary standard table
    TYPES: BEGIN OF it_vbak_line,
    vbeln LIKE vbak-vbeln,
    vkorg LIKE vbak-vkorg,
    vtweg LIKE vbak-vtweg,
    spart LIKE vbak-spart,
    kunnr LIKE vbak-kunnr,
    END OF it_vbak_line.
    DATA: it_vbak TYPE TABLE OF it_vbak_line.
    FIELD-SYMBOLS: <it_vbak_line> TYPE it_vbak_line.
    or as a screaming fast hash table for keyed reads
    TYPES: BEGIN OF it_vbpa_line,
    vbeln LIKE vbak-vbeln,
    kunnr LIKE vbak-kunnr,
    END OF it_vbpa_line.
    DATA: it_vbpa TYPE HASHED TABLE OF it_vbpa_line
    WITH UNIQUE KEY vbeln.
    FIELD-SYMBOLS: <it_vbpa_line> TYPE it_vbpa_line.
    2) In ITAB processing, utilize the ASSIGNING command.
    loop example
    LOOP AT it_vbak ASSIGNING <it_vbak_line>.
    look at records--populate it_zpartner
    read example
    READ TABLE it_vbpa ASSIGNING <it_vbpa_line>
    WITH TABLE KEY vbeln = <it_vbak_line>-vbeln.
    3) Refer to the field symbol's fields in the loop or after the read.
    wa_zpartner-vkorg = <it_vbak_line>-vkorg.
    wa_zpartner-vtweg = <it_vbak_line>-vtweg.
    wa_zpartner-spart = <it_vbak_line>-spart.
    wa_zpartner-kunag = <it_vbak_line>-kunnr.
    wa_zpartner-kunwe = <it_vbpa_line>-kunnr.
    See the code example below for further detail. The code was written in R/3 4.6C and should work for all 4.x versions.
    thanks
    mrutyun^

  • How to assign values to dynamic table

    Hi All,
    I am working with a dynamic table and an internal table. My internal table looks like this.
    Projno       Cust      Opt         Status
    g1234       kkkkk       p1            I001
    g1234       kkkkk       p2            I004
    g1234       kkkkk       p3            I001
    g1234       kkkkk       p5            I002
    g1256       lmnvw       p1            I003
    g1256       lmnvw       p3            I004
    g1256       lmnvw       p5            I005
    g1256       lmnvw       p7            I001
    My Dynamic table struture looks like this
    Projno  Cust     p1  p2  p3 p4  p5  p6  p7
    I need data in my dynamic table from my internal table as follows
    Projno        Cust        p1    p2    p3     p4    p5     p6    p7
    g1234       kkkkk       I001  I004 I001         I002
    g1256       lmnvw       I003         I004         I005           I001.
    The problem is these operations may vary thats why i am using dynamic table. Even i cannot use case statement as the operations may vary.
    Is it possible to do using Assign component or some other way.
    Thanks

    This program creates dynamic internal table
    copy and paste in your program and test it .. debug it to know how it is creating dynamic internal table and values into that table.
    report z_dynamic.
    type-pools : abap.
    field-symbols: <dyn_table> type standard table,
                   <dyn_wa>,
                   <dyn_field>.
    data: dy_table type ref to data,
          dy_line  type ref to data,
          xfc type lvc_s_fcat,
          ifc type lvc_t_fcat.
    selection-screen begin of block b1 with frame.
    parameters: p_table(30) type c default 'T001'.
    selection-screen end of block b1.
    start-of-selection.
      perform get_structure.
      perform create_dynamic_itab.
      perform get_data.
      perform write_out.
    form get_structure.
    data : idetails type abap_compdescr_tab,
           xdetails type abap_compdescr.
    data : ref_table_des type ref to cl_abap_structdescr.
    Get the structure of the table.
      ref_table_des ?=
          cl_abap_typedescr=>describe_by_name( p_table ).
      idetails[] = ref_table_des->components[].
      loop at idetails into xdetails.
        clear xfc.
        xfc-fieldname = xdetails-name .
        xfc-datatype  = xdetails-type_kind.
        xfc-inttype   = xdetails-type_kind.
        xfc-intlen    = xdetails-length.
        xfc-decimals  = xdetails-decimals.
        append xfc to ifc.
      endloop.
    endform.
    form create_dynamic_itab.
    Create dynamic internal table and assign to FS
      call method cl_alv_table_create=>create_dynamic_table
                   exporting
                      it_fieldcatalog = ifc
                   importing
                      ep_table        = dy_table.
      assign dy_table->* to <dyn_table>.
    Create dynamic work area and assign to FS
      create data dy_line like line of <dyn_table>.
      assign dy_line->* to <dyn_wa>.
    endform.
    form get_data.
    Select Data from table.
      select * into table <dyn_table>
                 from (p_table).
    endform.
    form write_out .
    Write out data from table.
      loop at <dyn_table> into <dyn_wa>.
        do.
          assign component  sy-index
             of structure <dyn_wa> to <dyn_field>.
          if sy-subrc <> 0.
            exit.
          endif.
          if sy-index = 1.
            write:/ <dyn_field>.
          else.
            write: <dyn_field>.
          endif.
        enddo.
      endloop.
    endform.                    " write_out

  • How to remove preceeding zeros?

    Hi,
    Any function to remove the preceeding zeros from a number type.
    I cannot be using integers because i need to append it to a string.
    Thanks and regards,
    Ronita

    Hi Ranita,
    U can use anyone of the following options.
    DATA:num(10) value '0000000100'.
    SHIFT num LEFT DELETING LEADING '0'.
    WRITE:/ num.
    Or
    DATA : num(10) TYPE n VALUE '0000000100'.
    DATA : l_num type n.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
    EXPORTING
    input = num
    IMPORTING
    output = l_num.
    write: l_num.
    If it is helpfull pls reward pts.
    Regards
    Srimanta

  • How to remove leading zeros in Table in Pages

    I have a table where I need to enter decimals into a table in Pages and it keeps adding the 0 before the decimal and I cannot figure out how to make that stop. I need to be able to enter .54 and not have it change it to 0.54. Any help would soooooo appreciated!!
    Thanks

    You're welcome.
    Sorry to hear y'all in the States are doing it so bad that there's nothing in front of the decimal place!
    Peter

  • How to assign values into nested table type in plsql

    hi all,
    I feel some what difficult to return user defined types from plsql function and procedures .
    Can any one help me to learn this .
    Version details are as follow
    BANNER
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
    PL/SQL Release 10.2.0.1.0 - Production
    CORE    10.2.0.1.0      Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    SQL>
    create or replace type emp_names_nt is table of varchar2(100);
    /* Formatted on 2012/04/05 15:23 (Formatter Plus v4.8.8) */
    CREATE OR REPLACE FUNCTION get_emp_names
       RETURN emp_names_nt
    IS
       CURSOR ec
       IS
          SELECT ename
            FROM emp;
       v_emp_names   emp_names_nt := emp_names_nt ();
    BEGIN
       FOR i IN ec
       LOOP
          v_emp_names.EXTEND ();
          v_emp_names (i) := i.ename;
       END LOOP;
       RETURN v_emp_names;
    END;
    Error :
    PL/SQL: Statement ignored
    PLS-00382: expression is of wrong typeThanks in advance .............
    Thanks,
    P Prakash

    CREATE OR REPLACE FUNCTION get_emp_names
       RETURN emp_names_nt
    IS
       CURSOR ec
       IS
          SELECT ename
            FROM scott.emp;
       v_emp_names   emp_names_nt := emp_names_nt();
       cnt  number:=1;
    BEGIN
       FOR i IN ec
       LOOP
          v_emp_names.EXTEND;
          v_emp_names(cnt) := i.ename;
          cnt:=cnt+1;
       END LOOP;
       RETURN v_emp_names;
    END;
    show errors

  • How to assigne multiple value in key of read table

    Hi gurus,
    I want read table xxxx with key field1 = ' xxx' or field1 = 'yyy'.
    how to assign multiple value as key for the same field while reading internal table.
    Regards
    sagar

    Hi ,
    You can loop the internal table like
    loop at  <table xxxx> where field1 = ' xxx' or field1 = 'yyy'
    or you can write two read statements to read the internal table in wrk area.
    read table   <table xxxx> with key field1 = ' xxx'.
    if sy-subrc <>0
    read table   <table xxxx> with key field1 = 'yyy'.
    if sy-subrc = 0
    endif.
    else.
    do your data processing.
    endif.
    Thans.

  • How to suppress zeroes in table control?

    friends,
        by default, i am getting the initial values (zeros 0.00 for qty. fields) for the fields that am displaying in table control...how to suppress the zeroes (fields for which no values are there) in table control? any option like we have in alv (no_zeros) avbl? thanks all

    u are getting 0.00  bcos these are the field properties , so u have to create a new field for ur requirement.
    check the field attributes in SE51,
    DICT = DEC Format.
    Program = No Check for leading ZEROS.
    Regards
    Prabhu
    Message was edited by:
            Prabhu Peram

  • How to assign table name for select query in loop.

    Hi friends my requirement is count the no of records of all the database table which comes into an internal table ."Check the below coding". Iam  fetching the tables from dd03l table into an internal table .plz give me a sujjesion how to assign a table name in select query  in a loop.
      SELECT tabname FROM dd09l
                INTO TABLE i_dd09l
                WHERE protokoll = 'X'.
      IF sy-subrc = 0.
        SORT i_dd09l BY tabname.
      ENDIF.
      LOOP AT i_dd09l.
        SELECT COUNT(*) INTO val FROM i_dd09l-tabname.
        IF sy-subrc = 0.
          i_dd09l-count = val.
        ENDIF.
        MODIFY i_dd09l INDEX sy-index.
        CLEAR val.
      ENDLOOP.
    error : 'I_DD09L-TABNAME' is not defined in the abap dictionary as a table.

    data: dy_table type ref to data,
          dy_line type ref to data,
          xfc type lvc_s_fcat,
          ifc type lvc_t_fcat,
          dy_field type ref to data.
    LOOP AT i_dd09l.
    perform get_structure using i_dd09l-tabname .
    CREATE DATA dy_table TYPE TABLE OF (_dd09l-tab_name).
        UNASSIGN <dyn_table>.
        ASSIGN dy_table->* TO <dyn_table>.
    SELECT COUNT(*) INTO val FROM <dyn_table>.
    IF sy-subrc = 0.
    i_dd09l-count = val.
    ENDIF.
    MODIFY i_dd09l INDEX sy-index.
    CLEAR val.
    ENDLOOP.
    form get_structure using p_table.
      data : idetails type abap_compdescr_tab,
      xdetails type abap_compdescr.
      data : ref_table_des type ref to cl_abap_structdescr.
    Get the structure of the table.
      ref_table_des ?=
      cl_abap_typedescr=>describe_by_name( p_table ).
      idetails = ref_table_des->components.
      loop at idetails into xdetails.
        clear xfc.
        xfc-fieldname = xdetails-name .
        xfc-datatype = xdetails-type_kind.
        xfc-inttype = xdetails-type_kind.
        xfc-intlen = xdetails-length.
        xfc-decimals = xdetails-decimals.
        append xfc to ifc.
      endloop.
    endform.                    "get_structure
    Try like this hope it will work.
    Regards,
    madan.

  • How to assign select-option values to internal table

    hi all,
    how to assign select-option values to internal table
    thanks in advance.

    Hi,
    You just need to loop at your select-option field and take the values from low and high fields.
    for. e.g
    loop at s_werks .
    move:s_werks-low to <your itab>
    if not s_werks-high is initial .
    move: s_werks-high to <youritab>
    endif .
    append <your itab>
    endloop .
    OR use select statement.
    regards,
    Omkar.
    Message was edited by:
            Omkaram Yanamala
    Message was edited by:
            Omkaram Yanamala

  • How to assign custom table entries to request

    Hi,
    I have around 4000+ entries in Z* table(Customized data).
    Now i have to transport to QA system by assigning request no.
    How to assign the above all entries to the request.
    Thanks
    ~KER

    Hi Ramesh,
    That you can do it if you select
    Recording routine  as <u>Standard recording routine</u>       under table maintainance generator.
    But in my case the table has been created with <u>no,or user,recording routine</u>  option and updated all records in dev system.
    So its not possible  at this point of time.
    Thank you
    ~KER

  • How to assign a seq while creating a table

    Hi,
    How to assign a sequence such that i dont want to give the sequence while creation. i mean
    if employee table is there
    sl_no empname salary .....
    i dont want to give sequence while inserting the data, i want to give the sequence at creation of table level for sl_no
    i tried this
    create table seqtest1 (id number primary key default rajseq.nextval);
    but it is showing me the error
    ERROR at line 1:
    ORA-00907: missing right parenthesis
    whats the solution
    please help me
    Thank you
    Raj deep.A

    Hi Raj,
    You can not assign a sequence to a column while creating a table. you have two options for this. (So you can also use one sequence for multiple tables)
    1. As Gasparotto said, you can create a before insert statement. OR
    2. you can assign new sequence number in the program code. for example.
    insert into xxx (user_id,name,surname) values (seq_userid.nextval,'Raj','Deep');
    Good Luck.
    Onur

  • How to assign a query retrived value to a user defined  object in a table

    how to assign a query retrived value to a user defined  object in a table

    Rajeshwar,
    If you use the "Search" feature in this forum, you should be able to find helpful links to similar questions.  You could also look at the RecordSet and DoQuery documentation in the SAP Business One SDK Help Center documentation to assist you with your question.
    HTH,
    Eddy

Maybe you are looking for