{"id":1221,"date":"2011-02-21T12:14:08","date_gmt":"2011-02-21T17:14:08","guid":{"rendered":"http:\/\/www.shieldadvanced.ca\/Blog\/?p=1221"},"modified":"2011-02-21T12:14:08","modified_gmt":"2011-02-21T17:14:08","slug":"initializing-the-continuation-handle-for-qwclscde","status":"publish","type":"post","link":"https:\/\/www.shieldadvanced.com\/Blog\/initializing-the-continuation-handle-for-qwclscde\/","title":{"rendered":"Initializing the Continuation Handle for QWCLSCDE"},"content":{"rendered":"<p>[adrotate group=&#8221;3,7,8&#8243;]<br \/>\nIf you are using C for calling the above API it is important that you initialize the Continuation Handle to blanks before calling the API. This is because failing to initialize the parameter will cause unpredictable results. We have asked IBM to change the documentation to reflect this requirement but in the meantime we felt it is important that you understand this requirement.<\/p>\n<p>Here is a sample program we shipped to IBM for testing which shows the effect of not setting the parameter (Note: in RPG the problem does not exist because the compiler initializes the parameter before calling the program automatically.)<\/p>\n<p><code><\/p>\n<pre language=\"C\">\n#include <qwclscde.h>                       \/* List job schedule entries *\/\n#include <stdio.h>                          \/* std input \/ output  *\/\n#include <recio.h>                          \/* File record I\/O *\/\n#include <stdlib.h>                         \/* Std Lib       *\/\n#include <qusgen.h>                         \/* generic space header *\/\n#include <qusptrus.h>                       \/* usrspc ptr *\/\n#include <quscrtus.h>                       \/* usrspc ptr *\/\n#include <qmhsndm.h>                        \/* send message *\/\n#include <qusec.h>                          \/* error code *\/\n\ntypedef _Packed struct  EC_x {\n                     Qus_EC_t EC;\n                     char Exception_Data[48];\n                     } EC_t;\n\nint Crt_Usr_Spc(char *, int);\n\nint main(int argc, char **argv) {\nint i = 0;\nchar Req_SPC[20] = \"JESPC     QTEMP     \";  \/* usrspc name *\/\nchar Format[8] = \"SCDL0100\";                \/* output format *\/\nchar Cont_Hdl[16];                          \/* continuation Handle *\/\nchar *tmp;                                  \/* pointer *\/\nQwc_SCDL0100_t *List_Entry;                 \/* data pointer *\/\nQus_Generic_Header_0100_t *space;           \/* User Space Hdr Ptr *\/\nEC_t Error_Code = {0};                      \/* Error Code *\/\n\nError_Code.EC.Bytes_Provided = sizeof(Error_Code);\n\nQUSPTRUS(Req_SPC,\n      &space,\n      &Error_Code);\nif(Error_Code.EC.Bytes_Available > 0){\nprintf(\"QUSPTRUS %.7sn\",Error_Code.EC.Exception_Id);\nexit(-1);\n}\nQWCLSCDE(Req_SPC,\n      Format,\n      argv[1],\n      Cont_Hdl,\n      &Error_Code);\nif(Error_Code.EC.Bytes_Available > 0){\nprintf(\"QWCLSCDE %.7sn\",Error_Code.EC.Exception_Id);\nexit(-1);\n}\nif(space->Number_List_Entries <= 0) {\nprintf(\"No entries foundn\");\nexit(0);\n}\ntmp = (char *)space;\ntmp += space->Offset_List_Data;\nList_Entry = (Qwc_SCDL0100_t *)tmp;\nfor(i = 0; i < space->Number_List_Entries; i++) {\nprintf(\"JobName = %.10sn\",List_Entry->Job_Name);\nprintf(\"Status = %.3sn\",List_Entry->Status);\nprintf(\"Scheduled Date = %.10sn\",List_Entry->Scheduled_Date);\nprintf(\"Scheduled Time = %.6sn\",List_Entry->Scheduled_Time);\nprintf(\"Frequency = %.10sn\",List_Entry->Frequency);\nList_Entry++;\n}\nexit(0);\n}\n<\/pre>\n<p><\/code><\/p>\n<p>The above code expects the user space used to receive the output to already exist.<\/p>\n<p>Chris&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[adrotate group=&#8221;3,7,8&#8243;] If you are using C for calling the above API it is important that you initialize the Continuation Handle to blanks before calling the API. This is because failing to initialize the parameter [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,41,20],"tags":[],"class_list":["post-1221","post","type-post","status-publish","format-standard","hentry","category-application-modernization","category-c-programming-system-i5","category-main-category"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Initializing the Continuation Handle for QWCLSCDE - Simply i<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.shieldadvanced.com\/Blog\/initializing-the-continuation-handle-for-qwclscde\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Initializing the Continuation Handle for QWCLSCDE - Simply i\" \/>\n<meta property=\"og:description\" content=\"[adrotate group=&#8221;3,7,8&#8243;] If you are using C for calling the above API it is important that you initialize the Continuation Handle to blanks before calling the API. This is because failing to initialize the parameter [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.shieldadvanced.com\/Blog\/initializing-the-continuation-handle-for-qwclscde\/\" \/>\n<meta property=\"og:site_name\" content=\"Simply i\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/shieldadvanced\" \/>\n<meta property=\"article:published_time\" content=\"2011-02-21T17:14:08+00:00\" \/>\n<meta name=\"author\" content=\"Chris Hird\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Chris Hird\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/initializing-the-continuation-handle-for-qwclscde\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/initializing-the-continuation-handle-for-qwclscde\\\/\"},\"author\":{\"name\":\"Chris Hird\",\"@id\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/#\\\/schema\\\/person\\\/5277cc6ead0c8417f74194f8e318bd69\"},\"headline\":\"Initializing the Continuation Handle for QWCLSCDE\",\"datePublished\":\"2011-02-21T17:14:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/initializing-the-continuation-handle-for-qwclscde\\\/\"},\"wordCount\":126,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/#organization\"},\"articleSection\":[\"Application Modernization\",\"C Programming System i5\",\"Main Category\"],\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/initializing-the-continuation-handle-for-qwclscde\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/initializing-the-continuation-handle-for-qwclscde\\\/\",\"url\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/initializing-the-continuation-handle-for-qwclscde\\\/\",\"name\":\"Initializing the Continuation Handle for QWCLSCDE - Simply i\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/#website\"},\"datePublished\":\"2011-02-21T17:14:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/initializing-the-continuation-handle-for-qwclscde\\\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/initializing-the-continuation-handle-for-qwclscde\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/initializing-the-continuation-handle-for-qwclscde\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Initializing the Continuation Handle for QWCLSCDE\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/#website\",\"url\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/\",\"name\":\"Simply i\",\"description\":\"All things IBM i\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/#organization\",\"name\":\"Simply i\",\"url\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/cropped-LOGO_LARGE.png\",\"contentUrl\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/cropped-LOGO_LARGE.png\",\"width\":240,\"height\":67,\"caption\":\"Simply i\"},\"image\":{\"@id\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/facebook.com\\\/shieldadvanced\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/10057076\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/#\\\/schema\\\/person\\\/5277cc6ead0c8417f74194f8e318bd69\",\"name\":\"Chris Hird\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/wp-content\\\/uploads\\\/2008\\\/12\\\/c_hird_11-96x96.jpg\",\"url\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/wp-content\\\/uploads\\\/2008\\\/12\\\/c_hird_11-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/wp-content\\\/uploads\\\/2008\\\/12\\\/c_hird_11-96x96.jpg\",\"caption\":\"Chris Hird\"},\"url\":\"https:\\\/\\\/www.shieldadvanced.com\\\/Blog\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Initializing the Continuation Handle for QWCLSCDE - Simply i","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.shieldadvanced.com\/Blog\/initializing-the-continuation-handle-for-qwclscde\/","og_locale":"en_US","og_type":"article","og_title":"Initializing the Continuation Handle for QWCLSCDE - Simply i","og_description":"[adrotate group=&#8221;3,7,8&#8243;] If you are using C for calling the above API it is important that you initialize the Continuation Handle to blanks before calling the API. This is because failing to initialize the parameter [&hellip;]","og_url":"https:\/\/www.shieldadvanced.com\/Blog\/initializing-the-continuation-handle-for-qwclscde\/","og_site_name":"Simply i","article_publisher":"https:\/\/facebook.com\/shieldadvanced","article_published_time":"2011-02-21T17:14:08+00:00","author":"Chris Hird","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Chris Hird","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.shieldadvanced.com\/Blog\/initializing-the-continuation-handle-for-qwclscde\/#article","isPartOf":{"@id":"https:\/\/www.shieldadvanced.com\/Blog\/initializing-the-continuation-handle-for-qwclscde\/"},"author":{"name":"Chris Hird","@id":"https:\/\/www.shieldadvanced.com\/Blog\/#\/schema\/person\/5277cc6ead0c8417f74194f8e318bd69"},"headline":"Initializing the Continuation Handle for QWCLSCDE","datePublished":"2011-02-21T17:14:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.shieldadvanced.com\/Blog\/initializing-the-continuation-handle-for-qwclscde\/"},"wordCount":126,"commentCount":1,"publisher":{"@id":"https:\/\/www.shieldadvanced.com\/Blog\/#organization"},"articleSection":["Application Modernization","C Programming System i5","Main Category"],"inLanguage":"en","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.shieldadvanced.com\/Blog\/initializing-the-continuation-handle-for-qwclscde\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.shieldadvanced.com\/Blog\/initializing-the-continuation-handle-for-qwclscde\/","url":"https:\/\/www.shieldadvanced.com\/Blog\/initializing-the-continuation-handle-for-qwclscde\/","name":"Initializing the Continuation Handle for QWCLSCDE - Simply i","isPartOf":{"@id":"https:\/\/www.shieldadvanced.com\/Blog\/#website"},"datePublished":"2011-02-21T17:14:08+00:00","breadcrumb":{"@id":"https:\/\/www.shieldadvanced.com\/Blog\/initializing-the-continuation-handle-for-qwclscde\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.shieldadvanced.com\/Blog\/initializing-the-continuation-handle-for-qwclscde\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.shieldadvanced.com\/Blog\/initializing-the-continuation-handle-for-qwclscde\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.shieldadvanced.com\/Blog\/"},{"@type":"ListItem","position":2,"name":"Initializing the Continuation Handle for QWCLSCDE"}]},{"@type":"WebSite","@id":"https:\/\/www.shieldadvanced.com\/Blog\/#website","url":"https:\/\/www.shieldadvanced.com\/Blog\/","name":"Simply i","description":"All things IBM i","publisher":{"@id":"https:\/\/www.shieldadvanced.com\/Blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.shieldadvanced.com\/Blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"},{"@type":"Organization","@id":"https:\/\/www.shieldadvanced.com\/Blog\/#organization","name":"Simply i","url":"https:\/\/www.shieldadvanced.com\/Blog\/","logo":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/www.shieldadvanced.com\/Blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.shieldadvanced.com\/Blog\/wp-content\/uploads\/2020\/02\/cropped-LOGO_LARGE.png","contentUrl":"https:\/\/www.shieldadvanced.com\/Blog\/wp-content\/uploads\/2020\/02\/cropped-LOGO_LARGE.png","width":240,"height":67,"caption":"Simply i"},"image":{"@id":"https:\/\/www.shieldadvanced.com\/Blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/facebook.com\/shieldadvanced","https:\/\/www.linkedin.com\/company\/10057076"]},{"@type":"Person","@id":"https:\/\/www.shieldadvanced.com\/Blog\/#\/schema\/person\/5277cc6ead0c8417f74194f8e318bd69","name":"Chris Hird","image":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/www.shieldadvanced.com\/Blog\/wp-content\/uploads\/2008\/12\/c_hird_11-96x96.jpg","url":"https:\/\/www.shieldadvanced.com\/Blog\/wp-content\/uploads\/2008\/12\/c_hird_11-96x96.jpg","contentUrl":"https:\/\/www.shieldadvanced.com\/Blog\/wp-content\/uploads\/2008\/12\/c_hird_11-96x96.jpg","caption":"Chris Hird"},"url":"https:\/\/www.shieldadvanced.com\/Blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.shieldadvanced.com\/Blog\/wp-json\/wp\/v2\/posts\/1221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.shieldadvanced.com\/Blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.shieldadvanced.com\/Blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.shieldadvanced.com\/Blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.shieldadvanced.com\/Blog\/wp-json\/wp\/v2\/comments?post=1221"}],"version-history":[{"count":0,"href":"https:\/\/www.shieldadvanced.com\/Blog\/wp-json\/wp\/v2\/posts\/1221\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.shieldadvanced.com\/Blog\/wp-json\/wp\/v2\/media?parent=1221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shieldadvanced.com\/Blog\/wp-json\/wp\/v2\/categories?post=1221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shieldadvanced.com\/Blog\/wp-json\/wp\/v2\/tags?post=1221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}