{"record":{"id":"82986ba1346d2f74","repo":"pentaho/pentaho-kettle","slug":"ingresvectorwiseloaderdialog-failedtofindfield-message","errorCode":"IngresVectorWiseLoaderDialog.FailedToFindField.Message","errorMessage":"IngresVectorWiseLoaderDialog.FailedToFindField.Message","messagePattern":"IngresVectorWiseLoaderDialog\\.FailedToFindField\\.Message","errorType":"validation","errorClass":"KettleStepException","httpStatus":null,"severity":"error","filePath":"plugins/ivw-bulk-loader/ui/src/main/java/org/pentaho/di/ui/trans/steps/ivwloader/IngresVectorwiseLoaderDialog.java","lineNumber":752,"sourceCode":"  private void sql() {\n    try {\n      IngresVectorwiseLoaderMeta info = new IngresVectorwiseLoaderMeta();\n      getInfo( info );\n      RowMetaInterface prev = transMeta.getPrevStepFields( stepname );\n      StepMeta stepMeta = transMeta.findStep( stepname );\n\n      // Only use the fields that were specified.\n      //\n      RowMetaInterface prevNew = new RowMeta();\n\n      for ( int i = 0; i < info.getFieldDatabase().length; i++ ) {\n        ValueMetaInterface insValue = prev.searchValueMeta( info.getFieldStream()[i] );\n        if ( insValue != null ) {\n          ValueMetaInterface insertValue = insValue.clone();\n          insertValue.setName( info.getFieldDatabase()[i] );\n          prevNew.addValueMeta( insertValue );\n        } else {\n          throw new KettleStepException( BaseMessages.getString(\n            PKG, \"IngresVectorWiseLoaderDialog.FailedToFindField.Message\", info.getFieldStream()[i] ) );\n        }\n      }\n      prev = prevNew;\n\n      SQLStatement sql = info.getSQLStatements( transMeta, stepMeta, prev, repository, metaStore );\n      if ( !sql.hasError() ) {\n        if ( sql.hasSQL() ) {\n          SQLEditor sqledit =\n            new SQLEditor( transMeta, shell, SWT.NONE, info.getDatabaseMeta(), transMeta.getDbCache(), sql\n              .getSQL() );\n          sqledit.open();\n        } else {\n          MessageBox mb = new MessageBox( shell, SWT.OK | SWT.ICON_INFORMATION );\n          mb.setMessage( BaseMessages.getString( PKG, \"IngresVectorWiseLoaderDialog.NoSQL.DialogMessage\" ) );\n          mb.setText( BaseMessages.getString( PKG, \"IngresVectorWiseLoaderDialog.NoSQL.DialogTitle\" ) );\n          mb.open();\n        }","sourceCodeStart":734,"sourceCodeEnd":770,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/plugins/ivw-bulk-loader/ui/src/main/java/org/pentaho/di/ui/trans/steps/ivwloader/IngresVectorwiseLoaderDialog.java#L734-L770","documentation":"In the dialog's SQL preview generation, for each info field it looks up the stream field (getFieldStream()[i]) in the previous step's row meta; when not found it throws KettleStepException with the localized message IngresVectorWiseLoaderDialog.FailedToFindField.Message naming the missing stream field.","triggerScenarios":"The dialog's 'SQL' button builds output row meta; a configured stream field name no longer exists in the input rows because an upstream step was renamed, removed, or the mapping is stale.","commonSituations":"Renaming a field in an upstream step; deleting a source field; loading an old transformation whose upstream metadata changed; typos in the stream_name mapping.","solutions":["Open the step dialog, go to the Fields tab, and remove or remap the field whose stream name no longer exists.","Run 'Get Fields' again to refresh the mapping from the actual upstream row structure.","Fix the upstream step so it actually produces the referenced field name."],"exampleFix":"// before: stale mapping to a removed field\nfieldStream[i] = \"old_field_name\";\n// after: match the renamed upstream field\nfieldStream[i] = \"new_field_name\";","handlingStrategy":"validation","validationCode":"RowMetaInterface prev = transMeta.getPrevStepFields(stepMeta);\nfor (int i = 0; i < info.getFieldStream().length; i++) {\n  if (prev.searchValueMeta(info.getFieldStream()[i]) == null) {\n    throw new IllegalStateException(\"Stream field missing upstream: \" + info.getFieldStream()[i]);\n  }\n}","typeGuard":null,"tryCatchPattern":"try { sql = info.getSQLStatements(...); } catch (KettleStepException e) { /* remap or remove the missing stream field in the dialog */ }","preventionTips":["Re-run 'Get Fields' after changing upstream steps.","Rename fields via a Select Values step rather than deleting them.","Preview upstream output before editing mappings."],"tags":["ui","field-mapping","metadata"],"backgroundTag":"record-not-found","analyzedSha":"f3058517a153da500bf4551f46d79b91bf8ec552","analyzedAt":"2026-09-13T14:04:16.340Z","contentChangedAt":"2026-09-13T14:04:16.340Z","schemaVersion":2},"datasetVersion":"2026-09-20T23:17:15.980Z"}