diff --git a/rpgJavaInterpreter-core/src/main/kotlin/com/smeup/rpgparser/parsing/parsetreetoast/misc.kt b/rpgJavaInterpreter-core/src/main/kotlin/com/smeup/rpgparser/parsing/parsetreetoast/misc.kt index 1988f6a41..1f0851657 100644 --- a/rpgJavaInterpreter-core/src/main/kotlin/com/smeup/rpgparser/parsing/parsetreetoast/misc.kt +++ b/rpgJavaInterpreter-core/src/main/kotlin/com/smeup/rpgparser/parsing/parsetreetoast/misc.kt @@ -223,7 +223,7 @@ internal fun FileDefinition.toDataDefinitions(): List { val dataDefinitions = mutableListOf() val metadata = loadMetadata() - if (internalFormatName == null) internalFormatName = metadata.recordFormat + if (internalFormatName == null) internalFormatName = metadata.recordFormat.ifEmpty { metadata.name } dataDefinitions.addAll( metadata.fields.map { dbField -> diff --git a/rpgJavaInterpreter-core/src/test/kotlin/com/smeup/rpgparser/smeup/MULANGT02ConstAndDSpecTest.kt b/rpgJavaInterpreter-core/src/test/kotlin/com/smeup/rpgparser/smeup/MULANGT02ConstAndDSpecTest.kt index 4344cbfa9..c0dd260d8 100644 --- a/rpgJavaInterpreter-core/src/test/kotlin/com/smeup/rpgparser/smeup/MULANGT02ConstAndDSpecTest.kt +++ b/rpgJavaInterpreter-core/src/test/kotlin/com/smeup/rpgparser/smeup/MULANGT02ConstAndDSpecTest.kt @@ -322,4 +322,14 @@ open class MULANGT02ConstAndDSpecTest : MULANGTTest() { val expected = listOf("ok") assertEquals(expected, "smeup/MUDRNRAPU00213".outputOf(configuration = smeupConfig)) } + + /** + * FileDefinition on metadata with empty recordFormat + * @see #LS24002985 + */ + @Test + fun executeMUDRNRAPU00217() { + val expected = listOf("ok") + assertEquals(expected, "smeup/MUDRNRAPU00217".outputOf(configuration = smeupConfig)) + } } \ No newline at end of file diff --git a/rpgJavaInterpreter-core/src/test/resources/smeup/MUDRNRAPU00217.rpgle b/rpgJavaInterpreter-core/src/test/resources/smeup/MUDRNRAPU00217.rpgle new file mode 100644 index 000000000..245468851 --- /dev/null +++ b/rpgJavaInterpreter-core/src/test/resources/smeup/MUDRNRAPU00217.rpgle @@ -0,0 +1,5 @@ + D £DBG_Str S 2 + FB£G40EWK IF E K DISK USROPN + C CLOSE B£G40EWK + C EVAL £DBG_Str='ok' + C £DBG_Str DSPLY \ No newline at end of file diff --git "a/rpgJavaInterpreter-core/src/test/resources/smeup/metadata/B\302\243G40EWK.json" "b/rpgJavaInterpreter-core/src/test/resources/smeup/metadata/B\302\243G40EWK.json" new file mode 100644 index 000000000..92ad90dcc --- /dev/null +++ "b/rpgJavaInterpreter-core/src/test/resources/smeup/metadata/B\302\243G40EWK.json" @@ -0,0 +1,8 @@ +{ + "name": "B£G40EWK", + "tableName": "", + "recordFormat": "", + "fields": [ + ], + "accessFields": [] +}