2022年6月9日木曜日

EHALLAPI

 'Code Samples taken from Host Access Class Library V12.pdf manual


Sub cmdStartConnection_Click()

    Set Mgr = CreateObject("PCOMM.autECLConnMgr")

    Mgr.StartConnection ("profile=iseriesd connname=A")

    Mgr.StartConnection ("profile=iseriesd connname=B")

End Sub



Private Sub cmdMinimized_Click()

    Dim autECLWinObj As Object

    Set autECLWinObj = CreateObject("PCOMM.autECLWinMetrics")

    ' Initialize the connection

    autECLWinObj.SetConnectionByName ("A")

    ' For example, set the host window to minimized

    autECLWinObj.Minimized = True


End Sub



Private Sub cmdSetCursorPos_Click()

    Dim autECLPSObj As Object

    Dim autECLConnList As Object

    Set autECLPSObj = CreateObject("PCOMM.autECLPS")

    Set autECLConnList = CreateObject("PCOMM.autECLConnList")

    ' Initialize the connection with the first in the list

    autECLConnList.Refresh

    autECLPSObj.SetConnectionByHandle (autECLConnList(1).Handle)

    autECLPSObj.SetCursorPos 9, 53

   

    

End Sub


Private Sub cmdSendKeys_Click()

    Dim autECLPSObj As Object

    Dim autECLConnList As Object

    Dim Row, Col As LongPtr

    Set autECLPSObj = CreateObject("PCOMM.autECLPS")

    Set autECLConnList = CreateObject("PCOMM.autECLConnList")

    

    ' Initialize the connection

    autECLConnList.Refresh

    autECLPSObj.SetConnectionByHandle (autECLConnList(1).Handle)

    Row = autECLPSObj.CursorPosRow

    Col = autECLPSObj.CursorPosCol

    

    autECLPSObj.SendKeys "IBM", Row, Col


End Sub


Private Sub cmdGetText_Click()

    Dim autECLPSObj As Object

    Dim PSText As String

    

    ' Initialize the connection

    Set autECLPSObj = CreateObject("PCOMM.autECLPS")

    autECLPSObj.SetConnectionByName ("A")

    

    PSText = autECLPSObj.GetText(19, 1, 50)

    'I added message box

    MsgBox "Text at location R2,C1-C50:" & vbCrLf & PSText, vbInformation


End Sub


Private Sub cmdKeyStroke_Click()

    Dim NumFields As Long

    Dim autECLPSObj As Object

    Dim autECLConnList As Object

    Dim autECLOIAObj As Object

    Dim teststr As String


    ' Initialize the connection

    Set autECLConnList = CreateObject("PCOMM.autECLConnList")

    autECLConnList.Refresh

    

    Set autECLOIAObj = CreateObject("PCOMM.autECLOIA")

    autECLOIAObj.SetConnectionByHandle (autECLConnList(1).Handle)

    

    Set autECLPSObj = CreateObject("PCOMM.autECLPS")

    autECLPSObj.SetConnectionByHandle (autECLConnList(1).Handle)

    

    autECLPSObj.SendKeys "[Enter]"

    autECLOIAObj.WaitForInputReady (1000)


End Sub


Private Sub cmdSetText_Click()

    Dim autECLPSObj As Object

    'Initialize the connection

    Set autECLPSObj = CreateObject("PCOMM.autECLPS")

    autECLPSObj.SetConnectionByName ("A")

    autECLPSObj.SetText "IBM", 6, 53


End Sub




2022年2月24日木曜日

dats

 -- Sep0 ----- STEPA ------------------

#
  - FILE INFO -------------------------
  FILEA 1223,451     121  23331
  FILEB 1223,452     122  23332
  FILEC 1223,453     123  23333
  CNTEND
--- Sep1 ----- STEPB ------------------
#
  - FILE INFO -------------------------
  FILEA 1223,454     124  23334
  FILEB 1223,455     125  23335
  CNTEND
#
#

ウイルス フリー。 www.avast.com

fileio




Sub fileio()


'MsgBox "aaaaaa"



'WScript.Echo "TEST開始"
If TestFileCopy = 0 Then
   ' WScript.Echo "コピー正常"
Else
    'WScript.Echo "コピー異常"
