Solved

search a string for a particular character and proper formatting

Posted on 2000-05-01
20
282 Views
Last Modified: 2007-10-18
First part)
I have an item called Extrusion_TagNumber_F that is a string.  What I need to do it make sure the first character is a T if so return non zero if it is not T then return 0.

Second Part)
I have another string called PartNumber and the 2nd char must be a - if so return non zero if it is not - then return 0.

Third Part)
String called Location and needs to be checked for formatting with a space after the first 2 characters if so return non zero if it is not a space then return 0.

TIA
Craig
BTW I am not a C programer so I am new to this.

Please submit as comments and I will accept the one I use as an answer.
0
Comment
Question by:csindorf
  • 8
  • 5
  • 2
  • +4
20 Comments
 
LVL 16

Expert Comment

by:imladris
ID: 2767066
Something like:

1) if(Extrusion_TagNumber_F[0]=='T')return(1);
   else return(0);

2) if(PartNumber[1]=='-')return(1);
   else return(0);

3) if(Location[2]==' ')return(1);
   return(0);


appears to satisfy your requirements. If not, please explain additional constraints.
0
 
LVL 33

Expert Comment

by:hongjun
ID: 2768873
I must say imladris has already answered this question and I am only suggesting another alternative to the third requirement.
 
if ( isspace(string[2]))
    return 1;
else
    return 0;

Please remember to include <ctype.h> library for successful compilation.

csindorf, you should award imladris's answer.

hongjun
0
 
LVL 2

Expert Comment

by:abesoft
ID: 2769927
hongjun, I don't think that using isspace is appropriate, since it will return true if it sees a tab.

isspace returns a non-zero value if c is a white-space character (0x09 – 0x0D or 0x20).

csindorf, I think you should accept imladris' comment as an answer.
0
Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

 
LVL 33

Expert Comment

by:hongjun
ID: 2772748
abesoft,
That's exactly what I have said. Accept imladris' comment as an answer.

hongjun
0
 

Expert Comment

by:kishore_joshi
ID: 2772858
imladris has already answered this question and I am only suggesting another alternative - using functions and a charecter pointer


int Is_T(char *p)
{
    if(*p =='T')
         return 1 ;
   else
         return 0;  
}

int Is_Dash(char *p)
{
    if( *(p+1)  == '-' )
         return 1 ;
   else
         return 0;  
}

int Is_Space(char *p)
{
    if ( *(p + 2) == ' ' )
         return 1 ;
   else
         return 0;  
}
0
 
LVL 16

Expert Comment

by:imladris
ID: 2774318
csindorf

your last line indicates you will be taking an answer and grading it. When might we expect a decision?
0
 

Author Comment

by:csindorf
ID: 2774549
Adjusted points from 100 to 150
0
 

Author Comment

by:csindorf
ID: 2774550
Ok I thought I could take what you all have provided and make it work in my code well boy was I wrong so I am going to give you what I have and see if you can see why it is not working.

in the main program is at the top is:
static char Extrusion_TagNumber_F[EXTRUSION_TAGNUMBER_FL +1];

then further down is:
if(IM_ISSUCCESS(IMgiStatus)){
IMgiStatus= !ExtTagNum();
}

my function code:
/* must have leading T */
int ExtTagNum(char *Extrusion_TagNumber_F)
{  
      
    if(Extrusion_TagNumber_F[0] == 'T') return 1;
    else return 0;
}

