Duplicate Item in Details Block

Dear Expert,
I written some code for checking of the same item in detail block, when I am using keyboard it is runing ok, but when I nevigate the same from mouse to another item, it will not check the duplicate item, my problem is when I move the mouse from one filed to another my Item-Code will be validate every time when I leave the mouse from One Item to another.
Please give me your expert adive.
s mishra

Hi Mark,
Actually this my code but it doesn't work.....
if :slcl.bulk_question_answer = 'N' then
Set_Item_Instance_Property('SLCL.BULK_ERROR_DETAILS', CURRENT_RECORD, UPDATE_ALLOWED,PROPERTY_TRUE);
elsif :slcl.bulk_question_answer = 'Y' then
Set_Item_Instance_Property('SLCL.BULK_ERROR_DETAILS', CURRENT_RECORD, UPDATE_ALLOWED, PROPERTY_FALSE);
:SLCL.BULK_ERROR_DETAILS := '';      
end if;
Please remember I put this code in the when-checkbox-changed trigger the default if YES.
Any further advice or idea are greatly appreciated....
Thanks.
Regards,
Jun

Similar Messages

  • How to prevent duplicate entry in Details block

    Dear All
    I am using Forms 10g.
    I have a detail block.
    There is a column called Ip_Address.
    There i want to prevent duplicate entry .
    How can i do this ?

    hey i have a requirement that to restrict duplicate entry in both block(both multi record).the blocks are DEPT(MATER)
    EMP(DETAIL)
    the associated fieds in master block DEPT.DEPT_NO,in detail EMP.EMP_ID .
    I have done' Kevin D Clarke’s calculated item ' both in master and detail block
    its working fine for master block but in case of detail block its only respond to the current session(i.e. if the new value is inserted or save it will restrict another record to be inserted of that last record's value),it does not restrict duplicate value enter ,checking with other existing records(which are saved in earlier session,though after query it is shown on the form)
    can anyone guide me why its not working

  • How to validate non commited items in detail block.

    Hi All,
    I have a Detail block with 10 rows and 2 columns. the select of items is based on LOV. If i select One item in one row, then the user cannot select the same item again in other rows. either I need to not show the selected item in LOV or I need to raise form trigger failure and ask him to change values. This is to be done before commiting the items. Can anyone, please suggest me some way or triggers I can use.
    Thank you.

    If the process is done by a key-commit trigger or a when button-pressed trigger then it is simple . But if there is no such trigger then you should create it because it is more convenient to make controls inside key-commit rather than in pre-update or pre-insert because these triggers do not accept restricted built-ins.
    To validate your items just loop through the list of records and compare the values to the one you are on. Then if there are no match then you go to the next record to search for.
    Something like this :
    declare
    v_current_value_to_compare varchar2(100);
    v_record pls_integer;
    begin
    go_block('detail_block_name');
    first_record;
    while :system.last_record = 'FALSE' loop
    loop
    next_record;
    v_current_value_to_compare := :detail_block_name.item_name;
    v_record := :system.trigger_record;
    if :detail_block_name.item_name = v_current_value_to_compare then
    -- make your control here
    end if;
    exit when :system.last_record = 'TRUE';
    end loop;
    go_record(v_record);
    end loop;
    end;

  • Blob dictates duplicate items in details section-based on supression

    I was orginally having issues with my supression on this.  I think I have it figured out. But..
    I have parts that I request that sometimes have drawing with them.  I created a table in Access with 3 columns - number, .bitmap., nameof drawing
    I brought this table in.  I place 1 drawing in the reports and this changes based upon the Paramter{drawing.id} that I have beeing selected.  The problem is that  I get duplicate fields produced in my details section.  Now the blob sits in my report footer C.  Can anyone suggest why or help with why my data is duplicating in my details section?
    all items in my details section are duplicating
    here is my sql if it helps:
    max40385
    SELECT "PR"."PRNUM", "COMPANIES"."NAME",
    "COMPANIES"."ADDRESS1", "COMPANIES"."ADDRESS2",
    "COMPANIES"."ADDRESS3", "COMPANIES"."ADDRESS4",
    "COMPANIES"."PHONE", "COMPANIES"."FAX", "PR"."SHIPTOATTN",
    "COMPANIES_1"."NAME", "COMPANIES_1"."ADDRESS1",
    "COMPANIES_1"."ADDRESS2", "COMPANIES_1"."ADDRESS3",
    "COMPANIES_1"."ADDRESS4", "PR"."ISSUEDATE", "PR"."CONTACT",
    "PR"."REQUIREDDATE", "PRLINE"."ITEMNUM", "PRLINE"."ORDERUNIT",
    "PRLINE"."ORDERQTY", "PRLINE"."DESCRIPTION",
    "PRLINE"."UNITCOST", "PRLINE"."LINECOST",
    "PRLINE"."PONUM", "LONGDESCRIPTION"."LDTEXT"
    FROM   "MAXIMO"."PR" "PR", "MAXIMO"."COMPANIES" "COMPANIES",
    "MAXIMO"."COMPANIES" "COMPANIES_1", "MAXIMO"."PRLINE"
    "PRLINE", "MAXIMO"."LONGDESCRIPTION" "LONGDESCRIPTION"
    WHERE  ("PR"."VENDOR"="COMPANIES"."COMPANY") AND ("PR"."SHIPTO"="COMPANIES_1"."COMPANY") AND ("PR"."PRNUM"="PRLINE"."PRNUM") AND ("PRLINE"."LDKEY"="LONGDESCRIPTION"."LDKEY" ) AND "PR"."PRNUM"='25334'
    C:\Documents and Settings\kpowell\My Documents\Drawings.mdb
    SELECT `Parts_Drawings`.`ID`
    FROM   `Parts Drawings` `Parts_Drawings`
    Edit here-
    Ok - I have 3 parameters
    1- sets pr field ={?pr.num}
    2.- mandatory answer determines a supress on fields(blob, and section blob is in) - supress statment is   - {?yes/no}=no  - for both areas
    the parameter is {?yes/no}
    3. sets up the blob to put into the document base upon a field in the table
    that I made in access (based upon column 1 in acces table) - user makese selection based upon yes or no above if no then just leave it as  ......
    The wired thing is when I have multiple line items in my Pr (purchase request)
    if I included a drawing there are no duplicate details
    If I dont include the blob (meaning I supress it based upon the answer in  my parameter - all items in the details section duplicate  ( i suppress these if duplicated but it leaves huge gaps in my report.... any help would be great!
    Ok i figured it out. In my access table i created the 1st entry and left the bitmap entry empty and put a descrition of not needed. I selected this  as my drawing in my 3rd parameter and it satifies the report as thinking it has  a drawing in it even though there is not.  So all my duplicate line item in my details section disappear.  thanks all
    Edited by: max274 on Mar 27, 2009 4:21 PM
    Edited by: max274 on Mar 27, 2009 4:29 PM
    Edited by: max274 on Mar 27, 2009 6:29 PM

    I found the answer see my previous post in this.

  • Oracle Forms : Master Detail : Cannot query detail block

    MY requirement is: when user enters records in master block, the corresponding records should be displayed in the detail block. (Detail block is just for viewing).
    Master block is a database block based on a custom table. All fields are enetereble in this block.
    Detail block is a a database block based on view which is built joining the custom table(on which master block is built) & a standard table. None of the fields in detail block are editable. they are just display only. For detail block, set the Key Mode=Non-Updatable, Enabled a field as Primary Key.
    I have created a relation between the 2 blocks. (Deferred=No, AutoQuery=No, Delete Record Behaviour=Isolated.). There is a join between master table & this view.
    But when I enter record in master block & save. the detail block records are not displayed. (Message : No Navigable Items in Detail Block).
    Yes, there are no navigable items in detail block, because its just for viewing purpose. How can this be achieved.
    Thanks,
    Naveen

    Thanks for your inputs. I got the solution for this. Earlier all items in the block were DISPLAY_ONLY. Now, I have selected them as TEXT_ITEMS (even though they are not updatable). It is working fine now. Thanks.

  • Primary key in detail block

    Dear Experts,
    I've a master detail form.
    I detail form there is no primary key. When it is executed the following error displayed :
    FRM-30100: Block must have at least one primary key item.
    Block: ASSETS_ISSUE_DTL
    Form: FORM_ASSETS_ISSUE_DTL
    What to do?

    I got it.
    Create a dummy text box item in detail block.
    Write rowid in column name.
    Set Primary key YES.
    Thanks.

  • Avoid duplicates in detail-block

    I have a master-detail form, the detail block have item, qty & rate. only 1 item_code is allowed to b entered per invoice, purchased at different rates. what i want to acheive is;
    1) prevent user from entering duplicate item-code, if the detail record goes more then 1. and in case if there r more than 1 detail-record, then the new item-code shud appear the same as the item-code entered in the previous record.
    B4 incorporating the above rule, i had already entered some records, thus manually taking into consideration the above rule. Later, when i tried to code the abov rule, m getting err-msg as per my triggers. what i did actually for this is;
    i created a control-field m_item_code in control_block(Ctrl). NOT initialised anywhere.
    then for the detail-block m using these triggers;
    WHEN-REMOVE-RECORD
    :dtl_blk.item_CODE = :ctrl.m_ITEM_code
    WHEN-NEW-RECORD-INSTANCE
    :dtl_blk.item_CODE = :ctrl.m_ITEM_code
    for the field item_code triggers;
    WHEN-VALIDATE-ITEM
    DECLARE
         CURSOR C_ITEM IS SELECT ITEM_desc
         FROM item_MAST
         WHERE ITEM_code = :dtl_blk.item_CODE;
    BEGIN
         IF :SYSTEM.CURSOR_VALUE IS NOT NULL AND
              :CTRL.M_item_CODE = :dtl_blk.item_CODE THEN
                   OPEN C_ITEM;
                   FETCH C_ITEM INTO :CTRL.M_ITEM_DESC;
                   IF C_ITEM%NOTFOUND THEN
                        MESSAGE('ITEM does not exists!');
                        MESSAGE(' ');
                        RAISE FORM_TRIGGER_FAILURE;
                   END IF;
                   CLOSE C_ITEM;
         ELSE
                   MESSAGE('Blank NOT allowed and NO different Item can be entered');
                   MESSAGE(' ');
                   RAISE FORM_TRIGGER_FAILURE;
         END IF;
    END;
    POST-TEXT-ITEM
    :ctrl.m_item_code := :det_blk.item_code;
    for the OLD RECORDs (those i entered b4 writing the above triggers), the rule works fine when i query, with whatever i have coded. BUT the problem is now for the NEW detail_RECORDS. as i enter in the detail block & give value in the first item-code field the err-msg ('Blank NOT allowed and NO different Item can be entered') in WVI above, flashes for the item-code. i dont know what i have done for this rule till now is corrct?
    kindly give ur comments & guide me please for the more accurate & complete approach for my rule. kindly do tell where n which code to b used or crrected

    Hi
    You can achieve this by the use of PLSQL table create one small package in that defined your table and procdure, when user move to new record insert old record should be insert into the PLSQL table. select the value from PLSQL table to validate the next record. the ITEM_CODE must be delete from PLSQL table when user delete any ITEM_CODE from the block.

  • Duplicate records for Sale Order Cycle Report(excluding item level detail)

    I have posted this issue in number of forums but till today no one is able to answer it correctly.Here it is:
    I need to create a report which I think most of the sd consultants have also done it.It basically covers sales order cycle without item lvel detail such as:
    Sale Order No -- Sales Order Date-- Delivery No-- Delivery Date
    Now as we all know ,sales orders and deliveries are connected through item table which means in the output I will get duplicate rows for the report above.For Example, if a sales order share 3 items with the delivery then we will get 3 exact duplicate rows in the report.
    What can be the best solution?connecting through VBFA has alos same result as it also has item level details.
    I need a good solution.This a common report and there must be some solution

    Hiiii,
    It is standard SAP rule that system will catch the document flow (document link history) at item level.
    Now your problem that you dont want to show the line item based report because of duplicacy.
    Try this.
    Brows table VBFA -
    In screen selection select the following......
    1. Subsiquent document category
    2. Preceding item
    select "J" in Subsiquent document category
    and "000010" in Preceding item  then execute the table.
    Now system will not show multple line item based delivery report. so No duplicacy will be there
    Regards
    Shambhu Sarkar

  • Item Level Validation in Detail Block

    Hi Experts,
    I have to Block Master and Transaction Block, When I am trying to enter the same item code in my Detail block it is accepting, but want to valid one one record will be there in my Details Block, please help me and send me some usefull code to solve this problem.
    S P Mishra

    The easy bit would be just a validation displaying the error message in the notification area. For this, one would just loop over the rows in the report for that column, checking each. If an error was found then return false. For displaying the error message under the actual row with the problem, one would have to do this manually. You could possibly do this using a div which has a class containing "display:none" and then manually set the style of the error'ed row in your validation routine. Would be messy but I'd imagine you could get it working.

  • Query based on a non-database item in master/detail block

    Hi,
    I have a master/detail block, and in the master the block in have non database control item which displays the user name. Now i would want to retrive all the master/detail records based on the control item. Is that possible? How can i do it?
    Any help would be appriciated.
    Thanks
    Kavitha

    use the set_block_property (default_where) and the execute_query built-ins. more info in the online help

  • Duplicate a detail row to any position of a detail block

    Hi,
    The default performance of duplicate_record built-in is to copy the current detail row to the next created detail row.
    I use this code to do this:
    create_record;
    duplicate_record;
    How can i duplicate a row to any detail position of the detail block ?

    As usual, you can accomplish this task in one or more ways.
    Generally, I advise against using globals.
    Basically, you need to store the content of a record temporarily into a dummy record or other type of collection based upon the current record structure.
    The easiest, albeit the least reusable method, would be to create a dummy block with the same structure as the block containing the record you wish to duplicate.
    Using buttons, pop-up menus, etc, copy the desired record from the source table to the dummy table and back. This target record need not be a new record depending upon your requirements. In any case, be aware of unique value and other constraints.
    A more flexible solution would be to create a procedure, based upon a pl/sql table or other collection type that would duplicate the record structure on-the-fly. This could be included in a library and be usable by other forms.

  • 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

  • Validating primary key in Detail block...

    Dear Oracle Friends..
    I have a master-detail form. Detail blk (further referred as dtl) has primary key on 2 cols namely CODE1 and CODE2. CODE1 is foreign key to the master blk. CODE2 will have unique values with respect to CODE1.
    When I create the master-detail form the user can enter more that 1 records in detail block. Now I want to trace that the value of CODE2 field should not be duplicate while the entry of multiple records.
    I cannot POST the record as my some other functions will mal-function then. One thing to note that this field is a list item.
    I tried to validate it in when-validate-item using loop on all the fetched values by going on FIRST_RECORD and scanning all the values of CODE2 but it is restricted built-in and not supported here.
    POST_CHANGE trigger also not works.
    Can anybody suggest me a solution
    Thanks
    UMESH

    Hi
    There is the (in)famous solution of the 1-millisecond timer.
    In the item when-validate-item trigger, create a
    non-repeating timer of 1 ms, and in the form when-timer-expired
    trigger you can navigate by all the records and check if
    there is some duplicity, because there you can use restricted
    built-ins.
    Luis Cabral
    Dear Oracle Friends..
    I have a master-detail form. Detail blk (further referred as dtl) has primary key on 2 cols namely CODE1 and CODE2. CODE1 is foreign key to the master blk. CODE2 will have unique values with respect to CODE1.
    When I create the master-detail form the user can enter more that 1 records in detail block. Now I want to trace that the value of CODE2 field should not be duplicate while the entry of multiple records.
    I cannot POST the record as my some other functions will mal-function then. One thing to note that this field is a list item.
    I tried to validate it in when-validate-item using loop on all the fetched values by going on FIRST_RECORD and scanning all the values of CODE2 but it is restricted built-in and not supported here.
    POST_CHANGE trigger also not works.
    Can anybody suggest me a solution
    Thanks
    UMESH

  • How to display data in detail block from a table.

    Dear members,
    i have 2 blocks. 1 is master block and another is detail block with multiple records.
    the requirement is when i navigate to the detail block the data from a table is displayed in it. using a where clause depend on the value in an item in the master block.
    i wrote the following code and tried in when-new-block-instance, when-new-record-instance, pre-block and post-block
    but...
    DECLARE
         CURSOR ITEM_CUR IS
         SELECT ITEM_ID, QTY_APPROVED
         FROM IN_REQUEST_FORM_DETAIL
         WHERE RF_MASTER_ID = :IN_MASTER_PO.RF_ID;
    BEGIN
         FOR ITEM_REC IN ITEM_CUR LOOP
              :IN_PO_DETAIL.ITEM_ID := ITEM_REC.ITEM_ID;
              :IN_PO_DETAIL.DIS_APPROVED_QTY := ITEM_REC.QTY_APPROVED;
              NEXT_RECORD;
              END LOOP;
    EXCEPTION
         WHEN NO_DATA_FOUND THEN
         MESSAGE ('THERE IS NO REQUESTS');
    END;

    thanks dear simon,
    i want to display the data from a table not included in this form. and these two tables are connected via a relation.
    i have the following tables.
    in_master_po
    PO_ID pk
    PO_DATE
    RF_DETAIL_ID fk (in_request_form_detail)
    in_po_detail
    DETAIL_PO_ID pk
    ITEM_ID fk
    PO_ID fk (in_master_po)
    QTY
    the above 2 tables are datablocks connected via relation
    the following is the from which i want to bring the data to display
    in_request_form_detail
    RF_DETAIL_ID pk
    ITEM_ID fk (items)
    QTY_REQ
    i tried my code on the sample tables with scott/tiger there it works good.
    thanks
    Muhammad Nadeem

  • How to query the master block based on one of the values in detail block

    Hi,
    In version 6i forms, I have a field in data block which is not set as a database item. I am using that field to store a value from detail block. If I want to query the form using that field (which represents one of the values from detail block), how do I do that? Any pointers?
    TIA,

    Do you want to query a master, which contains a specific detail? If so, here's an example how you could do it with a PRE-QUERY-trigger:
    DECLARE
      vcQuery VARCHAR2(4000);
    BEGIN
      IF :MASTERBLOCK.THE_DETAIL_SEARCH_ITEM IS NOT NULL THEN
        -- Build up an exists Sub-Query
        vcQuery:=' MASTERBLOCKID IN (SELECT FK_TO_MASTERBLOCK FROM DETAILTABLE WHERE DETAIL_COLUMN=''' || :MASTERBLOCK.THE_DETAIL_SEARCH_ITEM|| ''')';
      END IF;
      SET_BLOCK_PROPERTY('MASTERBLOCK', DEFAULT_WHERE, vcQuery);
    END;

Maybe you are looking for

  • Getting Error when trying to deploy Portlet Application on WebLogic Server

    Hi, We have a WebLogic server installed on a Windows machine. We created a new Domain, extended it with ADF Runtime and with Web Center Framework. It created three servers for us along with the already existing AdminServer, WLS_Portlet, WLS_Spaces, W

  • "Network host busy" error

    Hi, everyone. I have trawled this discussion list and followed all the advice available to no avail. Any help would certainly be appreciated. The background is as follows: MacBook Pro, 2.33GHz Intel Core 2 duo, 2GB RAM, currently running OSX 10.6.2.

  • Best quality footage in (uncompressed?) prior to dvdland

    what is the cleanest input path from 1" analog tapes to dvd thru fcp? several dv tapes have been already been generated from these reels using dv ntsc codec. is there any clarity to be gained by importing the clips in an uncompressed codec? thanks, a

  • Safari 2.0 unable to open hotmail

    Hi, everyone! I seem to be having problem opening Hotmail, and Msn completely. I have a Mac OS X (10.4), and the model is PowerMac6,3. I'm using Safari 2.0. When I try to open hotmail, all I get is a blank window. I called Mac, and they determined it

  • Why doesn't the enter key respond when saving a web page?

    go to save a web page, complete and when i press the enter key it doesn't work. i have to move the mouse pointer to the save button and click it that way but it slower this way. why won't it let me just push the enter button on my keyboard to save? a