CONTRACT EXPIRY REPORT

i created a quantity contract for a particular material and vendor and a purchase order was created with reference to the contract.So i want to run a report that will give me the remaining quantity left in the contract after the purchase order has been created
Moderator message: Locked because of violating forum rules
Edited by: Jürgen L. on Jan 26, 2012 4:00 PM

Hire an ABAP programmer.

Similar Messages

  • Single contract details report in Reporting services taking approx 40 secon

    Component name: Single contract details report
    Application: online application
    Problem: Single contract details report in  Reporting services taking approx.40 seconds to show the report
    Report is look like below screen shot :
    The report is designed in order to show as much information as possible for an agreement. In order to present the information in a clearly arranged manner the data is clustered and displayed on separate report tabs. The data clustering is as follows:
    u2022     Header Information
    u2022     Overall Contract Details
    u2022     Vehicle Details
    u2022     Driver Details
    u2022     Mileage Details
    u2022     Maintenance/Services Details
    u2022     Tyres Details
    u2022     Fuel/Oil Details
    u2022     Invoices Details
    u2022     Contract History
    Single Contract Details report is a very huge report it is split into tabs. Navigation between these tabs is possible with a menu bar at the top of the report. Each tab has its own name and located there as a link. By clicking on it the tab is shown.
    This report is a special type of report name as drill down report. Due to the Crystal limitation that a report can only contain one sub report, AOL used java component to call single contract report
    Figure: Drill down Report
    This is the only report of this type in AOL which is using the drill down functionality in crystal and now we are investigating the performance issue for this report, we have checked all possible area (java, crystal report) where we can improve the performance for this report.
    We thought if we can replace the java component with crystal and directly crystal report will connect to single contract report using hyperlink, it may increase the performance but due to the Crystal limitation that a report can only contain one sub report we are not able to do this approach.

    HI Piroz,
    Im actually looking for the same thing...
    How can I create a report were I can see if a contract has been changed or cancelled? I use VA45 to see contracts, I would like to run a report to see if there has been any changes on the contracts of if they have been cancelled, thank you soooooo much if you can help me

  • I have iphone 4 and contract expiried,how to unlock to sim free

    i have iphone 4 and contract expiried,how to unlock to sim free??

    yas i am sure,i done someting on SAM preffs,and itunes work,

  • LMS4.1 Contract Connection Report

    Hi,
    Just wondering if this is a bug or a feature request...
    When doing contract connection reports, my various smartnet contracts show up. But I can only ever select one contract at a time to run a report against.
    Is it possible to be able to select all contracts to run agasint all devices, this way I can see from one report that all my devices are covererd under any of my contracts.

    You may get more detail by enabling debug logging for Contract Connection.
    RME > Admin > System Preferences > Application Log Level Settings
    Set ContractConnection to Debug
    Retry then check the log at NMSROOT\log\contractcon.log
    ...don't forget to turn off Debug when finished

  • No mention of contract expiry date on bill?

    I realise that when you enter into a new contract with BT you receive written details of start date, services etc.
    When logging in to My BT and viewing current balance, phone, broadband etc, I cannot see any reference to the contract period.
    Viewing my latest bill lists various services and charges along with any discounts etc. but again I can't see any reference to contract length or expiry date.
    Perhaps I'm missing a link somewhere? Woud appreciate advice.
    I know that I could always dig out the original contract confirmation letter but it's normally buried at the bottom of a drawer somewhere. I  assume BT has to send you a letter of confirmation for legal reasons but I thought the idea was to go paper free!
    Unless I AM missing something I fail to see why the contracted period is not clearly shown on my bill.
    Solved!
    Go to Solution.

    Try this direct link https://bt.custhelp.com/app/chat/contact_chat/queue_id/275/c/2902
    There are some useful help pages here, for BT Broadband customers only, on my personal website.
    BT Broadband customers - help with broadband, WiFi, networking, e-mail and phones.

  • Contract Connection reports in LMS 3.2

    I'm attempting to run this report and it's not recognizing my id/password.
    However on my old server which is running LMS 3.1 this report runs fine. I'm not mistyping my id/password I have confirmed that I'm not. See screenshot of error is this a bug?

    This is a known issue. Development is working on it to correct the Cisco.com side so it reports the correct contracts. As of now, there is no workaround within LMS.

  • GOA Contract check report - Really checking?

    Hi all
    Is it (BBP_CONTRACT_CHECK) checking backend contract or active version of the GOA
    are you facing any problems in this report?
    i am looking this report in the spool but i feel some thing wrong in the output results .since i dont have access in sost
    Who get the workitem of this results output.. Is it a purchaser(buyer) -Purchase group or who created a GOAcontract  (responsible employee)?
    Thanks
    Muthu

    Hi
    only expire dates works perfectly for me
    Note 1379837 - Multiple Workitem created for same contract during alert
    muthu

  • Contract Analysis Report - Help needed pls.

    Hi Gurus,
    I have below requirement.
    To analyze the contracts created in purchasing(in SAP). The report shall help to analyse the Contracts that are due to expire in next 12 months.
    Now I need a suitable datasource and business content ods/cube.
    Required characters are: Contract no, Vendor, Purchasing group, created on,start date,end date etc.
    Report to run for contract end date between today's date and next year. For ex if user is running report on 05-oct-2007, the report should display all the contracts having end date between 05-oct-2007 and 04-oct-2008.
    Please help me.
    Thanks,
    Sasi

    Hi
    Take the <b>VBRK-KNUMV field  and pass it to KONV-KNUMV</b> table field along with all the Condition types (KSCHL) fields to get the amounts (KBETR and KWERT) fields
    Regards
    Anji

  • Help in Procurement Contracts Customze report

    Hi All,
    I need to have a custom report Procurement Contracts ,
    The details are as follows:
    1) We have a Contract Template applied to a PO.
    2) A Contract is created.
    3) We want to know how this contract (clauses) are linked to the PO.
    4) and the link is in which table.
    Its Very Urgent!
    Thanks in Advance!
    Syed

    Hi Ram,
    Hope you have looked in this place.
    http://help.sap.com/saphelp_nw04/helpdata/en/37/5fb13cd0500255e10000000a114084/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/ed/62073c44564d59e10000000a114084/frameset.htm
    If the data you are looking for is not available in the standard content, then you will have to customize .
    Regards
    Balaji
    Message was edited by: Balaji Deenadayalan
    Message was edited by: Balaji Deenadayalan

  • Service contracts expiry notification !

    Hi all,
    need to know whether any setups has to be made for notifcation of contracts (when the contracts are 10 days ahead ) to expire the notification shld start firing for multiple contacts say contract manager , contract approver & ceo of the company ...
    whether this can be done?????????
    any solution ??
    pl rever asap
    regards

    Hey,
    this functionality could be archived only if your contract is originating from the quotes.
    Otherwise it can be done only through customization.
    Even i had the requirement of same kind, and we are developing the custom piece for the same.
    but if your contracts are generating from quotes then you can achive this by using the Notify sales rep function.

  • Primavera Contract Management Report services

    Hi every one,
    Please I am new in PCM and I want to know if is it possible to create report services in PCM using SSRS (MS tools). Or we have to use the oracle BI publisher.
    Thanks a lot

    The domain name is registered with a DNS (Domain Name Server), which identifies a domain name with a unique ID i.e. IP address (A bunch of 4 groups of 3 digits each).

  • Report a sales contract

    Good morning guys,
    I'm having trouble making a report of SD because it has no functional SD here to tell me some things. I'm doing a report for the Sales Contract, this report I have to pull the contract from some suppliers.
    I was using the VBAK table after I was in VBAP table, and the vendor entered on the selection screen I would go to VBPA table to pull the vendor making a relationship with the VBAK, now I do not know if this flow is correct. If anyone can help me I appreciate it.

    1. Fetch the Sales document & Item number from VBPA table based on the the input vendor pass to lifnr field
    2. Based on the above internal table, fetch the data from VBAP (If you need VBAK data then use VBAK also) for all entries of the step 1 and populate the new internal table
    3.  Display your Sales Contract data in the output of the report

  • Action in a ISU Service Contract

    Hello experts;
    As a requirements i had to find a way to automatically renew a contract when the contract owner didn't react before 30 days in advance the contract planned end date. To accomplish that i created an action on Item level that triggers a Badi which gets the job done. So far so good. I just have an issue...How do i update the already existing contracts? My customizing works on new contracts: the contract is created the action is immediately scheduled and a job either runs or not the action according to the fulfilling of the starting condition. But how do i schedule the very same action on already existing contracts?
    I hope i made myself clear
    Thank you in advance for the answers.

    In my previous project we have derived like this:
    it was identified for the automated identifying of customer CRM Contracts up for renewal and the generation of a list of customers due for contract renewal.
    The running of this enhancement would be on an add hoc on demand basis as required by the business.
    The primary purpose of this development is to identify the CRM market contracts that are up for renewal based on certain criteria defined and Re-Contract those Contract items on the date of expiry, unless the business has specified otherwise.
    Using the CRM Contracts that are due to expire Campaign Activities would need to be created of type u201CRe-Contractingu201D for each CRM Contract that is due to expire. This would allow the business to monitor these campaign activities and use them as a base for correspondence with the customer. Also these campaign activities could be used for reporting purposes.
    The scope of this development would be divided into 2 programs:
    Program 1
    Program to identify the CRM Market Contracts that are up for renewal.
    Program 2
    From the list of CRM Market contracts identified in Program 1, recontract all contracts automatically on the date of Contract expiry. IE this program would run in batch on a daily basis to recontract CRM Contracts that are due to expire on the date of expiry.
    This program would be run on an add hoc on demand basis as required by the business. The selection screen would specify the following input criteria:
    u2022     Planned Contract End : From Date
    u2022     Planned Contract End : To Date
    u2022     State
    u2022     Business Partner Type
    In addition, the screen will have the following field that should be input by the user. Note that this campaign ID and Campaign Element ID entered will be the manually created campaign record in CRM for assignment to the resulting activity record and is not a selection criteria.
    u2022     Campaign ID
    u2022     Campaign Element ID
    This program would be run as required by the business for selecting CRM Contract records that are due to expire. The u201CFrom Dateu201D and u201CTo Dateu201D specify the Expiry date range that the business wishes to extract CRM Contract records, the date criteria could also point to a time period in the past. It is a requirement that the Campaign and Campaign Element required for Re-Contracting be already created before this program is executed. The Campaign created by the relevant team would be used here upon execution of this program.
    Program 1 should be called by a Z transaction code u2013  This transaction should be restricted to users through SAP security profiles.
    Regards,
    Siva

  • TABLES REQUIRED FOR  REPORTS

    please any body CAN YELL ME THE TABLES INVOLVED IN THESE FOLLOWING TWO REPORTS  
    VERY URGENT
    IT IS SVERY USEFULE TO ME
    PLEASE HELP ME
    &#61656;Contract Compliance Report : This report looks at the actual customer purchases (QTY) by period vs. targeted quantities.
              The report created will list all the contracts quantity vs. shipped quantity in the period specified for a given customer or material or sales organization or contract number along with details such as material numbers, contract start date, contract end date, etc.
    &#61656;     Contract Expiration Report : Contracts need to be monitored and quotations sent out for renewal as they approach their expiry date. A report is required to show the contracts expiring.
              This report will list all the contracts expiring in the period specified for a given customer or material or sales organization or contract number along with details such as equipment numbers, material numbers, contract start date, contract end date, etc.
    WITH REGARDS
    VENUMADHAV

    Hi Venumadhav,
                             Check table EKKO , EKPO,VBAK,VBAP
    Regards,
    Hemant

  • How do i get this report program

    &#61656;     Contract Compliance Report : This report looks at the actual customer purchases (QTY) by period vs. targeted quantities.
              The report created will list all the contracts quantity vs. shipped quantity in the period specified for a given customer or material or sales organization or contract number along with details such as material numbers, contract start date, contract end date, etc.
    &#61656;     Contract Expiration Report : Contracts need to be monitored and quotations sent out for renewal as they approach their expiry date. A report is required to show the contracts expiring.
              This report will list all the contracts expiring in the period specified for a given customer or material or sales organization or contract number along with details such as equipment numbers, material numbers, contract start date, contract end date, etc.

    hi
    i have this code for CONTRACT EXPIRATION REPORT.
    may this be useful.
    TABLES: vbak,veda,vbkd.
    TYPE-POOLS: slis,
                ibco2.                                         
    TYPES : BEGIN OF t_ty_str_contract_dtls,
            vbeln     TYPE vbeln,
            posnr     TYPE posnr,
            zzp_mfrnr TYPE mfrnr,
            zprogram  TYPE zsls_dte_program,
            cuobj     TYPE cuobj,
            classnum  TYPE char18,
            END OF t_ty_str_contract_dtls.
    DATA : g_tab_cnt_details  TYPE zsls_tab_cntr_expire,
           g_wa_cnt_details   TYPE LINE OF zsls_tab_cntr_expire,
           g_tab_fieldcat     TYPE slis_t_fieldcat_alv,
           g_fieldcat         TYPE slis_fieldcat_alv,
           g_pos              TYPE i,
           g_exit             TYPE c,
           p_fname            TYPE string,
           repid              TYPE sy-repid,
           BEGIN OF g_str_data,
              kunnr(12)          TYPE c,
              name1(30)          TYPE c,
              vkorg(15)          TYPE c,     
              vkbur(15)          TYPE c,
              vkgrp(15)          TYPE c,
              bezei(25)          TYPE c,
              vbeln(15)          TYPE c,
              bstkd_m(35)        TYPE c,
              ktext(40)          TYPE c,
              vbegdat(15)        TYPE c,
              venddat(17)        TYPE c,
              auart(15)          TYPE c,
              zzp_mfrnr(12)      TYPE c,
              mnf_des(30)        TYPE c,
              zprogram(30)       TYPE c,
            END OF g_str_data,
          BEGIN OF g_str_cus_nam,
            kunnr TYPE kunnr,
            name1 TYPE name1,
           END OF g_str_cus_nam,
          BEGIN OF g_str_sgrp_nam,
            vkgrp TYPE vkgrp,
            bezei TYPE bezei,
          END OF g_str_sgrp_nam,
          BEGIN OF g_str_manf_nam,
            lifnr TYPE lifnr,
            name1 TYPE name1,
          END OF g_str_manf_nam.
    DATA : g_tab_data LIKE STANDARD TABLE OF g_str_data,
           g_tab_cus_nam   LIKE STANDARD TABLE OF g_str_cus_nam,
           g_tab_sgrp_nam  LIKE STANDARD TABLE OF g_str_sgrp_nam,
           g_tab_contract  TYPE STANDARD TABLE OF t_ty_str_contract_dtls,
             g_wa_contract   TYPE t_ty_str_contract_dtls,
           g_tab_manf_nam  LIKE STANDARD TABLE OF g_str_manf_nam,
           g_rc            LIKE sy-subrc.        "RETURN CODE.
    CONSTANTS: con_klart LIKE klah-klart VALUE '300',
               con_program  LIKE zsls_str_contract_chg-zprogram VALUE 'PROGRAM'.
    SELECTION-SCREEN BEGIN OF BLOCK b0 WITH FRAME.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS  : s_sorg FOR vbak-vkorg OBLIGATORY DEFAULT '0030',
                      s_soff FOR vbak-vkbur,
                      s_sgrp FOR vbak-vkgrp,
                      s_dtyp FOR vbak-auart OBLIGATORY,
                      s_cnum FOR vbak-vbeln,
                      s_cust FOR vbak-kunnr,
                      s_pnum FOR vbkd-bstkd_m NO-EXTENSION NO INTERVALS.
    PARAMETERS      : p_mfnum LIKE mara-mfrnr.                 
    SELECT-OPTIONS  : s_endt FOR veda-venddat OBLIGATORY.
    PARAMETERS      : p_prg LIKE zsls_str_char_para-zprogram.  
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-005.
    PARAMETER       :p_name LIKE rlgrap-filename.   " OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN END OF BLOCK b0.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_name.
      MOVE sy-repid TO repid.
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          program_name  = repid
          dynpro_number = sy-dynnr
          field_name    = 'P_NAME'
        IMPORTING
          file_name     = p_name.
    START-OF-SELECTION.
      PERFORM get_data.
      IF g_exit NE 'X'.
        PERFORM get_prg_mfr_dtls.
        IF g_tab_cnt_details IS INITIAL.
          MESSAGE i000 WITH text-004.
          g_exit = 'X'.
          EXIT.
        ENDIF.
        PERFORM move_data.
      ENDIF.
    END-OF-SELECTION.
      IF g_exit NE 'X'.
        MOVE p_name TO p_fname.
        PERFORM post_data_report.
        PERFORM display_data.
      ENDIF.
    *&      Form  get_data
    FORM get_data .
      SELECT  a~vkorg
              a~vkbur
              a~vkgrp
              a~auart
              a~kunnr
              a~vbeln
              a~ktext
              c~vbegdat
              c~venddat
              d~bstkd_m
              INTO CORRESPONDING FIELDS OF TABLE g_tab_cnt_details
              FROM vbak AS a
              INNER JOIN veda AS c
                       ON a~vbeln EQ c~vbeln AND
                          c~vposn EQ '000000'
              INNER JOIN vbkd AS d
                       ON a~vbeln EQ d~vbeln
              WHERE a~vkorg       IN s_sorg AND
                    a~vkbur       IN s_soff AND
                    a~vkgrp       IN s_sgrp AND
                    a~auart       IN s_dtyp AND
                    a~vbtyp       EQ 'G'    AND
                    a~vbeln       IN s_cnum AND
                    a~kunnr       IN s_cust AND
                    c~venddat     IN s_endt AND
                    d~bstkd_m       IN s_pnum.
      IF  sy-subrc NE 0 OR g_tab_cnt_details IS INITIAL.
        MESSAGE i000 WITH text-004.
        g_exit = 'X'.
        EXIT.
      ENDIF.
    ENDFORM.                    " get_data
    *&      Form  display_data
    FORM display_data .
      IF g_tab_cnt_details IS NOT INITIAL.
        DELETE ADJACENT DUPLICATES FROM g_tab_cnt_details COMPARING ALL FIELDS.
        PERFORM build_field_cat.
        PERFORM call_alv.
      ENDIF.
    ENDFORM.                    " display_data
    *&      Form  build_field_cat
    FORM build_field_cat .
      REFRESH g_tab_fieldcat.
      PERFORM fill_field_cat USING g_pos  'G_TAB_CNT_DETAILS'   'KUNNR'      '15'  text-010 ' ' ' ' ' '.
      PERFORM fill_field_cat USING g_pos  'G_TAB_CNT_DETAILS'   'NAME1'      '30'  text-024 ' ' ' ' ' '.
      PERFORM fill_field_cat USING g_pos  'G_TAB_CNT_DETAILS'   'VKORG'      '10'  text-011 ' ' ' ' ' '.
      PERFORM fill_field_cat USING g_pos  'G_TAB_CNT_DETAILS'   'VKBUR'      '15'  text-012 ' ' ' ' ' '.
      PERFORM fill_field_cat USING g_pos  'G_TAB_CNT_DETAILS'   'VKGRP'      '15'  text-015 ' ' ' ' ' '.
      PERFORM fill_field_cat USING g_pos  'G_TAB_CNT_DETAILS'   'BEZEI'      '25'  text-025 ' ' ' ' ' '.
      PERFORM fill_field_cat USING g_pos  'G_TAB_CNT_DETAILS'   'VBELN'      '15'  text-013 ' ' 'X' 'X'.
      PERFORM fill_field_cat USING g_pos  'G_TAB_CNT_DETAILS'   'BSTKD_M'    '35'  text-014 ' ' ' ' ' '.
      PERFORM fill_field_cat USING g_pos  'G_TAB_CNT_DETAILS'   'KTEXT'      '40'  text-023 ' ' ' ' ' '.
      PERFORM fill_field_cat USING g_pos  'G_TAB_CNT_DETAILS'   'VBEGDAT'    '20'  text-016 ' ' ' ' ' '.
      PERFORM fill_field_cat USING g_pos  'G_TAB_CNT_DETAILS'   'VENDDAT'    '20'  text-017 ' ' ' ' ' '.
      PERFORM fill_field_cat USING g_pos  'G_TAB_CNT_DETAILS'   'AUART'      '18'  text-018 ' ' ' ' ' '.
      PERFORM fill_field_cat USING g_pos  'G_TAB_CNT_DETAILS'   'ZZP_MFRNR'  '20'  text-028 ' ' ' ' ' '.
      PERFORM fill_field_cat USING g_pos  'G_TAB_CNT_DETAILS'   'MNF_DES'    '30'  text-030 ' ' ' ' ' '.
      PERFORM fill_field_cat USING g_pos  'G_TAB_CNT_DETAILS'   'ZPROGRAM'   '30'  text-029 ' ' ' ' ' '.
    ENDFORM.                    " build_field_cat
    *&      Form  fill_field_cat
    *       text
    FORM fill_field_cat  USING    u_pos              TYPE any
                                  value(u_001)       TYPE any
                                  value(u_002)       TYPE any
                                  value(u_003)       TYPE any
                                  u_text             TYPE any
                                  value(u_004)       TYPE any
                                  value(u_005)       TYPE any
                                  value(u_006)       TYPE any.
      u_pos = u_pos + 1.
      g_fieldcat-col_pos      = u_pos .
      g_fieldcat-tabname      = u_001.
      g_fieldcat-fieldname    = u_002.
      g_fieldcat-outputlen    = u_003.
      g_fieldcat-reptext_ddic = u_text.
      g_fieldcat-just         = u_004.
      g_fieldcat-hotspot      = u_005.
      g_fieldcat-emphasize    = u_006.
      APPEND g_fieldcat TO g_tab_fieldcat.
    ENDFORM.                    " fill_field_cat
    *&      Form  call_alv
    FORM call_alv.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
        EXPORTING
          i_callback_program      = sy-repid
          i_callback_user_command = 'USER_COMMAND'
          it_fieldcat             = g_tab_fieldcat
        TABLES
          t_outtab                = g_tab_cnt_details
        EXCEPTIONS
          program_error           = 1
          OTHERS                  = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " call_alv
    *&      Form  post_data_report
    FORM post_data_report .
      IF p_fname IS NOT INITIAL.
        CALL FUNCTION 'GUI_DOWNLOAD'
          EXPORTING
            filename                = p_fname
            filetype                = 'DAT'
          TABLES
            data_tab                = g_tab_data
          EXCEPTIONS
            file_write_error        = 1
            no_batch                = 2
            gui_refuse_filetransfer = 3
            invalid_type            = 4
            no_authority            = 5
            unknown_error           = 6
            header_not_allowed      = 7
            separator_not_allowed   = 8
            filesize_not_allowed    = 9
            header_too_long         = 10
            dp_error_create         = 11
            dp_error_send           = 12
            dp_error_write          = 13
            unknown_dp_error        = 14
            access_denied           = 15
            dp_out_of_memory        = 16
            disk_full               = 17
            dp_timeout              = 18
            file_not_found          = 19
            dataprovider_exception  = 20
            control_flush_error     = 21
            OTHERS                  = 22.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
      ENDIF.
    ENDFORM.                    " post_data_report
    **&      Form  MOVE_DATA
    FORM move_data .
      IF g_tab_cnt_details IS NOT INITIAL.
        MOVE: text-010 TO g_str_data-kunnr,
              text-024 TO g_str_data-name1,
              text-011 TO g_str_data-vkorg,
              text-012 TO g_str_data-vkbur,
              text-015 TO g_str_data-vkgrp,
              text-025 TO g_str_data-bezei,
              text-013 TO g_str_data-vbeln,
              text-014 TO g_str_data-bstkd_m,
              text-023 TO g_str_data-ktext,
              text-016 TO g_str_data-vbegdat,
              text-017 TO g_str_data-venddat,
              text-018 TO g_str_data-auart,
              text-028 TO g_str_data-zzp_mfrnr,
              text-030 TO g_str_data-mnf_des,
              text-029 TO g_str_data-zprogram.
        APPEND  g_str_data TO  g_tab_data.
        LOOP AT g_tab_cnt_details INTO g_wa_cnt_details.
          MOVE: g_wa_cnt_details-kunnr   TO g_str_data-kunnr,
                g_wa_cnt_details-name1   TO g_str_data-name1,
                g_wa_cnt_details-vkorg   TO g_str_data-vkorg,
                g_wa_cnt_details-vkbur   TO g_str_data-vkbur,
                g_wa_cnt_details-vkgrp   TO g_str_data-vkgrp,
                g_wa_cnt_details-bezei   TO g_str_data-bezei,
                g_wa_cnt_details-vbeln   TO g_str_data-vbeln,
                g_wa_cnt_details-bstkd_m TO g_str_data-bstkd_m,
                g_wa_cnt_details-ktext   TO g_str_data-ktext,
                g_wa_cnt_details-vbegdat TO g_str_data-vbegdat,
                g_wa_cnt_details-venddat TO g_str_data-venddat,
                g_wa_cnt_details-auart   TO g_str_data-auart,
                g_wa_cnt_details-zzp_mfrnr TO g_str_data-zzp_mfrnr,
                g_wa_cnt_details-mnf_des TO g_str_data-mnf_des,
                g_wa_cnt_details-zprogram TO g_str_data-zprogram.
          APPEND g_str_data TO g_tab_data.
          CLEAR :g_str_data,g_wa_cnt_details.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " MOVE_DATA
    **&      Form  user_command
    FORM user_command USING ucomm LIKE sy-ucomm  selfield TYPE slis_selfield."#EC CALLED
      READ TABLE g_tab_cnt_details INTO g_wa_cnt_details INDEX selfield-tabindex.
      CHECK sy-subrc = 0.
      CASE ucomm.
        WHEN '&IC1'.
          TRANSLATE selfield-sel_tab_field TO UPPER CASE.
          CASE selfield-sel_tab_field.
            WHEN 'G_TAB_CNT_DETAILS-VBELN'.
              IF NOT g_wa_cnt_details-vbeln IS INITIAL.
                SET PARAMETER ID 'KTN' FIELD g_wa_cnt_details-vbeln.
                CALL TRANSACTION 'VA43' AND SKIP FIRST SCREEN .
              ENDIF.
            WHEN OTHERS.
              MESSAGE w000(zsls_general) WITH text-027 .
              EXIT.
          ENDCASE.
      ENDCASE.
    ENDFORM.                    "user_command
    *&      Form  get_descrip_for_sgrpcust
    FORM get_descrip_for_sgrpcust .
      IF g_tab_cnt_details[] IS NOT INITIAL.
        SELECT kunnr name1
               INTO CORRESPONDING FIELDS OF TABLE g_tab_cus_nam
               FROM kna1
               FOR ALL ENTRIES IN g_tab_cnt_details
               WHERE kunnr = g_tab_cnt_details-kunnr.
        DELETE ADJACENT DUPLICATES FROM g_tab_cus_nam COMPARING ALL FIELDS.
        SELECT vkgrp bezei
               INTO CORRESPONDING FIELDS OF TABLE g_tab_sgrp_nam
               FROM tvgrt
               FOR ALL ENTRIES IN g_tab_cnt_details
               WHERE vkgrp = g_tab_cnt_details-vkgrp.
        DELETE ADJACENT DUPLICATES FROM g_tab_sgrp_nam COMPARING ALL FIELDS.
      ENDIF.
    ENDFORM.                    " get_descrip_for_sgrpcust
    **&      Form  get_class_details
    FORM get_class_details .
      DATA : l_sy_tabix TYPE sy-tabix.
      SELECT vbap~vbeln
             vbap~posnr
             vbap~matnr
             vbap~zzp_mfrnr
             vbap~cuobj
             INTO CORRESPONDING FIELDS OF TABLE g_tab_contract
             FROM vbap
             FOR ALL ENTRIES IN g_tab_cnt_details
             WHERE vbap~vbeln = g_tab_cnt_details-vbeln.
      IF g_tab_contract IS NOT INITIAL.
        SORT g_tab_contract BY vbeln zzp_mfrnr.
        DELETE ADJACENT DUPLICATES FROM g_tab_contract COMPARING vbeln zzp_mfrnr.
        LOOP AT g_tab_contract INTO g_wa_contract.
          l_sy_tabix = sy-tabix.
          PERFORM get_config USING g_wa_contract-cuobj
                             CHANGING g_wa_contract-zprogram .
          MODIFY  g_tab_contract FROM g_wa_contract INDEX l_sy_tabix.
          CLEAR : g_wa_contract.
        ENDLOOP.
    *---Moving the manufacturer details and program details
        LOOP AT g_tab_cnt_details INTO g_wa_cnt_details.
          l_sy_tabix = sy-tabix.
          READ TABLE g_tab_contract INTO g_wa_contract WITH KEY vbeln = g_wa_cnt_details-vbeln.
          IF sy-subrc = 0.
            g_wa_cnt_details-zzp_mfrnr = g_wa_contract-zzp_mfrnr.
            g_wa_cnt_details-zprogram  = g_wa_contract-zprogram.
          ENDIF.
          MODIFY g_tab_cnt_details FROM g_wa_cnt_details INDEX l_sy_tabix.
        ENDLOOP.
        IF p_prg IS NOT INITIAL.
          DELETE g_tab_cnt_details WHERE zprogram <> p_prg.
        ENDIF.
        IF p_mfnum IS NOT INITIAL.
          DELETE g_tab_cnt_details WHERE zzp_mfrnr <> p_mfnum.
        ENDIF.
      ENDIF.
      PERFORM move_manf_desc.
    ENDFORM.                    " get_class_details
    **&      Form  get_config
    FORM get_config  USING    g_wa_contract-cuobj
                     CHANGING g_wa_contract-zprogram .
      DATA :         l_name(200),
                     l_tab_cfg    TYPE ibco2_instance_tab2,
                     l_str_cfg    TYPE ibco2_instance_rec2,
                     l_tab_values TYPE STANDARD TABLE OF ibco2_value_rec  WITH HEADER LINE,
                     l_tab_get_values LIKE comw OCCURS 0 WITH HEADER LINE,
                     l_tab_features LIKE STANDARD TABLE OF klmerka,
                     l_str_chr_val LIKE clx2v,
                     l_tab_chr_val LIKE STANDARD TABLE OF clx2v,
                     l_atwtb TYPE atwtb.
      CLEAR : l_tab_values,
              l_name,
              l_tab_get_values,
              l_str_cfg.
      REFRESH : l_tab_features,
                l_tab_values,
                l_tab_get_values,
                l_tab_cfg.
      CALL FUNCTION 'CUCB_GET_CONFIGURATION'
        EXPORTING
          instance                     = g_wa_contract-cuobj
        IMPORTING
          configuration                = l_tab_cfg
        EXCEPTIONS
          invalid_instance             = 1
          instance_is_a_classification = 2
          OTHERS                       = 3.
      READ TABLE l_tab_cfg INTO l_str_cfg INDEX 1.
      PERFORM get_class_num USING l_str_cfg-type_of-object_type
                                  l_str_cfg-type_of-object_key.
      CHECK g_rc EQ 0.
      CALL FUNCTION 'CLME_FEATURE_ATTR_OF_CLASS'
        EXPORTING
          class                 = g_wa_contract-classnum
          classtype             = con_klart
        TABLES
          tfeatures             = l_tab_features
          tvalues               = l_tab_chr_val.
      READ TABLE l_tab_cfg INTO l_str_cfg INDEX 1.
      IF sy-subrc = 0.
        l_tab_values[] = l_str_cfg-values[].
        SORT l_tab_values BY atinn.
        LOOP AT l_tab_values.
          l_tab_get_values-atinn = l_tab_values-atinn.
          l_tab_get_values-atwrt = l_tab_values-atwrt.
          READ TABLE l_tab_chr_val INTO l_str_chr_val
               WITH KEY atinn = l_tab_values-atinn
                        atwrt = l_tab_values-atwrt.
          IF sy-subrc = 0.
            l_atwtb = l_str_chr_val-atwtb.
          ELSE.
            l_atwtb = l_tab_values-atwrt.
          ENDIF.
          MOVE l_tab_values-atinn TO l_name.
          PERFORM conversion_exit_char CHANGING l_name.
          CASE l_name.
            WHEN con_program.
              MOVE l_atwtb TO g_wa_contract-zprogram.
          ENDCASE.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " get_config
    **&      Form  get_class_num
    **       text
    **  -->  p1        text
    **  <--  p2        text
    FORM get_class_num USING l_str_cfg-type_of-object_type
                             l_str_cfg-type_of-object_key.
    *--Clear all variables & tables
      DATA : l_alloclist TYPE bapi1003_alloc_list OCCURS 0 WITH HEADER LINE,
             l_return TYPE bapiret2 OCCURS 0 WITH HEADER LINE,
             clobjectkeyin LIKE bapi1003_key-object_guid,
             d_obtab LIKE tcla-obtab.
      CLEAR : l_alloclist,
              l_return,
              clobjectkeyin,
              d_obtab,
              g_rc .
      REFRESH :l_alloclist,
               l_return.
    *get the db table for class type 300 to be used in different places.
    *get the object key number for the material number
      d_obtab = l_str_cfg-type_of-object_type.
      SELECT SINGLE cuobj FROM inob INTO clobjectkeyin
      WHERE klart = con_klart AND
            objek = l_str_cfg-type_of-object_key AND
            obtab = d_obtab.
      IF sy-subrc EQ 0.
    *get the class name and type for the material no.
        CALL FUNCTION 'BAPI_OBJCL_GETCLASSES_KEY'
          EXPORTING
            clobjectkeyin         = clobjectkeyin
           keydate               = sy-datum
           language              = sy-langu
          TABLES
            alloclist            = l_alloclist
            return                = l_return.
        READ TABLE l_alloclist  INDEX 1.
        MOVE l_alloclist-classnum TO g_wa_contract-classnum.
      ELSE.
        g_rc = 4.
      ENDIF.
    ENDFORM.                    " get_class_num
    **&      Form  conversion_exit_char
    FORM conversion_exit_char  CHANGING c_name.
      CALL FUNCTION 'CONVERSION_EXIT_ATINN_OUTPUT'
        EXPORTING
          input  = c_name
        IMPORTING
          output = c_name.
    ENDFORM.                    " conversion_exit_char
    *&      Form  get_prg_mfr_dtls
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM get_prg_mfr_dtls .
    *---Getting the Description for Customer and Sales group
      PERFORM get_descrip_for_sgrpcust.
      PERFORM get_class_details.
    ENDFORM.                    " get_prg_mfr_dtls
    *&      Form  move_manf_desc
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM move_manf_desc .
      DATA l_sy_tabix TYPE sy-tabix.
      SELECT lifnr name1
                 INTO CORRESPONDING FIELDS OF TABLE g_tab_manf_nam
                 FROM lfa1
                 FOR ALL ENTRIES IN g_tab_cnt_details
                 WHERE lifnr = g_tab_cnt_details-zzp_mfrnr.
      DELETE ADJACENT DUPLICATES FROM g_tab_manf_nam COMPARING ALL FIELDS.
      LOOP AT g_tab_cnt_details INTO g_wa_cnt_details.
        l_sy_tabix = sy-tabix.
        READ TABLE g_tab_cus_nam INTO g_str_cus_nam WITH KEY kunnr = g_wa_cnt_details-kunnr.
        IF sy-subrc = 0.
          MOVE g_str_cus_nam-name1 TO g_wa_cnt_details-name1.
        ENDIF.
        READ TABLE g_tab_sgrp_nam INTO g_str_sgrp_nam WITH KEY vkgrp = g_wa_cnt_details-vkgrp.
        IF sy-subrc = 0.
          MOVE g_str_sgrp_nam-bezei TO g_wa_cnt_details-bezei.
        ENDIF.
        READ TABLE g_tab_manf_nam INTO g_str_manf_nam WITH KEY lifnr = g_wa_cnt_details-zzp_mfrnr.
        IF sy-subrc = 0.
          MOVE g_str_manf_nam-name1 TO g_wa_cnt_details-mnf_des.
        ENDIF.
        MODIFY g_tab_cnt_details FROM g_wa_cnt_details INDEX l_sy_tabix.
        CLEAR: g_wa_cnt_details.
      ENDLOOP.
    ENDFORM.                    " move_manf_desc
    thx
    pavan
    *pls mark for helpful ans

Maybe you are looking for