Question

How can I reply to a job with MSGW status in AS400

Asked by: Bsidmis

How to reply 'G' for a job which is in MSGW in AS400 programatically or through any other process that is to be runned for every scheduled period of time.

Actually at present we are doing that manually through WRKACTJOB giving OPT7 for a job with MSGW status and then giving a reply 'G' for that job.

We want all this to be done programatically.
Is there any other process to do the same, automatically for every scheduled period of time.

Thanking You

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2009-01-09 at 22:43:38ID24040523
Tags

AS400

,

CLLE

,

RPGLE

Topic

RPG Programming Language

Participating Experts
1
Points
500
Comments
8

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. Beginner of AS400
    Which site is suitable for learning AS400 as I am the beginner?
  2. ftp from AS400 to pc
    experts, I have a regular text file which is saved on a AS400 folder. I want to ftp this file to any of my pc's on my network. what are the sets of ftp commands that can transfer the text file from the AS400 to the pc.
  3. MW in AS400
    On my AS400 system I have MW appear whenever there is a message to be answered (escape, option 3) on the system. The MW appears on the same row as the coordinates for the cursor. Here lies the problem: how do I write a vbscript macro to perform an action when the MW appears i...

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: tliottaPosted on 2009-01-09 at 23:59:41ID: 23342709

Bsidmis:

Assuming that the 'G' is a response to a predefined message, you might be able to use the INQMSGRPY(*SYSRPYL) attribute setting for the job. The attribute might be set through a job description, a SBMJOB command, or a CHGJOB command.

Please specify which message identifier is replied to with 'G' and a basic description of how the job is run. We can probably supply reasonably simple steps to automate this.

Tom

 

by: BsidmisPosted on 2009-01-10 at 00:57:55ID: 23342828

Dear Tom,

At present we are using V5R4 version. In our system I didn't find any attribute like INQMSGRPY.

The basic description of how the job is run means
If so many users were running a same program at a time, then in that situation the job is going into MSGW status.
Our JOBQ is having max active jobs as 1.
So, inorder to clear such a jobs from MSGW we are going to WRKACTJOB and there we are giving opt7 for that job which is in MSGW and then giving reply 'G' manually.

Now what we want is we want to reply such a jobs which were in MSGW status programatically or by any other process so that we need not do all this process every time & that process to be run for every scheduled period of time.

Message identifier having reply 'G' is 'CPA8424'.

thanks

 

by: tliottaPosted on 2009-01-11 at 02:29:02ID: 23347647

Bsidmis:

For a job description, you can see the INQMSGRPY() attribute by using the DSPJOBD command (or 'option 5=Display' from a WRKJOBD list.) The 'Inquiry message reply' attribute will be in the middle of the first page of attributes.

For SBMJOB, type the command on a command line and press [F4] for prompting. Then press [F10=Additional parameters] to access extended job attributes. The 'Inquiry message reply' attribute will be in the middle of the third page of attributes. If you then press [F11=Keywords], you should see the INQMSGRPY() parameter name.

For CHGJOB, you can prompt the command and see the parameter near the top of the second page of attributes.

This job could have its own job description. That way you could make the change to just one job description and just that one job would be affected.

Alternatively, if you have access to the source code that submits the job, you could change the SBMJOB attribute.

The idea would be to isolate the effect of having CPA8424 responded to automatically to as small an area as is needed.

But if you have all of the source code, the best might be to alter the source so that the automated response takes effect only at the points in the job where it's needed. This might be for a DLTIGCTBL command in that job.

The altered source might look this way:

   chgjob  inqmsgrpy( *SYSRPYL )
   dltigctbl  igctbl( MyIGCTbl )
   chgjob  inqmsgrpy( *RQD )

Just before the DLTIGCTBL command is executed, the job is changed to look at the system reply list for inquiry messages; and after DLTIGCTBL finishes, the job is changed back to require replies.

The system reply list may be accessed with the WRKRPYLE command. Pressing [F6=Add] will prompt the ADDRPYLE command to add a message identifier to the system list.

For CPA8424:

 ==>  addrpyle  seqnbr( 5000 ) msgid( CPA8424 ) rpy( G )

If you always know what the name of the font table is, you can refine the reply list entry:

 ==>  addrpyle  seqnbr( 5000 ) msgid( CPA8424 )
             cmpdta( MyIGCTbl 1 )
             rpy( G )

In that example, the font table name is 'MyIGCTbl'. We know that the comparison data start position is '1' because we can use the DSPMSGD command to look at the attributes of message CPA8424. It only has a single field, so we know it starts in position '1'.

The sequence number of '5000' can be whatever you choose. You can have multiple entries, even for the same message identifier. Different field data might call for different replies. You choose the order that the system checks list entries with the sequence number. The first entry that matches is the one that gives the reply.

Give some thought to how you want to set a sequence number. In the future, you might have many entries that you want to keep in some order. You might also need to insert entries between previous ones.

Anyway, those are the basics of automated replies. I can supply many details if you need them.

Also, if there are obstacles such as no access to source code or no possibility of changing a job description, there are other alternatives. The alternatives get more complicated. Adding an entry to the system reply list and changing a job description are easy, so that's the best place to try first.

