﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<data-set>
  <relations format-version="4" relations-version="20160101" main-table="LLMPrompt" stable-sharing="True">
    <link from="LLMPrompt (PromptID)" to="LLMPrompt (PromptID)" type="FromMaster" updateable="False" />
  </relations>
  <layout>
    <table name="LLMPrompt" recursion="(PromptID) = (PromptID)" />
  </layout>
  <data>
    <LLMPrompt>
      <row PromptID="MYOB-TIMESHEETS" IsActive="1" Name="Timesheets Hours Checks" ConnectionID="MYOB-MANAGED" ScreenID="MPPP7030" ActionName="Check Base Hours" OutputExamples="## Output Format Example:&#xA;{((TimesheetBatches.UsrTimesheetSummary)): &quot;The summary is the following&quot;}&#xA;&#xA;## Important Note:&#xA;The output must contain only the JSON object, without additional text, explanations, or comments. Make sure that the JSON object is properly formatted: Use double quotes for keys and string values, and place commas and braces correctly.">
        <column name="PromptInstruction"><![CDATA[<html><head><style type="text/css">/* RTE style begin */
body.rich {
	margin: 0px;
	padding: 0px;
	font-family: Arial;
	font-size: 14px;
}

.rich ol, .rich ul { margin-top: 0px; margin-bottom: 0px;}
.rich .imgbrdr {
	border: solid 1px;
}
.richIcon {
	display: inline-block;
	background-image: url(Images/sprite_main5.png);
	background-repeat: no-repeat;
	width: 15px;
}
.richAttach {
	background-position: -2px -122px;
}
.richImg {
	background-position: -2px -1120px;
}
.richScreen {
	background-position: -24px -1032px;
}
.richArticle {
	background-position: -24px -1054px;
}

/* Correct box */
.rich .GrayBox {
	border: solid 1px #CCCCCC;
	background-color: #F9F9F9;
	padding: 4px;
	/*margin: 4px;*/
	width: 98%;
}
.rich .hintcell
{
	height: 36px;
	width: 32px;
	vertical-align: middle;
}

.rich .warncell
{
	height: 36px;
	width: 32px;
	vertical-align: middle;
}

.rich .boxcontent{ width: 100% }
.rich pre { font-size:1.3em }

.rich iframe{
	border: none;
}
.rich iframe.iframeBorder, .rich img.iframeBorder {
	border: solid black 1px;
}

.rtetable > tbody > tr > td, .rtetable > tr > td { white-space: nowrap }
.rtetable > tbody > tr:first-child > td, .rtetable > tr:first-child > td { background-color: silver }


.rich pre.source-highlighted {background-color: #F0F0FF;}
.rich pre.source-highlighted .nu, .rich .sourcetable .nu { color: brown; }
.rich pre.source-highlighted .kw, .rich .sourcetable .kw { color: blue; }
.rich pre.source-highlighted .cmt, .rich .sourcetable .cmt { color: green; }
.rich pre.source-highlighted .sl, .rich .sourcetable .sl { color: brown; }
.rich pre.source-highlighted .br, .rich .sourcetable .br {color: darkgreen; }

.rich pre.source-highlighted .add, .rich .sourcetable .add { background: palegreen; }
.rich pre.source-highlighted .del, .rich .sourcetable .del { background: pink; }

.rich table, .rich tr, .rich td, .rich img, .rich iframe {
	cursor: default;
}
.layout .rtecell {
	vertical-align: top;
	font-size: small;
}
.rtetable > tbody > tr > td, .rtetable > tr > td { vertical-align: top; }

.rich p{
	margin:0px 5px 0px 0px;
}
.rich .align-center{
	text-align: center;
}
.rich .align-right{
	text-align: right;
}
.rich .align-left{
	text-align: left;
}
.rich li[style*='text-align: center'], .rich li[style*='text-align: right'] {
list-style-position: inside;
}

.rtetable { empty-cells: show; border: solid 1px black; border-collapse:collapse; }
.rtetable > tbody > tr > td, .rtetable > tr > td { border: solid 1px black; height: 1.5em; min-width: 20px;  padding: 0px 5px }
.rich table {font-family: arial; font-size: small}
.rich blockquote.shift {
	margin-right: 0px;margin-top: 0px; margin-bottom: 0px;
}
.rich img[data-expand] {
	display: block;
}
.rich p, .rich p.richp  {font-family: arial; font-size: small}
.rich blockquote.shift h1, .rich blockquote.shift h2, .rich blockquote.shift h3, .rich blockquote.shift h4, .rich blockquote.shift h5, .rich blockquote.shift h6 {
    margin-top: 0px;
}
.rich, .rich * {
    word-wrap: break-word;
}
.sourcetable {background-color: #F0F0FF; font-family: monospace; width: 100%}
.sourcetable tr {
	margin: 0px;
	padding: 0px;
}
.sourcetable td {
	margin: 0px;
	padding: 0px;
	white-space: nowrap;
}
.sourcetable > tbody > tr > td:first-child, .sourcetable > tr > td:first-child
{
	width:1px;
}

.filelist {
	/*display:inline-block;*/ padding: 5px;
}

.rich .toc {
	/*display:inline-block;*/ padding: 5px;
}
.rich .toc .header,.rich  .wikilist .header,.rich  .filelist .header {
	font-size: 1.7em;
}
.rich .toc li,.rich  .filelist li {
	margin: 5px 0px;
}
.rich .wikilist div {
	margin: 10px;
}

.rich .layout {min-height: 2.5em; display:table; width:100%; border-spacing:5px; table-layout:fixed; empty-cells: show;}
.rich .layout .rtecell {display:table-cell; height: 2.5em}
.rich .layout .rteside {width: 25%}

/*
.rtetable {
	border-collapse:collapse;
}
.rtetable > tbody > tr > td, .rtetable > tr > td {
	border: 1px solid #ddd;
	padding: 7px 10px;
	vertical-align: top;
	text-align: left;
}*/
.rich blockquote.realbq {
	border-left-color: lightblue;
	border-left-width: 1px;
	border-left-style: solid;
	margin-top: 0px;
	margin-bottom: 0px;
	padding-left: 5px;
}
.rich body {font-family: arial; font-size: small}

.rich .GrayBox {
	margin-left: 8px;
}

.rich .sourcetable { font-size:1.3em;}
/* RTE style end */</style></head><body class="rich">## Context Instructions&nbsp;<p>You are an AI assistant working with MYOB Acumatica ERP payroll data.&nbsp;</p><p>Your role is to review the lines of the Import Timesheets batch, calculate total hours per employee, and flag exceptions where an employee's Regular Hours are less than 40.</p><p><br></p><p>
## Instructions with Input Data</p><p>Review the data fields below and calculate the total quantity per employee. .&nbsp;</p><p><br></p><p><foreach view="TimesheetDetails">&nbsp;</p><p>Employee Name - ((TimesheetDetails.EmployeeName))&nbsp;</p><p>External Employee ID - ((TimesheetDetails.ExternalEmployeeID))&nbsp;</p><p>Pay Item Description - ((TimesheetDetails.ExternalPayItemDescription))&nbsp;</p><p>Quantity - ((TimesheetDetails.Quantity))&nbsp;</p><p></foreach></p><p><br></p><p>## Calculation &amp; Filtering Rules&nbsp;</p><p>1. Sum ALL rows for each employee separately by Pay Item Description&nbsp;</p><p>2. A single employee may appear across multiple rows with the same Pay Item — 
   add all rows of the same Pay Item together to get the total for that pay item&nbsp;</p><p>3. Regular Hours total = sum of ALL rows where Pay Item Description = "Regular Hours" for that employee&nbsp;</p><p>4. Total Hours = sum of ALL rows across ALL pay items for that employee&nbsp;</p><p>5. Only include employees where Regular Hours total is less than 40&nbsp;</p><p>6. Employees with Regular Hours equal to or above 40 should be excluded entirely&nbsp;</p><p>7. If no employees have Regular Hours under 40, output "No exceptions found."</p><p><br></p><p>
## Output Data Field&nbsp;</p><p>Using the filtered results above, generate a neat, professional, and concise exceptions summary and write it to the Summary field.
@((TimesheetBatches.UsrTimesheetSummary))</p><p><br></p><p><span style="background-color: rgb(192, 192, 192);"><span data-field="yes"><br><br></span></span></p><p></p><p></p><p></p></body></html>]]></column>
      </row>
    </LLMPrompt>
  </data>
</data-set>