Item conditions
Hi experts,
in our system, we have have to apply discounts per items in some cases in sales orders.
According to some conditions (if customer is X and manufacturer's material is Y) i must apply discount per item.
Is this possible? Or there is a way to solve this problem?
Any help/clue/hint would be appreciated.
Thanks in advance.
Many thanx my friends esspecially to Santosh.
I have created all the steps:
- condition table with fields customer and manufacturer
- access sequence
- item condition (ZIC01) which has assigned access sequence. - condition apply to item, is mandatory and is discount or surcharge (percentage).
My problem is when i want to create a sale order. SAP gives a message:
Pricing error: Mandatory condition ZIC01 is missing
And if i look to item condition the condition isn't there.
Does anyone know something about this?
The second problem is with condition table. I want to add another field to condition table:
Customer | Manufacturer | Discount
This discount should be in item condition ZIC01 if condition is satisfied otherwise item condition should be 0.
This is my requirment ...is this is possible?
I give you an example:
Customer | Manufacturer | Discount
Client1 | Manuf1 | 5%
If a sales order is created for Client1 and if a material has Manuf1 than a discount (5%) should be applied to that item.
Similar Messages
-
Is there a way to fix the exchange rate of PO item condition type ?
Hello all,
We have an agreed selling price in RMB from the supplier and the export rate(RMB to USD) is given by them according to delivery date. But we pay in USD. Thus PO header is USD and using M rate but PO price condition type in PO item is RMB -> then convert to USD and sum up into gross price. We want to control the way RMB is converted to USD in the item level.
e.g. PO order currency is USD, PO header exchange rate is a fixed rate input by user
(hedge rate USD -> Local company currency)
PO item 1 agreed PO price is 100 RMB -> PO item condition's rate is 100 RMB per pc
-> export rate RMB to USD fixed at 8 -> 100 / 8 USD
PO item 2 agreed PO price is 200 RMB -> PO item condition's rate is 200 RMB per pc
at export rate -> 200 / 8 USD
Total PO value in USD = 300 RMB / 8 (we don't want it to convert 300 RMB using M rate)
Appreciate if anyone has a solution for this similar case.KiltedTim wrote:
The only way to do so and preserve your warranty is a replacement from Apple. US$199 without AppleCare+, US$49 with. If it doesn't affect the functionality, though, they may not give you that option.
It's not that big of a deal. I'm just seeing if anyone knows how to bend it back straight from experience or imagination. -
EDI Error : Condition EDI1 is not allowed as item condition
Hi EDI Gurus,
Right now I am getting the error while creating a Sales order through IDoc.
"Condition EDI1 is not allowed as item condition"
Clarify a few things to me:
1. Where to pass the Customer Expected Price on the IDoc.
2. How to maintain pricing Condition EDI1. (If it is necessary for processing of sales order)
Please clarify these two things.
Thanks,
MattI ran V/O8 transaction. There were a bunch of procedures listed in it.
I was not sure which procedure I should look for EDI1 pricing condition.
I checked RVAA01 (Standard) - there are two conditions EDI1 and EDI2.
I am not sure what I should do. Whether they are already configured or not I am not sure.
If they are already configured, why is it giving error in EDI process.
MxG,
Please enlighten me.
Thanks,
Matt -
BAPI_SCHEDULE_MAINTAIN - Scheduling Agreement (Deleting Item Condition)
Dear Friends,
My requirements is change or create the Scheduling Agreement - Schedule Lines (ME32L). I am using BAPI -->
BAPI_SCHEDULE_MAINTAIN
Its updating correctly, but automatically the item condition price details are deleted.
1st time i am facing this issue.
kindly help to rectify this issue. I am waiting for your valuable response.
FYI - this is my code
t_schedule-item_no = t_alv_output-it_no.
t_schedule-sched_line = t_alv_output-sh_no.
WRITE t_alv_output-de_dt TO t_schedule-delivery_date.
t_schedule-quantity = t_alv_output-de_qt.
t_schedule-stat_date = t_eket_qty-slfdt.
APPEND t_schedule.
t_schedulex-item_no = t_alv_output-it_no.
t_schedulex-sched_line = t_alv_output-sh_no.
t_schedulex-sched_linex = lv_x.
t_schedulex-delivery_date = lv_x.
t_schedulex-stat_date = lv_x.
t_schedulex-quantity = lv_x.
APPEND t_schedulex.
CALL FUNCTION 'BAPI_SCHEDULE_MAINTAIN'
EXPORTING
purchasingdocument = t_alv_output_head-po_no
TABLES
schedule = t_schedule
schedulex = t_schedulex
return = t_return.
I am also tried
BAPI_SAG_CHANGE
. this also updating the Schedule Lines. but deleting the item condition records.
Thanks & Regards,
Durai VKindly check notes 1034912 and 1046851
Regards
JP Milton -
Error while editing the item condition data : urgent
Hi,
I am using a bdc. when i try to edit any of the item condition value (KBETR) and also if i try to insert a new condition , I am getting error as " Message_type_X " and the message no :00341, and the BDC is terminating at the point.
Can anybody kindly suggest a work around
shyamHi Shyam,
Try with this code.
*-----Adding the Condition Types at item level
PERFORM bdc_dynpro USING 'SAPMV45A' '5003'.
PERFORM bdc_field USING 'BDC_CURSOR' 'KOMV-KSCHL(01)'.
PERFORM bdc_field USING 'BDC_OKCODE' '=V69A_KONY'.
PERFORM bdc_dynpro USING 'SAPMSSY0' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR' '05/04'.
PERFORM bdc_field USING 'BDC_OKCODE' '=PICK'.
*----1. Unitprc ( ZPR0 )
PERFORM bdc_dynpro USING 'SAPMV45A' '5003'.
PERFORM bdc_field USING 'BDC_CURSOR' 'KOMV-KSCHL(01)'.
PERFORM bdc_field USING 'BDC_OKCODE' '=V69A_KOAN'.
PERFORM bdc_dynpro USING 'SAPMV45A' '5003'.
PERFORM bdc_field USING 'BDC_CURSOR' 'KOMV-KBETR(02)'.
WRITE x_item-unitprc TO v_unitprc CURRENCY komv-waers NO-SIGN.
PERFORM bdc_field USING 'KOMV-KSCHL(02)' 'ZPR0'.
PERFORM bdc_field USING 'KOMV-KBETR(02)' v_unitprc.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
*-----End of Addition
PERFORM bdc_dynpro USING 'SAPMV45A' '5003'.
PERFORM bdc_field USING 'BDC_OKCODE' '/EBACK'.
Regards,
Aman
Message was edited by:
Amandeep Kumar -
How to hide the Condition types in item condition screen in Sales Order ?
Hi Experts,
We got new requirement from the Client. Pricing Condition types are ZZBG, ZPBG, ZPBA, ZFSG, ZBDG and ZBHG part in Pricing Procedure. These condition types have Condition records. These need to be hidden in Item conditions screen in Sales Order but other status of the conditions remain unchanged. Pleas provide me the solution earliest How this we can achieve in a best way.
Best Regards,
SrikithHi Srikanth,
You can achieve this using CONDITION EXCLUSION.
Maintain Condition exclusion for first condition type its Exclude the condition types which are below to that.
You must set a condition exclusion indicator for the price. You can do this in two ways:
If you want to set the condition exclusion indicator a follows then you specify it:
1..for all condition records of a condition type (e.g. with condition type PR00) when defining a condition type in SD Customizing
2.for an individual condition record (e.g. only for material 4711) in the detail screen of a condition record (in the Condition exclusion field)
Hope this will helps you
Dasaradha -
Accounting total value of item conditions
Dear Experts,
I have a scenario where rebates(volume discounts) are accrued at an item level through an item condition and are hence released to accounts also at an item level. As a result of this there are too many accrual entries getting posted for one single billing document depending on the number of line items of it having the accrual.
I want to have the accrual to continue at item level only, but, while posting to accounts, system should be able to pass one single entry (Consolidated entry) for the total accrual value of all line items taken together so that one billing document will have only one accrual entry line in accounting.
Is there any setting that can be done in condition types, billing document types or anywhere else? Any pointer towards a User-exit or Enhancement point?
Thanks in Advance,
SujithHi Sujith,
Try transaction OBCY to summarize the transactions in accounting line item. Note # 36353. This customizing will try to summarize for all the accounting transactions irrespective of rebate or not so you should carefully choose your fields. As a last resort, you can fill some Z fields in accounting line item like billing document line number and condition type combination for all the line items except for rebate line item. Since all the line items have different value in this field except for rebate line items, system should summarize.
Hope this helps.
Regards,
Naveen Aggarwal -
Regarding The Contract ITEM Conditions Details
Hello,
I am Uploading a Contract Details from the excel sheet in to the se38 but i am not getting the item condition details for the contract.i have called a BAPI (BAPI_CONTRACT_CREATE) and (BAPI_CONTRACT_CHANGE) .in that i have passed the ITEM CONDITIONS but and am checking in ME33K the item details are not getting updated . I have upload the 8 condition types but only one is getting uodated. I have 4 materials and for each material i have two two condition type, only the first conditon type of earch material is updated but not the second. I am unable to solve the problem please help me out. I will send also the code which i have wriiten.Please help me out as its Very Urgent.
Ecpecting a helpful answer.
REPORT YCMPUR055.
TYPE-POOLS: SLIS, TRUXS.
I N T E R N A L T A B L E S D E C L A R A T I O N
TYPES: BEGIN OF TY_RECORD,
OUR_REF TYPE BAPIMEOUTHEADER-OUR_REF, "Reference Number
VENDOR TYPE BAPIMEOUTHEADER-VENDOR, "Vendor
DOC_TYPE TYPE BAPIMEOUTHEADER-DOC_TYPE, "Agreement Type
DOC_DATE TYPE BAPIMEOUTHEADER-DOC_DATE, "Agreement Date
PURCH_ORG TYPE BAPIMEOUTHEADER-PURCH_ORG, "Purchase Organisation
PUR_GROUP TYPE BAPIMEOUTHEADER-PUR_GROUP, "Purchase Group
ITEM_CAT TYPE BAPIMEOUTITEM-ITEM_CAT, "Item category
PLANT TYPE BAPIMEOUTITEM-PLANT, "Plant
VPER_START TYPE BAPIMEOUTHEADER-VPER_START, "Valid from date
VPER_END TYPE BAPIMEOUTHEADER-VPER_END, "Valid to date
PMNTTRMS TYPE BAPIMEOUTHEADER-PMNTTRMS, "Payment terms
ACUM_VALUE TYPE BAPIMEOUTHEADER-ACUM_VALUE, "Target Value
CURRENCY TYPE BAPIMEOUTHEADER-CURRENCY, "Currency
INCOTERMS1 TYPE BAPIMEOUTITEM-INCOTERMS1, "Incoterms1
INCOTERMS2 TYPE BAPIMEOUTITEM-INCOTERMS2, "Destination
LAST_DATE TYPE SY-DATUM, "Last date
ITEM_NO TYPE BAPIMEOUTITEM-ITEM_NO, "Item number
MATERIAL TYPE BAPIMEOUTITEM-MATERIAL, "Material Code
MAT_DESC TYPE MAKTX , " Material description
SHORT_TEXT TYPE BAPIMEOUTITEM-SHORT_TEXT, "Material Description
MATL_GROUP TYPE BAPIMEOUTITEM-MATL_GROUP, "Material Group
TARGET_QTY TYPE BAPIMEOUTITEM-TARGET_QTY, "Target Quantity
PO_UNIT TYPE BAPIMEOUTITEM-PO_UNIT, "Order Unit
NET_PRICE TYPE BAPIMEOUTITEM-NET_PRICE, "Net Price
PRICE_UNIT TYPE BAPIMEOUTITEM-PRICE_UNIT, "Price Unit
ORDERPR_UN TYPE BAPIMEOUTITEM-ORDERPR_UN, "Order per Unit
TAX_CODE TYPE BAPIMEOUTITEM-TAX_CODE, "Tax code
COND_TYPE1 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE1 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE2 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE2 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE3 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE3 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE4 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE4 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE5 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE5 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE6 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE6 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE7 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE7 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE8 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE8 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE9 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE9 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE10 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE10 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE11 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE11 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE12 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE12 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE13 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE13 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE14 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE14 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE15 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE15 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE16 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE16 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE17 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE17 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE18 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE18 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE19 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE19 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE20 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE20 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE21 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE21 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE22 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE22 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE23 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE23 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE24 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE24 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE25 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE25 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE26 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE26 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE27 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE27 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE28 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE28 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE29 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE29 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE30 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE30 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE31 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE31 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE32 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE32 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE33 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE33 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE34 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE34 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE35 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE35 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE36 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE36 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE37 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE37 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE38 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE38 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE39 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE39 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE40 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE40 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE41 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE41 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE42 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE42 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE43 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE43 TYPE BAPIMEOUTCONDITION-COND_VALUE,
COND_TYPE44 TYPE BAPIMEOUTCONDITION-COND_TYPE,
COND_VALUE44 TYPE BAPIMEOUTCONDITION-COND_VALUE,
END OF TY_RECORD.
TYPES: BEGIN OF TY_OUT,
DOCU_NUM TYPE EKKO-EBELN,
OUR_REF TYPE BAPIMEPOHEADER-OUR_REF,
TEXT(100) TYPE C,
END OF TY_OUT.
TYPES : BEGIN OF TY_MARC,
MATNR TYPE MATNR,
MTART TYPE MTART,
MAKTX TYPE MAKTX,
END OF TY_MARC.
TYPES : BEGIN OF TY_DATA,
MATNR TYPE MATNR,
WERKS TYPE WERKS_D,
END OF TY_DATA.
DATA: IT_OUT TYPE STANDARD TABLE OF TY_OUT,
IS_OUT TYPE TY_OUT.
DATA: IT_DATA TYPE STANDARD TABLE OF TY_DATA,
IS_DATA TYPE TY_DATA.
DATA : IT_MARC TYPE STANDARD TABLE OF TY_MARC,
IS_MARC TYPE TY_MARC.
DATA: IT_RECORD TYPE STANDARD TABLE OF TY_RECORD,
IS_RECORD TYPE TY_RECORD,
I_TAB TYPE TRUXS_T_TEXT_DATA.
DATA: IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
IT_EVENT TYPE SLIS_T_EVENT ,
IT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
E04_LT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
IS_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
IS_LAYOUT TYPE SLIS_LAYOUT_ALV,
IS_EVENT LIKE LINE OF IT_EVENT,
G_REPID TYPE SY-REPID.
DATA:HEADER TYPE BAPIMEOUTHEADER,
HEADERX TYPE BAPIMEOUTHEADERX,
IT_ITEM TYPE TABLE OF BAPIMEOUTITEM,
IT_ITEMX TYPE TABLE OF BAPIMEOUTITEMX,
IT_ITEM_UP TYPE TABLE OF BAPIMEOUTITEM,
IT_ITEMX_UP TYPE TABLE OF BAPIMEOUTITEMX,
IT_ITEM_COND_VALIDITY LIKE BAPIMEOUTVALIDITY OCCURS 0 WITH HEADER LINE,
IT_ITEM_COND_VALIDITY1 LIKE BAPIMEOUTVALIDITY OCCURS 0 WITH HEADER LINE,
IT_ITEM_COND_VALIDITYX LIKE BAPIMEOUTVALIDITYX OCCURS 0 WITH HEADER LINE,
IT_ITEM_CONDITION TYPE TABLE OF BAPIMEOUTCONDITION,
IT_ITEM_CONDITIONX TYPE TABLE OF BAPIMEOUTCONDITIONX,
IT_ITEM_CONDITION_UP TYPE TABLE OF BAPIMEOUTCONDITION,
IT_ITEM_CONDITIONX_UP TYPE TABLE OF BAPIMEOUTCONDITIONX,
IT_RETURN TYPE TABLE OF BAPIRET2,
IS_ITEM TYPE BAPIMEOUTITEM,
IS_ITEMX TYPE BAPIMEOUTITEMX,
IS_ITEM_COND_VALIDITY1 TYPE BAPIMEOUTVALIDITY ,
IS_ITEM_COND_VALIDITYX TYPE BAPIMEOUTVALIDITYX,
IS_ITEM_COND_VALIDITY TYPE BAPIMEOUTVALIDITY ,
IS_ITEM_CONDITION TYPE BAPIMEOUTCONDITION,
IS_ITEM_CONDITIONX TYPE BAPIMEOUTCONDITIONX,
IS_RETURN TYPE BAPIRET2,
EXP_HEADER TYPE BAPIMEOUTHEADER,
IT_RETURN_UP TYPE TABLE OF BAPIRET2,
W_PURCHASINGDOCUMENT TYPE BAPIMEOUTHEADER-NUMBER,
PURCHASINGDOCUMENT TYPE BAPIMEOUTHEADER-NUMBER.
*DATA : W_CNT TYPE I.
DATA : W_CNT TYPE I,
W_BAT TYPE I,
W_INDEX TYPE SY-TABIX,
W_TABIX TYPE SY-TABIX.
S E L E C T I O N S C R E E N
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_FLNAME TYPE RLGRAP-FILENAME .
SELECTION-SCREEN END OF BLOCK B1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FLNAME.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
PROGRAM_NAME = SYST-REPID
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = P_FLNAME
CHANGING
FILE_NAME = P_FLNAME
EXCEPTIONS
MASK_TOO_LONG = 1
OTHERS = 2.
S T A R T O F S E L E C T I O N
START-OF-SELECTION.
PERFORM UPLOAD_DATA.
PERFORM BAPI_CALL.
PERFORM DISPLAY.
*& Form UPLOAD_DATA
text
--> p1 text
<-- p2 text
FORM UPLOAD_DATA .
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
I_TAB_RAW_DATA = I_TAB
I_FILENAME = P_FLNAME
TABLES
I_TAB_CONVERTED_DATA = IT_RECORD
EXCEPTIONS
CONVERSION_FAILED = 1
OTHERS = 2.
ENDFORM. " UPLOAD_DATA
*& Form BAPI_CALL
text
--> p1 text
<-- p2 text
FORM BAPI_CALL .
CHECK IT_RECORD[] IS NOT INITIAL.
LOOP AT IT_RECORD INTO IS_RECORD.
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
EXPORTING
INPUT = IS_RECORD-MATERIAL
IMPORTING
OUTPUT = IS_RECORD-MATERIAL.
IS_DATA-MATNR = IS_RECORD-MATERIAL.
IS_DATA-WERKS = IS_RECORD-PLANT.
APPEND IS_DATA TO IT_DATA.
CLEAR: IS_DATA, IS_RECORD.
ENDLOOP.
SORT IT_DATA BY MATNR WERKS.
DELETE ADJACENT DUPLICATES FROM IT_DATA COMPARING MATNR WERKS.
SELECT A~MATNR
MTART
B~MAKTX
INTO TABLE IT_MARC
FROM MARA AS A JOIN MAKT AS B
ON A~MATNR = B~MATNR
FOR ALL ENTRIES IN IT_DATA
WHERE A~MATNR = IT_DATA-MATNR
AND SPRAS = SY-LANGU.
IF SY-SUBRC = 0.
ENDIF.
SORT IT_MARC BY MATNR. " WERKS.
SORT IT_RECORD BY OUR_REF.
LOOP AT IT_RECORD INTO IS_RECORD.
W_CNT = W_CNT + 1.
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
EXPORTING
INPUT = IS_RECORD-MATERIAL
IMPORTING
OUTPUT = IS_RECORD-MATERIAL
EXCEPTIONS
LENGTH_ERROR = 1
OTHERS = 2.
READ TABLE IT_MARC INTO IS_MARC WITH KEY MATNR = IS_RECORD-MATERIAL
BINARY SEARCH.
IF SY-SUBRC <> 0.
IS_OUT-OUR_REF = IS_RECORD-OUR_REF.
CONCATENATE IS_RECORD-MATERIAL ' material does not exist..' INTO IS_OUT-TEXT SEPARATED BY SPACE.
APPEND IS_OUT TO IT_OUT.
CLEAR IS_OUT.
CONTINUE.
ENDIF.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = IS_RECORD-VENDOR
IMPORTING
OUTPUT = IS_RECORD-VENDOR.
HEADER-COMP_CODE = 'SCCL'.
HEADER-DOC_TYPE = IS_RECORD-DOC_TYPE.
HEADER-VENDOR = IS_RECORD-VENDOR.
HEADER-PMNTTRMS = IS_RECORD-PMNTTRMS.
HEADER-ITEM_INTVL = 1.
HEADER-PURCH_ORG = IS_RECORD-PURCH_ORG.
HEADER-PUR_GROUP = IS_RECORD-PUR_GROUP.
HEADER-CURRENCY = IS_RECORD-CURRENCY.
HEADER-DOC_DATE = IS_RECORD-DOC_DATE.
HEADER-VPER_START = IS_RECORD-VPER_START.
HEADER-VPER_END = IS_RECORD-VPER_END.
HEADER-INCOTERMS1 = IS_RECORD-INCOTERMS1.
HEADER-INCOTERMS2 = IS_RECORD-INCOTERMS2.
HEADER-ACUM_VALUE = IS_RECORD-ACUM_VALUE.
HEADER-OUR_REF = IS_RECORD-OUR_REF.
HEADERX-COMP_CODE = 'X'.
HEADERX-DOC_TYPE = 'X'.
HEADERX-VENDOR = 'X'.
HEADERX-PMNTTRMS = 'X'.
HEADERX-PURCH_ORG = 'X'.
HEADERX-PUR_GROUP = 'X'.
HEADERX-CURRENCY = 'X'.
HEADERX-DOC_DATE = 'X'.
HEADERX-VPER_START = 'X'.
HEADERX-VPER_END = 'X'.
HEADERX-INCOTERMS1 = 'X'.
HEADERX-INCOTERMS2 = 'X'.
HEADERX-ACUM_VALUE = 'X'.
HEADERX-OUR_REF = 'X'.
IS_ITEM-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM-SHORT_TEXT = IS_MARC-MAKTX. "IS_RECORD-MAT_DESC .
IF IS_MARC-MTART = 'ZMPN'.
IS_ITEM-EMATERIAL = IS_RECORD-MATERIAL.
ELSE.
IS_ITEM-MATERIAL = IS_RECORD-MATERIAL.
ENDIF.
IS_ITEM-PLANT = IS_RECORD-PLANT.
IS_ITEM-MATL_GROUP = IS_RECORD-MATL_GROUP.
IS_ITEM-TARGET_QTY = IS_RECORD-TARGET_QTY.
IS_ITEM-PO_UNIT = IS_RECORD-PO_UNIT.
IS_ITEM-ORDERPR_UN = IS_RECORD-ORDERPR_UN.
IS_ITEM-NET_PRICE = IS_RECORD-NET_PRICE.
IS_ITEM-PRICE_UNIT = IS_RECORD-PRICE_UNIT.
IS_ITEM-TAX_CODE = IS_RECORD-TAX_CODE.
IS_ITEM-ITEM_CAT = IS_RECORD-ITEM_CAT.
IS_ITEM-PERIOD_IND_EXPIRATION_DATE = 'D'.
APPEND IS_ITEM TO IT_ITEM.
IS_ITEMX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEMX-ITEM_NOX = 'X'.
IS_ITEMX-SHORT_TEXT = 'X'.
IS_ITEMX-MATERIAL = 'X'.
IS_ITEMX-PLANT = 'X'.
IS_ITEMX-MATL_GROUP = 'X'.
IS_ITEMX-TARGET_QTY = 'X'.
IS_ITEMX-PO_UNIT = 'X'.
IS_ITEMX-ORDERPR_UN = 'X'.
IS_ITEMX-NET_PRICE = 'X'.
IS_ITEMX-PRICE_UNIT = 'X'.
IS_ITEMX-TAX_CODE = 'X'.
IS_ITEMX-ITEM_CAT = 'X'.
APPEND IS_ITEMX TO IT_ITEMX.
IS_ITEM_COND_VALIDITY1-PLANT = IS_RECORD-PLANT.
IS_ITEM_COND_VALIDITY1-VALID_FROM = IS_RECORD-VPER_START.
IS_ITEM_COND_VALIDITY1-VALID_TO = IS_RECORD-VPER_END.
IS_ITEM_COND_VALIDITYX-PLANT = 'X'.
IS_ITEM_COND_VALIDITYX-ITEM_NOX = 'X'.
IS_ITEM_COND_VALIDITYX-SERIAL_IDX = 'X'.
IS_ITEM_COND_VALIDITYX-VALID_FROM = 'X'.
IS_ITEM_COND_VALIDITYX-VALID_TO = 'X'.
IF IS_RECORD-COND_TYPE1 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '001'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE1.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE1.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '001'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE2 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '002'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE2.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE2.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '002'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE3 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '003'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE3.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE3.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '003'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE4 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '004'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE4.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE4.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '004'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE5 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '005'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE5.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE5.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '005'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE6 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '006'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE6.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE6.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '006'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE7 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '007'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE7.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE7.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '007'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE8 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '008'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE8.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE8.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '008'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE9 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '009'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE9.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE9.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '009'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE10 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '010'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE10.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE10.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '010'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE11 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '011'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE11.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE11.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '011'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE12 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '012'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE12.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE12.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '012'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE13 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '013'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE13.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE13.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '013'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE14 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '014'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE14.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE14.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '014'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE15 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '015'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE15.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE15.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '015'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE16 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '016'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE16.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE16.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '016'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE17 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '017'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE17.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE17.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '017'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE18 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '018'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE18.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE18.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '018'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE19 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '019'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE19.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE19.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '019'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE20 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '020'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE20.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE20.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '020'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE21 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '021'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE21.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE21.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '021'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE22 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '022'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE22.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE22.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '022'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE23 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '023'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE23.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE23.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '023'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE24 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '024'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE24.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE24.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '024'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE25 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '025'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE25.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE25.
APPEND IS_ITEM_CONDITION TO IT_ITEM_CONDITION.
IS_ITEM_CONDITIONX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITIONX-SERIAL_ID = '025'.
IS_ITEM_CONDITIONX-ITEM_NOX = 'X'.
IS_ITEM_CONDITIONX-COND_TYPE = 'X'.
IS_ITEM_CONDITIONX-COND_VALUE = 'X'.
APPEND IS_ITEM_CONDITIONX TO IT_ITEM_CONDITIONX.
IS_ITEM_COND_VALIDITY1-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITY1-SERIAL_ID = IS_ITEM_CONDITION-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITY1 TO IT_ITEM_COND_VALIDITY1.
IS_ITEM_COND_VALIDITYX-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_COND_VALIDITYX-SERIAL_ID = IS_ITEM_CONDITIONX-SERIAL_ID.
APPEND IS_ITEM_COND_VALIDITYX TO IT_ITEM_COND_VALIDITYX.
ENDIF.
IF IS_RECORD-COND_TYPE26 IS NOT INITIAL.
IS_ITEM_CONDITION-ITEM_NO = IS_RECORD-ITEM_NO.
IS_ITEM_CONDITION-SERIAL_ID = '026'.
IS_ITEM_CONDITION-COND_TYPE = IS_RECORD-COND_TYPE26.
IS_ITEM_CONDITION-COND_VALUE = IS_RECORD-COND_VALUE26.Hi,
Please get the valid condition ( based on date ) from A016 (MK & LPA). With the appropriate KNUMH read the Condition header. You can access the different condition items viz., PB00, RA00 etc., for the values from table KONP. Further if you have Value scales / Quantity scales, you can read the data from KONM, KONW.
An additional tips: in KONP, if you have a condition like RA00 - Rebate, the value will be multiplied by 10 and saven in database to accomodate the discount to the third decimal.
I could not completely understand your requirements like nature of development ( Is it a Report / SAP Script ??) you are working etc., so that I could help you precisely.
Hope this helps,
Best Regards, Murugesh AS
Message was edited by:
Murugesh Arcot -
Change the Purchase Order : Item - Conditions value
Hi,
How to change the Purchase Order : Item - Conditions value.
In my PO, Item conditions shows the SKTO - Cash Discount value is 0. I want to change the Discount value 10.
How can i change it??Hi,
Goto the Transaction code MN05 and give the CONDITION TYPE SKTO and change the value
MN05 is the Transaction code for Purchase order condition types.
Please check and revert back if you need more details.
regards,
santosh -
Display Vendor Name In PO Item Condition In Item Details
Hi,
Process is, if we have created to PO (ME21N) and given XX Vendor in Header and ZZ Vendor Code has maintained as per condition wise in line item wise in condition tab in item details but not shows ZZ Vendor Name.
I want to display the Vendor Name in item details.
Please tell me, How to display the vendor Name?
If any User Exit or other option through.
DevendraThanks for Reply, as suggested by you, I have checked with ABAPer maybe this enhancement use for new tab in PO
I need to display the vendor name at the space before the vendor and vendor code are shown.
Me21n-->give item and its details>item conditions tab---->select particular condition type -
>click on Conditional details icon. There at the end right hand side vendor field is present where we can give vendor code. Beside the vendor field i need to display that given vendor code related name. So that user won't make any mistakes in giving the vendor code
Pl provides me the solution to do this. Which is the best way to bring vendor name in that screen?
Devendra -
Vendor Change in item conditions for ME21N
hi frnds,
in me21n, i have placed 1 more vendor in header section. now i need to pass this vendor in item condtions for some condition types. for this, i have gone thru LMEKO002 enhancement. in this enhancement i am not able to get any data of item conditions.
helpful answers will be rewarded by points.
thanks in advance.
regards,
baluHi Thomas,
i have tried it. but in that item conditions are not coming. in that enhancement we can get the details of item only. but my requirement is, i need to change the vendor for some specific conditions in each item only.
ex: assume that item no. 10 have 5 conditions. in that for 2 conditions should pickup the main vendor and another 3 conditions should pickup another customised vendor which i was given in header.
Hi Prabhu,
i am trying on Badi.
Regards,
Balu -
Condition populated twice in the item conditions in the sales order
Hi,
We are creating the sales order through .csv flat file. The program calls the relevant BAPI which creates the sales order. It also fills the amount from the file for the manual condition type YNET in the pricing procedure. YNET is defaulted automatically in the sales order. But maintaining value is not mandatory.
The problem is in sales order, YNET is displayed twice in the item conditions.
One YNET with no value and another YNET with value which we passed through file.
Any suggestions how we can get only one YNET in the item conditions in the sales order or how the value from our file can be added against the YNET in the pricing procedure with showing another YNET in the item conditions in the sales order
Thanks in advance,Hi Ramakrishnan,
Thanks for your reply. Its a manual condition type. No condition records maintained.
Thanks,
Ram
Original thread:
Hi,
We are creating the sales order through .csv flat file. The program calls the relevant BAPI which creates the sales order. It also fills the amount from the file for the manual condition type YNET in the pricing procedure. YNET is defaulted automatically in the sales order. But maintaining value is not mandatory.
The problem is in sales order, YNET is displayed twice in the item conditions.
One YNET with no value and another YNET with value which we passed through file.
Any suggestions how we can get only one YNET in the item conditions in the sales order or how the value from our file can be added against the YNET in the pricing procedure without showing another YNET in the item conditions in the sales order
Thanks in advance, -
User exit in sales order to add new item condition
Hi,
Our business requirement is to add new item conditions in an order (VA01/VA02) using ABAP coding. Has anyone done this before?
I'm thinking of using USEREXIT_NEW_PRICING_VBAP in MV45AFZB ?
Thanks.
Edited by: William Lawlor on Jul 8, 2008 12:19 PMHi,
This exit USEREXIT_NEW_PRICING_VBAP in MV45AFZB is used only to determine or not a new price calculation according to a modification of specific field (ex : if shipping condition is changed, then new price determination).
To add new condition type, you can used requirement in pricing procedure (V/08) with condition formula.
What is the condition to add this new condition type ?
Regards,
Lionel -
Hi Expert,
I have implimented BADI BBP_DRIVER_DETERMINE and assign custom FM zB46B_DPO_TRANSFER to create PO in backend system.
When I create PO and order it first time... FM zB46B_DPO_TRANSFER is getting called where I want to read PO item condition using FM BBP_PD_PO_GETDETAIL and pass to fm which creates PO in backend.
FM BBP_PD_PO_GETDETAIL is returning blank table PRIDOC[] (pricing data).
I pass guid of the PO to the FM to get the details.
for the saved PO it return every details perfectly.
Do I need to read from buffer or what... how ???
Thanks,
Rajesh.hi ,
Try to read from buffer.
The below code will work in change Badi so definitely it will work in your badi also.
DATA: lo_pd_model TYPE REF TO /sapsrm/if_pdo_model_access.
lo_pd_model = /sapsrm/cl_pdo_model_factory=>get_instance( ).
lo_pd_model->get_detail(
EXPORTING
iv_guid = is_header-guid
iv_with_itemdata = abap_TRUE
IMPORTING
es_header = li_header
ET_PRIDOC = LT_PRIDOC ).
if the above method is not working then get the buffer instance for /SAPSRM/CL_PDO_BO_PO_ADV.
data lo_pdo_po TYPE REF TO /sapsrm/if_pdo_bo_po_adv.
CALL METHOD /sapsrm/cl_pdo_factory_po_adv=>get_buffered_instance
EXPORTING
iv_header_guid = ls_header-guid
RECEIVING
ro_instance = lo_pdo_po.
check the implementation class /SAPSRM/CL_PDO_BO_PO_ADV which method is suitable to get the condition records.
the below code is sample method how to call ....
TRY.
CALL METHOD lo_pdo_po->/sapsrm/if_pdo_do_schedules~get_schedule_line
EXPORTING
iv_item_guid = ls_item-guid
IMPORTING
et_sdln = lt_sdln
eo_meta_data_handler = lo_meta_data_handler
CHANGING
co_message_handler = lo_message_handler.
CATCH /sapsrm/cx_pdo_abort .
CATCH /sapsrm/cx_pdo_no_authorizatio .
ENDTRY.
regards,
Devi -
How can you make the Chart "Color Highlights" Item Condition val a variable
Hi,
I have a report with a chart on it.
The chart has on Item Condition on it to change the color of each bar to red if the value is under a certain value.
This value needs to be passed in as a parameter to the report.
The condition looks like this
if Avg PerformancePercent < 90 then bar color = red
The 90 in this condition needs to be set from a parameter P_PerformancePercent_Threshold.
I am producing the report in Visual Studio 2005 using CrystalReportViewer to display the report.
Since the value field seems to only take in numeric values I have assumed there is no way to use a parameter something like.
So I am looking at doing this through code.
The object model for the ChartObject does not have many properties/methods on it.
Is there any other way to achieve this?
Thanks, GeorgeFunctionality using the Crystal Reports SDK in Visual Studio .NET is limited to the appearance of the chart in the viewer such as height and width. See the following for more details;
[ChartOject Members described|http://devlibrary.businessobjects.com/BusinessObjectsXIR2SP2/en/en/CrystalReports_dotNET_SDK/crsdk_net_doc/doc/crsdk_net_doc/html/crlrfCrystalDecisionsCrystalReportsEngineChartObject_MembersTopic.htm].
[ChartObject Properties described|http://devlibrary.businessobjects.com/BusinessObjectsXIR2SP2/en/en/CrystalReports_dotNET_SDK/crsdk_net_doc/doc/crsdk_net_doc/html/crlrfCrystalDecisionsCrystalReportsEngineChartObject_PropertiesTopic.htm].
99% of this time, if you can not do something at design time, you will not be able to do it at runtime either. See [this|http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_dev/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes.do] note.
Ludek
Follow us on Twitter http://twitter.com/SAPCRNetSup -
Condition type in PO header can be divided in each PO item condition
Dear all,
I would like to do as below:
In PO:
Item detail:
Material A, Qty = 200
Material B, Qty = 300
Header:
Condition tab: Condition type = Z001 (Freight charge) = 15,000 $
After that the system auto calculate and update the condition type in Item Condition:
- Material A, Condition type = Z001 (Freight charge) = 15,000 / (200+300) * 200 = 6,000 $
- Material B, Condition type = Z001 (Freight charge) = 15,000 / (200+300) * 300 = 9,000 $
Can I do that?
How I can configure the system?
Thanks a lot for your support!
Rgds,
CHyes, this can be done.
http://help.sap.com/erp2005_ehp_05/helpdata/en/dd/56177a545a11d1a7020000e829fd11/frameset.htm
Maybe you are looking for
-
Frequent Kernel Panics - iMac G4/800
My mom's had an iMac G4/800 for about five years now... it's always be a good and reliable machine... all of a sudden, she's been plagued with kernel panics occuring several times a day... She's tried several clean OS X installs to no avail... last n
-
OIM Upgrade from 9.1.0.1 to 9.1.0.2 - issue
I performed upgrade from 9.1.0.1 to 9.1.0.2. All diagnostic dashboard tests are passed with exception of two tests. The following checks failed (diagnostic dashboard): 1. Oracle Identity Manager Libraries and Extensions Version report java.lang.NullP
-
Empty error dialog when trying to sync (Windows 7 x64 + itunes 9 and 10)
This post:http://discussions.apple.com/thread.jspa?messageID=11692653 describes my problem, but their solution did not work for me (setting Outlook as defauylt and use iTunes 9.2.0.61). Basically what happens is that every 10 minutes or so, an error
-
I am not able to share a link to a web page on my face book page when I am using Firefox.
I recently have tried to share a link to a video clip from youtube and another from Yahoo on my face page. When I click on the facebook icon to try I get the page that at the bottom has a button saying share. When I click on it nothing happens. I was
-
Deployement changes are not reflecting on Test Server
Hello All, I have Local (development)environment , I have deployed this application in Test envoirment as well and working fine. I have identified some changes and made changes on local machine and tested, now I am trying to deploy same changes on Te