Sei sulla pagina 1di 10

Apply the support package to solve this issue, or apply following steps manually.

Before apply the manual steps, Adobe LiveCycle Designer 7.1 need to be installed at
the client as prerequisite to display the form designer layout.
1. Logon to SAP system and open transaction 'sfp'
2. Input 'GRPC_AIF_ASSESSMENT' in the 'form' text field and click 'change' button
3. Click 'Layout' tab
4. In layout view, on the left side, find and double click on "PageValidation" button under
body-->variables.
5. On the above script area, you can see the script language/Code should be :

Overwrite following scripts from line 1.


data.BODY.#variables[0].PageValidation - (JavaScript, client)
function validatePopupIssue()
{
var issueName = xfa.form.data.POPUP_ISSUE.UP.LEFT.TF_NAME.rawValue;
//issueName.replace(/(^\s*)|(\s*$)/g, ""); // remove blank space
if( issueName == null
|| issueName.replace(/(^\s*)|(\s*$)/g, "") == "" )
{
xfa.host.messageBox( "Issue Name is mandatory" );

return false;
}
if( xfa.form.data.POPUP_ISSUE.UP.LEFT.DPD_PRIORITY.rawValue == null
|| xfa.form.data.POPUP_ISSUE.UP.LEFT.DPD_PRIORITY.rawValue == "" )
{
xfa.host.messageBox( "Priority is mandatory" );
return false;
}
var ownerName = xfa.form.data.POPUP_ISSUE.UP.LEFT.SF_OWNER.TF_OWNER.rawValue;
//ownerName.replace(/(^\s*)|(\s*$)/g, ""); // remove blank space
if( ownerName == null
|| ownerName.replace(/(^\s*)|(\s*$)/g, "") == "" )
{
xfa.host.messageBox( "Owner is mandatory" );
return false;
}
return true;
}