Tom

 

by: BsidmisPosted on 2009-01-12 at 02:10:06ID: 23352064

Hi Tom,

How can I give all the above in a RPGLE/CLLE program.

can you give me a step by step procedure for this?

Thanking You

 

by: tliottaPosted on 2009-01-12 at 14:25:15ID: 23358131

Bsidmis:

No programming would be done for the basic steps. Those are simply commands entered on a command line by someone who is authorized to perform those actions.

The only part that would be programming would be if you wanted more than just the basic elements and wanted to insert the control into a program:

  chgjob  inqmsgrpy( *SYSRPYL )
  dltigctbl  igctbl( MyIGCTbl )
  chgjob  inqmsgrpy( *RQD )

That is the programming.

The CHGJOB commands would simply be inserted into the program that was running the DLTIGCTBL command. (That assumes that DLTIGCTBL is the command that causes the CPA8424 inquiry message. So far, we haven't been shown the programming that causes the CPA8424 message in the first place, so it's hard to be certain what changes should be made.)

The entry would still be added to the system reply list by using the ADDRPYLE command at a command line, but you wouldn't need to change any job description nor would you need to modify any SBMJOB command. The entry in the system reply list would be accessed automatically whenever your job executed the first CHGJOB command. The automated replies would end when your job ran the second CHGJOB command.

It's your choice whether to do the basic steps or to do the programming instead. Either way, all of the programming is already shown. Almost all of it is simply through a couple commands entered on a command line. If you don't have access to the source code for the program that is causing the message, then you don't really have much choice -- you could only do it through the basic commands.

Technically, there is a possibility that a more advanced facility such as a routing program or the "Job Notification" exit point could be used. Those would indeed involve programming that would probably be fairly advanced. (You would need to ensure that only the right job or jobs were affected and that only the intended effect was caused.)

Otherwise, there is no program to write.

Tom

 

by: BsidmisPosted on 2009-01-14 at 22:15:54ID: 23380976

Hi Tom,

Here in the set of commands you gave what is the need of DLTIGCTBL...is there any problem if I delete any  table other than the actual table.

Suggest me which table can we use in that command normally  & by giving those commands how can it know that it have to take the MSGID CPA8424.

You also told that " So far, we haven't been shown the programming that causes the CPA8424 message in the first place, so it's hard to be certain what changes should be made". So, instead of CPA8424 what we can use?

Suggest me what to do.

 

by: tliottaPosted on 2009-01-15 at 14:23:04ID: 23388496

Bsidmis:

Your original problem was that you had a batch job that was waiting for a response to an inquiry message. The message identifier that you showed was:

Message identifier having reply 'G' is 'CPA8424'.

The first thing that I thought was that the job was executing a DLTIGCTBL command because that command may cause a CPA8424 message.

However, that was simply a guess. Without seeing the program that causes the message, I cannot know what is causing it.

The "real" answer to your original question is "Stop causing the message, then there will never be a need for a reply."

I don't know if it's possible for you to stop causing the message. You didn't ask about that -- you asked about how to reply automatically to a message.

Messages are automatically replied to through the system reply list. The system reply list is enabled for jobs that have the INQMSGRPY(*SYSRPYL) attribute.

You set the INQMSGRPY(*SYSRPYL) attribute in whatever way is appropriate for you:
  1. You can set it through a job description. 
  2. You can set it when you submit a job. 
  3. You can set it with a CHGJOB command. 
You would only use the third option if you had the source code for the job that causes the message. You haven't shown the source code, so I have to assume that you cannot access it or that it is proprietary and can't be disclosed.

That means that you can't use the CHGJOB command, so you need to use either the first or second option. But again, you haven't shown the code that submits the job; so, I have to assume that you can't use option 2 either.

That means that you are limited to the first option. This is the only choice you have. It doesn't require any programming at all.

You will need to look at the job that is in MSGW status to see what job description it uses. You will change that job description to enable the system reply list. Use this command from a command line:

==>  chgjobd  mylib/myjobd  INQMSGRPY(*SYSRPYL)

I don't know what library the job description is in, so I used MYLIB as an example. I don't know what the name of the job description is, so I used MYJOBD as an example. When the job description is changed, every job that uses that job description will be enabled for the system reply list. That's why this job should be using its own job description rather than one that is used by lots of different jobs.

If CPA8424 is the only entry that you add to the system reply list, it probably doesn't matter if lots of jobs get enabled. That message probably won't show up in most jobs.

You don't have to worry about the DLTIGCTBL command. I only used it to show where you could put the CHGJOB commands. You would look at the program that causes the message, you would find the DLTIGCTBL command and you would put CHGJOB before and after that command. (Or you would find any other function that caused CPA8424 and surround that function with the two CHGJOB commands.)

This is turning out to appear to be much more complicated than it should be. You will add the entry to the system reply list and change the job description, and that's all. It's not the best solution, but it might be the best you can get done.

Tom

 

by: BsidmisPosted on 2009-01-20 at 21:26:00ID: 31533079

Thank you Tom,
Now I got the solution for my question.
thank you for replying me.

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...