Sunteți pe pagina 1din 7

TexAS400 Tutorial ------------------------------------------------------------PDM or How to Enter Programs Before you work on this topic, there is an important option to change.

From the command line, key in the command STRPDM and hit ENTER. Then, key in 1 and hit EN TER. Then hit ENTER again. Your screen should look like: ------------------------------------------------------------------Work with Libraries Using PDM List type . . . . . . . Type options, press Enter. 2=Change 8=Display description *LIBL 3=Copy 9=Save 5=Display 10=Restore

Opt Library Type Text QSYS *PROD-SYS System Library QHLPSYS *PROD-SYS QUSRSYS *PROD-SYS QPDA *PROD-PRD QADM *PROD-PRD QTEMP *TEST-USR QGDDM *PROD-USR QGPL *PROD-USR -------------------------------------------------------------------Now, hold down the SHIFT key and hit F6. You should now see: --------------------------------------------------------------------Change Defaults T ype choices, press Enter. Object library . . . . . . . *SRCLIB Name, *CURLIB, Replace object . . . . . . . N Y=Yes, N=No Compile in batch . . . . . . Y Y=Yes, N=No Run in batch . . . . . . . . N Y=Yes, N=No Save session defaults . . . Y Y=Yes, N=No Save/Restore option . . . . 1 1=Single, 2=All Job description . . . . . . QBATCH Name, *USRPRF, Library . . . . . . . . . *LIBL Name, *CURLIB, Change type and text . . . . Y Y=Yes, N=No Option file . . . . . . . . QAUOOPT Name Library . . . . . . . . . QGPL Name, *CURLIB, Member . . . . . . . . . . . QAUOOPT Name Full screen mode . . . . . . N Y=Yes, N=No Scan hierarchy . . . . . . . Y Y=Yes, N=No Search path . . . . . . . . *DFT Name, *DFT Build scope . . . . . . . . 1 1=Normal, 2=Lim 4=Direct Chain -------------------------------------------------------------------Hit TAB until the cursor is on the "Compile in batch" line. Change the value fro m Y to N and hit ENTER. Okay, now you are ready for the PDM topic. Programs are created from source statements. On the AS/400, source statements ar e entered using PDM, the Program Development manager. Technically, PDM uses the Source Entry Utility (SEU) as the editor. But you don't have to think of SEU as something different from PDM. PDM provides a way to enter program source statements and then to compile the st atements into executable programs. The source statements are needed only for the compiler. The compiled programs are the objects that are actually run on the AS

/400. The source code and the compiled objects are separate things. But it is ea sy to confuse the two. At times, you may try to open the compiled object with PD M when you really mean to open the source code used to create the compiled objec t. Source code is kept in a member of a file. The file is kept in a library. Each f ile can have many members. Each member is the source code for a program. The source code files can have any name but conventionally the names start with Q and end with SRC, for source. Typically: QCLSRC is the file for the CL program source statements QDDSSRC is for the DDS program source statements QRPGSRC is for the old RPG language QRPGLESRC is for the new RPG/ILE language QMNUSRC or QMENUSRC is for menus QCBLSRC or QLBLSRC is for COBOL QCMDSRC is for commands You could keep most of the source statements is a single file. That is, one memb er could have CL source statements and another member could have DDS and another could have RPG source statements. Conventionally though, source code is not mix ed up like that. So, let's try it out by writing a simple CL program to change the "Current Libra ry" to your library and to go to the programmer menu. CL is the Control Language of the AS/400. This is a lesson in PDM so don't fret too much about the specifi cs of CL. When you got your user ID on this system, a library was also created for you wit h the same name as your user ID. Suppose that your ID is USER999. That means you have a library available to you named USER999. Some people relate an AS/400 lib rary to a Directory or Folder on a PC. Your library is probably empty. Since this is the first CL program ever written in your library, you need to create a file to store the CL source statements in. On the command line, type in: CRTSRCPF and then hit F4. (F4 always invokes the prompts) From the earlier lesson in commands, you should remember that commands usually a re made up of 3 letter abbreviations of verbs and such. In the case, the command CRTSRCPF stands for Create Source Physical File. That's not exactly intuitive b ut it's not too hard to remember. For the library name, key in your library name, similar to USER999. For the Obje ct (or File) name, key in QCLSRC. Now hit ENTER and you've created a source phys ical file named QCLSRC in the library named USER999. Remember that QCLSRC is not a magic or reserved name. But almost everyone uses this name for their CL sourc e. Once you use commands for a while, you will learn how to enter simple commands w ithout the prompts. In this case: CRTSRCPF USER999/QCLSRC So now you have a place to store your CL source statements. Lets start PDM and t ry to enter the simple program. PDM can be started from the programmer menu or w ith the Start PDM command. Most programmers use the Start PDM command. Type in S TRPDM and hit ENTER. Your screen should look something like: -----------------------------------------------------------------------AS/400 Programming Development Manager (PDM) Select one of the following: 1. Work with libraries

2. 3. 4. 5. 6.

Work Work Work Work Work

with with with with with

objects members projects groups parts

