In my output fianl int. table how to display 'X' based on some conditions

Hi,
can somebody tell me
how to populate the value in my fianl table as 'X'.This is my requirement.How to do???
In the LOOP on lt_stpox, if lb_recursive is set to X, then populate gs_output-rekri = X for all components for material.
this is my coading.
*Panthom item check
   IF  p_phant = c_x .
      DELETE lt_stpox WHERE dumps = c_y.
    ENDIF.
    CLEAR lb_recursive.
    READ TABLE lt_stpox TRANSPORTING NO FIELDS WITH KEY rekri = 'x'.
    IF sy-subrc EQ 0.
      lb_recursive = 'X'.
    ENDIF.
    DELETE lt_stpox WHERE rekri = c_y.
    LOOP AT  lt_stpox INTO ls_stpox.
*Move header data to final table.
      MOVE-CORRESPONDING ls_topmat TO gs_output.
*move comonent data to final table.
      MOVE ls_stpox-ojtxp TO gs_output-maktx1.
      MOVE ls_stpox-idnrk TO gs_output-idnrk.
      MOVE ls_stpox-mngko TO gs_output-menge.
      MOVE ls_stpox-rekri TO gs_output-rekri.
      MOVE ls_stpox-meins TO gs_output-meins.
      MOVE ls_stpox-stufe TO gs_output-dglvl.
      APPEND gs_output TO gt_output.
    ENDLOOP.
    CLEAR: gs_output,ls_stpox,ls_topmat.
  ENDLOOP.
ENDFORM.                    " BUILD_OUTPUT

Hi,
As per my understanding of your question, You are checking whether lt_stpox-rekri = 'X'  in below code and then you are setting lb_recursive as 'X' accordingly.
CLEAR lb_recursive.
READ TABLE lt_stpox TRANSPORTING NO FIELDS WITH KEY rekri = 'x'.
IF sy-subrc EQ 0.
lb_recursive = 'X'.
ENDIF.
DELETE lt_stpox WHERE rekri = c_y.
And after that you are looping at lt_stpox to populate final internal table.
So, instead of doing this, you can directly loop at table lt_stpox and in loop check if  lt_stpox-rekri = 'X', if yes then gs_output-rekri = X.
Refer below code.
LOOP AT lt_stpox INTO ls_stpox.
If ls_stpox-rekri eq 'X'.
gs_output-rekri = X.
Endif.
*Move header data to final table.
MOVE-CORRESPONDING ls_topmat TO gs_output.
*move comonent data to final table.
MOVE ls_stpox-ojtxp TO gs_output-maktx1.
MOVE ls_stpox-idnrk TO gs_output-idnrk.
MOVE ls_stpox-mngko TO gs_output-menge.
MOVE ls_stpox-rekri TO gs_output-rekri.
MOVE ls_stpox-meins TO gs_output-meins.
MOVE ls_stpox-stufe TO gs_output-dglvl.
APPEND gs_output TO gt_output.
ENDLOOP.
CLEAR: gs_output,ls_stpox,ls_topmat.
ENDLOOP.
Hope it helps.
Thanks,
Archana
Edited by: Archana Pawar on Feb 1, 2010 11:43 AM

