Maintaining the records

Can anybody tell me how to maintain the records after reading them using CRM_ORDER_READ and modifying them? which function module can be used for that?

Hello,
My Answer to the first issue posted :
The FM CRM_ORDER_MAINTAIN updates the buffers only. After this you need to call the FM CRM_ORDER_SAVE to save the changes.
Regarding the second question "why status is not getting updated" ..
Can you check if any errors are returned by the CRM_ORDER_MAINTAIN after you pass the status parameters ?
Thanks,
Vinay

Similar Messages

  • Payment made outside SAP and need to maintain the record in the system.

    Hi Experts,
    Please help me with this. A payment was made outside the SAP System but, need to be updated in the SAP for record purpose without paying again. Is there is way we can do it?
    Thanks in Advance
    Dip

    Hi Dip,
    You can process an off-cycle payment for the staff and do not run the DME process OR perform the complete process and do not send the DME file to the bank.
    The other option is to post the payment and use a deduction Wage Type to recover the nett amount.
    Regards
    Saran

  • How to Maintain the Pricing Condition Records in CRM

    Hi
    I am new to the CRM
    How to maintain the pricing condition records in crm for the particular condition type?
    as we do in SD(VK11)
    Thanks

    Hi Binu,
    First of all, you could maintain pricing conditions in the following places:
    1. In General Condition Maintenance (GCM)
    2. At the product maintenance level
    3. At the 'Price agreement' tab of Contracts
    4. As manual conditions during order processing at item level
    Now, if you want to maintain conditions using GCM, you first have to maintain a condition maintenance group in the customizing where in you can assign condition table and condition type for different counter values. I am assuming that you have done this activity successfully.
    When you run the transaction '/SAPCND/GCM', for application 'CRM', your condition maintenance group name and context 'GCM', you will be initially taken to a screen where in you'll have an item area which would be blank and then condition fields would be displayed in a tree on the left.
    Here, select the field 'Condition type' and click on icon 'Select records'. You would get a dialog prompting you to enter condition type. Here you can specifiy the condition type for which you want to maintain/view condition records.
    If no condition records are available, item area would be left blank. Here, you can choose a condition type using the standard F4 help. Depending on condition types that are assigned to condition maintenance group, different condition types would be displayed in the F4-help using which you can maintain condition records.
    Hope this helps.
    Regards,
    Pavithra
    **PS: Please reward points if this helps.

  • Maintain condition record on the basis of Forwarding agent

    Hi,
    How to maintain condition record on the basis of Forwarding agent?
    ie. Forwarding agent  is not there in field catalogue in condition table.what to add and how to maintain condition record for same?
    Reg,
    Antaa21

    Hello,
    Is Forwarding Agent created as Vendor in your system? If yes then field LIFNR - Vendor is available in SAP Standard Field Catalogue for Pricing.
    You need to use this field (LIFNR)in your Condition Table.
    Hope this helps,
    Thanks,
    Jignesh Mehta

  • Maintain the current row position of a table after refresh.

    Hi,
    I use a poll to refresh tables continuously. when a table is refreshed, the current referring row is reset.
    To maintain the current row position after a refresh I use the following poll method.
    public void refreshTableT1(PollEvent pollEvent) {
    FacesContext fctx = FacesContext.getCurrentInstance();
    ValueBinding dcb = fctx.getApplication().createValueBinding("#{bindings}");
    DCBindingContainer bindings1 = (DCBindingContainer) dcb.getValue(fctx);
    DCIteratorBinding dciter = bindings1.findIteratorBinding("<VOIterator>");
    if(dciter!=null){
    if(dciter.getCurrentRow()!=null){   
    Key current_row_key = dciter.getCurrentRow().getKey();
    dciter.executeQuery();
    if(current_row_key!=null){
    try{
    dciter.setCurrentRowWithKey(current_row_key.toStringFormat(true));
    }catch(Exception ex) {
    System.out.println("Exception in current_row_key");
    }This works for normal tables well. But when I use it to master-detail tables (pair of tables) it does not.
    At the master-detail tables, before the first data fetch, it works well. if we go below the first data fetch, it sets the current row into another position.
    how can I overcome this...??
    Thanks,
    Dinuka.

    Hi Mr.Frank,
    I have an association in two VOs.
    for example: There are 2 tables called Emp and Dept. Every Department has Employees. so there is an association (both tables have a common column). Master table is the Dept table. when you click on one record of the Dept table Detail table will show the details of the employees belongs to that selected department. That's what I referred as master-detail tables. first one is master table; second one is detail table.
    When the web page loads all the table data is not fetched from the db (it will depend on the fetch size). when we scroll down the table data fetch happens again and again.
    think my data fetch size is 25 rows per time.
    Suppose we use mine poll method and think I have clicked on the 20 ^th^ row of table1(master table). then the table2 will display details belongs to selected department. that is OK even after refresh. that works well.
    when I go to 30 ^th^ row data fetch will happen (my fetch size = 25)
    when I click on the 30 ^th^ row of the table1(master table), table2 will display details belongs to selected department. but after the poll method is called the selected row at the table1 disappears and is set to another position. now the 30 ^th^ row is not in the 30 ^th^ position. but it is the selected row and table2 displays correct details.
    I think you have got the problem now. :D
    Thanks a lot.
    Dinuka.

  • Where we maintain the cost of  characteristics  values in variant  conf.

    Hello guys,
      This thread i have posted many times in sdn , but never got the satisfactory answer.This time again i am trying my luck.
        Actually i am unable to understand how costing takes place in variant configuration.
        Suppose i have created one sales order for configurable material and there we select all the characteristics values which we want.
    But we don't maintain the prices of these characteristics values anywhere.So when i create the sales order than how the sales people calculate the cost of that order.
        Take a example of computer.For making computer,i want cabinet, processor, Harddisk, Ram, which are available in many sizes.So What we do that we create one configurable material and inside it we maintain all this characteristics and its values.And then i create one sales order for that configurable material and select the suitable characteristics and its values as reqd my customer.
         Now my question is how they cost that sales order?As we don't maintain the Accounting and costing view in material master of configurable material.
       So where to maintain the prices of these characteristics values?
            Plz guide.

    Hi
    You can make the price of a variant dependent on the characteristic values assigned (Pricing).You can use
    variant conditions to define surcharges and discounts for a variant
    Variant u2013Pricing steps
    Create condition record
    create a procedure where you enter the reference from the characteristic
    Assign the procedures to either the characteristic values
    configure the material in the sales order
    The net price for the material is displayed
    If a value that triggers a variant condition is selected when configuring a material in a sales order, the price of the material displayed under Net value is automatically increased or reduced.
    In addition, the Conditions pushbutton is displayed.
    On pressing this pushbutton,
    One can see which conditions have
    influenced the price.
    I tried to list you as much detail as possible. Hope that you will be able to resolve your issue
    Thanks

  • SQL  to retrieve the records in subset

    Dear Friends,
    I have requirement to fetch 5 Million records from Oracle db and display using JAVA and JSP. Each record is 1 KB size.
    The database table is online table used to store the transaction details, the rows will keep increasing. I am not allowed to use stored procedures also.
    1) Fetching 5 Million record and displaying in 1 attempt is not feasible as JDBC has limitation and also the User has to wait too long to see the data.
    I am thinking of processing the records in subset, for example.. Display first 10000 records then if the users wants next 10000 records fetch and display the next 10000 record.
    Are there any other best practices to implement the above requirement.
    I am not sure how to write the above SQL query? Can anyone please help me write the above SQL query?
    I dont this I can use romnum as the rows are increasing.
    Below is my Table structure and SQL query which returns 5 Million record
    CREATE TABLE MESSAGE_LOG
    SOURCE VARCHAR2(25 BYTE),
    TARGET VARCHAR2(25 BYTE),
    ENGINE VARCHAR2(100 BYTE),
    PROCESS VARCHAR2(400 BYTE),
    SERVICE VARCHAR2(100 BYTE),
    LOGTIMESTAMP TIMESTAMP(6)
    SELECT * FROM MESSAGE_LOG WHERE LOGTIMESTAMP BETWEEN TO_DATE('20-MAY-2010 01:00','DD-MON-YYYY HH24:MI') AND TO_DATE('20-MAY-2010 23:00','DD-MON-YYYY HH24:MI')
    Thanks in advance,
    Bob

    user13109986 wrote:
    I have requirement to fetch 5 Million records from Oracle db and display using JAVA and JSP. Why no one will look at five million results. And even if they wanted to it would take longer than the average human lifetime.
    I am not allowed to use stored procedures also.Why, is there a business requirement that says the application should be as difficult to develop as possible, be unreliable and hard to maintain when things go wrong?
    >
    1) Fetching 5 Million record and displaying in 1 attempt is not feasible as JDBC has limitation and also the User has to wait too long to see the data.As the user will never read five million results, it doesn't matter
    Try this link and come back when you have got to the 5,000,000 result of the 6,730,000 that are estimated to be there
    http://www.google.com/#hl=en&q=oracle+procedure
    Or you could list every thread in the forum and multiply the time it takes you to get to the last by 50.
    I am thinking of processing the records in subset, for example.. Display first 10000 records then if the users wants next 10000 records fetch and display the next 10000 record.Try looking at 10,000 threads on this forum or 10,000 results from Google and see how long that takes.
    Are there any other best practices to implement the above requirement.Yes, don't return more information than anyone could possibly find useful

  • Best way to Fetch the record

    Hi,
    Please suggest me the best way to fetch the record from the table designed below. It is Oracle 10gR2 on Linux
    Whenever a client visit the office a record will be created for him. The company policy is to maintain 10 years of data on the transaction table but the table holds record count of 3 Million records per year.
    The table has the following key Columns for the Select (sample Table)
    Client_Visit
    ID Number(12,0) --sequence generated number
    EFF_DTE DATE --effective date of the customer (sometimes the client becomes invalid and he will be valid again)
    Create_TS Timestamp(6)
    Client_ID Number(9,0)
    Cascade Flg vahrchar2(1)
    On most of the reports the records are fetched by Max(eff_dte) and Max(create_ts) and cascade flag ='Y'.
    I have following queries but the both of them are not cost effective and takes 8 minutes to display the records.
    Code 1:
    SELECT   au_subtyp1.au_id_k,
                                       au_subtyp1.pgm_struct_id_k
                                  FROM au_subtyp au_subtyp1
                                 WHERE au_subtyp1.create_ts =
                                          (SELECT MAX (au_subtyp2.create_ts)
                                             FROM au_subtyp au_subtyp2
                                            WHERE au_subtyp2.au_id_k =
                                                                au_subtyp1.au_id_k
                                              AND au_subtyp2.create_ts <
                                                     TO_DATE ('2013-01-01',
                                                              'YYYY-MM-DD'
                                              AND au_subtyp2.eff_dte =
                                                     (SELECT MAX
                                                                (au_subtyp3.eff_dte
                                                        FROM au_subtyp au_subtyp3
                                                       WHERE au_subtyp3.au_id_k =
                                                                au_subtyp2.au_id_k
                                                         AND au_subtyp3.create_ts <
                                                                TO_DATE
                                                                    ('2013-01-01',
                                                                     'YYYY-MM-DD'
                                                         AND au_subtyp3.eff_dte < =
                                                                TO_DATE
                                                                    ('2012-12-31',
                                                                     'YYYY-MM-DD'
                                   AND au_subtyp1.exists_flg = 'Y'
    Explain Plan
    Plan hash value: 2534321861
    | Id  | Operation                | Name      | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT         |           |     1 |    91 |       | 33265   (2)| 00:06:40 |
    |*  1 |  FILTER                  |           |       |       |       |            |          |
    |   2 |   HASH GROUP BY          |           |     1 |    91 |       | 33265   (2)| 00:06:40 |
    |*  3 |    HASH JOIN             |           |  1404K|   121M|    19M| 33178   (1)| 00:06:39 |
    |*  4 |     HASH JOIN            |           |   307K|    16M|  8712K| 23708   (1)| 00:04:45 |
    |   5 |      VIEW                | VW_SQ_1   |   307K|  5104K|       | 13493   (1)| 00:02:42 |
    |   6 |       HASH GROUP BY      |           |   307K|    13M|   191M| 13493   (1)| 00:02:42 |
    |*  7 |        INDEX FULL SCAN   | AUSU_PK   |  2809K|   125M|       | 13493   (1)| 00:02:42 |
    |*  8 |      INDEX FAST FULL SCAN| AUSU_PK   |  2809K|   104M|       |  2977   (2)| 00:00:36 |
    |*  9 |     TABLE ACCESS FULL    | AU_SUBTYP |  1404K|    46M|       |  5336   (2)| 00:01:05 |
    Predicate Information (identified by operation id):
       1 - filter("AU_SUBTYP1"."CREATE_TS"=MAX("AU_SUBTYP2"."CREATE_TS"))
       3 - access("AU_SUBTYP2"."AU_ID_K"="AU_SUBTYP1"."AU_ID_K")
       4 - access("AU_SUBTYP2"."EFF_DTE"="VW_COL_1" AND "AU_ID_K"="AU_SUBTYP2"."AU_ID_K")
       7 - access("AU_SUBTYP3"."EFF_DTE"<=TO_DATE(' 2012-12-31 00:00:00', 'syyyy-mm-dd
                  hh24:mi:ss') AND "AU_SUBTYP3"."CREATE_TS"<TIMESTAMP' 2013-01-01 00:00:00')
           filter("AU_SUBTYP3"."CREATE_TS"<TIMESTAMP' 2013-01-01 00:00:00' AND
                  "AU_SUBTYP3"."EFF_DTE"<=TO_DATE(' 2012-12-31 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))
       8 - filter("AU_SUBTYP2"."CREATE_TS"<TIMESTAMP' 2013-01-01 00:00:00')
       9 - filter("AU_SUBTYP1"."EXISTS_FLG"='Y')Code 2:
    I already raised a thread a week back and Dom suggested the following query, it is cost effective but the performance is same and used the same amount of Temp tablespace
    select au_id_k,pgm_struct_id_k from (
    SELECT au_id_k
          ,      pgm_struct_id_k
          ,      ROW_NUMBER() OVER (PARTITION BY au_id_k ORDER BY eff_dte DESC, create_ts DESC) rn,
          create_ts, eff_dte,exists_flg
          FROM   au_subtyp
          WHERE  create_ts < TO_DATE('2013-01-01','YYYY-MM-DD')
          AND    eff_dte  <= TO_DATE('2012-12-31','YYYY-MM-DD') 
          ) d  where rn =1   and exists_flg = 'Y'
    --Explain Plan
    Plan hash value: 4039566059
    | Id  | Operation                | Name      | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT         |           |  2809K|   168M|       | 40034   (1)| 00:08:01 |
    |*  1 |  VIEW                    |           |  2809K|   168M|       | 40034   (1)| 00:08:01 |
    |*  2 |   WINDOW SORT PUSHED RANK|           |  2809K|   133M|   365M| 40034   (1)| 00:08:01 |
    |*  3 |    TABLE ACCESS FULL     | AU_SUBTYP |  2809K|   133M|       |  5345   (2)| 00:01:05 |
    Predicate Information (identified by operation id):
       1 - filter("RN"=1 AND "EXISTS_FLG"='Y')
       2 - filter(ROW_NUMBER() OVER ( PARTITION BY "AU_ID_K" ORDER BY
                  INTERNAL_FUNCTION("EFF_DTE") DESC ,INTERNAL_FUNCTION("CREATE_TS") DESC )<=1)
       3 - filter("CREATE_TS"<TIMESTAMP' 2013-01-01 00:00:00' AND "EFF_DTE"<=TO_DATE('
                  2012-12-31 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))Thanks,
    Vijay

    Hi Justin,
    Thanks for your reply. I am running this on our Test environment as I don't want to run this on Production environment now. The test environment holds 2809605 records (2 Million).
    The query output count is 281699 (2 Hundred Thousand) records and the selectivity is 0.099. The Distinct values of create_ts, eff_dte, and exists_flg is 2808905 records. I am sure the index scan is not going to help out much as you said.
    The core problem is both queries are using lot of Temp tablespace. When we use this query to join the tables, the other table has the same design as below so the temp tablespace grows bigger.
    Both the production and test environment are 3 Node RAC.
    First Query...
    CPU used by this session     4740
    CPU used when call started     4740
    Cached Commit SCN referenced     21393
    DB time     4745
    OS Involuntary context switches     467
    OS Page reclaims     64253
    OS System time used     26
    OS User time used     4562
    OS Voluntary context switches     16
    SQL*Net roundtrips to/from client     9
    bytes received via SQL*Net from client     2487
    bytes sent via SQL*Net to client     15830
    calls to get snapshot scn: kcmgss     37
    consistent gets     52162
    consistent gets - examination     2
    consistent gets from cache     52162
    enqueue releases     19
    enqueue requests     19
    enqueue waits     1
    execute count     2
    ges messages sent     1
    global enqueue gets sync     19
    global enqueue releases     19
    index fast full scans (full)     1
    index scans kdiixs1     1
    no work - consistent read gets     52125
    opened cursors cumulative     2
    parse count (hard)     1
    parse count (total)     2
    parse time cpu     1
    parse time elapsed     1
    physical write IO requests     69
    physical write bytes     17522688
    physical write total IO requests     69
    physical write total bytes     17522688
    physical write total multi block requests     69
    physical writes     2139
    physical writes direct     2139
    physical writes direct temporary tablespace     2139
    physical writes non checkpoint     2139
    recursive calls     19
    recursive cpu usage     1
    session cursor cache hits     1
    session logical reads     52162
    sorts (memory)     2
    sorts (rows)     760
    table scan blocks gotten     23856
    table scan rows gotten     2809607
    table scans (short tables)     1
    user I/O wait time     1
    user calls     11
    workarea executions - onepass     1
    workarea executions - optimal     9
    Second Query
    CPU used by this session     1197
    CPU used when call started     1197
    Cached Commit SCN referenced     21393
    DB time     1201
    OS Involuntary context switches     8684
    OS Page reclaims     21769
    OS System time used     14
    OS User time used     1183
    OS Voluntary context switches     50
    SQL*Net roundtrips to/from client     9
    bytes received via SQL*Net from client     767
    bytes sent via SQL*Net to client     15745
    calls to get snapshot scn: kcmgss     17
    consistent gets     23871
    consistent gets from cache     23871
    db block gets     16
    db block gets from cache     16
    enqueue releases     25
    enqueue requests     25
    enqueue waits     1
    execute count     2
    free buffer requested     1
    ges messages sent     1
    global enqueue get time     1
    global enqueue gets sync     25
    global enqueue releases     25
    no work - consistent read gets     23856
    opened cursors cumulative     2
    parse count (hard)     1
    parse count (total)     2
    parse time elapsed     1
    physical read IO requests     27
    physical read bytes     6635520
    physical read total IO requests     27
    physical read total bytes     6635520
    physical read total multi block requests     27
    physical reads     810
    physical reads direct     810
    physical reads direct temporary tablespace     810
    physical write IO requests     117
    physical write bytes     24584192
    physical write total IO requests     117
    physical write total bytes     24584192
    physical write total multi block requests     117
    physical writes     3001
    physical writes direct     3001
    physical writes direct temporary tablespace     3001
    physical writes non checkpoint     3001
    recursive calls     25
    session cursor cache hits     1
    session logical reads     23887
    sorts (disk)     1
    sorts (memory)     2
    sorts (rows)     2810365
    table scan blocks gotten     23856
    table scan rows gotten     2809607
    table scans (short tables)     1
    user I/O wait time     2
    user calls     11
    workarea executions - onepass     1
    workarea executions - optimal     5Thanks,
    Vijay
    Edited by: Vijayaraghavan Krishnan on Nov 28, 2012 11:17 AM
    Edited by: Vijayaraghavan Krishnan on Nov 28, 2012 11:19 AM

  • How to maintain the vendor details in sap pi ?

    HI All,
    Here i am working with B2B scenario , can you help me how to maintain the vendor details and client details in parties,'
    here i have 49 vendors.
    control records are changing according to the vendor s .
    Plz help me ......

    Can u help me how to maintain the link between the pi and ecc for identifiers
    Would like to know what your scenario is. Identifier would be required to be maintained in the Party (created in SAP PI) when the scenario is Inbound.
    It is actually the Partner Number for the Partner Profile created in we20 of the sAP ECC system. (you may have to store it as KU or LI) in SAP system.
    Regards,
    Abhishek.

  • Java.lang.NullPointerException in the record working time iview

    Hello,
      I am getting java.lang.NullPointerException when I try to access the record working time iView. Below is the full exception chain.
    Please help me out in fixing the issue.
    java.lang.NullPointerException
         at com.sap.pcuigp.xssutils.pernr.FcEmployeeServicesInterface.getEmployeenumber(FcEmployeeServicesInterface.java:115)
         at com.sap.pcuigp.xssutils.pernr.wdp.InternalFcEmployeeServicesInterface.getEmployeenumber(InternalFcEmployeeServicesInterface.java:175)
         at com.sap.pcuigp.xssutils.pernr.wdp.InternalFcEmployeeServicesInterface$External.getEmployeenumber(InternalFcEmployeeServicesInterface.java:235)
         at com.sap.xss.hr.cat.record.blc.RfcManager.init(RfcManager.java:791)
         at com.sap.xss.hr.cat.record.blc.wdp.InternalRfcManager.init(InternalRfcManager.java:248)
         at com.sap.xss.hr.cat.record.blc.FcCatRecordInterface.onInit(FcCatRecordInterface.java:344)
         at com.sap.xss.hr.cat.record.blc.wdp.InternalFcCatRecordInterface.onInit(InternalFcCatRecordInterface.java:234)
         at com.sap.xss.hr.cat.record.blc.wdp.InternalFcCatRecordInterface$External.onInit(InternalFcCatRecordInterface.java:484)
         at com.sap.pcuigp.xssfpm.wd.FPMComponent$FPM.attachComponentToUsage(FPMComponent.java:922)
         at com.sap.pcuigp.xssfpm.wd.FPMComponent$FPM.attachComponentToUsage(FPMComponent.java:891)
         at com.sap.pcuigp.xssfpm.wd.FPMComponent$FPMProxy.attachComponentToUsage(FPMComponent.java:1084)
         at com.sap.xss.hr.cat.record.vac.calendar.VcCatCalendar.onInit(VcCatCalendar.java:251)
         at com.sap.xss.hr.cat.record.vac.calendar.wdp.InternalVcCatCalendar.onInit(InternalVcCatCalendar.java:194)
         at com.sap.xss.hr.cat.record.vac.calendar.VcCatCalendarInterface.onInit(VcCatCalendarInterface.java:162)
         at com.sap.xss.hr.cat.record.vac.calendar.wdp.InternalVcCatCalendarInterface.onInit(InternalVcCatCalendarInterface.java:146)
         at com.sap.xss.hr.cat.record.vac.calendar.wdp.InternalVcCatCalendarInterface$External.onInit(InternalVcCatCalendarInterface.java:222)
         at com.sap.pcuigp.xssfpm.wd.FPMComponent.doProcessEvent(FPMComponent.java:564)
         at com.sap.pcuigp.xssfpm.wd.FPMComponent.doEventLoop(FPMComponent.java:438)
         at com.sap.pcuigp.xssfpm.wd.FPMComponent.wdDoInit(FPMComponent.java:196)
         at com.sap.pcuigp.xssfpm.wd.wdp.InternalFPMComponent.wdDoInit(InternalFPMComponent.java:110)
         at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:108)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
         at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:430)
         at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:362)
         at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:783)
         at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:303)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingPortal(ClientSession.java:761)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:696)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:253)
         at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:192)
         at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:73)
         at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.sendDataAndProcessActionInternal(AbstractApplicationProxy.java:864)
         at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.create(AbstractApplicationProxy.java:220)
         at com.sap.portal.pb.PageBuilder.updateApplications(PageBuilder.java:1351)
         at com.sap.portal.pb.PageBuilder.createPage(PageBuilder.java:356)
         at com.sap.portal.pb.PageBuilder.init(PageBuilder.java:550)
         at com.sap.portal.pb.PageBuilder.wdDoInit(PageBuilder.java:193)
         at com.sap.portal.pb.wdp.InternalPageBuilder.wdDoInit(InternalPageBuilder.java:150)
         at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:108)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
         at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:430)
         at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:362)
         at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:783)
         at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:303)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:741)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:694)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:253)
         at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:192)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)

    Hi,
    All the parameters are maintained in the SU01 but we are in strange situation here only for one test user id we are getting null pointer exception with the time sheet. We compared with the user id which is working there is no difference in the parameters
    maintained. Please tell me why this behavior between two user ids.
        These two are manager user ids. For employee user ids time sheet is working fine.

  • Where we maintain the CST & VAT numbers for a plant which is not a register

    Hi All,
    Where we maintain the CST & VAT numbers for a plant which is not a registered for Excise?
    we are printing it on the invoice output. on debugging it is known that it comes from the table AUSP, after checking the table CABN.
    Any body knows about these two tables? let me know the purpose of these tables
    thanks in advance,
    Venkat

    Mr Big Screams.....
                      I hope you have neigther read my reply completely nor understood correctly.
    Let me tell you, maintaining record in J1ID in Plant address details doesnt declared that plant is registered under Excise act until unless you maintain ECC details. ( ECC -Excise Control Code number which will be alloted by the Central Excise dept).
    You will find CST / VAT fields in J1ID which is actually given to maintain Plant address details for INDIA localization.
    Hope its clear.
    Regards,
    Reazuddin MD

  • How to check the records in Master Data Table?

    Hi,
       I am trying to load the Master Data Table using the Flat File.Now how to check the records in Master Data Table?
    I done the following way:
    Info Provider->Info Object->Right Click->Display Data or Maintain Master Data
    But it's not showing the records.It's asking like CID from......To......
                                                                        CID(SID)from.............To.......
                                                                         here CID means customer id(characteristic).
    and showing some settings.
    Please guide me.
    Thanks & Regards

    Hi Sri,
    Go to T- code RSD1 and type your info object name and open the P- table in the infoobject then select execute symbol to see the updated  data in to master data info object.
    regards
    sap

  • How to maintain the column heading in two lines

    for example i have field ACCOUNTING CLEARK
    i want to display this description in alv list
    like ACC
         clk
    Please send the solution for this.
    very urgent
    thanks in advance
    regards
    venu

    hi
    please check my code
    for field KNB1-BUSAB
    i want the description ACC in place of ACC CLK
                           CLK
    means in two lines
    report zfir0098 message-id zz
                    line-size 255
                    line-count 65
                    no standard page heading.
    (C) Copyright <2006> by Eastman Kodak Company - All Rights Reserved.
    Report Name     : ZFIR0098
    Author          : Venugopalreddy.K
    Created on      : 12-MAY-2006
    SIR#            : 086279
    Interface ID#   : RO-01509 - Open AR Aging by Due Date
    Correction#     : D11K947333
    Transaction code: Z_ZFIR0098
    Logical Database: N/A
    SAPScript name  : N/A
    Application Area: FI
    Programs Called : N/A
    Function Modules: REUSE_ALV_VARIANT_F4
                      REUSE_ALV_VARIANT_DEFAULT_GET
                      REUSE_ALV_EVENTS_GET
                      REUSE_ALV_LIST_DISPLAY
                      REUSE_ALV_EVENTS_GET
                      REUSE_ALV_COMMENTARY_WRITE
    Description     : Report to display Open AR with Aging by due
                      date. The open items are displayed by Linked
                      Accounts, Customer Account, Business unit and
                      Posting Date.
    Correction#     SIR#       Modified By                  Date
    D11Kxxxxxx                 xxxxxx xxxx                  MM/DD/YYYY
    Description of change (copy from SIR):
    (text)................................................................
              TABLE DEFINITION                                           *
    tables : t001,    "Company Codes
             knvv,    "Customer Master Sales Data
             bsid,    "Accounting: Secondary Index for Customers
             knkk,    "Customer master credit management: Control area data
             kna1,    "General Data in Customer Master
             knb1,    "Customer Master (Company Code)
             t052,    "Terms of Payment
             tvv1.    "Customer Group 1
                          TYPE POOLS                                     *
    type-pools: slis.
             INTERNAL TABLE DECLARATION
    Internal table for Customer Master (Company Code)
    data :   begin of i_knb1 occurs 0,
               kunnr type knb1-kunnr,
               bukrs type knb1-bukrs,
               busab type knb1-busab,
             end   of i_knb1.
    Internal table for Customer Master Sales Data
    data :   begin of i_knvv occurs 0,
               kunnr type knvv-kunnr,
               vkorg type knvv-vkorg,
               kvgr1 type knvv-kvgr1,
               zterm type knvv-zterm,
             end   of i_knvv.
    Internal table for linked account nos.
    data :   begin of i_knkk occurs 0,
               kunnr type knkk-kunnr,
               kkber type knkk-kkber,
               klimk type knkk-klimk,
               knkli type knkk-knkli,
               sbgrp type knkk-sbgrp,
               grupp type knkk-grupp,
               kdgrp type knkk-kdgrp,
             end   of i_knkk.
    Internal table for Customer's credit limit
    data :   begin of i_knkk_knkli occurs 0,
               kunnr type knkk-kunnr,
               klimk type knkk-klimk,
               knkli type knkk-knkli,
             end   of i_knkk_knkli.
    Internal table for T001 records
    data:    begin of i_t001 occurs 0,
               bukrs type t001-bukrs,
               waers type t001-waers,
             end   of i_t001.
    Internal table for BSID records
    data :   begin of i_bsid occurs 0,
               bukrs type bsid-bukrs,
               kunnr type bsid-kunnr,
               zuonr type bsid-zuonr,
               belnr type bsid-belnr,
               budat type bsid-budat,
               bldat type bsid-bldat,
               waers type bsid-waers,
               shkzg type bsid-shkzg,
               dmbtr type bsid-dmbtr,
               wrbtr type bsid-wrbtr,
               zfbdt type bsid-zfbdt,
               zterm type bsid-zterm,
               zbd1t type bsid-zbd1t,
               zbd2t type bsid-zbd2t,
               zbd3t type bsid-zbd3t,
               kkber type bsid-kkber,
             end   of i_bsid.
    Internal table for Customer Master
    data :   begin of i_kna1 occurs 0,
               kunnr type kna1-kunnr,
               name1 type kna1-name1,
             end   of i_kna1.
    Internal table for Terms of Payment
    data :   begin of i_t052 occurs 0,
               zterm type t052-zterm,
               ztagg type t052-ztagg,
               ztag1 type t052-ztag1,
               ztag2 type t052-ztag2,
               ztag3 type t052-ztag3,
             end   of i_t052.
    Internal table for final output
    data :   begin of i_output occurs 0,
               kunnr1      type bsid-kunnr,
               kunnr       type bsid-kunnr,
               bukrs       type t001-bukrs,
               kdgrp       type knkk-kdgrp,
               name1       type kna1-name1,
               kvgr1       type knvv-kvgr1,
               knkli       type knkk-knkli,
               klimk       type knkk-klimk,
               sbgrp       type knkk-sbgrp,
               zuonr       type bsid-zuonr,
               bldat       type bsid-bldat,
               due_date    type bsid-zfbdt,
               not_due     type bsid-dmbtr,
               curr_due    type bsid-dmbtr,
               due_01_30   type bsid-dmbtr,
               due_31_60   type bsid-dmbtr,
               due_61_90   type bsid-dmbtr,
               due_91_180  type bsid-dmbtr,
               due_181_365 type bsid-dmbtr,
               due_gt_365  type bsid-dmbtr,
               spcol       type bsid-dmbtr,
               tot_due     type bsid-dmbtr,
               tot_ar      type bsid-dmbtr,
               waers       type t001-waers,
               zterm       type bsid-zterm,
               zterm1      type knvv-zterm,
               v_no_days   type i,
               busab       type knb1-busab,
             end   of i_output.
    Internal table for summary data
    data :   begin of i_output_summary occurs 0,
               bukrs       type t001-bukrs,
               kunnr       type bsid-kunnr,
               name1       type kna1-name1,
               kvgr1       type knvv-kvgr1,
               klimk       type knkk-klimk,
               zterm       type knvv-zterm,
               kdgrp       type knkk-kdgrp,
               sbgrp       type knkk-sbgrp,
               busab       type knb1-busab,
               not_due     type bsid-dmbtr,
               curr_due    type bsid-dmbtr,
               due_01_30   type bsid-dmbtr,
               due_31_60   type bsid-dmbtr,
               due_61_90   type bsid-dmbtr,
               due_91_180  type bsid-dmbtr,
               due_181_365 type bsid-dmbtr,
               due_gt_365  type bsid-dmbtr,
               spcol       type bsid-dmbtr,
               tot_due     type bsid-dmbtr,
               tot_ar      type bsid-dmbtr,
               waers       type t001-waers,
             end   of i_output_summary.
    Temporary internal table for KNVV records.
    data :   i_knvv_tmp like i_knvv occurs 0 with header line.
    Temporary internal table for KNKK records.
    data :   i_knkk_tmp like i_knkk occurs 0 with header line.
    Temporary internal table for BSID records.
    data :   i_bsid_tmp like i_bsid occurs 0 with header line.
             FIELD STRING DECLARATION
    Structure to validate selection screen
    data :   begin of v_radio,
               rd1  type c,
               rd2  type c,
               rd3  type c,
             end   of v_radio.
    Structure to validate selection screen
    data :   begin of v_radio1,
               rd1  type c,
               rd2  type c,
               rd3  type c,
             end   of v_radio1.
             Internal Tables for ALV Report
    data:   i_fieldcat_alv      type  slis_t_fieldcat_alv,
            i_sort              type  slis_t_sortinfo_alv,
            i_sort1             type  slis_t_sortinfo_alv,
            i_events            type  slis_t_event,
            v_events            type  slis_alv_event,
            v_fieldcat_alv      type  slis_fieldcat_alv,
            v_sort              like  line of i_sort,
            v_sort1             like  line of i_sort1,
            v_layout            type  slis_layout_alv,
            v_print             type  slis_print_alv,
            i_list_comments     type  slis_t_listheader,
            v_list_comments     like  line of i_list_comments,
            v_variant           like  disvariant,     "Layout-External Use
            v_variant_save      type  c,              "To Store the Varient
            v_variant1          like  disvariant,
            v_exit              type  c.              "Event exit
            Data declaration
    data:   v_paym_days         type  i,
            v_date_diff         type  i,
            v_zterm             type  t052-zterm,
            v_bukrs1            like  bsid-bukrs,
            v_kunnr             like  bsid-kunnr,
            v_kdgrp             like  knkk-kdgrp,
            v_bukrs             like  bsid-bukrs,
            v_name1             like  kna1-name1,
            v_knkli             like  knkk-knkli,
            v_klimk(20)         type  c,
            v_kvgr1             like  knvv-kvgr1,
            v_kkber             like  knkk-kkber,
            v_sbgrp             like  knkk-sbgrp,
            v_busab             like  knb1-busab.
    data:   v_cust_not_due      type  bsid-dmbtr,
            v_cust_curr_due     type  bsid-dmbtr,
            v_cust_due_01_30    type  bsid-dmbtr,
            v_cust_due_31_60    type  bsid-dmbtr,
            v_cust_due_61_90    type  bsid-dmbtr,
            v_cust_due_91_180   type  bsid-dmbtr,
            v_cust_due_181_365  type  bsid-dmbtr,
            v_cust_due_gt_365   type  bsid-dmbtr,
            v_cust_spcol        type  bsid-dmbtr,
            v_cust_tot_due      type  bsid-dmbtr,
            v_cust_tot_ar       type  bsid-dmbtr,
            v_curr              type  t001-waers,
            v_name              type  kna1-name1,
            v_kvgr              type  knvv-kvgr1,
            v_kdgrp1            type  knkk-kdgrp,
            v_klimk1            type  knkk-klimk,
            v_zterm1            type  knvv-zterm,
            v_sbgrp1            type  knkk-sbgrp,
            v_busab1            type  knb1-busab.
    data:   v_repid             like  sy-repid,
            v_flag              type  c.
              CONSTANT DEFINITION
    constants:
            c_sel_x(1)                  type c value 'X',
            c_0(1)                      type c value '0',
            c_1(1)                      type c value '1',
            c_knkli(7)                  type c value 'S_KNKLI',
            c_kdgrp(7)                  type c value 'S_KDGRP',
            c_debit_s(1)                type c value 'S',
            c_credit_h(1)               type c value 'H',
            c_deflt_zterm_y000(4)       type c value 'Y000',
            c_sc01(4)                   type c value 'SC01',
            c_subtotal_text             type slis_formname value
                                                  'ALV_SUBTOTALS',
            c_formname_top_of_page      type slis_formname value
                                                  'F_TOP_OF_PAGE',
            c_formname_top_of_page_summ type slis_formname value
                                                  'F_TOP_OF_PAGE_SUMM'.
                       Selection-screen
    selection-screen begin of block b1 with frame title text-s01.
    parameters     : p_bukrs type t001-bukrs obligatory.
    select-options : s_kvgr1 for knvv-kvgr1,
                     s_sbgrp for knkk-sbgrp,
                     s_busab for knb1-busab,
                     s_budat for bsid-budat,
                     s_kunnr for knvv-kunnr.
    selection-screen end of block b1.
    selection-screen begin of block b2 with frame title text-s02.
    selection-screen begin of line.
    parameters : p_lk_on as checkbox.
    selection-screen comment 5(24)  text-s10 for field p_lk_on.
    selection-screen end of line.
    selection-screen comment 02(67) text-s12.
    selection-screen skip 1.
    selection-screen begin of line.
    parameters      :p_knkli radiobutton  group g1 user-command radi
                                                default 'X'.
    selection-screen comment 5(24)  text-s05 for field p_knkli.
    select-options  :s_knkli for knkk-knkli.
    selection-screen end of line.
    selection-screen begin of line.
    parameters      :p_kdgrp radiobutton  group g1.
    selection-screen comment 5(24)  text-s06 for field p_kdgrp.
    select-options  :s_kdgrp for knkk-kdgrp.
    selection-screen end of line.
    selection-screen begin of line.
    parameters      :p_all_lk radiobutton  group g1.
    selection-screen comment 5(24)  text-s07 for field p_all_lk.
    selection-screen end of line.
    selection-screen end of block b2.
    selection-screen begin of block b3 with frame title text-s03.
    selection-screen begin of line.
    parameters      :p_op_ab radiobutton  group g2.
    selection-screen comment 5(32) text-s08 for field p_op_ab.
    selection-screen end of line.
    selection-screen begin of line.
    parameters      :p_ab radiobutton  group g2.
    selection-screen comment 5(16) text-s09 for field p_ab.
    selection-screen end of line.
    selection-screen end of block b3.
    selection-screen begin of block b4 with frame title text-s11.
    parameters      :p_vari like disvariant-variant.
    selection-screen end of block b4.
    INITIALIZATION
    initialization.
    To initialize the variant
      perform initialize_variant.
    To fetch the default variant for the ALV report
      perform display_default_variant.
         At selection-screen
    at selection-screen.
    To validate company code
      perform check_company_code.
    To validate business unit
      perform check_business_unit.
      move: p_knkli  to v_radio1-rd1,
            p_kdgrp  to v_radio1-rd2,
            p_all_lk to v_radio1-rd3.
      if not s_kvgr1[] is initial and
         not s_sbgrp[] is initial.
        message e045 with text-073.
      endif.
    at selection-screen output.
      move: p_knkli  to v_radio-rd1,
            p_kdgrp  to v_radio-rd2,
            p_all_lk to v_radio-rd3.
    To maintain the select options visiable and invisible
      perform selection_screen_output.
    Check the radio buttons selected in selection screen
      if v_radio1 eq v_radio.
      To maintain the default settings
        perform selection_screen_check.
      endif.
             AT SELECTION-SCREEN ON VALUE-REQUEST
    At Selection Screen Value Request.
    at selection-screen on value-request for p_vari.
    To Display the Existing Variants(Layout).
      perform variant_help_f4 using p_vari.
             Event start-of-selection
    start-of-selection.
    Get the cusomer number
      perform get_knb1_details.
    Get the customer group details
      perform get_knvv_details.
    Get all linked account and credit account details from KNKK
      perform get_linked_accounts_details.
    Get open AR documents from BSID
      perform get_open_ar_details.
    Get the company code and curreny.
      perform get_com_code_curr.
    Get the customer name
      perform get_customer_name.
    Get the payment term days
      perform get_payment_term_days.
    Populate the final table having all the field details
      perform populate_final_table.
    To display the output in alv list.
      perform alv_list_dispaly.
          Form  initialize_variant
          To initialize the ALV Variant
    form initialize_variant.
      clear: v_variant.
      v_repid = sy-repid.
      v_variant-report   = v_repid.
      v_variant-username = sy-uname.
      v_variant_save     = 'A'.
    endform.                    " initialize_variant
          Form  display_default_variant
          To fetch the Default ALV variant
    form display_default_variant.
      if not p_vari is initial.
        v_variant-variant = p_vari.
      endif.
      clear v_variant1.
      v_variant1 = v_variant.
    The function module is used to fetch the default variant
      call function 'REUSE_ALV_VARIANT_DEFAULT_GET'
        exporting
          i_save        = v_variant_save
        changing
          cs_variant    = v_variant1
        exceptions
          wrong_input   = 1
          not_found     = 2
          program_error = 3
          others        = 4.
    Based on the SUBRC value the variant is assigned
      case sy-subrc.
        when 0.
          p_vari = v_variant1-variant.
        when 2.
          clear p_vari.
      endcase.
    endform.                    " display_default_variant
          Form  check_company_code
          Validate Company Code
    form check_company_code.
      select single *
        from t001
       where bukrs eq p_bukrs.
      if sy-subrc ne 0.
        message e339.
      endif.
    endform.                    " check_company_code
          Form  check_business_unit
          Validate Business Unit
    form check_business_unit.
      select single *
        from tvv1
       where kvgr1 in s_kvgr1.
      if sy-subrc ne 0.
        message e045 with text-e01.
      endif.
    endform.                    " check_business_unit
      Form  selection-screen-output
      On selection of corresponding radio button the respective
      Select-option will be high lighted
    form selection_screen_output.
      loop at screen.
        if p_knkli = c_sel_x.
        Credit Account invisible
          if screen-name cs  c_knkli.
            screen-invisible = c_0.
            screen-active    = c_1.
            modify screen.
          endif .
        Customer Group visible
          if screen-name cs  c_kdgrp.
            screen-invisible = c_1.
            screen-active    = c_0.
            modify screen.
          endif.
        elseif p_kdgrp = c_sel_x.
        Credit Account invisible
          if screen-name cs  c_knkli.
            screen-invisible = c_1.
            screen-active    = c_0.
            modify screen.
          endif .
        Customer Group visible
          if screen-name cs  c_kdgrp.
            screen-invisible = c_0.
            screen-active    = c_1.
            modify screen.
          endif.
        elseif p_all_lk = c_sel_x.
        Credit Account invisible
          if screen-name cs  c_knkli.
            screen-invisible = c_1.
            screen-active    = c_0.
            modify screen.
          endif .
        Customer Group invisible
          if screen-name cs  c_kdgrp.
            screen-invisible = c_1.
            screen-active    = c_0.
            modify screen.
          endif.
        endif.
      endloop.
    endform.                    " selection_screen_output
         Form selection_screen_check
         To check the selection screen radio buttons
    form selection_screen_check.
      if p_knkli = c_sel_x.
        if p_op_ab is initial.
          p_op_ab = c_sel_x.
          p_ab = ''.
        endif.
      elseif p_kdgrp = c_sel_x.
        if p_op_ab is initial.
          p_op_ab = c_sel_x.
          p_ab = ''.
        endif.
      elseif p_all_lk = c_sel_x.
        if p_op_ab is initial.
          p_op_ab = c_sel_x.
          p_ab = ''.
        endif.
      endif.
    endform.                    " selection_screen_check
          Form  variant_help_f4
          To get the list of ALV help variants
    form variant_help_f4 using p_variant.
      call function 'REUSE_ALV_VARIANT_F4'
        exporting
          is_variant    = v_variant
          i_save        = v_variant_save
        importing
          e_exit        = v_exit
          es_variant    = v_variant
        exceptions
          not_found     = 1
          program_error = 2
          others        = 3.
      if sy-subrc <> 0.
      If no variants exist
        message s045 with text-e02.
      endif.
      if v_exit is initial.
        p_variant       = v_variant-variant.
      endif.
    endform.                    " variant_help_f4
         Form  get_knb1_details
         To get the Customer number
    form get_knb1_details.
    Fetch data from Customer Master (Company Code)
    based on selection criteria(company code)
      select kunnr bukrs busab
        from knb1
        into table i_knb1
       where bukrs eq p_bukrs.
      if sy-subrc ne 0.
        message i561.
        leave list-processing.
      endif.
    endform.                    " get_knb1_details
         Form  get_knvv_details
         To get the Customer group details
    form get_knvv_details.
      if not i_knb1[] is initial.
        sort i_knb1 by kunnr bukrs.
        delete adjacent duplicates from i_knb1 comparing kunnr bukrs.
      Fecth data from Customer Master Sales Data
      based on internal table I_KNB1 and selection criteria
      (customer group)
        select kunnr vkorg kvgr1 zterm
          from knvv
          into table i_knvv
          for  all entries in i_knb1
         where kunnr eq i_knb1-kunnr
           and kunnr in s_kunnr
           and vkorg eq i_knb1-bukrs.
        if sy-subrc ne 0.
          message i561.
          leave list-processing.
        endif.
      endif.
    endform.                    " get_knvv_details
         Form  get_linked_accounts_details
          To get the linked account details
    form get_linked_accounts_details.
      if not i_knvv[] is initial.
      get unique customer account KUNNR from i_bsid.
        i_knvv_tmp[] = i_knvv[].
        sort i_knvv_tmp by kunnr.
        delete adjacent duplicates from i_knvv_tmp comparing kunnr.
        clear v_kkber.
        concatenate 'C' p_bukrs+1(3) into v_kkber.
        sort i_knvv_tmp by kunnr.
      Fetch the Customer's account number and Customer Group
      details form Customer master credit management based on
      internal table i_bsid_tmp and Credit control area
        select kunnr kkber klimk knkli sbgrp grupp kdgrp
          from knkk
          into table i_knkk
          for  all entries in i_knvv_tmp
         where kunnr eq i_knvv_tmp-kunnr
           and kkber eq v_kkber.
        if not i_knkk[] is initial.
          i_knkk_tmp[] = i_knkk[].
          if p_lk_on = 'X' or not s_knkli[] is initial
                           or not s_kdgrp[] is initial.
            loop at i_knkk_tmp.
              loop at i_knkk where knkli eq i_knkk_tmp-knkli
                               and kunnr ne i_knkk_tmp-knkli.
                exit.
              endloop.
              if sy-subrc ne 0.
                delete i_knkk where knkli eq i_knkk_tmp-knkli.
              endif.
            endloop.
          endif.
          if not s_knkli[] is initial.
            delete i_knkk where not knkli in s_knkli.
          endif.
          if not s_kdgrp[] is initial.
            delete i_knkk where not kdgrp in s_kdgrp.
          endif.
          if not s_sbgrp[] is initial.
            delete i_knkk where not sbgrp in s_sbgrp.
          endif.
        else.
          message i561.
          leave list-processing.
        endif.
      else.
        message i561.
        leave list-processing.
      endif.
    endform.                    " get_linked_accounts_details
         Form  get_com_code_curr
          Get the company code and currency
    form get_com_code_curr .
      select bukrs waers
        from t001
        into table i_t001
       where bukrs eq p_bukrs.
    endform.                    " get_com_code_curr
         Form  get_open_ar_details
          Read BSID for all open AR
    form get_open_ar_details.
      if not i_knkk[] is initial.
        refresh i_knkk_tmp.
        i_knkk_tmp[] = i_knkk[].
        sort i_knkk_tmp by knkli.
        delete adjacent duplicates from i_knkk_tmp comparing kunnr.
      Fetch the from Accounting: Secondary Index for Customers
      based on internal table i_knvv and selection criteria(Posting Date
      -in the Document)
        select bukrs kunnr zuonr belnr budat bldat waers shkzg
               dmbtr wrbtr zfbdt zterm zbd1t zbd2t zbd3t kkber
          from bsid
          into table i_bsid
          for  all entries in i_knkk_tmp
         where bukrs eq p_bukrs
           and kunnr eq i_knkk_tmp-kunnr
           and umskz eq space
           and bstat eq space
           and budat in s_budat.
        if i_bsid[] is initial.
          message i561.
          leave list-processing.
        endif.
      else.
        message i561.
        leave list-processing.
      endif.
    endform.                    " get_open_ar_details
         Form  get_customer_name
          To get the customer name
    form get_customer_name.
      if not i_knvv_tmp[] is initial.
      Get the customer name from KNA1 for all customer
        select kunnr name1
          from kna1
          into table i_kna1
          for  all entries in i_knvv_tmp
         where kunnr = i_knvv_tmp-kunnr.
      endif.
    endform.                    " get_customer_name
         Form  get_payment_term_days
           To get the payment days
    form get_payment_term_days.
      if not i_bsid[] is initial.
        clear i_bsid_tmp.
        refresh i_bsid_tmp.
        i_bsid_tmp[] = i_bsid[].
        sort i_bsid_tmp by zterm.
        delete i_bsid_tmp where shkzg ne c_debit_s.
        if not i_bsid_tmp[] is initial.
        Get the Payment days from T052
          select zterm ztagg ztag1 ztag2 ztag3
            from t052
            into table i_t052
            for all entries in i_bsid
           where zterm = i_bsid-zterm.
        endif.
      endif.
    endform.                    " get_payment_term_days
         Form  populate_final_table
          To polupate final internal table
    form populate_final_table.
      sort i_bsid.
      sort i_kna1 by kunnr.
      sort i_knkk by kunnr.
      sort i_knkk_knkli by kunnr.
      sort i_knvv by vkorg kunnr.
      sort i_t052 by zterm ztag1 ztag2 ztag3.
      sort i_t001 by bukrs.
      loop at i_bsid.
        clear i_knb1.
        read table i_knb1 with key kunnr = i_bsid-kunnr
                                           binary search.
        if not i_knb1-busab in s_busab.
          continue.
        else.
          i_output-busab = i_knb1-busab.
        endif.
        clear i_knvv.
        read table i_knvv with key kunnr = i_bsid-kunnr
                                   vkorg = i_bsid-bukrs
                                          binary search.
        if not i_knvv-kvgr1 in s_kvgr1.
          continue.
        else.
          i_output-kvgr1  = i_knvv-kvgr1.
          i_output-zterm1 = i_knvv-zterm.
        endif.
      To read the data from kna1,knkk and knvv and moving data to final
      internal table i_output.
        perform move_kna1_knkk_knvv.
      To read the data from bsid and t052 and moving data to final
      internal table i_output.
        perform move_bsid_t052.
      To calculate the number of days.
        perform move_no_of_days.
      endloop.
    endform.                    " populate_final_table
         Form  move_kna1_knkk_knvv
         To read the data fron kna1,knkk and knvv
    form move_kna1_knkk_knvv.
      clear i_kna1.
      read table i_kna1 with key kunnr = i_bsid-kunnr
                                         binary search.
      if sy-subrc eq 0.
        i_output-name1 = i_kna1-name1.
      endif.
      clear i_knkk.
      read table i_knkk with key kunnr = i_bsid-kunnr
                                         binary search.
      if sy-subrc eq 0.
        i_output-knkli = i_knkk-knkli.
        i_output-kdgrp = i_knkk-kdgrp.
        i_output-klimk = i_knkk-klimk.
        i_output-sbgrp = i_knkk-sbgrp.
      endif.
    endform.                    " move_kna1_knkk_knvv
         Form  move_bsid_t052
         To read the data from BSID and T052
    form move_bsid_t052.
      move: i_bsid-kunnr  to  i_output-kunnr,
            i_bsid-zuonr  to  i_output-zuonr ,
            i_bsid-zterm  to  i_output-zterm,
            i_bsid-bldat  to  i_output-bldat,
            i_bsid-kunnr  to  i_output-kunnr1.
      read table i_t001 with key bukrs = i_bsid-bukrs
                                         binary search.
      if sy-subrc eq 0.
        move: i_t001-bukrs  to  i_output-bukrs,
              i_t001-waers  to  i_output-waers.
      endif.
      if i_bsid-shkzg eq c_credit_h.
        i_bsid-dmbtr  = - i_bsid-dmbtr.
      endif.
      move i_bsid-dmbtr  to  i_output-tot_ar.
    If base line date is initial, then use Document date.
      if i_bsid-zfbdt is initial.
        i_bsid-zfbdt = i_bsid-bldat.
      endif.
      if i_bsid-shkzg eq c_debit_s.
        clear v_paym_days.
        if not i_bsid-zbd3t is initial.
          v_paym_days = i_bsid-zbd3t.
        elseif not i_bsid-zbd2t is initial.
          v_paym_days = i_bsid-zbd2t.
        elseif not i_bsid-zbd1t is initial.
          v_paym_days = i_bsid-zbd1t.
      if no discount days is existing in BSID the
      take discount days from table T052
        else.
          clear : i_t052,
                  v_zterm.
          if i_bsid-zterm is initial.
            v_zterm = c_deflt_zterm_y000.
          else.
            v_zterm = i_bsid-zterm.
          endif.
          read table i_t052 with key zterm = v_zterm
                                       binary search.
          if sy-subrc eq 0.
            if not i_t052-ztag3 is initial.
              v_paym_days = i_t052-ztag3.
            elseif not i_t052-ztag2 is initial.
              v_paym_days = i_t052-ztag2.
            elseif not i_t052-ztag1 is initial.
              v_paym_days = i_t052-ztag1.
            endif.
          endif.
        endif.
        i_output-due_date = i_bsid-zfbdt + v_paym_days.
      else.
        i_output-due_date = i_bsid-zfbdt.
      endif.
      clear v_date_diff.
      v_date_diff = sy-datum - i_output-due_date.
      i_output-v_no_days = v_date_diff.
    endform.                    " move_bsid_t052
         Form  move_no_of_days
         To read the no of days
    form move_no_of_days.
      if i_knkk-grupp = c_sc01.
        i_output-spcol = i_bsid-dmbtr.
      else.
        if v_date_diff < 0.
          i_output-not_due = i_bsid-dmbtr.
        elseif v_date_diff = 0.
          i_output-curr_due = i_bsid-dmbtr.
        elseif v_date_diff <= 30.
         

  • Not able to edit the records in the table

    Hi Experts,
    I am not able to edit the records or delete the records from a database table.
    Those fields are not enabled.
    Edit icon is not at all there.
    Wat can i do.
    Cheers,
    Karthick

    Hi,
            In SM30, u can edit or delete records from a table.Before goin to this u need to create table maintainance generator for this table.
    regards
    lakshmi

  • How to maintain the data in the view cluster

    we are doing upgrade, we have one view cluster app_log in this object scwb
    and subobjects is swtlo1,02,03 like i have some subobjects in 4.6c we transported the view cluster to ecc6.0 in ecc 6.0 i have object scwb  but subobjects doesn't exist how to maintain the subobjects in view cluster.

    Definition
    A view cluster is a group of maintenance dialogs which are collected in one maintenance unit for business or technical reasons. They allow related data in more than one table/view to be maintained consistently.
    Use
    Whereas only 1:1 relationships can be processed in maintenance views (except for language-dependent texts), key extensions and relationships of cardinality N:M can also be handled in view clusters. Maintenance dialogs with no key, or partial key-dependence, can also be combined into view clusters.
    Grouping dialogs into one maintenance unit has the following advantages for data maintenance:
    Navigation: A view cluster contains convenient standard navigation between the individual maintenance dialogs. This simplifies the maintenance of the data in a view cluster.
    Consistency: The view cluster ensures data consistency when deleting, copying, saving, retrieving and manually transporting data. For example when an entry in a higher-level view is deleted, , it automatically ensures that all dependent entries in lower-level views are also deleted.
    You can first split tables with a lot of fields into various views and then collect them into a view cluster.
    Use tabs to format very wide tables with a lot of fields.
    Structure
    Navigation in a view cluster is usually based on the hierarchy of the tables/views on which the dialogs are based. A view cluster usually consists of one or more root dialogs and the at most 14 maintenance dialogs which depend on them. A view at a lower level has one or more additional fields in its key compared its higher-level view. Each data record at the higher level has several dependent data records below it.
    Each maintenance dialog is an independent unit consisting of an overview screen or an overview and a detail screen, depending on the dialog type. As well as the data to be maintained, the overview screen contains a navigation area, in which you can go to higher or lower level maintenance dialogs.
    One-level maintenance dialogs only contain one screen, the list screen, in which all existing data records are displayed in a table. In a two-level maintenance dialog, double-clicking on a data record in the list screen takes you to the detail screen, which displays all the fields in the selected data record.
    Generate a maintenance dialog for each view before you call the cluster maintenance (SM34). When you generate the maintenance dialog, flag the key fields which are identical in the view and its higher-level in the cluster, with the maintenance attribute S. The system fills the key fields when you go from the upper to the lower level, with the values of the data record selected in the upper level. Go to the transaction SE54 to define a view cluster.
    <b>Rewards point if useful.......</b>
    regards....
    Abhaysingh.

