Invoice item condition read

Hi experts,
I need to retreive the "Net Vlaue 1 (w/o freight)" (step 500) of the "ZH00" condition (step 415) which is on the material line item of the invoice.
When I check the KONV table, It's only giving me the "ZH00" values but not the values for "Net Vlaue 1 (w/o freight)" (see picture underneath).
ZH00 is step 415 and I need the values for step 500 - Net Vlaue 1 (w/o freight) but they aren't stored in any table in my opinion.
I've already tried to debug the SAP program that gets this values in VF03 and I see that table XKOMV is filled with all the values in program "SAPLV69A" but I can't seem to find where or how this happens.
Any idea on how to get this value through a Function Module, ... ?
Thanks in advance for your response.
Kind regards,
Niels De Greef

Hello Niels,
you should check the corresponding pricing procedure in V/08 with your functionnal expert and check your step 415.
It is possible to carry over the subtotal value in a specified field as highlighted in this example (with value 2, it will be stored in KOMP-KZWI2 field):
Use the matchcode to choose the fitting field receiving this subtotal data.
Regenerate pricing in existing document to have the value stored in the specified field (VBRP-KZWI2 for our example).
Hope it helps.
Best regards,

Similar Messages

  • In invoice sum of weight for the calculation of a item condition transport

    Hy all,
    I created 2 order with the same sold to party but two different ship to party.
    In these sales order I have a transport condition type with a Freight condition category. For this item condition, I created condition records via VK11. The scale Basis is the weight.
    I delivered the two orders and I want to create only one invoice.
    My conditions are wrong in the invoice, SAP take the sum of the two weights and display the wrong amount.
    Why does not SAP take each weight ?
    Apparently I do not have the mistake when the ship to party are the sameu2026
    Do you have an idea ? 
    Thanks
    Pierre

    Here an example :
    in the order
    item 10 : weight 10 --> condition = 10 u20AC
    item 20 weight 10 --> condition = 10 u20AC
    (weight 20 : 20 u20AC°)
    Invoice
    item 10 : condition 20 u20AC
    Item 20 : condition 20 u20AC
    I am waiting for 10 u20AC in the condition.
    Thanks
    Pierre

  • Carry over of item conditions to header conditions of an invoice

    I am encountering a situation where the freight conditions at the item level do not carry over to the header in a consistent manner. However, if I look into the item condition and then revisit the header condition, the carried over value magically populates. I am however, unable to save the invoice with this setting. What could be driving this issue and more importantly, how do I fix it? We currently have many invoices in production that  probably have the same issue. Please advice.

    Hi,
    go to V/06
    select frieght condition and see whether you tickmark to HEADER CONDITION option.
    Kapil

  • Item condition repeating in Invoice for Batch split items-V  Urgent

    Hi Guys,
    My Sales order has one line item
    One Item condition is there in the pricing procedure, it brings the value as the relevant condition record is existing.
    Batch split is happening in delivery and because of which the order item is splitting into two lines, the main item is showing the quantity as zero, and the batch split item is holding the entire quantity in the delivery document..
    When this delivery is converting into billing, the invoice is showing two lines, and is bringing the condition both for the main item (zero quantity), and for the batch split item (with full quantity).
    Now because of this the customer is being charged twice by way of this condition type which is repeating in both the line items.
    Ideally, for the main item which has the quantity as zero, this condition should not come. It should rather appear for the item which holds the full quantity.
    How can correct this, pls let me know.
    Many Thanks,
    Regards,
    Vivek

    summarize the batch split into the main item: use Billing quantity flag = G in copy control tcode VTFL.
    Roberto

  • Conditional read only radiogroup item losing value when saving

    Apex 3.2
    I have a radiogroup item that is set to read only after it's populated and the user is not in the ADMIN Role. When non ADMIN users edit the page, it shows the value and they cannot change it, but if they save the page, it loses the value. Works fine if the user has ADMIN role.
    This is the Pl/SQL function in the "Item is read only when" section
    begin
    if :p3_event_detail_id is not null and :p3_notification_period_id != -1 and not apex_util.public_check_authorization('ADMIN') then
    return true;
    else
    return false;
    end if;
    end;
    There is also a Not Null validation on this radiogroup item.
    I changed the item type to select list and it works fine, but user like the radiogroup button.
    Any ideas?

    It's using a shared component LOV cleverly called LOV_YN which consists of a static LOV with
    1 Display=Yes, Return=Y
    2 Display=No, Return=N
    The settings in the LOV section on the item iteself:
    Named LOV: LOV_YN
    Display Extra values: No Dynamic translation: Not translated
    Number of columns: 2 Display null: No
    Null display value is blank as is null return value
    Item was setup as a radio group and was only converted over to a select list to work around this issue. Let me know what else you need and thanks again.
    Rgds/Mark M.

  • How do billing item conditions hit accounting?

    Hello,
    I am picking up the billing item condition values from KWERT and the corresponding GL Account SAKN1 from the KONV tabke. KWERT gets stored with the sign. I need to know how this condition amount will hit accounting. Would it be a debit or a credit entry on the accounting side. How can I do this? I cannot use the debit/credit indicator BSEG-SHKZG as we have a summarization on the material and we are trying to re-determine in a custom code what amounts should have posted to BSEG by material. While I am getting the amounts correctly from KONV, I am not able to figure out how these amounts should be treated on the accounting side - as a debit or a credit?
    Example, on a regular invoice if the value is positive for a G/L account, on the accounting side the value is reverse in sign. However, this cannot be generalized as we can have many different types of invoices and different combinations.
    Thanks,
    Prayarna

    Hi ,
    if u are unable to use BSEG for credit or debit , then what u can do is , ask ur Functional ppl abt the condition types , which one will have -ve values in the pricing procedure..
    i think is the only way to do in this case , finding which condition type is -ve.
    regards
    PP.

  • How do the billing item conditions hit accounting?

    Hello,
    I am picking up the billing item condition values from KWERT and the corresponding GL Account SAKN1 from the KONV tabke. KWERT gets stored with the sign. I need to know how this condition amount will hit accounting. Would it be a debit or a credit entry on the accounting side. How can I do this? I cannot use the debit/credit indicator BSEG-SHKZG as we have a summarization on the material and we are trying to re-determine in a custom code what amounts should have posted to BSEG by material. While I am getting the amounts correctly from KONV, I am not able to figure out how these amounts should be treated on the accoutning side - as a debit or a credit?
    Example, on a regular invoice if the value is positive for a G/L account, on the accounting side the value is reverse in sign. However, this cannot be generalized as we can have many different types of invoices and different combinations.
    Thanks,
    Prayarna

    Hi ,
    if u are unable to use BSEG for credit or debit , then what u can do is , ask ur Functional ppl abt the condition types , which one will have -ve values in the pricing procedure..
    i think is the only way to do in this case , finding which condition type is -ve.
    regards
    PP.

  • INVOICE and CONDITIONS tabs

    Hi
    When I am creating STO PO, in item details Ii am not able to see INVOICE and CONDITIONS tabs in Quality Server, these tabs are appearing in Development server.
    can you help
    babu rao

    Okay,
    then check whether the calc schema is correct in your quality system. It sounds like there is no content.
    regards Paul.

  • Invoice item pricing

    Hello,
    Is there a function module to obtain the pricing conditions of an invoice item?
    Thank you
    Nuno SIlva

    Hi,
    RV_INVOICE_PRICE is FM.
    Regards,
    If helpful reward with points(Don't forget).

  • Link between SD invoice item and corresponding accounting document item

    Hi,
    I have a problem regarding the link between the items of an SD invoice ( or
    credit note ) and those of the corresponding accounting document. There's a
    custom report which extracts information about each credit/debit note
    produced within a certain period. This program has recently failed due to a
    particular case: a credit note was generated starting by two note requests;
    in other terms, cardinality: 1:N exists between the credit note and the
    request document. Currently, the program generates duplicated records in
    this case, because of the following schema:
    -> main loop on VBAK data ( request document header data )
       -> inner loop on BSEG data ( accounting document items );
    our current access criteria in reading tb_bseg is only:
    ... where tb_bseg-belnr = tb_vbrk-vbeln.
    Providing that tb_vbrk-vbeln doesn't differ and that both tb_vbak and tb_bseg
    contain two records ( the two requests the first and the two accounting
    document items the second ), the program fails as follows:
    ° first request  -> two lines
    ° second request -> two lines.
    Is there any way to link each invoice item with the corresponding credit
    note item?
    Thanks in advance to all of you.
    Adrian.

    Hi,
    I have a problem regarding the link between the items of an SD invoice ( or
    credit note ) and those of the corresponding accounting document. There's a
    custom report which extracts information about each credit/debit note
    produced within a certain period. This program has recently failed due to a
    particular case: a credit note was generated starting by two note requests;
    in other terms, cardinality: 1:N exists between the credit note and the
    request document. Currently, the program generates duplicated records in
    this case, because of the following schema:
    -> main loop on VBAK data ( request document header data )
       -> inner loop on BSEG data ( accounting document items );
    our current access criteria in reading tb_bseg is only:
    ... where tb_bseg-belnr = tb_vbrk-vbeln.
    Providing that tb_vbrk-vbeln doesn't differ and that both tb_vbak and tb_bseg
    contain two records ( the two requests the first and the two accounting
    document items the second ), the program fails as follows:
    ° first request  -> two lines
    ° second request -> two lines.
    Is there any way to link each invoice item with the corresponding credit
    note item?
    Thanks in advance to all of you.
    Adrian.

  • Function module to retrieve the account number linked to an SD invoice item

    Hi all,
    I should retrieve the gl account number linked to a certain SD invoice item. The
    program starts from VBRK and VBRP data. Is there a function module which
    enables to get it starting from these header lines? I already used the function
    module: RV_INVOICE_ACCOUNT_DETERM ( release: 4.0 ), but in some cases it
    doesn't seem to function properly ( the export table TKOMV doesn't contain a
    value for the SAKN1 field ). For the invoices for which the function isn't able to
    retrieve the account number, the standard accounting analysis functionality returns
    the following message: account determination carried out via KOFI type. So I'm
    searching for a function module that's able to retrieve the account number in these
    cases also.
    Thanks in advance.
    Adriano.

    Dear Adriano,
    Try with Function Module 'SD_DETERMINE_ACCOUNT_INVOICE '.
    Additional Info:
    BAPIs related salesorder:
    BAPI_SALESORDER_CHANGE Sales order: Change Sales Order
    BAPI_SALESORDER_CONFIRMDELVRY Sales Order: Confirmation of Delivery; Document Flow Update
    BAPI_SALESORDER_CREATEFROMDAT1 Sales order: Create Sales Order
    BAPI_SALESORDER_CREATEFROMDAT2 Sales order: Create Sales Order
    BAPI_SALESORDER_CREATEFROMDATA Create Sales Order, No More Maintenance
    BAPI_SALESORDER_GETLIST Sales order: List of all Orders for Customer
    BAPI_SALESORDER_GETSTATUS Sales Order: Display Status
    BAPI_SALESORDER_SIMULATE Sales Order: Simulate Sales Order
    FM:
    MB_ADD_PURCHASE_ORDER_QUANTITY (Reading and adding open purchase order quantities)
    SD_SALES_ORDER_STATUS_WWW for complete details including the delivery information.
    Hope this will help.
    Regards,
    Naveen.

  • 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.

  • 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

  • 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,

  • 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

Maybe you are looking for

  • Quick Time Machine Question.

    Hi guys, new to the Mac interface (been a windows user all my life), but needless to say I can see what all the fuss was about (OSX is amazing). My question is in regards to time machine. If I erase something off of my Mac, when TM does a backup does

  • Multiple namespaces in an XML document

    I have an XML document that I am trying to use within a data flow (XML Source)--the problem is that I keep getting an error message stating that the XML document has multiple namespaces and therefore, SSIS will not create the XSD for me.  If I take o

  • The Super Talent memory ram W1600SB8GM is compatible with the model MacBookPro MD103E/A Mid 2012

    The Super Talent memory ram W1600SB8GM is compatible with the model MacBookPro MD103E/A Mid 2012

  • Using iPhone from Australia in Thailand

    I am looking to buy a iPhone 4s as a gift for a friend in Thailand will a phone purchased in Australia be suitable or should I purchase it from apple store Thailand

  • ABAP and PDF

    Hi Guru! I have a big problem.. I work on release 4.7 and  I have a report that send an e-mail to SAP users with an attachment. The attachment is a Spool of a Sapscript in PDF format.. How it is possible that the user edit some fields of the pdf ? He