Initial commit — sursa ROAACNPRO
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
191
Programe/importroris_proceduri.prg
Normal file
191
Programe/importroris_proceduri.prg
Normal file
@@ -0,0 +1,191 @@
|
||||
Lparameters llSilentios, lnOptiune, lnZile
|
||||
|
||||
|
||||
If Empty(m.lnOptiune)
|
||||
lnOptiune = xmenu('Creeaza job import RORIS;Verifica log')
|
||||
Endif
|
||||
If Empty(m.lnOptiune)
|
||||
Return
|
||||
Endif
|
||||
|
||||
lnHandle = SQLConnect('ROA', 'ACN', 'ROMFASTSOFT')
|
||||
|
||||
If m.lnHandle <= 0
|
||||
Aerror(laEroare)
|
||||
WriteLog(laEroare(3))
|
||||
IF !m.llSilentios
|
||||
Messagebox(laEroare(3))
|
||||
ENDIF
|
||||
Return
|
||||
Endif
|
||||
|
||||
Do Case
|
||||
Case m.lnOptiune = 1
|
||||
IF EMPTY(m.lnZile)
|
||||
lcZile = Inputbox('Numar zile de tranzit pentru import (implicit 30)', 'Nr zile', '30')
|
||||
lnZile = Iif(!Empty(Val(m.lcZile)), Val(m.lcZile), 30)
|
||||
ENDIF
|
||||
|
||||
Private ptLastGenerationTime
|
||||
ptLastGenerationTime = Date() - m.lnZile
|
||||
|
||||
If m.llSilentios OR (Messagebox('Se lanseaza importul pentru tranzitele >= ' + Ttoc(m.ptLastGenerationTime) + '?',4+32,_Screen.Caption) = 6)
|
||||
lcSql = [begin pack_acn_import.import_roris_job(?ptLastGenerationTime); end;]
|
||||
lnSucces = SQLExec(m.lnHandle, m.lcSql)
|
||||
If m.lnSucces > 0
|
||||
WriteLog('S-a creat job-ul pentru import')
|
||||
|
||||
IF !m.llSilentios
|
||||
Messagebox('S-a creat job-ul pentru import',0+64,_Screen.Caption,10)
|
||||
ENDIF
|
||||
Else
|
||||
Aerror(laEroare)
|
||||
WriteLog(laEroare(3))
|
||||
IF !m.llSilentios
|
||||
Messagebox(laEroare(3))
|
||||
ENDIF
|
||||
Endif
|
||||
Endif
|
||||
Case m.lnOptiune = 2
|
||||
lcSql = [select to_char(substr(info,1,200)) as info, dataora from info where locatia = 'import_roris' and trunc(dataora) = trunc(sysdate) order by dataora desc]
|
||||
lnSucces = SQLExec(m.lnHandle, m.lcSql, 'crsImportTemp')
|
||||
If m.lnSucces > 0
|
||||
CREATE CURSOR crsImport (info c(200) null, dataora T)
|
||||
SELECT crsImport
|
||||
APPEND FROM DBF('crsImportTemp')
|
||||
|
||||
Select crsImport
|
||||
GO TOP
|
||||
BROWSE TITLE 'LOG IMPORT (ESC pentru iesire)' PREFERENCE IMPORT
|
||||
USE IN (SELECT('crsImportTemp'))
|
||||
USE IN (SELECT('crsImport'))
|
||||
Else
|
||||
Aerror(laEroare)
|
||||
Messagebox(laEroare(3))
|
||||
ENDIF
|
||||
|
||||
Case m.lnOptiune = 3
|
||||
TEXT TO lcsql NOSHOW
|
||||
SELECT LOG_ID,
|
||||
CAST(LOG_DATE AS DATE) as log_date,
|
||||
JOB_NAME,
|
||||
STATUS,
|
||||
CAST(actual_start_date AS DATE) as start_date,
|
||||
to_char(RUN_DURATION) AS duration,
|
||||
additional_info as errors
|
||||
FROM USER_SCHEDULER_JOB_RUN_DETAILS
|
||||
WHERE TRUNC(LOG_DATE) >= TRUNC(SYSDATE) - 7
|
||||
ORDER BY LOG_ID DESC
|
||||
ENDTEXT
|
||||
|
||||
lnSucces = SQLExec(m.lnHandle, m.lcSql, 'crsJobTemp')
|
||||
If m.lnSucces > 0
|
||||
CREATE CURSOR crsJob (log_id I, log_date T null, job_name C(200) null, status C(20) null, start_date T null, duration C(30) null, errors C(250) null)
|
||||
SELECT crsJob
|
||||
APPEND FROM DBF('crsJobTemp')
|
||||
|
||||
Select crsJob
|
||||
GO TOP
|
||||
BROWSE TITLE 'Stare joburi import (ESC pentru iesire)' PREFERENCE JOB
|
||||
USE IN (SELECT('crsJobTemp'))
|
||||
USE IN (SELECT('crsJob'))
|
||||
Else
|
||||
Aerror(laEroare)
|
||||
Messagebox(laEroare(3))
|
||||
ENDIF
|
||||
|
||||
|
||||
Endcase
|
||||
|
||||
SQLDisconnect(m.lnHandle)
|
||||
|
||||
|
||||
|
||||
*-------------------------------------------
|
||||
* Function...: Xmenu
|
||||
* Author.....: MARTIN
|
||||
* Date.......: 04/06/1997
|
||||
* Notes......: Based on an idea from Steve Zimmelman for FoxPro 2.x
|
||||
* Parameters.: tcItems = Semicolon-separated String with the various options
|
||||
* ...........: tnBar = Initially selected item (default=1)
|
||||
* Returns....: Selected item number
|
||||
* See Also...: PROMPT() [FoxPro Native]
|
||||
*
|
||||
Procedure xmenu
|
||||
Lparameters TCITEMS, TNBAR
|
||||
|
||||
Local NITEMCOUNT, AITEMS, X, NROW, NCOL, CTITLE, NLASTPOS, CCOLOR, AITEMS
|
||||
|
||||
Private CPOPMENU, NSELECT && They flow into the GetChoice internal procedure
|
||||
|
||||
If Pcount() < 2
|
||||
TNBAR = 1
|
||||
Endif
|
||||
|
||||
Activate Screen
|
||||
|
||||
* Parse every item
|
||||
*
|
||||
m.NITEMCOUNT = Occurs( ';', TCITEMS ) + 1
|
||||
Dimen AITEMS[ m.nItemCount ]
|
||||
m.NLASTPOS = 1
|
||||
|
||||
For m.X = 1 To m.NITEMCOUNT
|
||||
|
||||
If m.X < m.NITEMCOUNT
|
||||
|
||||
AITEMS[ m.x ] = Subs( m.TCITEMS, m.NLASTPOS, ;
|
||||
( At( ';', m.TCITEMS, m.X ) - 1 ) - m.NLASTPOS + 1 )
|
||||
Else
|
||||
AITEMS[ m.x ] = Subs( m.TCITEMS, m.NLASTPOS, ;
|
||||
( Len( m.TCITEMS ) - m.NLASTPOS ) + 1 )
|
||||
Endif
|
||||
|
||||
If AITEMS[ m.x ] # "\-"
|
||||
|
||||
AITEMS[ m.x ] = Allt( AITEMS[ m.x ] )
|
||||
Endif
|
||||
|
||||
m.NLASTPOS = At( ';', m.TCITEMS, m.X ) + 1
|
||||
Next
|
||||
|
||||
* Calculates the mouse pointer position
|
||||
*
|
||||
m.NROW = Iif( Mrow() + m.NITEMCOUNT < Srow(), Mrow() - 1, Srow() - m.NITEMCOUNT )
|
||||
m.NCOL = Iif( Mcol() + 10 < Scol(), Mcol() - 3, Mcol() - 13 )
|
||||
|
||||
* Gets an unique name for the pop-up
|
||||
*
|
||||
m.CPOPMENU = 'M' + Sys(3) + "_"
|
||||
|
||||
Define Popup ( m.CPOPMENU ) SHORTCUT Relative From NROW, NCOL
|
||||
|
||||
For m.X = 1 To m.NITEMCOUNT
|
||||
|
||||
Define Bar m.X Of ( m.CPOPMENU ) Prompt AITEMS[ m.x ]
|
||||
Next
|
||||
|
||||
m.CANS = ""
|
||||
m.NSELECT = 0
|
||||
Clear Type
|
||||
|
||||
On Selection Popup ( m.CPOPMENU ) Do GETCHOICE
|
||||
|
||||
Activate Popup ( m.CPOPMENU ) Bar TNBAR
|
||||
|
||||
Pop Key
|
||||
Release Popup ( m.CPOPMENU )
|
||||
|
||||
Return Iif( Lastkey() = 27, 0, m.NSELECT )
|
||||
|
||||
Endproc && XMENU
|
||||
|
||||
*--------------------
|
||||
Procedure GETCHOICE
|
||||
|
||||
m.NSELECT = Bar()
|
||||
|
||||
Deactivate Popup ( m.CPOPMENU )
|
||||
|
||||
Endproc && GETCHOICE
|
||||
|
||||
Reference in New Issue
Block a user