Well no matter what I put in it returns 0.  HELP PLEASE I have been fighting with this for 2 days now.  :-(

Craig

0
 
LVL 84

Expert Comment

by:ozo
ID: 2775098
/* Don't you want to call */
IMgiStatus= !ExtTagNum(Extrusion_TagNumber_F);
/* or */
IMgiStatus= !ExtTagNum("T- ");
/* ? */
0
 
LVL 16

Expert Comment

by:imladris
ID: 2775831
In line with ozo, it would appear that you want to one of two things:

either pass the string of interest into the function (which has a parameter defined) i.e.:

IMgiStatus= !ExtTagNum(Extrusion_TagNumber_F);

or you want to have the function operate on the existing global variable. In that case the function should not take a parameter, it will simply reference the global:

int ExtTagNum()


0
 

Expert Comment

by:euy
ID: 2775975
  hello csindorf. I have here a sample code which I would suggest you compile and run. It does what you want your code to do. I think this should be enough to help you solve your problem. if you need more help, just tell me.

   By the way, this version sets Extrusion_TagNumber_F, PartNumber, and Location strings as local variables. If you want them global and needs it that way, just tell me, okay?,....have a nice day,...

euy


*****************************
*   SAMPLE CODE   (StringCheck.c   *
*****************************

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

#define STRING_LEN  30

int Get_TagNumber_val(char *Extrusion_TagNumber_F);
int Get_PartNum_val(char *PartNumber);
int Get_Location_val(char *Location);

void main()
{
      char Extrusion_TagNumber_F[ STRING_LEN ];
      char PartNumber[ STRING_LEN ];
      char Location[ STRING_LEN ];
      int TagNumret, PartNumret, Locationret;

      printf("\nPlease enter TagNumber string  : ");
      gets(Extrusion_TagNumber_F);
      printf("Please enter PartNumber string : ");
      gets(PartNumber);
      printf("Please enter Location string   : ");
      gets(Location);

      TagNumret = Get_TagNumber_val(&Extrusion_TagNumber_F[0]);
      PartNumret = Get_PartNum_val(&PartNumber[0]);
      Locationret = Get_Location_val(&Location[0]);


      printf("\n\tExtrusion_TagNumber_F checking return value = %d", TagNumret);
      printf("\n\tPartNumber checking return value            = %d", PartNumret);
      printf("\n\tLocation checking return value              = %d", Locationret);
      printf("\n\n");
      return;
}


/* for Extrusion_TagNumber_F */
int Get_TagNumber_val(char *Extrusion_TagNumber_F)
{
      if(Extrusion_TagNumber_F[0]=='T')
            return(1);
      else
            return(0);
}

/* for PartNumber */
int Get_PartNum_val(char *PartNumber)
{
      if(PartNumber[1]=='a')
            return(1);
      else
            return(0);
}

/* for Location */
int Get_Location_val(char *Location)
{
      if(Location[2]==' ')
            return(1);
      else
            return(0);
}

0
 

Expert Comment

by:euy
ID: 2775977
    hello again, I made a mionor mistake, please replace 'a' with '-' in the function Get_PartNum_val(char *PartNumber). The code should check for the '-' characrter and not 'a'. Sorry for that csindorf. That's all,.....

euy

 
0
 

Author Comment

by:csindorf
ID: 2780861
Adjusted points from 150 to 175
0
 

Author Comment

by:csindorf
ID: 2780862
The main program that I do not have that much controll over set the code:
static char Extrusion_TagNumber_F[EXTRUSION_TAGNUMBER_FL +1];

So I have to get access to that item inside mine!

CRaig
0
 

Author Comment

by:csindorf
ID: 2780922
Adjusted points from 175 to 180
0
 

Author Comment

by:csindorf
ID: 2780923
Please keep it as comments till I get mine to work.  And please note I need to gain access to the
static char Extrusion_TagNumber_F[EXTRUSION_TAGNUMBER_FL +1];

that the main program defines.  I have tried:int ExtTagNum(char *ExtrusLotNo_TagNumber_F)
{  
    if(ExtrusLotNo_TagNumber_F[0] == 'T') return 1;
    else return 0;
}

and this returns 0 all the time no matter what data is entered.  If you want the entire program to look at let me know ASAP please.

CraigS
0
 
LVL 16

Expert Comment

by:imladris
ID: 2781450
Baffling. The function as listed there looks fine. Please post code, and relevant data.
0
 

Author Comment

by:csindorf
ID: 2781480
main program:  names has changed a bit in this version.

but you will see the declarations in question. line 109:  it is that item my .lib need access to to make it work.  the .lib works if I just code in return 1  or return 0  but if it as to get to the external item it bombs.  

1:    //**************************************************************************
2:    //  c:\quest\arnco\arnco.c generated  Friday, May 5, 2000, at 12:11 PM
3:    //**************************************************************************
4:    
5:    //INCLUDES//
6:    #include "imt24lib.h"
7:    #include "imstdio.h"
8:    #include "imscreen.h"
9:    #include "string.h"
10:   #include "conio.h"
11:   #include "c:\quest\arnco\arnco.h"
12:   #include <ctype.h>
13:   #include <stdlib.h>
14:   #include "h_arnco.h"
15:    
16:   //EXTERNS//
17:   extern ENVIRON IMCcgenv;
18:   extern void IMCScreenMach();
19:   extern void IMCinitcgenv();
20:   extern IM_BOOL    gfInsert;
21:  
22:   // Some common buffers and pointers
23:   char IMCtrxBuffer[1024], IMCrcxBuffer[1024]; //transaction working buffers
24:   char IMCscratchBuffer[1024];              //work area for batching buffer
25:   char IMCTmp1[256], IMCTmp2[256];      //Temporary working buffers
26:   char IMCSysDate[16], IMCSysTime[16];      //Temporary working system buffers
27:   char *IMPSz;                          //Pointer for string manipulation
28:   IM_BOOL IMgbPrefixFound ;  //Temp identify prefix in this input string
29:   int  IMgiPrefixLength ; //Temp identify length of found prefix
30:   int  IMgiTmp          ; //Temp general purpose to avoid creating in several funct
31:   int  IMgiStatusLine   ; //Keeps track what line we do status on this screen.
32:   int  IMgiStatusTime=10000   ; //Keeps track what how long status is on this screen.
33:   IM_USHORT IMGiRow, IMGiCol   ; //Temporary holder of cursor position in message cleanup.
34:   IM_ORIGIN IMgiTmpOrigin   ; //Temporary holder of origin
35:   IM_STATUS IMgiStatus     ; //Global temporary status variable.
36:   FILE *IMHandle;          ; //Temp handle for user functions
37:  
38:   //Time and date format tables
39:   char * IMCszDatePict[]={
40:       "MM/DD/YY",   //0-
41:       "MM.DD.YY",   //1-
42:       "MMDDYY",   //2-
43:       "MM-DD-YY",   //3-
44:       "MM DD YY",   //4-
45:       "MMDDYYYY",   //5-
46:       "MM.DD.YYYY",   //6-
47:       "MM/DD/YYYY",   //7-
48:       "MM-DD-YYYY",   //8-
49:       "MM DD YYYY",   //9-
50:       "DDMMYY",   //10-
51:       "DD.MM.YY",   //11-
52:       "DD/MM/YY",   //12-
53:       "DD-MM-YY",   //13-
54:       "DD MM YY",   //14-
55:       "DDMMYYYY",   //15-
56:       "DD.MM.YYYY",   //16-
57:       "DD/MM/YYYY",   //17-
58:       "DD-MM-YYYY",   //18-
59:       "DD MM YYYY",   //19-
60:       "YYMMDD",   //20-
61:       "YY.MM.DD",   //21-
62:       "YY/MM/DD",   //22-
63:       "YY-MM-DD",   //23-
64:       "YY MM DD",   //24-
65:       "YYYYMMDD",   //25-
66:       "YYYY.MM.DD",   //26-
67:       "YYYY/MM/DD",   //27-
68:       "YYYY-MM-DD",   //28-
69:       "YYYY MM DD",   //29-
70:       NULL};
71:  
72:   char * IMCszTimePict[]={
73:       "HH:MM",   //0-
74:       "HHMMSS",   //1-
75:       "HH.MM",   //2-
76:       "HH.MM.SS",   //3-
77:       "HHMM",   //4-
78:       "HH:MM:SS",   //5-
79:       "HH MM",   //6-
80:       "HH MM SS",   //7-
81:       NULL};
82:  
83:   //Standard codes for box line types
84:   char szSingleLine[]={"1"};
85:   char szDoubleLine[]={"2"};
86:   char szBlockLine[] ={"3"};
87:   char szHvyBlockLine[]={"4"};
88:  
89:   TIM_FILE_HANDLE UF_c_crews_val;
90:   TIM_FILE_HANDLE UF_c_lotno_txt;
91:   TIM_FILE_HANDLE UF_c_nonlotno_txt;
92:   TIM_FILE_HANDLE UF_c_physical_txt;
93:   TIM_FILE_HANDLE UF_c_test_txt;
94:   TIM_FILE_HANDLE UF_E_DEFBATCH_STB;
95:  
96:  
97:  
98:   static char CrewOn_CrewNumber_F[CREWON_CREWNUMBER_FL +1];  //
99:   static char CrewOn_HdnCrwNo_F[CREWON_HDNCRWNO_FL +1];  //
100:  static char CrewOn_empty_F[CREWON_EMPTY_FL +1];  //
101:  static char CrewOn_AuditCode_F[CREWON_AUDITCODE_FL +1];  //
102:  
103:  char CrewOn_Label0_L[] = "Arnco";
104:  char CrewOn_Label1_L[] = "Crew Sign-on";
105:  char CrewOn_Label2_L[] = "Scan/Enter Crew #:";
106:  char CrewOn_Label3_L[] = "Press ESC to Cancel";
107:  
108:  
109:  static char ExtrusLotNo_TagNumber_F[EXTRUSLOTNO_TAGNUMBER_FL +1];  //
110:  static char ExtrusLotNo_ItemNumber_F[EXTRUSLOTNO_ITEMNUMBER_FL +1];  //
111:  static char ExtrusLotNo_Location_F[EXTRUSLOTNO_LOCATION_FL +1];  //
112:  static char ExtrusLotNo_Quantity_F[EXTRUSLOTNO_QUANTITY_FL +1];  //
113:  static char ExtrusLotNo_Lot_F[EXTRUSLOTNO_LOT_FL +1];  //
114:  
115:  char ExtrusLotNo_Label0_L[] = "Arnco";
116:  char ExtrusLotNo_Label1_L[] = "Extrusion";
117:  char ExtrusLotNo_Label2_L[] = "Scan Tag #:";
118:  char ExtrusLotNo_Label3_L[] = "Scan Part #:";
119:  char ExtrusLotNo_Label4_L[] = "Scan Loc:";
120:  char ExtrusLotNo_Label5_L[] = "Enter Qty #:";
121:  char ExtrusLotNo_Label6_L[] = "Scan Lot/Run Code:";
122:  char ExtrusLotNo_Label7_L[] = "Press ESC to Cancel";
123:  
124:  
125:  static char CrewOff_empty_F[CREWOFF_EMPTY_FL +1];  //
126:  static char CrewOff_SignOffField_F[CREWOFF_SIGNOFFFIELD_FL +1];  //
127:  
128:  char CrewOff_Label0_L[] = "Arnco";
129:  char CrewOff_Label1_L[] = "Crew Sign-off";
130:  char CrewOff_Label2_L[] = "Press Enter to";
131:  char CrewOff_Label3_L[] = "Press ESC to Cancel";
132:  char CrewOff_Label4_L[] = "remove Crew #";
133:  char CrewOff_Label5_L[] = "You will be taken";
134:  char CrewOff_Label6_L[] = "back to main screen";
135:  char CrewOff_Label7_L[] = "automatically.";
136:  
137:  
138:  static char ExtrusNonLot_TagNumber_F[EXTRUSNONLOT_TAGNUMBER_FL +1];  //
139:  static char ExtrusNonLot_ItemNumber_F[EXTRUSNONLOT_ITEMNUMBER_FL +1];  //
140:  static char ExtrusNonLot_Location_F[EXTRUSNONLOT_LOCATION_FL +1];  //
141:  static char ExtrusNonLot_Quantity_F[EXTRUSNONLOT_QUANTITY_FL +1];  //
142:  static char ExtrusNonLot_Lot_F[EXTRUSNONLOT_LOT_FL +1];  //
143:  
144:  char ExtrusNonLot_Label0_L[] = "Arnco";
145:  char ExtrusNonLot_Label1_L[] = "Physical Non Lot #";
146:  char ExtrusNonLot_Label2_L[] = "Scan Tag #:";
147:  char ExtrusNonLot_Label3_L[] = "Scan Part #:";
148:  char ExtrusNonLot_Label4_L[] = "Scan Loc:";
149:  char ExtrusNonLot_Label5_L[] = "Enter Qty #:";
150:  char ExtrusNonLot_Label6_L[] = "Scan Lot/Run Code:";
151:  char ExtrusNonLot_Label7_L[] = "Press ESC to Cancel";
152:  
153:  
154:  static char UpLoadData_Field0_F[UPLOADDATA_FIELD0_FL +1];  //
155:  
156:  char UpLoadData_Label0_L[] = "Arnco";
157:  char UpLoadData_Label1_L[] = "UPLOAD DATA";
158:  char UpLoadData_Label2_L[] = "INSERT THE UNIT INTO";
159:  char UpLoadData_Label3_L[] = "THE DOCKING STATION";
160:  char UpLoadData_Label4_L[] = "AND RUN UPLOAD IN";
161:  char UpLoadData_Label5_L[] = "FILECOPY UTILITY";
162:  char UpLoadData_Label6_L[] = "ON PC";
163:  char UpLoadData_Label7_L[] = "PRESS ENTER WHEN";
164:  char UpLoadData_Label8_L[] = "COMPLETE";
165:  
166:  
167:  
168:  char Main_Label0_L[] = "Arnco Main Menu";
169:  
170:  
171:  
172:  
173:  
174:  
175:  
176:  
177:  
178:  
179:  
180:  
181:  
182:  
183:  
184:  
185:  
186:  
187:  
188:  
189:  
190:  
191:  
192:  
193:  
194:  
195:  
196:  
197:  
198:  
199:  
200:  
201:  
202:  
203:  
204:  
205:  
206:  
207:  
208:  
209:  
210:  
211:  
212:  
213:  
214:  
215:  
216:  
217:  
218:  
219:  
220:  
221:  
222:  
223:  
224:  
225:  // Field definition table for screen CrewOn
226:  TFIELDS CrewOn_FLD[]={
227:  4, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL,
228:  
229:  OFDATA,CrewOn_CrewNumber_F,IM_NORMAL,6, 5, 7, 0,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "", 0,0,//Continued
230:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_UPCASE|IM_RETURN_ON_FULL,//Field control flags
231:      S003F000Key,S003F000OnEntry,S003F000OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
232:  NULL,
233:  
234:  OFDATA,CrewOn_HdnCrwNo_F,IM_NORMAL,8, 5, 7, 0,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "", 0,0,//Continued
235:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL|IM_NO_DISPLAY,//Field control flags
236:      S003F001Key,S003F001OnEntry,S003F001OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
237:  NULL,
238:  
239:  OFDATA,CrewOn_empty_F,IM_NORMAL,8, 5, 0, 0,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "", 0,0,//Continued
240:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
241:      S003F002Key,S003F002OnEntry,S003F002OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
242:  NULL,
243:  
244:  OFDATA,CrewOn_AuditCode_F,IM_NORMAL,10, 5, 7, 0,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "", 0,0,//Continued
245:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL|IM_NO_DISPLAY,//Field control flags
246:      S003F003Key,S003F003OnEntry,S003F003OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
247:  NULL,
248:  0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL
249:  }; // end of field table for screen CrewOn
250:  
251:  // Display only definition table for screen CrewOn
252:  TLABELS CrewOn_LAB[]={
253:  4, NULL, 0, 0, 0, 20, 0,
254:  OTTEXT,  CrewOn_Label0_L,IM_NORMAL,1, 6, 5, 0, //LabelCrewOn_Label0
255:  OTTEXT,  CrewOn_Label1_L,IM_NORMAL,2, 2, 12, 0, //LabelCrewOn_Label1
256:  OTTEXT,  CrewOn_Label2_L,IM_NORMAL,4, 0, 18, 0, //LabelCrewOn_Label2
257:  OTTEXT,  CrewOn_Label3_L,IM_NORMAL,13, 0, 19, 0, //LabelCrewOn_Label3
258:  0, NULL, 0, 0, 0, 0, 0
259:  }; // end of display only table for screen CrewOn
260:  
261:  // Field definition table for screen ExtrusLotNo
262:  TFIELDS ExtrusLotNo_FLD[]={
263:  5, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL,
264:  
265:  OFDATA,ExtrusLotNo_TagNumber_F,IM_NORMAL,3, 11, 6, 0,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "", 0,0,//Continued
266:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_UPCASE|IM_RETURN_ON_FULL,//Field control flags
267:      S004F000Key,S004F000OnEntry,S004F000OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
268:  NULL,
269:  
270:  OFDATA,ExtrusLotNo_ItemNumber_F,IM_NORMAL,5, 3, 15, 15,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "N-NNNNNNNNNNNNN", 0,0,//Continued
271:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
272:      S004F001Key,S004F001OnEntry,S004F001OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
273:  NULL,
274:  
275:  OFDATA,ExtrusLotNo_Location_F,IM_NORMAL,8, 9, 9, 9,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "NN NNNNNN", 0,0,//Continued
276:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
277:      S004F002Key,S004F002OnEntry,S004F002OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
278:  NULL,
279:  
280:  OFDATA,ExtrusLotNo_Quantity_F,IM_NORMAL,10, 8, 10, 0,IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_NUMERIC, NULL, 0, 0,//Continued
281:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
282:      S004F003Key,S004F003OnEntry,S004F003OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
283:  NULL,
284:  
285:  OFDATA,ExtrusLotNo_Lot_F,IM_NORMAL,12, 0, 20, 20,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "NN-NNNNNNNNNNNNNNNNN", 0,0,//Continued
286:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
287:      S004F004Key,S004F004OnEntry,S004F004OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
288:  NULL,
289:  0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL
290:  }; // end of field table for screen ExtrusLotNo
291:  
292:  // Display only definition table for screen ExtrusLotNo
293:  TLABELS ExtrusLotNo_LAB[]={
294:  8, NULL, 0, 0, 0, 20, 0,
295:  OTTEXT,  ExtrusLotNo_Label0_L,IM_NORMAL,0, 7, 5, 0, //LabelExtrusLotNo_Label0
296:  OTTEXT,  ExtrusLotNo_Label1_L,IM_NORMAL,1, 5, 9, 0, //LabelExtrusLotNo_Label1
297:  OTTEXT,  ExtrusLotNo_Label2_L,IM_NORMAL,3, 0, 11, 0, //LabelExtrusLotNo_Label2
298:  OTTEXT,  ExtrusLotNo_Label3_L,IM_NORMAL,4, 0, 12, 0, //LabelExtrusLotNo_Label3
299:  OTTEXT,  ExtrusLotNo_Label4_L,IM_NORMAL,8, 0, 9, 0, //LabelExtrusLotNo_Label4
300:  OTTEXT,  ExtrusLotNo_Label5_L,IM_NORMAL,9, 0, 12, 0, //LabelExtrusLotNo_Label5
301:  OTTEXT,  ExtrusLotNo_Label6_L,IM_NORMAL,11, 0, 18, 0, //LabelExtrusLotNo_Label6
302:  OTTEXT,  ExtrusLotNo_Label7_L,IM_NORMAL,14, 0, 19, 0, //LabelExtrusLotNo_Label7
303:  0, NULL, 0, 0, 0, 0, 0
304:  }; // end of display only table for screen ExtrusLotNo
305:  
306:  // Field definition table for screen CrewOff
307:  TFIELDS CrewOff_FLD[]={
308:  5, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL,
309:  OFEMPTY, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL,//Deleted Field
310:  OFEMPTY, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL,//Deleted Field
311:  
312:  OFDATA,CrewOff_empty_F,IM_NORMAL,8, 5, 0, 0,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "", 0,0,//Continued
313:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
314:      S005F002Key,S005F002OnEntry,S005F002OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
315:  NULL,
316:  OFEMPTY, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL,//Deleted Field
317:  
318:  OFDATA,CrewOff_SignOffField_F,IM_NORMAL,5, 14, 1, 0,IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "", 0,0,//Continued
319:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
320:      S005F004Key,S005F004OnEntry,S005F004OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
321:  NULL,
322:  0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL
323:  }; // end of field table for screen CrewOff
324:  
325:  // Display only definition table for screen CrewOff
326:  TLABELS CrewOff_LAB[]={
327:  8, NULL, 0, 0, 0, 20, 0,
328:  OTTEXT,  CrewOff_Label0_L,IM_NORMAL,1, 6, 5, 0, //LabelCrewOff_Label0
329:  OTTEXT,  CrewOff_Label1_L,IM_NORMAL,2, 2, 13, 0, //LabelCrewOff_Label1
330:  OTTEXT,  CrewOff_Label2_L,IM_NORMAL,4, 0, 14, 0, //LabelCrewOff_Label2
331:  OTTEXT,  CrewOff_Label3_L,IM_NORMAL,13, 0, 19, 0, //LabelCrewOff_Label3
332:  OTTEXT,  CrewOff_Label4_L,IM_NORMAL,5, 0, 13, 0, //LabelCrewOff_Label4
333:  OTTEXT,  CrewOff_Label5_L,IM_NORMAL,9, 0, 17, 0, //LabelCrewOff_Label5
334:  OTTEXT,  CrewOff_Label6_L,IM_NORMAL,10, 0, 19, 0, //LabelCrewOff_Label6
335:  OTTEXT,  CrewOff_Label7_L,IM_NORMAL,11, 0, 14, 0, //LabelCrewOff_Label7
336:  0, NULL, 0, 0, 0, 0, 0
337:  }; // end of display only table for screen CrewOff
338:  
339:  // Field definition table for screen ExtrusNonLot
340:  TFIELDS ExtrusNonLot_FLD[]={
341:  5, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL,
342:  
343:  OFDATA,ExtrusNonLot_TagNumber_F,IM_NORMAL,3, 11, 6, 6,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "", 0,0,//Continued
344:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_UPCASE|IM_RETURN_ON_FULL,//Field control flags
345:      S007F000Key,S007F000OnEntry,S007F000OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
346:  NULL,
347:  
348:  OFDATA,ExtrusNonLot_ItemNumber_F,IM_NORMAL,5, 3, 15, 15,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "n-nnnnnnnnnnnnn", 0,0,//Continued
349:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
350:      S007F001Key,S007F001OnEntry,S007F001OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
351:  NULL,
352:  
353:  OFDATA,ExtrusNonLot_Location_F,IM_NORMAL,8, 9, 9, 9,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "NN NNNNNN", 0,0,//Continued
354:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
355:      S007F002Key,S007F002OnEntry,S007F002OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
356:  NULL,
357:  
358:  OFDATA,ExtrusNonLot_Quantity_F,IM_NORMAL,10, 8, 10, 0,IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_NUMERIC, NULL, 0, 0,//Continued
359:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
360:      S007F003Key,S007F003OnEntry,S007F003OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
361:  NULL,
362:  
363:  OFDATA,ExtrusNonLot_Lot_F,IM_NORMAL,12, 0, 20, 0,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "NN-NNNNNNNNNNNNNNNNN", 0,0,//Continued
364:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
365:      S007F004Key,S007F004OnEntry,S007F004OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
366:  NULL,
367:  0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL
368:  }; // end of field table for screen ExtrusNonLot
369:  
370:  // Display only definition table for screen ExtrusNonLot
371:  TLABELS ExtrusNonLot_LAB[]={
372:  8, NULL, 0, 0, 0, 20, 0,
373:  OTTEXT,  ExtrusNonLot_Label0_L,IM_NORMAL,0, 7, 5, 0, //LabelExtrusNonLot_Label0
374:  OTTEXT,  ExtrusNonLot_Label1_L,IM_NORMAL,1, 0, 18, 0, //LabelExtrusNonLot_Label1
375:  OTTEXT,  ExtrusNonLot_Label2_L,IM_NORMAL,3, 0, 11, 0, //LabelExtrusNonLot_Label2
376:  OTTEXT,  ExtrusNonLot_Label3_L,IM_NORMAL,4, 0, 12, 0, //LabelExtrusNonLot_Label3
377:  OTTEXT,  ExtrusNonLot_Label4_L,IM_NORMAL,8, 0, 9, 0, //LabelExtrusNonLot_Label4
378:  OTTEXT,  ExtrusNonLot_Label5_L,IM_NORMAL,9, 0, 12, 0, //LabelExtrusNonLot_Label5
379:  OTTEXT,  ExtrusNonLot_Label6_L,IM_NORMAL,11, 0, 18, 0, //LabelExtrusNonLot_Label6
380:  OTTEXT,  ExtrusNonLot_Label7_L,IM_NORMAL,14, 0, 19, 0, //LabelExtrusNonLot_Label7
381:  0, NULL, 0, 0, 0, 0, 0
382:  }; // end of display only table for screen ExtrusNonLot
383:  
384:  // Field definition table for screen UpLoadData
385:  TFIELDS UpLoadData_FLD[]={
386:  2, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL,
387:  OFEMPTY, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL,//Deleted Field
388:  
389:  OFDATA,UpLoadData_Field0_F,IM_NORMAL,14, 9, 1, 0,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "", 0,0,//Continued
390:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
391:      S009F001Key,S009F001OnEntry,S009F001OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
392:  NULL,
393:  0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL
394:  }; // end of field table for screen UpLoadData
395:  
396:  // Display only definition table for screen UpLoadData
397:  TLABELS UpLoadData_LAB[]={
398:  10, NULL, 0, 0, 0, 20, 0,
399:  OTTEXT,  UpLoadData_Label0_L,IM_NORMAL,0, 6, 5, 0, //LabelUpLoadData_Label0
400:  OTEMPTY, NULL, 0, 0, 0, 0, 0,//Deleted display object
401:  OTTEXT,  UpLoadData_Label1_L,IM_NORMAL,1, 4, 11, 0, //LabelUpLoadData_Label1
402:  OTTEXT,  UpLoadData_Label2_L,IM_NORMAL,3, 0, 20, 0, //LabelUpLoadData_Label2
403:  OTTEXT,  UpLoadData_Label3_L,IM_NORMAL,5, 0, 19, 0, //LabelUpLoadData_Label3
404:  OTTEXT,  UpLoadData_Label4_L,IM_NORMAL,7, 1, 17, 0, //LabelUpLoadData_Label4
405:  OTTEXT,  UpLoadData_Label5_L,IM_NORMAL,9, 1, 16, 0, //LabelUpLoadData_Label5
406:  OTTEXT,  UpLoadData_Label6_L,IM_NORMAL,11, 6, 5, 0, //LabelUpLoadData_Label6
407:  OTTEXT,  UpLoadData_Label7_L,IM_NORMAL,13, 2, 16, 0, //LabelUpLoadData_Label7
408:  OTTEXT,  UpLoadData_Label8_L,IM_NORMAL,15, 5, 8, 0, //LabelUpLoadData_Label8
409:  0, NULL, 0, 0, 0, 0, 0
410:  }; // end of display only table for screen UpLoadData
411:  
412:  // Menu Item definition table for Menu Main
413:  TMENUITEMS Main_FLD[]={
414:  6, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0,
415:  OFMENU,  "F1: Crew Sign-on",IM_NORMAL,3, 1, 16, 0,  IM_KEYBOARD_SELECT | IM_LABEL_SELECT, 0,1,4, MIA_CALL, NULL, "",0,  F1, //Menu Item Main_CrewSignOn
416:  OFMENU,  "F2: Crew Sign-off",IM_NORMAL,5, 1, 17, 0,  IM_KEYBOARD_SELECT | IM_LABEL_SELECT, 0,5,6, MIA_CALL, NULL, "",0,  F2, //Menu Item Main_CrewSignOff
417:  OFMENU,  "F3: Extrusion",IM_NORMAL,7, 1, 13, 0,  IM_KEYBOARD_SELECT | IM_LABEL_SELECT, 0,1, 5, MIA_CALL, NULL, "",0,  F3, //Menu Item Main_MenuItem0
418:  OFMENU,  "F4: Non Extrusion",IM_NORMAL,9, 1, 17, 0,  IM_KEYBOARD_SELECT | IM_LABEL_SELECT, 0,1, 8, MIA_CALL, NULL, "",0,  F4, //Menu Item Main_MenuItem1
419:  OFMENU,  "F5: Upload Data",IM_NORMAL,11, 1, 15, 0,  IM_KEYBOARD_SELECT | IM_LABEL_SELECT, 0,1, 10, MIA_CALL, NULL, "",0,  F5, //Menu Item Main_MenuItem2
420:  OFDATA, IMCTmp1, IM_NORMAL, 16, 0, 15, 0, IM_KEYBOARD_SELECT | IM_LABEL_SELECT,
421:  0, 0, 0, 0, NULL, NULL, 0, 0,
422:  0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL,0,0
423:  }; // end of Menu Item table for screen Main
424:  
425:  // Display only definition table for screen Main
426:  TLABELS Main_LAB[]={
427:  1, NULL, 0, 0, 0, 20, 0,
428:  OTTEXT,  Main_Label0_L,IM_NORMAL,1, 3, 15, 0, //LabelMain_Label0
429:  0, NULL, 0, 0, 0, 0, 0
430:  }; // end of display only table for screen Main
431:  
432:  //  Transaction SignOn Field Table
433:  TTRNFLDS SignOn_TFLD[]={
434:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
435:  STRG_TRXFLD, 1, 4, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 7, 0,
436:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
437:  }; // end of transaction field table for SignOn
438:  
439:  //  Transaction SignOn Table
440:  TTRANSACTIONS SignOn_TRN[]={
441:  SignOn_TFLD, TXD_OUTPUT, TXD_FIELD, CrewOn_HdnCrwNo_F,7, 60000, 2, 4, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
442:  }; // end of transaction table for SignOn
443:  
444:  //  Transaction SignOff Field Table
445:  TTRNFLDS SignOff_TFLD[]={
446:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
447:  STRG_TRXFLD, 3, 4, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
448:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
449:  }; // end of transaction field table for SignOff
450:  
451:  //  Transaction SignOff Table
452:  TTRANSACTIONS SignOff_TRN[]={
453:  SignOff_TFLD, TXD_OUTPUT, TXD_FIELD, CrewOn_HdnCrwNo_F,7, 60000, 2, 4, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
454:  }; // end of transaction table for SignOff
455:  
456:  //  Transaction CrewErr Field Table
457:  TTRNFLDS CrewErr_TFLD[]={
458:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
459:  STRG_TRXFLD, 3, 4, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
460:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
461:  }; // end of transaction field table for CrewErr
462:  
463:  //  Transaction CrewErr Table
464:  TTRANSACTIONS CrewErr_TRN[]={
465:  CrewErr_TFLD, TXD_OUTPUT, TXD_FIELD, CrewOn_CrewNumber_F,7, 60000, 1, 4, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
466:  }; // end of transaction table for CrewErr
467:  
468:  //  Transaction writelotno Field Table
469:  TTRNFLDS writelotno_TFLD[]={
470:  8,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
471:  STRG_TRXFLD, 2, 4, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 7, 0,
472:  STRG_TRXFLD, 1, 5, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 6, 0,
473:  STRG_TRXFLD, 2, 5, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 15, 0,
474:  STRG_TRXFLD, 3, 5, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 9, 0,
475:  STRG_TRXFLD, 4, 5, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 10, 0,
476:  STRG_TRXFLD, 5, 5, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 20, 0,
477:  DATE_TRXFLD, 0, 0, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 10, 2,
478:  TIME_TRXFLD, 0, 0, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 8, 1,
479:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
480:  }; // end of transaction field table for writelotno
481:  
482:  //  Transaction writelotno Table
483:  TTRANSACTIONS writelotno_TRN[]={
484:  writelotno_TFLD, TXD_OUTPUT, TXD_FILE, &UF_c_physical_txt, 1,60000,  0, 0, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
485:  }; // end of transaction table for writelotno
486:  
487:  //  Transaction TagErr Field Table
488:  TTRNFLDS TagErr_TFLD[]={
489:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
490:  STRG_TRXFLD, 3, 4, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
491:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
492:  }; // end of transaction field table for TagErr
493:  
494:  //  Transaction TagErr Table
495:  TTRANSACTIONS TagErr_TRN[]={
496:  TagErr_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusLotNo_TagNumber_F,6, 60000, 1, 5, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
497:  }; // end of transaction table for TagErr
498:  
499:  //  Transaction clearfields Field Table
500:  TTRNFLDS clearfields_TFLD[]={
501:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
502:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
503:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
504:  }; // end of transaction field table for clearfields
505:  
506:  //  Transaction clearfields Table
507:  TTRANSACTIONS clearfields_TRN[]={
508:  clearfields_TFLD, TXD_OUTPUT, TXD_FIELD, CrewOn_AuditCode_F,7, 60000, 4, 4, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
509:  }; // end of transaction table for clearfields
510:  
511:  //  Transaction clrextrustagno Field Table
512:  TTRNFLDS clrextrustagno_TFLD[]={
513:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
514:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
515:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
516:  }; // end of transaction field table for clrextrustagno
517:  
518:  //  Transaction clrextrustagno Table
519:  TTRANSACTIONS clrextrustagno_TRN[]={
520:  clrextrustagno_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusLotNo_TagNumber_F,6, 60000, 1, 5, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
521:  }; // end of transaction table for clrextrustagno
522:  
523:  //  Transaction clrextruspartno Field Table
524:  TTRNFLDS clrextruspartno_TFLD[]={
525:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
526:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
527:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
528:  }; // end of transaction field table for clrextruspartno
529:  
530:  //  Transaction clrextruspartno Table
531:  TTRANSACTIONS clrextruspartno_TRN[]={
532:  clrextruspartno_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusLotNo_ItemNumber_F,15, 60000, 2, 5, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
533:  }; // end of transaction table for clrextruspartno
534:  
535:  //  Transaction clrextruslocat Field Table
536:  TTRNFLDS clrextruslocat_TFLD[]={
537:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
538:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
539:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
540:  }; // end of transaction field table for clrextruslocat
541:  
542:  //  Transaction clrextruslocat Table
543:  TTRANSACTIONS clrextruslocat_TRN[]={
544:  clrextruslocat_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusLotNo_Location_F,9, 60000, 3, 5, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
545:  }; // end of transaction table for clrextruslocat
546:  
547:  //  Transaction clrextrusqty Field Table
548:  TTRNFLDS clrextrusqty_TFLD[]={
549:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
550:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
551:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
552:  }; // end of transaction field table for clrextrusqty
553:  
554:  //  Transaction clrextrusqty Table
555:  TTRANSACTIONS clrextrusqty_TRN[]={
556:  clrextrusqty_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusLotNo_Quantity_F,10, 60000, 4, 5, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
557:  }; // end of transaction table for clrextrusqty
558:  
559:  //  Transaction clrextruslotno Field Table
560:  TTRNFLDS clrextruslotno_TFLD[]={
561:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
562:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
563:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
564:  }; // end of transaction field table for clrextruslotno
565:  
566:  //  Transaction clrextruslotno Table
567:  TTRANSACTIONS clrextruslotno_TRN[]={
568:  clrextruslotno_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusLotNo_Lot_F,20, 60000, 5, 5, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
569:  }; // end of transaction table for clrextruslotno
570:  
571:  //  Transaction clrnonlottag Field Table
572:  TTRNFLDS clrnonlottag_TFLD[]={
573:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
574:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
575:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
576:  }; // end of transaction field table for clrnonlottag
577:  
578:  //  Transaction clrnonlottag Table
579:  TTRANSACTIONS clrnonlottag_TRN[]={
580:  clrnonlottag_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusNonLot_TagNumber_F,6, 60000, 1, 8, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
581:  }; // end of transaction table for clrnonlottag
582:  
583:  //  Transaction clrnonlotpart Field Table
584:  TTRNFLDS clrnonlotpart_TFLD[]={
585:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
586:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
587:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
588:  }; // end of transaction field table for clrnonlotpart
589:  
590:  //  Transaction clrnonlotpart Table
591:  TTRANSACTIONS clrnonlotpart_TRN[]={
592:  clrnonlotpart_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusNonLot_ItemNumber_F,15, 60000, 2, 8, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
593:  }; // end of transaction table for clrnonlotpart
594:  
595:  //  Transaction writenonlotno Field Table
596:  TTRNFLDS writenonlotno_TFLD[]={
597:  8,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
598:  STRG_TRXFLD, 2, 4, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 7, 0,
599:  STRG_TRXFLD, 1, 8, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 6, 0,
600:  STRG_TRXFLD, 2, 8, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 15, 0,
601:  STRG_TRXFLD, 3, 8, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 9, 0,
602:  STRG_TRXFLD, 4, 8, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 10, 0,
603:  STRG_TRXFLD, 5, 8, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 20, 0,
604:  DATE_TRXFLD, 0, 0, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 10, 2,
605:  TIME_TRXFLD, 0, 0, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 8, 1,
606:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
607:  }; // end of transaction field table for writenonlotno
608:  
609:  //  Transaction writenonlotno Table
610:  TTRANSACTIONS writenonlotno_TRN[]={
611:  writenonlotno_TFLD, TXD_OUTPUT, TXD_FILE, &UF_c_physical_txt, 1,60000,  0, 0, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
612:  }; // end of transaction table for writenonlotno
613:  
614:  //  Transaction clearfields2 Field Table
615:  TTRNFLDS clearfields2_TFLD[]={
616:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
617:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
618:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
619:  }; // end of transaction field table for clearfields2
620:  
621:  //  Transaction clearfields2 Table
622:  TTRANSACTIONS clearfields2_TRN[]={
623:  clearfields2_TFLD, TXD_OUTPUT, TXD_FIELD, CrewOn_AuditCode_F,7, 60000, 4, 4, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
624:  }; // end of transaction table for clearfields2
625:  
626:  //  Transaction clrnonlotloc Field Table
627:  TTRNFLDS clrnonlotloc_TFLD[]={
628:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
629:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
630:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
631:  }; // end of transaction field table for clrnonlotloc
632:  
633:  //  Transaction clrnonlotloc Table
634:  TTRANSACTIONS clrnonlotloc_TRN[]={
635:  clrnonlotloc_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusNonLot_Location_F,9, 60000, 3, 8, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
636:  }; // end of transaction table for clrnonlotloc
637:  
638:  //  Transaction clrnonlotqty Field Table
639:  TTRNFLDS clrnonlotqty_TFLD[]={
640:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
641:  STRG_TRXFLD, 3, 4, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
642:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
643:  }; // end of transaction field table for clrnonlotqty
644:  
645:  //  Transaction clrnonlotqty Table
646:  TTRANSACTIONS clrnonlotqty_TRN[]={
647:  clrnonlotqty_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusNonLot_Quantity_F,10, 60000, 4, 8, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
648:  }; // end of transaction table for clrnonlotqty
649:  
650:  //  Transaction clrnonlotlotcode Field Table
651:  TTRNFLDS clrnonlotlotcode_TFLD[]={
652:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
653:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
654:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
655:  }; // end of transaction field table for clrnonlotlotcode
656:  
657:  //  Transaction clrnonlotlotcode Table
658:  TTRANSACTIONS clrnonlotlotcode_TRN[]={
659:  clrnonlotlotcode_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusNonLot_Lot_F,20, 60000, 5, 8, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
660:  }; // end of transaction table for clrnonlotlotcode
661:  
662:  //TOP LEVEL TABLE POINTING TO ALL SCREENS//
663:  TSCREENS IMCallscreen_SCR[]={
664:  11,  0,   0,   0,   0, NULL, NULL, NULL, NULL, 0, 0, 0, //count line
665:  OSEMPTY,  0,   0,   0,   0, NULL, NULL, NULL, NULL, 0, 0, 0, //deleted object
666:  OSEMPTY,  0,   0,   0,   0, NULL, NULL, NULL, NULL, 0, 0, 0, //deleted object
667:  OSEMPTY,  0,   0,   0,   0, NULL, NULL, NULL, NULL, 0, 0, 0, //deleted object
668:  OSDATA,0,IM_STANDARD_CHAR_HEIGHT, //continued on next line
669:           1,4,CrewOn_FLD,CrewOn_LAB,s003OnEntry,s003OnExit,0,0,0,
670:  OSDATA,0,IM_STANDARD_CHAR_HEIGHT, //continued on next line
671:           1,5,ExtrusLotNo_FLD,ExtrusLotNo_LAB,s004OnEntry,s004OnExit,0,0,0,
672:  OSDATA,0,IM_STANDARD_CHAR_HEIGHT, //continued on next line
673:           5,5,CrewOff_FLD,CrewOff_LAB,s005OnEntry,s005OnExit,0,0,0,
674:  OSEMPTY,  0,   0,   0,   0, NULL, NULL, NULL, NULL, 0, 0, 0, //deleted object
675:  OSDATA,0,IM_STANDARD_CHAR_HEIGHT, //continued on next line
676:           1,5,ExtrusNonLot_FLD,ExtrusNonLot_LAB,s007OnEntry,s007OnExit,0,0,0,
677:  OSEMPTY,  0,   0,   0,   0, NULL, NULL, NULL, NULL, 0, 0, 0, //deleted object
678:  OSDATA,0,IM_STANDARD_CHAR_HEIGHT, //continued on next line
679:           2,2,UpLoadData_FLD,UpLoadData_LAB,s009OnEntry,s009OnExit,0,0,0,
680:  OSMENU,0 |MSE_HOTKEYENABLE,S20BY16,1,6 ,Main_FLD,Main_LAB, NULL, NULL, IM_BOLD | IM_INVERSE, 0, 0,
681:  0,  0,   0,   0,   0, NULL, NULL, NULL, NULL, 0, 0, 0,  //terminator line
682:  }; //end of allscreen_SCR table
683:  
684:  
685:  // Entry function for Application arnco
686:  void A000OnEntry()
687:  {
688:  int iLocStatus=0, lFlags=0 ;
689:     IMCcgenv.iNextMove = ENV_INM_INIT; //force to start with incase not gened
690:     if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
691:     IMCcgenv.iNext.iSF.iScrNum =11;
692:     IMCcgenv.iNext.iSF.iFldNum = 1;
693:     IMCcgenv.iNextMove = ENV_INM_CALL;
694:    }//End of default if none set section
695:  };
696:  
697:  
698:  // Exit function for Application arnco
699:  void A000OnExit()
700:  {
701:  int iLocStatus=0, lFlags=0 ;
702:  };
703:  
704:  
705:  // Entry function for Screen CrewOn
706:  void s003OnEntry()
707:  {
708:  int iLocStatus=0, lFlags=0 ;
709:  IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
710:  IMgiStatusLine = 50; // set status line this screen
711:     IMgiStatusTime = 20000;//Time to display message
712:   };
713:  
714:  // Exit function for Screen CrewOn
715:  void s003OnExit()
716:  {
717:  int iLocStatus=0, lFlags=0 ;
718:   };
719:  
720:  // Entry function for Field CrewOn.CrewNumber
721:  void S003F000OnEntry()
722:  {
723:  int iLocStatus=0, lFlags=0 ;
724:     IMgiStatus = IM_SUCCESS;
725:  gfInsert =IM_FALSE;  //turn on overstrike
726:  };
727:  
728:  // Exit function for Field CrewOn.CrewNumber
729:  void S003F000OnExit()
730:  {
731:  int iFlags;
732:     IMgiStatus = S003F000KeyInExit( &iFlags );    
733:     if (IMgiStatus == IM_SUCCESS )                      
734:     {                                                
735:        IMgiStatus = S003F000EValidate( &iFlags);  
736:        if ( IMgiStatus == IM_SUCCESS )                  
737:          S003F000ESuccess( iFlags);            
738:        else                                          
739:          S003F000EFail( iFlags);              
740:     }                                                
741:  };
742:  
743:  // Key Actions function for Field CrewOn.CrewNumber
744:  void S003F000Key( )
745:  {
746:  IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
747:  IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
748:     switch ( IMCcgenv.iFldKeyStatus )
749:     {
750:        //Validate field and possibly exit
751:        IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
752:      case IM_RETURN_BACK_TAB:
753:        //Go to previous field
754:        IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
755:       if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
756:        IMCcgenv.iNext.iSF.iScrNum = 4;
757:        IMCcgenv.iNext.iSF.iFldNum = 4;
758:        IMCcgenv.iNextMove = ENV_INM_GOTO;
759:      }// end of allow nav overwrite decision
760:        break;
761:  
762:      case IM_RETURN_ESC:
763:        //Return to previous screen
764:        IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
765:        IMCcgenv.iNextMove       = ENV_INM_RETURN;
766:        break;
767:  
768:        
769:      case IM_RETURN_F1:
770:      case IM_RETURN_F2:
771:      case IM_RETURN_F3:
772:      case IM_RETURN_F4:
773:      case IM_RETURN_F5:
774:      case IM_RETURN_F6:
775:      case IM_RETURN_F7:
776:      case IM_RETURN_F8:
777:      case IM_RETURN_F9:
778:      case IM_RETURN_F10:
779:        IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
780:        break;
781:        
782:      default: //Go on, must have been return that caused exit
783:        IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
784:     };//End of switch on field key returned
785:        
786:  };
787:  
788:  // Key Actions function for Field CrewOn.CrewNumber
789:  int S003F000KeyInExit( int *iFlags )
790:  {
791:     *iFlags = 0;//initialize overwrite flags
792:     IMgiStatus = IM_SUCCESS;
793:     switch ( IMCcgenv.iFldKeyStatus )
794:     {
795:     };//End of switch on field key returned
796:     return IMgiStatus;          
797:  };
798:  
799:  // Exit Validation function for Field CrewOn.CrewNumber
800:  int S003F000EValidate( int *iFlags )
801:  {
802:  int iStatus = IM_SUCCESS;
803:  int iLocStatus=0, lFlags=0 ;
804:  lFlags = *iFlags ;// copy passed in flags to local variable
805:    IMgiStatus = IM_SUCCESS;
806:  if ( IM_ISSUCCESS( IMgiStatus) ){
807:     IMgiStatus = !IMCchkInFile( CrewOn_CrewNumber_F, &UF_c_crews_val,IM_FALSE);
808:    }
809:  return IMgiStatus;          
810:  };
811:  
812:  // Exit Validation success function for Field CrewOn.CrewNumber
813:  void S003F000ESuccess( int iFlags )
814:  {
815:  int iLocStatus=0, lFlags=0 ;
816:     IMCstringToSound ( "H" ) ;
817:     SignOn();
818:      IMCcgenv.iNewReturn.iSF.iScrNum = 4;
819:      IMCcgenv.iNewReturn.iSF.iFldNum = 3;
820:     IMCcgenv.iChangeReturn = ENV_ICR_RETURN;
821:      IMCcgenv.iMenEnter = 0;
822:     if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
823:      IMCcgenv.iNext.iSF.iScrNum = 11;
824:      IMCcgenv.iNext.iSF.iFldNum = 1;
825:      IMCcgenv.iNextMove = ENV_INM_CALL;
826:    }// end of allow nav overwrite decision
827:  };
828:  
829:  // Exit Validation failure function for Field CrewOn.CrewNumber
830:  void S003F000EFail( int iFlags )
831:  {
832:  int iLocStatus=0, lFlags=0 ;
833:      im_status_line ( "Invalid Crew #", IM_FALSE, IMgiStatusLine);
834:     IMCstringToSound ( "LHL" ) ;
835:     CrewErr();
836:     if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
837:      IMCcgenv.iNext.iSF.iScrNum = 4;
838:      IMCcgenv.iNext.iSF.iFldNum = 1;
839:      IMCcgenv.iNextMove = ENV_INM_GOTO;
840:    }// end of allow nav overwrite decision
841:   //Cleanup the message on timeout or key/wand action
842:   IMgiTmpOrigin = IM_KEYBOARD_SELECT | IM_LABEL_SELECT ;
843:   im_event_wait( IMgiStatusTime, &IMgiTmpOrigin);
844:   im_get_cursor_xy ( &IMGiRow, &IMGiCol ); //Save to restore after refresh
845:   RepaintDisplay();
846:   im_set_cursor_xy ( IMGiRow, IMGiCol );
847:  
848:  };
849:  
850:  // Entry function for Field CrewOn.HdnCrwNo
851:  void S003F001OnEntry()
852:  {
853:  int iLocStatus=0, lFlags=0 ;
854:     IMgiStatus = IM_SUCCESS;
855:  gfInsert =IM_FALSE;  //turn on overstrike
856:  };
857:  
858:  // Exit function for Field CrewOn.HdnCrwNo
859:  void S003F001OnExit()
860:  {
861:  int iFlags;
862:     IMgiStatus = S003F001KeyInExit( &iFlags );    
863:     if (IMgiStatus == IM_SUCCESS )                      
864:     {                                                
865:        IMgiStatus = S003F001EValidate( &iFlags);  
866:        if ( IMgiStatus == IM_SUCCESS )                  
867:          S003F001ESuccess( iFlags);            
868:        else                                          
869:          S003F001EFail( iFlags);              
870:     }                                                
871:  };
872:  
873:  // Key Actions function for Field CrewOn.HdnCrwNo
874:  void S003F001Key( )
875:  {
876:  IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
877:  IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
878:     switch ( IMCcgenv.iFldKeyStatus )
879:     {
880:        //Validate field and possibly exit
881:        IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
882:      case IM_RETURN_BACK_TAB:
883:        //Go to previous field
884:        IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
885:       if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
886:        IMCcgenv.iNext.iSF.iScrNum = 4;
887:        IMCcgenv.iNext.iSF.iFldNum = 3;
888:        IMCcgenv.iNextMove = ENV_INM_GOTO;
889:      }// end of allow nav overwrite decision
890:        break;
891:  
892:      case IM_RETURN_ESC:
893:        //Return to previous screen
894:        IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
895:        IMCcgenv.iNextMove       = ENV_INM_RETURN;
896:        break;
897:  
898:        
899:      case IM_RETURN_F1:
900:      case IM_RETURN_F2:
901:      case IM_RETURN_F3:
902:      case IM_RETURN_F4:
903:      case IM_RETURN_F5:
904:      case IM_RETURN_F6:
905:      case IM_RETURN_F7:
906:      case IM_RETURN_F8:
907:      case IM_RETURN_F9:
908:      case IM_RETURN_F10:
909:        IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
910:        break;
911:        
912:      default: //Go on, must have been return that caused exit
913:        IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
914:     };//End of switch on field key returned
915:        
916:  };
917:  
918:  // Key Actions function for Field CrewOn.HdnCrwNo
919:  int S003F001KeyInExit( int *iFlags )
920:  {
921:     *iFlags = 0;//initialize overwrite flags
922:     IMgiStatus = IM_SUCCESS;
923:     switch ( IMCcgenv.iFldKeyStatus )
924:     {
925:     };//End of switch on field key returned
926:     return IMgiStatus;          
927:  };
928:  
929:  // Exit Validation function for Field CrewOn.HdnCrwNo
930:  int S003F001EValidate( int *iFlags )
931:  {
932:  int iStatus = IM_SUCCESS;
933:  int iLocStatus=0, lFlags=0 ;
934:  lFlags = *iFlags ;// copy passed in flags to local variable
935:    IMgiStatus = IM_SUCCESS;
936:  return IMgiStatus;          
937:  };
938:  
939:  // Exit Validation success function for Field CrewOn.HdnCrwNo
940:  void S003F001ESuccess( int iFlags )
941:  {
942:  int iLocStatus=0, lFlags=0 ;
943:     IMCstringToSound ( "H" ) ;
944:     if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
945:      IMCcgenv.iNext.iSF.iScrNum = 4;
946:      IMCcgenv.iNext.iSF.iFldNum = 4;
947:      IMCcgenv.iNextMove = ENV_INM_GOTO;
948:    }// end of allow nav overwrite decision
949:  };
950:  
951:  // Exit Validation failure function for Field CrewOn.HdnCrwNo
952:  void S003F001EFail( int iFlags )
953:  {
954:  int iLocStatus=0, lFlags=0 ;
955:     IMCstringToSound ( "LHL" ) ;
956:     if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
957:      IMCcgenv.iNext.iSF.iScrNum = 4;
958:      IMCcgenv.iNext.iSF.iFldNum = 2;
959:      IMCcgenv.iNextMove = ENV_INM_GOTO;
960:    }// end of allow nav overwrite decision
961:  };
962:  
963:  // Entry function for Field CrewOn.empty
964:  void S003F002OnEntry()
965:  {
966:  int iLocStatus=0, lFlags=0 ;
967:     IMgiStatus = IM_SUCCESS;
968:  gfInsert =IM_FALSE;  //turn on overstrike
969:  };
970:  
971:  // Exit function for Field CrewOn.empty
972:  void S003F002OnExit()
973:  {
974:  int iFlags;
975:     IMgiStatus = S003F002KeyInExit( &iFlags );    
976:     if (IMgiStatus == IM_SUCCESS )                      
977:     {                                                
978:        IMgiStatus = S003F002EValidate( &iFlags);  
979:        if ( IMgiStatus == IM_SUCCESS )                  
980:          S003F002ESuccess( iFlags);            
981:        else                                          
982:          S003F002EFail( iFlags);              
983:     }                                                
984:  };
985:  
986:  // Key Actions function for Field CrewOn.empty
987:  void S003F002Key( )
988:  {
989:  IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
990:  IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
991:     switch ( IMCcgenv.iFldKeyStatus )
992:     {
993:        //Validate field and possibly exit
994:        IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
995:      case IM_RETURN_BACK_TAB:
996:        //Go to previous field
997:        IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
998:       if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
999:        IMCcgenv.iNext.iSF.iScrNum = 4;
1000:       IMCcgenv.iNext.iSF.iFldNum = 1;
1001:       IMCcgenv.iNextMove = ENV_INM_GOTO;
1002:     }// end of allow nav overwrite decision
1003:       break;
1004:
1005:     case IM_RETURN_ESC:
1006:       //Return to previous screen
1007:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1008:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
1009:       break;
1010:
1011:      
1012:     case IM_RETURN_F1:
1013:     case IM_RETURN_F2:
1014:     case IM_RETURN_F3:
1015:     case IM_RETURN_F4:
1016:     case IM_RETURN_F5:
1017:     case IM_RETURN_F6:
1018:     case IM_RETURN_F7:
1019:     case IM_RETURN_F8:
1020:     case IM_RETURN_F9:
1021:     case IM_RETURN_F10:
1022:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
1023:       break;
1024:      
1025:     default: //Go on, must have been return that caused exit
1026:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1027:    };//End of switch on field key returned
1028:      
1029: };
1030:
1031: // Key Actions function for Field CrewOn.empty
1032: int S003F002KeyInExit( int *iFlags )
1033: {
1034:    *iFlags = 0;//initialize overwrite flags
1035:    IMgiStatus = IM_SUCCESS;
1036:    switch ( IMCcgenv.iFldKeyStatus )
1037:    {
1038:    };//End of switch on field key returned
1039:    return IMgiStatus;          
1040: };
1041:
1042: // Exit Validation function for Field CrewOn.empty
1043: int S003F002EValidate( int *iFlags )
1044: {
1045: int iStatus = IM_SUCCESS;
1046: int iLocStatus=0, lFlags=0 ;
1047: lFlags = *iFlags ;// copy passed in flags to local variable
1048:   IMgiStatus = IM_SUCCESS;
1049: return IMgiStatus;          
1050: };
1051:
1052: // Exit Validation success function for Field CrewOn.empty
1053: void S003F002ESuccess( int iFlags )
1054: {
1055: int iLocStatus=0, lFlags=0 ;
1056:    IMCstringToSound ( "H" ) ;
1057:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1058:     IMCcgenv.iNext.iSF.iScrNum = 4;
1059:     IMCcgenv.iNext.iSF.iFldNum = 2;
1060:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1061:   }// end of allow nav overwrite decision
1062: };
1063:
1064: // Exit Validation failure function for Field CrewOn.empty
1065: void S003F002EFail( int iFlags )
1066: {
1067: int iLocStatus=0, lFlags=0 ;
1068:    IMCstringToSound ( "LHL" ) ;
1069:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1070:     IMCcgenv.iNext.iSF.iScrNum = 4;
1071:     IMCcgenv.iNext.iSF.iFldNum = 3;
1072:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1073:   }// end of allow nav overwrite decision
1074: };
1075:
1076: // Entry function for Field CrewOn.AuditCode
1077: void S003F003OnEntry()
1078: {
1079: int iLocStatus=0, lFlags=0 ;
1080:    IMgiStatus = IM_SUCCESS;
1081: gfInsert =IM_FALSE;  //turn on overstrike
1082: };
1083:
1084: // Exit function for Field CrewOn.AuditCode
1085: void S003F003OnExit()
1086: {
1087: int iFlags;
1088:    IMgiStatus = S003F003KeyInExit( &iFlags );    
1089:    if (IMgiStatus == IM_SUCCESS )                      
1090:    {                                                
1091:       IMgiStatus = S003F003EValidate( &iFlags);  
1092:       if ( IMgiStatus == IM_SUCCESS )                  
1093:         S003F003ESuccess( iFlags);            
1094:       else                                          
1095:         S003F003EFail( iFlags);              
1096:    }                                                
1097: };
1098:
1099: // Key Actions function for Field CrewOn.AuditCode
1100: void S003F003Key( )
1101: {
1102: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
1103: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
1104:    switch ( IMCcgenv.iFldKeyStatus )
1105:    {
1106:       //Validate field and possibly exit
1107:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1108:     case IM_RETURN_BACK_TAB:
1109:       //Go to previous field
1110:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1111:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1112:       IMCcgenv.iNext.iSF.iScrNum = 4;
1113:       IMCcgenv.iNext.iSF.iFldNum = 2;
1114:       IMCcgenv.iNextMove = ENV_INM_GOTO;
1115:     }// end of allow nav overwrite decision
1116:       break;
1117:
1118:     case IM_RETURN_ESC:
1119:       //Return to previous screen
1120:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1121:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
1122:       break;
1123:
1124:      
1125:     case IM_RETURN_F1:
1126:     case IM_RETURN_F2:
1127:     case IM_RETURN_F3:
1128:     case IM_RETURN_F4:
1129:     case IM_RETURN_F5:
1130:     case IM_RETURN_F6:
1131:     case IM_RETURN_F7:
1132:     case IM_RETURN_F8:
1133:     case IM_RETURN_F9:
1134:     case IM_RETURN_F10:
1135:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
1136:       break;
1137:      
1138:     default: //Go on, must have been return that caused exit
1139:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1140:    };//End of switch on field key returned
1141:      
1142: };
1143:
1144: // Key Actions function for Field CrewOn.AuditCode
1145: int S003F003KeyInExit( int *iFlags )
1146: {
1147:    *iFlags = 0;//initialize overwrite flags
1148:    IMgiStatus = IM_SUCCESS;
1149:    switch ( IMCcgenv.iFldKeyStatus )
1150:    {
1151:    };//End of switch on field key returned
1152:    return IMgiStatus;          
1153: };
1154:
1155: // Exit Validation function for Field CrewOn.AuditCode
1156: int S003F003EValidate( int *iFlags )
1157: {
1158: int iStatus = IM_SUCCESS;
1159: int iLocStatus=0, lFlags=0 ;
1160: lFlags = *iFlags ;// copy passed in flags to local variable
1161:   IMgiStatus = IM_SUCCESS;
1162: return IMgiStatus;          
1163: };
1164:
1165: // Exit Validation success function for Field CrewOn.AuditCode
1166: void S003F003ESuccess( int iFlags )
1167: {
1168: int iLocStatus=0, lFlags=0 ;
1169:    IMCstringToSound ( "H" ) ;
1170:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1171:     IMCcgenv.iNext.iSF.iScrNum = 4;
1172:     IMCcgenv.iNext.iSF.iFldNum = 1;
1173:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1174:   }// end of allow nav overwrite decision
1175: };
1176:
1177: // Exit Validation failure function for Field CrewOn.AuditCode
1178: void S003F003EFail( int iFlags )
1179: {
1180: int iLocStatus=0, lFlags=0 ;
1181:    IMCstringToSound ( "LHL" ) ;
1182:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1183:     IMCcgenv.iNext.iSF.iScrNum = 4;
1184:     IMCcgenv.iNext.iSF.iFldNum = 4;
1185:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1186:   }// end of allow nav overwrite decision
1187: };
1188:
1189: // Entry function for Screen ExtrusLotNo
1190: void s004OnEntry()
1191: {
1192: int iLocStatus=0, lFlags=0 ;
1193: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
1194: IMgiStatusLine = 50; // set status line this screen
1195:    IMgiStatusTime = 20000;//Time to display message
1196:  };
1197:
1198: // Exit function for Screen ExtrusLotNo
1199: void s004OnExit()
1200: {
1201: int iLocStatus=0, lFlags=0 ;
1202:  };
1203:
1204: // Entry function for Field ExtrusLotNo.TagNumber
1205: void S004F000OnEntry()
1206: {
1207: int iLocStatus=0, lFlags=0 ;
1208:    IMgiStatus = IM_SUCCESS;
1209: gfInsert =IM_FALSE;  //turn on overstrike
1210: };
1211:
1212: // Exit function for Field ExtrusLotNo.TagNumber
1213: void S004F000OnExit()
1214: {
1215: int iFlags;
1216:    IMgiStatus = S004F000KeyInExit( &iFlags );    
1217:    if (IMgiStatus == IM_SUCCESS )                      
1218:    {                                                
1219:       IMgiStatus = S004F000EValidate( &iFlags);  
1220:       if ( IMgiStatus == IM_SUCCESS )                  
1221:         S004F000ESuccess( iFlags);            
1222:       else                                          
1223:         S004F000EFail( iFlags);              
1224:    }                                                
1225: };
1226:
1227: // Key Actions function for Field ExtrusLotNo.TagNumber
1228: void S004F000Key( )
1229: {
1230: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
1231: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
1232:    switch ( IMCcgenv.iFldKeyStatus )
1233:    {
1234:       //Validate field and possibly exit
1235:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1236:     case IM_RETURN_BACK_TAB:
1237:       //Go to previous field
1238:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1239:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1240:       IMCcgenv.iNext.iSF.iScrNum = 5;
1241:       IMCcgenv.iNext.iSF.iFldNum = 5;
1242:       IMCcgenv.iNextMove = ENV_INM_GOTO;
1243:     }// end of allow nav overwrite decision
1244:       break;
1245:
1246:     case IM_RETURN_ESC:
1247:       //Return to previous screen
1248:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1249:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
1250:       break;
1251:
1252:      
1253:     case IM_RETURN_F1:
1254:     case IM_RETURN_F2:
1255:     case IM_RETURN_F3:
1256:     case IM_RETURN_F4:
1257:     case IM_RETURN_F5:
1258:     case IM_RETURN_F6:
1259:     case IM_RETURN_F7:
1260:     case IM_RETURN_F8:
1261:     case IM_RETURN_F9:
1262:     case IM_RETURN_F10:
1263:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
1264:       break;
1265:      
1266:     default: //Go on, must have been return that caused exit
1267:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1268:    };//End of switch on field key returned
1269:      
1270: };
1271:
1272: // Key Actions function for Field ExtrusLotNo.TagNumber
1273: int S004F000KeyInExit( int *iFlags )
1274: {
1275:    *iFlags = 0;//initialize overwrite flags
1276:    IMgiStatus = IM_SUCCESS;
1277:    switch ( IMCcgenv.iFldKeyStatus )
1278:    {
1279:    };//End of switch on field key returned
1280:    return IMgiStatus;          
1281: };
1282:
1283: // Exit Validation function for Field ExtrusLotNo.TagNumber
1284: int S004F000EValidate( int *iFlags )
1285: {
1286: int iStatus = IM_SUCCESS;
1287: int iLocStatus=0, lFlags=0 ;
1288: lFlags = *iFlags ;// copy passed in flags to local variable
1289:   IMgiStatus = IM_SUCCESS;
1290: return IMgiStatus;          
1291: };
1292:
1293: // Exit Validation success function for Field ExtrusLotNo.TagNumber
1294: void S004F000ESuccess( int iFlags )
1295: {
1296: int iLocStatus=0, lFlags=0 ;
1297:    IMCstringToSound ( "H" ) ;
1298:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1299:     IMCcgenv.iNext.iSF.iScrNum = 5;
1300:     IMCcgenv.iNext.iSF.iFldNum = 2;
1301:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1302:   }// end of allow nav overwrite decision
1303: };
1304:
1305: // Exit Validation failure function for Field ExtrusLotNo.TagNumber
1306: void S004F000EFail( int iFlags )
1307: {
1308: int iLocStatus=0, lFlags=0 ;
1309:     im_status_line ( "Must start with T", IM_FALSE, IMgiStatusLine);
1310:    IMCstringToSound ( "LHL" ) ;
1311:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1312:     IMCcgenv.iNext.iSF.iScrNum = 5;
1313:     IMCcgenv.iNext.iSF.iFldNum = 1;
1314:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1315:   }// end of allow nav overwrite decision
1316:  //Cleanup the message on timeout or key/wand action
1317:  IMgiTmpOrigin = IM_KEYBOARD_SELECT | IM_LABEL_SELECT ;
1318:  im_event_wait( IMgiStatusTime, &IMgiTmpOrigin);
1319:  im_get_cursor_xy ( &IMGiRow, &IMGiCol ); //Save to restore after refresh
1320:  RepaintDisplay();
1321:  im_set_cursor_xy ( IMGiRow, IMGiCol );
1322:  
1323: };
1324:
1325: // Entry function for Field ExtrusLotNo.ItemNumber
1326: void S004F001OnEntry()
1327: {
1328: int iLocStatus=0, lFlags=0 ;
1329:    IMgiStatus = IM_SUCCESS;
1330: gfInsert =IM_FALSE;  //turn on overstrike
1331: };
1332:
1333: // Exit function for Field ExtrusLotNo.ItemNumber
1334: void S004F001OnExit()
1335: {
1336: int iFlags;
1337:    IMgiStatus = S004F001KeyInExit( &iFlags );    
1338:    if (IMgiStatus == IM_SUCCESS )                      
1339:    {                                                
1340:       IMgiStatus = S004F001EValidate( &iFlags);  
1341:       if ( IMgiStatus == IM_SUCCESS )                  
1342:         S004F001ESuccess( iFlags);            
1343:       else                                          
1344:         S004F001EFail( iFlags);              
1345:    }                                                
1346: };
1347:
1348: // Key Actions function for Field ExtrusLotNo.ItemNumber
1349: void S004F001Key( )
1350: {
1351: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
1352: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
1353:    switch ( IMCcgenv.iFldKeyStatus )
1354:    {
1355:       //Validate field and possibly exit
1356:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1357:     case IM_RETURN_BACK_TAB:
1358:       //Go to previous field
1359:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1360:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1361:       IMCcgenv.iNext.iSF.iScrNum = 5;
1362:       IMCcgenv.iNext.iSF.iFldNum = 1;
1363:       IMCcgenv.iNextMove = ENV_INM_GOTO;
1364:     }// end of allow nav overwrite decision
1365:       break;
1366:
1367:     case IM_RETURN_ESC:
1368:       //Return to previous screen
1369:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1370:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
1371:       break;
1372:
1373:      
1374:     case IM_RETURN_F1:
1375:     case IM_RETURN_F2:
1376:     case IM_RETURN_F3:
1377:     case IM_RETURN_F4:
1378:     case IM_RETURN_F5:
1379:     case IM_RETURN_F6:
1380:     case IM_RETURN_F7:
1381:     case IM_RETURN_F8:
1382:     case IM_RETURN_F9:
1383:     case IM_RETURN_F10:
1384:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
1385:       break;
1386:      
1387:     default: //Go on, must have been return that caused exit
1388:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1389:    };//End of switch on field key returned
1390:      
1391: };
1392:
1393: // Key Actions function for Field ExtrusLotNo.ItemNumber
1394: int S004F001KeyInExit( int *iFlags )
1395: {
1396:    *iFlags = 0;//initialize overwrite flags
1397:    IMgiStatus = IM_SUCCESS;
1398:    switch ( IMCcgenv.iFldKeyStatus )
1399:    {
1400:    };//End of switch on field key returned
1401:    return IMgiStatus;          
1402: };
1403:
1404: // Exit Validation function for Field ExtrusLotNo.ItemNumber
1405: int S004F001EValidate( int *iFlags )
1406: {
1407: int iStatus = IM_SUCCESS;
1408: int iLocStatus=0, lFlags=0 ;
1409: lFlags = *iFlags ;// copy passed in flags to local variable
1410:   IMgiStatus = IM_SUCCESS;
1411: return IMgiStatus;          
1412: };
1413:
1414: // Exit Validation success function for Field ExtrusLotNo.ItemNumber
1415: void S004F001ESuccess( int iFlags )
1416: {
1417: int iLocStatus=0, lFlags=0 ;
1418:    IMCstringToSound ( "H" ) ;
1419:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1420:     IMCcgenv.iNext.iSF.iScrNum = 5;
1421:     IMCcgenv.iNext.iSF.iFldNum = 3;
1422:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1423:   }// end of allow nav overwrite decision
1424: };
1425:
1426: // Exit Validation failure function for Field ExtrusLotNo.ItemNumber
1427: void S004F001EFail( int iFlags )
1428: {
1429: int iLocStatus=0, lFlags=0 ;
1430:    IMCstringToSound ( "LHL" ) ;
1431:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1432:     IMCcgenv.iNext.iSF.iScrNum = 5;
1433:     IMCcgenv.iNext.iSF.iFldNum = 2;
1434:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1435:   }// end of allow nav overwrite decision
1436: };
1437:
1438: // Entry function for Field ExtrusLotNo.Location
1439: void S004F002OnEntry()
1440: {
1441: int iLocStatus=0, lFlags=0 ;
1442:    IMgiStatus = IM_SUCCESS;
1443: gfInsert =IM_FALSE;  //turn on overstrike
1444: };
1445:
1446: // Exit function for Field ExtrusLotNo.Location
1447: void S004F002OnExit()
1448: {
1449: int iFlags;
1450:    IMgiStatus = S004F002KeyInExit( &iFlags );    
1451:    if (IMgiStatus == IM_SUCCESS )                      
1452:    {                                                
1453:       IMgiStatus = S004F002EValidate( &iFlags);  
1454:       if ( IMgiStatus == IM_SUCCESS )                  
1455:         S004F002ESuccess( iFlags);            
1456:       else                                          
1457:         S004F002EFail( iFlags);              
1458:    }                                                
1459: };
1460:
1461: // Key Actions function for Field ExtrusLotNo.Location
1462: void S004F002Key( )
1463: {
1464: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
1465: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
1466:    switch ( IMCcgenv.iFldKeyStatus )
1467:    {
1468:       //Validate field and possibly exit
1469:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1470:     case IM_RETURN_BACK_TAB:
1471:       //Go to previous field
1472:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1473:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1474:       IMCcgenv.iNext.iSF.iScrNum = 5;
1475:       IMCcgenv.iNext.iSF.iFldNum = 2;
1476:       IMCcgenv.iNextMove = ENV_INM_GOTO;
1477:     }// end of allow nav overwrite decision
1478:       break;
1479:
1480:     case IM_RETURN_ESC:
1481:       //Return to previous screen
1482:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1483:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
1484:       break;
1485:
1486:      
1487:     case IM_RETURN_F1:
1488:     case IM_RETURN_F2:
1489:     case IM_RETURN_F3:
1490:     case IM_RETURN_F4:
1491:     case IM_RETURN_F5:
1492:     case IM_RETURN_F6:
1493:     case IM_RETURN_F7:
1494:     case IM_RETURN_F8:
1495:     case IM_RETURN_F9:
1496:     case IM_RETURN_F10:
1497:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
1498:       break;
1499:      
1500:     default: //Go on, must have been return that caused exit
1501:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1502:    };//End of switch on field key returned
1503:      
1504: };
1505:
1506: // Key Actions function for Field ExtrusLotNo.Location
1507: int S004F002KeyInExit( int *iFlags )
1508: {
1509:    *iFlags = 0;//initialize overwrite flags
1510:    IMgiStatus = IM_SUCCESS;
1511:    switch ( IMCcgenv.iFldKeyStatus )
1512:    {
1513:    };//End of switch on field key returned
1514:    return IMgiStatus;          
1515: };
1516:
1517: // Exit Validation function for Field ExtrusLotNo.Location
1518: int S004F002EValidate( int *iFlags )
1519: {
1520: int iStatus = IM_SUCCESS;
1521: int iLocStatus=0, lFlags=0 ;
1522: lFlags = *iFlags ;// copy passed in flags to local variable
1523:   IMgiStatus = IM_SUCCESS;
1524: return IMgiStatus;          
1525: };
1526:
1527: // Exit Validation success function for Field ExtrusLotNo.Location
1528: void S004F002ESuccess( int iFlags )
1529: {
1530: int iLocStatus=0, lFlags=0 ;
1531:    IMCstringToSound ( "H" ) ;
1532:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1533:     IMCcgenv.iNext.iSF.iScrNum = 5;
1534:     IMCcgenv.iNext.iSF.iFldNum = 4;
1535:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1536:   }// end of allow nav overwrite decision
1537: };
1538:
1539: // Exit Validation failure function for Field ExtrusLotNo.Location
1540: void S004F002EFail( int iFlags )
1541: {
1542: int iLocStatus=0, lFlags=0 ;
1543:    IMCstringToSound ( "LHL" ) ;
1544:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1545:     IMCcgenv.iNext.iSF.iScrNum = 5;
1546:     IMCcgenv.iNext.iSF.iFldNum = 3;
1547:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1548:   }// end of allow nav overwrite decision
1549: };
1550:
1551: // Entry function for Field ExtrusLotNo.Quantity
1552: void S004F003OnEntry()
1553: {
1554: int iLocStatus=0, lFlags=0 ;
1555:    IMgiStatus = IM_SUCCESS;
1556: gfInsert =IM_FALSE;  //turn on overstrike
1557: };
1558:
1559: // Exit function for Field ExtrusLotNo.Quantity
1560: void S004F003OnExit()
1561: {
1562: int iFlags;
1563:    IMgiStatus = S004F003KeyInExit( &iFlags );    
1564:    if (IMgiStatus == IM_SUCCESS )                      
1565:    {                                                
1566:       IMgiStatus = S004F003EValidate( &iFlags);  
1567:       if ( IMgiStatus == IM_SUCCESS )                  
1568:         S004F003ESuccess( iFlags);            
1569:       else                                          
1570:         S004F003EFail( iFlags);              
1571:    }                                                
1572: };
1573:
1574: // Key Actions function for Field ExtrusLotNo.Quantity
1575: void S004F003Key( )
1576: {
1577: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
1578: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
1579:    switch ( IMCcgenv.iFldKeyStatus )
1580:    {
1581:       //Validate field and possibly exit
1582:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1583:     case IM_RETURN_BACK_TAB:
1584:       //Go to previous field
1585:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1586:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1587:       IMCcgenv.iNext.iSF.iScrNum = 5;
1588:       IMCcgenv.iNext.iSF.iFldNum = 3;
1589:       IMCcgenv.iNextMove = ENV_INM_GOTO;
1590:     }// end of allow nav overwrite decision
1591:       break;
1592:
1593:     case IM_RETURN_ESC:
1594:       //Return to previous screen
1595:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1596:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
1597:       break;
1598:
1599:      
1600:     case IM_RETURN_F1:
1601:     case IM_RETURN_F2:
1602:     case IM_RETURN_F3:
1603:     case IM_RETURN_F4:
1604:     case IM_RETURN_F5:
1605:     case IM_RETURN_F6:
1606:     case IM_RETURN_F7:
1607:     case IM_RETURN_F8:
1608:     case IM_RETURN_F9:
1609:     case IM_RETURN_F10:
1610:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
1611:       break;
1612:      
1613:     default: //Go on, must have been return that caused exit
1614:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1615:    };//End of switch on field key returned
1616:      
1617: };
1618:
1619: // Key Actions function for Field ExtrusLotNo.Quantity
1620: int S004F003KeyInExit( int *iFlags )
1621: {
1622:    *iFlags = 0;//initialize overwrite flags
1623:    IMgiStatus = IM_SUCCESS;
1624:    switch ( IMCcgenv.iFldKeyStatus )
1625:    {
1626:    };//End of switch on field key returned
1627:    return IMgiStatus;          
1628: };
1629:
1630: // Exit Validation function for Field ExtrusLotNo.Quantity
1631: int S004F003EValidate( int *iFlags )
1632: {
1633: int iStatus = IM_SUCCESS;
1634: int iLocStatus=0, lFlags=0 ;
1635: lFlags = *iFlags ;// copy passed in flags to local variable
1636:   IMgiStatus = IM_SUCCESS;
1637: return IMgiStatus;          
1638: };
1639:
1640: // Exit Validation success function for Field ExtrusLotNo.Quantity
1641: void S004F003ESuccess( int iFlags )
1642: {
1643: int iLocStatus=0, lFlags=0 ;
1644:    IMCstringToSound ( "H" ) ;
1645:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1646:     IMCcgenv.iNext.iSF.iScrNum = 5;
1647:     IMCcgenv.iNext.iSF.iFldNum = 5;
1648:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1649:   }// end of allow nav overwrite decision
1650: };
1651:
1652: // Exit Validation failure function for Field ExtrusLotNo.Quantity
1653: void S004F003EFail( int iFlags )
1654: {
1655: int iLocStatus=0, lFlags=0 ;
1656:    IMCstringToSound ( "LHL" ) ;
1657:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1658:     IMCcgenv.iNext.iSF.iScrNum = 5;
1659:     IMCcgenv.iNext.iSF.iFldNum = 4;
1660:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1661:   }// end of allow nav overwrite decision
1662: };
1663:
1664: // Entry function for Field ExtrusLotNo.Lot
1665: void S004F004OnEntry()
1666: {
1667: int iLocStatus=0, lFlags=0 ;
1668:    IMgiStatus = IM_SUCCESS;
1669: gfInsert =IM_FALSE;  //turn on overstrike
1670: };
1671:
1672: // Exit function for Field ExtrusLotNo.Lot
1673: void S004F004OnExit()
1674: {
1675: int iFlags;
1676:    IMgiStatus = S004F004KeyInExit( &iFlags );    
1677:    if (IMgiStatus == IM_SUCCESS )                      
1678:    {                                                
1679:       IMgiStatus = S004F004EValidate( &iFlags);  
1680:       if ( IMgiStatus == IM_SUCCESS )                  
1681:         S004F004ESuccess( iFlags);            
1682:       else                                          
1683:         S004F004EFail( iFlags);              
1684:    }                                                
1685: };
1686:
1687: // Key Actions function for Field ExtrusLotNo.Lot
1688: void S004F004Key( )
1689: {
1690: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
1691: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
1692:    switch ( IMCcgenv.iFldKeyStatus )
1693:    {
1694:       //Validate field and possibly exit
1695:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1696:     case IM_RETURN_BACK_TAB:
1697:       //Go to previous field
1698:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1699:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1700:       IMCcgenv.iNext.iSF.iScrNum = 5;
1701:       IMCcgenv.iNext.iSF.iFldNum = 4;
1702:       IMCcgenv.iNextMove = ENV_INM_GOTO;
1703:     }// end of allow nav overwrite decision
1704:       break;
1705:
1706:     case IM_RETURN_ESC:
1707:       //Return to previous screen
1708:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1709:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
1710:       break;
1711:
1712:      
1713:     case IM_RETURN_F1:
1714:     case IM_RETURN_F2:
1715:     case IM_RETURN_F3:
1716:     case IM_RETURN_F4:
1717:     case IM_RETURN_F5:
1718:     case IM_RETURN_F6:
1719:     case IM_RETURN_F7:
1720:     case IM_RETURN_F8:
1721:     case IM_RETURN_F9:
1722:     case IM_RETURN_F10:
1723:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
1724:       break;
1725:      
1726:     default: //Go on, must have been return that caused exit
1727:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1728:    };//End of switch on field key returned
1729:      
1730: };
1731:
1732: // Key Actions function for Field ExtrusLotNo.Lot
1733: int S004F004KeyInExit( int *iFlags )
1734: {
1735:    *iFlags = 0;//initialize overwrite flags
1736:    IMgiStatus = IM_SUCCESS;
1737:    switch ( IMCcgenv.iFldKeyStatus )
1738:    {
1739:    };//End of switch on field key returned
1740:    return IMgiStatus;          
1741: };
1742:
1743: // Exit Validation function for Field ExtrusLotNo.Lot
1744: int S004F004EValidate( int *iFlags )
1745: {
1746: int iStatus = IM_SUCCESS;
1747: int iLocStatus=0, lFlags=0 ;
1748: lFlags = *iFlags ;// copy passed in flags to local variable
1749:   IMgiStatus = IM_SUCCESS;
1750: return IMgiStatus;          
1751: };
1752:
1753: // Exit Validation success function for Field ExtrusLotNo.Lot
1754: void S004F004ESuccess( int iFlags )
1755: {
1756: int iLocStatus=0, lFlags=0 ;
1757:    IMCstringToSound ( "H" ) ;
1758:    writelotno();
1759:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1760:     IMCcgenv.iNext.iSF.iScrNum = 5;
1761:     IMCcgenv.iNext.iSF.iFldNum = 1;
1762:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1763:   }// end of allow nav overwrite decision
1764: };
1765:
1766: // Exit Validation failure function for Field ExtrusLotNo.Lot
1767: void S004F004EFail( int iFlags )
1768: {
1769: int iLocStatus=0, lFlags=0 ;
1770:    IMCstringToSound ( "LHL" ) ;
1771:
1772: //  File Action
1773:
1774:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1775:     IMCcgenv.iNext.iSF.iScrNum = 5;
1776:     IMCcgenv.iNext.iSF.iFldNum = 5;
1777:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1778:   }// end of allow nav overwrite decision
1779: };
1780:
1781: // Entry function for Screen CrewOff
1782: void s005OnEntry()
1783: {
1784: int iLocStatus=0, lFlags=0 ;
1785: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
1786: IMgiStatusLine = 50; // set status line this screen
1787:    IMgiStatusTime = 20000;//Time to display message
1788:  };
1789:
1790: // Exit function for Screen CrewOff
1791: void s005OnExit()
1792: {
1793: int iLocStatus=0, lFlags=0 ;
1794:  };
1795:
1796: // Entry function for Field CrewOff.empty
1797: void S005F002OnEntry()
1798: {
1799: int iLocStatus=0, lFlags=0 ;
1800:    IMgiStatus = IM_SUCCESS;
1801: gfInsert =IM_FALSE;  //turn on overstrike
1802: };
1803:
1804: // Exit function for Field CrewOff.empty
1805: void S005F002OnExit()
1806: {
1807: int iFlags;
1808:    IMgiStatus = S005F002KeyInExit( &iFlags );    
1809:    if (IMgiStatus == IM_SUCCESS )                      
1810:    {                                                
1811:       IMgiStatus = S005F002EValidate( &iFlags);  
1812:       if ( IMgiStatus == IM_SUCCESS )                  
1813:         S005F002ESuccess( iFlags);            
1814:       else                                          
1815:         S005F002EFail( iFlags);              
1816:    }                                                
1817: };
1818:
1819: // Key Actions function for Field CrewOff.empty
1820: void S005F002Key( )
1821: {
1822: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
1823: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
1824:    switch ( IMCcgenv.iFldKeyStatus )
1825:    {
1826:       //Validate field and possibly exit
1827:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1828:     case IM_RETURN_BACK_TAB:
1829:       //Go to previous field
1830:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1831:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1832:       IMCcgenv.iNext.iSF.iScrNum = 6;
1833:       IMCcgenv.iNext.iSF.iFldNum = 5;
1834:       IMCcgenv.iNextMove = ENV_INM_GOTO;
1835:     }// end of allow nav overwrite decision
1836:       break;
1837:
1838:     case IM_RETURN_ESC:
1839:       //Return to previous screen
1840:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1841:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
1842:       break;
1843:
1844:      
1845:     case IM_RETURN_F1:
1846:     case IM_RETURN_F2:
1847:     case IM_RETURN_F3:
1848:     case IM_RETURN_F4:
1849:     case IM_RETURN_F5:
1850:     case IM_RETURN_F6:
1851:     case IM_RETURN_F7:
1852:     case IM_RETURN_F8:
1853:     case IM_RETURN_F9:
1854:     case IM_RETURN_F10:
1855:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
1856:       break;
1857:      
1858:     default: //Go on, must have been return that caused exit
1859:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1860:    };//End of switch on field key returned
1861:      
1862: };
1863:
1864: // Key Actions function for Field CrewOff.empty
1865: int S005F002KeyInExit( int *iFlags )
1866: {
1867:    *iFlags = 0;//initialize overwrite flags
1868:    IMgiStatus = IM_SUCCESS;
1869:    switch ( IMCcgenv.iFldKeyStatus )
1870:    {
1871:    };//End of switch on field key returned
1872:    return IMgiStatus;          
1873: };
1874:
1875: // Exit Validation function for Field CrewOff.empty
1876: int S005F002EValidate( int *iFlags )
1877: {
1878: int iStatus = IM_SUCCESS;
1879: int iLocStatus=0, lFlags=0 ;
1880: lFlags = *iFlags ;// copy passed in flags to local variable
1881:   IMgiStatus = IM_SUCCESS;
1882: return IMgiStatus;          
1883: };
1884:
1885: // Exit Validation success function for Field CrewOff.empty
1886: void S005F002ESuccess( int iFlags )
1887: {
1888: int iLocStatus=0, lFlags=0 ;
1889:    IMCstringToSound ( "H" ) ;
1890:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1891:     IMCcgenv.iNext.iSF.iScrNum = 6;
1892:     IMCcgenv.iNext.iSF.iFldNum = 5;
1893:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1894:   }// end of allow nav overwrite decision
1895: };
1896:
1897: // Exit Validation failure function for Field CrewOff.empty
1898: void S005F002EFail( int iFlags )
1899: {
1900: int iLocStatus=0, lFlags=0 ;
1901:    IMCstringToSound ( "LHL" ) ;
1902:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1903:     IMCcgenv.iNext.iSF.iScrNum = 6;
1904:     IMCcgenv.iNext.iSF.iFldNum = 3;
1905:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1906:   }// end of allow nav overwrite decision
1907: };
1908:
1909: // Entry function for Field CrewOff.SignOffField
1910: void S005F004OnEntry()
1911: {
1912: int iLocStatus=0, lFlags=0 ;
1913:    IMgiStatus = IM_SUCCESS;
1914: gfInsert =IM_FALSE;  //turn on overstrike
1915:    CrewOff_SignOffField_F[0]='\0' ;
1916: };
1917:
1918: // Exit function for Field CrewOff.SignOffField
1919: void S005F004OnExit()
1920: {
1921: int iFlags;
1922:    IMgiStatus = S005F004KeyInExit( &iFlags );    
1923:    if (IMgiStatus == IM_SUCCESS )                      
1924:    {                                                
1925:       IMgiStatus = S005F004EValidate( &iFlags);  
1926:       if ( IMgiStatus == IM_SUCCESS )                  
1927:         S005F004ESuccess( iFlags);            
1928:       else                                          
1929:         S005F004EFail( iFlags);              
1930:    }                                                
1931: };
1932:
1933: // Key Actions function for Field CrewOff.SignOffField
1934: void S005F004Key( )
1935: {
1936: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
1937: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
1938:    switch ( IMCcgenv.iFldKeyStatus )
1939:    {
1940:       //Validate field and possibly exit
1941:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1942:     case IM_RETURN_BACK_TAB:
1943:       //Go to previous field
1944:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1945:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1946:       IMCcgenv.iNext.iSF.iScrNum = 6;
1947:       IMCcgenv.iNext.iSF.iFldNum = 3;
1948:       IMCcgenv.iNextMove = ENV_INM_GOTO;
1949:     }// end of allow nav overwrite decision
1950:       break;
1951:
1952:     case IM_RETURN_ESC:
1953:       //Return to previous screen
1954:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1955:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
1956:       break;
1957:
1958:      
1959:     case IM_RETURN_F1:
1960:     case IM_RETURN_F2:
1961:     case IM_RETURN_F3:
1962:     case IM_RETURN_F4:
1963:     case IM_RETURN_F5:
1964:     case IM_RETURN_F6:
1965:     case IM_RETURN_F7:
1966:     case IM_RETURN_F8:
1967:     case IM_RETURN_F9:
1968:     case IM_RETURN_F10:
1969:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
1970:       break;
1971:      
1972:     default: //Go on, must have been return that caused exit
1973:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1974:    };//End of switch on field key returned
1975:      
1976: };
1977:
1978: // Key Actions function for Field CrewOff.SignOffField
1979: int S005F004KeyInExit( int *iFlags )
1980: {
1981:    *iFlags = 0;//initialize overwrite flags
1982:    IMgiStatus = IM_SUCCESS;
1983:    switch ( IMCcgenv.iFldKeyStatus )
1984:    {
1985:    };//End of switch on field key returned
1986:    return IMgiStatus;          
1987: };
1988:
1989: // Exit Validation function for Field CrewOff.SignOffField
1990: int S005F004EValidate( int *iFlags )
1991: {
1992: int iStatus = IM_SUCCESS;
1993: int iLocStatus=0, lFlags=0 ;
1994: lFlags = *iFlags ;// copy passed in flags to local variable
1995:   IMgiStatus = IM_SUCCESS;
1996: if ( IM_ISSUCCESS( IMgiStatus) ){
1997:    IMgiStatus = !SignOff();
1998:   }
1999: return IMgiStatus;          
2000: };
2001:
2002: // Exit Validation success function for Field CrewOff.SignOffField
2003: void S005F004ESuccess( int iFlags )
2004: {
2005: int iLocStatus=0, lFlags=0 ;
2006:    IMCstringToSound ( "H" ) ;
2007:     IMCcgenv.iNewReturn.iSF.iScrNum = 6;
2008:     IMCcgenv.iNewReturn.iSF.iFldNum = 3;
2009:    IMCcgenv.iChangeReturn = ENV_ICR_RETURN;
2010:     IMCcgenv.iMenEnter = 0;
2011:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2012:     IMCcgenv.iNext.iSF.iScrNum = 11;
2013:     IMCcgenv.iNext.iSF.iFldNum = 1;
2014:     IMCcgenv.iNextMove = ENV_INM_CALL;
2015:   }// end of allow nav overwrite decision
2016: };
2017:
2018: // Exit Validation failure function for Field CrewOff.SignOffField
2019: void S005F004EFail( int iFlags )
2020: {
2021: int iLocStatus=0, lFlags=0 ;
2022:    IMCstringToSound ( "LHL" ) ;
2023:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2024:     IMCcgenv.iNext.iSF.iScrNum = 6;
2025:     IMCcgenv.iNext.iSF.iFldNum = 5;
2026:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2027:   }// end of allow nav overwrite decision
2028: };
2029:
2030: // Entry function for Screen ExtrusNonLot
2031: void s007OnEntry()
2032: {
2033: int iLocStatus=0, lFlags=0 ;
2034: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
2035: IMgiStatusLine = 50; // set status line this screen
2036:    IMgiStatusTime = 20000;//Time to display message
2037:  };
2038:
2039: // Exit function for Screen ExtrusNonLot
2040: void s007OnExit()
2041: {
2042: int iLocStatus=0, lFlags=0 ;
2043:  };
2044:
2045: // Entry function for Field ExtrusNonLot.TagNumber
2046: void S007F000OnEntry()
2047: {
2048: int iLocStatus=0, lFlags=0 ;
2049:    IMgiStatus = IM_SUCCESS;
2050: gfInsert =IM_FALSE;  //turn on overstrike
2051: };
2052:
2053: // Exit function for Field ExtrusNonLot.TagNumber
2054: void S007F000OnExit()
2055: {
2056: int iFlags;
2057:    IMgiStatus = S007F000KeyInExit( &iFlags );    
2058:    if (IMgiStatus == IM_SUCCESS )                      
2059:    {                                                
2060:       IMgiStatus = S007F000EValidate( &iFlags);  
2061:       if ( IMgiStatus == IM_SUCCESS )                  
2062:         S007F000ESuccess( iFlags);            
2063:       else                                          
2064:         S007F000EFail( iFlags);              
2065:    }                                                
2066: };
2067:
2068: // Key Actions function for Field ExtrusNonLot.TagNumber
2069: void S007F000Key( )
2070: {
2071: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
2072: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
2073:    switch ( IMCcgenv.iFldKeyStatus )
2074:    {
2075:       //Validate field and possibly exit
2076:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2077:     case IM_RETURN_BACK_TAB:
2078:       //Go to previous field
2079:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2080:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2081:       IMCcgenv.iNext.iSF.iScrNum = 8;
2082:       IMCcgenv.iNext.iSF.iFldNum = 5;
2083:       IMCcgenv.iNextMove = ENV_INM_GOTO;
2084:     }// end of allow nav overwrite decision
2085:       break;
2086:
2087:     case IM_RETURN_ESC:
2088:       //Return to previous screen
2089:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2090:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
2091:       break;
2092:
2093:      
2094:     case IM_RETURN_F1:
2095:     case IM_RETURN_F2:
2096:     case IM_RETURN_F3:
2097:     case IM_RETURN_F4:
2098:     case IM_RETURN_F5:
2099:     case IM_RETURN_F6:
2100:     case IM_RETURN_F7:
2101:     case IM_RETURN_F8:
2102:     case IM_RETURN_F9:
2103:     case IM_RETURN_F10:
2104:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
2105:       break;
2106:      
2107:     default: //Go on, must have been return that caused exit
2108:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2109:    };//End of switch on field key returned
2110:      
2111: };
2112:
2113: // Key Actions function for Field ExtrusNonLot.TagNumber
2114: int S007F000KeyInExit( int *iFlags )
2115: {
2116:    *iFlags = 0;//initialize overwrite flags
2117:    IMgiStatus = IM_SUCCESS;
2118:    switch ( IMCcgenv.iFldKeyStatus )
2119:    {
2120:    };//End of switch on field key returned
2121:    return IMgiStatus;          
2122: };
2123:
2124: // Exit Validation function for Field ExtrusNonLot.TagNumber
2125: int S007F000EValidate( int *iFlags )
2126: {
2127: int iStatus = IM_SUCCESS;
2128: int iLocStatus=0, lFlags=0 ;
2129: lFlags = *iFlags ;// copy passed in flags to local variable
2130:   IMgiStatus = IM_SUCCESS;
2131: return IMgiStatus;          
2132: };
2133:
2134: // Exit Validation success function for Field ExtrusNonLot.TagNumber
2135: void S007F000ESuccess( int iFlags )
2136: {
2137: int iLocStatus=0, lFlags=0 ;
2138:    IMCstringToSound ( "H" ) ;
2139:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2140:     IMCcgenv.iNext.iSF.iScrNum = 8;
2141:     IMCcgenv.iNext.iSF.iFldNum = 2;
2142:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2143:   }// end of allow nav overwrite decision
2144: };
2145:
2146: // Exit Validation failure function for Field ExtrusNonLot.TagNumber
2147: void S007F000EFail( int iFlags )
2148: {
2149: int iLocStatus=0, lFlags=0 ;
2150:     im_status_line ( "Must start with T", IM_FALSE, IMgiStatusLine);
2151:    IMCstringToSound ( "LHL" ) ;
2152:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2153:     IMCcgenv.iNext.iSF.iScrNum = 8;
2154:     IMCcgenv.iNext.iSF.iFldNum = 1;
2155:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2156:   }// end of allow nav overwrite decision
2157:  //Cleanup the message on timeout or key/wand action
2158:  IMgiTmpOrigin = IM_KEYBOARD_SELECT | IM_LABEL_SELECT ;
2159:  im_event_wait( IMgiStatusTime, &IMgiTmpOrigin);
2160:  im_get_cursor_xy ( &IMGiRow, &IMGiCol ); //Save to restore after refresh
2161:  RepaintDisplay();
2162:  im_set_cursor_xy ( IMGiRow, IMGiCol );
2163:  
2164: };
2165:
2166: // Entry function for Field ExtrusNonLot.ItemNumber
2167: void S007F001OnEntry()
2168: {
2169: int iLocStatus=0, lFlags=0 ;
2170:    IMgiStatus = IM_SUCCESS;
2171: gfInsert =IM_FALSE;  //turn on overstrike
2172: };
2173:
2174: // Exit function for Field ExtrusNonLot.ItemNumber
2175: void S007F001OnExit()
2176: {
2177: int iFlags;
2178:    IMgiStatus = S007F001KeyInExit( &iFlags );    
2179:    if (IMgiStatus == IM_SUCCESS )                      
2180:    {                                                
2181:       IMgiStatus = S007F001EValidate( &iFlags);  
2182:       if ( IMgiStatus == IM_SUCCESS )                  
2183:         S007F001ESuccess( iFlags);            
2184:       else                                          
2185:         S007F001EFail( iFlags);              
2186:    }                                                
2187: };
2188:
2189: // Key Actions function for Field ExtrusNonLot.ItemNumber
2190: void S007F001Key( )
2191: {
2192: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
2193: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
2194:    switch ( IMCcgenv.iFldKeyStatus )
2195:    {
2196:       //Validate field and possibly exit
2197:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2198:     case IM_RETURN_BACK_TAB:
2199:       //Go to previous field
2200:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2201:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2202:       IMCcgenv.iNext.iSF.iScrNum = 8;
2203:       IMCcgenv.iNext.iSF.iFldNum = 1;
2204:       IMCcgenv.iNextMove = ENV_INM_GOTO;
2205:     }// end of allow nav overwrite decision
2206:       break;
2207:
2208:     case IM_RETURN_ESC:
2209:       //Return to previous screen
2210:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2211:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
2212:       break;
2213:
2214:      
2215:     case IM_RETURN_F1:
2216:     case IM_RETURN_F2:
2217:     case IM_RETURN_F3:
2218:     case IM_RETURN_F4:
2219:     case IM_RETURN_F5:
2220:     case IM_RETURN_F6:
2221:     case IM_RETURN_F7:
2222:     case IM_RETURN_F8:
2223:     case IM_RETURN_F9:
2224:     case IM_RETURN_F10:
2225:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
2226:       break;
2227:      
2228:     default: //Go on, must have been return that caused exit
2229:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2230:    };//End of switch on field key returned
2231:      
2232: };
2233:
2234: // Key Actions function for Field ExtrusNonLot.ItemNumber
2235: int S007F001KeyInExit( int *iFlags )
2236: {
2237:    *iFlags = 0;//initialize overwrite flags
2238:    IMgiStatus = IM_SUCCESS;
2239:    switch ( IMCcgenv.iFldKeyStatus )
2240:    {
2241:    };//End of switch on field key returned
2242:    return IMgiStatus;          
2243: };
2244:
2245: // Exit Validation function for Field ExtrusNonLot.ItemNumber
2246: int S007F001EValidate( int *iFlags )
2247: {
2248: int iStatus = IM_SUCCESS;
2249: int iLocStatus=0, lFlags=0 ;
2250: lFlags = *iFlags ;// copy passed in flags to local variable
2251:   IMgiStatus = IM_SUCCESS;
2252: return IMgiStatus;          
2253: };
2254:
2255: // Exit Validation success function for Field ExtrusNonLot.ItemNumber
2256: void S007F001ESuccess( int iFlags )
2257: {
2258: int iLocStatus=0, lFlags=0 ;
2259:    IMCstringToSound ( "H" ) ;
2260:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2261:     IMCcgenv.iNext.iSF.iScrNum = 8;
2262:     IMCcgenv.iNext.iSF.iFldNum = 3;
2263:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2264:   }// end of allow nav overwrite decision
2265: };
2266:
2267: // Exit Validation failure function for Field ExtrusNonLot.ItemNumber
2268: void S007F001EFail( int iFlags )
2269: {
2270: int iLocStatus=0, lFlags=0 ;
2271:    IMCstringToSound ( "LHL" ) ;
2272:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2273:     IMCcgenv.iNext.iSF.iScrNum = 8;
2274:     IMCcgenv.iNext.iSF.iFldNum = 2;
2275:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2276:   }// end of allow nav overwrite decision
2277: };
2278:
2279: // Entry function for Field ExtrusNonLot.Location
2280: void S007F002OnEntry()
2281: {
2282: int iLocStatus=0, lFlags=0 ;
2283:    IMgiStatus = IM_SUCCESS;
2284: gfInsert =IM_FALSE;  //turn on overstrike
2285: };
2286:
2287: // Exit function for Field ExtrusNonLot.Location
2288: void S007F002OnExit()
2289: {
2290: int iFlags;
2291:    IMgiStatus = S007F002KeyInExit( &iFlags );    
2292:    if (IMgiStatus == IM_SUCCESS )                      
2293:    {                                                
2294:       IMgiStatus = S007F002EValidate( &iFlags);  
2295:       if ( IMgiStatus == IM_SUCCESS )                  
2296:         S007F002ESuccess( iFlags);            
2297:       else                                          
2298:         S007F002EFail( iFlags);              
2299:    }                                                
2300: };
2301:
2302: // Key Actions function for Field ExtrusNonLot.Location
2303: void S007F002Key( )
2304: {
2305: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
2306: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
2307:    switch ( IMCcgenv.iFldKeyStatus )
2308:    {
2309:       //Validate field and possibly exit
2310:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2311:     case IM_RETURN_BACK_TAB:
2312:       //Go to previous field
2313:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2314:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2315:       IMCcgenv.iNext.iSF.iScrNum = 8;
2316:       IMCcgenv.iNext.iSF.iFldNum = 2;
2317:       IMCcgenv.iNextMove = ENV_INM_GOTO;
2318:     }// end of allow nav overwrite decision
2319:       break;
2320:
2321:     case IM_RETURN_ESC:
2322:       //Return to previous screen
2323:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2324:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
2325:       break;
2326:
2327:      
2328:     case IM_RETURN_F1:
2329:     case IM_RETURN_F2:
2330:     case IM_RETURN_F3:
2331:     case IM_RETURN_F4:
2332:     case IM_RETURN_F5:
2333:     case IM_RETURN_F6:
2334:     case IM_RETURN_F7:
2335:     case IM_RETURN_F8:
2336:     case IM_RETURN_F9:
2337:     case IM_RETURN_F10:
2338:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
2339:       break;
2340:      
2341:     default: //Go on, must have been return that caused exit
2342:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2343:    };//End of switch on field key returned
2344:      
2345: };
2346:
2347: // Key Actions function for Field ExtrusNonLot.Location
2348: int S007F002KeyInExit( int *iFlags )
2349: {
2350:    *iFlags = 0;//initialize overwrite flags
2351:    IMgiStatus = IM_SUCCESS;
2352:    switch ( IMCcgenv.iFldKeyStatus )
2353:    {
2354:    };//End of switch on field key returned
2355:    return IMgiStatus;          
2356: };
2357:
2358: // Exit Validation function for Field ExtrusNonLot.Location
2359: int S007F002EValidate( int *iFlags )
2360: {
2361: int iStatus = IM_SUCCESS;
2362: int iLocStatus=0, lFlags=0 ;
2363: lFlags = *iFlags ;// copy passed in flags to local variable
2364:   IMgiStatus = IM_SUCCESS;
2365: return IMgiStatus;          
2366: };
2367:
2368: // Exit Validation success function for Field ExtrusNonLot.Location
2369: void S007F002ESuccess( int iFlags )
2370: {
2371: int iLocStatus=0, lFlags=0 ;
2372:    IMCstringToSound ( "H" ) ;
2373:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2374:     IMCcgenv.iNext.iSF.iScrNum = 8;
2375:     IMCcgenv.iNext.iSF.iFldNum = 4;
2376:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2377:   }// end of allow nav overwrite decision
2378: };
2379:
2380: // Exit Validation failure function for Field ExtrusNonLot.Location
2381: void S007F002EFail( int iFlags )
2382: {
2383: int iLocStatus=0, lFlags=0 ;
2384:    IMCstringToSound ( "LHL" ) ;
2385:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2386:     IMCcgenv.iNext.iSF.iScrNum = 8;
2387:     IMCcgenv.iNext.iSF.iFldNum = 3;
2388:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2389:   }// end of allow nav overwrite decision
2390: };
2391:
2392: // Entry function for Field ExtrusNonLot.Quantity
2393: void S007F003OnEntry()
2394: {
2395: int iLocStatus=0, lFlags=0 ;
2396:    IMgiStatus = IM_SUCCESS;
2397: gfInsert =IM_FALSE;  //turn on overstrike
2398: };
2399:
2400: // Exit function for Field ExtrusNonLot.Quantity
2401: void S007F003OnExit()
2402: {
2403: int iFlags;
2404:    IMgiStatus = S007F003KeyInExit( &iFlags );    
2405:    if (IMgiStatus == IM_SUCCESS )                      
2406:    {                                                
2407:       IMgiStatus = S007F003EValidate( &iFlags);  
2408:       if ( IMgiStatus == IM_SUCCESS )                  
2409:         S007F003ESuccess( iFlags);            
2410:       else                                          
2411:         S007F003EFail( iFlags);              
2412:    }                                                
2413: };
2414:
2415: // Key Actions function for Field ExtrusNonLot.Quantity
2416: void S007F003Key( )
2417: {
2418: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
2419: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
2420:    switch ( IMCcgenv.iFldKeyStatus )
2421:    {
2422:       //Validate field and possibly exit
2423:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2424:     case IM_RETURN_BACK_TAB:
2425:       //Go to previous field
2426:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2427:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2428:       IMCcgenv.iNext.iSF.iScrNum = 8;
2429:       IMCcgenv.iNext.iSF.iFldNum = 3;
2430:       IMCcgenv.iNextMove = ENV_INM_GOTO;
2431:     }// end of allow nav overwrite decision
2432:       break;
2433:
2434:     case IM_RETURN_ESC:
2435:       //Return to previous screen
2436:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2437:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
2438:       break;
2439:
2440:      
2441:     case IM_RETURN_F1:
2442:     case IM_RETURN_F2:
2443:     case IM_RETURN_F3:
2444:     case IM_RETURN_F4:
2445:     case IM_RETURN_F5:
2446:     case IM_RETURN_F6:
2447:     case IM_RETURN_F7:
2448:     case IM_RETURN_F8:
2449:     case IM_RETURN_F9:
2450:     case IM_RETURN_F10:
2451:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
2452:       break;
2453:      
2454:     default: //Go on, must have been return that caused exit
2455:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2456:    };//End of switch on field key returned
2457:      
2458: };
2459:
2460: // Key Actions function for Field ExtrusNonLot.Quantity
2461: int S007F003KeyInExit( int *iFlags )
2462: {
2463:    *iFlags = 0;//initialize overwrite flags
2464:    IMgiStatus = IM_SUCCESS;
2465:    switch ( IMCcgenv.iFldKeyStatus )
2466:    {
2467:    };//End of switch on field key returned
2468:    return IMgiStatus;          
2469: };
2470:
2471: // Exit Validation function for Field ExtrusNonLot.Quantity
2472: int S007F003EValidate( int *iFlags )
2473: {
2474: int iStatus = IM_SUCCESS;
2475: int iLocStatus=0, lFlags=0 ;
2476: lFlags = *iFlags ;// copy passed in flags to local variable
2477:   IMgiStatus = IM_SUCCESS;
2478: return IMgiStatus;          
2479: };
2480:
2481: // Exit Validation success function for Field ExtrusNonLot.Quantity
2482: void S007F003ESuccess( int iFlags )
2483: {
2484: int iLocStatus=0, lFlags=0 ;
2485:    IMCstringToSound ( "H" ) ;
2486:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2487:     IMCcgenv.iNext.iSF.iScrNum = 8;
2488:     IMCcgenv.iNext.iSF.iFldNum = 5;
2489:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2490:   }// end of allow nav overwrite decision
2491: };
2492:
2493: // Exit Validation failure function for Field ExtrusNonLot.Quantity
2494: void S007F003EFail( int iFlags )
2495: {
2496: int iLocStatus=0, lFlags=0 ;
2497:    IMCstringToSound ( "LHL" ) ;
2498:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2499:     IMCcgenv.iNext.iSF.iScrNum = 8;
2500:     IMCcgenv.iNext.iSF.iFldNum = 4;
2501:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2502:   }// end of allow nav overwrite decision
2503: };
2504:
2505: // Entry function for Field ExtrusNonLot.Lot
2506: void S007F004OnEntry()
2507: {
2508: int iLocStatus=0, lFlags=0 ;
2509:    IMgiStatus = IM_SUCCESS;
2510: gfInsert =IM_FALSE;  //turn on overstrike
2511: };
2512:
2513: // Exit function for Field ExtrusNonLot.Lot
2514: void S007F004OnExit()
2515: {
2516: int iFlags;
2517:    IMgiStatus = S007F004KeyInExit( &iFlags );    
2518:    if (IMgiStatus == IM_SUCCESS )                      
2519:    {                                                
2520:       IMgiStatus = S007F004EValidate( &iFlags);  
2521:       if ( IMgiStatus == IM_SUCCESS )                  
2522:         S007F004ESuccess( iFlags);            
2523:       else                                          
2524:         S007F004EFail( iFlags);              
2525:    }                                                
2526: };
2527:
2528: // Key Actions function for Field ExtrusNonLot.Lot
2529: void S007F004Key( )
2530: {
2531: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
2532: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
2533:    switch ( IMCcgenv.iFldKeyStatus )
2534:    {
2535:       //Validate field and possibly exit
2536:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2537:     case IM_RETURN_BACK_TAB:
2538:       //Go to previous field
2539:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2540:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2541:       IMCcgenv.iNext.iSF.iScrNum = 8;
2542:       IMCcgenv.iNext.iSF.iFldNum = 4;
2543:       IMCcgenv.iNextMove = ENV_INM_GOTO;
2544:     }// end of allow nav overwrite decision
2545:       break;
2546:
2547:     case IM_RETURN_ESC:
2548:       //Return to previous screen
2549:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2550:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
2551:       break;
2552:
2553:      
2554:     case IM_RETURN_F1:
2555:     case IM_RETURN_F2:
2556:     case IM_RETURN_F3:
2557:     case IM_RETURN_F4:
2558:     case IM_RETURN_F5:
2559:     case IM_RETURN_F6:
2560:     case IM_RETURN_F7:
2561:     case IM_RETURN_F8:
2562:     case IM_RETURN_F9:
2563:     case IM_RETURN_F10:
2564:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
2565:       break;
2566:      
2567:     default: //Go on, must have been return that caused exit
2568:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2569:    };//End of switch on field key returned
2570:      
2571: };
2572:
2573: // Key Actions function for Field ExtrusNonLot.Lot
2574: int S007F004KeyInExit( int *iFlags )
2575: {
2576:    *iFlags = 0;//initialize overwrite flags
2577:    IMgiStatus = IM_SUCCESS;
2578:    switch ( IMCcgenv.iFldKeyStatus )
2579:    {
2580:    };//End of switch on field key returned
2581:    return IMgiStatus;          
2582: };
2583:
2584: // Exit Validation function for Field ExtrusNonLot.Lot
2585: int S007F004EValidate( int *iFlags )
2586: {
2587: int iStatus = IM_SUCCESS;
2588: int iLocStatus=0, lFlags=0 ;
2589: lFlags = *iFlags ;// copy passed in flags to local variable
2590:   IMgiStatus = IM_SUCCESS;
2591: if ( IM_ISSUCCESS( IMgiStatus) ){
2592:    IMgiStatus = !writenonlotno();
2593:   }
2594: return IMgiStatus;          
2595: };
2596:
2597: // Exit Validation success function for Field ExtrusNonLot.Lot
2598: void S007F004ESuccess( int iFlags )
2599: {
2600: int iLocStatus=0, lFlags=0 ;
2601:    IMCstringToSound ( "H" ) ;
2602:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2603:     IMCcgenv.iNext.iSF.iScrNum = 8;
2604:     IMCcgenv.iNext.iSF.iFldNum = 1;
2605:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2606:   }// end of allow nav overwrite decision
2607: };
2608:
2609: // Exit Validation failure function for Field ExtrusNonLot.Lot
2610: void S007F004EFail( int iFlags )
2611: {
2612: int iLocStatus=0, lFlags=0 ;
2613:    IMCstringToSound ( "LHL" ) ;
2614:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2615:     IMCcgenv.iNext.iSF.iScrNum = 8;
2616:     IMCcgenv.iNext.iSF.iFldNum = 5;
2617:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2618:   }// end of allow nav overwrite decision
2619: };
2620:
2621: // Entry function for Screen UpLoadData
2622: void s009OnEntry()
2623: {
2624: int iLocStatus=0, lFlags=0 ;
2625: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
2626: IMgiStatusLine = 50; // set status line this screen
2627:    IMgiStatusTime = 20000;//Time to display message
2628:  };
2629:
2630: // Exit function for Screen UpLoadData
2631: void s009OnExit()
2632: {
2633: int iLocStatus=0, lFlags=0 ;
2634:  };
2635:
2636: // Entry function for Field UpLoadData.Field0
2637: void S009F001OnEntry()
2638: {
2639: int iLocStatus=0, lFlags=0 ;
2640:    IMgiStatus = IM_SUCCESS;
2641: gfInsert =IM_FALSE;  //turn on overstrike
2642: };
2643:
2644: // Exit function for Field UpLoadData.Field0
2645: void S009F001OnExit()
2646: {
2647: int iFlags;
2648:    IMgiStatus = S009F001KeyInExit( &iFlags );    
2649:    if (IMgiStatus == IM_SUCCESS )                      
2650:    {                                                
2651:       IMgiStatus = S009F001EValidate( &iFlags);  
2652:       if ( IMgiStatus == IM_SUCCESS )                  
2653:         S009F001ESuccess( iFlags);            
2654:       else                                          
2655:         S009F001EFail( iFlags);              
2656:    }                                                
2657: };
2658:
2659: // Key Actions function for Field UpLoadData.Field0
2660: void S009F001Key( )
2661: {
2662: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
2663: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
2664:    switch ( IMCcgenv.iFldKeyStatus )
2665:    {
2666:       //Validate field and possibly exit
2667:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2668:     case IM_RETURN_BACK_TAB:
2669:       //Go to previous field
2670:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2671:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2672:       IMCcgenv.iNext.iSF.iScrNum = 10;
2673:       IMCcgenv.iNext.iSF.iFldNum = 2;
2674:       IMCcgenv.iNextMove = ENV_INM_GOTO;
2675:     }// end of allow nav overwrite decision
2676:       break;
2677:
2678:     case IM_RETURN_ESC:
2679:       //Return to previous screen
2680:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2681:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
2682:       break;
2683:
2684:      
2685:     case IM_RETURN_F1:
2686:     case IM_RETURN_F2:
2687:     case IM_RETURN_F3:
2688:     case IM_RETURN_F4:
2689:     case IM_RETURN_F5:
2690:     case IM_RETURN_F6:
2691:     case IM_RETURN_F7:
2692:     case IM_RETURN_F8:
2693:     case IM_RETURN_F9:
2694:     case IM_RETURN_F10:
2695:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
2696:       break;
2697:      
2698:     default: //Go on, must have been return that caused exit
2699:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2700:    };//End of switch on field key returned
2701:      
2702: };
2703:
2704: // Key Actions function for Field UpLoadData.Field0
2705: int S009F001KeyInExit( int *iFlags )
2706: {
2707:    *iFlags = 0;//initialize overwrite flags
2708:    IMgiStatus = IM_SUCCESS;
2709:    switch ( IMCcgenv.iFldKeyStatus )
2710:    {
2711:    };//End of switch on field key returned
2712:    return IMgiStatus;          
2713: };
2714:
2715: // Exit Validation function for Field UpLoadData.Field0
2716: int S009F001EValidate( int *iFlags )
2717: {
2718: int iStatus = IM_SUCCESS;
2719: int iLocStatus=0, lFlags=0 ;
2720: lFlags = *iFlags ;// copy passed in flags to local variable
2721:   IMgiStatus = IM_SUCCESS;
2722: return IMgiStatus;          
2723: };
2724:
2725: // Exit Validation success function for Field UpLoadData.Field0
2726: void S009F001ESuccess( int iFlags )
2727: {
2728: int iLocStatus=0, lFlags=0 ;
2729:    IMCstringToSound ( "H" ) ;
2730:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2731:     IMCcgenv.iNext.iSF.iScrNum = 10;
2732:     IMCcgenv.iNext.iSF.iFldNum = 2;
2733:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2734:   }// end of allow nav overwrite decision
2735: };
2736:
2737: // Exit Validation failure function for Field UpLoadData.Field0
2738: void S009F001EFail( int iFlags )
2739: {
2740: int iLocStatus=0, lFlags=0 ;
2741:    IMCstringToSound ( "LHL" ) ;
2742:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2743:     IMCcgenv.iNext.iSF.iScrNum = 10;
2744:     IMCcgenv.iNext.iSF.iFldNum = 2;
2745:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2746:   }// end of allow nav overwrite decision
2747: };
2748:
2749: //  Transaction SignOn Function
2750: int SignOn ( )
2751: {
2752:
2753:   char EmptyString[] = "                    ";
2754:   int iTranStatus, iReturnValue = TRUE;
2755:
2756:   iTranStatus = IMCstandardTrx ( SignOn_TRN );
2757:
2758:   if ( iTranStatus == TRXEX_OK )
2759:   {
2760:     iReturnValue = TRUE;
2761:   }
2762:   else if ( iTranStatus == TRXEX_NACK)
2763:   {
2764:     iReturnValue = FALSE;
2765:   }
2766:   else if ( iTranStatus == TRXEX_TIMEOUT)
2767:   {
2768:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2769:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
2770:     iReturnValue = TRUE;
2771:   }
2772:   else
2773:   {
2774:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2775:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
2776:   };
2777:
2778:   return iReturnValue;
2779: }; // end of transaction function SignOn
2780:
2781:
2782: //  Transaction SignOff Function
2783: int SignOff ( )
2784: {
2785:
2786:   char EmptyString[] = "                    ";
2787:   int iTranStatus, iReturnValue = TRUE;
2788:
2789:   iTranStatus = IMCstandardTrx ( SignOff_TRN );
2790:
2791:   if ( iTranStatus == TRXEX_OK )
2792:   {
2793:     iReturnValue = TRUE;
2794:   }
2795:   else if ( iTranStatus == TRXEX_NACK)
2796:   {
2797:     iReturnValue = FALSE;
2798:   }
2799:   else if ( iTranStatus == TRXEX_TIMEOUT)
2800:   {
2801:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2802:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
2803:     iReturnValue = TRUE;
2804:   }
2805:   else
2806:   {
2807:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2808:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
2809:   };
2810:
2811:   return iReturnValue;
2812: }; // end of transaction function SignOff
2813:
2814:
2815: //  Transaction CrewErr Function
2816: int CrewErr ( )
2817: {
2818:
2819:   char EmptyString[] = "                    ";
2820:   int iTranStatus, iReturnValue = TRUE;
2821:
2822:   iTranStatus = IMCstandardTrx ( CrewErr_TRN );
2823:
2824:   if ( iTranStatus == TRXEX_OK )
2825:   {
2826:     iReturnValue = TRUE;
2827:   }
2828:   else if ( iTranStatus == TRXEX_NACK)
2829:   {
2830:     iReturnValue = FALSE;
2831:   }
2832:   else if ( iTranStatus == TRXEX_TIMEOUT)
2833:   {
2834:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2835:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
2836:     iReturnValue = TRUE;
2837:   }
2838:   else
2839:   {
2840:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2841:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
2842:   };
2843:
2844:   return iReturnValue;
2845: }; // end of transaction function CrewErr
2846:
2847:
2848: //  Transaction writelotno Function
2849: int writelotno ( )
2850: {
2851:
2852:   char EmptyString[] = "                    ";
2853:   int iTranStatus, iReturnValue = TRUE;
2854:
2855:   iTranStatus = IMCstandardTrx ( writelotno_TRN );
2856:
2857:   if ( iTranStatus == TRXEX_OK )
2858:   {
2859:     iReturnValue = clearfields( );
2860:   }
2861:   else if ( iTranStatus == TRXEX_NACK)
2862:   {
2863:     iReturnValue = FALSE;
2864:   }
2865:   else if ( iTranStatus == TRXEX_TIMEOUT)
2866:   {
2867:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2868:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
2869:     iReturnValue = TRUE;
2870:   }
2871:   else
2872:   {
2873:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2874:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
2875:   };
2876:
2877:   return iReturnValue;
2878: }; // end of transaction function writelotno
2879:
2880:
2881: //  Transaction TagErr Function
2882: int TagErr ( )
2883: {
2884:
2885:   char EmptyString[] = "                    ";
2886:   int iTranStatus, iReturnValue = TRUE;
2887:
2888:   iTranStatus = IMCstandardTrx ( TagErr_TRN );
2889:
2890:   if ( iTranStatus == TRXEX_OK )
2891:   {
2892:     iReturnValue = TRUE;
2893:   }
2894:   else if ( iTranStatus == TRXEX_NACK)
2895:   {
2896:     iReturnValue = FALSE;
2897:   }
2898:   else if ( iTranStatus == TRXEX_TIMEOUT)
2899:   {
2900:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2901:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
2902:     iReturnValue = TRUE;
2903:   }
2904:   else
2905:   {
2906:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2907:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
2908:   };
2909:
2910:   return iReturnValue;
2911: }; // end of transaction function TagErr
2912:
2913:
2914: //  Transaction clearfields Function
2915: int clearfields ( )
2916: {
2917:
2918:   char EmptyString[] = "                    ";
2919:   int iTranStatus, iReturnValue = TRUE;
2920:
2921:   iTranStatus = IMCstandardTrx ( clearfields_TRN );
2922:
2923:   if ( iTranStatus == TRXEX_OK )
2924:   {
2925:     iReturnValue = clrextrustagno( );
2926:   }
2927:   else if ( iTranStatus == TRXEX_NACK)
2928:   {
2929:     iReturnValue = FALSE;
2930:   }
2931:   else if ( iTranStatus == TRXEX_TIMEOUT)
2932:   {
2933:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2934:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
2935:     iReturnValue = TRUE;
2936:   }
2937:   else
2938:   {
2939:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2940:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
2941:   };
2942:
2943:   return iReturnValue;
2944: }; // end of transaction function clearfields
2945:
2946:
2947: //  Transaction clrextrustagno Function
2948: int clrextrustagno ( )
2949: {
2950:
2951:   char EmptyString[] = "                    ";
2952:   int iTranStatus, iReturnValue = TRUE;
2953:
2954:   iTranStatus = IMCstandardTrx ( clrextrustagno_TRN );
2955:
2956:   if ( iTranStatus == TRXEX_OK )
2957:   {
2958:     iReturnValue = clrextruspartno( );
2959:   }
2960:   else if ( iTranStatus == TRXEX_NACK)
2961:   {
2962:     iReturnValue = FALSE;
2963:   }
2964:   else if ( iTranStatus == TRXEX_TIMEOUT)
2965:   {
2966:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2967:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
2968:     iReturnValue = TRUE;
2969:   }
2970:   else
2971:   {
2972:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2973:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
2974:   };
2975:
2976:   return iReturnValue;
2977: }; // end of transaction function clrextrustagno
2978:
2979:
2980: //  Transaction clrextruspartno Function
2981: int clrextruspartno ( )
2982: {
2983:
2984:   char EmptyString[] = "                    ";
2985:   int iTranStatus, iReturnValue = TRUE;
2986:
2987:   iTranStatus = IMCstandardTrx ( clrextruspartno_TRN );
2988:
2989:   if ( iTranStatus == TRXEX_OK )
2990:   {
2991:     iReturnValue = clrextruslocat( );
2992:   }
2993:   else if ( iTranStatus == TRXEX_NACK)
2994:   {
2995:     iReturnValue = FALSE;
2996:   }
2997:   else if ( iTranStatus == TRXEX_TIMEOUT)
2998:   {
2999:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3000:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3001:     iReturnValue = TRUE;
3002:   }
3003:   else
3004:   {
3005:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3006:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3007:   };
3008:
3009:   return iReturnValue;
3010: }; // end of transaction function clrextruspartno
3011:
3012:
3013: //  Transaction clrextruslocat Function
3014: int clrextruslocat ( )
3015: {
3016:
3017:   char EmptyString[] = "                    ";
3018:   int iTranStatus, iReturnValue = TRUE;
3019:
3020:   iTranStatus = IMCstandardTrx ( clrextruslocat_TRN );
3021:
3022:   if ( iTranStatus == TRXEX_OK )
3023:   {
3024:     iReturnValue = clrextrusqty( );
3025:   }
3026:   else if ( iTranStatus == TRXEX_NACK)
3027:   {
3028:     iReturnValue = FALSE;
3029:   }
3030:   else if ( iTranStatus == TRXEX_TIMEOUT)
3031:   {
3032:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3033:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3034:     iReturnValue = TRUE;
3035:   }
3036:   else
3037:   {
3038:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3039:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3040:   };
3041:
3042:   return iReturnValue;
3043: }; // end of transaction function clrextruslocat
3044:
3045:
3046: //  Transaction clrextrusqty Function
3047: int clrextrusqty ( )
3048: {
3049:
3050:   char EmptyString[] = "                    ";
3051:   int iTranStatus, iReturnValue = TRUE;
3052:
3053:   iTranStatus = IMCstandardTrx ( clrextrusqty_TRN );
3054:
3055:   if ( iTranStatus == TRXEX_OK )
3056:   {
3057:     iReturnValue = clrextruslotno( );
3058:   }
3059:   else if ( iTranStatus == TRXEX_NACK)
3060:   {
3061:     iReturnValue = FALSE;
3062:   }
3063:   else if ( iTranStatus == TRXEX_TIMEOUT)
3064:   {
3065:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3066:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3067:     iReturnValue = TRUE;
3068:   }
3069:   else
3070:   {
3071:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3072:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3073:   };
3074:
3075:   return iReturnValue;
3076: }; // end of transaction function clrextrusqty
3077:
3078:
3079: //  Transaction clrextruslotno Function
3080: int clrextruslotno ( )
3081: {
3082:
3083:   char EmptyString[] = "                    ";
3084:   int iTranStatus, iReturnValue = TRUE;
3085:
3086:   iTranStatus = IMCstandardTrx ( clrextruslotno_TRN );
3087:
3088:   if ( iTranStatus == TRXEX_OK )
3089:   {
3090:     iReturnValue = TRUE;
3091:   }
3092:   else if ( iTranStatus == TRXEX_NACK)
3093:   {
3094:     iReturnValue = FALSE;
3095:   }
3096:   else if ( iTranStatus == TRXEX_TIMEOUT)
3097:   {
3098:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3099:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3100:     iReturnValue = TRUE;
3101:   }
3102:   else
3103:   {
3104:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3105:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3106:   };
3107:
3108:   return iReturnValue;
3109: }; // end of transaction function clrextruslotno
3110:
3111:
3112: //  Transaction clrnonlottag Function
3113: int clrnonlottag ( )
3114: {
3115:
3116:   char EmptyString[] = "                    ";
3117:   int iTranStatus, iReturnValue = TRUE;
3118:
3119:   iTranStatus = IMCstandardTrx ( clrnonlottag_TRN );
3120:
3121:   if ( iTranStatus == TRXEX_OK )
3122:   {
3123:     iReturnValue = clrnonlotpart( );
3124:   }
3125:   else if ( iTranStatus == TRXEX_NACK)
3126:   {
3127:     iReturnValue = FALSE;
3128:   }
3129:   else if ( iTranStatus == TRXEX_TIMEOUT)
3130:   {
3131:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3132:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3133:     iReturnValue = TRUE;
3134:   }
3135:   else
3136:   {
3137:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3138:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3139:   };
3140:
3141:   return iReturnValue;
3142: }; // end of transaction function clrnonlottag
3143:
3144:
3145: //  Transaction clrnonlotpart Function
3146: int clrnonlotpart ( )
3147: {
3148:
3149:   char EmptyString[] = "                    ";
3150:   int iTranStatus, iReturnValue = TRUE;
3151:
3152:   iTranStatus = IMCstandardTrx ( clrnonlotpart_TRN );
3153:
3154:   if ( iTranStatus == TRXEX_OK )
3155:   {
3156:     iReturnValue = clrnonlotloc( );
3157:   }
3158:   else if ( iTranStatus == TRXEX_NACK)
3159:   {
3160:     iReturnValue = FALSE;
3161:   }
3162:   else if ( iTranStatus == TRXEX_TIMEOUT)
3163:   {
3164:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3165:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3166:     iReturnValue = TRUE;
3167:   }
3168:   else
3169:   {
3170:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3171:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3172:   };
3173:
3174:   return iReturnValue;
3175: }; // end of transaction function clrnonlotpart
3176:
3177:
3178: //  Transaction writenonlotno Function
3179: int writenonlotno ( )
3180: {
3181:
3182:   char EmptyString[] = "                    ";
3183:   int iTranStatus, iReturnValue = TRUE;
3184:
3185:   iTranStatus = IMCstandardTrx ( writenonlotno_TRN );
3186:
3187:   if ( iTranStatus == TRXEX_OK )
3188:   {
3189:     iReturnValue = clearfields2( );
3190:   }
3191:   else if ( iTranStatus == TRXEX_NACK)
3192:   {
3193:     iReturnValue = FALSE;
3194:   }
3195:   else if ( iTranStatus == TRXEX_TIMEOUT)
3196:   {
3197:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3198:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3199:     iReturnValue = TRUE;
3200:   }
3201:   else
3202:   {
3203:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3204:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3205:   };
3206:
3207:   return iReturnValue;
3208: }; // end of transaction function writenonlotno
3209:
3210:
3211: //  Transaction clearfields2 Function
3212: int clearfields2 ( )
3213: {
3214:
3215:   char EmptyString[] = "                    ";
3216:   int iTranStatus, iReturnValue = TRUE;
3217:
3218:   iTranStatus = IMCstandardTrx ( clearfields2_TRN );
3219:
3220:   if ( iTranStatus == TRXEX_OK )
3221:   {
3222:     iReturnValue = clrnonlottag( );
3223:   }
3224:   else if ( iTranStatus == TRXEX_NACK)
3225:   {
3226:     iReturnValue = FALSE;
3227:   }
3228:   else if ( iTranStatus == TRXEX_TIMEOUT)
3229:   {
3230:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3231:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3232:     iReturnValue = TRUE;
3233:   }
3234:   else
3235:   {
3236:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3237:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3238:   };
3239:
3240:   return iReturnValue;
3241: }; // end of transaction function clearfields2
3242:
3243:
3244: //  Transaction clrnonlotloc Function
3245: int clrnonlotloc ( )
3246: {
3247:
3248:   char EmptyString[] = "                    ";
3249:   int iTranStatus, iReturnValue = TRUE;
3250:
3251:   iTranStatus = IMCstandardTrx ( clrnonlotloc_TRN );
3252:
3253:   if ( iTranStatus == TRXEX_OK )
3254:   {
3255:     iReturnValue = clrnonlotqty( );
3256:   }
3257:   else if ( iTranStatus == TRXEX_NACK)
3258:   {
3259:     iReturnValue = FALSE;
3260:   }
3261:   else if ( iTranStatus == TRXEX_TIMEOUT)
3262:   {
3263:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3264:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3265:     iReturnValue = TRUE;
3266:   }
3267:   else
3268:   {
3269:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3270:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3271:   };
3272:
3273:   return iReturnValue;
3274: }; // end of transaction function clrnonlotloc
3275:
3276:
3277: //  Transaction clrnonlotqty Function
3278: int clrnonlotqty ( )
3279: {
3280:
3281:   char EmptyString[] = "                    ";
3282:   int iTranStatus, iReturnValue = TRUE;
3283:
3284:   iTranStatus = IMCstandardTrx ( clrnonlotqty_TRN );
3285:
3286:   if ( iTranStatus == TRXEX_OK )
3287:   {
3288:     iReturnValue = clrnonlotlotcode( );
3289:   }
3290:   else if ( iTranStatus == TRXEX_NACK)
3291:   {
3292:     iReturnValue = FALSE;
3293:   }
3294:   else if ( iTranStatus == TRXEX_TIMEOUT)
3295:   {
3296:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3297:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3298:     iReturnValue = TRUE;
3299:   }
3300:   else
3301:   {
3302:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3303:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3304:   };
3305:
3306:   return iReturnValue;
3307: }; // end of transaction function clrnonlotqty
3308:
3309:
3310: //  Transaction clrnonlotlotcode Function
3311: int clrnonlotlotcode ( )
3312: {
3313:
3314:   char EmptyString[] = "                    ";
3315:   int iTranStatus, iReturnValue = TRUE;
3316:
3317:   iTranStatus = IMCstandardTrx ( clrnonlotlotcode_TRN );
3318:
3319:   if ( iTranStatus == TRXEX_OK )
3320:   {
3321:     iReturnValue = TRUE;
3322:   }
3323:   else if ( iTranStatus == TRXEX_NACK)
3324:   {
3325:     iReturnValue = FALSE;
3326:   }
3327:   else if ( iTranStatus == TRXEX_TIMEOUT)
3328:   {
3329:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3330:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3331:     iReturnValue = TRUE;
3332:   }
3333:   else
3334:   {
3335:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3336:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3337:   };
3338:
3339:   return iReturnValue;
3340: }; // end of transaction function clrnonlotlotcode
3341:
3342: /*---------------------------------------------------- */
3343: /*             Main function                           */
3344: /*---------------------------------------------------- */
3345:
3346: void main()
3347: {
3348:    //Initialize the file structures
3349: UF_c_crews_val.imHandle = NULL;
3350: UF_c_crews_val.imPosition = -1;
3351: UF_c_crews_val.iFileType = FTY_PLAIN;
3352: UF_c_crews_val.iFileFlags = 0;
3353: UF_c_crews_val.pszFileName ="c:crews.val";
3354:
3355: UF_c_lotno_txt.imHandle = NULL;
3356: UF_c_lotno_txt.imPosition = -1;
3357: UF_c_lotno_txt.iFileType = FTY_PLAIN;
3358: UF_c_lotno_txt.iFileFlags = 0;
3359: UF_c_lotno_txt.pszFileName ="c:lotno.txt";
3360:
3361: UF_c_nonlotno_txt.imHandle = NULL;
3362: UF_c_nonlotno_txt.imPosition = -1;
3363: UF_c_nonlotno_txt.iFileType = FTY_PLAIN;
3364: UF_c_nonlotno_txt.iFileFlags = 0;
3365: UF_c_nonlotno_txt.pszFileName ="c:nonlotno.txt";
3366:
3367: UF_c_physical_txt.imHandle = NULL;
3368: UF_c_physical_txt.imPosition = -1;
3369: UF_c_physical_txt.iFileType = FTY_PLAIN;
3370: UF_c_physical_txt.iFileFlags = 0;
3371: UF_c_physical_txt.pszFileName ="c:physical.txt";
3372:
3373: UF_c_test_txt.imHandle = NULL;
3374: UF_c_test_txt.imPosition = -1;
3375: UF_c_test_txt.iFileType = FTY_PLAIN;
3376: UF_c_test_txt.iFileFlags = 0;
3377: UF_c_test_txt.pszFileName ="c:test.txt";
3378:
3379: UF_E_DEFBATCH_STB.imHandle = NULL;
3380: UF_E_DEFBATCH_STB.imPosition = -1;
3381: UF_E_DEFBATCH_STB.iFileType = FTY_STANDBY;
3382: UF_E_DEFBATCH_STB.iFileFlags = 0;
3383: UF_E_DEFBATCH_STB.pszFileName ="E:DEFBATCH.STB";
3384:
3385:
3386:    //Initialize the environment
3387:    IMCinitcgenv();
3388:
3389:    //Call the applications On Entry code
3390:    A000OnEntry();
3391:
3392:    //Call the main navigation control
3393: IMgiStatusLine = 50; //force to bottom by default
3394: gfInsert =IM_FALSE;
3395:    IMCscreenMach();
3396:
3397:    // Call the applications exit routine
3398:    A000OnExit();
3399: }
3400:
0
 
