FM for changing vendor Tax information

Hello,
is there any FM for changing vendor Tax information?
Thanks,
Moshe

read data with VENDOR_READ and update desired date with VENDOR_UPDATE

Similar Messages

  • Required BAPI for changing vendor prices

    Hi experts,
    Can any one  change vendor prices using bapi inthe Transaction of MEK1, If yes please give the bapi name.
    My requirement is to change the vendor price from an a legacy file, am going to use BAPI for that.
    Anyone help this out.
    Thnx and Regards,
    Mohana
    Edited by: Mohana Vijayan on Mar 6, 2009 7:03 AM

    Hai Experts,
    I searched lot, i found BAPI_PRICES_CONDITIONS, Is this Bapi is correct one. Any of our experts used this before?
    Please anyone suggest this.
    Mohana

  • FM or BAPI for changing parked documents information of transaction FB02

    Hi Guys!
    Currently I'm working an upload report that will change the field XREF3 of FB02 (parked). I'm using BDC for the change but unfortunately, some invoice no. did not work out to my expectation because of a POP window (information). I'm just wondering if you guys have an idea how to deal with this kind of scenario. Using FM or BAPI can do it. Do you guys know any BAPI or FM for FB02 (parked doc) that will change the details XREF3. Thanks a lot. Hoping for your help!
    Regards,
    Mark

    Hi,
    Hi this might change from one client to another.. so better check if it suit to ur screens.
    [call transaction fb02;
    Regards,
    Surinder

  • GOA distribution to R3 - Tax Code for ERS vendors

    Hi all,
    Having an issue with GOA distribution to R3 for evaluated receipt settlement vendors. For ERS vendors, tax code is a required field. There is not a tax code field in the GOA and this is not being passed in any iDoc segment I can find. My current tax configuration is calculate tax in backend, i have maintained tax codes I0.U1, I1 with U1 set as default. As shopping carts are transferred from R3 they are assigned U1 as expected and PO's generated in the BE from these external requirements are getting the U1 as expected. The problem is with contracts and scheduling agreements. Everything is fine unless the vendor has the ERS indicator set. Tax code becomes a required field.
    Has anyone else experienced this? I've' researched SDN and everything talks about shopping carts and PO's, which is working for us.  I cant find any info on the contract distribution. I've investigated the BADI's associated with tax calculation in SRM but I'm not sure these meet the requirement for ERS vendors.
    Am I missing configuration? Is one of the tax badi's the way to go? Any information is appreciated.
    SRM SERVER 550
    R3 46c
    Classic - Plan-Driven Procurement
    Thanks,
    Justin

    Hi
    <b><u>Please refer to few OSS notes.</u></b>
    <u>Note 1033458 - Item level Tolerance values in GOA not transferred to R/3</u>
    <u>1012486 Important Information on upgrading ERP-Systems in HA-Setups
    1014820 Indicators reset in Active versions when line item added
    1029026 Prob in conf. create-Diff in ERS flag for SRM and R/3 vendor
    849567 Output Control for ERS Invoice in Program BBPERS
    703876 Release note SRM Server 5.0 SP00
    762984 SRM40-SUS: Implementation of customer enhancement fields
    1010791 Flag Confirmation based Invoice Verification set erroneous
    1018855 Vendor flag POR expected is not replicated from backend
    Note 967107 - New logic for grouping backend contracts out of a GOA
    909516 SRM40/CTR:New line itm distribution flag cannot be unchecked
    1025863 Wrong Currency code during GOA replication to R/3
    1009872 Contracts : GOA Distribution value divided by 100 
    908058 CheckMan errors - Attachment Original transfer for Contracts
    940632 Distribution incorrect-When invalid Purchasing Org entered
    942008 SRM Distribution of GOA to R/3 System: Scales missing
    945029 Distribution of Target Quantity to QW8 failed
    880097 Attachment Original transfer for Contracts
    989367 Performance improvement for new GOA distribution logic
    916562 CM/CND: Dump in distribution of GOA with deleted line items
    922172 Contract attachment distribution enhancements
    925014 More than one attachment not getting distributed to backend
    923627 Attachement transfer to backend with possible file formats
    923227 Attachments transfer not working in Background 
    937221 CTR: Impossible to modify distribution in Initial Upload GOA
    967107 New logic for grouping backend contracts out of a GOA
    </u>
    <i>Incase this OSS notes, don't work, then</i>
    <u>Please try do this as well. Uncheck the ERS indicator, but then also pass tax codes from from GOA.
    Then try out again.</u>
    <u>For BADIs and other useful information, refer to these forum links</u><b>GOA Distribution SRM 5.0-ECC 6.0 - Account Category & Multiple Distribution
    Distribution of GOA in R/3
    Source determination in backend (R/3) for distributed contract i.e. GOA
    FM or BADI s' used to create a GOA
    Transaction For Creating GOA
    <b>Incase nothing helps, Please raise a OSS message with SAP as well.</b>
    Hope this will help.
    Please reward suitable points, incase it suits your requirements.
    Regards
    - Atul

  • Change Vendor records per Employee Master

    Using RPRAPA000 pgm we should be able to update following fields:
    Names
    Address
    Email address- User exit
    Tax No
    Bank Details
    Payment Method
    Search Term is updated with last name
    Company Code
    Fields from Reference vendor u2013 Non HR data
    Reconciliation Account: 213000
    Payment terms: ZA01
    Question: I get message "Missing master data on key selection date" and under Bank Det column, it says the data is "missing". on employee master.
    I checked info type 9 and yes it is missing.
    So are bank details mandatory for changing vendor master data?

    Check in transaction OB24 and OB23 for the activity Change Vendor (Accounting). Here in change mode the Bank details may be made mandatory for FI reasons. Check first and confirm with business before you change.

  • BAPI_CUSTOMERQUOTATION_CHANGE for changing VC info

    Hello ABAPers:
    I am using BAPI_CUSTOMERQUOTATION_CHANGE for changing Variant Configuration information on quotes. I am filling the table quotation_item_inx with quotation_item_inx-UPDATEFLAG = 'U'  quotation_item_inx-CONFIG_ID = 'X' and other VC tables QUOTATION_CFGS_REF, QUOTATION_CFGS_INST, and QUOTATION_CFGS_VALUE. It updates other header and item fields except the config info. Has anybody tried updating Variant Configuration info on quotes?
    Thanks for your time.

    Hello Andrew,
    Yes I am filling in quotation_item_in table with the following info.
      sd_item_it-itm_number = '000030'.
      sd_item_it-hg_lv_item = '000000'.
      sd_item_it-material=  '10435-5562'.
      sd_item_it-alt_to_itm = '000000'.
      sd_item_it-dlv_group  = '000'.
      sd_item_it-target_qty = '1'.
      sd_item_it-target_qu = 'EA'.
      sd_item_it-t_unit_iso = 'EA'.
      sd_item_it-po_itm_no  = '000030'.
      sd_item_it-PMNTTRMS = 'NT45'.
      sd_item_it-CONFIG_ID = '000001'.
    sd_item_it-inst_id = '00000001'.
      append sd_item_IT.
    quotation_item_inx is filled with
      sd_item_x_it-itm_number = '000030'.
      sd_item_x_it-updateflag = 'U'.
      sd_item_x_it-PMNTTRMS = 'X'.
      APPEND sd_item_x_it.
    QUOTATION_CFGS_REF is filled with
      q_cfgs_ref-posex = '000030'.
      q_cfgs_ref-config_id = '000001'.
      q_cfgs_ref-root_id = '00000001'.
      q_cfgs_ref-complete = 'T'.
      q_cfgs_ref-consistent = 'T'.
      append q_cfgs_ref.
    QUOTATION_CFGS_INST is filled with
      q_cfgs_inst-config_id = '000001'.
      q_cfgs_inst-inst_id   = '00000001'.
      q_cfgs_inst-obj_type = 'MARA'.
      q_cfgs_inst-class_type = '300'.
      q_cfgs_inst-OBJ_KEY = '10435-5562'.
      q_cfgs_inst-quantity = '1'.
      q_cfgs_inst-quantity_unit = 'EA'.
      q_cfgs_inst-complete = 'T'.
      q_cfgs_inst-consistent = 'T'.
      append q_cfgs_inst.
    QUOTATION_CFGS_VALUE is filled with
      q_cfgs_value-config_id = '000001'.
      q_cfgs_value-inst_id   = '00000001'.
      q_cfgs_value-charc   = 'ART_REFERENCE'.
      q_cfgs_value-charc_txt   = 'Art Reference'.
      q_cfgs_value-value   = 'B'.
      append q_cfgs_value.
    As you can see config_id id matching. I am filling in the quote number in salesdocument and the update_flag in quotation_header_inx is set to 'U'.
    In the above situation, I am able Payment terms on the item but not config info.

  • No authorization for changing Customer Centrally- Idoc in Error Status 51

    Hi Experts,
    We are implementing MDM for one of the client.
    The client  runs a  modification scenario in MDM for Customer Master.
    He modifies a customer record in MDM and this record is transfered from MDM to ECC via PI through Idocs.
    We are using standard Idocs for Customer Master which is DEBMDM
    There are 2 Idoc's generated in ECC by PI from DEBMDM as DEBMAS and ADRMAS.
    ADRMAS Idoc is succesfull in ECC and the corresponding record is modified.
    Now the issue is that the corresponding DEBMAS Idoc goes into Error 51.
    The Error details is as below:
                                                                                    No authorization for changing vendor Centrally                                                                               
    Message no. F2326                                                                               
    System Response                                                                               
    You cannot access the requested data.                                                                               
    Procedure for System Administration                                                                               
    If necessary, include an entry in the user's authorization profile for  
        the authorization object and parameters specified below.                                                                               
    Authorization object:                                                                               
    o   F_KNA1_APP                                                                               
    Parameters:                                                                               
    o   Activity: 02
        o   Application authorization : *
    We gave the respective authorization object to the RFC User ID used in PI RFC created to connect to ECC.
    Also we have given the user id  Tcode authorization like XD01/02/03.
    But this error still persists.
    Request to throw some light on this.
    Cheers
    Dhwani

    Check these threads
    [Re: IDOC STATUS - 51 " IDOC HAS TEST STATUS|IDOC STATUS - 51 " IDOC HAS TEST STATUS";
    [Error Inbound IDoc - Status 51|Error Inbound IDoc - Status 51;
    thanks
    G. Lakshmipathi

  • Change log table for Vendor Bidder information?

    Hi,
    In BBPMAININT transaction we have BIDDER DATA tab.
    If we change any Classification data in BIDDER DATA  tab for the Vendor in which table it updates the change log information?
    I checked in  BBP_SUPP_MONI table this table updates only when we change any Company data information for the vendor not Bidder tab.
    can any one help me?
    Thanks.

    Hi
    There is no standard report.
    But you can check in CDHDR & CDPOS tables for change log.
    Object Class= BUPA_BBP0020
    Tabname=BBPM_BUT_FRG0021
    Best regards
    Ramki

  • I Need Interactive Report for displaying vendor information. Based on the s

    Interactive Report for displaying vendor information. Based on the selection made by the corresponding Vendor Bank Details are listed such that the line selected in the basic list was visible along with the secondary list.

    hi
    Hi
    Use the Table LFA1 and LFB1 in the basic list
    and LFBK table details in the secondary list
    see the sample code related to customer Sales orders
    modify it with the Vendor tables
    REPORT ZTEJ_INTAB1 LINE-SIZE 103 LINE-COUNT 35(5) NO STANDARD PAGE
    HEADING.
    *TABLES DECLARATION
    TABLES : KNA1, VBAK, VBAP.
    *SELECT OPTIONS
    SELECT-OPTIONS: CUST_NO FOR KNA1-KUNNR.
    *INITIALIZATION
    INITIALIZATION.
    CUST_NO-LOW = '01'.
    CUST_NO-HIGH = '5000'.
    CUST_NO-SIGN = 'I'.
    CUST_NO-OPTION = 'BT'.
    APPEND CUST_NO.
    *SELECTION SCREEN VALIDATION
    AT SELECTION-SCREEN ON CUST_NO.
    LOOP AT SCREEN.
    IF CUST_NO-LOW < 1 OR CUST_NO-HIGH > 5000.
    MESSAGE E001(ZTJ1).
    ENDIF.
    ENDLOOP.
    *BASIC LIST SELECTION
    START-OF-SELECTION.
    SELECT KUNNR NAME1 ORT01 LAND1 INTO
    (KNA1-KUNNR, KNA1-NAME1,KNA1-ORT01,KNA1-LAND1)
    FROM KNA1
    WHERE KUNNR IN CUST_NO.
    WRITE:/1 SY-VLINE,
    KNA1-KUNNR UNDER 'CUSTOMER NO.' HOTSPOT ON,
    16 SY-VLINE,
    KNA1-NAME1 UNDER 'NAME',
    61 SY-VLINE,
    KNA1-ORT01 UNDER 'CITY',
    86 SY-VLINE,
    KNA1-LAND1 UNDER 'COUNTRY',
    103 SY-VLINE.
    HIDE: KNA1-KUNNR.
    ENDSELECT.
    ULINE.
    *SECONDARY LIST ACCESS
    AT user-command.
    IF SY-UCOMM = 'IONE'.
    PERFORM SALES_ORD.
    ENDIF.
    IF SY-UCOMM = 'ITWO'.
    PERFORM ITEM_DET.
    ENDIF.
    *TOP OF PAGE
    TOP-OF-PAGE.
    FORMAT COLOR 1.
    WRITE : 'CUSTOMER DETAILS'.
    FORMAT COLOR 1 OFF.
    ULINE.
    FORMAT COLOR 3.
    WRITE : 1 SY-VLINE,
    3 'CUSTOMER NO.',
    16 SY-VLINE,
    18 'NAME',
    61 SY-VLINE,
    63 'CITY',
    86 SY-VLINE,
    88 'COUNTRY',
    103 SY-VLINE.
    ULINE.
    FORMAT COLOR 3 OFF.
    *TOP OF PAGE FOR SECONDARY LISTS
    TOP-OF-PAGE DURING LINE-SELECTION.
    *TOP OF PAGE FOR 1ST SECONDARY LIST
    IF SY-UCOMM = 'IONE'.
    ULINE.
    FORMAT COLOR 1.
    WRITE : 'SALES ORDER DETAILS'.
    ULINE.
    FORMAT COLOR 1 OFF.
    FORMAT COLOR 3.
    WRITE : 1 SY-VLINE,
    3 'CUSTOMER NO.',
    16 SY-VLINE,
    18 'SALES ORDER NO.',
    40 SY-VLINE,
    42 'DATE',
    60 SY-VLINE,
    62 'CREATOR',
    85 SY-VLINE,
    87 'DOC DATE',
    103 SY-VLINE.
    ULINE.
    ENDIF.
    FORMAT COLOR 3 OFF.
    *TOP OF PAGE FOR 2ND SECONDARY LIST
    IF SY-UCOMM = 'ITWO'.
    ULINE.
    FORMAT COLOR 1.
    WRITE : 'ITEM DETAILS'.
    ULINE.
    FORMAT COLOR 1 OFF.
    FORMAT COLOR 3.
    WRITE : 1 SY-VLINE,
    3 'SALES ORDER NO.',
    40 SY-VLINE,
    42 'SALES ITEM NO.',
    60 SY-VLINE,
    62 'ORDER QUANTITY',
    103 SY-VLINE.
    ULINE.
    ENDIF.
    FORMAT COLOR 3 OFF.
    *END OF PAGE
    END-OF-PAGE.
    ULINE.
    WRITE :'USER :',SY-UNAME,/,'DATE :', SY-DATUM, 85 'END OF PAGE:',
    SY-PAGNO.
    SKIP.
    *& Form SALES_ORD
    *& FIRST SECONDARY LIST FORM
    FORM SALES_ORD .
    SELECT KUNNR VBELN ERDAT ERNAM AUDAT INTO
    (VBAK-KUNNR, VBAK-VBELN, VBAK-ERDAT, VBAK-ERNAM, VBAK-AUDAT)
    FROM VBAK
    WHERE KUNNR = KNA1-KUNNR.
    WRITE:/1 SY-VLINE,
    VBAK-KUNNR UNDER 'CUSTOMER NO.' HOTSPOT ON,
    16 SY-VLINE,
    VBAK-VBELN UNDER 'SALES ORDER NO.' HOTSPOT ON,
    40 SY-VLINE,
    VBAK-ERDAT UNDER 'DATE',
    60 SY-VLINE,
    VBAK-ERNAM UNDER 'CREATOR',
    85 SY-VLINE,
    VBAK-AUDAT UNDER 'DOC DATE',
    103 SY-VLINE.
    HIDE : VBAK-VBELN.
    ENDSELECT.
    ULINE.
    ENDFORM. " SALES_ORD
    *& Form ITEM_DET
    *& SECOND SECONDARY LIST FORM
    FORM ITEM_DET .
    SELECT VBELN POSNR KWMENG INTO
    (VBAP-VBELN, VBAP-POSNR, VBAP-KWMENG)
    FROM VBAP
    WHERE VBELN = VBAK-VBELN.
    WRITE : /1 SY-VLINE,
    VBAP-VBELN UNDER 'SALES ORDER NO.',
    40 SY-VLINE,
    VBAP-POSNR UNDER 'SALES ITEM NO.',
    60 SY-VLINE,
    VBAP-KWMENG UNDER 'ORDER QUANTITY',
    103 SY-VLINE.
    ENDSELECT.
    ULINE.
    ENDFORM. " ITEM_DET
    REPORT demo_list_at_pf.
    START-OF-SELECTION.
    WRITE 'Basic List, Press PF5, PF6, PF7, or PF8'.
    AT pf5.
    PERFORM out.
    AT pf6.
    PERFORM out.
    AT pf7.
    PERFORM out.
    AT pf8.
    PERFORM out.
    FORM out.
    WRITE: 'Secondary List by PF-Key Selection',
    / 'SY-LSIND =', sy-lsind,
    / 'SY-UCOMM =', sy-ucomm.
    ENDFORM.
    After executing the program, the system displays the basic list. The user can press the function keys F5 , F6 , F7 , and F8 to create secondary lists. If, for example, the 14th key the user presses is F6 , the output on the displayed secondary list looks as follows:
    Secondary List by PF-Key Selection
    SY-LSIND = 14
    SY-UCOMM = PF06
    Example for AT USER-COMMAND.
    REPORT demo_list_at_user_command NO STANDARD PAGE HEADING.
    START-OF-SELECTION.
    WRITE: 'Basic List',
    / 'SY-LSIND:', sy-lsind.
    TOP-OF-PAGE.
    WRITE 'Top-of-Page'.
    ULINE.
    TOP-OF-PAGE DURING LINE-SELECTION.
    CASE sy-pfkey.
    WHEN 'TEST'.
    WRITE 'Self-defined GUI for Function Codes'.
    ULINE.
    ENDCASE.
    AT LINE-SELECTION.
    SET PF-STATUS 'TEST' EXCLUDING 'PICK'.
    PERFORM out.
    sy-lsind = sy-lsind - 1.
    AT USER-COMMAND.
    CASE sy-ucomm.
    WHEN 'FC1'.
    PERFORM out.
    WRITE / 'Button FUN 1 was pressed'.
    WHEN 'FC2'.
    PERFORM out.
    WRITE / 'Button FUN 2 was pressed'.
    WHEN 'FC3'.
    PERFORM out.
    WRITE / 'Button FUN 3 was pressed'.
    WHEN 'FC4'.
    PERFORM out.
    WRITE / 'Button FUN 4 was pressed'.
    WHEN 'FC5'.
    PERFORM out.
    WRITE / 'Button FUN 5 was pressed'.
    ENDCASE.
    sy-lsind = sy-lsind - 1.
    FORM out.
    WRITE: 'Secondary List',
    / 'SY-LSIND:', sy-lsind,
    / 'SY-PFKEY:', sy-pfkey.
    ENDFORM.
    <b>Vendor performance report</b>
    See this sample code
    *"Table declarations...................................................
    TABLES:
    EKKO, " Purchasing Document Header
    CDHDR, " Change document header
    SSCRFIELDS. " Fields on selection screens
    *"Selection screen elements............................................
    SELECT-OPTIONS:
    S_EBELN FOR EKKO-EBELN, " Purchasing Document Number
    S_LIFNR FOR EKKO-LIFNR, " Vendor's account number
    S_EKGRP FOR EKKO-EKGRP, " Purchasing group
    S_BEDAT FOR EKKO-BEDAT, " Purchasing Document Date
    S_UDATE FOR CDHDR-UDATE. " Creation date of the change
    " document
    *" Data declarations...................................................
    Field String to hold Purchase Document Number *
    DATA:
    BEGIN OF FS_EBELN,
    EBELN(90) TYPE C, " Purchase Document Number
    ERNAM TYPE EKKO-ERNAM, " Name of Person who Created
    " the Object
    LIFNR TYPE EKKO-LIFNR, " Vendor's account number
    EKGRP TYPE EKKO-EKGRP, " Purchasing group
    BEDAT TYPE EKKO-BEDAT, " Purchasing Document Date
    END OF FS_EBELN,
    Field String to hold Purchase Document Header *
    BEGIN OF FS_EKKO,
    EBELN TYPE EKKO-EBELN, " Purchasing Document Number
    ERNAM TYPE EKKO-ERNAM, " Name of Person who Created the
    " Object
    LIFNR TYPE EKKO-LIFNR, " Vendor's account number
    EKGRP TYPE EKKO-EKGRP, " Purchasing group
    BEDAT TYPE EKKO-BEDAT, " Purchasing Document Date
    END OF FS_EKKO,
    Field String to hold Account Number and name of the Vendor *
    BEGIN OF FS_LFA1,
    LIFNR TYPE LFA1-LIFNR, " Account Number of Vendor
    NAME1 TYPE LFA1-NAME1, " Name1
    END OF FS_LFA1,
    Field String to hold Change date and the name of the user *
    BEGIN OF FS_CDHDR,
    OBJECTCLAS TYPE CDHDR-OBJECTCLAS, " Object Class
    OBJECTID TYPE CDHDR-OBJECTID, " Object value
    CHANGENR TYPE CDHDR-CHANGENR, " Document change number
    USERNAME TYPE CDHDR-USERNAME, " User name
    UDATE TYPE CDHDR-UDATE, " Creation date of the change
    " document
    END OF FS_CDHDR,
    Field String to hold Change document items *
    BEGIN OF FS_CDPOS,
    OBJECTCLAS TYPE CDPOS-OBJECTCLAS," Object class
    OBJECTID(10) TYPE C, " Object Value
    CHANGENR TYPE CDPOS-CHANGENR, " Document change number
    TABNAME TYPE CDPOS-TABNAME, " Table Name
    FNAME TYPE CDPOS-FNAME, " Field Name
    VALUE_NEW TYPE CDPOS-VALUE_NEW, " New contents of changed field
    VALUE_OLD TYPE CDPOS-VALUE_OLD, " Old contents of changed field
    END OF FS_CDPOS,
    Field String to hold Date Element Name *
    BEGIN OF FS_DATAELE,
    TABNAME TYPE DD03L-TABNAME, " Table Name
    FIELDNAME TYPE DD03L-FIELDNAME, " Field Name
    ROLLNAME TYPE DD03L-ROLLNAME, " Data element (semantic domain)
    END OF FS_DATAELE,
    Field String to hold Short Text of the Date Element *
    BEGIN OF FS_TEXT,
    ROLLNAME TYPE DD04T-ROLLNAME, " Data element (semantic domain)
    DDTEXT TYPE DD04T-DDTEXT, " Short Text Describing R/3
    " Repository Objects
    END OF FS_TEXT,
    Field String to hold data to be displayed on the ALV grid *
    BEGIN OF FS_OUTTAB,
    EBELN TYPE EKKO-EBELN, " Purchasing Document Number
    ERNAM TYPE EKKO-ERNAM, " Name of Person who Created the
    " Object
    LIFNR TYPE EKKO-LIFNR, " Vendor's account number
    EKGRP TYPE EKKO-EKGRP, " Purchasing group
    BEDAT TYPE EKKO-BEDAT, " Purchasing Document Date
    WERKS TYPE LFA1-WERKS, " Plant
    NAME1 TYPE LFA1-NAME1, " Name1
    USERNAME TYPE CDHDR-USERNAME, " User name
    UDATE TYPE CDHDR-UDATE, " Creation date of the change
    " document
    DDTEXT TYPE DD04T-DDTEXT, " Short Text Describing R/3
    " Repository Objects
    VALUE_NEW TYPE CDPOS-VALUE_NEW, " New contents of changed field
    VALUE_OLD TYPE CDPOS-VALUE_OLD, " Old contents of changed field
    END OF FS_OUTTAB,
    Internal table to hold Purchase Document Number *
    T_EBELN LIKE STANDARD TABLE
    OF FS_EBELN,
    Internal table to hold Purchase Document Header *
    T_EKKO LIKE STANDARD TABLE
    OF FS_EKKO,
    Temp Internal table to hold Purchase Document Header *
    T_EKKO_TEMP LIKE STANDARD TABLE
    OF FS_EKKO,
    Internal table to hold Account number and Name of the Vendor *
    T_LFA1 LIKE STANDARD TABLE
    OF FS_LFA1,
    Internal Table to hold Change date and the name of the user *
    T_CDHDR LIKE STANDARD TABLE
    OF FS_CDHDR,
    Internal Table to hold Change document items *
    T_CDPOS LIKE STANDARD TABLE
    OF FS_CDPOS,
    Temp. Internal Table to hold Change document items *
    T_CDPOS_TEMP LIKE STANDARD TABLE
    OF FS_CDPOS,
    Internal Table to hold Data Element Name *
    T_DATAELE LIKE STANDARD TABLE
    OF FS_DATAELE,
    Temp. Internal Table to hold Data Element Name *
    T_DATAELE_TEMP LIKE STANDARD TABLE
    OF FS_DATAELE,
    Internal Table to hold Short Text of the Date Element *
    T_TEXT LIKE STANDARD TABLE
    OF FS_TEXT,
    Internal Table to hold data to be displayed on the ALV grid *
    T_OUTTAB LIKE STANDARD TABLE
    OF FS_OUTTAB.
    C L A S S D E F I N I T I O N *
    CLASS LCL_EVENT_HANDLER DEFINITION DEFERRED.
    *" Data declarations...................................................
    Work variables *
    DATA:
    W_EBELN TYPE EKKO-EBELN, " Purchasing Document Number
    W_LIFNR TYPE EKKO-LIFNR, " Vendor's account number
    W_EKGRP TYPE EKKO-EKGRP, " Purchasing group
    W_VALUE TYPE EKKO-EBELN, " Reflected Value
    W_SPACE VALUE ' ', " Space
    W_FLAG TYPE I, " Flag Variable
    W_VARIANT TYPE DISVARIANT, " Variant
    *--- ALV Grid
    W_GRID TYPE REF TO CL_GUI_ALV_GRID,
    *--- Event Handler
    W_EVENT_CLICK TYPE REF TO LCL_EVENT_HANDLER,
    *--- Field catalog table
    T_FIELDCAT TYPE LVC_T_FCAT.
    AT SELECTION-SCREEN EVENT *
    AT SELECTION-SCREEN ON S_EBELN.
    Subroutine to validate Purchase Document Number.
    PERFORM VALIDATE_PD_NUM.
    AT SELECTION-SCREEN ON S_LIFNR.
    Subroutine to validate Vendor Number.
    PERFORM VALIDATE_VEN_NUM.
    AT SELECTION-SCREEN ON S_EKGRP.
    Subroutine to validate Purchase Group.
    PERFORM VALIDATE_PUR_GRP.
    START-OF-SELECTION EVENT *
    START-OF-SELECTION.
    Subroutine to select all Purchase orders.
    PERFORM SELECT_PO.
    CHECK W_FLAG EQ 0.
    Subroutine to select Object values.
    PERFORM SELECT_OBJ_ID.
    CHECK W_FLAG EQ 0.
    Subroutine to select Changed values.
    PERFORM SELECT_CHANGED_VALUE.
    CHECK W_FLAG EQ 0.
    Subroutine to Select Purchase Orders.
    PERFORM SELECT_PUR_DOC.
    Subroutine to select Vendor Details.
    PERFORM SELECT_VENDOR.
    Subroutine to select Text for the Changed values.
    PERFORM DESCRIPTION.
    END-OF-SELECTION EVENT *
    END-OF-SELECTION.
    IF NOT T_EKKO IS INITIAL.
    Subroutine to populate the Output Table.
    PERFORM FILL_OUTTAB.
    Subroutine to build Field Catalog.
    PERFORM PREPARE_FIELD_CATALOG CHANGING T_FIELDCAT.
    CALL SCREEN 100.
    ENDIF. " IF NOT T_EKKO...
    CLASS LCL_EVENT_HANDLER DEFINITION
    Defining Class which handles events
    CLASS LCL_EVENT_HANDLER DEFINITION .
    PUBLIC SECTION .
    METHODS:
    HANDLE_HOTSPOT_CLICK
    FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID
    IMPORTING E_ROW_ID E_COLUMN_ID.
    ENDCLASS. " LCL_EVENT_HANDLER DEFINITION
    CLASS LCL_EVENT_HANDLER IMPLEMENTATION
    Implementing the Class which can handle events
    CLASS LCL_EVENT_HANDLER IMPLEMENTATION .
    *---Handle Double Click
    METHOD HANDLE_HOTSPOT_CLICK .
    Subroutine to get the HotSpot Cell information.
    PERFORM GET_CELL_INFO.
    SET PARAMETER ID 'BES' FIELD W_VALUE.
    CALL TRANSACTION 'ME23N'.
    ENDMETHOD. " HANDLE_HOTSPOT_CLICK
    ENDCLASS. " LCL_EVENT_HANDLER
    *& Module STATUS_0100 OUTPUT
    PBO Event
    MODULE STATUS_0100 OUTPUT.
    SET PF-STATUS 'OOPS'.
    SET TITLEBAR 'TIT'.
    Subroutine to fill the Variant Structure
    PERFORM FILL_VARIANT.
    IF W_GRID IS INITIAL.
    CREATE OBJECT W_GRID
    EXPORTING
    I_SHELLSTYLE = 0
    I_LIFETIME =
    I_PARENT = CL_GUI_CONTAINER=>SCREEN0
    I_APPL_EVENTS =
    I_PARENTDBG =
    I_APPLOGPARENT =
    I_GRAPHICSPARENT =
    I_NAME =
    I_FCAT_COMPLETE = SPACE
    EXCEPTIONS
    ERROR_CNTL_CREATE = 1
    ERROR_CNTL_INIT = 2
    ERROR_CNTL_LINK = 3
    ERROR_DP_CREATE = 4
    OTHERS = 5.
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF. " IF SY-SUBRC <> 0
    CALL METHOD W_GRID->SET_TABLE_FOR_FIRST_DISPLAY
    EXPORTING
    I_BUFFER_ACTIVE =
    I_BYPASSING_BUFFER =
    I_CONSISTENCY_CHECK =
    I_STRUCTURE_NAME =
    IS_VARIANT = W_VARIANT
    I_SAVE = 'A'
    I_DEFAULT = 'X'
    IS_LAYOUT =
    IS_PRINT =
    IT_SPECIAL_GROUPS =
    IT_TOOLBAR_EXCLUDING =
    IT_HYPERLINK =
    IT_ALV_GRAPHICS =
    IT_EXCEPT_QINFO =
    IR_SALV_ADAPTER =
    CHANGING
    IT_OUTTAB = T_OUTTAB
    IT_FIELDCATALOG = T_FIELDCAT
    IT_SORT =
    IT_FILTER =
    EXCEPTIONS
    INVALID_PARAMETER_COMBINATION = 1
    PROGRAM_ERROR = 2
    TOO_MANY_LINES = 3
    OTHERS = 4
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF. " IF SY-SUBRC <> 0.
    ENDIF. " IF W_GRID IS INITIAL
    CREATE OBJECT W_EVENT_CLICK.
    SET HANDLER W_EVENT_CLICK->HANDLE_HOTSPOT_CLICK FOR W_GRID.
    ENDMODULE. " STATUS_0100 OUTPUT
    *& Module USER_COMMAND_0100 INPUT
    PAI Event
    MODULE USER_COMMAND_0100 INPUT.
    CASE SY-UCOMM.
    WHEN 'BACK'.
    LEAVE TO SCREEN 0.
    WHEN 'EXIT'.
    LEAVE PROGRAM.
    WHEN 'CANCEL'.
    LEAVE TO SCREEN 0.
    ENDCASE.
    ENDMODULE. " USER_COMMAND_0100 INPUT
    *& Form PREPARE_FIELD_CATALOG
    Subroutine to build the Field catalog
    <--P_T_FIELDCAT Field Catalog Table
    FORM PREPARE_FIELD_CATALOG CHANGING PT_FIELDCAT TYPE LVC_T_FCAT .
    DATA LS_FCAT TYPE LVC_S_FCAT.
    Purchasing group...
    LS_FCAT-FIELDNAME = 'EKGRP'.
    LS_FCAT-REF_TABLE = 'EKKO'.
    LS_FCAT-INTTYPE = 'C'.
    LS_FCAT-OUTPUTLEN = '10'.
    APPEND LS_FCAT TO PT_FIELDCAT.
    CLEAR LS_FCAT.
    Purchasing Document Number...
    LS_FCAT-FIELDNAME = 'EBELN'.
    LS_FCAT-REF_TABLE = 'EKKO' .
    LS_FCAT-EMPHASIZE = 'C411'.
    LS_FCAT-INTTYPE = 'C'.
    LS_FCAT-OUTPUTLEN = '10'.
    LS_FCAT-HOTSPOT = 'X'.
    APPEND LS_FCAT TO PT_FIELDCAT .
    CLEAR LS_FCAT .
    Name of Person who Created the Object...
    LS_FCAT-FIELDNAME = 'ERNAM'.
    LS_FCAT-REF_TABLE = 'EKKO'.
    LS_FCAT-OUTPUTLEN = '15' .
    APPEND LS_FCAT TO PT_FIELDCAT.
    CLEAR LS_FCAT.
    Purchasing Document Date...
    LS_FCAT-FIELDNAME = 'BEDAT'.
    LS_FCAT-REF_TABLE = 'EKKO'.
    LS_FCAT-INTTYPE = 'C'.
    LS_FCAT-OUTPUTLEN = '10'.
    APPEND LS_FCAT TO PT_FIELDCAT.
    CLEAR LS_FCAT.
    Vendor's account number...
    LS_FCAT-FIELDNAME = 'LIFNR'.
    LS_FCAT-REF_TABLE = 'EKKO'.
    LS_FCAT-INTTYPE = 'C'.
    LS_FCAT-OUTPUTLEN = '10'.
    APPEND LS_FCAT TO PT_FIELDCAT.
    CLEAR LS_FCAT.
    Account Number of Vendor or Creditor...
    LS_FCAT-FIELDNAME = 'NAME1'.
    LS_FCAT-REF_TABLE = 'LFA1'.
    LS_FCAT-INTTYPE = 'C'.
    LS_FCAT-OUTPUTLEN = '10'.
    LS_FCAT-COLTEXT = 'Vendor Name'(001).
    LS_FCAT-SELTEXT = 'Vendor Name'(001).
    APPEND LS_FCAT TO PT_FIELDCAT.
    CLEAR LS_FCAT.
    Creation date of the change document...
    LS_FCAT-FIELDNAME = 'UDATE'.
    LS_FCAT-REF_TABLE = 'CDHDR'.
    LS_FCAT-INTTYPE = 'C'.
    LS_FCAT-OUTPUTLEN = '10'.
    LS_FCAT-COLTEXT = 'Change Date'(002).
    LS_FCAT-SELTEXT = 'Change Date'(002).
    APPEND LS_FCAT TO PT_FIELDCAT.
    CLEAR LS_FCAT.
    User name of the person responsible in change document...
    LS_FCAT-FIELDNAME = 'USERNAME'.
    LS_FCAT-REF_TABLE = 'CDHDR'.
    LS_FCAT-INTTYPE = 'C'.
    LS_FCAT-OUTPUTLEN = '10'.
    LS_FCAT-COLTEXT = 'Modified by'(003).
    LS_FCAT-SELTEXT = 'Modified by'(003).
    APPEND LS_FCAT TO PT_FIELDCAT.
    CLEAR LS_FCAT.
    Short Text Describing R/3 Repository Objects...
    LS_FCAT-FIELDNAME = 'DDTEXT'.
    LS_FCAT-REF_TABLE = 'DD04T'.
    LS_FCAT-INTTYPE = 'C'.
    LS_FCAT-OUTPUTLEN = '15'.
    APPEND LS_FCAT TO PT_FIELDCAT.
    CLEAR LS_FCAT.
    Old contents of changed field...
    LS_FCAT-FIELDNAME = 'VALUE_OLD'.
    LS_FCAT-REF_TABLE = 'CDPOS'.
    LS_FCAT-INTTYPE = 'C'.
    LS_FCAT-OUTPUTLEN = '12'.
    APPEND LS_FCAT TO PT_FIELDCAT.
    CLEAR LS_FCAT.
    New contents of changed field...
    LS_FCAT-FIELDNAME = 'VALUE_NEW'.
    LS_FCAT-REF_TABLE = 'CDPOS'.
    LS_FCAT-INTTYPE = 'C'.
    LS_FCAT-OUTPUTLEN = '12'.
    APPEND LS_FCAT TO PT_FIELDCAT.
    CLEAR LS_FCAT.
    ENDFORM. " PREPARE_FIELD_CATALOG
    *& Form SELECT_PO
    Subroutine to select all the Purchase Orders
    There are no interface parameters to be passed to this subroutine.
    FORM SELECT_PO .
    SELECT EBELN " Purchasing Document Number
    ERNAM " Name of Person who Created
    " the Object
    LIFNR " Vendor's account number
    EKGRP " Purchasing group
    BEDAT " Purchasing Document Date
    FROM EKKO
    PACKAGE SIZE 10000
    APPENDING TABLE T_EBELN
    WHERE EBELN IN S_EBELN
    AND BEDAT IN S_BEDAT.
    ENDSELECT.
    IF SY-SUBRC NE 0.
    W_FLAG = 1.
    MESSAGE S401(M8).
    ENDIF. " IF SY-SUBRC NE 0
    ENDFORM. " SELECT_PO
    *& Form SELECT_OBJ_ID
    Subroutine to select Object ID
    There are no interface parameters to be passed to this subroutine.
    FORM SELECT_OBJ_ID .
    IF NOT T_EBELN IS INITIAL.
    SELECT OBJECTCLAS " Object Class
    OBJECTID " Object value
    CHANGENR " Document change number
    USERNAME " User name
    UDATE " Creation date
    FROM CDHDR
    INTO TABLE T_CDHDR
    FOR ALL ENTRIES IN T_EBELN
    WHERE OBJECTID EQ T_EBELN-EBELN
    AND UDATE IN S_UDATE
    AND TCODE IN ('ME21N','ME22N','ME23N').
    ENDSELECT.
    IF SY-SUBRC NE 0.
    W_FLAG = 1.
    MESSAGE S833(M8) WITH 'Header Not Found'(031).
    ENDIF. " IF SY-SUBRC NE 0.
    ENDIF. " IF NOT T_EBELN IS INITIAL
    ENDFORM. " SELECT_OBJ_ID
    *& Form SELECT_CHANGED_VALUE
    Subroutine to select Changed Values
    There are no interface parameters to be passed to this subroutine.
    FORM SELECT_CHANGED_VALUE .
    IF NOT T_CDHDR IS INITIAL.
    SELECT OBJECTCLAS " Object class
    OBJECTID " Object value
    CHANGENR " Document change number
    TABNAME " Table Name
    FNAME " Field Name
    VALUE_NEW " New contents of changed field
    VALUE_OLD " Old contents of changed field
    FROM CDPOS
    PACKAGE SIZE 10000
    APPENDING TABLE T_CDPOS
    FOR ALL ENTRIES IN T_CDHDR
    WHERE OBJECTCLAS EQ T_CDHDR-OBJECTCLAS
    AND OBJECTID EQ T_CDHDR-OBJECTID
    AND CHANGENR EQ T_CDHDR-CHANGENR.
    ENDSELECT.
    IF SY-SUBRC NE 0.
    W_FLAG = 1.
    MESSAGE S833(M8) WITH 'Item Not Found'(032).
    ENDIF. " IF SY-SUBRC NE 0.
    ENDIF. " IF NOT T_CDHDR IS INITIAL
    T_CDPOS_TEMP[] = T_CDPOS[].
    ENDFORM. " SELECT_CHANGED_VALUE
    *& Form SELECT_PUR_DOC
    Subroutine to select Purchase Order Details
    There are no interface parameters to be passed to this subroutine.
    FORM SELECT_PUR_DOC .
    IF NOT T_CDPOS IS INITIAL.
    SORT T_EBELN BY EBELN.
    LOOP AT T_CDPOS INTO FS_CDPOS.
    READ TABLE T_EBELN INTO FS_EBELN WITH KEY EBELN =
    FS_CDPOS-OBJECTID BINARY SEARCH.
    IF SY-SUBRC NE 0.
    DELETE TABLE T_EBELN FROM FS_EBELN.
    ENDIF. " IF SY-SUBRC NE 0.
    ENDLOOP. " LOOP AT T_CDPOS...
    LOOP AT T_EBELN INTO FS_EBELN.
    MOVE FS_EBELN-EBELN TO FS_EKKO-EBELN.
    MOVE FS_EBELN-ERNAM TO FS_EKKO-ERNAM.
    MOVE FS_EBELN-LIFNR TO FS_EKKO-LIFNR.
    MOVE FS_EBELN-EKGRP TO FS_EKKO-EKGRP.
    MOVE FS_EBELN-BEDAT TO FS_EKKO-BEDAT.
    APPEND FS_EKKO TO T_EKKO.
    ENDLOOP. " LOOP AT T_EBELN...
    T_EKKO_TEMP[] = T_EKKO[].
    ENDIF. " IF NOT T_CDPOS IS INITIAL
    ENDFORM. " SELECT_PUR_DOC
    *& Form SELECT_VENDOR
    Subroutine to select Vendor details
    There are no interface parameters to be passed to this subroutine.
    FORM SELECT_VENDOR .
    IF NOT T_EKKO IS INITIAL.
    SORT T_EKKO_TEMP BY LIFNR.
    DELETE ADJACENT DUPLICATES FROM T_EKKO_TEMP COMPARING LIFNR.
    SELECT LIFNR " Account Number of Vendor or
    " Creditor
    NAME1 " Name 1
    FROM LFA1
    INTO TABLE T_LFA1
    FOR ALL ENTRIES IN T_EKKO_TEMP
    WHERE LIFNR EQ T_EKKO_TEMP-LIFNR.
    IF SY-SUBRC NE 0.
    MESSAGE S002(M8) WITH 'Master Details'(033).
    ENDIF. " IF SY-SUBRC NE 0.
    ENDIF. " IF NOT T_EKKO IS INITIAL
    ENDFORM. " SELECT_VENDOR
    *& Form DESCRIPTION
    Subroutine to get the description
    There are no interface parameters to be passed to this subroutine.
    FORM DESCRIPTION .
    IF NOT T_CDPOS IS INITIAL.
    SORT T_CDPOS_TEMP BY TABNAME FNAME.
    DELETE ADJACENT DUPLICATES FROM T_CDPOS_TEMP COMPARING TABNAME FNAME
    SELECT TABNAME " Table Name
    FIELDNAME " Field Name
    ROLLNAME " Data element
    FROM DD03L
    INTO TABLE T_DATAELE
    FOR ALL ENTRIES IN T_CDPOS_TEMP
    WHERE TABNAME EQ T_CDPOS_TEMP-TABNAME
    AND FIELDNAME EQ T_CDPOS_TEMP-FNAME.
    IF NOT T_DATAELE IS INITIAL.
    T_DATAELE_TEMP[] = T_DATAELE[].
    SORT T_DATAELE_TEMP BY ROLLNAME.
    DELETE ADJACENT DUPLICATES FROM T_DATAELE_TEMP COMPARING ROLLNAME.
    SELECT ROLLNAME " Data element
    DDTEXT " Short Text Describing R/3
    " Repository Objects
    FROM DD04T
    INTO TABLE T_TEXT
    FOR ALL ENTRIES IN T_DATAELE_TEMP
    WHERE ROLLNAME EQ T_DATAELE_TEMP-ROLLNAME
    AND DDLANGUAGE EQ SY-LANGU.
    IF SY-SUBRC NE 0.
    EXIT.
    ENDIF. " IF SY-SUBRC NE 0.
    ENDIF. " IF NOT T_DATAELE IS INITIAL.
    ENDIF. " IF NOT T_CDPOS IS INITIAL.
    ENDFORM. " DESCRIPTION
    *& Form FILL_OUTTAB
    Subroutine to populate the Outtab
    There are no interface parameters to be passed to this subroutine.
    FORM FILL_OUTTAB .
    SORT T_CDHDR BY OBJECTCLAS OBJECTID CHANGENR.
    SORT T_EKKO BY EBELN.
    SORT T_LFA1 BY LIFNR.
    SORT T_DATAELE BY TABNAME FIELDNAME.
    SORT T_TEXT BY ROLLNAME.
    LOOP AT T_CDPOS INTO FS_CDPOS.
    READ TABLE T_CDHDR INTO FS_CDHDR WITH KEY
    OBJECTCLAS = FS_CDPOS-OBJECTCLAS
    OBJECTID = FS_CDPOS-OBJECTID
    CHANGENR = FS_CDPOS-CHANGENR
    BINARY SEARCH.
    IF SY-SUBRC EQ 0.
    MOVE FS_CDHDR-USERNAME TO FS_OUTTAB-USERNAME.
    MOVE FS_CDHDR-UDATE TO FS_OUTTAB-UDATE.
    READ TABLE T_EKKO INTO FS_EKKO WITH KEY
    EBELN = FS_CDHDR-OBJECTID
    BINARY SEARCH.
    IF SY-SUBRC EQ 0.
    MOVE FS_EKKO-EBELN TO FS_OUTTAB-EBELN.
    MOVE FS_EKKO-ERNAM TO FS_OUTTAB-ERNAM.
    MOVE FS_EKKO-LIFNR TO FS_OUTTAB-LIFNR.
    MOVE FS_EKKO-EKGRP TO FS_OUTTAB-EKGRP.
    MOVE FS_EKKO-BEDAT TO FS_OUTTAB-BEDAT.
    READ TABLE T_LFA1 INTO FS_LFA1 WITH KEY
    LIFNR = FS_EKKO-LIFNR
    BINARY SEARCH.
    IF SY-SUBRC EQ 0.
    MOVE FS_LFA1-NAME1 TO FS_OUTTAB-NAME1.
    ENDIF. " IF SY-SUBRC EQ 0.
    ENDIF. " IF SY-SUBRC EQ 0.
    ENDIF. " IF SY-SUBRC EQ 0.
    MOVE FS_CDPOS-VALUE_NEW TO FS_OUTTAB-VALUE_NEW.
    MOVE FS_CDPOS-VALUE_OLD TO FS_OUTTAB-VALUE_OLD.
    READ TABLE T_DATAELE INTO FS_DATAELE WITH KEY
    TABNAME = FS_CDPOS-TABNAME
    FIELDNAME = FS_CDPOS-FNAME
    BINARY SEARCH.
    IF SY-SUBRC EQ 0.
    READ TABLE T_TEXT INTO FS_TEXT WITH KEY
    ROLLNAME = FS_DATAELE-ROLLNAME
    BINARY SEARCH.
    IF SY-SUBRC EQ 0.
    MOVE FS_TEXT-DDTEXT TO FS_OUTTAB-DDTEXT.
    ENDIF. " IF SY-SUBRC EQ 0.
    ENDIF. " IF SY-SUBRC EQ 0.
    APPEND FS_OUTTAB TO T_OUTTAB.
    CLEAR FS_OUTTAB.
    ENDLOOP.
    ENDFORM. " FILL_OUTTAB
    *& Form GET_CELL_INFO
    Subroutine to get the Cell Information
    --> W_VALUE Holds the value of Hotspot clicked
    FORM GET_CELL_INFO .
    CALL METHOD W_GRID->GET_CURRENT_CELL
    IMPORTING
    E_ROW =
    E_VALUE = W_VALUE
    E_COL =
    ES_ROW_ID =
    ES_COL_ID =
    ES_ROW_NO =
    ENDFORM. " GET_CELL_INFO
    *& Form VALIDATE_PD_NUM
    Subroutine to validate Purchase Document Number
    There are no interface parameters to be passed to this subroutine.
    FORM VALIDATE_PD_NUM .
    IF NOT S_EBELN[] IS INITIAL.
    SELECT EBELN " Purchase Document Number
    FROM EKKO
    INTO W_EBELN
    UP TO 1 ROWS
    WHERE EBELN IN S_EBELN.
    ENDSELECT.
    IF SY-SUBRC NE 0.
    CLEAR SSCRFIELDS-UCOMM.
    MESSAGE E717(M8).
    ENDIF. " IF SY-SUBRC NE 0
    ENDIF. " IF NOT S_EBELN[]...
    ENDFORM. " VALIDATE_PD_NUM
    *& Form VALIDATE_VEN_NUM
    Subroutine to validate Vendor Number
    There are no interface parameters to be passed to this subroutine.
    FORM VALIDATE_VEN_NUM .
    IF NOT S_LIFNR[] IS INITIAL.
    SELECT LIFNR " Vendor Number
    FROM LFA1
    INTO W_LIFNR
    UP TO 1 ROWS
    WHERE LIFNR IN S_LIFNR.
    ENDSELECT.
    IF SY-SUBRC NE 0.
    CLEAR SSCRFIELDS-UCOMM.
    MESSAGE E002(M8) WITH W_SPACE.
    ENDIF. " IF SY-SUBRC NE 0
    ENDIF. " IF NOT S_LIFNR[]...
    ENDFORM. " VALIDATE_VEN_NUM
    *& Form VALIDATE_PUR_GRP
    Subroutine to validate the Purchase Group
    There are no interface parameters to be passed to this subroutine.
    FORM VALIDATE_PUR_GRP .
    IF NOT S_EKGRP[] IS INITIAL.
    SELECT EKGRP " Purchase Group
    FROM T024
    INTO W_EKGRP
    UP TO 1 ROWS
    WHERE EKGRP IN S_EKGRP.
    ENDSELECT.
    IF SY-SUBRC NE 0.
    CLEAR SSCRFIELDS-UCOMM.
    MESSAGE E622(M8) WITH W_SPACE.
    ENDIF. " IF SY-SUBRC NE 0
    ENDIF. " IF NOT S_EKFRP[]...
    ENDFORM. " VALIDATE_PUR_GRP
    *& Form FILL_VARIANT
    Subroutine to fill the Variant Structure
    There are no interface parameters to be passed to this subroutine
    FORM FILL_VARIANT .
    Filling the Variant structure
    W_VARIANT-REPORT = SY-REPID.
    W_VARIANT-USERNAME = SY-UNAME.
    ENDFORM. " FILL_VARIANT
    <b>Reward if usefull</b>

  • No tax information exists for billing document

    Hi
    We have a problem. In our scenario, we create a service order followed by service confirmation and bill from service confirmation. All prices including taxes are maintained in r/3. prices and taxes are picked in the service confirmation also.
    When we create an invoice from crm (CRM billing), the correct price and tax is picked . But when we try to maintain billing documents, we get an error as follows.
    " No tax information exists for billing document 90000108-0000000010, condition type JIVC". Document are not getting posted to R/3.
    JIVC is the tax condition type created in r/3 and downloaded to crm. GL account determination settings have been maintained in CRM.
    However when i do a billing in CRM without tax, accounting documents are generated and hitting the right GL account. Also, when we do a billing in in r/3, the tax is hitting the right GL account.
    I have not maintained any TTE settings in CRM. Are TTE settings required at all in this scenario? If so could you inform what needs to be done.?
    We are on CRM 5.0 and R/3 4.7.
    Thanks and regards
    Bhaskaran

    Hi Bhaskaran,
    In CRM according to the taxes there r two ways of calculation,
    in ur scenario u r using the R3 billing so it according to downloading of condition types and cond records it will shows the taxes in the invoice
    if u r maining u need to call the TTE
    i hope u r with indian client if follow in backend
    check these settings in R3
    TAXINN (India):
    Following are the condition types:
    Define New Condition Type
    IMG > Sales and Distribution > Basic Functions > Pricing > Pricing Control > Define Condition Types > Maintain Condition Types (V/06)
    T.Code - Details of Condition Types
    V/06 – JIVP copy of JLST (A/R VAT Payable) & change condition category to ‘D’ & Access Sequence ‘MWST’
    V/06 – JIVC copy of JLST (A/R CST Payable VAT) & change condition category to ‘D’ & Access Sequence ‘MWST’
    OBQ1 - JIVP copy of JLST (A/R VAT Payable)
    OBQ1 - JIVC copy of JLST (A/R CST Payable VAT)
    Define Account Key JN6,JN7 & JN8 (T.Code: OBCN & also in SD)
    IMG> Financial Accounting> Taxes on Sales and Purchases> Basic Setting> Check & change setting for Tax Processing (OBCN)
    IMG> Sales & Distribution> Basic Function> Account Assignment / Costing> Revenue Account Determination> Define & assign Account Keys> Define Account Keys.
    and check the proper condition records r downloaded or not check middleware settings for that.
    If u r doing CRM billing i am not sure of indian client, as i know u need to do maintain the Pricing procedure in CRM also and u have to call the TTE
    Regards
    Manohar

  • Information message for duplicate vendor check( message 144)

    Hello everyone, i am trying to configure information warning message in vendors. The configuration for this is SPRO-IMG-FA-AR/AP-vendor accounts-master data-preprations for creating vendor master data-change message control for vendor master data.
    I need to configure
    message: 144
    message text: vendors with the same address:check
    online:  I information message
    When i enter the new entry, i can see MsgNo 144 under the MsgNo but under "online" i need to use I: informational message but i dont see that option under there. I think i need to configure that message ( I: information message) under "online". Does why one know how to configure that? Any suggestions will be appreciated.
    Regards

    Hi there ,
    By default it will show Information message only.
    Why there is any need of changing anything?

  • Code for Vendor Tax Code uniqueness

    Hi,
    When we are trying to create a new customer (transaction XD01) we would like to be informed if the  Vendor Tax Code (KNA1-stcd2) is being used already.
    Can you tell me what code do we have to insert and where.
    Thanks.

    Hello,
    I dont there would be direct way to check this out in SAP R/3.
    What you can do is create a Z-DB table , say ZTAXCODE, which has Customer,Customer Group as Key Fields and taxcode as another field.
    Now when User tries to save the Customer- then u can
    1) Make use of BADI - CUSTOMER_ADD_DATA (SE18/SE19)
    2) Make use of User Exit - FM EXIT_SAPMF02D_001 (Customers: User Exit for Checks prior to Saving) (SMOD/CMOD)
    Here, you can the entry to your newly created table and chk if the entry user tries to maintain already exists. If yes, you can display an error message to the user.
    Hope this helps.

  • Annual tax report for customer/vendor (Italy) - RFIDITCVL program

    Hello,
    we're using the Annual tax report for customer/vendor (Italy) in the ECC 6.0 version but we've the following problems:
    - We only see a list of records in the List error section, where the field "Group" is not valued, so we don't know if the list is really an error list or not.
    - We don't see anything in the results list
    Do you know if there is some OSS Note we can apply or some customizing activity we have to do. Thank you.
    Maria

    Hi,
    Use Report MIR5
    MIR5 - Display List of Invoice Documents
    You can use the report Display List of Invoice Documents (RMMR1MDI; transaction code MIR5) to display a list of the invoice documents.
    In addition to the existing program Invoice Overview (transaction code MIR6), here you have extended selection criteria and display options:
    o   Gross invoice amount
    o   Unplanned delivery costs
    o   Currency key
    o   Exchange rate
    o   Entry date
    o   Entry time
    o   Choice between invoice and credit memo
    o   One-time customer with a one-time account
    In the Invoice Overview program you can also change invoices, whereas in this report you only have display options.
    By entering the following data you can increase your selection criteria:
    o   Entry type
    o   Invoice status
    o   Restrictions
    Output: -
    In the output list, the report displays the numbers of the posted and the parked invoice documents. The system does not display invoice documents that do not have a corresponding FI document, for example, invoice documents that are planned for verification in the background, or that have already been verified with errors.
        From the output list, you can display the following:
        o   Invoice document
        o   FI document or list of FI documents
            If more than one FI document is assigned to an invoice document, then you can display a list of all corresponding FI documents.
        o   List of all follow-on documents for an invoice document.

  • Withholding Tax Report for the Vendor

    Hi Friends,
    I want to use the report S_PL0_09000447 - Withholding Tax Report for the Vendor, in the selection paramaters the field "Country Variant" is mandatory but in this list i cannot find the relevent country code here.
    Could any one please let me know where to maintain this?
    Regards,

    Dear Sapref,
    the documentation for that report says:
    To use the report for additional countries, select an appropriate
    variant as reference; hide the country-specific heading by selecting the
    field Country not in heading and entering the required country in the
    field Additional heading.
    Please be kindly informed that You can use an existing country variant which may match the closest to
    your requirement.
    Aas far as I know there is no country validation between the company code's country and
    the country variant.
    Please be kindly informed that You can use the generic report: RFIDYYWT.
    I hope this can help You.
    Mauri

  • Change Vendor (XK02) in Tax Number 1 field

    HI
    When we try to modify field Tax Number 1 (Tax information)  in XK02, system show a message " Tax code 1 is not valid". We were checking any enhancement but not success. The point is, we are un Venezuela and we need to change Tax Number 1 value from V-NNNNNNNN-R to VNNNNNNNNR but no posibbe. Is there something we missing for checking and put this customizing?
    Thanks in advance

    Hello,
    Are you really sure about this change?
    If you check documentation of SAP you'll see:
    Venezuela
    Tax code 1 (registro identificación fiscal - RIF) is 12 characters long
    and contains two hyphens at character 2 and 11. The first character of
    the tax number contains a letter, only J, I, V, G or E are permitted.
    Example: V-12345678-9, make a corresponding entry.
    Tax code 2 (Número de identificación fiscal - NIT) is numerical, has no
    gaps and a maximum length of 11 characters.
    Is it a legal change in venezuela?
    REgards,
    REnan

Maybe you are looking for

  • Can't empty trash "501"

    On my Mac Book Pro (2008, OS 10.6.8) I keep getting a message: "501" can't be opened right now because it is being used by another task, such as moving or copying an item or emptying the Trash.  Try again when the current task is complete." I have: 1

  • Trouble Updating ITunes v 10.6.3 to Windows Version 5.1 Running as XP

    I am running Windows Version 5.1 (runs as XP) and have been attempting to upgrade to ITunes version 10.6.3.  Each time I download the update file from ITunes, it seems to download alright, then starts to install and then gives the following error mes

  • Basic Descripter in iProcurement not showing up

    Hi All, We have set the basic descripter LONG_DESCRIPTION to show in 'show item details' as true . But when we click on item description in shopping region to see item details , it is showing always blank value for LONG_DESCRIPTION. It is showing val

  • Need Help - WiFi network issue

    Hey, just wondering if anyone could help me out here. My problem is that when I go to the WiFi setting page my 'network list' costantly refreshes every 5 seconds or so. I can access my network normally, but upon doing so my network bar shows a check

  • Premiere Pro CC (latest version) freeze when loading some projects

    This seem to happen kinda random but I started working on a project and I've opened and saved it several times but all of a sudden it freeze Premiere Pro when opening it. Everything seems to open okay but the thumbnails are gone in the project folder