End If
WScript.Echo "TEST終了"
WScript.Quit (0)

End Sub



Function TestFileCopy()
'----------------------------------------------------
'TEST testIn.csv copy to testOut.csv
'----------------------------------------------------
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Dim strPathIn
Dim strPathOut
Dim fs, fr, fw
Dim intSts

    strPathIn = "testIn.csv"
    strPathOut = "testOut.csv"
   
    strPathIn = "C:\Users\Forza1063\Desktop\fileio\testIn.txt"
    strPathOut = "C:\Users\Forza1063\Desktop\fileio\testOut.txt"
   
   
    Set fs = CreateObject("Scripting.FileSystemObject")

    If fs.fileexists(strPathIn) Then
        Set fr = fs.OpenTextFile(strPathIn, ForReading)
        Set fw = fs.OpenTextFile(strPathOut, ForWriting, True)

        i = 1
       
        sFG = ""
       
        Do While Not fr.AtEndOfStream
       
            sRec = fr.ReadLine

            strSearch = "Sep" ' 検索ワード
            If InStr(sRec, strSearch) > 0 Then
               sFG = "1"
            End If
           
            strSearch = "CNTEND"
            If InStr(sRec, strSearch) > 0 Then
               sFG = "0"
            End If
           
            If sFG = "1" Then
               fw.WriteLine i & " " & sRec
            End If
           
            'fw.WriteLine sRec
           
            i = i + 1
        Loop

        fw.Close
        fr.Close
        Set fw = Nothing
        Set fr = Nothing
        intSts = 0
    Else
        Call MsgBox("ファイル見つからない!", 48, "エラー")
        intSts = 1
    End If
    Set fs = Nothing
    TestFileCopy = intSts
End Function

2022年1月11日火曜日

excel関数で抽出

 
//DD1 DD DSN=NAME1,DISP=SHR

=MID(B16,FIND("DSN=",B16,1)+4,IF(1=1,FIND(",",B16,FIND("DSN=",B16,1)+4)-FIND("DSN=",B16,1)-4,FIND("",B16,FIND("DSN=",B16,1)+4)))

//DD1 DD DISP=SHR,DSN=NAME1

=MID(B17,FIND("DSN=",B17,1)+4,IF(1=0,FIND(",",B17,FIND("DSN=",B17,1)+4)-FIND("DSN=",B17,1)-4,FIND("",B17,FIND("DSN=",B17,1)+4)))

2021年12月5日日曜日

 @echo off

rem  入力

rem  [JCL] -- Exx20.txt

rem  [CMP] -- Exx20.txt

rem  [PACK]

rem  ・実行:PACK2.bat

rem  出力

rem     [Exx20_x回目(yymmdd)]

rem        -- Exx20_COPY_JCL.txt 

rem        -- [本番データ取得_エビデンス]

rem              Exx20_COPYSTEP新旧比較エビデンス.txt

rem 遅延環境変数を設定

setlocal ENABLEDELAYEDEXPANSION

 SET EJOB=

 rem ラベル「:loop」

:loop


rem ユーザーからの入力を変数「text」に代入する

set /p text="yymmddの値を入力してください…:"

rem 「exit」と入力されたとき、バッチファイルを終了する

if "%text%" == "exit" goto :end

rem ラベル「:loop」に戻る

rem goto :loop

if "%text%" == "" Set text=yymmdd


echo %text%

pause

rem --------------------------------------

rem 一覧取得

rem --------------------------------------

 DIR /b ..\JCL\*.txt>list.txt

rem --------------------------------------

rem 実行

rem --------------------------------------

 set /a n=0

 FOR /F %%a IN (list.txt) DO (

   rem echo %%a

   SET EJOB=%%a

   rem SET EJOB=!EJOB:~,5!

   SET /a n=n+1

   SET EJOB=!EJOB:.txt=!

   echo !n! ###!EJOB!###

   call:Pack2 !EJOB! !text!

 )

 echo :

 echo === !n! 件、処理しました。===

 pause

:end

 exit /b


rem --------------------------------------

rem パッキングする

rem --------------------------------------

