Customizing Requst

Dear All,
We have issue related to customizing request.
We have create one cust.request in development server and release from development server and import in quality sever successfully.
but in quality sever effect of report not showing e.g we have create request for PO, PR release strategies(spro), it is working in development server but not work in quality server.
Scenario :-We have 3 landscape system know. Previously we have to landscape system Development(client 200) and Quality(client 400) is on single server. we have just upgrade it and separated it now Dev(200) QAS(500) and PRD(500) .
We have upgrade version also 
Thanks in advance
Regards,
Sweetdiya
Edited by: sweetdiya on Oct 7, 2011 10:14 AM
Edited by: sweetdiya on Oct 7, 2011 10:31 AM

Hi Diya,
Please check the return code of TR after import into QA.
If it has been successfully imported, then please have the concerned functional consultant (owner of TR) check the TR contents and validate if the changes are being reflected in QA.
PS: If its a Customizing request, the changes would be reflected only in the QA target client .
Hope this helps.
Regards,
Varun

Similar Messages

  • Payer is different in sales order than in customer master

    Hi Sap Gurus,
    While I am creating a B1(Rebate credit memo requst) the payer is different from customer master.
    e.g Suppose the payer in customer master is 100000 & sold to party is 100085 but in sales order the payer is getting changed to 100085.
    But when I create a normal CR(credit memo request) in sales order it is showing the same payer as in customer master.
    I have checked in VBO2 the rebate receipient, it is 100085.However when I changed the rebate receipient to 100000 all the partner funtions are getting changed to 100000 in sales order.
    I also tried creating a B1 document with a customer other than 100085, in sales order the payer is same as in customer master.
    I am facing problem when I try to raise B1 documnt type for this particular customer i.e 100085.
    Need your help badly.
    Regds....
    Sumit

    In case, for your sold to party 100085, if you have assigned  payer as 100000,  in sales order the payer should be 100000.
    If not check your settings as to why you are getting payer as 100085

  • Add custom fields in application FITE_REQUEST (Travel Request)

    Hi Experts,
    I have to add some custom fields in application FITE_REQUEST (Travel Request) of controller FITV_FPM_START, I don't know from where to start with.
    Please help.
    Regards
    Upendra Agrawal

    Hi ,
    Actually we are also trying to add two custom fields for travel request but we hasn't find the relevant user exits or badi to do the same .But once i saw your thread its given some hope to get resolve. Can you please share the way to add the custom fields to travel requst screen .We trying this since one month .
    Thanks & Regards,
    arjun.

  • Customer Statement via Email

    HI,
    I have config the Customer statement by means of correnpondence & it working fine.
    But I need to send it through email maintained in customer master when i run f.27 mails should be send automatically.
    For doing this do we need to do any config required or do we need to direaclty write it in the program code it self.
    Regards
    Ravi

    I have the same requirement to email from f.27 customer statement automatically
    what logic did you put to solved, can you explain me please
    There are two problems which is controlling F.27.  IT have created Z PROGRAM to control the printing and email the customer
    ZFIO_ACCOUNT_STATEMENT_EMAIL   -> program
    ZWAG_COMMON_ROUTINE                   - > Include
    ZWAG_SAPSCRIPT_ROUTINES_EM         -> Include
    ZEMAIL_SEND                                             -> Include added for email .
    The program is running fine but I have to type email id and spool number which I don't want. The program should search customer automatically based on email address from XD02 ( Customer ) .
    *&  Include           ZEMAIL_SEND                                      *
    *ZEMAIL_SEND.
    *&      Form  setup_output_parameters
    *       text
    *&  Include
    *  Purpose:
    *  Provide generic subroutines for any ABAP programs with intention of
    *  sending email (SAPOffice or Internet) with attachments
    * This report provides an example for sending an Spool
    * request as PDF via BCS
    parameters:
    mailto  type ad_smtpadr default  '[email protected]' obligatory,
    rqident type tsp01-rqident obligatory.
    DATA:v_adrnr LIKE kna1-adrnr.
    "  Mail related declarations
    "Variables
    DATA :
        G_SENT_TO_ALL   TYPE SONV-FLAG,
        G_TAB_LINES     TYPE I.
    "Types
    TYPES:
        T_DOCUMENT_DATA  TYPE  SODOCCHGI1,
        T_PACKING_LIST   TYPE  SOPCKLSTI1,
        T_ATTACHMENT     TYPE  SOLISTI1,
        T_BODY_MSG       TYPE  SOLISTI1,
        T_RECEIVERS      TYPE  SOMLRECI1,
        T_PDF            TYPE  TLINE.
    "Workareas
    DATA :
        W_DOCUMENT_DATA  TYPE  T_DOCUMENT_DATA,
        W_PACKING_LIST   TYPE  T_PACKING_LIST,
        W_ATTACHMENT     TYPE  T_ATTACHMENT,
        W_BODY_MSG       TYPE  T_BODY_MSG,
        W_RECEIVERS      TYPE  T_RECEIVERS,
        W_PDF            TYPE  T_PDF.
    "Internal Tables
    DATA :
        I_DOCUMENT_DATA  TYPE STANDARD TABLE OF T_DOCUMENT_DATA,
        I_PACKING_LIST   TYPE STANDARD TABLE OF T_PACKING_LIST,
        I_ATTACHMENT     TYPE STANDARD TABLE OF T_ATTACHMENT,
        I_BODY_MSG       TYPE STANDARD TABLE OF T_BODY_MSG,
        I_RECEIVERS      TYPE STANDARD TABLE OF T_RECEIVERS,
        I_PDF            TYPE STANDARD TABLE OF T_PDF.
    data send_request  type ref to cl_bcs.
    data document      type ref to cl_document_bcs.
    data recipient     type ref to if_recipient_bcs.
    data bcs_exception type ref to cx_bcs.
    data sent_to_all   type os_boolean.
    data pdf_size      type so_obj_len.
    data pdf_content   type solix_tab.
    data pdf_xstring   type xstring.
    DATA: TAB_LINES LIKE SY-TABIX.
    *Variables for EMAIL functionality
    DATA: MAILDATA LIKE SODOCCHGI1.
    DATA: MAILPACK LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER LINE.
    DATA: MAILHEAD LIKE SOLISTI1 OCCURS 1 WITH HEADER LINE.
    DATA: MAILBIN LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
    DATA: MAILTXT LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
    DATA: MAILREC LIKE SOMLREC90 OCCURS 0 WITH HEADER LINE.
    DATA: SOLISTI1 LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE.
    start-of-selection.
      perform create_pdf.
      perform send.
    *  perform  get_otf_code. " piroz
    *&      Form  send
    form send.
      try.
    *     -------- create persistent send request ------------------------
          send_request = cl_bcs=>create_persistent( ).
    *     -------- create and set document -------------------------------
          pdf_content = cl_bcs_convert=>xstring_to_solix( pdf_xstring ).
          document = cl_document_bcs=>create_document(
                i_type    = 'PDF'
                i_hex     = pdf_content
                i_length  = pdf_size
                i_subject = 'Accounting statement' ).  "#EC NOTEXT
    *     add document object to send request
          send_request->set_document( document ).
    *     --------- add recipient (e-mail address) -----------------------
    *     create recipient object
          recipient = cl_cam_address_bcs=>create_internet_address( mailto ).
    *     add recipient object to send request
          send_request->add_recipient( recipient ).
    *     ---------- send document ---------------------------------------
          sent_to_all = send_request->send( i_with_error_screen = 'X' ).
          commit work.
          if sent_to_all is initial.
            message i500(sbcoms) with mailto.
          else.
            message s022(so).
          endif.
    *   ------------ exception handling ----------------------------------
    *   replace this rudimentary exception handling with your own one !!!
        catch cx_bcs into bcs_exception.
          message i865(so) with bcs_exception->error_type.
      endtry.
    endform.                    "send
    *&      Form  create_pdf
    * Create PDF Content
    * 1) get attributes of spool request
    * 2) convert spool request to PDF dependent on document type
    form create_pdf.
      data rq       type tsp01.
      data bin_size type i.
      data dummy    type table of rspoattr.
    *   ------------ get attributes of spool request ---------------------
      call function 'RSPO_GET_ATTRIBUTES_SPOOLJOB'
        exporting
          rqident     = rqident
        importing
          rq          = rq
        tables
          attributes  = dummy
        exceptions
          no_such_job = 1
          others      = 2.
      if sy-subrc <> 0.
        message e126(po) with rqident.
      endif.
    * TYPE-POOLS szadr.
    *  DATA: l_addr1_complete TYPE szadr_addr1_complete,
    *        l_adsmtp_line    TYPE szadr_adsmtp_line,
    *        ld_intad type knb1-intad.
    ** default: print payment advice
    *  c_finaa-nacha = '1'.
    **  Read mail address of vendor from knb1.customer no is available in kna1 payment data     structure
    *  clear ld_intad.
    *  IF NOT i_knb1-kunnr IS INITIAL and
    *     not i_knb1-zbukrs is initial.
    *    SELECT SINGLE intad
    *      INTO ld_intad
    *      FROM knb1
    *      WHERE kunnr = i_knb1-kunnr
    *      AND bukrs = i_knb1-zbukrs.
    *          IF NOT ld_intad IS INITIAL.
    *          c_finaa-nacha = 'I'.
    *          c_finaa-intad = ld_intad.
    *          ENDIF.
    *  ENDIF.
    ** check that address number is available
    *  IF NOT i_kna1-zadnr IS INITIAL.
    **   read complete address of vendor/customer
    *      CALL FUNCTION 'ADDR_GET_COMPLETE'
    *         EXPORTING
    *              addrnumber     = i_kna1-zadnr
    *         IMPORTING
    *              addr1_complete = l_addr1_complete
    *         EXCEPTIONS
    *              OTHERS         = 4.
    *      IF sy-subrc EQ 0.
    *             READ TABLE l_addr1_complete-id_intad                               "Insert ECDK900445
    *             INTO l_adsmtp_line                                                  "Insert ECDK900445
    *             WITH KEY adsmtp-flgdefault = 'X'.                                   "Insert ECDK900445
    *           IF sy-subrc EQ 0
    *           AND NOT l_adsmtp_line-id_intad IS INITIAL.
    **     choose message type 'I'nternet and fill email address
    *           c_finaa-nacha = 'I'.
    *           c_finaa-intad = ld_intad.
    *          ENDIF.
    *    ENDIF.
    *  ENDIF.
    *ENDFUNCTION.
    *  select SINGLE adrnr from kna1 from adr6
    *  into table internal table where
    *  kna1-kunnr eq = it_kna1-kunnr.
    ** select email ids from adr6
    *  select addrnumber smtp_addr from adr6 INTO table it_adr6
    *   where addrnumber = v_adrnr.
    *   LOOP AT it_adr6 INTO wa_adr6.
    *     i_reclist-receiver = wa_adr6-smtp_addr.
    *     i_reclist-rec_type = 'U'.
    *     i_reclist-com_type = 'INT'.
    *     i_reclist-notif_del = 'X'.
    *     i_reclist-notif_ndel = 'X'.
    *     i_reclist-notif_read = 'X'.
    *     i_reclist-express = 'X'.
    *     APPEND i_reclist.
    *     CLEAR: i_reclist, wa_adr6-smtp_addr.
    *     ENDLOOP.
    *in function module 'SO_NEW_DOCUMENT_ATT_SEND_API1' field receivers  = i_reclist.
    *CALL FUNCTION 'ZCUSTOMER_MAIL_00002310' "
    *  EXPORTING
    *    i_bkorm =                    bkorm
    *    i_koart =                    bkorm-koart
    *    i_kna1 =                     kna1
    *    i_knb1 =                     knb1
    **    i_lfa1 =                     lfa1
    **    i_lfb1 =                     lfb1
    *  TABLES
    *    t_fimsg =                    fimsg
    *  CHANGING
    *    c_finaa =                    finaa
    *    c_itcpo =                    itcpo
    **   c_archive_index = SPACE     " toa_dara
    **   c_archive_params = SPACE    " arc_params .  "  ZCUSTOMER_MAIL_00002310
    *Function module to send mail to Recipients
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          DOCUMENT_DATA              = W_DOCUMENT_DATA
          PUT_IN_OUTBOX              = 'X'
          COMMIT_WORK                = 'X'
        IMPORTING
          SENT_TO_ALL                = G_SENT_TO_ALL
        TABLES
          PACKING_LIST               = I_PACKING_LIST
          CONTENTS_BIN               = I_ATTACHMENT
          CONTENTS_TXT               = I_BODY_MSG
          RECEIVERS                  = I_RECEIVERS
        EXCEPTIONS
          TOO_MANY_RECEIVERS         = 1
          DOCUMENT_NOT_SENT          = 2
          DOCUMENT_TYPE_NOT_EXIST    = 3
          OPERATION_NO_AUTHORIZATION = 4
          PARAMETER_ERROR            = 5
          X_ERROR                    = 6
          ENQUEUE_ERROR              = 7
          OTHERS                     = 8.
      IF SY-SUBRC = 0 .
        MESSAGE I303(ME) WITH 'Mail has been Successfully Sent.'.
      ELSE.
        WAIT UP TO 2 SECONDS.
        "This program starts the SAPconnect send process.
        SUBMIT RSCONN01 WITH MODE = 'INT'
        WITH OUTPUT = 'X'
        AND RETURN.
      ENDIF.
    *   --- convert spool request into PDF, dependent on document type ---
      if rq-rqdoctype = 'OTF' or rq-rqdoctype = 'SMART'.
        call function 'CONVERT_OTFSPOOLJOB_2_PDF'
          exporting
            src_spoolid              = rqident
            no_dialog                = 'X'
            pdf_destination          = 'X'
            no_background            = 'X'
          importing
            pdf_bytecount            = bin_size
            bin_file                 = pdf_xstring
          exceptions
            err_no_otf_spooljob      = 1
            err_no_spooljob          = 2
            err_no_permission        = 3
            err_conv_not_possible    = 4
            err_bad_dstdevice        = 5
            user_cancelled           = 6
            err_spoolerror           = 7
            err_temseerror           = 8
            err_btcjob_open_failed   = 9
            err_btcjob_submit_failed = 10
            err_btcjob_close_failed  = 11
            others                   = 12.
        if sy-subrc <> 0.
          message e712(po) with sy-subrc 'CONVERT_OTFSPOOLJOB_2_PDF'.
        endif.
      elseif rq-rqdoctype = 'LIST'.
        call function 'CONVERT_ABAPSPOOLJOB_2_PDF'
          exporting
            src_spoolid              = rqident
            no_dialog                = 'X'
            pdf_destination          = 'X'
            no_background            = 'X'
          importing
            pdf_bytecount            = bin_size
            bin_file                 = pdf_xstring
          exceptions
            err_no_abap_spooljob     = 1
            err_no_spooljob          = 2
            err_no_permission        = 3
            err_conv_not_possible    = 4
            err_bad_destdevice       = 5
            user_cancelled           = 6
            err_spoolerror           = 7
            err_temseerror           = 8
            err_btcjob_open_failed   = 9
            err_btcjob_submit_failed = 10
            err_btcjob_close_failed  = 11
            others                   = 12.
        if sy-subrc <> 0.
          message e712(po) with sy-subrc 'CONVERT_ABAPSPOOLJOB_2_PDF'.
        endif.
      else.
        message e789(po) with rq-rqdoctype.
      endif.
      pdf_size = bin_size.
    endform.                    "create_pdf
    *       FORM OUTPUT_OPENFI                                            *
    FORM OUTPUT_OPENFI.
      DATA: T_FIMSG LIKE FIMSG OCCURS 10 WITH HEADER LINE.
      CALL FUNCTION 'OPEN_FI_PERFORM_00002310_P'
           EXPORTING
                I_BKORM          = BKORM
                I_KOART          = C_KOART
                I_KNA1           = KNA1
                I_KNB1           = KNB1
    *            I_LFA1           = LFA1
    *            I_LFB1           = LFB1
           TABLES
                T_FIMSG          = T_FIMSG
           CHANGING
                C_FINAA          = ST_FINAA
                C_ITCPO          = ST_ITCPO.
    *            C_ARCHIVE_INDEX  = H_ARCHIVE_INDEX
    *            C_ARCHIVE_PARAMS = H_ARCHIVE_PARAMS.
      LOOP AT T_FIMSG.
        CALL FUNCTION 'FI_MESSAGE_COLLECT'
             EXPORTING
                  I_FIMSG       = T_FIMSG
                  I_XAPPN       = 'X'
             EXCEPTIONS
                  MSGID_MISSING = 1
                  MSGNO_MISSING = 2
                  MSGTY_MISSING = 3
                  OTHERS        = 4.
      ENDLOOP.
    ENDFORM.
    Form GET_OTF_CODE.
        DATA: BEGIN OF OTF OCCURS 0.
              INCLUDE STRUCTURE ITCOO .
        DATA: END OF OTF.
        DATA: ITCPO LIKE ITCPO.
        DATA: ITCPP LIKE ITCPP.
        CLEAR ITCPO.
        ITCPO-TDGETOTF = 'X'.
    *  Start writing OTF code
      CALL FUNCTION 'OPEN_FORM'
        EXPORTING
          FORM     = 'Z140_ACC_STAT_01'
          LANGUAGE = SY-LANGU
          OPTIONS  = ITCPO
          DIALOG   = ' '
        EXCEPTIONS
          OTHERS   = 1.
      CALL FUNCTION 'START_FORM'
        EXCEPTIONS
          ERROR_MESSAGE = 01
          OTHERS        = 02.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          WINDOW        = 'MAIN'
        EXCEPTIONS
          ERROR_MESSAGE = 01
          OTHERS        = 02.
    *  Close up Form and get OTF code
      CALL FUNCTION 'END_FORM'
        EXCEPTIONS
          ERROR_MESSAGE = 01
          OTHERS        = 02.
      MOVE-CORRESPONDING ITCPO TO ITCPP.
      CALL FUNCTION 'CLOSE_FORM'
        IMPORTING
          RESULT  = ITCPP
        TABLES
          OTFDATA = OTF
        EXCEPTIONS
          OTHERS  = 1.
    *  Move OTF code to structure SOLI form email
    CLEAR SOLISTI1.
      REFRESH SOLISTI1.
      LOOP AT OTF.
        SOLISTI1-LINE = OTF.
        APPEND SOLISTI1.
      ENDLOOP.
    ENDFORM.                    "GET_OTF_CODE
    SAP recommends to use BTE 2013  and added the coding for email.
    CREATED:      ZCUSTOMER_MAIL_00002310
    TABLES: KNA1,                          "Kunden A-Segment
            KNB1,                          "Kunden B-Segment
            LFA1,                          "Lieferanten A-Segment
            LFB1,                          "Lieferanten B-Segment
            BKORM, "Korrespondenzanforderungen
            FINAA.                         "Daten zum Sendemedium
    DATA: SAVE_KOART LIKE BKORM-KOART,     "Hilfsfeld Kontoart
          SAVE_LAND1 LIKE KNA1-LAND1,      "Hilfsfeld Faxanschluß
          SAVE_TELFX LIKE KNA1-TELFX,      "Hilfsfeld Faxanschluß
          SAVE_ZSABE LIKE KNB1-ZSABE,      "Hilfsfeld Faxanschluß
    SAVE_INTAD LIKE KNB1-INTAD.      "Hilfsfeld Internet
    KNA1       = I_KNA1.
    LFA1       = I_LFA1.
    KNB1       = I_KNB1.
    LFB1       = I_LFB1.
    BKORM      = I_BKORM.
    SAVE_KOART = I_KOART.
    CLEAR: SAVE_LAND1,
           SAVE_TELFX,
           SAVE_ZSABE.
    IF SAVE_KOART = 'D'.
    SAVE_LAND1 = KNA1-LAND1.
    SAVE_TELFX = KNB1-TLFXS.
    SAVE_ZSABE = KNB1-ZSABE.
    SAVE_INTAD = KNB1-INTAD.
    ELSE.
    SAVE_LAND1 = LFA1-LAND1.
    SAVE_TELFX = LFB1-TLFXS.
    SAVE_ZSABE = LFB1-ZSABE.
    SAVE_INTAD = LFB1-INTAD.
    ENDIF.
    IF SAVE_INTAD NE SPACE.
    FINAA-NACHA      = 'I'.                   "Ausgabe über Internet
    FINAA-INTAD      = SAVE_INTAD.
    FINAA-TEXTF      = 'PDF'.
    ELSEIF SAVE_TELFX NE SPACE.
    FINAA-NACHA      = '2'.                   "Ausgabe auf Fax
    FINAA-TDSCHEDULE = 'IMM'.
    FINAA-TDTELELAND = SAVE_LAND1.
    FINAA-TDTELENUM  = SAVE_TELFX.
    FINAA-TDFAXUSER  = SPACE.
    FINAA-NAMEP      = SAVE_ZSABE.
    FINAA-FORMC      = 'FI_FAX_COVER_A4'.
    FINAA-FORNR      = SPACE.
    ELSE.
    FINAA-NACHA = '1'. "Drucken
    ENDIF.
    * Daten zum Sendemedium merken für Aufrufer
    C_FINAA = FINAA.
    ENDFUNCTION.
    ______________________________________ OR _________________________________________
    To get the email id from the customer file.
      TYPE-POOLS szadr.
      DATA: l_addr1_complete TYPE szadr_addr1_complete,
            l_adsmtp_line    TYPE szadr_adsmtp_line,
            ld_smtp_addr type adr6-smtp_addr.
    * default: print payment advice
      c_finaa-nacha = '1'.
    *  Read mail address of customer from knb1-kunnr no is available 
      clear ld_smtp_addr
      IF NOT i_kna1-kunnr IS INITIAL and
                    not i_adr6-smtp_addr is initial.
        SELECT SINGLE smtp_addr
          INTO ld_smtp_addr
          FROM kna1
          where kna1-adrnr = adr6-addrnumber.
              IF NOT ld_smtp_addr IS INITIAL.
              c_finaa-nacha = 'I'.
              c_finaa-intad = ld_smtp_addr.
              ENDIF.
      ENDIF.
    *        IF sy-subrc = 0.
    **  choose message type 'I'nternet and fill email address
    *      c_finaa-nacha = 'I'.
    *    ENDIF.
    *  ENDIF.
    * check that address number is available
      IF NOT i_kna1-zadnr IS INITIAL.
    *   read complete address of vendor/customer
          CALL FUNCTION 'ADDR_GET_COMPLETE'
             EXPORTING
                  addrnumber     = i_kna1-zadnrada
             IMPORTING
                  addr1_complete = l_addr1_complete
             EXCEPTIONS
                  OTHERS         = 4.
          IF sy-subrc EQ 0.
    *     check that internet address is available
    *     READ TABLE l_addr1_complete-adsmtp_tab INTO l_adsmtp_line INDEX 1.   "Delete ECDK900445
                 READ TABLE l_addr1_complete-adsmtp_tab                                "Insert ECDK900445
                 INTO l_adsmtp_line "Insert ECDK900445
                 WITH KEY adsmtp-flgdefault = 'X'. "Insert ECDK900445
               IF sy-subrc EQ 0
               AND NOT l_adsmtp_line-adsmtp-smtp_addr IS INITIAL.
    *     choose message type 'I'nternet and fill email address
               c_finaa-nacha = 'I'.
               c_finaa-intad = ld_smtp_addr.
              ENDIF.
        ENDIF.
      ENDIF.
    ENDFUNCTION.
    ( No output is going to the customer email address for the below steps )
    1. Generate spool requst ..
    2. Close_FORM ...will get the spool request
    3. RSPO_RETURN_SPOOLJOB will convet spool to OTF data
    4. Convet OTF data into PDF and send to mail.
    Try all sorts of programming  testing with the coding but  no result in SOST ( to send email it is asking to enter the email id , when the email is enter going the customer which is not correct  as there are bunches of account with different email address )
    Regards
    Piroz
    Message was edited by: Piroz Eslam

  • Work bench request vs Customized request

    Hi,
    what is the difference between work bench request and customized request and also let me know types of requsts.
    Thanks,
    Sreedhar.V.

    Hi Sreedhar,
            Have a look at this
    http://help.sap.com/saphelp_erp2005/helpdata/en/4b/b155e40c3e11d3959a00a0c930dcc1/frameset.htm
    Transporting Customizing Settings
    All system setting changes are put in project-specific change requests. You can transport the system settings into other SAP Systems with the change requests. The change requests are managed in the Transport Organizer.
    There are two types of Customizing change requests:
    Customizing request
    Customizing requests contain changes to client-dependent tables.
    Workbench request
    Workbench requests contain changes to client-independent tables.
    You can monitor the change requests by project in the project management. The Transport requests tab contains the following functions for the current client:
    Activate CTS functionality
    As prerequisite for creating change requests. When the CTS functionality is active, the pushbutton label changes to Display CTS project data. When the CTS project is finished, the pushbutton label changes to Reactivate CTS functionality.
    Assigned CTS requests
    Go to Transport Organizer request overview, where you can create requests for a project.
    CTS project object list
    The project object list is unchanged. When the customizing project is finished, the complete object list can be exported.
    CTS project status switch
    Sets the project status switch.
    End CTS project…
    End your customizing project. You can reactivate it later.
    See transport control by project for further information about the Change and Transport System (CTS) for customizing projects.
    http://help.sap.com/saphelp_erp2005/helpdata/en/09/88f330db9911d2b41a00609419f767/frameset.htm
    Reward if it helps
    Regards,
    Deepu.K

  • Custom purchase requsitionto vendor open and cleared payment report

    dear all i develop report but i cant ableto show in that open amount and cleared amount of vender in that report so please see this report and feedback me for logic to show open and clear amount of vendor purchase orderwise or vendorwise
    report zpo_purchase_history no standard page heading message-id 00.
    TABLES : bsik, bsak, lfa1, lfb1, skb1, t001, bapifvdexp_vzzbepp.
    type-pools:slis,ICON.
    types :begin of ty_po,
            banfn type eban-banfn,
            "Purchase Requisition Number
            bnfpo type eban-bnfpo,
            "Item Number of Purchase Requisition
            ekgrp type eban-ekgrp,                 "Purchasing Group
            badat type eban-badat,
            "Requisition (Request) Date
            menge type eban-menge,
            KNTTP TYPE EBAN-KNTTP,
             PSTYP type eban-PSTYP,
            "Purchase Requisition Quantity
            meins type eban-meins,
            "Purchase Requisition Unit of Measure
            lifnr type ekko-lifnr,                 "Vendor Account Number
            bedat type ekko-bedat,                 "Purchasing Document Date
            ebeln type ekpo-ebeln,
            "Purchasing Document Number
            ebelp type ekpo-ebelp,
            "Item Number of Purchasing Document
            matkl type ekpo-matkl,                 "Material Group
            mtart type ekpo-mtart,                 "Material Type
            matnr type ekpo-matnr,                 "Material Number
            txz01 type ekpo-txz01,                 "Short Text
            menge1 type ekpo-menge,                "Purchase Order Quantity
            meins1 type ekpo-meins,
            "Purchase Order Unit of Measure
            balqty type ekpo-menge,                "Balance Quantity
            netpr type ekpo-netpr,
            "Net Price in Purchasing Document
            peinh type ekpo-peinh,                 "Price Unit
            mblnr type mseg-mblnr,
            "Number of Material Document
            zeile type mseg-zeile,                 "Item in Material Document
            menge2 type mseg-menge,                "GR Quantity
            meins2 type mseg-meins,                "GR Unit of Measure
            werks type mseg-werks,                 "Plant
            charg type mseg-charg,                 "Batch
            belnr type rbkp-belnr,
            "Document Number of an Invoice Document
            bldat type ekbe-bldat,                 "Document Date in Document
            belnr_b type rbkp-belnr,
            SHKZG type ekbe-SHKZG ,                "Debit/Credit Indicator
            DMBTR type   bsik-dmbtr,                "Amount in Local Currency
            DMBTR_C type   bsAk-dmbtr,                "Amount in Local Currency
            thick(10) type c,                      "Thickness
            width(10) type c,                      "Width
            length(10) type c,                     "Length
            grade(10) type c,                        "Grade
            BELNR_d type bseg-belnr,
            xblnr type bkpf-xblnr,
            awkey  type bkpf-awkey,
            RMWWR type rbkp-RMWWR,
            WMWST1 type rbkp-WMWST1,
            end of ty_po.
    types :begin of ty_ekko,
            ebeln type ekko-ebeln,
            lifnr type ekko-lifnr,
            bedat type ekko-bedat,
            end of ty_ekko.
    types:begin of ty_ekpo,
            ebeln type ekpo-ebeln,
            ebelp type ekpo-ebelp,
            matnr type ekpo-matnr,
            txz01 type ekpo-txz01,
            menge type ekpo-menge,
            meins type ekpo-meins,
            netpr type ekpo-netpr,
            peinh type ekpo-peinh,
            banfn type ekpo-banfn,
            bnfpo type ekpo-bnfpo,
            mtart type ekpo-mtart,
            end of ty_ekpo.
    types :begin of ty_eban,
            banfn type eban-banfn,
            bnfpo type eban-bnfpo,
            matnr type eban-matnr,
            menge type eban-menge,
            meins type eban-meins,
            end of ty_eban.
    types : begin of ty_ekbe,
             ebeln type ekbe-ebeln,
             ebelp type ekbe-ebelp,
             belnr type ekbe-belnr,
             bldat type ekbe-bldat,
             gjahr type ekbe-gjahr,
             buzei type ekbe-buzei,
             matnr type ekbe-matnr,
             DMBTR type ekbe-dmbtr,
             shkzg type ekbe-shkzg,
             end of ty_ekbe.
    types : begin of ty_mseg,
             mblnr type mseg-mblnr,
             mjahr type mseg-mjahr,
             zeile type mseg-zeile,
             menge type mseg-menge,
             meins type mseg-meins,
             ebeln type mseg-ebeln,
             ebelp type mseg-ebelp,
             matnr type mseg-matnr,
             werks type mseg-werks,
             charg type mseg-charg,
             end of ty_mseg.
    types : begin of ty_rbkp,
             belnr type rbkp-belnr,
             gjahr type rbkp-gjahr,
             bldat type rbkp-bldat,
             lifnr type rbkp-lifnr,
             ZUONR type rbkp-ZUONR,
             RMWWR type rbkp-RMWWR,
             WMWST1 type rbkp-WMWST1,
             end of ty_rbkp.
    types : begin of ty_bseg,
             bukrs type bseg-bukrs,
             belnr type bseg-belnr,
             gjahr type bseg-gjahr,
             buzei type bseg-buzei,
             valut type bseg-valut,
             wrbtr type bseg-wrbtr ,
             augbl type bseg-augbl,
             matnr type bseg-matnr,
             lifnr type bseg-lifnr,
             ebeln type bseg-ebeln,
             end of ty_bseg.
    types : begin of ty_rseg,
             belnr type rseg-belnr,
             gjahr type rseg-gjahr,
             ebeln type rseg-ebeln,
             ebelp type rseg-ebelp,
             matnr type rseg-matnr,
             bukrs type rseg-bukrs,
             end of ty_rseg.
    types : begin of ty_bsik,
             belnr type bsik-belnr,
              buzei type bsik-buzei,
             DMBTR type bsik-DMBTR,
             budat type bsik-budat,
             shkzg type bsik-shkzg,
             ebeln type bsik-ebeln,
             lifnr type bsik-lifnr,
             end of ty_bsik.
    types : begin of ty_bsak,
             belnr type bsak-belnr,
       lifnr type bsak-lifnr,
        ebeln type bsak-ebeln,
             DMBTR_C type bsak-DMBTR,
    ZUONR type bsak-ZUONR,
             end of ty_bsak.
    types: begin of ty_bkpf,
             BELNR type bkpf-belnr,
             xblnr type bkpf-xblnr,
             awkey  type bkpf-awkey,
           end of ty_bkpf.
    data: it_po type standard table of ty_po,
           it_ekko type standard table of ty_ekko,
           it_ekpo type standard table of ty_ekpo,
           it_eban type standard table of ty_eban,
           it_ekbe type standard table of ty_ekbe,
           it_mseg type standard table of ty_mseg,
           it_rbkp type standard table of ty_rbkp,
           it_rseg type standard table of ty_rseg,
           it_bseg type standard table of ty_bseg,
           it_bsik type STANDARD TABLE OF ty_bsik with header line,
           it_bsak type STANDARD TABLE OF ty_bsak,
           it_bkpf type standard table of ty_bkpf,
           wa_po type ty_po,
           wa_ekko type ty_ekko,
           wa_ekpo type ty_ekpo,
           wa_eban type ty_eban,
           wa_mseg type ty_mseg,
           wa_rbkp type ty_rbkp,
           wa_rseg type ty_rseg,
           wa_bseg type ty_bseg,
           wa_ekbe type ty_ekbe,
           wa_bsik type ty_bsik,
           wa_bsak type ty_bsak,
           wa_bkpf type ty_bkpf.
    data: it_fcat type slis_t_fieldcat_alv,
           it_lshead type slis_t_listheader,
           it_sort type slis_t_sortinfo_alv,
           wa_fcat type slis_fieldcat_alv,
           wa_lshead type slis_listheader,
           wa_layout type slis_layout_alv,
           wa_sort type slis_sortinfo_alv.
    data :it_cl_data like table of clobjdat,
           wa_cl_data like clobjdat.
    data: values(10) type n.
    data: value1(4) type N.
    data: c_matkl type ekpo-matkl,
           c_matnr type ekpo-matnr,
           c_ekgrp type eban-ekgrp,
           c_badat type eban-badat,
           c_index type sy-tabix,
           c_grmenge type mseg-erfmg,
           c_low(10) type c,
           c_high(10) type c,
           c_date type string,
           c_bukrs type ekko-bukrs,
           c_WERKS type eban-WERKS.
    data: gd_date(10).
    DATA: V_EVENTS TYPE SLIS_T_EVENT,
           WA_EVENT TYPE SLIS_ALV_EVENT.
    *********Selection screen variables*********
    selection-screen:begin of block b1 with frame title text-001.
    select-options: s_bukrs for c_bukrs DEFAULT  'bmp1',
                     s_WERKS for c_WERKS,
                     s_matnr for c_matnr DEFAULT 'rm-01',
                     s_matkl for c_matkl ,
                     s_badat for c_badat ,"obligatory,
                     s_ekgrp for c_ekgrp.
    parameters: ch_bal as checkbox.
    selection-screen:end of block b1.
    *initialization.
    * PERFORM EVENT_CALL.
    *  PERFORM POPULATE_EVENT.
    start-of-selection.
         PERFORM EVENT_CALL.
       PERFORM POPULATE_EVENT.
       perform getdata.
       perform setdata.
       perform fieldcat.
       perform display.
    *&      Form  GETDATA
    form getdata .
       select a~BANFN
              a~bnfpo
              a~ekgrp
              a~badat
              a~KNTTP
              a~PSTYP
              b~ebeln
              b~ebelp
              b~matkl
              b~matnr
              b~bukrs
              into corresponding fields of table it_po
              from eban as a inner join ekpo as b
              on a~banfn = b~banfn and
                 a~bnfpo = b~bnfpo AND
                 A~KNTTP = B~KNTTP and
                 a~PSTYP = b~PSTYP
              where  a~badat in s_badat and
                     a~ekgrp in s_ekgrp and
                     a~WERKS in s_WERKS and
                     b~matnr in s_matnr and
                     b~matkl in s_matkl and
                     b~bukrs in s_bukrs and
                     b~loekz <> 'L' and
                     a~loekz <> 'X'.
       if it_po[] is not initial.
         select ebeln
                ebelp
                matnr
                txz01
                menge
                meins
                netpr
                peinh
                banfn
                bnfpo
                mtart
                from ekpo into table it_ekpo
                for all entries in it_po
                where ebeln = it_po-ebeln and
                      ebelp = it_po-ebelp and
                      loekz <> 'L'.
         select banfn
                bnfpo
                matnr
                menge
                meins
                from eban into table it_eban
                for all entries in it_po
                where banfn = it_po-banfn and
                      bnfpo = it_po-bnfpo and
                      loekz <> 'X'.
         if it_ekpo[] is not initial.
           select ebeln
                  lifnr
                  bedat
                  from ekko into table it_ekko
                  for all entries in it_ekpo
                  where ebeln = it_ekpo-ebeln.
           select ebeln
                  ebelp
                  belnr
                  bldat
                  gjahr
                  buzei
                  matnr
                  DMBTR
                  shkzg
                  from ekbe into table it_ekbe
                  for all entries in it_ekpo
                  where ebeln = it_ekpo-ebeln and
                        ebelp = it_ekpo-ebelp .
    *if it_ekbe-shkzg = 'H'.
    **ekbe-dmbtr = ekbe-dmbtr * -1.
    **ekbe-menge = ekbe-menge * -1.
    *endif.
    * select belnr
    *             gjahr
    *             ebeln
    *             ebelp
    *     from bseg into table it_bseg
    *             for all entries in it_ekpo
    *             where ebeln = it_ekpo-ebeln and
    *                   ebelp = it_ekpo-ebelp.
           select belnr
                  gjahr
                  ebeln
                  ebelp
                  matnr
                  bukrs
                  from rseg into table it_rseg
                  for all entries in it_ekpo
                  where ebeln = it_ekpo-ebeln and
                        ebelp = it_ekpo-ebelp.
         endif.
         if it_ekbe[] is not initial.
           select mblnr
                  mjahr
                  zeile
                  menge
                  meins
                  ebeln
                  ebelp
                  matnr
                  werks
                  charg
                  from mseg into table it_mseg
                  for all entries in it_ekbe
                  where mblnr = it_ekbe-belnr and
                        mjahr = it_ekbe-gjahr and
                        zeile = it_ekbe-buzei and
                        bwart = '101'.
         endif.
         if it_rseg[] is not initial.
           select belnr
                  gjahr
                  bldat
                  lifnr
                  ZUONR
                  RMWWR
                  WMWST1
                  from rbkp into table it_rbkp
                  for all entries in it_rseg
                  where belnr = it_rseg-belnr.
         endif.
    *if it_rseg[] is not initial.
    *      SELECT bukrs
    *              belnr
    *              gjahr
    *              buzei
    *              valut
    *              wrbtr
    *              augbl
    *              matnr
    *              lifnr
    *              ebeln
    *        INTO TABLE it_bseg
    *          FROM bseg
    *          FOR ALL ENTRIES IN it_rseg
    *          WHERE bukrs = it_rseg-bukrs and ebeln = it_rseg-ebeln and mwskz = ''.
    *endif.
    *loop at it_BKPF into wa_BKPF.
    *  values = wa_rbkp-belnr.
    *  value1 = wa_rbkp-gjahr.
       data: aekey_1 type string .
    *CONCATENATE values value1 into aekey_1.
    *  if it_BSEG[] is not initial.
    *MESSAGE aekey_1 type 'I'.
           SELECT single belnr xblnr awkey into wa_bkpf
             from bkpf
             where awkey = aekey_1.
    SELECT SINGLe belnr
    buzei
    dmbtr
    budat
       shkzg
       ebeln
       lifnr
       FROM bsik
    INTO CORRESPONDING FIELDS OF  wa_bsik
    *FOR ALL ENTRIES IN it_bseg
    WHERE
        bukrs in s_bukrs and
        lifnr = wa_rbkp-lifnr
    and
    *AND gjahr = it_bseg-gjahr
    * AND
        belnr = wa_bkpf-belnr.
    insert wa_bsik into table it_bsik.
    CLEAR wa_bsik.
    CLEAR it_bsik.
    *endloop.
    * and ebeln = it_bseg-ebeln .
    *    select BELNR
    **           SHKZG
    **           DMBTR
    *           from bkpf into table it_bkpf
    *            for ALL ENTRIES IN it_rbkp
    *            where belnr = it_rbkp-belnr.
    *        ENDif.
    IF IT_bseg[] IS NOT INITIAL.
           select belnr
             LIFNR
             ebeln
                  DMBTR
              ZUONR
                  from bsik into table it_bsik
                  for all entries in it_bseg
                  where belnr = it_bseg-belnr.
           select belnr
             LIFNR
             ebeln
                  DMBTR
              ZUONR
                  from bsak into table it_bsak
                  for all entries in it_bseg
                  where belnr = it_bseg-belnr.
    ENDIF.
       else.
         message s002.
         leave list-processing.
       endif.
    endform.                    " GETDATA
    *&      Form  SETDATA
    form setdata .
       clear wa_po.
       loop at it_po into wa_po.
         c_index = sy-tabix.
    ********Calculate PR Quantity**********
         clear wa_eban.
         read table it_eban into wa_eban
                    with key banfn = wa_po-banfn
                             bnfpo = wa_po-bnfpo.
         if sy-subrc eq 0.
           move:wa_eban-menge to wa_po-menge,
                wa_eban-meins to wa_po-meins.
         endif.
    ********Calculate PO Quantity**********
         clear wa_ekpo.
         read table it_ekpo into wa_ekpo
                    with key banfn = wa_po-banfn
                             bnfpo = wa_po-bnfpo .
         if sy-subrc eq 0.
           move:wa_ekpo-txz01 to wa_po-txz01,
                wa_ekpo-netpr to wa_po-netpr,
                wa_ekpo-peinh to wa_po-peinh,
                wa_ekpo-mtart to wa_po-mtart,
                wa_ekpo-menge to wa_po-menge1,
                wa_ekpo-meins to wa_po-meins1.
         endif.
    ********Calculate Balance Quantity******
         clear wa_mseg.
         loop at it_mseg into wa_mseg
                where ebeln = wa_po-ebeln and
                      ebelp = wa_po-ebelp.
           c_grmenge = c_grmenge + wa_mseg-menge.
         endloop.
         move:wa_mseg-mblnr to wa_po-mblnr,
              c_grmenge to wa_po-menge2,
              wa_mseg-meins to wa_po-meins2,
              wa_mseg-werks to wa_po-werks,
              wa_mseg-charg to wa_po-charg.
         wa_po-balqty = wa_eban-menge - c_grmenge.
         clear : wa_rseg,wa_rbkp.
         read table it_rseg into wa_rseg with key
                        ebeln = wa_mseg-ebeln
                        ebelp = wa_mseg-ebelp.
         read table it_rbkp into wa_rbkp
                    with key belnr = wa_rseg-belnr
                             gjahr = wa_rseg-gjahr.
         if sy-subrc eq 0.
           move : wa_rbkp-belnr to wa_po-belnr,
                  wa_rbkp-bldat to wa_po-bldat,
                  wa_rbkp-RMWWR to wa_po-RMWWR,
                  WA_RBKP-WMWST1 TO WA_PO-WMWST1.
         endif.
           read table it_bseg into wa_bseg with key
                         ebeln = wa_rseg-ebeln
                         bukrs = wa_rseg-bukrs.
           if sy-subrc eq 0.
             move wa_bseg-belnr to wa_po-belnr_d.
           endif.
    *    read table it_bkpf into wa_bkpf
    *    with key belnr = wa_ekbe-belnr.
    *    read table it_bseg into wa_bseg
    *    with key belnr = wa_bkpf-belnr.
    CLEAR wa_bsik.
    clear it_bsik.
         read table it_bsik into wa_bsik
         with key belnr = wa_bkpf-belnr.
    *    if wa_bsik-shkzg = 'H'.
    *     wa_bsik-DMBTR = wa_bsik-DMBTR * 1.
    *     endif.
           if sy-subrc eq 0.
             move : wa_bsik-belnr to wa_po-belnr,
                     wa_bsik-DMBTR to wa_po-DMBTR.
            endif.
    *    clear wa_bsik.
    *    read table it_bsik into wa_bsik
    *               with key  belnr = wa_bseg-belnr.
    *    if sy-subrc eq 0.
    *        move : wa_bsik-DMBTR to wa_po-DMBTR.
    *    endif.
    *clear wa_bsak.
    *    read table it_bsak into wa_bsak
    *               with key  belnr = wa_bseg-belnr.
    *    if sy-subrc eq 0.
    *        move : wa_bsak-DMBTR_C to wa_po-DMBTR_C.
    *    endif.
    *clear : wa_rbkp.
    *loop at it_bsik into wa_bsik.
    *read table it_bsik into wa_bsik with key belnr = wa_rbkp-belnr.
    *if sy-subrc eq 0.
    *  move : wa_bsik-DMBTR to wa_po-DMBTR.
    *    endif.
    *endloop.
    *********Assign Vendor,PO Date*********
         clear wa_ekko.
         read table it_ekko into wa_ekko
                    with key ebeln = wa_po-ebeln.
         if sy-subrc eq 0.
           move:wa_ekko-lifnr to wa_po-lifnr,
                wa_ekko-bedat to wa_po-bedat.
         endif.
    *clear wa_ekko.
    *read table it_ekko into wa_ekko
    *with key lifnr = wa_po-lifnr.
    *if sy-subrc eq 0.
    *  move: wa_bsik-DMBTR to wa_po-DMBTR.
    *  endif.
    *    call function 'ZSD_BATCH_CLASSIFICATION_DATA'
    *      exporting
    **        ch_charg                   = wa_po-charg
    *        ch_matnr                   = wa_po-matnr
    *        ch_werks                   = wa_po-werks
    *      tables
    *        cl_data                    = it_cl_data
    **       I_SEL_CHARACTERISTIC       =
         loop at it_cl_data into wa_cl_data.
           if wa_cl_data-ausp1 ne '?'.
             if wa_cl_data-atnam eq 'THICKNESS'.
               move wa_cl_data-ausp1 to wa_po-thick.
             elseif wa_cl_data-atnam eq 'LENGTH'.
               move wa_cl_data-ausp1 to wa_po-length.
             elseif wa_cl_data-atnam eq 'WIDTH'.
               move wa_cl_data-ausp1 to wa_po-width.
             elseif wa_cl_data-atnam eq 'GRADE'.
               move wa_cl_data-ausp1 to wa_po-grade.
             endif.
           endif.
         endloop.
         modify it_po from wa_po index c_index.
         clear :c_grmenge,wa_po,wa_ekpo,wa_mseg,c_index.
       endloop.
    endform.                    " SETDATA
    *&      Form  FIELDCAT
    *       text
    *  -->  p1        text
    *  <--  p2        text
    form fieldcat .
       perform buildfields using '1' 'BANFN'  'IT_PO' 'PR Number' '' ''.
    *  perform buildfields using '2' 'BNFPO'  'IT_PO' 'PR Item Number' '' ''.
       perform  buildfields using '2' 'KNTTP' 'IT_PO' 'A/c Assignment Cat' '' ''.
       perform  buildfields using '2' 'PSTYP' 'IT_PO' 'Item Cat' '' ''.
       perform buildfields using '3' 'EKGRP'  'IT_PO' 'Purchase Group' '' ''.
       perform buildfields using '4' 'BADAT'  'IT_PO' 'Request Date' '' ''.
       perform buildfields using '5' 'MENGE'  'IT_PO' 'PR Quantity'  'X' ''.
       perform buildfields using '6' 'MEINS'  'IT_PO' 'PR Unit' '' ''.
       perform buildfields using '7' 'LIFNR'  'IT_PO' 'Vendor Number' '' ''.
       perform buildfields using '8' 'EBELN'  'IT_PO' 'Purchasing Doc No' '' ''  .
       perform buildfields using '9' 'BEDAT'  'IT_PO' 'PO Date' '' ''.
       perform buildfields using '10' 'MTART' 'IT_PO' 'Material Type' '' ''.
       perform buildfields using '11' 'MATKL' 'IT_PO' 'Material Group' '' ''.
       perform buildfields using '12' 'MATNR' 'IT_PO' 'Material Number' '' ''.
       perform buildfields using '13' 'TXZ01' 'IT_PO' 'Material Desc' '' ''.
       perform buildfields using '18' 'MENGE1' 'IT_PO' 'PO Quantity' 'X' ''.
       perform buildfields using '19' 'MEINS' 'IT_PO' 'PO Unit' '' ''.
       perform buildfields using '20' 'NETPR' 'IT_PO' 'Net Price' '' ''.
       perform buildfields using '21' 'PEINH' 'IT_PO' 'Price Unit' '' ''.
       perform buildfields using '22' 'MBLNR' 'IT_PO' 'GR Number' '' ''.
       perform buildfields using '23' 'MENGE2' 'IT_PO' 'GR Quantity' 'X' ''.
       perform buildfields using '24' 'MEINS2' 'IT_PO' 'GR Unit' '' ''.
       perform buildfields using '25' 'BELNR' 'IT_PO' 'Invoice doc. number' '' ''.
       perform buildfields using '26' 'BLDAT' 'IT_PO' 'Invoice Date' '' ''.
    *  perform buildfields using '26' 'BELNR_D' 'IT_POP' 'A/C Doc. No.' '' ''.
    *  perform buildfields using '26' 'AUGBL' 'IT_PO' 'Clearing Doc No.' '' ''.
       perform buildfields using '26' 'DMBTR' 'IT_PO' 'OPEN AMOUNT' '' ''.
      perform buildfields using '26' 'DMBTR' 'IT_PO' 'clear AMOUNT' '' ''.
    *  perform buildfields using '26' 'DMBTR_C' 'IT_PO' 'Clear balance' '' ''.
       if ch_bal = 'X'.
         perform buildfields using '27' 'BALQTY' 'IT_PO' 'Balance Quantity'
         'X' ''.
       endif.
       perform buildfields using '26' 'WMWST1' 'IT_PO' 'TOTAL TAX ADDED' 'X' ''.
       perform buildfields using '26' 'RMWWR' 'IT_PO' 'TOTAL AMOUNT IN INVOICE' 'X' ''.
    endform.                    " FIELDCAT
    *&      Form  BUILDFIELDS
    *       text
    *      -->P_0449   text
    *      -->P_0450   text
    *      -->P_0451   text
    *      -->P_0452   text
    form buildfields  using    value(p_col_pos) like sy-cucol
                                value(p_fldname) type slis_fieldname
                                value(p_tabname) type slis_tabname
                                value(p_reptext) like dd03p-reptext
                                value(p_do_sum) type char1
                                value(hotspot) type char1.
       wa_fcat-col_pos = p_col_pos.
       wa_fcat-fieldname = p_fldname.
       wa_fcat-tabname = p_tabname.
       wa_fcat-reptext_ddic = p_reptext.
       wa_fcat-do_sum = p_do_sum.
       wa_fcat-hotspot = hotspot.
       append wa_fcat to it_fcat.
       clear wa_fcat.
    endform.                    " BUILDFIELDS
    *&      Form  DISPLAY
    form display .
       clear wa_layout.
       wa_layout-zebra = 'X'.
       wa_layout-colwidth_optimize = 'X'.
    * wa_layout-box_fieldname     = 'SEL'.
    * wa_layout-edit = 'X'.
       perform build_sort using 'BANFN' '1' 'X'.
       call function 'REUSE_ALV_GRID_DISPLAY'
        exporting
    *   I_INTERFACE_CHECK                 = ' '
    *   I_BYPASSING_BUFFER                = ' '
    *   I_BUFFER_ACTIVE                   = ' '
          i_callback_program               = sy-cprog
    *   I_CALLBACK_PF_STATUS_SET          = ' '
        I_CALLBACK_USER_COMMAND           = 'USER_COMMAND '
          i_callback_top_of_page           = 'TOP_OF_PAGE'
    *   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
    *   I_CALLBACK_HTML_END_OF_LIST       = ' '
    *   I_STRUCTURE_NAME                  =
        i_background_id                   = 'ALV_BACKGROUND'
    *   I_GRID_TITLE                      =
    *   I_GRID_SETTINGS                   =
          is_layout                        = wa_layout
          it_fieldcat                      = it_fcat
    *   IT_EXCLUDING                      =
    *   IT_SPECIAL_GROUPS                 =
         it_sort                           = it_sort
    *   IT_FILTER                         =
    *   IS_SEL_HIDE                       =
    *   I_DEFAULT                         = 'X'
        I_SAVE                            = 'A'
    *   IS_VARIANT                        =
    *   IT_EVENTS                         =
    *   IT_EVENT_EXIT                     =
    *   IS_PRINT                          =
    *   IS_REPREP_ID                      =
    *   I_SCREEN_START_COLUMN             = 0
    *   I_SCREEN_START_LINE               = 0
    *   I_SCREEN_END_COLUMN               = 0
    *   I_SCREEN_END_LINE                 = 0
    *   I_HTML_HEIGHT_TOP                 = 0
    *   I_HTML_HEIGHT_END                 = 0
    *   IT_ALV_GRAPHICS                   =
    *   IT_HYPERLINK                      =
    *   IT_ADD_FIELDCAT                   =
    *   IT_EXCEPT_QINFO                   =
    *   IR_SALV_FULLSCREEN_ADAPTER        =
    * IMPORTING
    *   E_EXIT_CAUSED_BY_CALLER           =
    *   ES_EXIT_CAUSED_BY_USER            =
         tables
           t_outtab                          = it_po[]
      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.                    " DISPLAY
    *&      Form  top_of_page
    *       text
    form top_of_page.                                           "#EC *
    **********Create report header*********
       refresh it_lshead.
       clear wa_lshead.
    **********To display date in header*********
    *  write: s_badat-low to c_low dd/mm/yyyy,s_badat-high to c_high
    *  dd/mm/yyyy.
    *  if s_badat-high is initial.
    *    concatenate 'Dated on' c_low into c_date separated by space.
    *  else.
    *    concatenate 'Dated between' c_low 'and' c_high into c_date separated
    *    by space.
    *  endif.
       wa_lshead-typ = 'H'.
       wa_lshead-info = 'PR To Payment History'.
    *  'Pending Indents History -

    We had a requirement to retrieve "aging of receiveables" by customer. Basically, it goes thru each record and depending on the due date places the amounts in the following buckets (example). 0-30 day Overdue, 31-60 days Overdue, 61-90 days overdue, 30+ days overdue, 60+ days overdue) etc all the way to 6+ years overdue.
    There are also cooresponding buckets for coming due analysis. For example, what is: 0-30 days coming due, 31-60 days coming due, 30+ days coming due, etc...
    To do this, first I needed to be able be able to produce an open items statement at any given time in the past. Now, this seems impossible because of how the items go from open to cleared all the time. And an item that was open one month ago, may not be open anymore.
    What I did was first remove any selections on item status. Then compare the posting date with teh key date in the past, if the posting date is less than or equal to the key date, keep the record.
    Then compare the clearing date with the key date. First, keep all that are #. (This keeps all records still open from that posting date/key date)
    Then, add another check for all items that were cleared after the key date (GT Key Date). This gives you the open items on that date.
    Hope that makes sense. Let me know if you want clarification.
    /smw

  • Error in creation of custom PD infotype

    Hi,
    I have a task of creating a custom PD infotype(p9xxx). I created HRI9xxx structure with all the custom fields and when I try to create the infotype using tcode PPCI(selected 'field infotype' option and create button in the 'infotype' block was pressed), it gives an error message that p9xxx-begda is not in ABAP dictionary and then it gives me list of screens, module pools and tables created. This custom infotype entry does not exist in T777I. I have tried regenerating it and same problem persists. If anyone knows the solution, please do let me know.
    Thanks in advance

    Solved.

  • Implementing BADI MD_ADD_COL_EZPS for MD04 custom column

    Hi there,
    I'm using BADI MD_ADD_COL_EZPS to display 3 new buttons and three new columns in MD04.
    For each line item that is displayed, the custom column is filled, after the button is hit -This works fine.
    My Question is:
    Is there any way to limit the value that is filled into the new column so that it only appears on the FIRST line item/row?
    (At the moment it is repeated all the way down the page - the new value is a material characteristic, so doesn't change, will always be the same for each line)
    I've looked at all the available structures/tables in the FILL_ADD_COLUMNS method of the BADI, and none seem suitable
    to determine the "first" row. (ie. something like the way SY-TABIX or SY-INDEX might be used)
    Any help appreciated.
    Thanks,
    David.

    Hi Shubhendu,
    in the method 'ACTIVATE_ADD_COLUMNS', you can set the flag EZ1_MODE to '1' to make the first column visible always. (it's been a while, but I think setting it to '2' makes it visible when the button is pressed.)
    Same applies to EZ2_MODE for second column, EZ3_MODE for third.
    look at the flags/parameters in this method, and also in FILL_ADD_COLUMNS, to fill the data.
    here you need to fill structure EMDEZX_USEX1 (for column 1) etc.
    The code is hit for each record displayed in MD04
    Hopefully this helps you.
    Regards,
    David

  • Custom message required on log on pop-up in SAP CRM WEB UI

    We required custom message to the log- on popup, right now the message is coming after we give the user ID and password "starting SAP CRM" instead of that
    user required welcome message.., how can achieve this ?
    Please reply as soon as possible.

    Hi Pankaj,
    did you already check the guide in the CRM Wiki:
    https://wiki.sdn.sap.com/wiki/display/CRM/WelcomeUserMessageinWeb+UI
    Hope this answers your question.
    Best Regards,
    Michael

  • Custom error message in SAP application log

    Is there a way to add a custom error message to the SAP application log without passing the message variables MSGV1, MSGV2, MSGV3, MSGV4 and the Message class and number. 
    We want to pass a custom message from the BAPIRET2-MESSAGE without giving it a Message class and number.  The reason for this is that  we are using class based exceptions instead of the traditional message class with errors.  When we catch the class based exception, we take the error text of the exception and put in in the BAPIRET2-message and set the BAPIRET2-TYPE as 'E'.  Now we want to add this to the SAP application log.
    The call to 'BAL_LOG_MSG_ADD' takes a structure BAL_S_MSG which is just like BAPIRET2.  However this function builds the entry to the application log use the message variables MSGV1, MSGV2, MSGV3, MSGV4.  There is no provision to pass in the BAPIRET2 message.
    Add message to application log
      CALL FUNCTION 'BAL_LOG_MSG_ADD'
        EXPORTING
         i_log_handle              = app_log_handle
         i_s_msg                   = log_message
    Thanks,
    Jay

    Hi Jay,
    Did you see <b>BAL_LOG_EXCEPTION_ADD</b>?
    This FM is represented by the structure <b>BAL_S_EXC</b>. This can have various versions as described below:
    <b>Data of BAL_S_EXC Structure  /     Use</b>
    <b>EXCEPTION</b>  /                              Exception class from which an exception text 
                                                       is added to the log. This field must be filled.
    <b>MSGTY</b>  /                                     Message type (MSGTY) of a T100 message.
                                                       This field must also be filled for exceptions.
    <b>PROBCLASS,
    DETLEVEL,
    ALSORT, TIME_STMP</b>  /                Message or exception attributes, such as
                                                        problem class (PROBCLASS, for
                                                        example, "very important"), level of detail
                                                        (DETLEVEL, from 1 to 9), sort criterion
                                                        (ALSORT, unrestricted) and timestamp
                                                        (TIME_STMP). These fields can be displayed
                                                        in the log (except TIME_STMP).
    <b>MSG_COUNT</b>   /                            This attribute is not used for exceptions.
    Follow the link below for more details:
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/d6/5d7f38f52f923ae10000009b38f8cf/frameset.htm">SAP Help DOc</a>
    Hope this helps.
    Thanks
    Sanjeev

  • If statement in Custom Calculation Script

    I have 16 fields and if even one of them ="1" I have to list it in another field.  I do not want to count or sum.  If one of those fields has a 1 in it I just want the other field to display Y and if none have a 1 I want that field to display N.
    Please help.
    Thank you in advance~mjc

    You need to write a compound logical statement to evaluate all of the values and that statement needs to evaluate to true or false.
    Do you know how to write JavaScript?
    Do you know how to enter JavaScript calculations into a form field?
    For custom calculation of the text field I could write something like:
    // define an array of the field names to check
    var aNames = new Array("Text1", "Text2", "Text3", "Text4",
    "Text5", "Text6", "Text7", "Text8",
    "Text9", "Text10", "Text11", "Text12",
    "Text13", "Text14", "Text15", "Text16");
    // define a logical variable that is true if any field has a value of 1 - default is false or no field has a value of 1
    var bMatch = false;
    // value for text field
    var TextValue = 0;
    // logical value of field being equal to 1 test
    var FieldIs1 = false;
    // loop through all the fields and test the fields value
    for(i = 0; i < aNames.length; i++) {
    // logically OR the result of field i value equal to true with bMatch
    // get the value of field
    TextValue = this.getField( aNames[i] ).value;
    // test the value of the field
    FieldIs1 = Number(TextValue) == 1
    // logically OR the 2 values
    bMatch = FieldIs1 | bMatch;
    } // end field processing
    // set the field value
    if(bMatch == true) {
    event.value = "Y";
    } else {
    event.value = "N";
    You will need to change the field names to match your fields. You can add more field name or remove field names as needed and the script will adjust for the number of field names.

  • Error message is not getting displayed in customized subscreen

    Hi Experts,
    I have created customized sub screen for transaction BP. There are two fields namely CPS applicable and PPS applicable.
    I am validating both fields against value if user enters same value as Y and Y . Then Error message should display
    saying that 'It should not be same and please change the entry'. Its working fine when press enter on the sub screen.
    But its not working where  if users try to save the entries without entering enter button.
    Please help me anyone regarding this issue.
    Thanks
    Ramesh Manoharan

    Hi ,
    you can do validations at Save Using BADI or Events ( please ref DEZ_'s Posting), in my case im using BADI to do validation , reason is...user was able to save witout going to the custom tab , thats y im using BADI and Screen(Custom) Validations.
    regards
    Prabhu

  • Worst Customer support

    Worst customer expense ever, three think pad’s and this v570 latter and all they say is try again. After this im done with their products
    This is my experience over what has become a 2 month long episode and a very bitter ending for me.
    I recently bought a laptop for school, I chose Lenovo because iv only have ever used a thinkpad and was very happy with them.
    I bought a v570 , the model I got was a great price but only has a 2200mha 6 cell battery (half the normal amount) so battery life is only 3 hours. Which is not a big deal because I can buy another battery and this is where my story begins .
    I call Lenovo (feel better when I support someone though commission) and asked about available battery’s, and wow my luck a 8 cell battery is available for my laptop! So I order it and was told it would take 9 business days for me to receive it, which is perfect because I can return my laptop with in 15 days.
    Latter that week I look at the battery I got
    http://shop.lenovo.com/SEUILibrary/controller/e/webca/LenovoPortal/en_CA/catalog.workflow:item.detai...
    and notice that it has crazy dimensions that will not fit my laptop.
    So I call in explaining this, and was told that I was wrong and that is will certainly fit my laptop ( which is okay because it is their job and I believe than are far more knowledgeable than me)
    So two weeks latter over 20 days latter I have no battery and no call or e-mail saying why I haven’t got it.
    I call in with my order number and am told that there are “Manufacturing problems” and the battery is in very tight supply, and they would put me to top of the list.
    I am mad at this point because I can no longer return the laptop and need this battery for work, but there is nothing I can do or any one els its life so I say thank you very much and goodbye
    And I call back 1 week later to check the status of my order, wow great news they have one and will ship if out in 7 business days, and I will get it with in a week or two.
    So it’s a month and half and I finally get my battery!
    HURRAY I can finally use my nice laptop for my work that I bought it for!!!!!!!!!!
    I open up my battery and sure enough it is not even a close fit for my laptop it’s a completely different shape…..
    So I call them, and explain to them how I was ASSURED the battery would fit and it dose not. They send me a return ups page so I can drop it off and get my money back, after wasting over a month and a half of my time and 900$ on a laptop.
    And all they say is I will get a refund with in 5 days of receiving it and and have to purchase the proper battery.
    Worst customer expense ever, three think pad’s and this v570 latter and all they say is try again. The worst part of this was that when their was a delay they did not care to call me or send me an e-mail with a simple update. After this im done with their products.

    hey jul644,
    sorry to hear about what had happened. could you pm to me the following details as i would like to check what had happened.
    Name:
    Country:
    Mobile:
    Email:
    MTM [machine type model]:
    ( To locate MTM - http://support.lenovo.com/en_US/FindProductNumber.page#find )
    Serial Number (S/N):
    Date of Purchase:
    Case/Order Number : (if any)
    Screenshot of Error(if applicable) : (upload it to a hosting site and paste the link here)
    Location of unit : Home / Repair Center (delete where appropriate)
    Description of issue :
    Troubleshooting Taken : (if any)
    WW Social Media
    Important Note: If you need help, post your question in the forum, and include your system type, model number and OS. Do not post your serial number.
    Did someone help you today? Press the star on the left to thank them with a Kudo!
    If you find a post helpful and it answers your question, please mark it as an "Accepted Solution"!
    Follow @LenovoForums on Twitter!
    Have you checked out the Community Knowledgebase yet?!
    How to send a private message? --> Check out this article.

  • How do I use a custom UserInfo with a T3Client?

    This is related to my previous post, 4655. The problem is I if
    use a custom implementation of the interface
    weblogic.security.acl.UserInfo in a T3Client constructor, the
    client fails to connect. If I use
    weblogic.security.acl.DefaultUserInfoImpl, the client connects
    and disconnects without any problems. How do I use a custom
    UserInfo implementation with a T3Client?

    In don't know about the Gmail part, but for the Hotmail, try this link.
    Here's another link from a different source.

  • How do I add URI web link with custom tooltip like "CLICK HERE TO UPDATE" instead of URI web link in tooltip.

    How do I add URI web link with custom tooltip like "CLICK HERE TO UPDATE" instead of URI web link in tooltip.

    You've probably found an answer to this by now, but I think this has been addressed in another forum -- The link below suggested using a button and adding the tooltip to the button. 
    https://forums.adobe.com/thread/304974?start=0&tstart=0
    Sounds like it would work but I haven't actually tried it. 
    Good luck~!

Maybe you are looking for

  • Doly Audio driver cannot start after upgrading to Windows 8.1

    Upgrade to Windows 8.1 went flawlessly, but when I restart I get this message: I can't find any reference to Dolby Theater or Audio in any app or Device management. I can't find any drivers for Windows 8 64 bit  on the Lenovo site either. Can anyone

  • Process different structure in receiver file adapter

    Hi, all XI&PI masters We have a trouble of processing a file in receiver file adapter, converting to tab deliminated file. Scenario: Proxy to File We've configured PI to process following data and we've got flat file successfully. <ns1:MT_test_s xmln

  • BI Content Activation & Installation

    Hi Experts,                  Could you please ellaborate all steps(R/3 Side & BW Side) involved in Business Content Activation(interms of  D,M,A Version) and Installation.Thank you. Vasanth.D

  • Is Contact Sheet II available ?

    Can I get a download for Contact Sheet II for CS4?

  • Reg: Variants Deletion

    Hi Every one, Iam using one function module to delete the variatns 'RS_VARIANT_DELETE', with this function module i can delete only specified variant only, But i want to delete all the variants at a time with out specifying. any function module is th