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

83 lines
6.5 KiB
COBOL

00001 ***** 07/27/98
00002 * DTSIL143
00003 * MACIL143 BUILD A RECORD WITH VARIABLE LENGTH FIELDS LV001
00004 * MODULE LINKAGE. DTSIL143
00005 * DTSIL143
00006 * DTSIL143
00007 * IN BUILDING A RECORD, CALL THIS MODULE ONCE FOR EACH FIELD DTSIL143
00008 * TO BE INCLUDED IN THE RECORD. EACH TIME THIS MODULE IS DTSIL143
00009 * CALLED THE FOLLOWING FIELDS NEED TO BE SET BY THE CALLING DTSIL143
00010 * MODULE: DTSIL143
00011 * L143-FIELD-DELIM DTSIL143
00012 * L143-STRING-DELIM DTSIL143
00013 * L143-EDIT-FIELD-IND DTSIL143
00014 * L143-EMBED DTSIL143
00015 * L143-FIELD-SIZE DTSIL143
00016 * L143-FIELD DTSIL143
00017 * DTSIL143
00018 * WHEN FIRST CALLING THIS MODULE FOR A GIVEN RECORD, SET DTSIL143
00019 * L143-REC-SIZE TO ONE LESS THAN THE POSITION IN THE RECORD DTSIL143
00020 * AT WHICH YOU WANT MACBU143 TO POSITION THE FIRST FIELD IT DTSIL143
00021 * IS PASSED (E.G. SET L143-REC-SIZE TO +0 TO POSITION THE DTSIL143
00022 * FIRST FIELD IN THE FIRST BYTE). FROM THERE ON, MACBU143 DTSIL143
00023 * ALWAYS SETS L143-REC-SIZE TO THE POSITION OF THE LAST BYTE DTSIL143
00024 * IT HAS MOVED INTO THE RECORD. DTSIL143
00025 * DTSIL143
00026 * L143-TRIM-OUTSIDE-SPACES WILL RESULT IN ALL SPACES AT THE DTSIL143
00027 * START AND END OF THE FIELD PASSED TO BE DROPPED. DTSIL143
00028 * DTSIL143
00029 * L143-TRIM-LEADING-ZEROES WILL RESULT IN ALL LEADING ZEROES DTSIL143
00030 * UP TO BUT NOT INCLUDING THE DIGIT TO THE LEFT OF THE DECIMAL DTSIL143
00031 * POINT (OR, IF THERE IS NO DECIMAL POINT, THE LOW ORDER DTSIL143
00032 * DIGIT) BEING DROPPED. DTSIL143
00033 * DTSIL143
00034 * IF NOT L143-EMBED-NO-REPLACE DTSIL143
00035 * - IF NOT L143-STRING-DELIM-NO THEN ANY EMBEDDED DTSIL143
00036 * OCCURANCES OF THE STRING DELIMITER ARE REPLACED BY DTSIL143
00037 * L143-EMBED. DTSIL143
00038 * - IF L143-STRING-DELIM-NO BUT NOT L143-FIELD-DELIM-NO THEN DTSIL143
00039 * ANY EMBEDDED OCCURANCES OF THE FIELD DELIMITER ARE DTSIL143
00040 * REPLACED BY L143-EMBED. DTSIL143
00041 * DTSIL143
00042 * DTSIL143
00043 ***** DTSIL143
00044 SKIP1 DTSIL143
00045 10 L143-LENGTH PIC S9(04) COMP. DTSIL143
00046 SKIP1 DTSIL143
00047 10 L143-FIELD-DELIM PIC X(01). DTSIL143
00048 88 L143-FIELD-DELIM-NO VALUE 'N'. DTSIL143
00049 88 L143-FIELD-DELIM-COMMA VALUE ','. DTSIL143
00050 88 L143-FIELD-DELIM-SEMI VALUE ';'. DTSIL143
00051 88 L143-FIELD-DELIM-SPACE VALUE ' '. DTSIL143
00052 10 L143-STRING-DELIM PIC X(01). DTSIL143
00053 88 L143-STRING-DELIM-NO VALUE 'N'. DTSIL143
00054 88 L143-STRING-DELIM-DOUB-QUOTE VALUE '"'. DTSIL143
00055 10 L143-EDIT-FIELD-IND PIC X(01). DTSIL143
00056 88 L143-EDIT-FIELD-NO VALUE 'N'. DTSIL143
00057 88 L143-TRIM-OUTSIDE-SPACES VALUE ' '. DTSIL143
00058 88 L143-TRIM-LEADING-ZEROES VALUE '0'. DTSIL143
00059 10 L143-EMBED PIC X(01). DTSIL143
00060 88 L143-EMBED-NO-REPLACE VALUE 'N'. DTSIL143
00061 88 L143-EMBED-REPLACE-SPACE VALUE ' '. DTSIL143
00062 88 L143-EMBED-REPLACE-SING-QUOTE VALUE ''''. DTSIL143
00063 10 FILLER PIC X(05). DTSIL143
00064 SKIP1 DTSIL143
00065 10 L143-FIELD-SIZE PIC S9(04) COMP. DTSIL143
00066 10 L143-FIELD. DTSIL143
00067 15 L143-FIELD-CHAR PIC X(01) DTSIL143
00068 OCCURS 200 DTSIL143
00069 INDEXED BY L143-FIELD-IDX. DTSIL143
00070 SKIP1 DTSIL143
00071 10 L143-RESULT-IND PIC X(01). DTSIL143
00072 88 L143-OK VALUE '0'. DTSIL143
00073 88 L143-ERROR VALUE '1'. DTSIL143
00074 SKIP1 DTSIL143
00075 10 L143-MAX-REC-LENGTH PIC S9(04) COMP DTSIL143
00076 VALUE +4099. DTSIL143
00077 10 L143-REC-SIZE PIC S9(04) COMP. DTSIL143
00078 10 L143-REC. DTSIL143
00079 15 L143-REC-CHAR PIC X(01) DTSIL143
00080 OCCURS 0 TO 4099 DTSIL143
00081 DEPENDING ON L143-REC-SIZE DTSIL143
00082 INDEXED BY L143-REC-IDX. DTSIL143