:Pack2

   SET TGT_FD=!EJOB!

   ECHO ■!TGT_FD!■

   IF EXIST !TGT_FD! RD !TGT_FD! /S /Q

   MD !TGT_FD!

   IF EXIST ..\JCL\!EJOB!.txt (

      COPY ..\JCL\!EJOB!.txt !TGT_FD!\!EJOB!_COPY_JCL.txt 

   ) ELSE (

     echo ..\JCL\!EJOB!.txtは存在しません。

   )


   IF EXIST ..\CMP\!EJOB!.txt (

      COPY ..\CMP\!EJOB!.txt !TGT_FD!\!EJOB!_COPYSTEP新旧比較エビデンス.txt

   ) ELSE (

     echo ..\CMP\!EJOB!.txtは存在しません。

   )

   EXIT /b

endlocal


 @echo off

rem  入力

rem  [JCL] -- Exx20.txt

rem  [CMP] -- Exx20.txt

rem  [PACK]

rem  ・実行:PACK.bat

rem  出力

rem     [Exx20_x回目(yymmdd)]

rem        -- Exx20_COPY_JCL.txt 

rem        -- [検証_エビデンス]

rem        -- [本番データ取得_エビデンス]

rem              Exx20_COPYSTEP新旧比較エビデンス.txt

rem              ログ_実行LOG.txt


rem 遅延環境変数を設定

setlocal ENABLEDELAYEDEXPANSION


 SET EJOB=

 rem ラベル「:loop」

:loop


rem ユーザーからの入力を変数「text」に代入する

set /p text="yymmddの値を入力してください…:"

rem 「exit」と入力されたとき、バッチファイルを終了する

if "%text%" == "exit" goto :end


rem ラベル「:loop」に戻る

rem goto :loop


if "%text%" == "" Set text=yymmdd

echo %text%

pause


rem --------------------------------------

rem 一覧取得

rem --------------------------------------

 DIR /b ..\JCL\*.txt>list.txt

rem --------------------------------------

rem 実行

rem --------------------------------------

 set /a n=0


 FOR /F %%a IN (list.txt) DO (

   rem echo %%a

   SET EJOB=%%a

   rem SET EJOB=!EJOB:~,5!

   

   SET /a n=n+1

   SET EJOB=!EJOB:.txt=!

   echo !n! ###!EJOB!###

   call:Pack1 !EJOB! !text!

 )

 echo :

 echo === !n! 件、処理しました。===

 pause

:end

 exit /b


rem --------------------------------------

rem パッキングする

rem --------------------------------------

:Pack1

   SET TGT_FD=!EJOB!_x回目(!text!)

   SET TGT_HON_FD=!TGT_FD!\本番データ取得_エビデンス

   SET TGT_KEN_FD=!TGT_FD!\検証_エビデンス


   ECHO ■!TGT_FD!■

   IF EXIST !TGT_FD! RD !TGT_FD! /S /Q

   MD !TGT_FD!

   MD !TGT_HON_FD!

   MD !TGT_KEN_FD!

   

   IF EXIST ..\JCL\!EJOB!.txt (

      COPY ..\JCL\!EJOB!.txt !TGT_FD!\!EJOB!_COPY_JCL.txt   

   ) ELSE (

     echo ..\JCL\!EJOB!.txtは存在しません。

   )

   TYPE nul >  !TGT_HON_FD!\ログ_実行LOG.txt

   IF EXIST ..\CMP\!EJOB!.txt (

      COPY ..\CMP\!EJOB!.txt !TGT_HON_FD!\!EJOB!_COPYSTEP新旧比較エビデンス.txt

   ) ELSE (

     echo ..\CMP\!EJOB!.txtは存在しません。

   )

   EXIT /b

endlocal


2021年12月2日木曜日

 DOS COPY


 [JCL]
    XXXX.txt
    YYYY.txt
 
 [CMP]
 
 
 [TRANS]
 
  [XXXX_hhmmdd]
 
   -- XXXX_JCL.TXT
   -- [結果]
          -- XXXX_比較.txt
          -- ログ_実行.txt
   -- [検証]
   
 
  [YYYY_hhmmdd]
 
   -- YYYY_JCL.TXT
   -- [結果]
          -- YYYY_比較.txt
          -- ログ_実行.txt
   -- [検証]