Validating vendors in PO item conditions of BAPI_PO_CREATE1
Hai friends,
BAPI_PO_CREATE1 is not validating the vendors of item level conditions(BAPIMEPOCOND-VENDOR_NO).
But I have to validate those vendors existed in SAP or not. please help me.
regards,
Eswar.
before passing the data to any screen using bdc(session method or call transaction) or bapi methods you need to validate the data from its check tables say you asked the vendors is not validating u should check the data from lfa1 table whether the vendors are available or not this is nothing but data clensing.
and each record entered in the bapi function module should be fully data validated i.e the data should 99.99% save in the data base table of concerned tables like ekko,ekpo in this case ie. this is nothing but data prusing.
write select statements to lfa1 table & delete the records if in flat file given there is no vendors matched to database tables before passing the vendors to bapi_po_create functionmodule
Similar Messages
-
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 -
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 -
Submit new Item Conditions via Function Module BAPI_PO_CREATE1
Hi all,
I have problems using FM BAPI_PO_CREATE1.
I want to transfer Item conditions via FM, but I am not able to change the netprice via FM, my Conditions are not displayed within the Item (only netprice of Item is displayed).
I create POs out of a SRM System via FM BBP_PO_INBOUND (which calls BAPI_PO_CREATE1).
My question:
Has anyone an example how to fill in data within table POCOND so that my PO item contains for example a gross price and a rebate.
I am stucked, I can´t find the solution to create item conditions via FM BAPI_PO_CREATE1.
Any examples?
Thanks a lot
Regards
AndreasProblem resolved
I used the FBGENDAT param in R/3 system to generate test data automatically, compare the data and finally I found my error.
--> OSS note 539978
Regards
Andreas -
Trans ME31K:Defaulting item condition validity to contract validity date
Hello Experts,
I have a request from my client which is as follows :
On transaction ME31K (Create Contract), at header I can enter a start date and an end date for the validity of my contract.
Program name : SAPMM06E
FIELD-NAMES : EKKO-KDATB & EKKO-KDATE
The users want the same date range to appear at item level for the conditions :
Select a new created Item > Conditions.
Program name :SAPMV13A
FIELD NAMES : RV13A-DATAB & RV13A-DATBI
Because, the transaction is changing the program name, it is very difficult for us to replicate the dates at the item's condition level.
Can you please suggest any idea to implement this solution ?
Thanks & Regards,
Mahesh
Edited by: Maheshsingh Sharma Jhoomuck on Oct 5, 2009 4:52 PM
Edited by: Maheshsingh Sharma Jhoomuck on Oct 5, 2009 4:53 PMHi raghavendra sai !
Thanks for the answer.
But actually, my client wants 'from date' of the items conditions to be defaulted to the date that he indicated on the contract's validity date at header (from date - EKKO-KDATB).
A contract can be created with a validity interval that starts from a past date. -
Validity periods for Item Conditions - Purchasing Agreements
hi,
For Agreements (Purchasing) we are looking for creating multiple validity periods for item conditions. We cannot use BTCI for transaction ME31K as it does not allow to create multiple validity periods at one time!
Are there any BAPIs for the same? Is there any other way??
Thanks in advance.
regards,
NBHi
Working with eCATT (Extended Computer Aided Test Tool)
Try this.
http://www.erpgenie.com/ecatt/
Thanks
Ashok -
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 -
Validation for not due items.
I want to make a validation that when a vendor invoice is cleared and if it is not due (i.e. days in arrears are negative), system should issue a message that the item is not due. I tried with :
pre-req : transaction code=F-53
check : days in arrears < 0
message : error
but it is not working. I dont know whether i have selected the correct message class.
Please guide me.Hi ,
Please ensure that you have activated the validation through the T code GGB4 .
Secondly , take a trace of the validation and check in which condition is your validation not firing .
Revert back with trance analaysis if stuck up .
Regards ,
Dewang T. -
Few queries about foreign revaluation for vendor/customer open items
I am trying the transaction F.05 for the first time for vendor & customer open items in foreign currency. I have a few queries:-
1. The ouput contains 2 exchange rates. One is picked from the transaction header. My query is from where is the other rate being picked up. In my current system, I could make out that exch rate in transaction header is being picked automatically from table OB08....however I am unable to deduce the source of the 2nd exch rate.
2. What is the significance of "balance sheet preparation valuation". Earlier in test runs, only "new difference" was getting populated. However the user wanted to see "old diff" also. So while doing some trial run in test client, I checked the "bal sheet prep valu" and posted.....after this run, I am getting values in "old diffe" and "new diff" also. And the posted amount is the difference of the two. What is the significance and ideal way?
3. Should the entry be reversed if I am revaluating at year end? Why I am asking is because in some threads I read that revaluation at year is not to be reversed....
Thanks,
SM1. To find out difference latest date(Key Date for OI Overview) will be taken by comparing with document posted dated. Based on that system shows diffrences
2. The items are valued using the exchange rate valid at the key date. The
difference determined in local currency is output and posted. The
valuation can also be done for parallel local currencies and according to
different valuation approaches (HGB, GAAP).
The result of the valuation is required for the creation of the financial
statements. You should therefore carry out the valuation before the
grouping of receivables and payables with program SAPF101. The valuation
difference is then noted in the document. Use the valuation areas to
calculate a different valuation method, or to save the result for further
processing activities.
3. we need to reverse entries . -
How to fetch the correct netprice based on contract item conditions
Hi,
When you display a contract using ME33K and you click on a item and view its conditions(shift+F6), there might be 2 validity periods for a given item.
and each period will have different netprice in it.
Let me describe the same.
Suppose the PO creation date is 04.07.2007
The conditions for an item in a contract for the PO are as follows;
1. Validity from 04.07.2007 validity to 04.07.2007 Netprice = 100.00
2. Validity from 05.07.2007 validity to 31.12.9999 Netprice = 200.00
We need to always fetch the net price from the validity period which always matches with the PO creation date. here the value 100.00 should be the correct netpr as the PO creation date matches with the first validity period.
But the program is fetching the netprice 200.000 which belongs to the second validity period. That is because the select statement which fetches the data for contracts collects on the basis of EKKO-kdate and ekko-kdtab.The fields kdate and kdtab retrieves the validity period of the contract which is from 04.07.2007 to 31.072007. This data is then used to retrieve the netpr data from EKPO and it fetched 200.00 as it retrieves the net price of current data in contract validity and not with respect to PO creation date.
This data is then used to fetch the get the netpr data from EKPO.
what we need is the netprice for that validity period of item(Conditions) that matches with the PO creation date..
Now I have the internal table which is having data retrieved from Ekko and EKPO table.
Now how do I retrive the correct price by using the condition tables KONV and KONP.
Can you pls give the code snippet..
Thanks in advance.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 -
Duplicate condtion types accepting in item condition (interesting)
Hi Sap Guru's,
When i am entering manual condition type in item condition type column Ex: PR00 basic price 2000/Rs, and again i am entering same condition type PR00 basic price 1000/Rs the system accepting same condition type ?? is there any standard setting to eliminate duplicate condition types in item condition (sales order)
Point will be rewarded to Everyone for helpful solutions.
Thanks & Regards,
San RaoHi ,
System will considered if the validity periods are diffrent,
one ,in condition Type controls you have one option ,manual entries ha priority ,changes which u can made Through this u can control.
Making manual entries
Indicator which controls the priority within a condition type between a condition entered manually and a condition automatically determined by the system.
&WHAT_TO_DO?
Make the following entries according to your requirements:
_: No limitations
A: Freely definable
B: The automatic entry has priority. If a condition record exists, the condition cannot be entered manually.
C: The manual entry has priority. When you enter the condition
manually, the system does not check whether a condition record exists.
D: Cannot be processed manually
With best regards,
venkataswamy.y -
PO line item condition to be linked with contract
Hi
In the PO line item condition tab the costs for freight, insurance are specified in different condition types. Moreover it is required to create contracts for freight and insurance.When creating the material PO client wants to link the contract for the freifgt and insurance with this PO line item cost.
How can the contract be linked with the PO line item condition?
RegardsI am not refering to the contract when creating the PO. The contract is created independently and the PO is created.
Explanation of the issue: First the contract is created for the freight and insurance for vendor say V1. Then the PO is created for the material for vendor V2. In the PO line item the freight and insurance is specified in different condition types. When specifying the cost for the freight and insurance they want to link it with the contract that was created with vendor V1. Is it possible to link the contract for freight and insurance with the PO line item cost?
Regards -
How does it work Item Conditions for a PO
I need to retrieve the correct price of a material in an agreement, depending of the validity period. I noticed that, clicking in the button: Item Condition I obtain the right ammount.
I also noted that the value that I need is KONP-KBETR, but I need to know how to move from table EKPO to this table KONP (How are they linked - fields - )
TIAI think the best way for you is to put a break-point in 'pricing' and then use ME32 (I think) to change the contract. Go to the condition screen and add an entry, this will force the flow through the fm, I hope. Then you'll be able to see the parameter values that get passed into 'pricing' and can try to simulate that in your own program.
Also, you could run ME32 in SE30 and have a look at the db tables being used. That might tell you where the conditions are held.
If you have no joy with the contract transaction try and do the same thing with ME22N instead to see how pricing should be used. -
Header condition types and item condition type
Hello Gurus,
this is a simple question. does the header condition types are totally same as item condition types ?
thanks very much!hi,
header:
If this condition is marked as a header condition, it is possible to enter the condition type in the header condition screen. Checks for changing the condition manually are unaffected by this.
the header conditions calculate the header value
item : conditions of this type are allowed to be entered in the document items. The condition is then only valid for the particular item in which it is entered.
item condition calculate at item level
(freight condition)for eg = HD00 is a header condition .here if you have 10 materials and this cond type calculates the freight charges for all the 10 items.
KF00 is aitem condition.here system caliculates the freight charges only for that particular items.
Edited by: MANI ROOPA SD/MM on Apr 24, 2008 2:32 PM -
How to get po item condition type according schema group
hi experts,
i want to get po item condition type according schema group.
for example, in xk03, if the "schema group, vendor"in purchasing data view is set to 'Z3', in the purchase order which is made for this vendor, the po item's gross price condition type is hwxx.
if the "schema group, vendor" is set to 'Z2', the po item's gross price condition type is pbxx.
my question is : how to get po item condition type according schema group?
hunger for ur advice and thanks a lot!several steps you need to go
1. you need to get the purcahsing group schema against your purchasing group from table T024E.
2. get the vendor group schema from vendor master data table LFxxxxxx
3. get the pricing schema from table TMKS via the selection criteria purchasing group schema and vendor group schema
4. go to the table T683S via inputing Usage, application and pricing determination procedure.
5. now you got it.
Maybe you are looking for
-
How we can access the original photo in new photos app ?
how we can access the original photo or modify photo in new photos app as we do in iPhoto app? in iPhoto there is option to revival in finder to see the original and modified photos so can we see the these type photos or revival in finder in new phot
-
Where is the zen-eee repository?
Hi, the Wiki mentions [1] the zen-eee repository as a source for EeePC specific packages, but apparently the repository is off-line? Does anyone know what happened to it? Peter [1] http://wiki.archlinux.org/index.php/Asu - he_EEE_901
-
Mac App Store Stuck - Cannot Sign In
Hello, I've recently upgraded my Mac OS X from 10.6.2 to 10.6.6 . Now the App Store is installed and shown in my dock , but I can't use it because it cannot connect to iTunes Store . When I open the Mac App Store , "Connecting to iTunes Store ..." ap
-
What are the System Requirements for Web Server hosting Adobe Air application
Working on a project that is using Adobe Air . The Adobe support site has system requirements for the client side application, but for the server side, what are the system requirements? Using a Windows server, would expect to have approx. 100 concurr
-
I have a redemption code. When I go to get my serial number I get this response."We're sorry, something seems to be wrong on our end. Please try again later:. I have tried all day. Can anyone help me???