Maybe you are looking for

  • WRT54GL broadcast keeps cycling on and off

    I've had a WRT54GL ( for about a week now ) with no real issues.  Today my wife mentioned that the net's been flaky  ( wireless nto hard wired ).  I originally noticed what seemed like minutes for my desktop of laptop to connect to any web pages.  L

  • FI Document - Open Items

    Hi All, While trying to archive the FI Documents present in our system, a huge percentage of them are not getting archived inspite of meeting the retention/residence time requirements. The spool says these docs have open line items. My query is: how

  • Using Map and List, simple

    Hi, My prolem is very simple, but i'm beggining with java. I have 10 key-values: "CUSTOMER_ID" , the others are not important What is important is that I want to have different values under the same key CUSTOMER_ID The structure should be like this:

  • Trying to download OS X Lion- it now say it is paused

    I have been having so much trouble downlading OS X Lion.  I am very disappointed with MAC. I bought a new macbook pro. It was supposed to be a simple free download of OS X lion. Now it has been my nightmare. I ended up loosing patiente and turned off

  • Lenovo Solution Center 2.2.002 Issue In G580 Laptop

    Hi: After Updating  Lenovo solution centre to 2.2.002 in my Laptop G580,  In System information:  Product, Bios,Serial Number  is not displaying and when i want to do Lenovo software update  Last Update : Not available and in Status coloum it showing