9. Work with user-defined options Sele ction or command ----------------------------------------------------------------------Now for the most confusing part of PDM And it's not that confusing. PDM will let you navigate to your source statements 3 different ways. Let's try to draw a pic ture of the organization of the source statements. Suppose you have 2 libraries. One for General Ledger programs and one for Payrol l. Each one has CL, DDS and RPG programs. A schematic of this is: Library GLLIB Object or File Member or Program name QCLSRC GLC001 GLC003 GLC007 QRPGSRC GLR001 GLR002 GLR005 QDDSSRC GLD001 PRLIB QCLSRC PRC100 PRC101 PRC125AB QRPGSRC PRR100 PRR125 QDDSSRC PRD105 PRD107 PRD108 The analogy on a PC is that you have two Folders in the root; one is GLLIB and t he other is PRLIB. Each of those folders has three folders: QCLSRC, QRPGSRC and QDDSSRC. Each of those folders has a few documents, each one with the source sta tements for the program. The schematic of your library right now is: Library Object or File Member or Program name USER99 QCLSRC That is, you have one file in your library and that file has no members. I prefer to navigate to my source code using selection 3 (Work with members). So , key in 3 and hit ENTER. Your screen now looks like: -----------------------------------------------------------------------Specify Members to Work With Typ e choices, press Enter. File . . . . . . . . . . QCLSRC Name, F4 for list Library . . . . . . . . USER999 *LIBL, *CURLIB, name Membe r: Name . . . . . . . . . *ALL *ALL, name, *generic* Type . . . . . . . . . *ALL *ALL, type, *generic* -----------------------------------------------------------------------Key in the File name of QCLSRC and the library name like USER999. Finally for member name key in *ALL. This is a little like saying on a PC, "Show me all the documents in the folder Q CLSRC which is in the folder USER999". The AS/400 now shows you the "WORK WITH MEMBERS WITH PDM" display and all of the

members in QCLSRC. But since QCLSRC has no members it shows "NO MEMBERS IN FILE ". About from the top, the AS/400 tells you what options you can use in PDM. For ex ample, 2 is to edit or change a member, 3 is to copy a member, 4 to delete a mem ber. If you hit F23, the AS/400 will display more options. Your keyboard has onl y 12 "F" keys at the top. If you hold down the shift key when you hit an "F" key , it adds 12 to the "F" number. So, if you hold down shift and hit F11, this is the F23 key. When you do this, the AS/400 shows other option numbers. Similarly, at the bottom, the AS/400 tells you what "F" keys you can use. Hittin g F24 (shift while hitting F12) will cause the AS/400 to display more "F" keys. These "F" keys are called FUNCTION KEYS. So, finally.. Let's add a member and write a simple Control Language program. At the bottom-right of your screen you should see that F6=Create. This means tha t hitting F6 will let you create a new member. So, hit F6. The screen will now show: -----------------------------------------------------------------------Start Source Entry Utility (STRSEU) Type choices, press Enter. file . . . . . . Library . . . . Source member . . Source type . . . Text 'description' . . . . . . . . . . . . . . . . . . . . > . . . . Source QCLSRC Name, *PRV . . > USER999 Name, *LIBL, *CURLIB, *PRV . . FIRSTCL Name, *PRV, *SELECT . . CLP Name, *SAME, BAS, BASP... . . My First CL Program

-----------------------------------------------------------------------Fill in the Source member name. This will become the program name. Name it IRSTC L. The Source type is important. It will tell the AS/400 what compiler to use to co mpile the source code. CL programs are designated as Source type CLP. So, enter CLP. For the text description, enter a short description. Now hit ENTER and the screen should look like: ----------------------------------------------------------------------Columns . . . : 1 71 Edit USER001/QCLSRC SEU==> FIRSTCL FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 *************** Beginning of data************************* ''''''' '''' ''' ''''''' ''''''' '''' ''' ----------------------------------------------------------------------You now have an empty member to key source code into. If you were to hit ENTER r ight now, the editor (SEU) would assume that you don't want to keep any of these lines since you haven't entered anything on them. So, to make things simple, key a space on the top line, then TAB twice to the ne xt line and key another space. Do this on about 10 lines. Now, when you hit ENTER, SEU sees that you keyed something (a space) on those li nes and it keeps them for you. If you did this, SEU replaced the dots on the left with numbers and should look like: -----------------------------------------------------------------------Columns . . . : 1 71 Edit USER001/QCLSRC SEU==> FIRSTCL

FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 *************** Beginning of data************************** 0001.00 0002.00 0003 .00 0004.00 0005.00 0006.00 0007.00 0008.00 0009.00 ----------------------------------------------------------------------Languages have syntax rules to follow. CL is mostly a free format syntax. Blank lines are allowed and commands can be placed in any column. Also, CL programs mu st begin with a PGM statement. So, key PGM on the first line and hit ENTER. Your screen should now look like: -----------------------------------------------------------------------Columns . . . : 1 71 Edit USER001/QCLSRC SEU==> FIRSTCL FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 *************** Beginning of data************************** 0001.00 PGM 0002 .00 0003.00 0004.00 0005.00 0006.00 0007.00 0008.00 0009.00 ----------------------------------------------------------------------Now, it's time to experiment a bit with the line editor. SEU (the name of the ed itor being used by PDM) is a line editor. That just means that commands to copy, insert and delete lines are entered in the left portion of the screen where the numbers are. Try a simple line command. Key in D right on top of the number 0001.00 at the to p left. your screen should look like: -----------------------------------------------------------------------Columns . . . : 1 71 Edit USER001/QCLSRC SEU==> FIRSTCL FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 *************** Beginning of data************************** D001.00 PGM 0002 .00 0003.00 0004.00 0005.00 0006.00 0007.00 0008.00 0009.00 --------------------------------------------------------------------This D tells the editor to delete this line when the ENTER key is hit. So, go ah ead and hit ENTER and watch that line disappear. Now key the PGM back in on another line. Just to experiment, copy line 0001 and insert it after line 0005. Do this by key ing a C (for "copy") on line 0001 and an A (for "after") on line 0005. Your screen should look like: ------------------------------------------------------------------------

Columns . . . : 1 71 Edit USER001/QCLSRC SEU==> FIRSTCL FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 *************** Beginning of data************************** C001.00 PGM 0002 .00 0003.00 0004.00 A005.00 0006.00 0007.00 0008.00 0009.00 ----------------------------------------------------------------------When you hit ENTER, SEU will copy line 1 and place it on a new line after line 5 . If you key C3 on line 0001, SEU will copy three lines and place them after the l ine with an A. Or, if you key CC on line 0001 and CC on line 0004, SEU will copy from line 0001 thru 0004. Similarly, putting DD on line 0001 and DD on line 2000 would delete all lines fr om line 1 to line 2000. Okay, let's finish the program. The complete program will do only two things. Th e first is that it will change your "CURRENT LIBRARY" to your library USER999 an d the second thing is it will go to the Program menu on the AS/400. Since this isn't a lesson in CL programming, trust me and key in the following p rogram. Be sure to use your USERID in place of USER999. ----------------------------------------------------------------------Columns . . . : 1 71 Edit USER001/QCLSRC SEU==> FIRSTCL FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 *************** Beginning of data************************** 0001.00 PGM 0002 .00 0003.00 CHGCURLIB USER999 0004.00 0005.00 GO PROGR AM 0006.00 0007.00 0008.00 0009.00 ----------------------------------------------------------------------Now hit F3 to tell PDM that you are done. Hit ENTER to accept the values on the screen. PDM has saved your program and you can now see it in your PDM list of me mbers. The screen should now show: --------------------------------------------------------------------Work with Members Using PDM File . . . . . . Library . . . . QCLSRC USER999 Position to . . . . .

Type options, press Enter. 2=Edit 3=Copy 4=Delete 5=Display 6=Print 7=Rename 8=Display description 9=Save 13=Change text 14=Compile 15=Create Opt Member Type Text

FIRSTCL

CLP

My First Cl Program

-------------------------------------------------------------------So, you have now entered the statements needed by the AS/400 compiler to compile a CL program. Each time you add a member, this list of members will grow. Just for fun, key a 2 next to FIRSTCL under OPT on the screen. Hit ENTER and PDM will open the source file up again so you can see and change it. Hit F3 and ENTER to get back. To compile the program, key 14 under OPT next to FIRSTCL and hit enter. This tel ls PDM to compile the statements that are in the member named FIRSTCL. If all went well, in a few seconds, the AS/400 will have compiled your program. Hit TAB to get to the bottom of the screen. This is the command line. Key CALL USER999/FIRSTCL on the command line (be sure to use your USERID in plac e of USER999). If your program compiled, you should now see: ----------------------------------------------------------------------PROGRAM Programming Select one of the following: 1. Programmer menu 2. Programming Development Manager (PDM) 3. Utilities 4. Programming language debug 5. Structured Query Language (SQL) pre-compiler 6. Question and answer 8. Copy screen image 9. Cross System Product/Application Execution (CSP/AE) 50. System/36 programming 70. Related commands Selection or command ----------------------------------------------------------------------That's the end of this lesson. Try not to be frustrated with the lack of user fr iendliness of PDM. The wonderful news is that 99% of AS/400's use PDM. So anytim e you log on to an AS/400, you will be familiar with the source code editor. It takes most people a week or so of using PDM to get comfortable with it. But y ou must learn PDM well. You will use it to create files, logical files (indexes) , display screens, print files, RPG programs, CL programs and more. Take a break and review the following link to IBM's publication site. Finally, e-mail me and tell me how your first hands-on experience went. Thanks, David dmount@texas400.com -------------------------------------------------------------------------Additional Material Here is the link to IBM's Online Manuals http://publib.boulder.ibm.com/pubs/html/as400/online/v4r2eng.htm Click on "SEARCH OR VIEW ALL BOOKS" Key in SEU and click on FIND. It should find the book titled "Source Entry Utility". Chapter 13 is a tutorial on entering source code.

S-ar putea să vă placă și