tag:blogger.com,1999:blog-89432212024-03-19T08:25:03.670+00:00AS400 IseriesAS400 | System i | i5 | Iseries | i5/OS | OS/400 tips, jobs, answers, informationUnknownnoreply@blogger.comBlogger1893125tag:blogger.com,1999:blog-8943221.post-40007522909388120522012-06-09T09:12:00.000+01:002012-06-09T09:18:25.838+01:00AS400 Job Scheduler<h2><b>AS400 Job Scheduler</b></h2><br />
If you are looking to create jobs that you need to run at specified days or times on a regular basis on your as400 then your need to be using a job control process or a job scheduler.<br />
<br />
Your first port of call for this should be the job scheduler that is built into the operating system. The job scheduler that is built into the operating system is pretty good and will allow you to submit jobs at specified dates and times. <br />
<br />
To access the built in job scheduler use the command Work With Job Schedule Entries, WRKJOBSCDE. Each job schedule entry contains the information needed to automatically submit a batch job once or at regularly scheduled intervals.<br />
<br />
From the WRKJOBSCDE page you can maintain all the entries. You can also do an immediate submit of a scheduled job from here. You do have to be careful doing an immediate submit of a job though as if you setup your job in the default way, then immediate submits will use the current library list settings from your job. To prevent that you need to be sure to setup the job scheduled entries to take the setting from a specific *JOBD or a specific *USRPRF.<br />
<br />
Although the built in job scheduler is very good, once you have been using it for a while you will come up against its limitations. One thing that it doesnt handle is any dependancies between jobs you want to run. For instance you may have a Close Of Business process or an overnight batch run that does you major updates and reporting, and have certain jobs that need to run before or after other jobs, but the built in job scheduler doesnt have anything that handles that. You can get round it by adding extra logic to your processes but of course that can be cumbersome and error prone to get right. <br />
<br />
The other option is to look at more sophisticated job schedulers and there are a number out there.<br />
<br />
<br />
IBM offer their own Advanced job scheduler for System I. It allows you to run jobs manually, based on a schedule or based on some event.<br />
<br />
http://www-03.ibm.com/systems/i/software/jscheduler/index.html<br />
<br />
<br />
Helps system have their System I job scheduler ROBOT/Schedule which is also quite sophisticated.<br />
<br />
http://www.helpsystems.com/pages/robot-schedule<br />
<br />
<br />
Halcyons Operations Centre includes a job scheduler as well as other functions<br />
<br />
http://www.halcyonsoftware.com/suites/operationscenter/index.html<br />
<br />
<h1>AS400 Job Scheduler</h1>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-8943221.post-33841575660131535052011-05-14T08:44:00.005+01:002011-05-14T09:18:36.289+01:00IBM System i APIs at WorkIBM System i APIs at Work<br /><br /><a href="http://www.amazon.com/gp/product/1583470697/ref=as_li_ss_tl?ie=UTF8&tag=as400blog-20&linkCode=as2&camp=217145&creative=399353&creativeASIN=1583470697"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg24i_kK4ZhNcxPsLXlte3mt5i_Y7PRqAqKbtQeQVFES89-EJhvEHZlpD29mOkZ5B8SzToq6KMrRkwmq0W9H5muRpaU3loKtj1YEXOYVzRmIA5fZsN024oPj0wVB5s1GlSGvdcbzA/s320/0978158347069_500X500.jpg" alt="IBM System i APIs at Work" width=99%/>Click to Read Reviews and look inside book on Amazon</a><br /><br /><br />Product Details<br />Paperback: 550 pages<br />Publisher: Mc Press; 2nd edition (September 1, 2007)<br />Language: English<br />ISBN-10: 1583470697<br />ISBN-13: 978-1583470695<br />Product Dimensions: 8.8 x 7 x 1.4 inches<br />Shipping Weight: 1.8 pounds<br />Average Customer Review: 5.0 out of 5 stars<br />Amazon Bestsellers Rank: #1,211,750 in Books<br /><br />APIs are OS provided tools that allow us to extend our ability to solve business problems on the system i. Most System i developers do not have a good understanding of the available APIs or their workings within i5/OS so are not able to get the best out of them.<br /><br />IBM API expert author Bruce Vining guide us to mastering the wide APIs available with System i i5/os with real examples that can be applied in your environment.<br /><br />Developers these days have to integrate applications running on various operating systems and languages to implement business rules and requirements. APIs allow you to solve some of the harder to crack implementation issues by giving you access to the lower level structures of the os or application, making these some of the most useful tools in your arsenal.<br /><br />• New chapters covering topics such as exit point concepts, Integrated File System, date and time, cryptographic services, TCP/IP, and more <br />• Sorting, character data conversion, and user application information <br />• APIs are covered in depth <br />• Fully updated code on previous APIs to bring them up to newer standards <br />• Updates to API changes since the previous edition <br />• Modernized RPG code to demonstrate current coding style <br />• An Appendix with COBOL examples and implementation including API equivalents for RPG support of memory management, bit testing, edit words, and more <br />• Check Your Knowledge tasks at the conclusion of each chapter with solutions provided in RPG and COBOL Write client and server applications that enable your System i to communicate with other systems, such as PCs, using sockets<br /><br />What Jon Paris said about this book<br /><br /><blockquote>It is difficult to imagine a more comprehensive guide to APIs than that contained within these covers. From list APIs, to Telnet, to encryption, Bruce covers them all and does so in an informative and entertaining fashion. Not content simply to detail their naked operation, Bruce also demonstrates the usage of these APIs as the foundations for a number of utility programs that most shops will soon spot a use for in their daily operations. Even better - the examples are terrific demonstrations of the power of the RPG IV language. If you were to purchase this book for no other reason than to study the examples you would get excellent value for money. Hopefully some of the folks involved in producing IBM documentation will read this book and take the hint! COBOL users are not left out either - Bruce provides COBOL versions of all of the code. <br /><br />At well over 700 pages this is indeed a weighty tome, but unlike so many others there's no "fat" here - just solid content that will satisfy your hunger for knowledge</blockquote><br /><br /><a href="http://as400blog.blogspot.com/2010/04/what-is-lansa.html">What Is Lansa</a><br /><br />IBM System i APIs at WorkUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-5635373746073358252010-04-02T01:10:00.004+01:002010-08-22T17:46:48.895+01:00What is LANSAWhat is LANSA<br />
<br />
LANSA's integrated software suite, from <a href="http://www.lansa.com/products/index.htm">LANSA</a><br />
<br />
<blockquote>LANSA’s software suite contains four flagship products, and a set of ancillary products, that can be deployed individually to solve specific requirements or woven into an entire infrastructure. Think of each product as a building block that is not only optimized for a specific task but that is also a big step forward in deploying a new platform.<br />
<br />
The only IDE you will ever need for Windows or System i<br />
<br />
Visual LANSA is the name of our Integrated Development Environment (IDE) for building, modernizing and integrating business applications. Visual LANSA has followed a twenty-year product evolution path that has proven its superiority over other application development tools and methodologies. Today Visual LANSA is used by thousands of developers, spread across different industries and countries around the world, who are all in pursuit of the same objective: maximum productivity and simplicity throughout the entire software development life cycle.<br />
<br />
The fastest and most certain way to modernize your System i applications<br />
<br />
RAMP is a complete process for rapidly modernizing legacy software systems. Before the advent of RAMP, users of System i, iSeries or AS/400 servers facing application modernization challenges were forced to either throw it all away and start again or continue to build upon, and be limited by, their legacy 5250 business systems. Now RAMP offers the perfect balance between those two extremes. By providing an application development framework that combines functionality from green-screen applications with new visual components in a rich graphical user interface, RAMP addresses your immediate tactical needs and sets you on a path of evolution without limits.<br />
<br />
Flexible integration of business processes, systems, applications and data<br />
<br />
LANSA Integrator, is a versatile and extensible integration server that is used by programmers to exchange data in any format or via any protocol and can also be used to remotely call functions in other systems. LANSA Integrator enables integration of Application-to-Application (A2A) and Business-to-Business (B2B) transactions through XML and Java services. LANSA Integrator allows bi-directional XML – and other data formats – to be exchanged between you and your trading partners, regardless of platform. LANSA Integrator appeals to developers with LANSA, <a href="http://as400blog.blogspot.com/2010/04/what-is-rpgsp-rpg-smart-pages.html">RPG</a>, COBOL or Java skills and is regarded as the Swiss army knife of the integration world.<br />
<br />
LANSA Composer is a Business Process Integration (BPI) tool that gives business analysts a top-down view of end-to-end business processes. LANSA Composer provides connectivity between different systems in the same way as LANSA Integrator, but differs by including a graphical mapping tool and a process orchestration engine. These additions make LANSA Composer a highly visual and code-free tool that any business analyst or expert user can operate. The purpose of a BPI tool like LANSA Composer is to automate manual processes and eliminate rekeying of data by reducing the amount of paper, email, fax and human interaction required to complete a given business process.<br />
<br />
ERP extensions, middleware, reporting and eCommerce<br />
<br />
Alongside these flagship offerings, LANSA has products in areas ancillary to the main LANSA platform like end-user reporting (LANSA Client) and middleware (LANSA Open for .NET). We have also created specific application products where we saw a market need for an out-of-the-box solution e.g. an open-source ERP package, an eCommerce store, an EDI gateway, an AS2 compliant secure communications server and a Product Information Management (PIM) solution for on-boarding to the Global Data Synchronization Network (GDSN).<br />
<br />
LANSA your one-stop shop<br />
<br />
<a href="http://as400blog.blogspot.com/2010/04/what-is-rpgsp-rpg-smart-pages.html">What is RPG Smart Pages</a><br />
<br />
The theme running throughout our suite is that all products are built on, and share the underlying services, of the LANSA platform. We, along with our vibrant business partner community, have broadened our value proposition beyond tools and technology into application solutions so that LANSA can be your one-stop-shop</blockquote>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-64416320868108126422010-04-02T01:02:00.001+01:002010-04-02T23:56:00.542+01:00What is RPGsp (RPG Smart Pages)What is RPGsp (RPG Smart Pages)<br />
<br />
RPGsp is an award-winning rapid Web development environment that has been proven and trusted by thousands of System i users. Whether you need to extend your existing legacy programs or build new applications, RPGsp can deliver phenomenal results in a short amount of time. <br />
<br />
With RPGsp, you will save time by using existing RPG resources and not having to rewrite code or retrain your staff. You will increase your productivity with the help of cutting edge tools like intuitive point-and-click wizards, HTML design, visual debugging, advanced RPG editing, code analysis, and hybrid compiling. You will instantly construct advanced applications like dynamic graphs, inquiries, drill-downs, BI dashboards, and file maintenances. RPGsp supports the latest in SOA, Web Services, AJAX, Web 2.0, and eCommerce to help you build the most interactive and flexible applications. <br />
<br />
Native System i Web Development<br />
Web applications are business applications. Why not then use RPG, the platform's undisputed best business language, to build modern <a href="http://as400blog.blogspot.com/2010/04/what-is-ibm-i-access-for-web.html">IBM i Web</a> applications? RPGsp (RPG Smart Pages) enhances the native RPG language to have powerful Web capabilities. This makes it a true Web development language, with all of the features a modern Web language should have, including AJAX, SOA, Dynamic HTML, Forms, Cookies, and much more. System i developers feel right at home in this environment. Finally, you can get to the Web without middleware, third party application servers, or Websphere. <br />
^ Back to top ^ <br />
<br />
Short Learning Curve<br />
Build on what you already know. If you are already familiar with standard RPG, you can start building Web applications right away. Even non-programmers can create applications in minutes by using any of the powerful wizards that are available. You will have access to comprehensive documentation, numerous examples, and detailed HTML/RPG references to help as you begin coding your applications. <br />
^ Back to top ^ <br />
<br />
Rapid Development<br />
With RPGsp, application development is now faster than ever before. You can build all kinds of applications within minutes. Choose from an abundance of rapid application development tools to speed development tasks. Instantly build advanced dynamic fields like data-driven dropdowns and list boxes. Reuse any of your existing code, including RPG, CL , DDS, and HTML. Control all HTML attributes in a point and click manner, and let our comprehensive designer write most of the HTML for you. Plus, you can quickly build applications such as advanced database inquiries, file maintenances, drill-downs, header/detail screens, pop-up selection windows, data entry forms, and much more without manual coding. <br />
^ Back to top ^ <br />
<br />
Numerous Wizards, Templates, and Snippets<br />
New to Web development? Our IDE is packed with wizards and templates to get you going. Just pick a template and RPGsp will walk you through creating the application. You can quickly create working programs without writing any code. You will end up with clean ILE RPG code (free or fixed format) working together with dynamic HTML output. As you maintain your application, you will have access to various code snippets for RPG, CSS, and JavaScript. Also included is a ready-made AJAX library which allows you to easily integrate Web 2.0 features, exchange XML, or use Web services. <br />
^ Back to top ^ <br />
<br />
Built-in Charting<br />
Creating interactive charts, dashboards, and KPI's with RPGsp is as simple as point and click. Just follow our comprehensive step-by-step wizards to build any type of single-series, multi-series, or combination chart. Our wizards offer hundreds of options to help you build comprehensive applications for visualizing your business data. Pick from 2D or 3D Column Charts, Bar Charts, Line Charts, Area Charts, Pie Charts, Doughnut Charts, and more. Each type of chart is completely customizable with data being built either by record level RPG code or SQL. You can easily make the charts interact with each other or with other Web components. Users may click on the chart to drill-down and/or activate another chart. <br />
^ Back to top ^ <br />
<br />
Intelligent Code Editing and Design Tools<br />
RPGsp comes with an award winning code editor. It is full of helpful features such as HTML reformatting, fixed to free format conversion, intelligent prompting, code outlines, syntax highlighting, and context-sensitive help. It supports both Web and back-end languages, including JavaScript, CSS, HTML, RPG, CL, and DDS. In addition, you can visually inspect your application with our built-in HTML designer. The designer can automatically render dynamic RPG and resources residing on the System i. It may also be launched in Split-View, which allows developers to work with Code and Design at the same time in one view. <br />
^ Back to top ^ <br />
<br />
Integrated Visual Debugger<br />
RPGsp offers 3 different ways to debug RPG-based web applications, including a completely integrated Visual Debugger. The Visual Debugger provides unique features such as variable evaluation on hover, job-transparent debugging, and even the ability to step back in time to examine execution history. You will be able to set breakpoints and visually step through running Web applications while reviewing both RPG and HTML code in one view. <br />
^ Back to top ^ <br />
<br />
Cross-platform Capabilities<br />
RPGsp pages can read or update Oracle, SQL Server, MySQL, MS Access, and other databases. Created programs will be able to communicate with other Web applications running on any platform. Your applications will also have complete support for SOA, XML, AJAX, and Web services.<br />
^ Back to top ^ <br />
<br />
Unmatched Performance<br />
RPGsp produces lightening fast CGI code. Our unique "look-ahead" compile technology allows for performance up to four times faster than other native technologies, such as CGIDEV2. Your applications will run entirely in batch processing. <br />
^ Back to top ^ <br />
<br />
Rock Solid Security<br />
RPGsp applications reside entirely on the System i and take full advantage of the system's object-based architecture to protect against viruses, malicious scripts, hackers, and other threats. You also receive another layer of security by having your Web applications separated from the rest of the system. Complete support for SSL is provided. <br />
^ Back to top ^ <br />
<br />
Automated Server Configuration<br />
Install the development environment and configure the Web server in less than five minutes using RPGsp's intelligent server analysis and configuration utilities. Effortlessly configure logging and user authentication with easy to use wizards. <br />
^ Back to top ^ <br />
<br />
Automatic Conversions<br />
Move your existing applications to the Web rapidly. No more screen-scrapping or web-facing. With our conversion process, your applications will be transformed into true Web applications very quickly. All of your converted screens will be completely customizable with no ties to the original Display Files and no limitations of green-screens. <br />
^ Back to top ^ <br />
<br />
Integrated Source Control & Change Management<br />
RPGsp includes change management exit points and an integrated multi-user source control system to prevent developers from stepping on each others' toes as they work on Web applications, green-screen programs, and modernization projects. Source code is checked in and out within the RPGsp IDE using a simple point-and-click interface. <br />
^ Back to top ^ <br />
<br />
A Smart Investment<br />
You will never have to worry about hidden costs, lengthy training, and lack of support. Join the thousands of satisfied clients around the world who already rely on our state-of-the-art tools and industry-leading technical support. Leverage your existing assets, deploy your projects quickly, and be productive from day one with RPGsp. <br />
^ Back to top ^ <br />
<br />
Backed by an Industry Leader<br />
Profound Logic Software is a proven provider of the best tools, services, and support for System i Web development projects. We have been developing modern System i Web applications and tools for years. After countless successful implementations of our technology and multiple awards for innovation, we have again and again proven that we have what it takes to effectively modernize and add value to AS400, iSeries, and i applications. Profound Logic's impressive list of System i customers further demonstrates our capacity to deliver outstanding results with our products and services. Once you engage with Profound Logic, you will immediately notice our superb level of support and our commitment to providing the best modernization solutions for the System i.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-56040394970423776982010-04-02T00:56:00.001+01:002010-04-19T23:55:54.496+01:00What is IBM i Access for WebWhat is IBM i Access for Web<br />
<br />
IBM i Access for Web offers browser-based access to IBM i. IBM i Access for Web enables end users to leverage business information, applications, and resources across an enterprise by extending the IBM i resources to the client desktop through a web browser.<br />
<br />
See the Customer Comments on IBM i Access products!<br />
<br />
IBM i Access for Web...<br />
is system based; there is no code running on the desktop.<br />
is implemented using Java Servlet technology.<br />
uses industry standard protocols - HTTP, HTTPS and HTML.<br />
is lightweight, requiring only a browser on the client.<br />
runs batch commands, provides access to database, integrated file system, printers, printer output, and messages, and a 5250 interface.<br />
<br />
<br />
V5R4 iSeries Access for Web is supported on systems with V5R4 and V5R3 i5/OS TM. V5R3 iSeries Access Family (5722-XW1) customers can acquire V5R4 iSeries Access for Web and stay at V5R3 i5/OS. Refer to Ordering/Upgrading.<br />
V5R4 and V5R3 iSeries Access for Web servlets are supported with these web application systems. Refer to the service pack PTFs page for PTF requirements:<br />
Web application system integrated with i5/OS (V5R4 only)<br />
WebSphere Application Server (WAS) - Express V6.1 for i5/OS, WAS V6.1 for i5/OS, and WAS V6.1 Network Deployment for i5/OS<br />
WAS - Express V6.0 for OS/400 and WAS V6.0 for OS/400<br />
WAS - Express for iSeries V5.1 and V5.0<br />
WAS for iSeries V5.1 and V5.0 (Base and Network Deployment Editions)<br />
Apache Software Foundation's Jakarta Tomcat (included with the IBM HTTP Server)<br />
<br />
<br />
In addition to the above, the IBM i Access for Web portlet code can be used with any of the following portal systems:<br />
IBM Workplace Services Express V2.6 and V2.5<br />
WebSphere Portal for Multiplatforms V6.0<br />
WebSphere Portal for Multiplatforms V5.1.0.1<br />
WebSphere Portal Express for Multiplatforms V5.0.2<br />
WebSphere Portal Express Plus for Multiplatforms V5.0<br />
<br />
<a href="http://as400blog.blogspot.com/2010/04/what-is-websmart.html">what is websmart</a><br />
<br />
More details on IBM i Access for Web to follow...Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-79301127430879903692010-04-02T00:50:00.000+01:002010-04-02T00:50:12.672+01:00What is WebSmartWhat is WebSmart<br />
<br />
WebSmart is the Proven & Award Winning System i & multi-platform rapid Web development tool, from BCD. WebSmart comes in two editions:<br />
<br />
WebSmart ILE helps you produce native System i-centric CGI web applications that access DB2400, MS SQL and MySql databases. The apps run in the native Apache HTTP web server shipped with every System i.<br />
<br />
WebSmart PHP helps you produce PHP applications that run on multiple platforms- System i, Windows, Linux or Unix and access databases such as DB2/400, MySQL and others.<br />
<br />
Both editions of WebSmart let you extend or develop new web applications for any industry or application. You can create B2B, B2C and e-Commerce sites including on-line ordering, inquiries and maintenance programs, and implement browser-based or SOA (web services) applications. And WebSmart fully supports AJAX so you can build rich web content applications that behave like Windows apps.<br />
<br />
If you are looking for a popular alternative to IBM’s WebSphere, then take a close look at WebSmart as it is significantly easier to learn and uses way fewer resources than WebSphere.<br />
<br />
WebSmart Highlights<br />
<br />
Rapid New Web Development<br />
Modernize Legacy Apps<br />
Multi-Platform: ILE CGI or PHP<br />
Access non-iSeries based data bases like MySQL and MSSQL<br />
Visual HTML Editing<br />
Robust Enterprise Apps<br />
Productive IDE for RPG and non-RPG Programmers<br />
Web 2.0 features such as Web Services, SOX, AJAX, etc<br />
Change Management<br />
Free Trials with Unlimited Support<br />
IBM distributes WebSmart globally with V5R4 and new System i sales<br />
Integrated Visual Debugger<br />
Charts and Graphs with Free SmartCharts<br />
SQL Support<br />
Professional Services<br />
Free License: Nexus Portal & ECM. Secure framework for Apps, Docs, Dashboards…<br />
Integrated real-time web Clover Query tool for end-users and developers.<br />
Proven with 1,750+ customers, 1,500,000 users and 13 Industry Awards<br />
Ideal for Small, Medium and Large organizations – Immediate ResultsUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-59361711473129548102010-03-27T17:46:00.001+00:002010-08-29T16:09:23.379+01:00AS400 Analyst Programmer - DublinAS400 Analyst Programmer <br />
<br />
Contract<br />
Immediate contract requirement for an experienced AS400 Analyst to work in a large Bank in Dublin City. AS400 RPG IV, RPGILE and CL Development.<br />
Role:<br />
Write and design technical specifications.<br />
Write and execute unit test scripts, system test strategy and scripts.<br />
Write code changes in RPGILE on development AS400.<br />
Skills:<br />
At least 10 years RPG IV experience.<br />
Previous experience of financial systems, working within the banking sector is required.<br />
If you would like to apply for this role and would like to hear more about this opportunity please email your CV to (see below)<br />
Location Dublin, Ireland<br />
Country Ireland<br />
Start Date ASAP<br />
Duration 6 months<br />
Rate Market rates in Euro.<br />
Employment Business CPL Solutions<br />
Contact Janet Smullen<br />
Email Janet.Smullen.5CF1F.98727@mail.jobserve.com<br />
Reference JS98179<br />
Posted Date 24/03/2010 15:19:04<br />
<br />
<a href="http://as400blog.blogspot.com/2010/03/as400-sbmjob-examples.html">as400 sbmjob</a><br />
<br />
<a href="http://as400blog.blogspot.com/2010/03/as400-journalling.html">as400 journalling</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-83156824826986616762010-03-27T16:29:00.002+00:002010-08-29T16:07:47.702+01:00AS400 journallingAS400 journalling<br />
<br />
How many sites use as400 journalling in their applications. Seems to be that a lot of as400 developers dont actually understand journalling and the data integrity and audit capabilities it can add to an enterprise level system.<br />
<br />
The DB2 UDB for AS400 journalling support supplies an audit trail and forward and backward recovery. Forward recovery can be used to take an older version of a table and apply the changes logged on the journal to the table. Backward recovery can be used to remove changes logged on the journal from the table.<br />
<br />
When an SQL collection is created, a journal and journal receiver are created in the collection. When SQL creates the journal and journal receiver, they are only created on a user auxiliary storage pool (ASP) if the ASP clause is specified on the CREATE COLLECTION or the CREATE SCHEMA statement. However, because placing journal receivers on their own ASPs can improve performance, the person managing the journal might want to create all future journal receivers on a separate ASP.<br />
<br />
When a table is created into the collection, it is automatically journaled to the journal DB2 UDB for AS/400 created in the collection (QSQJRN). A table created in a non-collection will also have journaling started if a journal named QSQJRN exists in that library. After this point, it is your responsibility to use the journal functions to manage the journal, the journal receivers, and the journaling of tables to the journal. For example, if a table is moved into a collection, no automatic change to the journaling status occurs. If a table is restored, the normal journal rules apply. That is, if the table was journaled at the time of the save, it is journaled to the same journal at restore time. If the table was not journaled at the time of the save, it is not journaled at restore time.<br />
<br />
The journal created in the SQL collection is normally the journal used for logging all changes to SQL tables. You can, however, use the system journal functions to journal SQL tables to a different journal. This may be necessary if a table in one collection is a parent to a table in another collection. This is because DB2 UDB for AS/400 requires that the parent and dependent file in a referential constraint be journaled to the same journal when updates or deletes are performed to the parent table.<br />
<br />
A user can stop journaling on any table using the journal functions, but doing so prevents an application from running under commitment control. If journaling is stopped on a parent table of a referential constraint with a delete rule of NO ACTION, CASCADE, SET NULL, or SET DEFAULT, all update and delete operations will be prevented. Otherwise, an application is still able to function if you have specified COMMIT(*NONE); however, this does not provide the same level of integrity that as400 journalling and commitment control provide<br />
<br />
<a href="http://as400blog.blogspot.com/2010/03/as400-sbmjob-examples.html">as400 sbmjob</a><br />
<br />
<a href="http://as400blog.blogspot.com/2010/03/as400-prtf-report-layout-utility.html">as400 prtf report layout utility</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-61283369297704491822010-03-27T16:18:00.001+00:002010-08-29T16:05:50.895+01:00AS400 PRTF - Report Layout UtilityAS400 PRTF - Report Layout Utility<br />
<br />
The report layout utility (RLU), AS400 licensed program, allows you to create and edit source members on the AS/400 system. RLU source members in source physical<br />
files contain the printer file Data Description Specifications (DDS) for a report<br />
design that you lay out by using RLU. <br />
<br />
The report design looks like an actual listing<br />
you generate with a high-level-language (HLL) program. Using RLU, you specify<br />
the information required for DDS, and RLU creates or changes the source member.<br />
The DDS uses keywords to define your report design. Keywords associated with a<br />
field are called field-level keywords, keywords associated with a record are called<br />
record-level keywords, and keywords associated with an entire printer file are called<br />
file-level keywords.<br />
<br />
You can perform the following tasks with RLU:<br />
¹ Design a report by defining it on the display, saving it as DDS source, and creating<br />
a printer file.<br />
¹ Create a prototype of a report by printing the as400 prtf report design at any time to make<br />
sure that the reports looks the way you want.<br />
<br />
<a href="http://as400blog.blogspot.com/2010/03/as400-sbmjob-examples.html">as400 sbmjob</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-14530293212458859762010-03-27T06:44:00.001+00:002010-04-20T07:10:51.268+01:00AS400 SBMJOB examplesExamples for as400 SBMJOB<br />
<br />
Example 1: Submitting an as400 Job<br />
<br />
SBMJOB JOB(SPECIAL) JOBD(MYLIB/MYJOBD)<br />
CMD(CALL MYPROG)<br />
This as400 sbmjob command causes the job named SPECIAL to be submitted. Most of the attributes for the job are taken from the job description MYJOBD, or the job that is currently running, except for the command. The CALL command is placed on the submitted job's message queue so that the program MYPROG can be called and run later.<br />
<br />
Example 2: Submitting an as400 Job<br />
<br />
SBMJOB JOB(PAYROLL) JOBD(PAYROLL) INQMSGRPY(*RQD)<br />
This as400 sbmjob command submits a job named PAYROLL to the system. All the information needed for this job (such as the job queue and routing data but not the inquiry message control value) is contained in the job description PAYROLL, or the job that is currently running. The library list in effect for the job issuing this command is used to find the job description. All inquiry messages sent during running of this job requires the receiver of the inquiry message to reply.<br />
<br />
Example 3: Submitting an as400 Job to a Job Queue<br />
<br />
<a href="http://as400blog.blogspot.com/2010/03/as400-subsystem.html">as400 subsystem</a><br />
<br />
SBMJOB JOBD(*USRPRF) JOB(COPY12) JOBQ(NIGHTQ)<br />
CMD(CPYF FILEA FILEB)<br />
This as400 sbmjob command submits the job COPY12, which uses the job description in the user profile of the submitting job, to the job queue NIGHTQ. The CMD parameter provides the CL command necessary for the job to run. An as400 sbmjob command such as this might be used to copy the file at night while the system is unattended.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-21153683959596103412010-03-27T06:33:00.001+00:002010-04-20T07:10:00.972+01:00as400 subsystemAn as400 subsystem is described by IBM as follows<br />
<br />
The subsystem is where work is processed on the system. A subsystem is a single, predefined operating environment through which the system coordinates the work flow and resource use. The system can contain several subsystems, all operating independently of each other. Subsystems manage resources.<br />
<br />
All jobs, with the exception of system jobs, run within subsystems. Each subsystem can run unique operations. For instance, one subsystem may be set up to handle only interactive jobs, while another subsystem handles only batch jobs. Subsystems can also be designed to handle many types of work. The system allows you to decide the number of subsystems and what types of work each subsystem will handle.<br />
<br />
The run-time characteristics of a subsystem are defined in an object called a subsystem description. For example, if you want to permanently change the amount of work (number of jobs) coming from a job queue into a subsystem you only need to change the job queue entry in the subsystem description.<br />
<br />
The controlling subsystem<br />
The controlling subsystem is the interactive subsystem that starts automatically when the system starts, and it is the subsystem through which the system operator controls the system via the system console. It is identified in the Controlling subsystem/library (QCTLSBSD) system value.<br />
<br />
IBM® supplies two complete controlling subsystem descriptions: QBASE (the default controlling subsystem) and QCTL. Only one controlling subsystem can be active on the system at any time.<br />
<br />
When the system is in the restricted condition, most of the activity on the system has ended, and only one workstation is active. The system must be in this condition for commands such as Save System (SAVSYS) or Reclaim Storage (RCLSTG) to run. Some programs for diagnosing equipment problems also require the system to be in a restricted condition. To end this condition, you must start the controlling subsystem again.<br />
<br />
Note: There is also a batch restricted state in which one batch job can be active.<br />
When all of the subsystems, including the controlling subsystem are ended, a restricted condition is created. You can end each subsystem individually or you can use the ENDSBS SBS(*ALL) OPTION(*IMMED).<br />
<br />
Important: The system cannot reach the restricted state until there is only one job remaining in the controlling subsystem. Sometimes it may appear as though there is a single job remaining, but the system does not go into the restricted state. In this case you need to verify that there are no suspended system request jobs, suspended group jobs, or disconnected jobs on the remaining active display. Use the Work with Active Jobs (WRKACTJOB) command and press F14=Include to display any suspended or disconnected jobs. If these jobs exist, you need to end them in order for the system to reach the restricted state. The ENDSYS and ENDSBS functions will send a CPI091C information message to the command issuer when this condition is detected.<br />
<br />
Subsystem description<br />
A subsystem description is a system object that contains information defining the characteristics of an operating environment controlled by the system. The system-recognized identifier for the object type is *SBSD. A subsystem description defines how, where, and how much work enters a subsystem, and which resources the subsystem uses to perform the work. An active subsystem takes on the simple name of the subsystem description.<br />
<br />
Like a set of detailed blueprints, each subsystem description is unique, containing the specific characteristics that describe the subsystem. The description includes where work can enter the subsystem, how much work the subsystem can handle, how much main storage (memory) will be used, and how quickly jobs in the subsystem can run.<br />
<br />
You can use a subsystem description supplied with your system (with or without making changes to it), or you can create your own.<br />
<br />
Subsystem description attributes<br />
Subsystem description attributes are common overall system attributes. When you create a subsystem, the first step is to define the subsystem attributes.<br />
<br />
Work entries<br />
Work entries identify the sources where jobs can enter a subsystem. Specific types of work entries are used for different types of jobs. Work entries are part of the subsystem <br />
description.<br />
<br />
<a href="http://as400blog.blogspot.com/2010/03/ibm-as400-manuals-v5r4.html">ibm as400 manuals v5r4</a><br />
<br />
Routing entries<br />
The routing entry identifies the main storage subsystem pool to use, the controlling program to run (typically the system-supplied program QCMD), and additional run-time information (stored in the class object). Routing entries are stored in the as400 subsystem description.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-34021624080466724602010-03-24T19:43:00.001+00:002010-08-29T16:18:27.289+01:00ibm as400 manuals v5r4IBM AS400 Manuals v5r4.<br />
<br />
This is a comprehensive listing of all the as400 manuals that are available as PDFS in the <a href="http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=/pdf_table/InteractiveTableManager.htm">IBM Infocenter</a><br />
<br />
<br />
<br />
8260 ATM Product Architecture<br />
Administer iSeries Access for Windows<br />
Advanced Functions and Administration on DB2 Universal Database for iSeries<br />
AFP Utilities for iSeries User's Guide<br />
Alerts Support<br />
All You Need to Know When Migrating from IBM Firewall for AS/400<br />
AnyMail/400 Mail Server Framework Support<br />
APPC, APPN, and HPR<br />
APPC Programming<br />
Application Administration<br />
Application Display Programming<br />
Application programming interfaces<br />
AS/400e Diagnostic Tools for System Administrators: An A to Z Reference for Problem Determination<br />
AS/400 Applications: A Fast and Easy Way to Install, Set Up and Work with VRPG and CODE/400 (ADTS CS)<br />
AS/400 Applications: Moving to the 21st Century<br />
AS/400 APPN Configuration Guide<br />
AS/400 Disk Storage Topics and Tools<br />
AS/400 e-commerce: Internet Connection Servers<br />
AS/400 Electronic-Mail Capabilities<br />
AS/400 HTTP Server Performance and Capacity Planning<br />
AS/400 Internet Security: Developing a Digital Certificate Infrastucture<br />
AS/400 Internet Security: Implementing AS/400 Virtual Private Networks<br />
AS/400 Internet Security: Protecting Your AS/400 from HARM in the Internet<br />
AS/400 Internet Security Scenarios: A Practical Approach<br />
AS/400 Performance Explorer Tips and Techniques<br />
AS/400 Performance Management V3R6/V3R7<br />
AS/400 Programming with VisualAge for RPG<br />
AS/400 Remote Journal Function for High Availability and Data Replication<br />
AS/400 Server Capacity Planning<br />
AS/400 TCP/IP Autoconfiguration: DNS and DHCP Support<br />
AS/400 XML in Action: PDML and PCML<br />
ASCII Work Station Reference<br />
Asynchronous Communications Programming<br />
Asynchronous Transfer Mode (ATM) Technical Overview<br />
ATM Configuration Examples<br />
Availability roadmap<br />
A Comprehensive Guide to Virtual Private Networks, Volume III: Cross-Platform Key and Policy Management<br />
A DB2 Enterprise Query Environment -- Build It with QMF for Windows!<br />
A Fast Path to AS/400 Client/Server Using AS/400 OLE DB Support<br />
Backing up your system<br />
Backup, Recovery, and Media Services (BRMS)<br />
Backup and Recovery<br />
Backup Recovery and Media Services for iSeries<br />
Backup Recovery and Media Services for OS/400: A Practical Approach<br />
Basic printing<br />
Basic system operations<br />
BOOTP<br />
Bringing PHP to Your IBM eServer iSeries Server<br />
BSC Equivalence Link Programming<br />
Building AS/400 Applications for IBM WebSphere Standard Edition 2.0<br />
Building AS/400 Internet-Based Applications with Java<br />
Building iSeries Applications for WebSphere Advanced Edition 3.5<br />
Building Java Applications for the iSeries Server with VisualAge for Java 3.5<br />
C/C++ Legacy Class Libraries Reference<br />
CICS Family: API Structure<br />
CICS Family: Interproduct Communication<br />
CICS for iSeries Administration and Operations Guide<br />
CICS for iSeries Application Programming Guide<br />
CICS for iSeries Intercommunication<br />
CICS for iSeries Problem Determination<br />
Clustering and IASPs for Higher Availability on the IBM eServer iSeries Server<br />
Clusters<br />
Commitment control<br />
Common Information Model<br />
Communications Management<br />
Controlling system shutdown using a power-handling program<br />
Control language (CL)<br />
Control panel<br />
Cryptographic Support/400<br />
Cryptography<br />
Customer service and support<br />
Database administration<br />
Database file management<br />
Database overview<br />
Database programming<br />
Database troubleshooting<br />
DB2 Multisystem<br />
DB2 UDB/WebSphere Performance Tuning Guide<br />
DB2 UDB for AS/400 Object Relational Support<br />
DB2 UDB for AS/400 Visual Explain: Illustrating the Secrets<br />
DB2 Universal Database Extenders for iSeries: Text Extender Administration and Programming<br />
DB2 Universal Database Extenders for iSeries: XML Extender Administration and Programming Version 8<br />
DB2 Universal Database Replication Guide and Reference Version 8<br />
DDS concepts<br />
DDS for display files<br />
DDS for ICF files<br />
DDS for physical and logical files<br />
DDS for printer files<br />
Developing iSeries Navigator plug-ins<br />
DHCP<br />
Digital Certificate Manager<br />
Disk management<br />
Distributed database programming<br />
Distributed data management<br />
Distribute software<br />
Domain Name System<br />
Domino for iSeries Sizing and Performance Tuning<br />
DSNX Support<br />
Electronic Service Agent for iSeries User's Guide<br />
E-mail<br />
Embedded SQL programming<br />
Enterprise Identity Mapping (EIM)<br />
Ethernet<br />
Experience reports<br />
Exploring NFS on AS/400<br />
Extensible Markup Language<br />
Finance Communications Programming<br />
Frame relay<br />
FTP<br />
GDDM Programming Guide<br />
GDDM Reference<br />
Getting to know iSeries Navigator<br />
Get started with iSeries communications<br />
Hierarchical Storage Management<br />
High Availability on the AS/400 System: A System Manager's Guide<br />
i5/OS globalization<br />
i5/OS maximum capacities<br />
i5/OS PASE<br />
i5/OS PASE shells and utilities<br />
IBM 8265 Nways ATM Campus Switch<br />
IBM AS/400 Printing V<br />
IBM Content Manager for iSeries: Application Programming Guide and Reference<br />
IBM Content Manager for iSeries: Getting Started with Client for Windows<br />
IBM Content Manager for iSeries: Messages and Code<br />
IBM Content Manager for iSeries: Planning and Installing<br />
IBM Content Manager for iSeries: System Administration Guide<br />
IBM Content Manager for iSeries: Understanding Advanced Workflow<br />
IBM Content Manager OnDemand for iSeries Administration Guide<br />
IBM Content Manager OnDemand for iSeries Common Server Administration Guide<br />
IBM Content Manager OnDemand for iSeries Common Server Indexing Reference<br />
IBM Content Manager OnDemand for iSeries Common Server Planning and Installation Guide<br />
IBM Content Manager OnDemand for iSeries Common Server Web Enablement Kit Installation Guide<br />
IBM Content Manager OnDemand for iSeries Installation Guide<br />
IBM Content Manager OnDemand User's Guide<br />
IBM Content Manager OnDemand Windows Client Customization Guide<br />
IBM Developer Kit for Java<br />
IBM Directory Server for iSeries (LDAP)<br />
IBM eServer i5, iSeries, and AS/400e System Builder IBM i5/OS Version 5 Release 3 October 2004<br />
IBM eServer i5 and iSeries System Handbook: IBM i5/OS Version 5 Release 3 October 2004<br />
IBM eServer iSeries Independent ASPs: A Guide to Moving Applications to IASPs<br />
IBM eServer iSeries Migration: System Migration and Upgrades at V5R1 and V5R2<br />
IBM eServer iSeries Pocket Handbook: Version 5 Release 2 January 2003<br />
IBM eServer iSeries Printing VI: Delivering the Output of e-business<br />
IBM eServer iSeries Universal Connection for Electronic Support and Service<br />
IBM eServer iSeries Wired Network Security: OS/400 V5R1 DCM and Cryptographic Enhancements<br />
IBM HTTP Server (powered by Apache): An Integrated Solution for IBM eServer iSeries Servers<br />
IBM HTTP Server for i5/OS<br />
IBM Infoprint Fonts: Font Summary<br />
IBM Infoprint Fonts: Introduction to Type Transformer and Utilities for Windows<br />
IBM Infoprint Fonts: Japanese Font Library Technical Reference<br />
IBM Infoprint Fonts: Korean Font Library Technical Reference<br />
IBM Infoprint Fonts: Simplified Chinese Font library Technical Reference<br />
IBM Infoprint Fonts: Traditional Chinese Font Library Technical Reference<br />
IBM iSeries eServer IP Networks: Dynamic!<br />
IBM Open Class Library Transition Guide<br />
IBM Telephone Directory V5.2<br />
IBM Toolbox for Java<br />
IBM WebSphere Development Studio Client for iSeries Product Overview<br />
IBM WebSphere V5.0 Security WebShpere Handbook Series<br />
IBM Welcome Page V1.1<br />
ICF Programming<br />
IDDU Use<br />
ILE Application Development Example<br />
ILE C/C++ Compiler Reference<br />
ILE C/C++ for AS/400 MI Library Reference<br />
ILE C/C++ Programmer's Guide<br />
ILE C/C++ Run-time Library Functions<br />
ILE Concepts<br />
Implementation and Practical Use of LDAP on the eServer iSeries Server<br />
Infoprint Fonts: Creating User Defined Characters<br />
Infoprint Server for iSeries: Introduction and Planning Guide<br />
Infoprint Server for iSeries: User's Guide<br />
Inside APPN and HPR - The Essential Guide to New SNA<br />
Install, upgrade, or delete i5/OS and related software<br />
Installing, upgrading, or deleting i5/OS and related software<br />
Integrated file system<br />
Integrating XML with DB2 XML Extender and DB2 Text Extender<br />
Internetworking over ATM: An Introduction<br />
Internetwork Packet Exchange (IPX) Support<br />
Intrasystem Communications Programming<br />
Introduction to Storage Area Networks<br />
Intrusion detection<br />
IP filtering and network address translation<br />
iSeries Access for Linux<br />
iSeries Access for Web<br />
iSeries Access for Windows: Installation and setup<br />
iSeries Access for Windows: Programming<br />
iSeries Guide to Output<br />
iSeries in Storage Area Networks: A Guide to Implementing FC Disk and Tape with iSeries<br />
iSeries Navigator for Wireless<br />
iSeries Navigator tasks on the Web<br />
iSeries NetServer<br />
iSeries Query Manager<br />
iSeries Safety Inspection<br />
iSeries Security Reference<br />
iSeries Service Functions<br />
iSeries Setting Up Your 0578, 5074, 5078 or 5079 Expansion Unit<br />
iSeries Setting Up Your 0588, 0595, 5088, 5094, 5095, or 5294 Expansion Unit<br />
iSeries Setting Up Your 5065 or 5066 Expansion Unit<br />
iSeries Setting up your 5075 Expansion Unit<br />
iSeries Setting Up Your Twinaxial System<br />
iSeries System Debugger<br />
Java and WebSphere Performance on IBM eServer iSeries Servers<br />
Job Scheduler for OS/400<br />
Journal management<br />
LAN, Frame-Relay and ATM Support<br />
Linux in a logical partition<br />
Linux on an integrated xSeries solution<br />
Linux on the IBM eServer iSeries Server: An Implementation Guide<br />
Local Device Configuration<br />
Logical partitions<br />
Lotus Domino for AS/400 Internet Mail and More<br />
Lotus Fax for Domino for AS/400: Getting the Straight Facts<br />
Lotus Notes and Domino R5.0 Security Infrastructure Revealed<br />
LPAR Configuration and Management Working with eServer iSeries Logical Partitions<br />
Maintaining and managing i5/OS and related software<br />
Management Central<br />
Managing AS/400 V4R4 with Operations Navigator<br />
Managing OS/400 with Operations Navigator V5R1 Volume 1: Overview and More<br />
Managing OS/400 with Operations Navigator V5R1 Volume 2: Security<br />
Managing OS/400 with Operations Navigator V5R1 Volume 3: Configuration and Service<br />
Managing OS/400 with Operations Navigator V5R1 Volume 4: Packages and Products<br />
Managing OS/400 with Operations Navigator V5R1 Volume 5: Performance Management<br />
Managing OS/400 with Operations Navigator V5R1 Volume 6: Networking<br />
Microsoft Windows Server 2003 Integration with iSeries<br />
Migrating Applications from WebSphere Application Server Standard Edition to WebSphere Application Server-Express V5<br />
Migration<br />
Migration Options for OS/2 Warp Server for AS/400 and OS/400 Integration for Novell NetWare<br />
MQSeries Backup and Recovery<br />
MQSeries Version 5 Programming Examples<br />
Multithreaded applications<br />
NetWare on iSeries<br />
Networking scenarios<br />
Network authentication service<br />
New Enterprise Integration Functions for Lotus Domino for AS/400<br />
Object signing and signature verification<br />
Operations Console<br />
Optical device programming<br />
OptiConnect<br />
OS/400 Maximum Capacities - V5R2<br />
OS/400 Network File System Support<br />
OS/400 V5R2 Virtual Private Networks: Remote Access to the IBM eServer iSeries Server with Windows 2000 VPN Clients<br />
Performance<br />
Performance and query optimization<br />
Performance Tools for iSeries<br />
Planning a backup and recovery strategy<br />
Plan for and set up system security<br />
Programming with VisualAge RPG<br />
Qshell<br />
Quality of service<br />
Query for iSeries Use<br />
Query Management Facility for Windows<br />
Query Management Programming<br />
Query Manager Use<br />
Rack Lift Tool Operation and Maintenance<br />
Remote Access Services: PPP connections<br />
Remote Work Station Support<br />
REXEC<br />
REXX/400 Programmer's Guide<br />
REXX/400 Reference<br />
Roadmap to Availability on the iSeries 400<br />
RouteD<br />
Secure Sockets Layer (SSL)<br />
Service tools user IDs and passwords<br />
Simple Network Management Protocol (SNMP) Support<br />
Simple Network Time Protocol (SNTP)<br />
Single signon<br />
Slicing the AS/400 with Logical Partitioning: A How to Guide<br />
SNA and TCP/IP Integration<br />
SNA Upline Facility Programming<br />
Socket programming<br />
Speak the Right Language with Your AS/400 System<br />
Spooled files<br />
SQL Call Level Interface (ODBC)<br />
SQL messages and codes<br />
SQL programming<br />
SQL reference<br />
Standard C++ Library Reference<br />
Storage solutions<br />
Stored Procedures, Triggers and User Defined Functions on DB2 Universal Database for iSeries<br />
Striving for Optimal Journal Performance on DB2 Universal Database for iSeries<br />
Subarea to APPN Migration: HPR and DLUR Implementation<br />
System/36-AS/400 Command Cross-Reference<br />
System/36 Environment Programming<br />
System/36 Environment Reference<br />
System/38 Environment Programming<br />
System i and Internet security<br />
System i Performance Capabilities Reference<br />
System Manager Use<br />
System values<br />
Tape files<br />
TCP/IP routing and workload balancing<br />
TCP/IP setup<br />
TCP/IP troubleshooting<br />
TCP/IP Tutorial and Technical Overview<br />
Telnet<br />
TFTP<br />
The AS/400 NetServer Advantage<br />
The IBM Total Storage Tape Libraries Guide for Open Systems<br />
The System Administrator's Companion to AS/400 Availability and Recovery<br />
The XML Files: Using XML for Business-to-Business and Business-to-Consumer Applications<br />
Time management<br />
Token ring<br />
Troubleshooting<br />
Troubleshooting IBM LAN/ATM Campus Networks<br />
Understanding LDAP -- Design and Implementation<br />
Universal Connection<br />
Unleashing AS/400 Applications on the Internet<br />
Upgrades<br />
Using AS/400 Database Monitor and Visual Explain to Identify and Tune SQL Queries<br />
Using LDAP for Directory Integration<br />
Using Sun TI-RPC to develop distributed applications<br />
Using the AS/400 as an IPX Router<br />
V4 TCP/IP for AS/400: More Cool Things Than Ever<br />
Virtual private networking (VPN)<br />
VisualAge RPG Language Reference<br />
VisualAge RPG Parts Reference<br />
WebSphere Application Server for i5/OS V6<br />
WebSphere Application Server for iSeries<br />
WebSphere Application Server - Express for iSeries V5<br />
WebSphere Application Server - Express for iSeries V5.1<br />
WebSphere Application Server - Express V5.0.2 Developer Handbook<br />
WebSphere Application Server - Express V5.0 for iSeries<br />
WebSphere Development Studio: ILE C/C++ Language Reference<br />
WebSphere Development Studio: ILE COBOL Programmer's Guide<br />
WebSphere Development Studio: ILE COBOL Reference<br />
WebSphere Development Studio: ILE RPG Programmer's Guide<br />
WebSphere Development Studio: ILE RPG Reference<br />
WebSphere J2EE Application Development for the IBM eServer iSeries Server<br />
Websphere V3 Performance Tuning Guide<br />
Web Enabling AS/400 Applications with IBM WebSphere Studio<br />
Who Knew You Could Do That with RPG IV? A Sorcerer's Guide to System Access and More<br />
Windows environment on iSeries<br />
Workstation Customization Programming<br />
Work management<br />
X.25 Network Support<br />
XML Toolkit for iSeries<br />
<br />
<a href="http://as400blog.blogspot.com/2010/03/creating-as400-query.html">as400 query</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-69887708014143088182010-03-21T22:43:00.002+00:002010-08-29T16:17:05.574+01:00Creating an as400 QueryCreating an as400 Query<br />
<br />
As400 Query, QUERY/400 as it used to be called or IBM Query for Iseries, which is whats shown these days on the Installed Licensed Programs screen (GO LICPGM Option 10) is probably one of the most widely used tools on the as400. This tool has a very straightforward user interface, so is often used by both technical and non technical staff (with relevant training of course). Its a very easy to use tool for displaying, extracting and reporting on data. Query is a separate chargeable product, but I don’t think I have ever worked at a site that didn’t have it installed on all their systems, so you can be pretty sure almost every AS/400 will have the IBM provided query language QUERY/400.<br />
<br />
As an example, we will write a query over a typical database file that almost every business system has, the CUSTOMER master file. After extracting the data we will create a report.<br />
At the as400 command line type in WRKQRY and hit ENTER:<br />
<br />
----------------------------------------------------------------<br />
Work with Queries <br />
<br />
Type choices, press Enter. <br />
<br />
Option . . . . . . 1=Create, 2=Change, 3=Copy, 4=Delete<br />
5=Display, 6=Print definition <br />
8=Run in batch, 9=Run <br />
Query . . . . . . . Name, F4 for list <br />
Library . . . . . QGPL Name, *LIBL, F4 for list <br />
-----------------------------------------------------------------<br />
<br />
We will create a query to view the data in the CUSTOMER master file. Type in 1 for the option to create a query and the press ENTER.<br />
<br />
-----------------------------------------------------------------<br />
Define the Query <br />
<br />
Query . . . . . . : Option . . . . . : CREATE<br />
Library . . . . : QGPL CCSID . . . . . . : 65535 <br />
<br />
Type options, press Enter. Press F21 to select all. <br />
1=Select <br />
<br />
Opt Query Definition Option <br />
1 Specify file selections <br />
Define result fields <br />
Select and sequence fields <br />
Select records <br />
Select sort fields <br />
Select collating sequence <br />
Specify report column formatting <br />
Select report summary functions <br />
Define report breaks <br />
Select output type and output form <br />
Specify processing options <br />
----------------------------------------------------------------- <br />
<br />
Next "Specify file selections". This is already selected by default so just hit ENTER and you will see:<br />
<br />
--------------------------------------------------------------<br />
Specify File Selections <br />
<br />
Type choices, press Enter. Press F9 to specify an additional <br />
file selection. <br />
<br />
File . . . . . . . . . Name, F4 for list <br />
Library . . . . . . QGPL Name, *LIBL, F4 for list <br />
Member . . . . . . . . *FIRST Name, *FIRST, F4 for list <br />
Format . . . . . . . . *FIRST Name, *FIRST, F4 for list <br />
<br />
---------------------------------------------------------------<br />
Enter CUSTOMER (or whatever your customer master file is called) as the file you want to query and YOURLIB (replace with your relevant database library) as the Library and press ENTER. Pressing ENTER again will take you back to the Define the Query screen.<br />
<br />
The next option down, the Define result fields option, is described thus: “Select this option either to define one or more new fields to<br />
be used as result fields or to see what result fields are already defined for the query. The new fields will hold the results of arithmetic, character, or date and time operations done on other fields in this query”. In this case we don’t need any result fields so we can ignore this option for now. <br />
<br />
We do need to select fields that we want to report on. Type 1 next to "Select and Sequence Fields" and press ENTER<br />
You should now see:<br />
<br />
----------------------------------------------------------------<br />
Type sequence number (0-9999) for the names of up to 500 fields to <br />
appear in the report, press Enter. <br />
<br />
Seq Field Text Len Dec<br />
CUSTN Customer Number 10 0<br />
CUSTNA1 Cust. Name & Address 1 50 <br />
CUSTNA2 Cust. Name & Address 2 50 <br />
CUSTNA3 Cust. Name & Address 3 50 <br />
CUSTNA4 Cust. Name & Address 4 50 <br />
CUSTTOWN Customer Town 10 <br />
CUSTREPN Customer Report Name 20 <br />
LOCCD Location Code 5 <br />
<br />
<br />
More...<br />
F3=Exit F5=Report F11=Display names only F12=Cancel <br />
F13=Layout F20=Renumber F21=Select all F24=More keys <br />
----------------------------------------------------------------<br />
<br />
Since the AS/400 Query knows the file you want to see, as you selected it earlier, it has retrieved the fields in the file and listed them for you to choose from.<br />
Weare going to select the following columns:<br />
cust number<br />
cust name and address 1<br />
cust town<br />
location code<br />
We need to enter a number to select each of the fields that we require, so enter a number next to each field, which will determine the order in which they are displayed. Enter 2 next to CUSTNA1, 1 next to CUSTN, 4 next to CUSTTOWN, and 6 next to LOCCD. Press ENTER twice and then you will be back at the definition screen.<br />
<br />
as400 QUERY allows you to view the results of the query while you are modifying it, which is handy as it allows you correct any errors there and then<br />
<br />
---------------------------------------------------------------<br />
Display Report <br />
Report width . . . . . : 115<br />
Position to line . . . . . Shift to column . . . <br />
....1....+....2....+....3....+....4....+....5....+....6....+....7<br />
Customer Name and Address 1 Town Location<br />
Number Code<br />
000001 000001 Davis, 2 High St London 010 <br />
000002 000012 Charles, 1 High St London 010 <br />
000003 000015 Fish, 3 High St London 010 <br />
000004 000020 Brompton, 4 High St London 010 <br />
<br />
-----------------------------------------------------------------<br />
<br />
This is the first steps to creating a query that shows records on an as400 database file. <br />
<br />
The standard IBM CUA window keys are available on this screen. F20 will move the data window to the right, F19 will move the data window back to the left. F21 will split the screen into two mini windows, one fixed and one moveable, so you can view 2 parts of the data similultaneously. F12 to cancel returns to the main definition screen<br />
<br />
Next is to take option 1 for Column Formatting to modify the column headings to be more descriptive. This allows you to change them to be more meaningful to the out being produced. <br />
<br />
To change the sequencing of the query, type 1 next to "Select Sort Fields". Typing a 1 next to the customer number field will ensure that the data is produced in customer number order. Pressing F5 will allow review of the result of applying the sort to the customer number field.<br />
<br />
The next step is to decide which records to select. Enter a 1 next to select records. In this case we only want to select records with a location code of '030'. The screen will look like:<br />
<br />
----------------------------------------------------------<br />
Select Records <br />
<br />
Type comparisons, press Enter. Specify OR to start each new<br />
Tests: EQ, NE, LE, GE, LT, GT, RANGE, LIST, LIKE, IS, ISN<br />
<br />
AND/OR Field Test Value (Field, Number, 'Char<br />
LOCCD EQ '030' <br />
<br />
----------------------------------------------------------<br />
Now the extract will only show customers with a location code of '030'.<br />
<br />
Now we need to save the query. Pressing F3 and filling in detals give:<br />
<br />
-------------------------------------------------------------<br />
Exit this Query <br />
<br />
Type choices, press Enter. <br />
<br />
Save definition . . . Y Y=Yes, N=No <br />
<br />
Run option . . . . . . 3 1=Run interactively<br />
2=Run in batch <br />
3=Do not run <br />
<br />
For a saved definition: <br />
Query . . . . . . . TEMPQRY Name <br />
Library . . . . . QGPL Name, F4 for list <br />
<br />
Text . . . . . . . . Display CUSTOMER Master File <br />
---------------------------------------------------------------<br />
<br />
And to run the query, from an AS400 command line, key in the command to run a query:<br />
<br />
RUNQRY QGPL,TEMPQRY<br />
<br />
This should show the results for the as400 query.Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-8943221.post-67786527846343204412010-03-21T06:20:00.000+00:002010-03-27T06:22:08.379+00:00as400 virtual terminalsA virtual terminal is a device that does not have hardware associated with it. It forms a connection between your application and AS/400 applications, representing a physical work station (possibly on a remote system). The OS/400 licensed program manages the virtual terminal, which directs work station I/O performed by an AS/400 application to the virtual terminal. The virtual terminal APIs allow another AS/400 application, called a server program, to work with the data associated with the virtual terminal.<br />
<br />
In a distributed systems environment, the requesting program is called a client; the answering program is called a server. The client and server programs may reside on the same AS/400 system or may be distributed between two different systems. The server program generally runs on behalf of (or in conjunction with) the client program. Together, the server program and the client program allow a work station to be supported as if the work station were connected locally, but is in fact a virtual terminal.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-64352807341637378072010-03-19T20:02:00.000+00:002010-03-19T20:02:30.767+00:00as400 jobs - Lead DB2 DBA(Z/OS or AIX or LUW or OS/400) - IP Soft - Bangalore, KADB2 DBA for IPSoft, one of the fastest growing MSPs in the US. • Schema Design Review, Physical Tablespace Layout• DB2 Server Installation, Database Creation, Alteration, and Setup• DB2 Server Database File Management.Nice to have a IBM CertificationUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-88923698703541808562010-03-14T05:25:00.001+00:002010-03-14T05:26:46.339+00:00Differences between iseries as400 API QMHLJOBL and QGYOLJBL<b>Differences between iseries as400 QMHLJOBL and QGYOLJBL</b><br />
<br />
The Open List of Job Log Messages (QGYOLJBL) API lists messages from a job log. The returned messages are sorted by their sending date and time unless the message being listed is a reply message to an inquiry, a sender's copy, or a notify type message. When a reply message exists for one of these messages, the reply message is not positioned according to the sending date and time of the reply. The reply message is, instead, listed immediately following the inquiry, the sender's copy, or the notify message that it is associated with<br />
<br />
The List Job Log Messages (QMHLJOBL) API lists messages sent to the job message queue of a job. This API gets the requested message information and returns it in a user space in the format specified in the parameter list. The following discusses how the list is sorted for nonbatch jobs and for batch jobs.<br />
<br />
When the job whose messages are being listed is not a batch job, the returned messages are sorted by their sending date and time unless the message being listed is a reply message to an inquiry, a sender's copy, or a notify message. If it is a reply message, it is listed immediately following the inquiry, sender's copy, or notify message with which it is associated.<br />
<br />
If the last message listed is an inquiry, a sender's copy, or a notify message, the user of the API must call the API again using parameters that would include listing the next later message after the inquiry, sender's copy, or notify message in order to obtain an available reply message.<br />
<br />
When the job whose messages are listed is a batch job, the messages are grouped into two categories:<br />
<br />
Request messages that have been or are being processed, and the other messages that occurred during the processing of those requests.<br />
Request messages that are yet to be processed, and any diagnostic messages associated with these request messages.<br />
The API treats unprocessed request messages as if they had a sending time later than all the request messages and their associated messages that have been or are being processed. The following two examples describe the sorting further.<br />
<br />
For example, if the call to this API specifies to list the messages for a batch job from oldest to newest, the list consists of all requests and their associated messages that have been or are being processed. They are sorted as described above for a job that is not a batch job. They are followed by any request messages and any associated diagnostic messages that have not yet been processed (in the order that they will be processed).<br />
<br />
As an opposite example, if the call to this API specifies to list the messages for a batch job from newest to oldest, the list consists of the request messages that remain to be processed. They are in the opposite order that they are processed. They are followed by the request messages that have been or are being processed and their associated messages. These are sorted backward through time as described above for nonbatch jobs.<br />
<br />
The generated list replaces any existing information in the user space.<br />
<br />
If the user space is not large enough to contain the data to be returned, the user space is increased to the maximum user space size allowed (16MB) or the maximum amount of storage allowed to the user of the API. If this is not large enough to contain the data to be returned, only the number of complete messages that fit in the user space are returned. The information status field in the generic header is set to P (partial but accurate). The user can then resubmit the request from the last message returned to obtain the additional messages. The key of the last message listed for each message queue is provided in the ending message key field in the header portion of the user space.<br />
<br />
The maximum messages requested field and the number of fields to return field for each listed message increase the system resources required to create the list. Users of this API should use caution when specifying parameters that list many messages or request many identified fields to be returned for each listed message<br />
<br />
The differences between the QGYOLJBL API and the List Job Log Messages (QMHLJOBL) API follow:<br />
<br />
The message information for the QGYOLJBL API is returned into a receiver variable instead of a user space.<br />
The request handle parameter was added to the QGYOLJBL API, so that a distinct value is associated with the list. This value ensures that a request for more messages from the list (call QGYGTLE API) is sent to the correct list.<br />
The total records parameter was added to the QGYOLJBL API, so that the caller of the API knows the size of the list from which information can be requested.<br />
The records returned parameter was added to the QGYOLJBL API. Now if the request is for X records and only Y records exist (where Y < X), the requestor is aware that it did not get the number of records requested.<br />
The amount of information returned by the QMHLJOBL API is limited by the size of a user space, approximately 16MB. The list created by the QGYOLJBL API can contain up to 2GB of informationUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-29324109747270895102010-03-13T14:58:00.003+00:002010-06-26T00:34:37.742+01:00as400 commands and APIs you'll use for handling messagesThe following list of ibm as400 commands and APIs are used for receiving/sending messages. The APIs can be used in any program, whereas the commands are restricted to CL.<br /><br />1. SNDPGMMSG. The Send Program Message (SNDPGMMSG) command sends a message to a named message queue or to a call message queue. A call message queue can be the *EXT external message queue or a message queue associated with a call stack entry. Each time a program or procedure is called a new message queue is associated with its call stack entry. The message queue is identified by the name of its associated program or procedure.<br /><br />2. QMHSNDPM. The Send Program Message (QMHSNDPM) API sends a <a href="http://as400blog.blogspot.com/">as400</a> message to a call message queue or the external message queue. (The external message queue is the part of the job message queue that handles messages between an interactive job and the work station user. It is not associated with a specific call stack entry.) This API allows the current call stack entry to send a message to its caller, a previous caller, or itself.<br /><br />3. QMHSNDM. The Send Nonprogram Message (QMHSNDM) API sends a message to a nonprogram message queue so your program can communicate with another job or user<br /><br />4. RCVMSG. The Receive Message (RCVMSG) command is used by a program to receive a message previously sent to a message queue. The RCVMSG command receives messages from a job message queue (a message queue associated with a call stack entry or the external message queue (*EXT)), or from a named message queue. The program can receive a message from a message queue associated with its own call stack entry or from a message queue associated with another call stack entry<br /><br />5. QMHRCVPM. The Receive Program Message (QMHRCVPM) API receives a message from a call message queue or external message queue and returns information describing the message<br /><br />6. QMHRCVM. The Receive Nonprogram Message (QMHRCVM) API receives a message from a nonprogram message queue. To receive a message from a program message queue or from the external message queue, see Receive Program Message API.<br /><br />More tips on handling messages on IBM as400 to follow...<br /><br /><a href="http://as400blog.blogspot.com/2010/03/as400-images.html">as400 images</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-32515230431797676892010-03-06T15:02:00.001+00:002010-06-26T00:31:13.167+01:00As400 Images<img src="http://upload.wikimedia.org/wikipedia/commons/c/c0/AS400.jpg" alt="as400"/><br /><img src="http://img.zdnet.com/techDirectory/_AS400.GIF" alt="as400"/><br /><img src="http://t2.gstatic.com/images?q=tbn:HtzGx_OBhn6s5M:http://www.chowen.com/images/AS400.gif" alt="as400"/><br /><img src="http://static-p3.fotolia.com/jpg/00/05/02/74/400_F_5027451_YgR7UPtdq3ISTTubJipr0qiOtwhfh2l5.jpg" alt="as400"/><br /><img src="http://www.denso-europe.com/uploads/Movincool/15SFE%20cooling%20AS400%20Rm.jpg" alt="as400"/><br /><img src="http://www.protocol80.com/CMSFiles/IBM-AS400-iSeries-Servers.jpg" alt="as400 iseries servers"/><br /><img src="http://www.as400systemfairs.co.uk/as400_720.jpg" alt="as400 720"/><br /><img src="http://sites.google.com/site/as400solutions/_/rsrc/1252376738384/home/iseries-as400.jpg" alt="as400 iseries"/><br /><img src="http://img13.imageshack.us/img13/3276/img0147fmi.jpg" alt="as400"/><br /><img src="http://www.pacificcable.com/Photos/AS400-Image.jpg" alt="IBM as400"/><br /><br /><a href="http://as400blog.blogspot.com/2010/03/as400-running-matrix-since-1988.html">as400 running the matrix since 1998</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-7631746761293164162010-03-06T14:59:00.002+00:002010-03-06T14:59:56.524+00:00AS/400, Running the Matrix since 1988<img src="http://rlv.zcache.com/as_400_running_the_matrix_since_1988_tshirt-p235927803146795761q6ws_400.jpg" alt="AS/400, Running the Matrix since 1988" />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-88101462410373816992010-02-26T06:03:00.000+00:002010-02-26T06:03:23.763+00:00Updating an as400 db2 CLOB with a 64K RPG VariableWith most of us working with large amounts of XML data in our interfaces between applications on our as400 systems or with XML data coming from web services running on other systems, we run up against the issue of how to get this data into the database.<br />
<br />
This is a fairly straightforward issue to deal with if we are working with java, but if we are working with good old RPG, how do we our XML data into the as400 database. Especially as the record length on a db2 file is restricted to 32K.<br />
<br />
We do have a facility for storing large amounts of data in the database, in the form of LOBs(Large Objects). The type we are specifically interested in is the CLOB, as we can store character data such as XML in there.<br />
<br />
In theory we should be able to use embedded SQL in our RPG programs to put our XML data into a database clob fields. We can store up to 2Gb of data in our CLOB. Unfortunately we have another issue. Although RPG has a field size maximum of 64K on V5R4 (16M on V6R1 I believe), we have no simple way of getting our 64K of data in out RPG field into our CLOB.<br />
<br />
Looking around online there were plenty of examples of how to read data in from a CLOB, and how to save CLOB data to an IFS file. But there was only one example, from Scott Klement, that showed how you could get data from your as400 RPG field into the CLOB.<br />
<br />
The way this is achieved is to bypass embedded SQL and use the SQL Call Level Interface directly. The X/Open SQL Call Level Interface is a standard for direct access the a systems SQL Engine without a precompile. It allows access to SQL functions directly through procedure calls to a service program provided by DB2 on the as400. Using the SQL Call Level Interface procedure calls allows you to prepare SQL statements, execute SQL statements, fetch rows of data, and even do advanced functions such as accessing the catalogs, and binding program variables to output columns.<br />
<br />
So using the CLI, we can bypass the limitation of embedded SQL, and pass our 64K of data as a host variable using a pointer. An example that shows how to update a CLOB using this method is shown below<br />
<br />
/include *libl/qtxtsrc,MGSQLCLI_H <br />
<br />
************************************************************************ <br />
* updateClob - Update Clob <br />
************************************************************************ <br />
P updateClob B Export <br />
D updateClob pi 10i 0 <br />
d Id 10i 0 const <br />
d msg 65535A const <br />
<br />
D id s 10s 0 <br />
D ptr s * <br />
D rc s 10i 0 <br />
D msgLen s 10i 0 <br />
D msgSize s 10i 0 <br />
D env s like(SQLHENV) inz(SQL_NULL_HENV) <br />
d xmsg s 65535A <br />
/Free <br />
<br />
xmsg = msg; <br />
<br />
// Create an SQL environment & connection handle <br />
SQLAllocEnv(env); <br />
SQLSetEnvAttrI(env:SQL_ATTR_OUTPUT_NTS: <br />
SQL_FALSE:%size(SQLINTEGER) ); <br />
SQLSetEnvAttrI(env: SQL_ATTR_ENVHNDL_COUNTER <br />
:SQL_TRUE: %size(SQLINTEGER) ); <br />
SQLAllocConnect(env: conn); <br />
<br />
// Set Naming Format <br />
SQLSetConnectAttrI(conn: SQL_ATTR_DBC_SYS_NAMING <br />
:SQL_TRUE: %size(SQLINTEGER) ); <br />
<br />
// Set Commitment Level to *CHG <br />
SQLSetConnectAttrI(conn: SQL_ATTR_COMMIT <br />
:SQL_COMMIT_CHG: %size(SQLINTEGER) ); <br />
<br />
// Connect to Database <br />
SQLConnect(conn:'*LOCAL':SQL_NTS:*NULL <br />
:SQL_NTS:*NULL:SQL_NTS ); <br />
<br />
// Create an SQL statement <br />
SQLAllocStmt(conn: stmt ); <br />
rc = SQLPrepare(stmt <br />
: 'UPDATE FILE SET mymsg = ? WHERE myid = ?' <br />
: SQL_NTS ); <br />
<br />
// Assign statement parameters <br />
ptr = %addr(xmsg); <br />
msgLen = %len(xmsg); <br />
msgSize = %size(xmsg); <br />
rc = SQLBindParam(stmt:1:SQL_CLOB:SQL_CLOB:msgSize <br />
:0:ptr:msgLen); <br />
<br />
rc = SQLBindParam(stmt:2:SQL_NUMERIC:SQL_NUMERIC <br />
:%len(id):%decpos(id): %addr(id):0); <br />
<br />
// Execute Statement <br />
rc = SQLExecute(stmt); <br />
<br />
// Free up SQL Resources <br />
SQLFreeStmt( stmt : SQL_DROP ); <br />
<br />
cleanup(); <br />
return rc; <br />
<br />
/End-Free <br />
p E <br />
*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br />
* Cleanup(): Deallocate/Disconnect SQL CLI handles <br />
*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br />
P cleanup B <br />
D cleanup pi <br />
/free <br />
if (stmt <> SQL_NULL_HSTMT); <br />
SQLFreeStmt( stmt : SQL_DROP ); <br />
stmt = SQL_NULL_HSTMT; <br />
endif; <br />
<br />
if (conn <> SQL_NULL_HDBC); <br />
SQLDisconnect( conn ); <br />
SQLFreeConnect( conn ); <br />
conn = SQL_NULL_HDBC; <br />
endif; <br />
/End-Free <br />
p E <br />
<br />
Updating an as400 db2 CLOB with a 64K RPG VariableUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-833881667087572412010-02-11T03:05:00.000+00:002010-02-11T03:05:54.338+00:00Proactively Manage your Critical System Messages and Resources on the System iMany IT pros struggle to effectively monitor and manage their critical system messages and resources on System i. This webcast provides tips for improving your System i management and explores how you can automate actions to instantly resolve problems across a single system or a multi-system environment. Learn how to monitor your System i from any location via multiple interfaces, including green screen, PC GUI, web browser and handheld device<br />
<br />
<br />
http://event.on24.com/eventRegistration/EventLobbyServlet?target=lobby.jsp&playerwidth=950&playerheight=680&totalwidth=800&align=left&eventid=190661&sessionid=1&partnerref=bizcard&key=4B3EFC29235408022AFAD0E2114931BB&eventuserid=32990463Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-74362235344172876412010-02-06T14:04:00.000+00:002010-02-06T14:04:34.734+00:00Create PDF on iseries spooled files using Zend_PDF and i5 Toolkit for PHPZend_Pdf is a PDF manipulation framework for PHP available on iseries via the Zend Core. It can help any PHP application dynamically create or modify PDF documents. <br />
<br />
Zend_Pdf offers the following features:<br />
Create or load documents<br />
Manipulate pages within a document<br />
Drawing lines, rectangles, polygons, circles, ellipses and sectors, images and rotations<br />
Use of the 14 built-in fonts or TrueType fonts.<br />
<br />
<br />
include the Zend.pdf framework in your PHP code:<br />
require_once 'Zend/Pdf.php'<br />
<br />
Create a PDF class, an instance of the Zend_Pdf object:<br />
<br />
$pdf = new Zend_Pdf();<br />
<br />
A document can be loaded from a file using the instance:<br />
$pdf = Zend_PDF::load($filename);<br />
<br />
Changes to the PDF document can be saved:<br />
$pdf->save($filename, true);<br />
<br />
<span class="Apple-style-span" style="color: #35383d; font-family: Verdana; font-size: 12px; line-height: 19px;">Zend Core for i5/OS includes the<strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> i5 Toolkit for PHP</strong>. This gives access to i5 function from PHP. <strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">i5_spool</strong> allows administration of spool files. </span><br />
<span class="Apple-style-span" style="color: #35383d; font-family: Verdana; font-size: 12px; line-height: 19px;"><br />
</span><br />
<span class="Apple-style-span" style="color: #35383d; font-family: Verdana; font-size: 12px; line-height: 19px;">Combining this with Zend_PDF will give iseries and i5/os users free coversion of spooled files to PDFs</span><br />
<td class="code"><br />
</td>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-17729075916416996232010-01-16T19:17:00.000+00:002010-03-16T19:18:13.830+00:00UDATE and *DATE in AS400 RPGThis document clarifies some potential misunderstandings about the semantics of as400 rpg UDATE (6-digit date) and *DATE (8-digit date). Both reserved words retrieve the job date rather than the system date. This has several ramifications, some of which can be easily overlooked:<br />
o<br />
The date retrieved by UDATE/*DATE can be modified using the as400 CL command CHGJOB to change the job date.<br />
o<br />
For interactive jobs, UDATE/*DATE retrieves the date when the interactive session started. Scenario: A user signs on a machine at a date X and stays logged on past midnight (and possibly over several days). The user then runs an interactive RPG program containing UDATE/*DATE. Either of these reserved words will return date X regardless of what the current date is. To reset what the reserved words return, the user must sign off and back on and, therefore, retain a fresh interactive session.<br />
o<br />
For prestart jobs (PJ) and batch immediate jobs (BCI), the date that is returned for a prestart job (PJ) is the date when the job gets started. It is not the time the connection was made. <br />
<br />
Note: Prestart jobs are recycled according to the prestart job entry settings ( WRKSBS , Option 5, Option 10). The date the daemon job started is returned for BCI jobs rather than the time the BCI job started.<br />
o<br />
For batch jobs, UDATE/*DATE retrieves the date when the job was submitted to run. Scenario: A user submits on date X a batch job consisting of a CL program which calls an IBM RPG/400 program with UDATE/*DATE in it. In addition, suppose the CL program includes aDLYJOB command which delays the call to the RPG program until past midnight. When the RPG program finally runs, the UDATE/*DATE in it returns date X (the start date of the batch job) rather than X+1 (the date when the RPG program actually starts running). The same behavior continues on should the CL program recursively call itself over multiple days; as400 rpg UDATE/*DATE continues returning date X for the duration of the job.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-64085660430995262402009-09-21T10:27:00.001+01:002010-02-24T02:06:26.026+00:00unzipping a file on the iseriesas400 iseries Java ajar tool<br />
<br />
The ajar tool is an alternative interface to the jar tool that you use to create and manipulate Java(TM) ARchive (JAR) files. You can use the ajar tool to manipulate both JAR files and ZIP files on the as400.<br />
<br />
If you need a ZIP interface or UNZIP interface on the iseries, use the ajar tool instead of the jar tool.<br />
<br />
The ajar tool lists the contents of JAR files, extracts from JAR files, creates new JAR files, and supports many of the ZIP formats just as the jar tool does. Additionally, the ajar tool supports adding and deleting files in existing JAR files.<br />
<br />
The ajar tool is available using the iseries Qshell Interpreter. For more details, see ajar - Alternative as400 Java archive.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8943221.post-91743431735881086992009-09-21T09:57:00.001+01:002009-09-21T10:19:35.519+01:00How do you re-enable the user id for STRSST when it has been disabled?Use the CHGDSTPWD command. Simple!Unknownnoreply@blogger.com0