Gen Solaris/Tuxedo using tmloadrepose gives keyword warnings
search cancel

Gen Solaris/Tuxedo using tmloadrepose gives keyword warnings

book

Article ID: 377386

calendar_today

Updated On:

Products

Gen Gen - Run Time Distributed

Issue/Introduction

The wrong version of awk can be executed on Solaris by the Gen 8.6 $IEFH/make/jvf2jblk.sh script. This script is used to compile generated .jvf files which describe the views that Tuxedo servers use.

This article will provide details on this change.

Environment

Gen 8.6 Runtime (Implementation Toolset) on Solaris systems with Tuxedo.

Cause

When executing the $IEFH/make/jvf2jblk.sh script using a PATH environment that does not have /usr/xpg4/bin before /usr/bin, the generated .jblk will not have the Tuxedo service name correctly populated.  As a result of the poorly generated .jblk file, when loaded into the repository (using tmloadrepos) the following warnings will be received:

tmloadrepos: warning: keyword(service): attribute value has an invalid string length

This will be followed by several more warnings related to the invalid service attribute value:

tmloadrepos: warning: keyword(export): no service definition ahead, skipped

tmloadrepos: warning: keyword(inbuf): no service definition ahead, skipped

tmloadrepos: warning: keyword(inview): no service definition ahead, skipped

tmloadrepos: warning: keyword(outbuf): no service definition ahead, skipped

tmloadrepos: warning: keyword(outview): no service definition ahead, skipped

(the remainder of the warnings have been removed from this output)

Resolution

Edit $IEFH/make/jvf2jblk.sh and add the following lines just after the modification comments at the top of the file:

if [ -f "/usr/xpg4/bin/awk" ]

then

    AWK=/usr/xpg4/bin/awk

else

    AWK=awk

fi

Then replace awk with $AWK on the line starting with awk:

Before:

awk -f $AWKSCRIPT -v pStep=$pStep -v service=$service -v outFile=$outFile < $tvfFile > $TMPFILE_1

After:

$AWK -f $AWKSCRIPT -v pStep=$pStep -v service=$service -v outFile=$outFile < $tvfFile > $TMPFILE_1

Save the changes.

Recreate the .jblk files by re-executing the generated .sh files in your model directory.