{"id":1620,"date":"2008-05-27T03:45:17","date_gmt":"2008-05-27T08:45:17","guid":{"rendered":"http:\/\/www.mrc-productivity.com\/docs\/?page_id=1620"},"modified":"2023-06-20T15:58:47","modified_gmt":"2023-06-20T20:58:47","slug":"validating-via-an-rpg-external-object-source-code","status":"publish","type":"ht_kb","link":"https:\/\/www.mrc-productivity.com\/docs\/knowledge-base\/validating-via-an-rpg-external-object-source-code","title":{"rendered":"Validating via an RPG External Object Source Code"},"content":{"rendered":"\n<p class=\"wp-block-ht-blocks-messages wp-block-hb-message wp-block-hb-message--withicon is-style-alert\">mrc recommends using the <a href=\"https:\/\/www.mrc-productivity.com\/docs\/knowledge-base\/workflow-designer#setting-a-condition\">Workflow Designer<\/a> to validate user input going forward.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Source Code<\/h3>\n\n\n\n<p><code>5761WDS V7R1M0&nbsp; 100416&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SEU SOURCE LISTING<br>\nSOURCE FILE . . . . . . .&nbsp; MRCWORKLIB\/QRPGLESRC<br>\nMEMBER&nbsp; . . . . . . . . .&nbsp; VALIDDATES<br>\nSEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7<br>\n1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *Author Rick Hurckes<br>\n2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *Date: 2011-09-19<br>\n10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *This example is designed to illustrate how to call external objects<br>\n11&nbsp;&nbsp; &nbsp;&nbsp; *at the *FLDVALID&nbsp;&nbsp;&nbsp; 09\/19\/11<br>\n20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *location of m-Power applications.<br>\n21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *This example will verify that an end user has entered a beginning<br>\n22&nbsp;&nbsp; &nbsp;&nbsp; *and end date and that 09\/19\/11<br>\n29&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *the beginning date occurs prior to the end date.<br>\n30&nbsp;&nbsp;&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp; *entry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; plist<br>\n100&nbsp;&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; parm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 99<br>\n200&nbsp;&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; parm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @startdate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8 0<br>\n300&nbsp;&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; parm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @enddate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8 0<br>\n400&nbsp;&nbsp;&nbsp; C<br>\n500&nbsp;&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eval&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @error = *blanks<br>\n600&nbsp;&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @startdate = 0 and @enddate = 0<br>\n700&nbsp;&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eval&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @error = 'Please enter some dates.'<br>\n800&nbsp;&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GOTO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END<br>\n801&nbsp;&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; endif<br>\n900&nbsp;&nbsp;&nbsp; C<br>\n902&nbsp;&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @startdate = 0<br>\n903&nbsp;&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eval&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @error = 'You must enter a start date.'<br>\n904&nbsp;&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GOTO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END<br>\n905&nbsp;&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; endif<br>\n1000&nbsp;&nbsp; C<br>\n1001&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @enddate = 0<br>\n1002&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eval&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @error = 'You must enter an end date.'<br>\n1003&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GOTO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END<br>\n1005&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; endif<br>\n1100&nbsp;&nbsp; C<br>\n1101&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @startdate &amp;gt; @enddate<br>\n1102&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eval&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @error = 'Start date is after end date.'<br>\n1103&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GOTO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END<br>\n1104&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; endif<br>\n2500&nbsp;&nbsp; C<br>\n2501&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp; END&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TAG<br>\n2600&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eval&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *inlr =*on<br>\n* * * *&nbsp; E N D&nbsp; O F&nbsp; S O U R C E&nbsp; * * * *<br>\n<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Source Code 5761WDS V7R1M0&nbsp; 100416&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SEU SOURCE LISTING SOURCE FILE . . . . . . .&nbsp; MRCWORKLIB\/QRPGLESRC MEMBER&nbsp; . . . . . . . . .&nbsp; VALIDDATES SEQNBR*&#8230;+&#8230; 1 &#8230;+&#8230; 2 &#8230;+&#8230; 3 &#8230;+&#8230; 4 &#8230;+&#8230; 5 &#8230;+&#8230; 6 &#8230;+&#8230; 7 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *Author Rick Hurckes 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *Date: 2011-09-19&#8230;<\/p>\n","protected":false},"author":1,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[],"ht-kb-tag":[],"class_list":["post-1620","ht_kb","type-ht_kb","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/ht-kb\/1620","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/comments?post=1620"}],"version-history":[{"count":7,"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/ht-kb\/1620\/revisions"}],"predecessor-version":[{"id":12867,"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/ht-kb\/1620\/revisions\/12867"}],"wp:attachment":[{"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/media?parent=1620"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/ht-kb-category?post=1620"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/docs\/wp-json\/wp\/v2\/ht-kb-tag?post=1620"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}