Files
DUTAS/Copybook/DTSIL090.cpy
2025-07-21 11:20:11 -04:00

79 lines
6.2 KiB
COBOL

00001 ***** 09/06/00
00002 * DTSIL090
00003 * DTSIL090 PARAGRAPH FORMATING MODULE LINKAGE. LV006
00004 * DTSIL090
00005 * INPUT UP TO 50 WORDS OR GROUPS OF WORDS AND A DTSIL090
00006 * DESIRED LINE LENGTH (AS WELL AS A COUNT OF THE DTSIL090
00007 * NUMBER OF GROUPS OF WORDS) AND THIS MODULE WILL DTSIL090
00008 * RETURN PARAGRAPH LINES AS CLOSE TO THE DESIRED DTSIL090
00009 * LENGTH AS POSSIBLE WITHOUT RUNNING OVER. DTSIL090
00010 * DTSIL090
00011 * BETWEEN WORDS IN EACH WORD GROUP THAT ARE NOT DTSIL090
00012 * TO APPEAR ON SEPARATE PARAGRAPH LINES, THE DTSIL090
00013 * CALLING MODULE MUST REPLACE EACH SPACE WITH DTSIL090
00014 * L090-SPECIAL-CHAR. THE SPECIAL CHARACTER DTSIL090
00015 * WILL BE, IN TURN, REPLACED BY A SPACE IN THE DTSIL090
00016 * PARAGRAPH THAT IS RETURNED. TO BYPASS THIS DTSIL090
00017 * PROCESSING, SET L090-SPECIAL-CHAR TO LOW-VALUE. DTSIL090
00018 * DTSIL090
00019 * IF A GIVEN WORD GROUP IS TO BE UNDERLINED OR DTSIL090
00020 * BOLDED THE CALLING MODULE NEEDS TO SET DTSIL090
00021 * L090-PHRASE-OVERSTRIKE-IND ACCORDINGLY AND DTSIL090
00022 * DTSBU090 WILL RETURN A PARAGRAPH LINE WHICH CL**2
00023 * IS TO BE WRITTEN AFTER ADVANCING +0 AS INDICATED DTSIL090
00024 * BY L090-PARAGRAPH-LINE-DUPE-88. OTHERWISE DTSIL090
00025 * L090-PHRASE-OVERSTRIKE-IND NEEDS TO BE INITIALED DTSIL090
00026 * TO SOMETHING OTHER THAN 'B' OR 'U' BY THE DTSIL090
00027 * CALLING MODULE. DTSIL090
00028 * DTSIL090
00029 * SPACES AT THE END OF A GROUP OF WORDS ARE DTSIL090
00030 * COMPRESSED TO ONE SPACE (OR TWO SPACES IF THE DTSIL090
00031 * GROUP OF WORDS ENDS IN A PERIOD). SPACES AT THE DTSIL090
00032 * BEGINNING OF A WORD GROUP AND SPACES BETWEEN DTSIL090
00033 * TWO WORDS IN A WORD GROUP ARE LEFT ALONE. DTSIL090
00034 * DTSIL090
00035 * L090-INDENT WILL INDENT ALL LINES BUT THE FIRST DTSIL090
00036 * LINE IN THE RETURNED PARAGRAPH BY THE STATED DTSIL090
00037 * AMOUNT (STARTING COLUMN = 1 + L090-INDENT). TO DTSIL090
00038 * INDENT THE FIRST LINE PUT LEADING SPACES IN DTSIL090
00039 * L090-PHRASE(1). TO LEFT-JUSTIFY SET L090-INDENT DTSIL090
00040 * TO ZERO. DTSIL090
00041 * DTSIL090
00042 * BECAUSE OF A FLUKE THAT CAN OCCUR WITH PUNCTUA- DTSIL090
00043 * TION, THE CALLING MODULE SHOULD MAKE THE VALUE DTSIL090
00044 * OF L090-DESIRED-LINE-LIMIT 1 LESS THAN THE LENGTHDTSIL090
00045 * IT WILL ACTUALLY PULL OFF OF L090-PARAGRAPH-LINE.DTSIL090
00046 * DTSIL090
00047 ***** DTSIL090
00048 SKIP1 DTSIL090
00049 10 L090-LENGTH PIC S9(04) COMP VALUE +9382. DTSIL090
00050 SKIP1 DTSIL090
00051 10 L090-DESIRED-LINE-LIMIT PIC S9(03) COMP-3. DTSIL090
00052 10 L090-INDENT PIC S9(03) COMP-3. DTSIL090
00053 SKIP1 DTSIL090
00054 10 L090-SPECIAL-CHAR PIC X(01). DTSIL090
00055 88 L090-NO-SPECIAL-CHAR-88 VALUE LOW-VALUE. DTSIL090
00056 88 L090-SPECIAL-CHAR-STD-88 VALUE '\'. DTSIL090
00057 SKIP1 DTSIL090
00058 10 L090-PHRASE-CNT PIC S9(04) COMP. DTSIL090
00059 10 L090-PHRASE-TABLE OCCURS 50 TIMES DTSIL090
00060 INDEXED BY L090-PHRASE-IDX. DTSIL090
00061 15 L090-PHRASE PIC X(80). CL**6
00062 15 L090-PHRASE-OVERSTRIKE-IND DTSIL090
00063 PIC X(01). DTSIL090
00064 88 L090-PHRASE-UNDERLINE-88 VALUE 'U'. DTSIL090
00065 88 L090-PHRASE-BOLD-88 VALUE 'B'. DTSIL090
00066 88 L090-PHRASE-OVERSTRIKE-88 VALUE 'B' 'U'. DTSIL090
00067 SKIP1 DTSIL090
00068 10 L090-RETURN-CODE PIC X(01). DTSIL090
00069 88 L090-SUCCESSFUL-88 VALUE '0'. DTSIL090
00070 88 L090-UNSUCCESSFUL-88 VALUE '8'. DTSIL090
00071 SKIP1 DTSIL090
00072 10 L090-PARAGRAPH-LINE-CNT PIC S9(04) COMP. DTSIL090
00073 10 L090-PARAGRAPH-TABLE OCCURS 40 TIMES DTSIL090
00074 INDEXED BY L090-PARAGRAPH-IDX. DTSIL090
00075 15 L090-PARAGRAPH-LINE-DUPE-IND DTSIL090
00076 PIC X(01). DTSIL090
00077 88 L090-PARAGRAPH-LINE-DUPE-88 VALUE 'Y'. DTSIL090
00078 15 L090-PARAGRAPH-LINE PIC X(132). CL**6