BookmarkSubscribeRSS Feed
borovy
Calcite | Level 5

I have done considerable research and cannot resolve the error in the subject line.  My data is coming from an excel spreadsheet uploaded to the mainframe as a PRN file.

I want to insert the data to an existing mainframe DB2 table with the following layout:

FIN_YEAR                  CHAR(4)    PRIM

MIN_EFC                    DEC(7,0)   PRIM

MAX_EFC                   DEC(7,0)   PRIM

PELL_AMOUNT_F     DEC(5,0)      

PELL_AMOUNT_Q    DEC(5,0)      

PELL_AMOUNT_H    DEC(5,0)      

PELL_AMOUNT_L     DEC(5,0)      

Sample data:

2016     801     900    4925    3694    2463    1231

2016     901   1000    4825    3619    2413    1206

2016   1001   1100    4725    3544    2363    1181

.

.

.

4801      4900     925     694       0       0

4901      5000     825     619       0       0

5001      5100     725         0       0       0

5101      5198     626         0       0       0

5199  999999         0         0       0       0

SAS code:

LIBNAME FAD DB2 AUTHID=FAD SSID=DB2T

OPTIONS DB2SSID=DB2T ;             

                                   

DATA PELLSCHD_IN_PRN_FORMAT;       

     INFILE INSFILE ;              

                                   

     INPUT  @5  FINYR              $4.      

                  @10 MINEFC          7.0     

                  @18 MAXEFC         7.0     

                  @28 PELLAMTF     5.0     

                  @36 PELLAMTQ    5.0     

                  @44 PELLAMTH    5.0   

                  @52 PELLAMTL     5.0   ; 

RUN;                               

PROC DB2UTIL                           

     DATA     = PELLSCHD_IN_PRN_FORMAT 

     TABLE    = FAD.PELL_SCHEDULE      

     COMMIT   = 50                     

     LIMIT    = 1000                   

     FUNCTION = INSERT;                

     MAPTO                             

        FINYR              = FIN_YEAR       

        MINEFC           = MIN_EFC        

        MAXEFC          = MIN_EFC        

        PELLAMTF      = PELL_AMOUNT_F  

        PELLAMTQ      = PELL_AMOUNT_Q  

        PELLAMTH      = PELL_AMOUNT_H  

        PELLAMTL       = PELL_AMOUNT_L  ;

                                       

     UPDATE;                           

RUN;                                   

I am willing to do additional research on my own but i have run out of ideas for where to look.

Many thanx in advance for your help....

4 REPLIES 4
LinusH
Tourmaline | Level 20

A full log will, so we can see in which step you get the error.

And, PRN file? Is that a print file?

Doesn't sound like somthing I would touch for data manipulation.

Is the a manual upload process? Why not use TAB or CSV instead?

Data never sleeps
borovy
Calcite | Level 5

I receive the same error for uploaded CSV and TXT file versions

I upload from the PC to TSO ISPF using the SEND utility

The difference between CSV/TXT/PRN files is comma/tab(dot)/right justified between data columns


Log:



NOTE: Copyright (c) 2002-2003 by SAS Institute Inc., Cary, NC, USA.

NOTE: SAS (r) 9.1 (TS1M3)

       Licensed to LOUISIANA STATE UNIVERSITY, Site 0001407001.

NOTE: This session is executing on the z/OS   V01R10M00 platform.

NOTE: Running on IBM Model 2818 Serial Number 0177A7,

                  IBM Model 2818 Serial Number 0177A7,

                  IBM Model 2818 Serial Number 0177A7.

NOTE: SAS 9.1.3 Service Pack 2

                      Welcome to SAS 9.1.3

        SSS       AAA      SSS           999       I        333

       S   S     A   A    S   S         9   9     II       3   3

       S             A    S             9   9      I           3

        S            A     S            9   9      I           3

         S        AAAA      S            9999      I        333

          S      A   A       S              9      I           3

       S   S    A    A    S   S            9       I           3

       S   S    A    A    S   S           9    0   I   0   3   3

        SSS      AAAAA     SSS          99     0  III  0    333

Please report SAS problems to the ITS Help Desk at 225-578-3375

               or by email to helpdesk@lsu.edu.

NOTE: The SASUSER library was not specified. SASUSER library will now be the same as the WORK library.

NOTE: All data sets and catalogs in the SASUSER library will be deleted at the end of the session.  Use the NOWORKTERM option to

       prevent their deletion.

NOTE: SAS system options specified are:

       SORT=4

NOTE: 101187584 bytes were available above the line at initialization.

NOTE: 6815744 bytes were available below the line at initialization.

NOTE: 100663296 bytes were available above the line after adjustment for MEMLEAVE=524288.

NOTE: The initialization phase used 0.06 CPU seconds and 6481K.

NOTE: The address space has used a maximum of 648K below the line and 7604K above the line.

1          ********************************************************************;

2          *  PROGRAM:       FAD7079S                                         *;

3          *  DESCRIPTION:   THIS PROGRAM LOADS THE FAD.PELL_SCHEDULE DB2     *;

4          *                 TABLE FROM AN EXCEL CSV INPUT FILE THAT CONTAINS *;

5          *                 PELL SCHEDULE DATA FROM THE DEPT OF US EDUCATION *;

6          *                                                                  *;

7          *  AUTHOR:        DONNA EICHER/BOROVY                              *;

8          *  DATE WRITTEN:  NOVEMBER 2014                                    *;

