Item conditions

Hi experts,
in our system, we have have to apply discounts per items in some cases in sales orders.
According to some conditions (if customer is X and manufacturer's material is Y) i must apply  discount per item.
Is this possible? Or there is a way to solve this problem?
Any help/clue/hint would be appreciated.
Thanks in advance.

Many thanx my friends esspecially to Santosh.
I have created all the steps:
- condition table  with fields customer and manufacturer
- access sequence
- item condition (ZIC01) which has assigned access sequence. - condition apply to item, is mandatory and is discount or surcharge (percentage).
My problem is when i want to create a sale order.  SAP gives a message:
Pricing error: Mandatory condition ZIC01 is missing
And if i look to item condition the condition isn't there.
Does anyone know something about this?
The second problem is with condition table. I want to add another field to condition table:
Customer  |  Manufacturer  |  Discount
This discount should be in item condition ZIC01 if condition is satisfied otherwise item condition should be 0.
This is my requirment ...is this is possible?
I give you an example:
Customer | Manufacturer | Discount
Client1 | Manuf1 | 5%
If a sales order is created for Client1 and if a material has Manuf1 than a discount (5%) should be applied to that item.

Similar Messages

  • Is there a way to fix the exchange rate of PO item condition type ?

    Hello all,
    We have an agreed selling price in RMB from the supplier and the export rate(RMB to USD) is given by them according to delivery date. But we pay in USD.   Thus PO header is USD and using M rate but  PO price condition type in PO item  is RMB -> then convert to USD and sum up into gross price.  We want to control the way RMB is converted to USD in the item level.
    e.g.  PO order currency is USD, PO header exchange rate is a fixed rate input by user
            (hedge rate USD -> Local company currency)
    PO item 1      agreed PO price is 100 RMB -> PO item condition's rate is 100 RMB per pc  
                         -> export rate RMB to USD fixed at 8 -> 100 / 8  USD
    PO item 2      agreed PO price is 200 RMB  -> PO item condition's rate is  200 RMB per pc
                          at export rate -> 200 / 8  USD
    Total PO  value in USD =  300 RMB / 8      (we don't want it to convert 300 RMB using M rate)
    Appreciate if anyone has a solution for this similar case.

    KiltedTim wrote:
    The only way to do so and preserve your warranty is a replacement from Apple. US$199 without AppleCare+, US$49 with. If it doesn't affect the functionality, though, they may not give you that option.
    It's not that big of a deal. I'm just seeing if anyone knows how to bend it back straight from experience or imagination.

  • EDI Error : Condition EDI1 is not allowed as item condition

    Hi EDI Gurus,
    Right now I am getting the error while creating a Sales order through IDoc.
    "Condition EDI1 is not allowed as item condition"
    Clarify a few things to me:
    1. Where to pass the Customer Expected Price on the IDoc.
    2. How to maintain pricing Condition EDI1. (If it is necessary for processing of sales order)
    Please clarify these two things.
    Thanks,
    Matt

    I ran V/O8 transaction. There were a bunch of procedures listed in it.
    I was not sure which procedure I should look for EDI1 pricing condition.
    I checked RVAA01 (Standard) - there are two conditions EDI1 and EDI2.
    I am not sure what I should do. Whether they are already configured or not I am not sure.
    If they are already configured, why is it giving error in EDI process.
    MxG,
    Please enlighten me.
    Thanks,
    Matt

  • BAPI_SCHEDULE_MAINTAIN - Scheduling Agreement  (Deleting Item Condition)

    Dear Friends,
    My requirements is change or create the Scheduling Agreement - Schedule Lines (ME32L). I am using BAPI -->
    BAPI_SCHEDULE_MAINTAIN
    Its updating correctly, but automatically the item condition price details are deleted.
    1st time i am facing this issue.
    kindly help to rectify this issue. I am waiting for your valuable response.
    FYI - this is my code
            t_schedule-item_no    = t_alv_output-it_no.
            t_schedule-sched_line = t_alv_output-sh_no.
            WRITE t_alv_output-de_dt TO t_schedule-delivery_date.
            t_schedule-quantity      = t_alv_output-de_qt.
            t_schedule-stat_date = t_eket_qty-slfdt.
            APPEND t_schedule.
            t_schedulex-item_no       = t_alv_output-it_no.
            t_schedulex-sched_line    = t_alv_output-sh_no.
            t_schedulex-sched_linex   = lv_x.
            t_schedulex-delivery_date = lv_x.
            t_schedulex-stat_date     = lv_x.
            t_schedulex-quantity      = lv_x.
            APPEND t_schedulex.
          CALL FUNCTION 'BAPI_SCHEDULE_MAINTAIN'
            EXPORTING
              purchasingdocument = t_alv_output_head-po_no
            TABLES
              schedule           = t_schedule
              schedulex          = t_schedulex
              return             = t_return.
    I am also tried
    BAPI_SAG_CHANGE
    . this also updating the Schedule Lines. but deleting the item condition records.
    Thanks & Regards,
    Durai V

    Kindly check notes 1034912 and 1046851
    Regards
    JP Milton

  • Error while editing the item condition data : urgent

    Hi,
    I am using a bdc. when i try to edit any of the item condition value (KBETR) and also if i try to insert a new condition , I am getting error as " Message_type_X " and the message no :00341, and the BDC is terminating at the point.
    Can anybody kindly suggest a work around
    shyam

    Hi Shyam,
    Try with this code.
    *-----Adding the Condition Types at item level
                  PERFORM bdc_dynpro      USING 'SAPMV45A'    '5003'.
                  PERFORM bdc_field       USING 'BDC_CURSOR'  'KOMV-KSCHL(01)'.
                  PERFORM bdc_field       USING 'BDC_OKCODE'  '=V69A_KONY'.
                  PERFORM bdc_dynpro      USING 'SAPMSSY0'    '0120'.
                  PERFORM bdc_field       USING 'BDC_CURSOR'  '05/04'.
                  PERFORM bdc_field       USING 'BDC_OKCODE'  '=PICK'.
    *----1. Unitprc ( ZPR0 )
                  PERFORM bdc_dynpro      USING 'SAPMV45A'    '5003'.
                  PERFORM bdc_field       USING 'BDC_CURSOR'  'KOMV-KSCHL(01)'.
                  PERFORM bdc_field       USING 'BDC_OKCODE'  '=V69A_KOAN'.
                  PERFORM bdc_dynpro      USING 'SAPMV45A'    '5003'.
                  PERFORM bdc_field       USING 'BDC_CURSOR'  'KOMV-KBETR(02)'.
                  WRITE x_item-unitprc TO v_unitprc CURRENCY komv-waers NO-SIGN.
                  PERFORM bdc_field       USING 'KOMV-KSCHL(02)'  'ZPR0'.
                  PERFORM bdc_field       USING 'KOMV-KBETR(02)'  v_unitprc.
                  PERFORM bdc_field       USING 'BDC_OKCODE'  '/00'.
    *-----End of Addition
                  PERFORM bdc_dynpro      USING 'SAPMV45A'    '5003'.
                  PERFORM bdc_field       USING 'BDC_OKCODE'  '/EBACK'.
    Regards,
    Aman
    Message was edited by:
            Amandeep Kumar

  • How to hide the Condition types in item condition screen in Sales Order ?

    Hi Experts,
    We got new requirement from the Client. Pricing Condition types  are ZZBG, ZPBG, ZPBA, ZFSG, ZBDG and ZBHG part in Pricing Procedure. These condition types have Condition records. These need to be hidden in Item conditions screen in Sales Order but other status of the conditions remain unchanged. Pleas provide me the solution earliest  How this we can achieve in a best way.
    Best Regards,
    Srikith

    Hi Srikanth,
    You can achieve this using CONDITION EXCLUSION.
    Maintain Condition exclusion for first condition type its Exclude the condition types which are below to that.
    You must set a condition exclusion indicator for the price. You can do this in two ways:
    If you want to set the condition exclusion indicator a follows then you specify it:
    1..for all condition records of a condition type (e.g. with condition type PR00) when defining a condition type in SD Customizing
    2.for an individual condition record (e.g. only for material 4711) in the detail screen of a condition record (in the Condition exclusion field)
    Hope this will helps you
    Dasaradha

  • Accounting total value of item conditions

    Dear Experts,
    I have a scenario where rebates(volume discounts) are accrued at an item level through an item condition and are hence released to accounts also at an item level. As a result of this there are too many accrual entries getting posted for one single billing document depending on the number of line items of it having the accrual.
    I want to have the accrual to continue at item level only, but, while posting to accounts, system should be able to pass one single entry (Consolidated entry) for the total accrual value of all line items taken together so that one billing document will have only one accrual entry line in accounting.
    Is there any setting that can be done in condition types, billing document types or anywhere else? Any pointer towards a User-exit or Enhancement point?
    Thanks in Advance,
    Sujith

    Hi Sujith,
    Try transaction OBCY to summarize the transactions in accounting line item. Note # 36353. This customizing will try to summarize for all the accounting transactions irrespective of rebate or not so you should carefully choose your fields. As a last resort, you can fill some Z fields in accounting line item like billing document line number and condition type combination for all the line items except for rebate line item. Since all the line items have different value in this field except for rebate line items, system should summarize.
    Hope this helps.
    Regards,
    Naveen Aggarwal

  • Regarding The Contract ITEM Conditions Details

    Hello,
           I am Uploading a Contract Details from the excel sheet in to the se38 but i am not getting the item condition details for the contract.i have called a BAPI (BAPI_CONTRACT_CREATE) and (BAPI_CONTRACT_CHANGE) .in that i have passed the ITEM CONDITIONS but and am checking in ME33K  the item details are not getting updated . I have upload the 8 condition types but only one is getting uodated. I have 4 materials and for each material i have two two condition type, only the first conditon type of earch material is updated but not the second. I am unable to solve the problem please help me out. I will send also the code which i have wriiten.Please help me out as its Very Urgent.
    Ecpecting a helpful answer.
    REPORT  YCMPUR055.
    TYPE-POOLS: SLIS, TRUXS.
        I N T E R N A L   T A B L E S      D E C L A R A T I O N
    TYPES: BEGIN OF TY_RECORD,
           OUR_REF       TYPE BAPIMEOUTHEADER-OUR_REF,             "Reference Number
           VENDOR        TYPE BAPIMEOUTHEADER-VENDOR,              "Vendor
           DOC_TYPE      TYPE BAPIMEOUTHEADER-DOC_TYPE,            "Agreement Type
           DOC_DATE      TYPE BAPIMEOUTHEADER-DOC_DATE,            "Agreement Date
           PURCH_ORG     TYPE BAPIMEOUTHEADER-PURCH_ORG,           "Purchase Organisation
           PUR_GROUP     TYPE BAPIMEOUTHEADER-PUR_GROUP,           "Purchase Group
           ITEM_CAT      TYPE BAPIMEOUTITEM-ITEM_CAT,              "Item category
           PLANT         TYPE BAPIMEOUTITEM-PLANT,                 "Plant
           VPER_START    TYPE BAPIMEOUTHEADER-VPER_START,          "Valid from date
           VPER_END      TYPE BAPIMEOUTHEADER-VPER_END,            "Valid to date
           PMNTTRMS      TYPE BAPIMEOUTHEADER-PMNTTRMS,            "Payment terms
           ACUM_VALUE    TYPE BAPIMEOUTHEADER-ACUM_VALUE,          "Target Value
           CURRENCY      TYPE BAPIMEOUTHEADER-CURRENCY,            "Currency
           INCOTERMS1    TYPE BAPIMEOUTITEM-INCOTERMS1,         "Incoterms1
           INCOTERMS2    TYPE BAPIMEOUTITEM-INCOTERMS2,            "Destination
           LAST_DATE     TYPE SY-DATUM,                            "Last date
           ITEM_NO       TYPE BAPIMEOUTITEM-ITEM_NO,               "Item number
           MATERIAL      TYPE BAPIMEOUTITEM-MATERIAL,              "Material Code
           MAT_DESC      TYPE MAKTX ,                        " Material description
          SHORT_TEXT    TYPE BAPIMEOUTITEM-SHORT_TEXT,            "Material Description
           MATL_GROUP    TYPE BAPIMEOUTITEM-MATL_GROUP,            "Material Group
           TARGET_QTY    TYPE BAPIMEOUTITEM-TARGET_QTY,            "Target Quantity
           PO_UNIT       TYPE BAPIMEOUTITEM-PO_UNIT,               "Order Unit
           NET_PRICE     TYPE BAPIMEOUTITEM-NET_PRICE,             "Net Price
           PRICE_UNIT    TYPE BAPIMEOUTITEM-PRICE_UNIT,            "Price Unit
           ORDERPR_UN    TYPE BAPIMEOUTITEM-ORDERPR_UN,            "Order per Unit
           TAX_CODE      TYPE BAPIMEOUTITEM-TAX_CODE,              "Tax code
           COND_TYPE1    TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE1   TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE2    TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE2   TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE3    TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE3   TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE4    TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE4   TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE5    TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE5   TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE6    TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE6   TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE7    TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE7   TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE8    TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE8   TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE9    TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE9   TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE10   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE10  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE11   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE11  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE12   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE12  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE13   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE13  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE14   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE14  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE15   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE15  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE16   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE16  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE17   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE17  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE18   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE18  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE19   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE19  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE20   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE20  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE21   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE21  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE22   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE22  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE23   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE23  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE24   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE24  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE25   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE25  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE26   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE26  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE27   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE27  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE28   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE28  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE29   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE29  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE30   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE30  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE31   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE31  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE32   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE32  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE33   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE33  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE34   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE34  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE35   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE35  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE36   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE36  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE37   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE37  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE38   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE38  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE39   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE39  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE40   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE40  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE41   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE41  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE42   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE42  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE43   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE43  TYPE BAPIMEOUTCONDITION-COND_VALUE,
           COND_TYPE44   TYPE BAPIMEOUTCONDITION-COND_TYPE,
           COND_VALUE44  TYPE BAPIMEOUTCONDITION-COND_VALUE,
          END OF TY_RECORD.
    TYPES: BEGIN OF TY_OUT,
           DOCU_NUM       TYPE  EKKO-EBELN,
           OUR_REF        TYPE BAPIMEPOHEADER-OUR_REF,
           TEXT(100)       TYPE C,
          END OF TY_OUT.
    TYPES : BEGIN OF TY_MARC,
            MATNR TYPE MATNR,
            MTART TYPE MTART,
           MAKTX TYPE MAKTX,
            END OF TY_MARC.
    TYPES : BEGIN OF TY_DATA,
            MATNR TYPE MATNR,
            WERKS TYPE WERKS_D,
            END OF TY_DATA.
    DATA: IT_OUT TYPE STANDARD TABLE OF TY_OUT,
          IS_OUT TYPE TY_OUT.
    DATA: IT_DATA TYPE STANDARD TABLE OF TY_DATA,
          IS_DATA TYPE TY_DATA.
    DATA : IT_MARC TYPE STANDARD TABLE OF TY_MARC,
           IS_MARC TYPE TY_MARC.
    DATA: IT_RECORD TYPE STANDARD TABLE OF TY_RECORD,
          IS_RECORD TYPE TY_RECORD,
          I_TAB     TYPE TRUXS_T_TEXT_DATA.
    DATA: IT_FIELDCAT            TYPE SLIS_T_FIELDCAT_ALV,
          IT_EVENT               TYPE SLIS_T_EVENT ,
          IT_TOP_OF_PAGE         TYPE SLIS_T_LISTHEADER,
          E04_LT_TOP_OF_PAGE     TYPE SLIS_T_LISTHEADER,
          IS_FIELDCAT            TYPE SLIS_FIELDCAT_ALV,
          IS_LAYOUT              TYPE SLIS_LAYOUT_ALV,
          IS_EVENT               LIKE LINE OF IT_EVENT,
          G_REPID                TYPE SY-REPID.
    DATA:HEADER               TYPE BAPIMEOUTHEADER,
         HEADERX              TYPE BAPIMEOUTHEADERX,
         IT_ITEM              TYPE TABLE OF BAPIMEOUTITEM,
         IT_ITEMX             TYPE TABLE OF BAPIMEOUTITEMX,
         IT_ITEM_UP              TYPE TABLE OF BAPIMEOUTITEM,
         IT_ITEMX_UP             TYPE TABLE OF BAPIMEOUTITEMX,
          IT_ITEM_COND_VALIDITY   LIKE BAPIMEOUTVALIDITY   OCCURS 0 WITH HEADER LINE,
         IT_ITEM_COND_VALIDITY1  LIKE BAPIMEOUTVALIDITY   OCCURS 0 WITH HEADER LINE,
         IT_ITEM_COND_VALIDITYX  LIKE BAPIMEOUTVALIDITYX  OCCURS 0 WITH HEADER LINE,
         IT_ITEM_CONDITION    TYPE TABLE OF BAPIMEOUTCONDITION,
         IT_ITEM_CONDITIONX   TYPE TABLE OF BAPIMEOUTCONDITIONX,
         IT_ITEM_CONDITION_UP    TYPE TABLE OF BAPIMEOUTCONDITION,
         IT_ITEM_CONDITIONX_UP   TYPE TABLE OF BAPIMEOUTCONDITIONX,
         IT_RETURN            TYPE TABLE OF BAPIRET2,
         IS_ITEM              TYPE BAPIMEOUTITEM,
         IS_ITEMX             TYPE BAPIMEOUTITEMX,
         IS_ITEM_COND_VALIDITY1  TYPE BAPIMEOUTVALIDITY  ,
         IS_ITEM_COND_VALIDITYX  TYPE BAPIMEOUTVALIDITYX,
         IS_ITEM_COND_VALIDITY   TYPE BAPIMEOUTVALIDITY  ,
         IS_ITEM_CONDITION    TYPE BAPIMEOUTCONDITION,
         IS_ITEM_CONDITIONX   TYPE BAPIMEOUTCONDITIONX,
         IS_RETURN            TYPE BAPIRET2,
         EXP_HEADER           TYPE BAPIMEOUTHEADER,
         IT_RETURN_UP            TYPE TABLE OF BAPIRET2,
         W_PURCHASINGDOCUMENT TYPE BAPIMEOUTHEADER-NUMBER,
         PURCHASINGDOCUMENT   TYPE BAPIMEOUTHEADER-NUMBER.
    *DATA : W_CNT TYPE I.
    DATA : W_CNT TYPE I,
           W_BAT TYPE I,
           W_INDEX TYPE SY-TABIX,
           W_TABIX TYPE SY-TABIX.
             S E L E C T I O N     S C R E E N
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    PARAMETERS:  P_FLNAME TYPE RLGRAP-FILENAME .
    SELECTION-SCREEN END OF BLOCK B1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FLNAME.
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        EXPORTING
          PROGRAM_NAME  = SYST-REPID
          DYNPRO_NUMBER = SYST-DYNNR
          FIELD_NAME    = P_FLNAME
        CHANGING
          FILE_NAME     = P_FLNAME
        EXCEPTIONS
          MASK_TOO_LONG = 1
          OTHERS        = 2.
            S T A R T      O F     S E L E C T I O N
    START-OF-SELECTION.
      PERFORM UPLOAD_DATA.
      PERFORM BAPI_CALL.
      PERFORM DISPLAY.
    *&      Form  UPLOAD_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM UPLOAD_DATA .
      CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
        EXPORTING
          I_TAB_RAW_DATA       = I_TAB
          I_FILENAME           = P_FLNAME
        TABLES
          I_TAB_CONVERTED_DATA = IT_RECORD
        EXCEPTIONS
          CONVERSION_FAILED    = 1
          OTHERS               = 2.
    ENDFORM.                    " UPLOAD_DATA
    *&      Form  BAPI_CALL
          text
    -->  p1        text
    <--  p2        text
    FORM BAPI_CALL .
      CHECK IT_RECORD[] IS NOT INITIAL.
      LOOP AT IT_RECORD INTO IS_RECORD.
        CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
          EXPORTING
            INPUT  = IS_RECORD-MATERIAL
          IMPORTING
            OUTPUT = IS_RECORD-MATERIAL.
        IS_DATA-MATNR = IS_RECORD-MATERIAL.
        IS_DATA-WERKS = IS_RECORD-PLANT.
        APPEND IS_DATA TO IT_DATA.
        CLEAR: IS_DATA, IS_RECORD.
      ENDLOOP.
      SORT IT_DATA BY MATNR WERKS.
      DELETE ADJACENT DUPLICATES FROM IT_DATA COMPARING MATNR WERKS.
      SELECT A~MATNR
               MTART
             B~MAKTX
             INTO TABLE IT_MARC
             FROM  MARA AS A JOIN MAKT AS B
             ON A~MATNR = B~MATNR
             FOR ALL ENTRIES IN IT_DATA
             WHERE A~MATNR = IT_DATA-MATNR
               AND SPRAS = SY-LANGU.
      IF SY-SUBRC = 0.
      ENDIF.
      SORT IT_MARC BY MATNR. " WERKS.
      SORT IT_RECORD BY OUR_REF.
      LOOP AT IT_RECORD INTO IS_RECORD.
        W_CNT = W_CNT + 1.
        CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
          EXPORTING
            INPUT        = IS_RECORD-MATERIAL
          IMPORTING
            OUTPUT       = IS_RECORD-MATERIAL
          EXCEPTIONS
            LENGTH_ERROR = 1
            OTHERS       = 2.
        READ TABLE IT_MARC INTO IS_MARC WITH KEY MATNR = IS_RECORD-MATERIAL
                                                 BINARY SEARCH.
        IF SY-SUBRC <> 0.
          IS_OUT-OUR_REF = IS_RECORD-OUR_REF.
          CONCATENATE IS_RECORD-MATERIAL ' material does not exist..' INTO IS_OUT-TEXT SEPARATED BY SPACE.
          APPEND IS_OUT TO IT_OUT.
          CLEAR IS_OUT.
          CONTINUE.
        ENDIF.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            INPUT  = IS_RECORD-VENDOR
          IMPORTING
            OUTPUT = IS_RECORD-VENDOR.
        HEADER-COMP_CODE  = 'SCCL'.
        HEADER-DOC_TYPE   = IS_RECORD-DOC_TYPE.
        HEADER-VENDOR     = IS_RECORD-VENDOR.
        HEADER-PMNTTRMS   = IS_RECORD-PMNTTRMS.
        HEADER-ITEM_INTVL = 1.
        HEADER-PURCH_ORG  = IS_RECORD-PURCH_ORG.
        HEADER-PUR_GROUP  = IS_RECORD-PUR_GROUP.
        HEADER-CURRENCY   = IS_RECORD-CURRENCY.
        HEADER-DOC_DATE   = IS_RECORD-DOC_DATE.
        HEADER-VPER_START = IS_RECORD-VPER_START.
        HEADER-VPER_END   = IS_RECORD-VPER_END.
        HEADER-INCOTERMS1 = IS_RECORD-INCOTERMS1.
        HEADER-INCOTERMS2 = IS_RECORD-INCOTERMS2.
        HEADER-ACUM_VALUE = IS_RECORD-ACUM_VALUE.
        HEADER-OUR_REF    = IS_RECORD-OUR_REF.
        HEADERX-COMP_CODE  = 'X'.
        HEADERX-DOC_TYPE   = 'X'.
        HEADERX-VENDOR     = 'X'.
        HEADERX-PMNTTRMS   = 'X'.
        HEADERX-PURCH_ORG  = 'X'.
        HEADERX-PUR_GROUP  = 'X'.
        HEADERX-CURRENCY   = 'X'.
        HEADERX-DOC_DATE   = 'X'.
        HEADERX-VPER_START = 'X'.
        HEADERX-VPER_END   = 'X'.
        HEADERX-INCOTERMS1 = 'X'.
        HEADERX-INCOTERMS2 = 'X'.
        HEADERX-ACUM_VALUE = 'X'.
        HEADERX-OUR_REF    = 'X'.
        IS_ITEM-ITEM_NO    = IS_RECORD-ITEM_NO.
        IS_ITEM-SHORT_TEXT = IS_MARC-MAKTX. "IS_RECORD-MAT_DESC .
        IF IS_MARC-MTART = 'ZMPN'.
          IS_ITEM-EMATERIAL = IS_RECORD-MATERIAL.
        ELSE.
          IS_ITEM-MATERIAL   = IS_RECORD-MATERIAL.
        ENDIF.
        IS_ITEM-PLANT      = IS_RECORD-PLANT.
        IS_ITEM-MATL_GROUP = IS_RECORD-MATL_GROUP.
        IS_ITEM-TARGET_QTY = IS_RECORD-TARGET_QTY.
        IS_ITEM-PO_UNIT    = IS_RECORD-PO_UNIT.
        IS_ITEM-ORDERPR_UN = IS_RECORD-ORDERPR_UN.
        IS_ITEM-NET_PRICE  = IS_RECORD-NET_PRICE.
        IS_ITEM-PRICE_UNIT = IS_RECORD-PRICE_UNIT.
        IS_ITEM-TAX_CODE   = IS_RECORD-TAX_CODE.
        IS_ITEM-ITEM_CAT   = IS_RECORD-ITEM_CAT.
        IS_ITEM-PERIOD_IND_EXPIRATION_DATE = 'D'.
        APPEND IS_ITEM TO IT_ITEM.
        IS_ITEMX-ITEM_NO    = IS_RECORD-ITEM_NO.
        IS_ITEMX-ITEM_NOX   = 'X'.
        IS_ITEMX-SHORT_TEXT = 'X'.
        IS_ITEMX-MATERIAL   = 'X'.
        IS_ITEMX-PLANT      = 'X'.
        IS_ITEMX-MATL_GROUP = 'X'.
        IS_ITEMX-TARGET_QTY = 'X'.
        IS_ITEMX-PO_UNIT    = 'X'.
        IS_ITEMX-ORDERPR_UN = 'X'.
        IS_ITEMX-NET_PRICE  = 'X'.
        IS_ITEMX-PRICE_UNIT = 'X'.
        IS_ITEMX-TAX_CODE   = 'X'.
        IS_ITEMX-ITEM_CAT   = 'X'.
        APPEND IS_ITEMX TO IT_ITEMX.
        IS_ITEM_COND_VALIDITY1-PLANT      =  IS_RECORD-PLANT.
        IS_ITEM_COND_VALIDITY1-VALID_FROM =  IS_RECORD-VPER_START.
        IS_ITEM_COND_VALIDITY1-VALID_TO   =  IS_RECORD-VPER_END.
        IS_ITEM_COND_VALIDITYX-PLANT      = 'X'.
        IS_ITEM_COND_VALIDITYX-ITEM_NOX   = 'X'.
        IS_ITEM_COND_VALIDITYX-SERIAL_IDX = 'X'.
        IS_ITEM_COND_VALIDITYX-VALID_FROM = 'X'.
        IS_ITEM_COND_VALIDITYX-VALID_TO   = 'X'.
        IF IS_RECORD-COND_TYPE1 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '001'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE1.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE1.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '001'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE2 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '002'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE2.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE2.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '002'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE3 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '003'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE3.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE3.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '003'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE4 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '004'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE4.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE4.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '004'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE5 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '005'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE5.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE5.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '005'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE6 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '006'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE6.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE6.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '006'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE7 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '007'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE7.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE7.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '007'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE8 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '008'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE8.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE8.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '008'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE9 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '009'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE9.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE9.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '009'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE10 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '010'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE10.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE10.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '010'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE11 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '011'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE11.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE11.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '011'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE12 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '012'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE12.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE12.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '012'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE13 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '013'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE13.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE13.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '013'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE14 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '014'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE14.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE14.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '014'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE15 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '015'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE15.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE15.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '015'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE16 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '016'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE16.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE16.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '016'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE17 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '017'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE17.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE17.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '017'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE18 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '018'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE18.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE18.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '018'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE19 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '019'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE19.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE19.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '019'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE20 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '020'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE20.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE20.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '020'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE21 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '021'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE21.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE21.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '021'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE22 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '022'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE22.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE22.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '022'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE23 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '023'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE23.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE23.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '023'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE24 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID = '024'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE24.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE24.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '024'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE25 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID =  '025'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE25.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE25.
          APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
          IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITIONX-SERIAL_ID = '025'.
          IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
          IS_ITEM_CONDITIONX-COND_TYPE   = 'X'.
          IS_ITEM_CONDITIONX-COND_VALUE  = 'X'.
          APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
          IS_ITEM_COND_VALIDITY1-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITY1-SERIAL_ID  =  IS_ITEM_CONDITION-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
          IS_ITEM_COND_VALIDITYX-ITEM_NO    =  IS_RECORD-ITEM_NO.
          IS_ITEM_COND_VALIDITYX-SERIAL_ID  =  IS_ITEM_CONDITIONX-SERIAL_ID.
          APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
        ENDIF.
        IF IS_RECORD-COND_TYPE26 IS NOT INITIAL.
          IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
          IS_ITEM_CONDITION-SERIAL_ID =  '026'.
          IS_ITEM_CONDITION-COND_TYPE   = IS_RECORD-COND_TYPE26.
          IS_ITEM_CONDITION-COND_VALUE  = IS_RECORD-COND_VALUE26.

    Hi,
    Please get the valid condition ( based on date ) from A016 (MK & LPA). With the appropriate KNUMH read the Condition header. You can access the different condition items viz., PB00, RA00 etc., for the values from table KONP. Further if you have Value scales / Quantity scales, you can read the data from KONM, KONW.
    An additional tips: in KONP, if you have a condition like RA00 - Rebate, the value will be multiplied by 10 and saven in database to accomodate the discount to the third decimal.
    I could not completely understand your requirements like nature of development ( Is it a Report / SAP Script ??) you are working etc., so that I could help you precisely.
    Hope this helps,
    Best Regards, Murugesh AS
    Message was edited by:
            Murugesh Arcot

  • Change the Purchase Order : Item - Conditions value

    Hi,
    How to change the Purchase Order : Item - Conditions value.
    In my PO, Item conditions shows the SKTO - Cash Discount value is 0. I want to change the Discount value 10.
    How can i change it??

    Hi,
    Goto the Transaction code MN05 and give the CONDITION TYPE SKTO and change the value
    MN05 is the Transaction code for Purchase order  condition types.
    Please check and revert back if you need more details.
    regards,
    santosh

  • Display Vendor Name In PO Item Condition In Item Details

    Hi,
    Process is, if we have created to PO (ME21N) and given XX Vendor in Header and ZZ Vendor Code has maintained as per condition wise in line item wise in condition tab in item details but not shows ZZ Vendor Name.
    I want to display the Vendor Name in item details.
    Please tell me, How to display the vendor Name?
    If any User Exit or other option through.
    Devendra

    Thanks for Reply, as suggested by you, I have checked with ABAPer maybe this enhancement use for new tab in PO
    I need to display the vendor name at the space before the vendor and vendor code are shown.
    Me21n-->give item and its details>item conditions tab---->select particular condition type -
    >click on Conditional details icon. There at the end right hand side vendor field is present where we can give vendor code. Beside the vendor field i need to display that given vendor code related name. So that user won't make any mistakes in giving the vendor code
    Pl provides me the solution to do this. Which is the best way to bring vendor name in that screen?
    Devendra

  • Vendor Change in item conditions for ME21N

    hi frnds,
    in me21n, i have placed 1 more vendor in header section. now i need to pass this vendor in item condtions for some condition types. for this, i have gone thru LMEKO002 enhancement. in this enhancement i am not able to get any data of item conditions.
    helpful answers will be rewarded by points.
    thanks in advance.
    regards,
    balu

    Hi Thomas,
    i have tried it. but in that item conditions are not coming. in that enhancement we can get the details of item only. but my requirement is, i need to change the vendor for some specific conditions in each item only.
    ex: assume that item no. 10 have 5 conditions. in that for 2 conditions should pickup the main vendor and another 3 conditions should pickup another customised vendor which i was given in header.
    Hi Prabhu,
    i am trying on Badi.
    Regards,
    Balu

  • Condition populated twice in the item conditions in the sales order

    Hi,
    We are creating the sales order through .csv flat file. The program calls the relevant BAPI which creates the sales order. It also fills the amount from the file for the manual condition type YNET in the pricing procedure. YNET is defaulted automatically in the sales order. But maintaining value is not mandatory.
    The problem is in sales order, YNET is displayed twice in the item conditions.
    One YNET with no value and another YNET with value which we passed through file.
    Any suggestions how we can get only one YNET in the item conditions in the sales order or how the value from our file can be added against the YNET in the pricing procedure with showing another YNET in the item conditions in the sales order
    Thanks in advance,

    Hi Ramakrishnan,
    Thanks for your reply. Its a manual condition type. No condition records maintained.
    Thanks,
    Ram
    Original thread:
    Hi,
    We are creating the sales order through .csv flat file. The program calls the relevant BAPI which creates the sales order. It also fills the amount from the file for the manual condition type YNET in the pricing procedure. YNET is defaulted automatically in the sales order. But maintaining value is not mandatory.
    The problem is in sales order, YNET is displayed twice in the item conditions.
    One YNET with no value and another YNET with value which we passed through file.
    Any suggestions how we can get only one YNET in the item conditions in the sales order or how the value from our file can be added against the YNET in the pricing procedure without showing another YNET in the item conditions in the sales order
    Thanks in advance,

  • User exit in sales order to add new item condition

    Hi,
    Our business requirement is to add new item conditions in an order (VA01/VA02) using ABAP coding. Has anyone done this before?
    I'm thinking of using USEREXIT_NEW_PRICING_VBAP in MV45AFZB ?
    Thanks.
    Edited by: William Lawlor on Jul 8, 2008 12:19 PM

    Hi,
    This exit USEREXIT_NEW_PRICING_VBAP in MV45AFZB is used only to determine or not a new price calculation according to a modification of specific field (ex : if shipping condition is changed, then new price determination).
    To add new condition type, you can used requirement in pricing procedure (V/08) with condition formula.
    What is the condition to add this new condition type ?
    Regards,
    Lionel

  • BBP_PD_PO_GETDETAIL returns empty item[], condition[] first time

    Hi Expert,
    I have implimented BADI BBP_DRIVER_DETERMINE and assign custom FM zB46B_DPO_TRANSFER to create PO in backend system.
    When I create PO and order it first time... FM zB46B_DPO_TRANSFER is getting called where I want to read PO item condition using FM BBP_PD_PO_GETDETAIL and pass to fm which creates PO in backend.
    FM BBP_PD_PO_GETDETAIL is returning blank table PRIDOC[] (pricing data).
    I pass guid of the PO to the FM to get the details.
    for the saved PO it return every details perfectly.
    Do I need to read from buffer or what... how ???
    Thanks,
    Rajesh.

    hi ,
      Try to read from buffer.
      The below code will work in change Badi so definitely it will work in your badi also.
         DATA: lo_pd_model TYPE REF TO /sapsrm/if_pdo_model_access.
          lo_pd_model = /sapsrm/cl_pdo_model_factory=>get_instance( ).
      lo_pd_model->get_detail(
        EXPORTING
          iv_guid          = is_header-guid
          iv_with_itemdata = abap_TRUE
        IMPORTING
          es_header        = li_header
          ET_PRIDOC        = LT_PRIDOC ).
    if the above method is not working then get the buffer instance for /SAPSRM/CL_PDO_BO_PO_ADV.
    data   lo_pdo_po              TYPE REF TO /sapsrm/if_pdo_bo_po_adv.
      CALL METHOD /sapsrm/cl_pdo_factory_po_adv=>get_buffered_instance
        EXPORTING
          iv_header_guid = ls_header-guid
        RECEIVING
          ro_instance    = lo_pdo_po.
      check the implementation class  /SAPSRM/CL_PDO_BO_PO_ADV which method is suitable to get the condition records.
       the below code is sample method how to call ....
    TRY.
          CALL METHOD lo_pdo_po->/sapsrm/if_pdo_do_schedules~get_schedule_line
            EXPORTING
              iv_item_guid         = ls_item-guid
            IMPORTING
              et_sdln              = lt_sdln
              eo_meta_data_handler = lo_meta_data_handler
            CHANGING
              co_message_handler   = lo_message_handler.
        CATCH /sapsrm/cx_pdo_abort .
        CATCH /sapsrm/cx_pdo_no_authorizatio .
      ENDTRY.
    regards,
    Devi

  • How can you make the Chart "Color Highlights" Item Condition val a variable

    Hi,
    I have a report with a chart on it.
    The chart has on Item Condition on it to change the color of each bar to red if the value is under a certain value.
    This value needs to be passed in as a parameter to the report.
    The condition looks like this
    if  Avg PerformancePercent < 90 then bar color = red
    The 90 in this condition needs to be set from a parameter P_PerformancePercent_Threshold.
    I am producing the report in Visual Studio 2005 using CrystalReportViewer to display the report.
    Since the value field seems to only take in numeric values I have assumed there is no way to use a parameter something like.
    So I am looking at doing this through code.
    The object model for the ChartObject does not have many properties/methods on it.
    Is there any other way to achieve this?
    Thanks, George

    Functionality using the Crystal Reports SDK in Visual Studio .NET is limited to the appearance of the chart in the viewer such as height and width. See the following for more details;
    [ChartOject Members described|http://devlibrary.businessobjects.com/BusinessObjectsXIR2SP2/en/en/CrystalReports_dotNET_SDK/crsdk_net_doc/doc/crsdk_net_doc/html/crlrfCrystalDecisionsCrystalReportsEngineChartObject_MembersTopic.htm].
    [ChartObject Properties described|http://devlibrary.businessobjects.com/BusinessObjectsXIR2SP2/en/en/CrystalReports_dotNET_SDK/crsdk_net_doc/doc/crsdk_net_doc/html/crlrfCrystalDecisionsCrystalReportsEngineChartObject_PropertiesTopic.htm].
    99% of this time, if you can not do something at design time, you will not be able to do it at runtime either. See [this|http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_dev/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes.do] note.
    Ludek
    Follow us on Twitter http://twitter.com/SAPCRNetSup

  • Condition type in PO header can be divided in each PO item condition

    Dear all,
    I would like to do as below:
    In PO:
    Item detail:
                       Material A, Qty = 200
                       Material B, Qty = 300
    Header:
        Condition tab: Condition type = Z001 (Freight charge) = 15,000 $
    After that the system auto calculate and update the condition type in Item Condition:
    - Material A, Condition type = Z001 (Freight charge) = 15,000 / (200+300) * 200 = 6,000 $
    - Material B, Condition type = Z001 (Freight charge) = 15,000 / (200+300) * 300 = 9,000 $
    Can I do that?
    How I can configure the system?
    Thanks a lot for your support!
    Rgds,
    CH

    yes, this can be done.
    http://help.sap.com/erp2005_ehp_05/helpdata/en/dd/56177a545a11d1a7020000e829fd11/frameset.htm

Maybe you are looking for

  • Frequent Kernel Panics - iMac G4/800

    My mom's had an iMac G4/800 for about five years now... it's always be a good and reliable machine... all of a sudden, she's been plagued with kernel panics occuring several times a day... She's tried several clean OS X installs to no avail... last n

  • OIM Upgrade from 9.1.0.1 to 9.1.0.2 - issue

    I performed upgrade from 9.1.0.1 to 9.1.0.2. All diagnostic dashboard tests are passed with exception of two tests. The following checks failed (diagnostic dashboard): 1. Oracle Identity Manager Libraries and Extensions Version report java.lang.NullP

  • Empty error dialog when trying to sync (Windows 7 x64 + itunes 9 and 10)

    This post:http://discussions.apple.com/thread.jspa?messageID=11692653 describes my problem, but their solution did not work for me (setting Outlook as defauylt and use iTunes 9.2.0.61). Basically what happens is that every 10 minutes or so, an error

  • I am not able to share a link to a web page on my face book page when I am using Firefox.

    I recently have tried to share a link to a video clip from youtube and another from Yahoo on my face page. When I click on the facebook icon to try I get the page that at the bottom has a button saying share. When I click on it nothing happens. I was

  • Deployement changes are not reflecting on Test Server

    Hello All, I have Local (development)environment , I have deployed this application in Test envoirment as well and working fine. I have identified some changes and made changes on local machine and tested, now I am trying to deploy same changes on Te