Similar Messages

  • To make table cell as read-only based on some condition

    Hello ABAPers,
    I have a requirement to make the cell in the table of a Web Dynpro component read-only. There are 4 fields in the Table of a view which is mapped to the Context attribute, i.e. function, Number, Description etc. When the value of the Field 'Function' is
    '0000016', I have to make the Number field as READ-ONLY(non-editable).
    As suggested in SDN forums, I have created the sub-node to the main node in Context and added an attribute 'READ_ONLY'. I have made the cardinality as 1:1. I have also created the Supply Function Method(ZREADONLY) for sub-node that I have created and also set the context binding to the Read only property of the field 'Number' in the View Layout.
    PFB the coding I have done in supply function method for setting the read-only attribute for the number field, but it is not working. Could anyone let me know what is the change I have to make this work?
    DATA ls_parent_attributes TYPE wd_this->element_partner_h.
    DATA l_partner LIKE ls_parent_attributes-partner _fct
    Constants c_parent LIKE ls_parent_attributes-partner_fct VALUE '000016'.
    DATA ls_zread_only TYPE wd_this->element_zreadonly
    parent_element->get_static_attributes(
       IMPORTING
              static_attributes = ls_parent_attributes).
    CLEAR l_partner.
    l_partner = ls_parent_attributes-partner_fct.
    IF l_partner = c_partner.
        ls_zread_only-readonly = abap_true.
         node->bind_structure(
         new_item = ls_zread_only
         set_initial_elements = abap_true ).
    ELSE.
        CLEAR ls_zread_only-readonly.
        ls_zread_only-readonly = abap_false.
        node->bind_structure(
         new_item = ls_zread_only
         set_initial_elements = abap_false ).
    ENDIF.
    Thanks for your time!
    Regards,
    M M Jaffer

    Hi,
    the solution is quite simple.
    Bind the property reaonly in the layout editor to the property readonly of the context-attribute.
    Therfore you have to click at the binding button of the celleditor of the property read-only.
    Then you select the  radiobutton in front of Bind to the property of the selected Attribute and choose Property R.
    In you coding you have to fo the following in case you do that after binding the itab to the context:
    node->bind_table( .... ).
    data lt_elements type wdr_context_element_set.
    lt_elements = node->get_elements( ).
    LOOP at lt_elements into element.
    element->get_attribute(
          exporting
            name = 'PARTNERFCT'
          importing
            value = lv_partnerfct
      if lv_partnerfct eq c_partner.
        call method lo_el_position->set_attribute_property
          exporting
            attribute_name = 'PARTNERFCT'
            property       = element->e_property-required
            value            = 'X'.
      else.
        call method lo_el_position->set_attribute_property
          exporting
            attribute_name = 'PARTNERFCT'
            property       = element->e_property-read_only
            value            = ''.
      endif.
    endloop.
    Of corse you have to modify the coding and i didn´t checked the syntax, baut this should help.
    Best regards, Matthias

  • How to dynamically add/remove a button from the ribbon based on some condition? (Ribbon XML)

    Hi,
    I have a ribbon (done using ribbon XML) with menu options. I need to remove few buttons from the menu dynamically based on some condition. Also, I want to change the label of another button. How to achieve this programmatically? (C#)
    Thanks in advance.
    Thanks Prasad

    Hello Prasad,
    Use callbacks for populating Ribbon controls such as menu, dropDown, gallery and etc. Then you can use the
    Invalidate or
    InvalidateControl methods of the
    IRibbonUI interface to get your callbacks invoked when required. Thus, you will be able to delete the required item(s).
    You will find the following articles in MSDN helpful:
    Chapter 11: Creating Dynamic Ribbon Customizations (1 of 2)
    Chapter 11: Creating Dynamic Ribbon Customizations (2 of 2)
    To change the label of your controls at runtime you need to use the getLabel callback and call the Invalidate or InvalidateControl methods of the IRibbonUI interface. The following series of articles describe the Fluent UI in depth:
    Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
    Customizing the 2007 Office Fluent Ribbon for Developers (Part 2 of 3)
    Customizing the 2007 Office Fluent Ribbon for Developers (Part 3 of 3)

  • How to make a region mandatory based on some conditions using CO Extension?

    Dear All,
    I want to make Attachments region in a seeded page mandatory, based on some conditions. I am able to make fields mandatory using CO Extension, but i am not able to make the attachments region mandatory. Please help.
    Thanks
    Raj

    Raj,
    I have not tried but check if you could get the rowcount which shows how many attachment are upload or not. Then by checking this throw exception if the rowcount is o.
    Thanks
    --Anil
    http://oracleanil.blogspot.com/

  • Calling two table controlls based on some conditions......

    I hav a requirement in which i have two table controlls, which i want to call based on some conditions. Like if condition is satisfied the first table controll shud fill up the screen and other wise the secondtable controll shud fill the screen....

    Hello,
    In the main screen where u need to vary with the 2 table controls , create a subscreen area .
    Now create two subscreens with the required table controls respectively.
    You can dynamically call the subscreens accordingly for  the conditions.
    Hope this may help you.
    Neeraj

  • How to make a table column block editable for a row and remain non editable for other row based on some condition

    hi ,
    i need help on the below scenario ,
    we have a web dynpro table with different columns, now based on new business requirement  one of the column need to     
    dynamically editable or non editable for different row.
    for ex :
    Field 1
    Field 2 ( Dynamic field )
    Field 3
    Field 4
    Data 11
    Data 12 ( Editable with Drop down   )
    data 13
    data 14
    Data 21
    Data 22 ( Non editable )
    Data 23
    data 24
    Data 31
    data  32 ( Editable with drop down )
    data 33
    data 34
    how to achieve this ? please help on this.
    Thanks in advance
    Thanks
    Manish

    Manish,
    there is no proper way to insert two Cell Editors in a column(except variants), have a look on below scenario, it may help.
    add one more attribute to your table context node for read-only.
    create dropDown as celleditor for table and bind with newly created attribute to read-only property of dropdown.
    before binding data to table, check the condition then mention readonly value abap_true / false.
    @ we can achieve by the use of Variants.
    for ex :
    Data 11
    Data 12 ( Editable with Drop down)
    data 13
    read-only - abap_false
    Data 21
    Data 22 ( Non editable, dropdown )
    Data 23
    read-only - abap_true
    Data 31
    data  32 ( Editable with drop down )
    data 33
    read-only - abap_false

  • Insert data in same table based on some condition

    Hi. I am new to this forum.
    I have to write a stored procedure to Insert Data into a table say MYTABLE ,having structure as:
    Col1 Col2 Col3 ................ TotalInstallments CurrentInstallment PaidAmount MonthYear
    I have to insert all the data as it is in the same table(MYTABLE) except changing some fields on basis of some conditions:
    1. if PaidAmount>0 && CurrentInstallment<TotalInstallment then
    CurrentInstallment=CurrentInstallment+1
    2. In the MonthYear field I am having data in formate(month/year)ex. 01/2012, 11/2012 ....
    So I have to insert data by incrementing month and year. for example:
    if currentdata is 11/2012 then next data will be 12/2012
    But next will be 01/2013
    I have to select all the records which belongs to previous month(through MonthYear field ) and put checking & changes on each record of the selected data and then insert them into same table(MYTABLE).
    How to achive that?
    Thanks.

    978184 wrote:
    Every thing is working fine but some strange result as:
    when i run my Procedure TRANSFERDATATONEXTMONTH
    1. by Passing Value as : CUSTOMERID_var ='ABX101' and MONTHYEAR_var='12/2012' it insurts 5 rows
    which is correct , since I have 5 records where CUSTOMERID='ABX101' and MONTHYEAR='12/2012' and
    new 5 rows has CUSTOMERID='ABX101' and MONTHYEAR='01/2013' (all other values are as expected)
    2. now when i again run by passing values: CUSTOMERID='ABX101' and MONTHYEAR='01/2013' it inserts 10 records(just double )
    and new records has value CUSTOMERID='ABX101' and MONTHYEAR='02/2013' (while on the basis of condition CUSTOMERID='ABX101' and MONTHYEAR='01/2013' i have in my table only 5 records)
    and all records are duplicate. Some times it inserts three times , while on condition basis it should no. What is happening?Probably, meanwhile you were trying to Insert the First time and the second time, someone did run the procedure that Inserted 5 More records for 01/2013. And, hence your Second run inserted 10 records instead of 5.
    >
    Why it is inserting double of records while i have only 5 records on given condition? Am I missing some thing?Yes, you are. You are missing your Tables, Your Dummy/Sample Data, Working Procedure/Function that can be replicated.
    Without this, we cannot simply believe on assertions that Oracle is behaving incorrectly.
    In addition to this, the GetMonthYear function, should be scrapped. It is un-necessary, when the same logic can be achieved using Oracle ADD_MONTHS function (See my previous post). And you are storing the MonthYear in a Varchar field, which ideally should be a Date field. This eradicates the un-wanted need to cast from VARCHAR - DATE - VARCHAR.
    Please do make some time to read {message:id=9360002} and mentioned relevant details.
    And notice, the code difference in my previous post and in your code.
    Please use
    {noformat}
    (exactly as shown) above and below your code, that indents the code properly for better readability.
    {noformat}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • How to display top Position Level using conditions / Exception Aggregation

    Hello,
    I have the following problem where I need to list out the row with the highest POSITION LEVEL (with reference to BUSINESS PARTNER). I have tried out all possibilities including Conditions and Exception Aggregation (MAX) but nothing seems to work. Conditions work to an extent i.e. it shows the top position level but unfortunately for the entire query result i.e. only one row is displayed in the result (the first row to satisfy the condition) instead of all the rows for each Business Partner. POSITION LEVEL is a KEY FIGURE value. It also exists as a CHARACTERISTIC under a diferent name in the cube. How can I solve this? Pls help.
    This is how the report looks at present...
    First Name     Last Name     Business Partner Nr.     Date of Birth     Postalcode     City     Position Level
    Testfallini     Enzweiler     3000000020     21.10.1990     63674     New York     1
    Tamara     Dimmer     3000179274     10.09.1987     54689     Chicago     2
    Tamara     Dimmer     3000179274     10.09.1987     54689     Chicago     1
    Tamara     Dimmer     3000179274     10.09.1987     54689     Chicago     1
    Thu-Ha     Tran     3000069951     25.12.1988     93047     Atlanta     2
    Thu-Ha     Tran     3000069951     25.12.1988     93047     Atlanta     1
    This is how the report looks when I use conditions...
    First Name     Last Name     Business Partner Nr.     Date of Birth     Postalcode     City     Position Level
    Tamara     Dimmer     3000179274     10.09.1987     54689     Chicago     2
    This is how the report should look...
    First Name     Last Name     Business Partner Nr.     Date of Birth     Postalcode     City     Position Level
    Testfallini     Enzweiler     3000000020     21.10.1990     63674     New York     1
    Tamara     Dimmer     3000179274     10.09.1987     54689     Chicago     2
    Thu-Ha     Tran     3000069951     25.12.1988     93047     Atlanta     2
    Thanks in advance,
    SD

    Hi Sebastian,
    I thought you need to display all the records with the highest position level at top. But now I realize your requirement.
    It should only display only the maximum position level for each level.
    You can try using the Condition for the position level KF, with Top N operator and value = '1'
    And then go to char assignement tab in the exception and select Most Detail Chars along Rows/Individual Chars. and combinations for the required combination of Chars.
    [List Condition for All Characteristics in Drilldown Independent|http://help.sap.com/saphelp_nw04/helpdata/en/86/dfc405ab60524ea0d3e89db15fb2e7/content.htm]
    [Defining Conditions |http://help.sap.com/saphelp_nw04/helpdata/en/73/702e39074dc93de10000000a114084/frameset.htm]
    Hope this helps....
    Rgs,
    Ravikanth.

  • How can i end the Process chain based on some condition

    HI All,
    I have a scenario where i have a main pc chain which call  the  new chain at the end which in turn again call pc1. So its more like a closed loop .
    pc1-->pc2->pc1
    What main chain does is it reads some field value from a dso and assign that to some variable and set some flag to identify that value has been used. My second chain just run the report using the same variables assign by first chain. Now i have to design the main chain such that when all the values have been read from the dso, it should exit and should not trigger 2nd chain. How can i achieve this scenario.
    Thanks
    Prashant

    Hi,
    For this try using Process Type-"Decision between multiple Alternatives" in your main chain.It helps you the set condieion based on some formulas
    Pls refer links
    Decision Between Multiple Alternatives
    thanks
    nilesh
    Edited by: npathak on Aug 11, 2010 1:16 PM

  • Calling the standard program in program and getting its output in int table

    Hi there,
    I have a requirement, where I need to call the standard program (of transaction CJI3) in my Y program. CJI3 transaction produces a ALV GRID output. I need to use that data for further processing. I am getting following problems:
    1. I tried to use SUBMIT ... EXPORTING TO MEMORY statement. I need to pass the company code for the selection, but the company code is in the dynamic selection. So not getting how to pass them.
    2. Just a doubt. Can we export the ALV GRID to the memory an retrieve it back using import?
    3. I did tried to use SUBMIT .....  statement using only the parameters which are on the selection screen. However the control went to CJI3 transaction and gave an error message 'Please select "from database" or "from archive" '. Did not understood that, any IDEA?
    Or is there any other way with which I can accomplish my requirement of getting the data in my program to manipulate, other than SUBMIT.
    Points will be rewarded.
    Thanks,
    Ganesh Khumse

    Hi,
    point 1:
    SUBMIT ... EXPORTING TO MEMORY will never work, because it displays the information in an ALV grid and that grid is waiting for user interaction for manipulating the information.
    point 2:
    no, you cannot export the content of an ALV grid to the memory
    point 3:
    must you get records in an internal table or must you feed the transaction, so that this one performs a task ??  for first option read below and for the other option you might work with BDC and Transaction Recorder.
    what you have to do is read the code of transaction CJI3 in order to understand what it does, where the information is read from and what is the internal table that passes the values to the ALV Grid. You might find a user exit in the code for manipulating that information or you might create an enhancement point if there´s no user exit.

  • Nested Table: How to display formatted text in the form ?

    Hi,
    Scenario:
    I have a nested table, say TAB1, containing another table TAB2 which holds the formatted text.
    Sample data
    Entries in TAB1:
    Column1       Column2(TAB2)
    Text1         Data_from_tab2
    Text2         Data_from_tab2
    Text3         Data_from_tab2
    Requirement:
    The requirement is to display the data in TAB1 as it is maintained.
    Trials:
    I am aware of the fact that we can transfer the content of the nested table (in this scenario, TAB2) in another table(of type TLINE) defined as a global variable in the interface of the form. Then in the context area, we can define a 'TEXT' node and bind it to the table and choose the 'Dynamic text' for the 'text type' attribute and maintain the other atrributes.
    But this approach cannot solve the issue as it is a nested table.
    Kindly suggest how can I resolve this issue.
    Regards
    s@k

    Hi,
    if its like colum1, column2 (tab2).
    you can represent column2 as a nested table in the form. and put these tables structure intoa subform of type flowed.
    then you can have the required format.
    the same can also be acheived using nested subforms instead of tables.
    example of such scenario is PO & line items.
    po number1 , items 1
                          item 2
                          item 3
    po number2 , items 1
                          item 2
                          item 3
    hope this helps you.
    Cheers,
    Sai

  • For a READ TABLE how to build a dynamic WITH KEY condition?

    Hi All,
    I have a Z table with 6 fields. The first field is the Plant and is the key field. This field can be matched with the field from selection screen. Now I have 4 character fields which can contain various values. Now I have another field at the end of the table and this field is the one which I will need for further processing.
    Now this last field will be selected based on the data for first 5 fields.
    This Read is performed in a loop and the data for all the 4 character fields may not be present.
    Now my problem is how to build a Read statement for this table where I need to get the value of the Last field based on the values of first 5 fields?

    Hi,
        Use
    IF    you have internal table With header line then use
          REad Tablename  with key  field1 = value1   field2 = value2      field3 = value3        field4 = value4    field5 = value5.
      If sy-subrc = 0.
    endif.
    if  you have internal table WithOut header line then use
         REad Tablename into workArea  with key  field1 = value1   field2 = value2      field3 = value3        field4 = value4    field5 = value5.
      If sy-subrc = 0.
    endif.
    regards,
    Amit

  • How do i export the table data based on some condition for backup

    Is is syntax correct
    exp scott@orcl92 file=emp_29aug.dmp tables=emp
    query=\"where emp_no in (1,2,3,4) \".
    How do i take the backup of more than one table?
    what is the syntax for that
    Thans

    Thanks for your response
    If i want to add more than one condition in the query, then how do i do that
    exp scott/tiger@orcl file=scott.dmp tables=(emp, dept) query=\"where deptno = 30\" and emp_no in (1,2,3,4);
    how do i do that

  • How to display value based on LOV selection

    Hi,
    I have an editable table. On create operation one of the field is LOV, based on LOV selection the next field should be auto populated, please help me how to achive this.
    Thanks,

    Thanks for your reply........
    I did all these to get value based on LOV selection, but my problem is when i am trying to create a new record then everthing is working fine but normal search i am not getting the value of that attribute.
    below is my code
    Page:
    <af:column sortProperty="ProcessType" filterable="true"
    sortable="true"
    headerText="#{bindings.CmWeeklyProcesses.hints.ProcessType.label}"
    id="c36" width="340px;">
    <af:inputComboboxListOfValues id="processTypeId"
    popupTitle="Search and Select: #{bindings.CmWeeklyProcesses.hints.ProcessType.label}"
    value="#{row.bindings.ProcessType.inputValue}"
    model="#{row.bindings.ProcessType.listOfValuesModel}"
    required="#{bindings.CmWeeklyProcesses.hints.ProcessType.mandatory}"
    columns="#{bindings.CmWeeklyProcesses.hints.ProcessType.displayWidth}"
    shortDesc="#{bindings.CmWeeklyProcesses.hints.ProcessType.tooltip}" inlineStyle="width:800px;"
    valueChangeListener="#{backingBeanScope.backing_app_CalcSchedules.weeklyDescription}"
    autoSubmit="true" >
    <!-- <f:validator binding="#{row.bindings.ProcessType.validator}"/>-->
    </af:inputComboboxListOfValues>
    </af:column>
    <!--value="#{row.bindings.Description.inputValue}" backingBeanScope.backing_app_CalcSchedules.description-->//If i use this value in the below property line then i am not getting value while creating time but if i done blind search then i am not getting any value in this field.
    <af:column sortProperty="Description" filterable="true"
    sortable="true"
    headerText="#{bindings.CmWeeklyProcesses.hints.Description.label}"
    id="c35" width="390px;">
    <af:inputComboboxListOfValues id="descriptionId"
    popupTitle="Search and Select: #{bindings.CmWeeklyProcesses.hints.Description.label}"
    value="#{row.bindings.Description.inputValue}"
    model="#{row.bindings.Description.listOfValuesModel}"
    required="#{bindings.CmWeeklyProcesses.hints.Description.mandatory}"
    columns="#{bindings.CmWeeklyProcesses.hints.Description.displayWidth}"
    shortDesc="#{bindings.CmWeeklyProcesses.hints.Description.tooltip}" inlineStyle="width:1000px;"
    readOnly="true" partialTriggers="processTypeId">
    <f:validator binding="#{row.bindings.Description.validator}"/>
    </af:inputComboboxListOfValues>
    </af:column>

  • Based on some conditions table rows should be of different color

    Hi Experts,
    I have created one WD application which calls RFC. The displayed result is
    Trip No    Date                 Status
    1             01-jan-2009     Approved
    2             05-jan-2009     Rejected
    3             09-jan-2009     Cancelled
    I want to ensure that row no 1 should be of color 1 (say green color), row no 2 should be of color 2 (say red color) and row no 3 should be of coor 3 (say black color).
    How I can do so?
    Regards,
    Gary

    Hi
    Please go through this forum, this will help you:
    1. How to enable alternating color in a table rows?
    2. How to Change the color of rows in a table
    3.  how to set table alternating color
    Thanks
    Susmita

Maybe you are looking for

  • Device drawing too much power...?

    Am trying to charge my original iPhone and both the wall charger as well as computer (mac) do not seem to allow it to charge. When I plug into my computer, I get an error message that says: +Because a USB device was drawing too much power from your c

  • BootCamp drivers crash Windows 7, slow startup, boot order?, backup drive

    I have 3 issues that may be related or possibly not related to each other. I use an iMac (currently with Leopard 10.5.8 on a completely clean installation of both Leopard and Windows 7 on a freshly formatted and partitioned drive). Issues: 1. Before

  • Touch will not reset

    My 2nd Gen touch will not reset. I hold down the HOME and SLEEP/WAKE buttons simultaneously until the Apple logo appears. All of my music and video is still on it. Any ideas? Thanks.

  • Can I erase downloaded files?

    I have a long list of files in my download tab. Can I erase them without deleteing the files from my computer?  Thanks

  • Sharing on public networks

    Hi, everyone. I'd like to receive recommendations or best practices regarding sharing resources on public networks. I'm aware Homegroups allow for easy sharing, but it requires network location to be Private, which offers a less secure network config