× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Have a closer look at your feedack parm (APIP05).  You have sixteen bytes
being assigned to a fifteen byte DS.....  

Eric DeLong
Sally Beauty Company
MIS-Project Manager (BSG)
940-898-7863 or ext. 1863



-----Original Message-----
From: Steve Wolkis [mailto:pthswolkis@xxxxxxxxxxx]
Sent: Friday, March 19, 2004 12:52 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: QWCCVTDT causing strange error



Hi folks

The following is a mystery to us.. - and for now, we are using a work around

to avoid this problem,  but does anyone have any idea why the following 
would occur (while using the QWCCVTDT api.
(note: this is related to a RPG native program - not ILE programs - all 
files in program are externally described, and we use this API in many 
programs and have not previously encountered this problem)

We have a program that reads some input files, does some processing, and 
outputs data to a file.  The file that gets output is externally described -

and output using "write" so all fields in file  V4PROF are output.  It is 
also cleared prior to this program running.

The first field in this output file (V4PROF)  is called VVEND.  It is only 
used once at the beginning of the program, in the *INZSR subroutine where 
'0005' is moved into the field.  This field name does not exist in any other

files in the program.   When the program runs, the first 1000 or so records 
are output fine (and each one ran thru the QWCCVTDT routine prior to writing

the record).  Then somewhere around record 1001, we have a record with a bad

date, that goes thru the QWCCVTDT routine.  When it comes out of the 
'QWCCVTDT ' the value of field VVEND gets changed to 1005 (and stays that 
way for the rest of the records that get output).   Since this field has 
nothing to do with the date routine, and no data is moved into it, except 
for within the INZSR subroutine where we move '0005' into it, how can it be 
being changed?

Very strange... any ideas?

Some code snippets below

Thanks

Steve
    FEMPL1L  IF  E           K        DISK
    FINSRV1L1IF  E           K        DISK
    F            INSER                               KENAMEINSERC
    FV4PROF  O   E           K        DISK                      A
     *
  I*
  IAPIERR      DS
  I I            15                    B   1   40APIE01
  I                                      B   5   80APIE02
  I                                           9  15 APIE03
  I*
  I*
  I            DS
  I                                          1   6 JULDT$
  I I            0                         1   60JULDAT
  I I            0                         1   30JULCYY
  I I            0                         4   60JULDDD
  *
  *
  IPGMSTS     SDS
  I                                     *PROGRAM @PGM
  I                                      244 253 WSID
  I                                      254 263 USID

C****************************************************
C           *INZSR    BEGSR
C           *ENTRY    PLIST
C                              PARM           ACT     1
    *...
C                             Z_ADD0005      VVEND   40
    *...
C                             ENDSR
    *
************************************************
    *...
C                           RESETAPIERR
C                           RESETJULDT$
C                           EXSR @DATCK
    *...
***********************************************
    **
           C                      @DATCK    BEGSR
   **
1113   C                       CALL 'QWCCVTDT'
           C                       PARM '*YMD'       APIP01 10
           C                       PARM DATE$       APIP02  7
           C                       PARM '*JUL'         APIP03 10
           C        JULDT$    PARM '*YMD'      APIP04  7
1118    C        APIERR    PARM APIERR     APIP05 16

NOTE: ON THE RECORD THAT CAUSES ERROR, WHEN WE PUT DEBUG ON LINE  1113, 
VVEND SHOWS AS 0005.   THEN WE STEP THRU, AND WHEN IT REACHES LINE 1118 
FIELD VVEND HAS BEEN CHANGED TO 1005
   **

_________________________________________________________________
Get reliable access on MSN 9 Dial-up. 3 months for the price of 1! 
(Limited-time offer) http://click.atdmt.com/AVE/go/onm00200361ave/direct/01/

_______________________________________________
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.