Skip to content

AR290A OCL

The provided document is an OCL (Operation Control Language) program, specifically AR290A.ocl36.txt, used in IBM System/36 environments to manage Accounts Receivable (A/R) salesman change transactions. Below, I’ll explain the process steps of the program, identify any external programs called, and list the tables/files used.

Process Steps of the RPG .OCL Program

The OCL program controls the flow of processing A/R salesman change transactions, handling validation, user interaction, and file operations. Here’s a step-by-step explanation of the program’s logic:

  1. Initial Program Identification and Setup:
  2. The program starts with metadata or comments identifying it as the "A/R SALESMAN CHANGE TRANSACTION POST" process (// * 'A/R SALESMAN CHANGE TRANSACTION POST').
  3. It likely runs under a specific procedure (SCPROCP) and system context (GSY2K).

  4. Check for Changes in ARSLST File:

  5. The program checks the ARSLST file to determine if there are any salesman change transactions to process (IFF DATAF1-?9?ARSLST).
  6. Case 1: No Changes Exist:
    • If no changes are found (* 'NO CHANGES EXIST TO BE PROCESSED'), the program:
    • Checks if the change table (ARSLST) has no records (IF ?F'A,?9?ARSLST'?/0000000 * 'NO RECORDS EXIST IN THE CHANGE TABLE').
    • Displays a message indicating the posting process is canceled (* 'THE POSTING PROCESS HAS BEEN CANCELLED').
    • Prompts the user to press 0, ENTER to continue (PAUSE 'TO CONTINUE--PRESS 0, ENTER').
    • Terminates the program (CANCEL).
  7. Case 2: Changes Exist:

    • If changes are found (* 'THERE ARE CHANGES TO PROCESS'), the program:
    • Prompts the user with options to either cancel (press SHIFT + ATTN, 2, ENTER) or continue (press 0, ENTER) (PAUSE 'TO CANCEL--PRESS SHIFT + ATTN,2,ENTER TO CONTINUE--PRESS 0,ENTER').
  8. Processing Changes:

  9. If changes exist and the user chooses to continue, the program checks for the existence of the SLSCHG file (IFF DATAF1-?9?SLSCHG).
  10. It then builds or processes the SLSCHG file (BLDFILE ?9?SLSCHG,S,RECORDS,1,32,,T,,,NDFILE):
    • BLDFILE is an OCL command to create or manipulate a file.
    • Parameters suggest it processes records in the SLSCHG file, starting at record 1, with a block size or increment of 32, and other attributes (e.g., T for temporary file, NDFILE for no direct file).
  11. If the SLSCHG file is successfully processed, it displays a message: * 'THE POSTING PROCESS HAS BEEN ACTIVATED'.
  12. If the SLSCHG file processing is canceled or fails, it displays: * 'THE POSTING PROCESS HAS BEEN CANCELLED', followed by a pause for user acknowledgment (PAUSE 'TO CONTINUE--PRESS 0,ENTER').

  13. User Interaction and Cancellation:

  14. Throughout the process, the program uses PAUSE commands to interact with the user, allowing them to confirm continuation or cancel the process.
  15. Cancellation can occur at multiple points, either explicitly by the user (via SHIFT + ATTN, 2, ENTER) or implicitly if no records/changes are found.

External Programs Called

The OCL program itself does not explicitly call external RPG programs in the provided code. The BLDFILE command suggests file manipulation, which may involve system utilities or underlying RPG programs, but no specific program names are mentioned. Typically, in System/36 environments, BLDFILE is a system command that may invoke internal system routines rather than user-defined RPG programs. Therefore, based on the provided code:

  • External Programs: None explicitly called.

Tables/Files Used

The program interacts with the following files/tables:

  1. ARSLST:
  2. Description: Likely the A/R Salesman List or change table, which stores pending salesman change transactions.
  3. Role: The program checks this file to determine if changes exist (DATAF1-?9?ARSLST) and verifies if it contains records (?F'A,?9?ARSLST'?/0000000).

  4. SLSCHG:

  5. Description: A file used to process or store salesman change transactions, possibly a temporary or working file.
  6. Role: The program builds or processes this file (BLDFILE ?9?SLSCHG) if changes are present in ARSLST.

Summary

  • Process Overview: The program checks for salesman change transactions in the ARSLST file. If no changes exist, it informs the user and cancels. If changes are found, it prompts the user to continue or cancel. On continuation, it processes the changes via the SLSCHG file, activating or canceling the posting process based on the outcome.
  • External Programs: None explicitly called.
  • Tables/Files: ARSLST (salesman change table), SLSCHG (processed change file).

If you need further clarification or analysis (e.g., specific RPG program interactions or additional context), please let me know!