Files
CGW/CGW0000.PRG
Jason Soltys 7905c43278 first commit
2026-07-14 00:41:31 -05:00

373 lines
8.9 KiB
Plaintext

# include 'inkey.ch'
// #INCLUDE 'FIVEWIN.CH'
/*
DON'S NOTES FOR CONVERSION 1/20/20
************************************
MAX TTH / TTW RULES ?????
DIDN'T SEE ANY REFERENCE TO SET THESE.
//PRINTING?
//PAINT5 ABEND
LPT2 SET - TRY SETTING A PRINTER VIA WINDOWS PRINTERS
RUN THRU THE VARIOUS REPORTS.
BIG WHITE SPACE IN THE REVIEW / SELECT QUOTES FOR CONVERSION TO ORDERS.
ACCOUNTING RECAP ERRORS - FILES DON'T COPY PROPERLY
BROWSE REPORTS SHOULD CALL NOTEPAD LIKE THE OTHER PRINT - REPORT TO FILE
COPY REPORT TO DIFFERENT FILE ERRORS ON DONWAITRUN
*/
FUNCTION CGW0000(INITRUN, DBDRIVER)
LOCAL TITLEMSG, EXITPROC, USEPASS, BLD_MENU
LOCAL NILVAR
PRIVATE _THISUSER_TEMP // 6/3/2020 FOR PRINTING
PRIVATE OE_TYPE := ' ' //** P3N - 09/20/06
PRIVATE ACTION
PRIVATE SYSCODE := 'CGW'
PRIVATE FRACTION_ARR := {}
PRIVATE __DEVELYR := 1993
PRIVATE __VAL_ALL_REC := .T.
PRIVATE __VAL_ALL_RECS := .T.
PRIVATE CURVER := '3.50'
PRIVATE PRODTIME := 0 //** P3N - 01/16/02
IF DBDRIVER = 'CDX'
CURVER := '3.50'
ELSE
// CURVER := '4.10' // 1-20-20
CURVER := '3.40'
ENDIF
// PRINTER STUFF
PRIVATE _REPORT
PRIVATE _PRODUCTION
PRIVATE _ORDERDESK
PRIVATE _INVOICE
PRIVATE _QUOTE
PRIVATE _PREBILL
PRIVATE _DELIVERY
PRIVATE _GOLDEN
PRIVATE _LBLPRN
PRIVATE _ICPRN
PRIVATE _BOPRN //** P3N - 4/30/98
PRIVATE _RPTPORT
PRIVATE _PORT_PROD
PRIVATE _PORT_ORDER
PRIVATE _PORT_INVOICE
PRIVATE _PORT_QUOTE
PRIVATE _PORT_PREBILL
PRIVATE _PORT_DELIVERY
PRIVATE _PORT_GOLDEN
PRIVATE _PORT_LABEL
PRIVATE _PORT_IC
PRIVATE _PORT_BO //** P3N - 4/30/98
PRIVATE _GRAPHAPP := .F.
PRIVATE _MSHOWPARM
PRIVATE _OC_CAPABLE := .F.
// COMPILER RESOLVE 1-20-20
NILVAR := IIF( 1 = 2, .T., .F. )
#IFDEF CGWB
IF INITRUN = 'ADDREC'
ACTION = INITRUN
ENDIF
TITLEMSG := " GREAT PLAINS Customer Interface "
EXITPROC := 'CGWB0100()'
USEPASS := .F.
BLD_MENU := .F.
#ELSE
TITLEMSG := "Order Entry System (32-BIT) - "
EXITPROC := 'CGW0100()'
USEPASS := .T.
BLD_MENU := .T.
#ENDIF
IF DBDRIVER = NIL
DBDRIVER = 'NTX'
ENDIF
// msginfo( 'got to start' )
START(INITRUN, CURVER, SYSCODE, TITLEMSG, EXITPROC, USEPASS, BLD_MENU, , DBDRIVER)
RETURN //** P3N - 4/21/00
************************************************************************
// 1-20-20
FUNCTION CALL_OLAY(OPTION, TITLE, PROG, NUM_MEM, PATHNAME, ENVIR_VARS)
RETURN DONWAITRUN( PROG )
***********************************************************************
********************************************************
* CALL A PROGRAM! *
********************************************************
// 1-20-20
FUNCTION DONWAITRUN( PROG, SWITCH , ODLG, MSGARR) // PASS A WAIT DIALOG ?
#INCLUDE 'FIVEWIN.CH'
LOCAL RETVAL, RETCODE, WORKPROG, PROGCMD, PROGPARM, POS
LOCAL EVALBLOCK // 2/26/15 DON
*************************************************************
* DETERMINE THE VALIDITY OF THE PROGRAM TO BE CALLED! *
*************************************************************
// Perry - 2-11-98
PROG := ALLTRIM( PROG )
WORKPROG := ALLTRIM( UPPER(PROG) )
IF ISCODEBLOCK( WORKPROG )
EVALBLOCK := &( WORKPROG )
RETVAL := EVAL( EVALBLOCK )
// IF AT('.BAT', WORKPROG ) > 0 .OR. ;
ELSEIF .T. .OR. ;
AT('.BAT', WORKPROG ) > 0 .OR. ;
AT('.EXE', WORKPROG ) > 0 .OR. ;
AT('.COM', WORKPROG ) > 0 .OR. ;
SUBS( PROG, 1, 4 ) = 'DEL ' .OR. ;
SUBS( PROG, 1, 4 ) = 'REN ' .OR. ;
SUBS( PROG, 1, 6 ) = 'XCOPY ' .OR. ;
SUBS( PROG, 1, 5 ) = 'COPY '
//EXECUTABLE FILE TYPE FOUND - OK
IF !EMPTY( ODLG ) .AND. !EMPTY(MSGARR)
WAIT_REFRESH( ODLG, MSGARR )
ENDIF
//IF EMPTY(SWITCH)
// SWITCH := SW_MINIMIZE
//ENDIF
// RETCODE := WINEXEC( PROG )
RETCODE := WAITRUN( PROG )
// RETCODE := WAITRUN ( PROG )
// ** IF RETCODE > 0 .AND. RETCODE < 32 // changed to >1 8-31-007
// call to our exe returns 1
IF RETCODE > 1 .AND. RETCODE < 32
MSGALERT( 'Return Code From External DonWaitRun ' +CR_LF(2)+;
'The External command is - "' + PROG +'"', ;
'Execution Return Code - "' + alltrim( STR( RETCODE , 10 ) )+'"' )
RETVAL := .F.
ELSE
RETVAL := .T.
ENDIF
// IF >= 32, THIS IS THE INSTANCE(?) HANDLE RETURNED FROM WINAPI
// OTHERWISE SOME ERROR MESSAGE - SEE WINEXEC() DOCUMENTATION
// IN FIVEWIN / TURBO C++ HELP ON WINDOWS API.
ELSE
// ERRORDIALOG( , .T., ,'INVALID COMMAND During WINRUN!' ) //** force error log to be written
MSGSTOP( 'Bad COMMAND - '+ALLTRIM(PROG)+' Invalid file extention!' + CR_LF() ;
+ 'MUST have an extention of - ".BAT", ".EXE", OR ".COM", ' + CR_LF() ;
+ 'OR You May Invoke the "COPY", "REN" or "DEL" Commands.' + CR_LF() ;
, 'INVALID COMMAND During WINRUN!' )
RETVAL := .F.
ENDIF
SYSREFRESH()
RETURN RETVAL
******************************************************
//FUNCTION GET_FILEPARM(MALIAS)
//RETURN GET_FILEPA(MALIAS)
************************************************************
********************************************************
FUNCTION WAIT_REFRESH( ODLG, MSGARR )
LOCAL I
PAINTDLG( ODLG, MSGARR )
RETURN .T.
***************************************************************
// DETERMINES IS A STRING IS IN CODE BLOCK FORMAT
FUNCTION ISCODEBLOCK( PASSVAR )
LOCAL RETVAL := .F.
PASSVAR := ALLTRIM( PASSVAR )
IF LEFT( PASSVAR,1 ) = '{'
IF RIGHT( PASSVAR,1 ) = '}'
IF AT( '|', PASSVAR ) > 0 ;
.OR. AT( '\\', PASSVAR ) > 0 // DON 10-01-10
RETVAL := .T.
ENDIF
ENDIF
ENDIF
RETURN RETVAL
**************************************************************
//** P3N - 4/21/00
//** ADDED THE FOLLOWING REFERENCES TO GET RID OF ANY
//** BLINKER UNRESOLVED MESSAGES - FROM DOSWIN.PRG
FUNCTION WNETGETUSE() //** P3N - 4/21/00
RETURN //** P3N - 4/21/00
FUNCTION GETMODULEF() //** P3N - 4/21/00
RETURN //** P3N - 4/21/00
FUNCTION GETINSTANC() //** P3N - 4/21/00
RETURN //** P3N - 4/21/00
FUNCTION GETPVPROFS() //** P3N - 4/21/00
RETURN //** P3N - 4/21/00
************************************************************************
****************************
function d_altd( SETCMD ) // don't have to code altd twice 11-11-007 don
IF !EMPTY( SETCMD )
M->DEBUG_SWITCH := UPPER( SETCMD )
ENDIF
// comment out for production
altd(1)
altd()
return nil
***********************************************************************
// moved to winutil next to d_altd() function 7/8/2019
//** comment out these 2 requests for Production Make/Link
//** p3n - 03/22/13 these requests are required harb v3.2 for debug console mode
#ifdef __FWH13__
// comment out to supress extra window for debug.
// activate if you WANT the console window for debug.
REQUEST HB_GT_WIN
REQUEST HB_GT_WIN_DEFAULT
// Harbour requirement for console debug mode comment out for Production Make/Link Windows
// But always required for console mode PROGRAM EXECUTION, LIKE CGW is.
procedure hb_gt_gui_default
return
#ENDIF
***************************************
**********************************************************************
//** P3N - 03/14/14
//** USE IN LIEU OF LL_MEMOWRIT()
**********************************************************************
FUNCTION LL_MEMOWRIT( MFILE, MDATA )
LOCAL SUCCESS := .T.
LOCAL RETVAL := 0
LOCAL CREATECD
MFILE := ALLTRIM( MFILE ) // 10-12-2020
CREATECD := FCREATE( MFILE,0 ) //** NORMAL - READ/WRITE
IF CREATECD < 0
MSGSTOP('LL_MEMOWRIT() - FCreate() File Name - "'+MFILE+'"', ;
'File CREATE Error - '+STR(CREATECD) )
SUCCESS := .F.
//DISP_STACK() // 3/12/19
ENDIF
// d_altd()
IF VALTYPE( MDATA )$'C' .AND. LEN( MDATA ) > 0 // 10-5-2020 - WHY WOULD MDATA <> 'C' ???
// GOOD DATA TO WRITE
ELSE
SUCCESS := .F.
MSGSTOP( 'Bad Data to Write' + cr_lf() ;
+ "MDATA's DATA TYPE was: " + VALTYPE( MDATA ) + CR_LF() ;
+ "MDATA's LENGTH was: " + IF( VALTYPE( MDATA )$'C', STR( LEN( MDATA )) , '??' ) , ;
'Can Not Write Data File' )
ENDIF
IF SUCCESS
RETVAL := FWRITE( CREATECD, MDATA ) // write REQUEST to TXT fil
IF RETVAL = LEN( MDATA )
//** FWRITE SUCCESSFULL - CONTINUE
ELSE
MSGSTOP('FWrite() Error - "' + MFILE + '"' + CR_LF() ;
+ 'Length of Message: ' + ALLTRIM( STR( LEN( MDATA ) ) ) , ;
'File WRITE Error - '+STR(CREATECD) )
SUCCESS := .F.
ENDIF
IF SUCCESS
IF FCLOSE( CREATECD )
//** FILE SUCCESSFULLY CLOSED - CONTINUE
ELSE
MSGSTOP('FClose() Error - "'+MFILE+'"', ;
'File CLOSE Error - '+STR(CREATECD) )
SUCCESS := .F.
ENDIF
ENDIF
ENDIF
RETURN SUCCESS
**********************************************************************