Di tengah kebutuhan organisasi untuk memaksimalkan kinerja sistem legacy mereka, IBM i (AS/400) tetap menjadi platform andalan dalam berbagai sektor industri. Salah satu komponen terpenting dalam pengembangan aplikasi di AS/400 adalah bahasa pemrograman RPG (Report Program Generator). Seiring dengan kompleksitas bisnis yang semakin meningkat, pengembang aplikasi dituntut untuk menguasai teknik pemrograman lanjutan, mulai dari pengelolaan data numerik dan karakter, penerapan logika kontrol, hingga pengolahan file eksternal dan komunikasi antar modul program. Tanpa pemahaman mendalam mengenai teknik-teknik ini, pengembangan aplikasi pada AS/400 bisa menjadi tidak efisien dan rentan terhadap kesalahan logika maupun operasional.
EARPG Programming Advanced ini dirancang untuk memberikan pemahaman dan keterampilan praktis dalam memanfaatkan fitur-fitur lanjutan bahasa RPG di platform AS/400. Peserta akan mempelajari pengelolaan operasi numerik dan karakter, penerapan kontrol logika terstruktur, penggunaan file yang didefinisikan secara eksternal, serta teknik manipulasi tabel dan array. Selain itu, materi training ini juga mencakup teknik komunikasi antar modul dan penanganan program interaktif menggunakan Display Files dan Screen Design Aid (SDA). Di akhir pelatihan, peserta akan diperkenalkan dengan teknik exception dan error handling yang efektif untuk memastikan aplikasi berjalan dengan andal dan minim gangguan.
Training ini dikembangkan berdasarkan pengalaman praktis dalam berbagai proyek pengembangan aplikasi berbasis AS/400, memberikan peserta kesempatan untuk belajar dari studi kasus nyata. Setelah mengikuti pelatihan ini, peserta diharapkan mampu mengimplementasikan teknik pemrograman lanjutan dalam proyek pengembangan aplikasi AS/400, meningkatkan produktivitas pengembangan, serta mendukung organisasi dalam memaksimalkan pemanfaatan sistem AS/400 yang dimiliki.
OBJECTIVES
1. Memahami dan menerapkan RPG Specification Sequence (H, F, E, L, I, C, O)
2. Melakukan operasi numerik dan karakter secara efektif dalam program RPG
3. Menerapkan logika kontrol terstruktur, seperti operasi seleksi dan iterasi dalam RPG
4. Mengelola file yang didefinisikan secara eksternal menggunakan DDS
5. Melakukan manipulasi data menggunakan tabel dan array dalam RPG
6. Mengimplementasikan teknik komunikasi antar modul program di AS/400
7. Membangun aplikasi interaktif menggunakan Display Files dan Screen Design Aid (SDA)
8. Menerapkan teknik exception dan error handling untuk meningkatkan keandalan aplikasi
AUDIENCE
1. RPG Programmer
2. Application Developer
3. System Analyst
4. Software Engineer
5. IT Operations
6. IT Manager
PREREQUISITES
–
CONTENT
1. Introduction to STRSQL
1.1. What is STRSQL?
1.2. When and why to use STRSQL
1.3. Accessing STRSQL from green screen
1.4. STRSQL vs. ACS Run SQL Scripts vs. Query/400
2. Basic SQL Queries
2.1. Understanding the SELECT statement
2.2. Filtering with WHERE clause
2.3. Sorting results with ORDER BY
2.4. Limiting fields and rows
3. Using Operators and Functions
3.1. Logical and comparison operators
3.2. LIKE, IN, BETWEEN, IS NULL
3.3. String functions (SUBSTR, TRIM, CONCAT)
3.4. Numeric functions (ROUND, AVG, COUNT)
4. Joining Tables
4.1. INNER JOIN syntax
4.2. LEFT JOIN and RIGHT JOIN
4.3. Multi-table queries
5. Grouping and Aggregation
5.1. GROUP BY and HAVING clauses
5.2. Aggregate functions: SUM, AVG, MAX, MIN, COUNT
5.3. Creating summary reports
6. Data Modification
6.1. INSERT new records
6.2. UPDATE existing records
6.3. DELETE records
6.4. Using COMMIT and ROLLBACK
7. Introduction to SQLRPGLE
7.1. What is SQLRPGLE?
7.2. Benefits of embedded SQL over traditional native I/O
7.3. Structure of a SQLRPGLE program
7.4. Creating a SQLRPGLE source member (.SQLRPGLE)
8. Embedding SQL in RPGLE
8.1. SQL precompiler process (CRTSQLRPGI)
8.2. SQL statements supported in RPG
8.3. SET OPTION clause (Commitment control, Naming, Debugging)
8.4. Free-format RPG + Embedded SQL syntax
9. Data Retrieval – SELECT INTO
9.1. Declaring variables (DCL-S)
9.2. SELECT INTO for single-row fetches
9.3. Handling NULL values (INDicators)
10. Data Modification – INSERT, UPDATE, DELETE
10.1. Writing INSERT, UPDATE, DELETE in SQLRPGLE
10.2. Using host variables
10.3. Handling return codes
11. Multi-Row Retrieval Using Cursors
11.1. Declaring and opening cursors
11.2. FETCH loop in RPG
11.3. Closing cursors
11.4. When to use cursors vs. SELECT INTO
12. Debug Process
12.1. STRDBG SQLRPGLE
12.2. Breakpoint
13. Introduction to Query/400 and WRKQRY
13.1. What is Query/400 (WRKQRY)?
13.2. Role of Query/400 in IBM i data access
13.3. Understanding the DB2/400 file system (Physical vs Logical Files)
13.4. Accessing WRKQRY command
14. Creating a Basic Query
14.1. Selecting a file (data source)
14.2. Selecting and sequencing fields
14.3. Creating and saving queries
14.4. Running queries and viewing output
15. Record Selection and Conditions
15.1. Adding selection conditions
15.2. Using comparison operators (>, <, =, LIKE, etc.)
15.3. Combining conditions (AND/OR)
16. Sorting and Formatting Output
16.1. Sorting records in ascending/descending order
16.2. Creating report headings and titles
16.3. Formatting columns (length, decimals, alignment)
17. Performing Calculations
17.1. Defining calculated fields
17.2. Arithmetic operations (+, -, *, /)
17.3. Using built-in functions (e.g., %DATE, %DAYS)
18. Using Join Logical Files
18.1. Understanding logical files and joins
18.2. Joining related files in WRKQRY
18.3. Selecting fields from multiple files
19. Summarizing and Grouping Data
19.1. Grouping records by a field (e.g., Department, Region)
19.2. Adding totals and averages
19.3. Displaying summary-only reports
20. Output Options
20.1. Printing to spool files (OUTQ)
20.2. Displaying on screen
20.3. Output to physical files or database files
20.4. Exporting to CSV (via CPYTOIMPF or ACS)
21. Introduction to ILE and Service Programs
21.1. Understanding ILE architecture
21.2. What are Service Programs?
21.3. Benefits of modular design and code reuse
21.4. Service Programs vs. Modules vs. Programs
22. Creating Procedures and Modules
22.1. Defining procedures using DCL-PROC / END-PROC
22.2. Passing parameters (value, reference, const)
22.3. Local vs. exported procedures
22.4. Creating a module using CRTRPGMOD
23. Building Service Programs
23.1. Exporting procedures using the prototype (PR) and implementation (PI)
23.2. Creating a Service Program using CRTSRVPGM
23.3. Exporting procedures using *EXPORT and binding source (BNDDIR or EXP file)
23.4. Creating a binding directory (CRTBNDDIR)
24. Using Service Programs in RPGLE
24.1. Binding during compilation
24.2. Calling procedures from service programs
24.3. Activation groups and their impact
25. Prototype Management and Best Practices
25.1. Sharing prototypes using /COPY or /INCLUDE
25.2. Modular coding structure with separate copybooks
25.3. Matching PR and PI across modules
25.4. Naming conventions and code reuse strategy
Course Features
- Lectures 27
- Quizzes 2
- Duration 24 hours
- Skill level All levels
- Language English
- Students 5
- Certificate Yes
- Assessments Yes