Blob dictates duplicate items in details section-based on supression
I was orginally having issues with my supression on this. I think I have it figured out. But..
I have parts that I request that sometimes have drawing with them. I created a table in Access with 3 columns - number, .bitmap., nameof drawing
I brought this table in. I place 1 drawing in the reports and this changes based upon the Paramter{drawing.id} that I have beeing selected. The problem is that I get duplicate fields produced in my details section. Now the blob sits in my report footer C. Can anyone suggest why or help with why my data is duplicating in my details section?
all items in my details section are duplicating
here is my sql if it helps:
max40385
SELECT "PR"."PRNUM", "COMPANIES"."NAME",
"COMPANIES"."ADDRESS1", "COMPANIES"."ADDRESS2",
"COMPANIES"."ADDRESS3", "COMPANIES"."ADDRESS4",
"COMPANIES"."PHONE", "COMPANIES"."FAX", "PR"."SHIPTOATTN",
"COMPANIES_1"."NAME", "COMPANIES_1"."ADDRESS1",
"COMPANIES_1"."ADDRESS2", "COMPANIES_1"."ADDRESS3",
"COMPANIES_1"."ADDRESS4", "PR"."ISSUEDATE", "PR"."CONTACT",
"PR"."REQUIREDDATE", "PRLINE"."ITEMNUM", "PRLINE"."ORDERUNIT",
"PRLINE"."ORDERQTY", "PRLINE"."DESCRIPTION",
"PRLINE"."UNITCOST", "PRLINE"."LINECOST",
"PRLINE"."PONUM", "LONGDESCRIPTION"."LDTEXT"
FROM "MAXIMO"."PR" "PR", "MAXIMO"."COMPANIES" "COMPANIES",
"MAXIMO"."COMPANIES" "COMPANIES_1", "MAXIMO"."PRLINE"
"PRLINE", "MAXIMO"."LONGDESCRIPTION" "LONGDESCRIPTION"
WHERE ("PR"."VENDOR"="COMPANIES"."COMPANY") AND ("PR"."SHIPTO"="COMPANIES_1"."COMPANY") AND ("PR"."PRNUM"="PRLINE"."PRNUM") AND ("PRLINE"."LDKEY"="LONGDESCRIPTION"."LDKEY" ) AND "PR"."PRNUM"='25334'
C:\Documents and Settings\kpowell\My Documents\Drawings.mdb
SELECT `Parts_Drawings`.`ID`
FROM `Parts Drawings` `Parts_Drawings`
Edit here-
Ok - I have 3 parameters
1- sets pr field ={?pr.num}
2.- mandatory answer determines a supress on fields(blob, and section blob is in) - supress statment is - {?yes/no}=no - for both areas
the parameter is {?yes/no}
3. sets up the blob to put into the document base upon a field in the table
that I made in access (based upon column 1 in acces table) - user makese selection based upon yes or no above if no then just leave it as ......
The wired thing is when I have multiple line items in my Pr (purchase request)
if I included a drawing there are no duplicate details
If I dont include the blob (meaning I supress it based upon the answer in my parameter - all items in the details section duplicate ( i suppress these if duplicated but it leaves huge gaps in my report.... any help would be great!
Ok i figured it out. In my access table i created the 1st entry and left the bitmap entry empty and put a descrition of not needed. I selected this as my drawing in my 3rd parameter and it satifies the report as thinking it has a drawing in it even though there is not. So all my duplicate line item in my details section disappear. thanks all
Edited by: max274 on Mar 27, 2009 4:21 PM
Edited by: max274 on Mar 27, 2009 4:29 PM
Edited by: max274 on Mar 27, 2009 6:29 PM
I found the answer see my previous post in this.
Similar Messages
-
Duplicate Item in Details Block
Dear Expert,
I written some code for checking of the same item in detail block, when I am using keyboard it is runing ok, but when I nevigate the same from mouse to another item, it will not check the duplicate item, my problem is when I move the mouse from one filed to another my Item-Code will be validate every time when I leave the mouse from One Item to another.
Please give me your expert adive.
s mishraHi Mark,
Actually this my code but it doesn't work.....
if :slcl.bulk_question_answer = 'N' then
Set_Item_Instance_Property('SLCL.BULK_ERROR_DETAILS', CURRENT_RECORD, UPDATE_ALLOWED,PROPERTY_TRUE);
elsif :slcl.bulk_question_answer = 'Y' then
Set_Item_Instance_Property('SLCL.BULK_ERROR_DETAILS', CURRENT_RECORD, UPDATE_ALLOWED, PROPERTY_FALSE);
:SLCL.BULK_ERROR_DETAILS := '';
end if;
Please remember I put this code in the when-checkbox-changed trigger the default if YES.
Any further advice or idea are greatly appreciated....
Thanks.
Regards,
Jun -
Repeating an item in details section in CR
How can I repeat an item(eg:Name) in page 2 of details page if the other item2 (eg:comments) spans over to page2.
This report has group headers. they are repeating. But I want to repeat the items in details page.
thanksIf you want to repeat in the next page. you can place a heading in the page header which will be repeated in all the corresponding pages.
-
Unrelated data in master detail sections of a custom BIP report deployed in R12 EBS
We have a custom Master Detail BIP report generated by calling XDO APIs from a custom Java concurrent program (common_report_attachment) . This Java concurrent program is called from another custom concurrent program (po_validation) that processes a batch of POs in a single concurrent request.
PO_Validation Program (processes a batch of POs per request) -> Java Concurrent Program -> BI Publisher Report APIs
BIP report generates data for master detail sections based on two sql queries (given below) that have 'where' clause based on a common external parameter "P_TRX_HDR_ID".
NOTE: No explicit data link is used NOR an output column of parent query is used in the where clause of detail query as bind parameter.
- <dataTemplate name="NAPPB2BPORPT" description="Data Template for B2B PO Report" version="1.0">
- <properties>
<property name="xml_tag_case" value="upper" />
<property name="db_fetch_size" value="200" />
<property name="scalable_mode" value="on" />
</properties>
- <parameters>
<parameter name="P_TRX_HDR_ID" dataType="number" />
</parameters>
- <dataQuery>
- <sqlStatement name="Q_PO_HDR">
- <![CDATA[
SELECT poh.po_number PO_NUMBER
, poh.quote_number QUOTE_NUMBER
---- other columns -----
FROM nappcust.napp_o2i_po_headers poh
,napp_aso_quote_headers_v naqv
WHERE 1=1
AND naqv.quote_number=poh.quote_number
AND poh.header_id = :P_TRX_HDR_ID
]]>
</sqlStatement>
- <sqlStatement name="Q_LINES">
- <![CDATA[
SELECT pol.item ITEM
, pol.partner_part_number PARTNER_PART_NUMBER
-- other columns --
FROM napp_o2i_po_lines pol
, napp_o2i_po_headers poh
, aso_quote_lines_all aqla
, mtl_system_items_b msib
WHERE 1=1
AND poh.header_id = pol.header_id
AND pol.header_id = :P_TRX_HDR_ID
AND aqla.quote_header_id = poh.QUOTE_HEADER_ID
AND msib.inventory_item_id = aqla.inventory_item_id
AND msib.organization_id = aqla.organization_id
AND (pol.quote_line_number = aqla.quote_line_id
OR pol.quote_line_number = aqla.quote_line_id||1)
]]>
-- Added for the defect 13954
</sqlStatement>
</dataQuery>
- <dataStructure>
- <group name="G_PO_HDR" source="Q_PO_HDR">
<element name="PO_NUMBER" value="PO_NUMBER" />
<element name="QUOTE_NUMBER" value="QUOTE_NUMBER" />
--- mappings for other columns of "Q_PO_HDR"
- <group name="G_LINES" source="Q_LINES">
<element name="ITEM" value="ITEM" />
<element name="PARTNER_PART_NUMBER" value="PARTNER_PART_NUMBER" />
--- mappings for other columns of "Q_LINES"
</group>
</group>
</dataStructure>
</dataTemplate>
Issue: Sometimes when the parent concurrent request runs for a batch with multiple POs the report generated for the last PO has inconsistent data in the master and detail sections. To elaborate, the detail section is having correct data pertaining to the PO identified by the parameter "P_TRX_HDR_ID". However, the master section is having data pertaining to the previous PO processed from the same batch.
This issue is not occurring consistently and is not reproducible at will. I
'm suspecting this could be because of not having data link between the queries but confirm from someone who has experienced this issue.
Regards,
Srinathis there any way from the page, can we pass the some values, which can identify the page level data?
if so pass the parameter to BIP report query. -
Can I have different "details" formatting based on a value in the Group?
Post Author: pcdelozi2
CA Forum: General
Greetings! I'm using Crystal Reports 11.0 and have the need to generate 3 different "formats" in the DETAILS section, based on what I am grouping on. Can this be done? For example, If what I am grouping on has 3 different values (AREA, LINE, POINT), then for each of those, I would like to branch to a different formating section. Any advice would be appreciated!
Thanks!Post Author: V361
CA Forum: General
I have CR XI: go to section expert, look for the x/2 button to the right of Suppress (No-Drill Down) click on the button, create a formula for example
{Customer.Contact First Name} = "Alejandra"
In this case, this section will suppress every time the {Customer.Contact First Name} = "Alejandra" -
Dynamically assigning Header to Details Section in Map
Hi,
I need to map the details from header to details section based on the condition.
When a Batchcode matches in the header section, I need to assign the address details from header to details section in a map.
Input:
<?xml version="1.0" encoding="utf-8"?>
<Company>
<Header>
<CompanyName>ABC</CompanyName>
<IndustryType>Hardware</IndustryType>
<BranchDetails>
<Branch>
<BranchCode>ABC123</BranchCode>
<AddressLine1>street No 1</AddressLine1>
<AddressLine2>Near mmm</AddressLine2>
<city>rtere</city>
<Pincode>345678</Pincode>
<country>China</country>
</Branch>
<Branch>
<BranchCode>DEF123</BranchCode>
<AddressLine1>street no 2</AddressLine1>
<AddressLine2>Near nnnn</AddressLine2>
<city>oieroji</city>
<Pincode>8987654</Pincode>
<country>India</country>
</Branch>
</BranchDetails>
</Header>
<WarehouseDetails>
<Warehouse>
<Name>AAAAAA</Name>
<WarehouseID>987</WarehouseID>
<BranchCode>ABC123</BranchCode>
</Warehouse>
<Warehouse>
<Name>BBBBB</Name>
<WarehouseID>765</WarehouseID>
<BranchCode>ABC123</BranchCode>
</Warehouse>
<Warehouse>
<Name>BBBBB</Name>
<WarehouseID>765</WarehouseID>
<BranchCode>DEF123</BranchCode>
</Warehouse>
</WarehouseDetails>
</Company>
Expected Output
<?xml version="1.0" encoding="utf-8"?>
<Company>
<Header>
<CompanyName>ABC</CompanyName>
<IndustryType>Hardware</IndustryType>
</Header>
<WarehouseDetails>
<Warehouse>
<Name>AAAAAA</Name>
<WarehouseID>987</WarehouseID>
<BranchCode>ABC123</BranchCode>
<AddressLine1>street No 1</AddressLine1>
<AddressLine2>Near mmm</AddressLine2>
<city>rtere</city>
<Pincode>345678</Pincode>
<country>China</country>
</Warehouse>
<Warehouse>
<Name>BBBBB</Name>
<WarehouseID>765</WarehouseID>
<BranchCode>ABC123</BranchCode>
<AddressLine1>street No 1</AddressLine1>
<AddressLine2>Near mmm</AddressLine2>
<city>rtere</city>
<Pincode>345678</Pincode>
<country>China</country>
</Warehouse>
<Warehouse>
<Name>BBBBB</Name>
<WarehouseID>765</WarehouseID>
<BranchCode>DEF123</BranchCode>
<AddressLine1>street no 2</AddressLine1>
<AddressLine2>Near nnnn</AddressLine2>
<city>oieroji</city>
<Pincode>8987654</Pincode>
<country>India</country>
</Warehouse>
</WarehouseDetails>
</Company>
Please suggest a solution
Regards, Vignesh SYou can do this by using Custom XSLT:
<?xml version="1.0" encoding="utf-16"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="Company">
<Company>
<Header>
<CompanyName>
<xsl:value-of select="Header/CompanyName" />
</CompanyName>
<IndustryType>
<xsl:value-of select="Header/IndustryType" />
</IndustryType>
</Header>
<WarehouseDetails>
<xsl:for-each select="WarehouseDetails/Warehouse">
<Warehouse>
<Name>
<xsl:value-of select="Name" />
</Name>
<WarehouseID>
<xsl:value-of select="WarehouseID" />
</WarehouseID>
<xsl:variable name="BranchCode" select="BranchCode" />
<BranchCode>
<xsl:value-of select="$BranchCode" />
</BranchCode>
<AddressLine1>
<xsl:value-of select="//BranchDetails/Branch[BranchCode = $BranchCode]/AddressLine1" />
</AddressLine1>
<AddressLine2>
<xsl:value-of select="//BranchDetails/Branch[BranchCode = $BranchCode]/AddressLine2" />
</AddressLine2>
<city>
<xsl:value-of select="//BranchDetails/Branch[BranchCode = $BranchCode]/city" />
</city>
<Pincode>
<xsl:value-of select="//BranchDetails/Branch[BranchCode = $BranchCode]/Pincode" />
</Pincode>
<country>
<xsl:value-of select="//BranchDetails/Branch[BranchCode = $BranchCode]/country" />
</country>
</Warehouse>
</xsl:for-each>
</WarehouseDetails>
</Company>
</xsl:template>
</xsl:stylesheet>
Morten la Cour -
Duplicate records for Sale Order Cycle Report(excluding item level detail)
I have posted this issue in number of forums but till today no one is able to answer it correctly.Here it is:
I need to create a report which I think most of the sd consultants have also done it.It basically covers sales order cycle without item lvel detail such as:
Sale Order No -- Sales Order Date-- Delivery No-- Delivery Date
Now as we all know ,sales orders and deliveries are connected through item table which means in the output I will get duplicate rows for the report above.For Example, if a sales order share 3 items with the delivery then we will get 3 exact duplicate rows in the report.
What can be the best solution?connecting through VBFA has alos same result as it also has item level details.
I need a good solution.This a common report and there must be some solutionHiiii,
It is standard SAP rule that system will catch the document flow (document link history) at item level.
Now your problem that you dont want to show the line item based report because of duplicacy.
Try this.
Brows table VBFA -
In screen selection select the following......
1. Subsiquent document category
2. Preceding item
select "J" in Subsiquent document category
and "000010" in Preceding item then execute the table.
Now system will not show multple line item based delivery report. so No duplicacy will be there
Regards
Shambhu Sarkar -
Shared Variable in DETAILS section reports value of previous item.
I have a report with a subreport in the details section. I have set up a shared variable in the subreport to pass a value to the main report. For some reason, the value of the variable for the first detail line item, shows up in the field for the second, the value for the second shows up in the third and this pattern repeats. How can I get the shared variable to display in the correct record?
It's because the data in the details line is evaluated/diplayed before the subreport executes.
Split the details into two sections and place SR in top one and display formula for var in lower one.
If there is data in the subreoprt you want on same line as the var then in section expert set the upper detail section to underlay.
Ian -
Showing headers based on multi column details section
Hi,
I have a report which has a subreport listing a simple list of records from a table.
The list of records is displayed using the "Format with Multiple Columns" option in Section Expert (2 columns). The printing direction is set to "Down then Across".
How can I set up the report so that it suppresses the header for the 2nd column is there if no data there?
ThanksHi Santhosh,
I used formulas in a similar concept to what Abhilash mentioned above (*you will need to know how many rows fit on one page).
Create a formula to put in the details section (where your headers are) that keeps a track of the page, column and row number (which resets the variables accordingly)..
shared numbervar rowCount;
shared numbervar pageNum;
shared numbervar columnNum;
if pageNum <> pagenumber then (
// now a new page so reset everything..
rowCount := 0;
columnNum := 1;
pageNum := pagenumber;
if rowCount = 30 then (
// new column so reset the row counter
rowCount := 0;
columnNum := columnNum + 1;
rowcount := rowcount + 1;
..now use the rowCount variable to suppress the details header if its > 1. -
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 -
Duplicate item 'ARCMGTAP/10052' could not be created
Hi
Am getting error while am saving the record acutally i implemented a new submit button progamtically and now it is giving error when i click that button and i have extended the controller and i have created one more submit button with SaveContinue ( means to be Save and Continue) but i am getting wrong .
so plz help me am giving u the error am getting and i will give u the code which i wrote.
Thankq
oracle.apps.fnd.framework.OAException: java.sql.SQLException: ORA-20002: 3122: Duplicate item 'ARCMGTAP/10052' could not be created.
ORA-06512: at "APPS.WF_ENGINE", line 4154
ORA-06512: at "APPS.AR_CMGT_WF_ENGINE", line 919
ORA-06512: at line 1
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:583)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1144)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2176)
and in extended controller i wrote a new submit button for that the code is here
process request()
OAPageButtonBarBean oapagebuttonbarbean = (OAPageButtonBarBean)oawebBean;
OAViewObject oaviewobject = (OAViewObject)oapageContext.getApplicationModule(oawebBean).findViewObject("creditRequestsVO");
oaviewobject.setMaxFetchSize(0);
OASubmitButtonBean oasb= (OASubmitButtonBean)oapageContext.getWebBeanFactory().createWebBean(oapageContext,"BUTTON_SUBMIT");
oasb.setID("SaveContinue");
oasb.setUINodeName("SaveContinue");
oasb.setEvent("SaveContinue");
oasb.setText("Save&Continue");
oasb.setLabel("Save&Continue");
oawebBean.addIndexedChild(oasb);
oracle.jbo.Row row = oaviewobject.first();
if(row != null)
String s1 = row.getAttribute("Status") != null ? row.getAttribute("Status").toString() : "-99";
if(s1.equals("SaveContinue"))
OAWebBean oawebbean4 = oapagebuttonbarbean.findIndexedChildRecursive("FndSaveContinueButtonSubmit");
oawebbean4.setRendered(false);
Processformrequest()
String s1 = oapageContext.getParameter("_FORM_SUBMIT_BUTTON");
String s2 = oapageContext.getParameter("SaveContinue");
if(oapageContext.getParameter("SaveContinue")!=null)
OAViewObject oaviewobject1 = (OAViewObject)oapageContext.getApplicationModule(oawebBean).findViewObject("creditRequestsVO");
oaviewobject1.first().setAttribute("Status", "SAVE");
} else
if(s2 == null && s1.equals("YesButton") && !oapageContext.getRootRegionCode().equals("ARCMBANKREFERENCEPAGELAYOUT") && !oapageContext.getRootRegionCode().equals("ARCMGUARANTORPAGELAYOUT") && !oapageContext.getRootRegionCode().equals("ARCMOTHERDATADETAILSPAGE") && !oapageContext.getRootRegionCode().equals("ARCMTRADEREFERENCEPAGELAYOUT"))
oapageContext.getRootRegionCode().equals("ARCMCOLLATERALDATADETAILSPAGE");
if(s1.equals("SaveContinue") || s1.equals("ArCmSubmit") || s1.equals("YesRefButtonWarn"))
oapageContext.getApplicationModule(oawebBean).invokeMethod("saveApplication");
OAViewObject oaviewobject2 = (OAViewObject)oapageContext.getApplicationModule(oawebBean).findViewObject("creditRequestsVO");
oracle.jbo.Row row = oaviewobject2.first();
String s5 = null;
if(row != null)
s5 = row.getAttribute("ApplicationNumber").toString();
String s6 = "OA.jsp?akRegionCode=ARCMCUSTSEARCHPAGE&akRegionApplicationId=222&OASF=ARCMAPPCUSTSEARCH&OAHP=ARCMMENUAPPLICATION";
MessageToken amessagetoken[] = new MessageToken[1];
amessagetoken[0] = new MessageToken("APPL_NUMBER", s5);
if(s1.equals("ArCmSubmit") || s1.equals("YesRefButtonWarn"))
OAException oaexception = new OAException("AR", "AR_CMGT_APPLN_SUB_CNFRM_DESC", amessagetoken);
OAException oaexception2 = new OAException("AR", "AR_CMGT_APPLN_SUB_CNFRM_INSTR");
OADialogPage oadialogpage1 = new OADialogPage((byte)3, oaexception, oaexception2, s6, null);
oadialogpage1.setReuseMenu(false);
writeDiagnostics(oapageContext, this, "Before +++++++++++++");
oapageContext.redirectToDialogPage(oadialogpage1);
} else
OAException oaexception1 = new OAException("AR", "AR_CMGT_APPLN_SAVE_CNFRM_DESC", amessagetoken);
OAException oaexception3 = new OAException("AR", "AR_CMGT_APPLN_SAVE_CNFRM_INSTR");
OADialogPage oadialogpage2 = new OADialogPage((byte)3, oaexception1, oaexception3, s6, null);
oadialogpage2.setReuseMenu(false);
oapageContext.redirectToDialogPage(oadialogpage2);
//url of the page // here the code i s for return back to the same page after saving the details
String url ="/oracle/apps/ar/creditmgt/application/webui/ARCMCREDITAPPPAGE";
//retain am parameter
String amMode ="true";
//Computing page_url
String page = url + "&retainAM=" + amMode + "&fndOAJSPinEmbeddedMode=y" + "&";
//Computing final url
String destURL =
OAWebBeanConstants.APPS_HTML_DIRECTORY + OAWebBeanConstants.APPLICATION_JSP +
"?" + OAWebBeanConstants.JRAD_PAGE_URL_CONSTANT + "=" + page;
}Hi,
I'm not sure but it seems that it is trying to invoke WF for item key which already exists.
Regards,
Reetesh Sharma -
Purchase order Line item Excise Details
Dear All..
In purchase order line item Excise Details Basic price and Excise 14% and 2%cess and 1%Se.Cess And cst 4% Are Stored in Which table.. or any standard report available for this.. Please Resolve this.
Usefull Threads will Be Rewarded..
Thanks & Regards
Kumarfor excise check table J_1IEXCHDR for header
J_1IEXCDTL for item excise
The Table name used to find the Tax Values are
KOMV: Pricing Communications-Condition Record
KONV: Conditions (Transaction Data)
From the above tables you can refer the fields below.
KAWRT
KBETR
Fetch the corresponding records based on the field
KNTYP
hope it help
regards
kunal -
Master Detail Form - Update Statement for Column in the Detail Section
Hello,
I've posted a demo application to apex.oracle.com
Application# 49298
Application Name: Street_Inventory
Basically, on page 3 I have a Master Detail Form. In the Detail section, I want the value of On_hand to save to table ITEMS. Here's my code below.
SOURCE
select
"CONSUME_DETAIL"."CONSUME_DETAIL_ID",
"CONSUME_DETAIL"."CONSUME_HEADER_ID",
"CONSUME_DETAIL"."ITEM_ID",
"CONSUME_DETAIL"."CONSUMED_QUANTITY",
("ITEMS"."ON_HAND" - "CONSUME_DETAIL"."CONSUMED_QUANTITY") as "ON_HAND"
from "CONSUME_DETAIL",
"ITEMS"
where "CONSUME_HEADER_ID" = :P3_CONSUME_HEADER_ID
and "CONSUME_DETAIL"."ITEM_ID"="ITEMS"."ITEM_ID"
UPDATE INVENTORY PROCESS
UPDATE ITEMS
SET ON_HAND = :P3_ON_HAND - :P3_CONSUMED_QUANTITY
WHERE ITEM_ID = (select ITEM_ID
from CONSUME_DETAIL
where CONSUME_DETAIL_ID = :P3_CONSUME_DETAIL_ID);
My code isn't working. What am I doing wrong?WReed,
The first thing I see "off the bat" is that you don't have items named P3_ON_HAND and P3_CONSUMED_QUANTITY which are referenced in your code. Although it's possible to do what you want with just SQL, I updated your code with a little PL/SQL to make it easier to understand...
As you'll see the problem now is that the design/db model is not quite right as your getting a too many rows error.
Regards,
Dan
http://danielmcghan.us
http://sourceforge.net/projects/tapigen -
Alternating background color in details section
I am attempting to use the alternating color feature in the details section for a listing of data, where you can alternate the color based on a condition. What my client wants is to have the color change based on the first letter of the names, which are in alphabetical order. At first I thought this was simple: I just put an if statement cycling through, using every other letter of the alphabet. This worked fabulously until I realized that if there were no names for a particular letter (such as Q), that it would not alternate in that instance - the "P" and the "R" would both be white. Does anyone have a solution to this? Is there a way I can change it based on everytime the first letter changes? Thanks in advance!
This should do the trick for you...
Global NumberVar x := IF RecordNumber = 1 THEN 1 ELSE x;
Global StringVar l := IF RecordNumber = 1 THEN LEFT({TableName.LastName}, 1) ELSE l;
x := IF l = LEFT({TableName.LastName}, 1) THEN x ELSE x + 1;
l := LEFT({TableName.LastName}, 1);
IF x MOD 2 = 1 THEN crSilver ELSE crNoColor;
HTH,
Jason -
Duplicate Records in Details for ECC data source. Help.
Hello. First post on SDN. I have been searching prior posts, but have come up empty. I am in the middle of creating a report linking directly into 4 tables in ECC 6.0. I am having trouble in getting either the table links set up correctly, or filtering out duplicate record sets that are being reporting in the details section of my report. It appears that I have 119 records being displayed, when the parameters values should only yeild 7. The details section is repeating the 7 records 17 times (there are 17 matching records for the parameter choices in one of the other tables which I think is the cause).
I think this is due to the other table links for my parameter values. But, I need to keep the links the way they are for other aspects of the report (header information). The tables in question are using an Inner Join, Enforced Both, =. I tried the other link options, with no luck.
I am unable to use the "Select Disctinct Records" option in the Database menu since this is not supported when connecting to ECC.
Any ideas would be greatly appreciated.
Thanks,
Barret
PS. I come from more of a Functional background, so development is sort of new to me. Take it easy on the newbie.If you can't establish links to bring back unique data then use a group to diplay data.
Group report by a filed which is the lowest commom denominator.
Move all fields into group footer and suppress Group header and details
You will not be able to use normal summaries as they will count/sum all the duplicated data, use Running Totals instead and select evaluate on change of the introduced group
Ian
Maybe you are looking for
-
Open vi within vi and close the the last one
Hi all I've searched the solution to my problem, but didn't find. Short brief: I have a VI that uses for authorization, then if all O.K it should open other VI("code-vi") and run it and close itself. I saw that some people recommended , that it can
-
How can i show input text when no row present in database.
Hi All, I am using Jdeveloper 11g Release1(11.1.1.4.0) I have created EO and VO which is based on that EO. By using Vo i have designed .jspx page ,on that page i have taken adf form which is based on that VO. My problem is when database table is blan
-
When I try to print to a PDF from any program images are blurred
I try to print to PDF using word, or any other program. The resulting PDF is clear for text and all but the images are blurred. Could There be a reason for this and how do I fix it? I am using the print preset when printing. Thanks, Mark
-
Database Refresh errors in Planning 9.3.1
Hi, While refreshing the database in planning 9.3.1, i am getting the below errors com.hyperion.planning.olap.HspVerifyOutlineException: Verify Outline failed with the following errors: ** Error [1042006] detected in member formula for member "Ed
-
Adobe Flash Player not working with IE 11 Active X
After successful installation of Adobe Flash Player 11 Active X, there is no shortcut to it but the program is found in the Control Panel (under uninstall). Tried re-installation and all help on internet forum and Youtube, the videos at yahoo.com.sg