Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
Hajar1
Contributor
Contributor

How to display two fields from the input files

Hi members, in a big project, I have to map two fields correctly from the input to output:

- The first field in the output is named "attribute_PSS_Comment" and it contains the concatenation of three fields from the input which are: "attribute_FPDMISBGCOMMENT_1", "attribute_FPDMISBGCOMMENT_2" and "attribute_PSS_FPDM_POC_Recommended_Family".

- The second field in the output is named "attribute_PSS_SAPDescription" and it is mapped with "attribute_FPDMSAPDescription" of the input. The "attribute_FPDMSAPDescription" is also mapped with "attribute_PSS_ManufacturingItemExt_PSS_FaureciaShortLengthDescriptionFCS" in the output.

The creation of the fields is done in the component "tJavaRow_15" as following:

Field attributes = output_row.getClass().getDeclaredField("attributes");
Field attributes1 = output_row.getClass().getDeclaredField("attributes1");
//if(!(String.valueOf(input_row.getClass().getField("name").get(input_row))).startsWith("CM-")){
	Set<String> set1=((Map<String,String>)globalMap.get("colHeaderMaterialBO")).keySet();
	//System.out.println("OKKKKK" + (Map<String,String>)globalMap.get("colHeaderMaterialBO"));       
	boolean first = true;

	int index = 12;
	
	String concat="";
	String concat1="";
	
for(String str:set1){

      String cellName = str ;
      String cellValue = (input_row.getClass().getField(((Map<String,String>)globalMap.get("colHeaderMaterialBO")).get(cellName)).get(input_row).toString());
//      System.out.println(((String)globalMap.get("tFileList_5_CURRENT_FILEPATH"))+"\n"+cellName + "-> "+cellValue);      
	if(cellName.equals("attribute_FPDMISBGCOMMENT_1") || cellName.equals("attribute_FPDMISBGCOMMENT_2") || cellName.equals("attribute_PSS_FPDM_POC_Recommended_Family")){
		if ("".equalsIgnoreCase(concat)){
			concat = cellValue;
		}else{
			if (!("".equals(cellValue))){
				concat = concat +" - "+ cellValue;
			}
		}
	}
	if(cellName.equals("attribute_FPDMSAPDescription")){
		if ("".equalsIgnoreCase(concat1)){
			concat1 = cellValue;
		}else{
			if (!("".equals(cellValue))){
				concat1 = concat1 +" - "+ cellValue;
			}
		}
	}
	
		
	
      try {
            Field out=output_row.getClass().getDeclaredField(cellName);
            if(cellName.equals("key")){
            	out.set(output_row, Integer.parseInt(cellValue));
			}
			else {
            	out.set(output_row, cellValue);
            }
      } catch (NoSuchFieldException nsfe) {
			Field fld = output_row.getClass().getDeclaredField("newColumn"+index);
            fld.set(output_row, cellValue);
            index++;
 
     }
}
//}
if (concat.length()>=40){
	attributes.set(output_row,""+concat.substring(0, 40));
}else{
	attributes.set(output_row,""+concat);
}

if (concat1.length()>=40){
	attributes1.set(output_row,""+concat1.substring(0, 40));
}else{
	attributes1.set(output_row,""+concat1);
}

and in the following tMap named tMap_7, the mapping id done as following:

0683p000009M8GT.png0683p000009M7rn.png0683p000009M8GY.png

Labels (2)
1 Reply
Anonymous
Not applicable

Hi ha_2019
I think I don't understand your question well, what is your issue and what do you expect?

Regards
Shong