LVL 16

Accepted Solution

by:
imladris earned 180 total points
ID: 2781606
Sorry, I can see why you hesitated to post it. I hope this doesn't make the question inaccessible to some of the other participants. If so, leave a note, and maybe we can move the remainder of the interaction to a new question.

Anyway, I pasted the stuff into an editor and poked around some. I can't seem to find the bits I'm interested in.

1) The offending function: ExtTagNum doesn't appear to be defined anywhere in there.

2) The place where the data is acquired. How does it come in? Is it being read from a file (that's what I had been assuming)? Or is it user input (all the references the function keys got me thinking)?

3) I also asked for some sample data. Is that possible? Maybe not if it is user input.
0
 

Author Comment

by:csindorf
ID: 2781949
The only reason I am closing this is because of its length and that I found a work around.  So I am giving the points to the first person who posted a comment way at the top.

Thanks for all the help and I did learn other things from the others code.

CraigS
0

Featured Post

Webinar: Aligning, Automating, Winning

Join Dan Russo, Senior Manager of Operations Intelligence, for an in-depth discussion on how Dealertrack, leading provider of integrated digital solutions for the automotive industry, transformed their DevOps processes to increase collaboration and move with greater velocity.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Summary: This tutorial covers some basics of pointer, pointer arithmetic and function pointer. What is a pointer: A pointer is a variable which holds an address. This address might be address of another variable/address of devices/address of fu…
Windows programmers of the C/C++ variety, how many of you realise that since Window 9x Microsoft has been lying to you about what constitutes Unicode (http://en.wikipedia.org/wiki/Unicode)? They will have you believe that Unicode requires you to use…
The goal of this video is to provide viewers with basic examples to understand recursion in the C programming language.
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use nested-loops in the C programming language.

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question