9          *  INPUT:         FAD.PROD.FAD7079.PELLSCHD.LOAD CSV INPUT FILE    *;

10         *  OUTPUT:        REPORT OF NEW PELL SCHEDULE ENTRIES              *;

11         *                 ERROR REPORT                                     *;

12         ********************************************************************;

12                                                          The SAS System                            13:45 Tuesday, February 3,

13         *  CHANGED    ANALYST REQ#  DESCRIPTION OF CHANGE                  *;

14         *  11/XX/2014 BOROVY  16906 NEW                                    *;

15         ********************************************************************;

16

17         *LIBNAME FAD DB2 AUTHID=FAD SSID=DB2;

18         *OPTIONS DB2SSID=DB2;

19

20         LIBNAME FAD DB2 AUTHID=FAD SSID=DB2T;

NOTE: Libref FAD was successfully assigned as follows:

       Engine:        DB2

       Physical Name: DB2T

21         OPTIONS DB2SSID=DB2T ;

22

23         DATA PELLSCHD_IN_PRN_FORMAT;

24              INFILE INSFILE ;

25

26              INPUT  @5  FINYR     $4.

27                     @10 MINEFC     7.0

28                     @18 MAXEFC     7.0

29                     @28 PELLAMTF   5.0

30                     @36 PELLAMTQ   5.0

31                     @44 PELLAMTH   5.0

32                     @52 PELLAMTL   5.0   ;

33         RUN;

NOTE: The infile INSFILE is:

       Dsname=BOROVY.PELL.SCHEDULE.PRN,

       Unit=3390,Volume=SCR003,Disp=SHR,Blksize=6160,

       Lrecl=80,Recfm=FB

NOTE: 54 records were read from the infile INSFILE.

NOTE: The data set WORK.PELLSCHD_IN_PRN_FORMAT has 54 observations and 7 variables.

NOTE: The DATA statement used 0.01 CPU seconds and 7653K.

NOTE: The address space has used a maximum of 712K below the line and 8896K above the line.

34

35         PROC PRINT DATA=PELLSCHD_IN_PRN_FORMAT  ;

36

NOTE: There were 54 observations read from the data set WORK.PELLSCHD_IN_PRN_FORMAT.

NOTE: The PROCEDURE PRINT printed page 1.

NOTE: The PROCEDURE PRINT used 0.02 CPU seconds and 7924K.

NOTE: The address space has used a maximum of 712K below the line and 9144K above the line.

37         PROC SORT DATA=PELLSCHD_IN_PRN_FORMAT; BY FINYR MINEFC MAXEFC ;

38

NOTE: There were 54 observations read from the data set WORK.PELLSCHD_IN_PRN_FORMAT.

NOTE: The data set WORK.PELLSCHD_IN_PRN_FORMAT has 54 observations and 7 variables.

NOTE: The PROCEDURE SORT used 0.00 CPU seconds and 8238K.

NOTE: The address space has used a maximum of 712K below the line and 9460K above the line.

13                                                          The SAS System                            13:45 Tuesday, February 3,

39         PROC PRINT DATA=PELLSCHD_IN_PRN_FORMAT  ;

40

41         *** LOAD SORTED INPUT DATA TO FAD.PELL_SCHEDULE ;

42

NOTE: There were 54 observations read from the data set WORK.PELLSCHD_IN_PRN_FORMAT.

NOTE: The PROCEDURE PRINT printed page 2.

NOTE: The PROCEDURE PRINT used 0.00 CPU seconds and 8238K.

NOTE: The address space has used a maximum of 712K below the line and 9460K above the line.

43         PROC DB2UTIL

44              DATA     = PELLSCHD_IN_PRN_FORMAT

45              TABLE    = FAD.PELL_SCHEDULE

46              COMMIT   = 50

47              LIMIT    = 1000

48              FUNCTION = INSERT;

49              MAPTO

50                 FINYR         = FIN_YEAR

51                 MINEFC        = MIN_EFC

52                 MAXEFC        = MIN_EFC

53                 PELLAMTF      = PELL_AMOUNT_F

54                 PELLAMTQ      = PELL_AMOUNT_Q

55                 PELLAMTH      = PELL_AMOUNT_H

56                 PELLAMTL      = PELL_AMOUNT_L  ;

57

58              UPDATE;

59         RUN;

ERROR: Input map and input data do not match, procedure terminated.

+ERROR: Input map and input data do not match, procedure terminated.

+ERROR: Input map and input data do not match, procedure terminated.

NOTE: The SAS System stopped processing this step because of errors.

NOTE: The PROCEDURE DB2UTIL used 0.01 CPU seconds and 8321K.

NOTE: The address space has used a maximum of 716K below the line and 9552K above the line.

60

61

ERROR: Errors printed on page 3.

+ERROR: Errors printed on page 3.

+ERROR: Errors printed on page 3.

NOTE: The SAS session used 0.14 CPU seconds and 8321K.

NOTE: The address space has used a maximum of 716K below the line and 9552K above the line.

NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414

ballardw
Super User

Are there any variables in the table  FAD.PELL_SCHEDULE not mapped to a SAS variable?

borovy
Calcite | Level 5

well everyone, thanx for taking time to look at this issue....but i messed up, so call me embarrassed

the table as a field called MAX_EFC,  in the code, i have it labeled as MIN_EFC.   i've looked at this for days and just didnt see it.

again, thank you for your time.....

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 4 replies
  • 961 views
  • 0 likes
  • 3 in conversation