function validateEvaluationData()
{
/*--- Validation for issue data---*/
// whether issues exist
var vIssueExist;
var vissueName;
var vIssueStatus;
var issueTable =
xfa.resolveNodes("xfa.form.data.BODY.SF_CONTENT.SF_ISSUES.BODY_ISSUE.SF_ISSUE
_TAB.ISSUES.DATA[*]");
if( issueTable.length > 1)
{ //vIssueExist = true;
for (var i=0; i<issueTable.length; i++)
{
vIssueStatus = issueTable.item(i).TF_STATUS.rawValue;
if (vIssueStatus == "Void")
{continue;}
else
{vIssueExist = true;}
} }
else if ( issueTable.length == 1 )
{ vIssueName = issueTable.item(0).TF_ISSUE_NAME.rawValue;
vIssueStatus = issueTable.item(0).TF_STATUS.rawValue;
if ( vIssueName == null || vIssueName == "" || vIssueStatus == "Void")
// blank line
{ vIssueExist = false; }
else
{ vIssueExist = true; }
}

else
{ vIssueExist = false; }
var vRatingValue = xfa.datasets.data.data.IS_EVALUATION.RATING.value;
if( vRatingValue == "N" )
{ xfa.host.messageBox("Enter valid rating");
return false;
}
if ( vRatingValue == "G"
&& vIssueExist == true )
{
vRatingText = getRatingText( vRatingValue );
xfa.host.messageBox("Close the issue(s) before setting the rating to
\"" + vRatingText + "\"");
return false;
}
if ( vRatingValue == "Y"
&& vIssueExist == false )
{ vRatingText = getRatingText( vRatingValue );
xfa.host.messageBox("Report the issue(s) after setting the rating to
\"" + vRatingText + "\"");
return false;
}
if ( vRatingValue == "R"
&& vIssueExist == false )
{ vRatingText = getRatingText( vRatingValue );
xfa.host.messageBox("Report the issue(s) after setting the rating to
\"" + vRatingText + "\"");
return false;
}
/*--- Validation for survey table ---*/
var questions = xfa.resolveNodes(
"xfa.form.data.BODY.SF_CONTENT.SF_EVALUATION.SF_QUESTION.QUESTIONS.QuestionTa
ble.DataRow[*]" );
var question;
var needAnswer = false;
var needComment = false;
var questionNum;
// if the field border color is red(255,230,230), it is a mandatory field
for( var i = 0; i < questions.length; i++ )
{ question = questions.item(i);
// check answer
if( question.Answer.ATYPE.rawValue == "T" )
// Text
{ if( question.TEXT.border.fill.color.value == "255,230,230")
{ needAnswer = true; }
}
else if( question.Answer.ATYPE.rawValue == "R" ) // Rating
{ if( question.Answer.RATING.border.fill.color.value == "255,230,230"
)
{ needAnswer = true; }
}
else if( question.Answer.ATYPE.rawValue == "Y" )

// Yes/No

if( question.Answer.CHOICES.border.fill.color.value == "255,230,230"

)
{ needAnswer = true; }
}
else if( question.Answer.ATYPE.rawValue == "B" ) // Probality level
{ if( question.Answer.PROB_LEVEL.border.fill.color.value ==
"255,230,230" )
{ needAnswer = true; }
}
else if( question.Answer.ATYPE.rawValue == "I" ) // Impact level
{ if( question.Answer.IMPACT_LEVEL.border.fill.color.value ==
"255,230,230" )
{ needAnswer = true; }
}
else if( question.Answer.ATYPE.rawValue == "S" ) // Speed of onset
{ if( question.Answer.SPEED_OF_ONSET.border.fill.color.value ==
"255,230,230" )
{ needAnswer = true; }
}
else if( question.Answer.ATYPE.rawValue == "C" ) // Choice
{ if( question.Answer.CUST_CHOICE.border.fill.color.value ==
"255,230,230" )
{ needAnswer = true; }
}
else if( question.Answer.ATYPE.rawValue == "A" ) // Amount
{ if( question.Answer.AMOUNT.AMOUNT.border.fill.color.value ==
"255,230,230" )
{ needAnswer = true; }
}
else if( question.Answer.ATYPE.rawValue == "P" ) // Percentage
{ if( question.Answer.PERCENTAGE.PERCENTAGE.border.fill.color.value ==
"255,230,230" )
{ needAnswer = true; }
}
// check comment
if( question.COMMENTS.border.fill.color.value == "255,230,230" )
{ needComment = true; }
if( needAnswer == true || needComment == true )
{ questionNum = i + 1;
break; }
}
if( needAnswer == true )
{ xfa.host.messageBox( "Choose an answer for question " + questionNum );
return false; }
if( needComment == true )
{ xfa.host.messageBox( "Enter a comment for question " + questionNum );
return false;}
return true;
}

function validateBeforeReportIssue()
{ var vRatingValue = xfa.datasets.data.data.IS_EVALUATION.RATING.value;
var vEvalComment =
xfa.datasets.data.data.IS_EVALUATION.EVALUATION_COMMENT.value;
var vRatingText;
if( vRatingValue == "N" ) // Not Defined
{
vRatingText = getRatingText( vRatingValue );
xfa.host.messageBox("Creating an issue is not allowed with rating \""+
vRatingText + "\"");
return false;
}
else if ( vRatingValue == "G" ) // Adequate
{
vRatingText = getRatingText( vRatingValue );
xfa.host.messageBox("Creating an issue is not allowed with rating \""
+ vRatingText + "\"");
return false; }
else if ( vRatingValue == "Y" && vEvalComment == null ) // Check for
mandatory comment while reporting an issue
{
vRatingText = getRatingText( vRatingValue );
xfa.host.messageBox("Enter a comment before setting the rating to \""
+ vRatingText + "\"");
return false; }
else if ( vRatingValue == "R" && vEvalComment == null ) // Check for
mandatory comment while reporting an issue
{
vRatingText = getRatingText( vRatingValue );
xfa.host.messageBox("Enter a comment before setting the rating to \""
+ vRatingText + "\"");
return false; }
else
{ return true; }
}

function getRatingText( vRatingValue )


{
var vText;
var ratingList =
xfa.resolveNodes("xfa.datasets.data.data.IS_UTILITY.RATING_LIST.DATA[*]");
for(var i = 0; i < ratingList.length; i++ )
{
if( vRatingValue == ratingList.item(i).VALUE.value )
{
vText = ratingList.item(i).TEXT.value;
return vText;
}
}
}

function validateEvaluationCDF()
{
// Root node for CDF
var CDF_DATA = "xfa.datasets.data.data.IS_EVALUATION.CDF_DATA.";
var rootCDFNode = xfa.resolveNodes(
"xfa.datasets.data.data.IS_EVALUATION.CDF_DATA.DATA[*]" );
for(var i = 0; i < rootCDFNode.length; i++ )
{
// single value CDF available at the root
if( rootCDFNode.item(i).MULTI_VALUE.value == null )
{
if( rootCDFNode.item(i).REQUIRED.value == "X" )
{
if( xfa.resolveNode(CDF_DATA+"DATA["+i+"].VALUE_SINGLE.VALUE").value
== null || xfa.resolveNode(CDF_DATA+"DATA["+i+"].VALUE_SINGLE.VALUE").value
== 0 )
{
xfa.host.messageBox( "Evaluation Tab : " +
rootCDFNode.item(i).FIELDLABEL.value + " is mandatory. " );
return false ;
}
}
if( rootCDFNode.item(i).UITYPE.value == "NUMC" &&
xfa.resolveNode(CDF_DATA+"DATA["+i+"].VALUE_SINGLE.VALUE").value != null )
{
if ( parseInt(
xfa.resolveNode(CDF_DATA+"DATA["+i+"].VALUE_SINGLE.VALUE").value ) !=
xfa.resolveNode(CDF_DATA+"DATA["+i+"].VALUE_SINGLE.VALUE").value )
{
xfa.host.messageBox( " Evaluation Tab : Only numeric values allowed
in the field " + rootCDFNode.item(i).FIELDLABEL.value ) ;
return false;
}
}
}
// Multiple value CDF
else
{
//if( rootCDFNode.item(i).REQUIRED.value == "X" )
//{
var dateNodes =
xfa.resolveNodes(CDF_DATA+"DATA["+i+"].VALUE_MULTI_DATE.DATA[*]");
var checkboxNodes =
xfa.resolveNodes(CDF_DATA+"DATA["+i+"].VALUE_MULTI_CHECKBOX.DATA[*]");
var ltextNodes =
xfa.resolveNodes(CDF_DATA+"DATA["+i+"].VALUE_MULTI_LTEXT.DATA[*]");
var textNodes =
xfa.resolveNodes(CDF_DATA+"DATA["+i+"].VALUE_MULTI_TEXT.DATA[*]");
var valueSetNodes =
xfa.resolveNodes(CDF_DATA+"DATA["+i+"].VALUESET.DATA[*]");
if( rootCDFNode.item(i).UITYPE.value == "DATE")
{
for (j = 0 ; j < dateNodes.length ; j++)
{
if ( dateNodes.item(j).VALUE.value == null &&
rootCDFNode.item(i).REQUIRED.value == "X" )

{
xfa.host.messageBox( "Evaluation Tab: " +
rootCDFNode.item(i).FIELDLABEL.value + " is mandatory. " );
return false;
}
}
}
else
{
if( rootCDFNode.item(i).UITYPE.value == "TXTA")
{
for (j = 0 ; j < ltextNodes.length ; j++)
{
if ( ltextNodes.item(j).VALUE.value == null &&
rootCDFNode.item(i).REQUIRED.value == "X" )
{
xfa.host.messageBox( "Evaluation Tab: " +
rootCDFNode.item(i).FIELDLABEL.value + " is mandatory. " );
return false
}
}
}
else
{
if( rootCDFNode.item(i).UITYPE.value == null ||
rootCDFNode.item(i).UITYPE.value == "NUMC" ||
rootCDFNode.item(i).UITYPE.value == "TXTC" )
{
for (j = 0 ; j < textNodes.length ; j++)
{
if ( textNodes.item(j).VALUE.value == null &&
rootCDFNode.item(i).REQUIRED.value == "X" )
{
xfa.host.messageBox( "Evaluation Tab: " +
rootCDFNode.item(i).FIELDLABEL.value + " is mandatory. " );
return false;
}
if ( rootCDFNode.item(i).UITYPE.value == "NUMC" &&
textNodes.item(j).VALUE.value != null )
{
if ( parseInt(textNodes.item(j).VALUE.value ) !=
textNodes.item(j).VALUE.value )
{
xfa.host.messageBox( " Evaluation Tab : Only numeric
values allowed in the field " + rootCDFNode.item(i).FIELDLABEL.value ) ;
return false;
}
}
}
}
else
{
var checkedFlag = 0 ;
for (j = 0 ; j < checkboxNodes.length ; j++)
{
if ( checkboxNodes.item(j).CHECKED.value == 1)
{

checkedFlag = 1;
}
}
if ( checkedFlag == 0 &&
rootCDFNode.item(i).REQUIRED.value == "X" )
{
xfa.host.messageBox( "Evaluation Tab: " +
rootCDFNode.item(i).FIELDLABEL.value + " Select atleast one option " );
return false;
}
}
}
}
//}
}
}
return true;
}
function validateIssueCDF()
{
// Root node for CDF
var CDF_DATA = "xfa.datasets.data.data.IS_ISSUE.CDF_DATA.";
var rootCDFNode = xfa.resolveNodes(
"xfa.datasets.data.data.IS_ISSUE.CDF_DATA.DATA[*]" );
var CDF_FORM = xfa.resolveNodes(
"data.BODY.SF_CONTENT.SF_ISSUES.BODY_ISSUE.CDF_FORM.CDF_TABLE.DATA[*]" );
var issueTable =
xfa.resolveNodes("xfa.form.data.BODY.SF_CONTENT.SF_ISSUES.BODY_ISSUE.SF_ISSUE
_TAB.ISSUES.DATA[*]");
if( issueTable.length > 1)
{
for(var i = 0; i < rootCDFNode.length; i++ )
{
if ( CDF_FORM.item(i).presence == "visible" )
{
// single value CDF available at the root
if( rootCDFNode.item(i).MULTI_VALUE.value == null )
{
if( rootCDFNode.item(i).REQUIRED.value == "X" )
{
if(
xfa.resolveNode(CDF_DATA+"DATA["+i+"].VALUE_SINGLE.VALUE").value == null ||
xfa.resolveNode(CDF_DATA+"DATA["+i+"].VALUE_SINGLE.VALUE").value == 0 )
{
xfa.host.messageBox( "Issue Tab : " +
rootCDFNode.item(i).FIELDLABEL.value + " is mandatory. " );
return false ;
}
}
if( rootCDFNode.item(i).UITYPE.value == "NUMC" &&
xfa.resolveNode(CDF_DATA+"DATA["+i+"].VALUE_SINGLE.VALUE").value != null )
{
if ( parseInt(
xfa.resolveNode(CDF_DATA+"DATA["+i+"].VALUE_SINGLE.VALUE").value ) !=
xfa.resolveNode(CDF_DATA+"DATA["+i+"].VALUE_SINGLE.VALUE").value )

{
xfa.host.messageBox( " Issue tab : Only numeric values
allowed in the field " + rootCDFNode.item(i).FIELDLABEL.value ) ;
return false;
}
}
}
// Multiple value CDF
if( rootCDFNode.item(i).MULTI_VALUE.value == "X" )
{
var dateNodes =
xfa.resolveNodes(CDF_DATA+"DATA["+i+"].VALUE_MULTI_DATE.DATA[*]");
var checkboxNodes =
xfa.resolveNodes(CDF_DATA+"DATA["+i+"].VALUE_MULTI_CHECKBOX.DATA[*]");
var ltextNodes =
xfa.resolveNodes(CDF_DATA+"DATA["+i+"].VALUE_MULTI_LTEXT.DATA[*]");
var textNodes =
xfa.resolveNodes(CDF_DATA+"DATA["+i+"].VALUE_MULTI_TEXT.DATA[*]");
var valueSetNodes =
xfa.resolveNodes(CDF_DATA+"DATA["+i+"].VALUESET.DATA[*]");
if( rootCDFNode.item(i).UITYPE.value == "DATE")
{
for (j = 0 ; j < dateNodes.length ; j++)
{
if ( dateNodes.item(j).VALUE.value == null &&
rootCDFNode.item(i).REQUIRED.value == "X" )
{
xfa.host.messageBox( "Issue Tab : " +
rootCDFNode.item(i).FIELDLABEL.value + " is mandatory. " );
return false;
}
}
}
else
{
if( rootCDFNode.item(i).UITYPE.value == "TXTA")
{
for (j = 0 ; j < ltextNodes.length ; j++)
{
if ( ltextNodes.item(j).VALUE.value == null &&
rootCDFNode.item(i).REQUIRED.value == "X" )
{
xfa.host.messageBox( "Issue Tab : " +
rootCDFNode.item(i).FIELDLABEL.value + " is mandatory. " );
return false
}
}
}
else
{
if( rootCDFNode.item(i).UITYPE.value == null ||
rootCDFNode.item(i).UITYPE.value == "NUMC" ||
rootCDFNode.item(i).UITYPE.value == "TXTC" )
{
for (j = 0 ; j < textNodes.length ; j++)
{

if ( textNodes.item(j).VALUE.value == null &&


rootCDFNode.item(i).REQUIRED.value == "X" )
{
xfa.host.messageBox( "Issue Tab : " +
rootCDFNode.item(i).FIELDLABEL.value + " is mandatory. " );
return false;
}
if ( rootCDFNode.item(i).UITYPE.value == "NUMC"
&& textNodes.item(j).VALUE.value != null )
{
if ( parseInt(textNodes.item(j).VALUE.value )
!= textNodes.item(j).VALUE.value )
{
xfa.host.messageBox( " Issue Tab : Only numeric
values allowed in the field " + rootCDFNode.item(i).FIELDLABEL.value ) ;
return false;
}
}
}
}
else
{
var checkedFlag = 0 ;
for (j = 0 ; j < checkboxNodes.length ; j++)
{
if ( checkboxNodes.item(j).CHECKED.value == 1)
{
checkedFlag = 1;
}
}
if ( checkedFlag == 0 &&
rootCDFNode.item(i).REQUIRED.value == "X" )
{
xfa.host.messageBox( "Issue Tab : " +
rootCDFNode.item(i).FIELDLABEL.value + " Select atleast one option " );
return false;
}
}
}
}
}
}
}
}
return true;
}

6. SAVE and Activate the code.

Potrebbero piacerti anche